일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리스트
- 쿠키
- 정렬
- 빅 오 표기법
- WebClient
- 쿼리메소드
- java
- code
- 클린
- 자료구조
- 배열
- 클래스
- JsonNode
- query
- mysql
- 마크다운
- 스택 큐 차이
- 마크다운 테이블
- CleanCode
- 클린코드
- 연결 리스트
- 내부 정렬
- @NoArgsConstructor
- 코드
- @ComponentScan
- 트리
- 계산 검색 방식
- 선형 리스트
- @RequiredArgsConstructor
- 인터페이스
- Today
- Total
목록기술면접 (7)
Developer Cafe
공통업무에 관련된 코드를 프로그램 흐름의 앞, 중간, 뒤에 추가하여자동으로 처리할 수 있는 방법이 3가지가 있다.FIlter, Interceptor, AOP요청이 들어오게 되면 request > Filter > Servlet > Interceptor > AOP > Controller순으로 실행됩니다.DisptacherServlet, Interceptor, AOP, Controller 는 Spring Context 에 속하고, Filter 의 경우에는 Web Context 에 속합니다.Filter스프링의 독자적인 기능이 아닌 자바 서블릿에서 제공하는 기능스프링 컨텍스트가 아니라 웹 컨텍스트에 속하며, 스프링 컨테이너가 아니라 웹컨테이너(톰캣) 에 의해 관리됩니다.Filter 는 FilterChain 을 통..
아파치는 멀티 프로세스인가 멀티 쓰레드인가? 아파치는 기본적으로 멀티 프로세스로 구현되어 있다. 하지만 설정에 따라 멀티 쓰레드를 같이 운용할 수 있다. 톰캣은 멀티 프로세스인가 멀티 쓰레드인가? 톰캣은 요청을 처리하기 위한 쓰레드 풀을 관리하고 있다. 그리고 요청이 오면 해당 쓰레드 풀에서 쓰레드를 꺼내 요청을 처리하도록 한다. 1. 디자인 패턴 생성 패턴 팩토리 패턴: 객체를 생성하기 위한 디자인 패턴 추상 팩토리 패턴: 객체를 생성하는 팩토리를 생성하기 위한 디자인 패턴 빌더 패턴: 상황에 따라 동적인 인자를 필요로 하는 객체를 생성하기 위한 디자인 패턴 싱글톤 패턴: 객체를 1개만 생성하여 항상 참조가능하도록 고안된 디자인 패턴 구조 패턴 어댑터 패턴: 호환성이 맞지 않는 두 클래스를 연결하여 사..
1. OSI 7계층 7 계층(응용 계층): 사용자와 직접 상호작용하는 응용 프로그램들이 포함된 계층 6 계층(표현 계층): 데이터의 형식(Format)을 정의하는 계층 5 계층(세션 계층): 컴퓨터끼리 통신을 하기 위해 세션을 만드는 계층 4 계층(전송 계층): 최종 수신 프로세스로 데이터의 전송을 담당하는 계층 3 계층(네트워크 계층): 패킷을 목적지까지 가장 빠른 길로 전송하기 위한 계층 2 계층(데이터링크 계층): 데이터의 물리적인 전송과 에러 검출, 흐름 제어를 담당하는 계층 1 계층(물리 계층): 데이터를 전기 신호로 바꾸어주는 계층 2. 웹 동작 방식 사용자가 브라우저에 URL을 입력 브라우저는 DNS를 통해 서버의 진짜 주소를 찾음 HTTP 프로토콜을 사용하여 HTTP 요청 메세지를 생성함 ..
1. 옵티마이저 SQL 실행 계획을 수립하고 SQL을 실행하는 데이터베이스 관리 시스템의 소프트웨어이다. 데이터 딕셔너리에 있는 오브젝트 통계, 시스템 통계 등의 정보를 사용해서 예상되는 비용을 산정한다. 여러 개의 실행 계획 중에서 최저 비용을 가지고 있는 계획을 선택해서 SQL을 실행한다. 개발자가 작성한 SQL문을 어떻게 실행하느냐에 따라 성능이 달라진다. 2. 데이터 딕셔너리 데이터베이스를 운영하기 위한 정보들을 모두 특정한 테이블에 모아두고 관리하는데 그 테이블을 데이터 딕셔너리라고 합니다. 3. DML에서 Delete의 기능 데이터삭제 구문이나, 실제로 삭제되지 않고 해당 블록에 그대로 남아있으며 특별한 툴을 이용하면 복구 가능 데이터 삭제 후 테이블의 크기까지 줄이려면 수동으로 재구성 작업까..
1. AOP 관점 지향 프로그래밍을 의미하며 핵심 비즈니스 기능과 공통 기능으로 구분하고 공통 기능은 개발자의 코드 밖에서 필요한 시점에 적용하는 프로그래밍 방법이다. 흩어진 관심사를 Aspect로 모듈화하고 핵심적인 비즈니스 로직에서 분리하여 재사용하겠다는 것이 AOP의 취지다. 2. PSA 잘 만든 인터페이스, 이식 가능한 서비스 추상화를 의미한다. PSA를 사용하면 확장성이 좋아지고 기술 자체를 유동적으로 바꿔서 사용할 수 있다. 스프링이 제공하는 거의 모든 API는 PSA다. 3. IOC 프로그램의 제어 흐름 구조가 바뀌는 것이다. 즉, 모든 종류의 작업을 사용하는 쪽에서 제어하는 구조다. 4. DI 모듈간의 의존성을 외부에서 주입시켜주는 기능이다. 런 타임시 사용하게 될 각 모듈 간의 의존 관계..
1. 가비지 컬렉션 시스템에서 더 이상 사용하지 않는 동적 할당된 메모리 블럭을 찾아 자동으로 다시 사용 가능한 자원으로 회수하는 것으로 시스템에서 가비지 컬렉션을 수행하는 부분을 가비지 컬렉터 라고 부른다. 2. Primitive type과 Reference type Primitive type byte short int long double float char boolean Reference type class interface array 3. 스레드 프로세스 내에서 동시에 실행되는 독립적인 실행단위 빠른 프로세스 생성, 적은 메모리 사용, 쉬운 정보공유, 교착상태에 빠질 수 있다. 4. 소캣통신(TCP/UDP) 데이터를 보내기 위해 사용하는 프로토콜이 있는데, 그 프로콜들이 TCP와 UDP입니다. T..
오버로딩 오버라이딩 차이 오버로딩 같은 이름의 메소드를 여러개 정의하는 것 매개변수의 타입이 다르거나 갯수가 달라야한다. return type과 접근제어자는 영향을 주지 않음 public class Overloadingtest { // test() 호출 void test(){ System.out.println("매개변수 없음"); } // test에 매개변수로 int형 2개 호출 void test(int a, int b){ System.out.println("매개변수 "+ a + "와 " + b); } // test에 매개변수 double형 1개 호출 void test(double d){ System.out.println("매개변수 " + d); } } public class test { public s..