| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- Graph
- R
- insertion sort
- coding test
- Serialization
- C programming
- 혼자 공부하는 C언어
- list 컬렉션
- 알기쉬운 알고리즘
- stream
- JSON
- Stack
- 윤성우 열혈자료구조
- 메모리구조
- s
- C 언어 코딩 도장
- datastructure
- 윤성우의 열혈 자료구조
- Algorithm
- 이것이 자바다
- Selection Sorting
- 이스케이프 문자
- buffer
- Today
- Total
목록전체 글 (516)
Engineering Note
OSI(Open Systems Interconnection) 7계층이 생긴 배경- 초창기 컴퓨터 네트워크는 학교, 군대 등 각 기관별로, 소수의 사람만이 사용하는 네트워크 였음.- 개인용 컴퓨터가 보급 후 다른 기종의 컴퓨터끼리도 네트워크를 형성할 수 있는 표준화 움직임이 생겨남- 1984년 국제 표준화 기구에서 표준이 정의됨. OSI 7 Layer- 국제표준화기구(ISO)에서 1984년에 개발한 모델- 통신이 일어나는 과정을 7단계로 분류(OSI 7계층으로 네트워크 구성요소 계층화, 표준화)- 7단계로 분류해서 각 단계가 어떤 역할을 수행해야하는지, 수행하는지 등 큰 뼈대, 규칙을 정해 놓은 일종의 메뉴얼- 서로 다른 시스템끼리도 연결(호환)이 될 수 있게 하는 표준안- 각 계층 별로 역할과 통일된 ..
도커 개념Docker는 애플리케이션을 패키징해서 운영체제상에서 격리된 가상의 공간에서 실행할 수 있게 해주는 도구다. 이 가상의 공간을 컨테이너라고 한다. 도커 장점Docker를 사용하면 각각 다른 플랫폼에서 동일한 애플리케이션 환경을 구축할 수 있고, 이러한 점 때문에 운영의 장점이 있다. 또 가상머신과 다르게 운영체제와 컴퓨터 자원을 공유하기 때문에 자원을 효율적으로 사용할 수 있다. cf) 가상머신은 운영체제 위에서 다시 별도의 운영체제가 독립적으로 설치돼서 애플리케이션을 격리시키는 기술이다. 결국 이 가상 운영체제가 다시 컴퓨터 자원의 많은 부분을 차지한다.실습 컨테이너 실행 명령어docker container run 현재 실행중인 모든 컨테이너 목록 보기docker continer ls컨테이너..
URL(Uniform Resource Locator): 일반적으로 웹 사이트 주소: 좀 더 정확하게 웹사이트뿐 아니라 HTML문서, 이미지, 동영상 등 인터넷에 존재하는 모든 자원을 나타내는 경로: 프로토콜, 도메인 등 여러 요소를 합친 결과물로 구조를 이해해야 함.URL 구조URL도 일반 현실에서 사용하는 집주소, 건물 주소 표시 방법처럼 규칙이 있음.=> 프로토콜://호스트주소:포트번호/경로?파라미터 'http://www.example.com:80/path/to'URL 맨 앞부분 : 해당 자원을 얻기위한 통신규약, 프로토콜을 나타냄.프로토콜 종류웹:HTTP, HTTPS이메일:malito파일전송: FTP URL은 웹뿐 아니라 다른 인터넷상의 자원에도 접근가능하므로, http, https를 제외한 다른..
git에 프로젝트를 다운 받고 실행시켰는데 Lombok 적용 오류가 났다. 롬복 라이브러리가 설치가 되지 않아서 인데 프로젝트를 보니 순수 Java프로젝트였다. 메이븐이나 그레이들같은 빌드툴을 사용하지 않았다. https://projectlombok.org/download Download projectlombok.org롬복 사이트에서 롬복 라이브러리를 다운받고 인텔리제이 프로젝트 구조설정 > libraries > + Java에서 롬복 라이브러리를 추가해주었다.그리고 인텔리제이는 내부적으로 자체 빌드도구를 사용하는데 Lombok이 인식하지 않아서 Enable annotation processing 을 체크해주니 해결되었다.
List 컬렉션은 객체를 인덱스로 관리한다.List 컬렉션에서 공통적으로 사용가능한 List 인터페이스 메서드 ArrayList- ArrayList에 객체를 추가하면 내부 배열에 객체가 저장. 일반 배열과 차이점은 제한 없이 객체를 추가할 수 있다. LinkedList- ArrayList와 사용 방법은 동일하지만 내부 구조는 완전히 다르다. ArrayList는 내부 배열에 객체를 저장하지만, LinkedList는 인접 객체를 체인처럼 연결해서 관리한다. ArryaList, LinkedList 차이- LinkedList는 자료를 체인 처럼 관리하기 때문에 특정 위치에서 객체를 삽입하거나 삭제하면 바로 앞뒤 링크만 변경하면 되므로 빈번한 객체 삭제와 삽입에서 ArrayList보다 높은 성능을 보여준다...
컬렉션 프레임워크: Java언어에서 자주 사용되는 자료구조에 대해서 객체들을 효율적으로 추가, 삭제 검색할 수 있도록 모아놓은 인터페이스 총칭 주요 인터페이스: List, Set, Map 특별히 List와 Set은 객체를 추가, 삭제, 검색하는 방법에 있어서 공통점이 있기 때문에 공통된 메서드만 따로 모아 Collection 인터페이스로 정의해두고 이것을 상속하고 있다.Map은 키와 값을 하나의 쌍으로 관리하는 자료구조라 List 및 Set과 사용방법이 다르다. 인터페이스 별 컬렉션 특징인터페이스 분류특징구현 클래스CollectionList- 순서를 유지하고 저장- 중복 저장 기능ArrayList, Vector,LinkedListSet- 순서를 유지하지 않고 저장- 중복 저장 안됨HashSet, Tre..
문자열 타입의 숫자를 진짜 숫자로 변환해야 할 때가 있는데 그때 사용하는 메서드가 Interger 클래스에 있는 parseInt()이다. 메서드 선언부 다음과 같다. "321"처럼 문자열 타입으로 된 숫자를 파라미터로 전달하면 int 형태의 321로 반환을 해준다.public static int parseInt(String s) throws NumberFormatException 어떤 진법으로 변경할 건지도 설정할 수 있는 오버로딩된 형태의 메서드도 있다. 아래처럼 두 번째 파라미터로 변경하고 싶은 진법에 해당하는 숫자를 전달하면 된다.public static int parseInt(String s, int radix) ..
객체가 다른 객체에 의존하고 있을 때 그 객체에 대한 의존성을 스프링이 대신 관리해준다.의존성을 주입해달라고 하기 위해서는 스프링 컨테이너에 등록이 되어 있어야 하고 어떤 객체를 스프링 컨테이너에 등록하는 행위를 특별히 '스프링 빈으로 등록한다'라고 표현한다.객체를 스프링 빈으로 등록하기 위해 사용하는 어노테이션은 대표적으로 @Component, @Service, @Repository, @Controller가 있다. 이렇게 스프링 빈으로 등록된 객체를 애플리케이션 실행 시점에 스프링에 대신 주입해달라고 위임해야하는데, 그런 필드에 대해서는 @Autowired 어노테이션을 붙여주면 스프링이 이 필드는 의존성 주입이 필요하구나 알고 의존성을 주입해준다. 마무리 정리스프링 빈 등록 어노테이션=> @Compo..