profile
배운 것을 기록합니다.
태그 목록
전체보기 (274)Springboot(37)자바(35)f-lab(26)멘토링(23)회고(22)Java(14)JPA(12)mysql(12)docker(10)Spring(10)jenkins(9)코딩테스트(8)db(7)redis(7)OOP(7)book(6)기술면접(6)알고리즘(6)aws(5)JVM(5)자료구조(4)WSL(4)React(4)git(4)ArrayList(4)배포(4)exception(4)ec2(4)DFS(4)HashMap(3)인터페이스(3)명령어(3)Enum(3)String(3)운영체제(3)todoList(3)람다(3)스프링(3)github(3)멀티스레드(3)백준(3)Nginx(3)인덱스(3)gradle(3)리눅스(3)스트림(2)오류(2)junit(2)컨테이너(2)docker compose(2)ubuntu(2)백앤드(2)tomcat(2)디자인패턴(2)jsp(2)float(2)TDD(2)hash(2)session(2)test(2)단위테스트(2)network(2)slack(2)로드밸런싱(2)스레드풀(2)JUnit5(2)이펙티브 자바(2)프로세스(2)(2)통합테스트(2)정규표현식(2)WSL2(2)Interceptor(2)aop(2)foreach(2)DDD(2)엔티티(2)JWT(2)rabbitmq(2)인증(2)apm(2)transaction(2)pipeline(2)Double(2)nodejs(2)Builder(2)스택(2)rds(1)tymeleaf(1)transient(1)linux(1)책추천(1)애자일(1)deployment(1)리액트(1)Pull Request(1)garbage collector(1)ELK(1)REST(1)무중단 배포(1)멀티프로세스(1)ObjectMapper(1)Proxy(1)ResponseEntity(1)lazyloading(1)인접리스트(1)DBCP(1)자바면접(1)세션(1)Collation(1)불변객체(1)카카오(1)Gmail(1)throws(1)character(1)oAuth(1)웹개발(1)패스워드(1)함수형 프로그래밍(1)validation(1)브라우저(1)k8s(1)OLTP(1)project(1)security(1)url(1)파일업로드(1)시간복잡도(1)OSI 7계층(1)코틀린(1)Thymeleaf(1)게시판(1)garbage collection(1)객체지향 설계 5원칙(1)면접(1)스프링부트(1)text(1)어노테이션(1)다형성(1)매개변수(1)StringBuilder(1)http통신(1)netstat(1)BaseEntity(1)정리(1)이진트리(1)ajax(1)event loop(1)H2(1)경로(1)OLAP(1)연관관계(1)PostgreSQL(1)후기(1)annotation(1)LazyHolder 패턴(1)git권한(1)throw(1)계층 상속(1)TCP/IP 4계층(1)PK(1)distinct(1)코드리뷰(1)피보나티 수열(1)신입 개발자(1)병렬성(1)Call By Value(1)SOLID(1)타임리프(1)ModelMapper(1)sshAgent(1)linkedlist(1)CQRS(1)jdk버전(1)atomic(1)정적 팩토리(1)문법(1)FTP 서버(1)entity(1)웹서버(1)컴포지션(1)tcp(1)Call By Reference(1)ArgumentResolver(1)socket(1)php(1)JRE(1)프록시(1)자료구조 정리(1)폰노이만구조(1)IO(1)stream(1)영속성컨텍스트(1)클래스변수(1)SMTP(1)자바스크립트(1)ssh(1)UDP(1)설치(1)ByteBuddy(1)switch(1)자바8(1)Querydsl(1)@ResponseStatus(1)comparator(1)REST API(1)JpaAuditing(1)json(1)아키텍쳐(1)WAS(1)메시지 큐(1)Jmeter(1)Master/Slave(1)파이프라인(1)Dynamic Runtime memory area(1)406(1)Paging(1)CS(1)publish-over-ssh(1)대체키(1)filter(1)중첩 클래스(1)코어(1)Deadlock(1)소켓(1)interface(1)추상클래스(1)추상메서드(1)bcrypt(1)threadpool(1)mark and sweep(1)도메인 주도 설계란 무엇인가(1)리터럴(1)tree(1)더블부킹(1)클린코드(1)소셜로그인(1)war(1)BFS(1)di(1)HashTable(1)RestTemplate(1)메모제이션(1)cloud(1)StringBuffer(1)토비스프링(1)cd(1)리팩토링(1)커넥션 풀(1)Hyper-V(1)메서드(1)apache(1)MyISAM(1)RR(1)백명석(1)stringify()(1)예외처리(1)500 에러(1)CSS(1)GC(1)인스턴스변수(1)synchroized(1)데이터파싱(1)fork(1)자바개발자(1)DevTools(1)batch(1)Log4j(1)환불(1)tool(1)경쟁상태(1)포트포워딩(1)FetchJoin(1)@CacheEvict(1)실행계획(1)JIT 컴파일러(1)HashSet(1)logging(1)암호(1)reqlMysql(1)core(1)Reflection(1)상수풀(1)문자열압축(1)split()(1)멀티쓰레드(1)spring batch(1)BufferedReader(1)주차요금(1)webhook(1)inner 클래스(1)암호화(1)변경감지(1)notification(1)getter(1)kubernetes(1)BindingResult(1)servlet(1)교착상태(1)hashCode()(1)nosql(1)Lamda(1)taskkill(1)@RequiredArgsConstructor(1)객체지향(1)상속(1)컴퓨터 구조(1)express(1)성능테스트(1)리플랙션(1)Swagger(1)OpenJDK(1)미들웨어(1)queydsl(1)VO(1)ObjectUtils(1)volatile(1)try catch(1)Map(1)얇은복사(1)선언적 프로그래밍(1)IPC(1)Scale Out(1)file(1)윈도우 터미널(1)객체지향의 사실과 오해(1)동시성(1)B-tree(1)ACID(1)하버드구조(1)InnoDB(1)CPU 스케쥴링(1)HTTPClient(1)이벤트 루프(1)jdk(1)1차캐시(1)NIO(1)StringTokenizer(1)이스케이프(1)optional(1)equals(1)순환참조(1)BaseTimeEntity(1)싱글톤(1)오버라이딩(1)Scale Up(1)502 에러(1)인접행렬(1)1급객체(1)MyBatis(1)EagerLoading(1)스레드 안전성(1)생성자 주입(1)DTO(1)도커(1)인터프리터(1)시큐리티(1)오버로딩(1)터미널(1)springbatch(1)static(1)로그(1)스레드(1)세미나(1)thread-safe(1)텍스트(1)탬플릿엔진(1)페이징(1)ci(1)임계구역(1)jar(1)startingDirectory(1)래퍼클래스(1)Hibernate5Module(1)오브젝트(1)cors(1)IntelliJ(1)함수프로그래밍방식(1)Not Acceptable(1)StringUtils(1)학급회장(1)cleancode(1)스프링 입문을 위한 자바 객체 지향의 원리와 이해(1)다중상속(1)비교(1)final(1)in-memory(1)순수함수(1)깊은복사(1)불변성(1)클린 아키텍쳐(1)자바메모리구조(1)쓰레드(1)static클래스(1)무중단배포(1)@Cacheable(1)cglib(1)병렬처리(1)IoC(1)개발자료(1)vi(1)라이브러리(1)프레임워크(1)빌더패턴(1)Restful(1)블루그린(1)merge(1)지역변수(1)
post-thumbnail

JPA Error - ByteBuddy, hibernateLazyInitializer json 문제 해결 - Hibernate5Module 등록

JPA를 쓸 때 연관관계로 인한 매핑문제로 무한참조(@XToOne)가 생길 수 있다. 이를 막기 위해default인 EagerLoading을 LazyLoading으로 거는데 여기서 문제가 생길 수 있다.바로,Lazy는 기본적으로 실제 객체가 아닌 프록시 객체를 감싸져

2023년 2월 5일
·
0개의 댓글
·
post-thumbnail

[Java] Enum을 사용하는 이유와 사용법

Java enum은 제한된 값 목록을 갖는 타입입니다. enum은 다음과 같은 이점을 갖습니다.enum은 컴파일 타임에 타입 안정성을 보장합니다. 특정 범위의 값만 사용 가능하므로 컴파일 오류나 런타임 예외를 줄입니다.enum은 의도적으로 가독성이 높습니다. 값들이 명

2023년 1월 29일
·
0개의 댓글
·
post-thumbnail

SpringBoot Test & Querydsl 테스트

Jpa Data Repository 사용시, @DataJpaTest를 사용하여 입베디드 모드로 h2 DB를 사용할 수 있지만 현존 사용하는 운영 DB로 사용시 @SpringBootTest 를 사용할 수 있다. 이 블로그에서는 SpringBoot Test 로 테스트하는

2023년 1월 27일
·
0개의 댓글
·
post-thumbnail

WSL - window 10 터미널, startingDirectory 설정

여기서 아래 좌측에 json 파일 열기를 눌러라.텍스트파일로 열어서 "startingDirectory": "{원하는 path}" 을 추가하자.원하는 path는 window 경우 path 로 지정해줘야 한다.설정을 다 저장하고 다시 시작하자.바로 이 경로로 시작되더라.h

2023년 1월 11일
·
0개의 댓글
·
post-thumbnail

MySQL 실행계획으로 성능 측정하기(인덱스 설정 이후)

100백만 건이 넘은 건수가 있는 테이블 reservataion에서 조회 성능을 측정해보겠습니다.100백만 건수 insert 작업을 하기 위해선 Test 에서 실행할려고 합니다.Junit5 기준으로 Test 클래스를 생성합니다.기존에 작업한 쿼리들을 잘 보고 싶기에 h

2022년 11월 28일
·
0개의 댓글
·
post-thumbnail

패스워드 암호화 구현 정리(Bcrypt 암호화, Hash)

단방향 - hash 방식, 단뱡향은 복호화가 안된다는 뜻!양방향 hash -> salt를 쓰는 이유!: 똑같은 문자열의 패스워드라도 hash 값이 다르게 할 수 있다!현재는 Bcrypt 암호화 알고리즘을 많이 사용하는 추세: hash, 단방향이기 때문에!설정1) 인터페

2022년 11월 25일
·
0개의 댓글
·
post-thumbnail

Spring ArgumentResolver 로 인증처리 중복 코드 제거

HandlerMethodArgumentResolver 를 이용하여 Custom Annotion 을 만들어 User 정보를 쉽게 가져오기를 실습하겠습니다.회원을 관리하는 API 를 만들게 되면 꼭 필요로 하게 되는 것이 HandlerInterceptorAdapter 를

2022년 11월 23일
·
0개의 댓글
·
post-thumbnail

Tomcat Thread Pool 정리

실행중인 프로그램을 프로세스라 부르고, 그 프로세스의 실행단위가 스레드이다.컴퓨터 CPU core가 사실, Thread 단위로 작업을 처리한다.그리고 프로그램이 돌아가면서 여러가지 작업을 동시에 할 수 있는 것이 스레드이다.그래서 스레드가 많아지면 프로그램 내에서 할

2022년 11월 2일
·
1개의 댓글
·
post-thumbnail

리눅스와 윈도우 경로(Path), 자바 운영체제 구분자 설명

리눅스의 경로 구분자는 /윈도우는 \\(백슬레시) 예를 들어, 파일 경로 지정할때이렇게 지정하면 윈도우에서는 되겠지만 리눅스에서는 안된다. (\\ 가 하나 더 있는 이스케이프를 하나 두어 경로라는 의미를 주기 위해서)자바에서는 운영체제별로 갖고있는 구분자를 제공해준다.

2022년 10월 26일
·
0개의 댓글
·
post-thumbnail

SpringBoot 로깅시스템 ELK 설정

ELK는 위 그림과 같이, 분석 및 저장 기능을 담당하는 ElasticSearch, 수집 기능을 하는 Logstash, 이를 시각화하는 도구인 Kibana의 앞글자만 딴 단어이다. ELK는 접근성과 용이성이 좋아 최근 가장 핫한 Log 및 데이터 분석 도구들이다.1)

2022년 10월 23일
·
0개의 댓글
·
post-thumbnail

[Java] static 변수, static 메서드 그리고 static 클래스

satic 클래스는 중첩 클래스(nested class)를 사용할 때 사용한다. 다음 코드를 보자.이런식으로 쓰면 다음 경로가 날아온다.경고: Inner class may be 'static'Reports any inner classes which may safely

2022년 10월 22일
·
0개의 댓글
·
post-thumbnail

JMeter로 성능 테스트

ThradeGroup에서 사용자수를 295로 설정,무한한 시간대로 성능테스트를 해보았습니다.JMeter성능지표는 아래와 같습니다.사용자 수가 가장많이 사용할 서비스 기능은 스터디그룹 등록일 것으로 예상, 이 api의 성능을 테스트해본 결과는 아래와 같습니다.가장 중요한

2022년 10월 21일
·
0개의 댓글
·
post-thumbnail

Springboot Log4j2 라이브러리 설정

스프링의 Logging Framework에서 가장 유명한 라이브러리가 바로 slf4j(Simple Logging Facade For Java) 입니다.slf4j는 다양한 자바 로깅 시스템을 사용할 수 있도록 해주는 파사드 패턴의 인터페이스라고 생각하시면 될 것 같습니다

2022년 10월 19일
·
0개의 댓글
·
post-thumbnail

[SpringBoot] 이메일 전송 (Gmail SMTP Server)

구글 계정만 있으면 Gmail SMTP Server를 통해 무료로 이메일을 전송할 수 있다.springboot를 쓸려면 다음과 같이 설정과 지메일 send code를 사용해야 한다. 간단한 테스트를 위해 작성하면 다음과 같이 작성하면 된다.gradleapplicatio

2022년 10월 18일
·
0개의 댓글
·
post-thumbnail

[DB] 대리키(Surrogate Key)에 대하여

pk란 Entity 개념에서 고유한 식별자다Entity 는 자신의 생명주기동안 형태와 내용이 급격하게 바뀔 수도 있지만 연속성은 유지해야 한다 (도메인 주도 설계 93p 참고)이렇게 변화하는 Entity 를 추적하려면 식별성이 부여되어야 하고, 식별자는 해당 시스템 내

2022년 10월 9일
·
0개의 댓글
·
post-thumbnail

TDD란?

문서화 역할코드에 결함을 발견하기 위함리팩토링 시 안정성 확보테스트 하기 쉬운 코드를 작성하다 보면 더 낮은 결합도를 가진 설계를 얻을 수 있음Test Driven Development (테스트 주도 개발)프로덕션 코드보다 테스트 코드를 먼저 작성하는 개발 방법TFD(

2022년 9월 28일
·
0개의 댓글
·
post-thumbnail

[SpringBoot] REST API 파일업로드/다운로드 구현

Entity : ImageDataControllerServiceRepositoryUtils : ImageUtils결과POST 이미지 첨부GET파일 이미지을 Body를 통해 보여줌.

2022년 9월 11일
·
0개의 댓글
·

자바 텍스트(Text) 파일 생성하기

윈도우에 있는 텍스트 파일에 있는 내용을 읽어 오는 기능(read)과 원하는 내용의 텍스트 파일을 윈도우의 원하는 경로에 쓰는(write) 자바 예제입니다. 해당 기능을 구현하기 위해 Java에서 기본으로 제공해 주는 File BufferedReader/WrtierFi

2022년 9월 7일
·
0개의 댓글
·
post-thumbnail

[MySQL] 명령어 정리

INNER JOIN: 기준이 되는 테이블 (left table)과 join이 걸리는 테이블(right table) 양쪽 모두에 matching되는 row만 select가 됨.LEFT JOIN: 기준이 되는 테이블 (left table)의 모든 row와 join이 걸리는

2022년 9월 5일
·
0개의 댓글
·
post-thumbnail

[F-Lab] 멘토링 최종 후기

에프랩을 올해 2022년 1월부터 시작하여 6월까지 총 6개월의 멘토링과정을 수료하게 되었다. 아직도 처음 에프랩을 시작한 그 벅찬 감정이 기억이 난다. 애초에 내가 목표로 한 서비스회사에 취업하는 것은 못했지만 (생각보다 취업의 장벽이 엄청 높았다...) SI회사에서

2022년 9월 3일
·
9개의 댓글
·