일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 카카오 면접
- 코딩테스트
- 이차전지관련주
- 자바
- 이펙티브 자바
- JavaScript
- 이펙티브자바
- 스프링 핵심원리
- 엘라스틱서치
- Sort
- java
- 스프링
- 알고리즘정렬
- effectivejava
- 알고리즘
- 클린아키텍처
- 예제로 배우는 스프링 입문
- 객체지향
- 스프링핵심원리
- Effective Java
- 김영한
- 스프링부트
- Effective Java 3
- 기본
- 카카오
- Spring
- 백기선
- kubernetes
- ElasticSearch
- 자바스크립트
- Today
- 3
- Total
- 361,146
목록개발/Spring (45)
Kim-Baek 개발자 이야기

구현하고자 하는 비즈니스 로직과는 다소 거리가 있으나, 여러 모듈에 걸쳐 공통적이고 반복적으로 필요로 하는 처리 내용을 횡단 관심사라고 부른다, - 보안 - 로깅 - 트랜잭션 관리 - 모니터링 - 캐시 처리 - 예외 처리 이러한 것들이 예시가 될 수 있다. 횡단 관심사에 해당하는 부분을 한 곳으로 모으는 것을 횡단 관심사의 분리라 하고, 실현하는 방법을 관점 지향 프로그래밍이라 한다. AOP는 관점 지향 프로그래밍을 의미하는 약자로, 여러 클래스에 흩어져 있는 횡단 관심사를 중심으로 설계와 구현을 하는 프로그래밍 기법이다. 인스턴스들이 필요한 공통적인 기능을 외부에서 집어넣는 것이다. AOP의 개념 - 애스팩트 : 단위되는 횡단 관심사. 예로 "로그를 출력한다", "트랜잭션을 관리한다"와 같은 관심사가 ..

자바 앱을 개발 할 때, 요즘에는 여러 인터페이스를 결합해서 쓰는 경우가 많다. 결합해서 쓸 때, 구체 클래스를 미리 생성해서 하려면, 이 클래스는 미리 개발이 되어야 있어야 하고, 교체가 힘들다. 이를 위해서, 생성자를 통해서, 받기도 하는데 , 이것도 마찬가지로 더미로 쓰고 있다면 바꿔줘야 하는 문제가 있다. 컴포넌트를 외부에서 생성한 후, 내부에서 사용가능하게 해주는 것을 의존성 주입이라 한다. 의존성 주입을 자동으로 하는 기반을 DI 컨테이너라고 한다. 스프링에서 가장 중요한 것이 이 DI 컨테이너의 기능이다. 스프링에 미리 인터페이스와 구현 클래스를 알려주고, 의존 관계를 정의하면 생성될 때, 구현 클래스가 자동으로 생성되어 주입 된다. 이것의 장점은, 의존성 해결도 있지만, 스코프 관리 ( 싱..

카카오 면접을 준비하면서, 공부했던 내용을 정리해놓고 다시 기억하기 위한 포스팅 1. Servlet(서블릿) 서블릿을 한줄로 정의하자면 아래와 같이 정의할 수 있습니다. 웹프로그래밍에서 클라이언트의 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 Servlet 클래스의 구현 규칙을 지킨 자바 프로그래밍 기술 간단히 말해서, 서블릿이란 자바를 사용하여 웹을 만들기 위해 필요한 기술입니다. 그런데 좀더 들어가서 설명하자면 클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다시 전송해주어야 하는데, 이러한 역할을 하는 자바 프로그램입니다. 예를 들어, 어떠한 사용자가 로그인을 하려고 할 때. 사용자는 아이디와 비밀번호를 입력하고, 로그인 버튼을 누릅니다. 그때 서버는 클라이언트의 아이디와 비밀번호를 확..

카카오 면접을 준비하면서, 공부했던 내용을 정리해놓고 다시 기억하기 위한 포스팅
Spring 앱을 만들다보면 로그를 저장하고 확인해야 할 일이 많다. 앱을 띄우고, 하나의 파일에 로그를 쌓다보면 무한정 커지게 되고, 나중에는 로그 파일을 여는 것 조차 오래걸리는 문제가 발생한다. 또, 앱을 재시작하면, 동일 파일에 로그가 남기 때문에, 이전 로그가 날아가는 문제 또한 생긴다. 이를 해결하기 위해 Spring 에서 logback 설정을 하여, daily 로 rolling 로그를 남길 수 있다. src/java/resources 폴더 아래에 logback.xml 파일을 만든다. 파일의 예시로는 true /home/marble_admin/container-deploy/logs/application.%d{yyyy-MM-dd}.%i.log 30 50MB 1GB INFO %d{yyyy:MM:d..