DBCP? DBCP(Database Connection Pool)은 HTTP 요청에 매번 위의 1-5의 단계를 거치치 않기 위한 방법이다. Connection Pool을 이용하면 다수의 HTTP 요청에 대한 Thread를 효율적으로 처리할 수 있게 된다. WAS가 실행 될 때 애플리케이션에서는 Connection Pool 라이브러리를 통해 Connection Pool 구현체를 사용할 수가 있는데, Apache의 Commons DBCP가 오픈소스 라이브러리로 제공되고 있다.http://commons.apache.org/ Connection Pool의 구현체의 역할은 이렇다: WAS가 실행되면서 미리 일정량의 DB Connection 객체를 생성하고 Pool 이라는 공간에 저장해 둔다. HTTP 요청에 따라..
Optional 소개 🔍 자바 프로그래밍에서 NullPointerException 을 종종 보게되는 이유 ➡➡ null 을 리턴했는데,null 체크를 까먹었으니까! 💡 메소드에서 작업 중, 특별한 상황에서 값을 제대로 리턴할 수 없는 경우 선택할 수 있는 방법 예외를 던진다.(비싸다. 스택 트레이스를 찍으니까) null 을 리턴한다.(비용문제는 없지만, 그 코드를 이용하는 클라이언트 코드가 주의해야함) (자바 8부터) Optional 을 리턴한다.(클라이언트 코드에게 명시적으로 빈 값일 수 있음을 알려주고, 빈 값인 경우에대한 처리를 강제해버림) Optional 오직 값 한 개가 들어있거나 없을 수 있는 컨테이너( 1 or 0 ) null 일수도 있는 값은 Nullable 로 감싸야한다. public..
Stream sequence of elements supporting sequential and parallel aggregate operations 데이터를 담고 있는 저장소(컬렉션)이 아니다. functional in nature , 스트림이 처리하는 데이터 소스를 변경하지 않느다. 스트림으로 처리하는 데이터는 오직 한 번만 처리한다. 무제한일 수 있다. (Short Circuit 메소드를 사용해 제한가능함) 손쉽게 병렬처리할 수 있다. 스트림 파이프라인 0 또는 다수의 중개 오퍼레이션(intermediate operation)과 한 개의 종료 오퍼레이션(terminal operation)으로 구성한다. 스트림의 데이터 소스는 오직 터미널 오퍼레이션을 실행할 때에만 처리한다. 중개 오퍼레이션 Stre..
Intro 이번에 @LoginRequired 를 구현하면서 계속된 에러의 원인(로그에도 안찍히고 구동이 안됨)은 .aj 확장자를 이용해 만들어서 스프링 빈으로 등록되지 않았기 때문이였다. 생성자를 만들어 로그를 찍어보고 나서야 깨달았다. 그렇다면 요 미운 .aj 는 어디에 쓰이는걸까? 한번 탐구해보자. 이번 글의 한줄 요약. 스프링 AOP 는 간단 스프링용 AOP 이고, 완전체는 AspectJ 이다.(확장자 .aj assertj 컴파일러 사용). 스프링용 AOP 는 등록된 빈의 메소드 실행에만 사용이 가능하다. 여담이지만, 스프링 AOP 만들때, AspectJ 만든 사람이 CTO 로 있었다고 한다. 큰틀은 비슷하지 않을까 추정한다. AOP 개념 Aspect : 어플리케이션의 여러위치에흩어져있고, 일반적으..
Log4j 정리 를 보고 정리했다. 보다 자세한 내용을 원하는 사람은 해당 블로그글을 참조하는 것을 추천한다. Log4j란? 로그문의 출력을 다양한 대상으로 할 수 있도록 도와주는 도구(오픈소스) 속도에 최적화되어있다. 또한 로그 계층에 기반한다. 자바의 예외를 처리하기 위해 디자인되었다. fail-stop이지만 신뢰성은 없다. 멀티스레드 환경에서 사용해도 안전하다. 국제화를 지원한다. Log Level 로그레벨은 TRACE > DEBUG > WARN > ERROR > FATAL 순이다. TRACE: 추적 레벨은 DEBUG 보다 좀더 상세 DEBUG: 개발시 디버그 용도로 사용하는 메시지 INFO : 로그인, 상태 변경과 같은 정보성 메시지를 나타낸다. WARN: 처리가능한 문제이지만, 향후 시스템 에러..
학습목표 롬복이란 롬복의 원리 설치 롬복 기능 설명 롬복 도큐먼테이션 정리 1부이다. 도큐먼트 순서대로 업데이트할 예정이다. 롬복이란? 롬복은 편집기에 자동으로 연결되고, 도구를 빌드해 java 를 멋지게 꾸미는 java 라이브러리입니다. 다른 getter 또는 setter, equals 메소드를 다시 작성하지 마세요. 하나의 주석을 이용해 완전한 기능의 빌더가 있고, 로깅 변수를 자동화 하는 등의 작업을 수행할 수 있습니다. 라는 것이 공식페이지 의 설명이다. 즉, 자바의 보일러 플레이트 코드(라 쓰고 상용구라 읽는다. ) 를 생성하는 자동화 작업을 수행함으로써 보일러 플레이트 코드를 제거할 수 있다. 알면 알수록 아주 효율적이라는 이야기이다! 그러니 진지하게 각. 잡고 이 블로그를 읽어주었으면 좋겠다..
HashMap은 Java Collections Framework에 속한 구현체 클래스입니다. Java Collections Framework는 1998년 12월에 발표한 Java 2에서 정식으로 선보였습니다. Map 인터페이스 자체는 Java 5에서 Generic이 적용된 것 외에 처음 선보인 이후 변화가 없지만, HashMap 구현체는 성능을 향상시키기 위해 지속적으로 변화해 왔습니다. 개요 HashMap과 Hashtable은 Map인터페이스를 상속받아 구현되어 데이터를 키와 값으로 관리하는 자료구조이다. 큰 특징으로는 키(Key)가 데이터를 추출할 때 구분자로 활용하는 방식을 취하는데 이는 리스트 인터페이스와 같은 자료구조보다 탐색에 있어 더 높은 효율을 기대할 수 있다. 공통 정의 키에 대한 해시 ..
- Total
- Today
- Yesterday
- 유용한웹사이트
- 세션불일치
- 쿠버네티스
- AWS
- 패스트 캠퍼스
- vim
- 언제나 함께해요
- pycharm
- EC2
- 크론탭
- 디비
- 참고 링크
- hot
- linter
- 자바인강
- https://cupjoo.tistory.com/96
- 주피터노트북 설치
- 환경세팅
- 파이참
- 스프링 프레임워크 핵심 기술
- 마크다운
- django
- 자바
- 패스트캠퍼스
- 자바 인강
- 자스계의백과사전
- CKA
- 배포
- 쉘스크립트
- 자바 인강이 듣고 싶다면 => https://bit.ly/3ilMbIO
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |