Chapter3. 성능을 좌우하는 DB 설계와 쿼리 조회 트래픽을 고려한 인덱스 설계풀 스캔이 발생하지 않도록 하려면 조회 패턴을 기준으로 인덱스를 설계해야 한다.엘라스틱서치 같은 검색 엔진을 사용하면 DB를 사용하지 않고 검색 기능을 구현할 수 있다.인덱스는 단일 인덱스로도 사용 가능하고 필요하다면 복합 인덱스도 가능하다.ex) 단일인덱스 : userId만 인덱스로 사용ex) 복합인덱스 : (userId, activityDate)를 인덱스로 사용인덱스를 생성할 때는 선택도가 높은 칼럼을 골라야 한다.ps) 선택도? 인덱스에서 특정 칼럼의 고유한 값 비율 (선택도↑ = 해당 칼럼에 고유한 값이 많음)커버링 인덱스 : 특정 쿼리를 실행하는 데 필요한 칼럼을 모두 포함하는 인덱스ex) 아래 쿼리는 실제 데이..
Chapter 01. 들어가며1. 코딩을 할 수 있게 된 것일 뿐1챕터는 사실 에필로그 같은 느낌이라 크게 요약할 내용은 없다.하지만 개발자로 취업해서 일한 3년 동안 자주 겪은 문제들이 나와있어서 뜨끔했다. 지금 당장 필요한 에러들만 해결하는거 ,,별 내용은 없지만 에필로그를 보고 느낀건, 이 책 나한테 진짜 도움 많이 될 것 같다는 생각을 했다백앤드를 개발해도 애매하게 알면서 개발하는 사람들. 자바만 대충 알고 스프링부트만 얼버무리는 사람들꾸준하게 화이팅~ 회사원 말고 개발자가 되장 Chapter 02. 느려진 서비스. 어디부터 봐야 할까첫 마주한 챕터부터 내가 궁금해서 알아보던 주제다. 대용량 트래픽! 대박🔍 처리량과 응답 시간서버의 성능을 판단하는 다양한 지표 중 가장 중요한 응답 시간과 처리량..
📚 토큰 기반 인증 시스템? JWT는 서버 기반 인증과는 다르게 토큰을 이용한 토큰 기반 인증 시스템입니다. 토큰 기반 인증 시스템을 선택해야 하는 이유는 다음과 같습니다. 1. 무상태성! stateless서버는 상태를 유지하지 않고, 서버는 클라이언트 측에서 들어오는 요청만으로 작업을 처리합니다. 따라서 클라이언트와 서버의 연결고리가 없기 때문에 서버의 확장성이 높아집니다. 2. 무결성! 안전한 API를 만들기 위해 쿠키 같은 인증 시스템을 사용하지 않아도 됩니다. 3. 확장성! 토큰 기반 인증을 사용하는 다르 시스템에 접근이 가능합니다. 대표적인 예제로는 OAuth가 있으며, 페이스북/구글 같은 소셜 계정들을 이용하여 다른 웹 서비스에서도 로그인할 수 있습니다. 4. 보안성! 토큰 기반 인증 시스템을..
❓ Lombok Java를 사용해 개발을 하다 보면 데이터 이동에 사용되는 DTO를 만들어 사용하게 됩니다. 이때 Java 라이브러리로 반복되는 getter, setter, toString 등의 메서드 작성 코드를 줄여주는 라이브러리가 있습니다. 이런 다이어트 라이브러리가 바로 Lombok(롬복)입니다! 매번 리팩토링을 하거나 때에 따라 생성자를 여러 개 만들어주어야 할 때가 있습니다. 이때 Lombok을 사용하면 어노테이션으로 쉽고 간단하게 DTO를 만들 수 있습니다. ❗ Lombok의 어노테이션 Lombok은 어노테이션 선언을 통해 필요한 코드를 생성할 수 있습니다. 어노테이션 기능 @ToString 모든 필드를 출력하는 toString()메서드 생성 및 재정의 @EqualsAndHashCode ha..
- Total
- Today
- Yesterday
- 그래프탐색
- Retrofit2
- Container
- 이펙티브자바
- BFS
- Java
- 백준
- dp
- 순열
- 완탐
- 완전탐색
- docker-compose
- bruteforce
- BOJ
- springboot
- cicd
- docker
- subset
- IMAGE
- 아이템59
- DevOps
- 알고리즘
- 토큰기반인증
- 아이템61
- 운영체제
- 조합
- EffectiveJava
- dfs
- OS
- 아이템60
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |