일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Git
- 파이썬
- application layer
- m:n
- JPA
- JDBC
- 프로그래머스
- @SubscribeMapping
- BindingResult
- allocationSize
- 알고리즘
- 백준
- 컴파일 타임 상수
- 런타임 상수
- 리눅스
- 편향된 지수
- @Autowired
- 오블완
- spring
- 티스토리챌린지
- mysql
- 메모리 구조
- DTO
- 쿠키
- intelij spring config
- API
- 커밋 되돌리기
- 쉘 스크립트
- 기본키 전략
- compgen
- Today
- Total
목록전체 글 (101)
둘셋 개발!

intro. 회사에서 코드를 보던 중 AOP 기술을 사용한 곳을 보았다. 스프링의 장점 중 하나가 AOP(관점지향프로그래밍)이라는 것만 알고있었고 어떤 기술을 사용하는지는 몰라서 AOP에 대해 공부하려고 한다. 이번 포스팅은 AOP는 동적 프록시가 기반이기 때문에, 동적 프록시에 대해 알아보고자 한다. 구조클라이언트가 메서드를 호출하면 proxy는 handler를 호출한다. handler에는 부가기능로직과 실제 target (그림에서는 aImpl)을 호출하는 부분이 있다. proxy는 동적으로 호출한 메서드 정보를 handler에게 넘겨준다. handler는 메서들 정보를 넘겨받기 때문에 target의 메서드를 호출할 수 있다. handler에선 부가기능로직 실행과 target의 메서드 호출을 한다. P..
- 보통 스프링 컨테이너는 ApplicationContext를 말한다 (최상위에는 BeanFactory) - 인터페이스 이다. - BeanDefinition으로 스프링 컨테이너를 생성하고 AppConfig.class에 있는 구성정보를 활용해서 스프링 빈들을 등록하고 의존관계를 주입한다. ### BeanFactory에 없는 부가기능 - 환경변수 : 로컬, 개발, 운영등을 구분해서 처리 - 메세지소스를 활용한 국제화 기능 - 이벤트 - 편리한 리소스 조회 등 - 설정방식 (AppConfig.class)은 다양하게 설정할 수 있음 - 자바코드 - XML - 하지만 모두 BeanDefinition 추상화로 구현해놓은 것이기 때문에 스프링 컨테이너는 - 그냥 BeanDefinition만 알면 된다. - 이 빈설정..
mysql서버는 프로세스가 아닌 스레드 기반으로 작동한다. 스레드 종류포그라운드 스레드와 백그라운드 스레드로 나뉜다. 1. 포그라운드 스레드클라이언트가 요청한 쿼리를 주로 처리하는 스레드이다.그래서 mysql서버에 접속한 클라이언트 수만큼 포그라운드 스레드가 존재한다.사용자가 작업을 마치고 커넥션을 종료하면, 해당 커넥션을 담당하는 스레드는 스레드 캐시로 돌아가게 된다.만약 종료할 때 스레드 캐시가 꽉 차있으면 넣지 않고 종료하게 된다. 2. 백그라운드 스레드읽기 스레드는 별로 많이 설정을 하지 않아도 된다.왜냐하면 사용자 스레드가 대부분 처리해주기 때문이다.그리고 쓰기 스레드는 어떤 저장장치를 쓰냐에 따라 다른다.내장 디스크 사용시에넌 2-4개 정도이다.이외의 다른 스토리지 사용 시에는 대기시간이 길어..

intro. 특정 카테고리의 갯수를 알기 위해, 지역변수로 cnt를 선언하고 List로 담겨진 아이템을 스트림을 사용하여, 특정 카테고리인 아이템의 갯수를 카운팅하려 했다. 하지만 오류를 만났다. 문제의 코드int cnt = 0; List numbers = List.of(1,2,3,4,5,6); // number에 담긴 짝수 갯수를 구한다. numbers.forEach( n -> if (n %2 == 0) cnt++; );이렇게 코드를 작성하면, cnt++라는 부분에 빨간줄이 쳐지면서, 오류가 발생한다. Variable used in lambda expression should be final or effectively final 람다식 표현에서 사용된 변수는 final이거나 effectively fin..