🍒 오늘 공부한 내용
httpConnector - 연결 관리 , 소켓 관련 처리 여기서만 함
Tomcat = HTTP Server + Servlet Container
### HTTP 활용
웹 사이트 속도 향상 시키기
HTTP 압축 -> Redis, index 보다 먼저 고려해보자
다양한 리소스 최적화 기법
- 이미지, JS, CSS, 기타 리소스
HTTP 캐싱
HTTP 압축
server:compression:enabled: true
리소스 최적화
- 이미지 압축하기
- Javascript, CSS minify
- 이미지, Javascript, CSS 지연 로딩
- Javascript, CSS 파일을 하나의 파일로 통합
- HTML에서 Javascript, CSS 위치
- data URI 활용
HTTP 캐싱
자주 쓰이는 문서나 리소스 사본을 저장해 두는 것
HTTP 캐시는 GET과 URL만 적용 됨
DIST CACHE, MEMORY CACHE는 누가 나누나요 - 브라우저 자체 기준이 있음
브라우저에 있는 캐시는 private cache
Shared Cache(Proxy)
Shared Cache(Managed)
CloudFront - CDN
### HTTP 캐시 적용하기
HTTP 응답 헤더에 Cache-Control 헤더를 명시한다.
Cache-Control 또는 Expires 헤더를 명시하지 않는다면?
- 휴리스틱 캐싱
- 경험적(휴리스틱)으로 만료일자를 정한다. - 클라이언트가 임의로 캐시한다는 의미
HTTP 캐시 만료 알려주는 방법 3가지
- 유효 기간
- Cache-Control: max-age=604800 - 이걸 더 많이 씀
- Expires: Fri, 05, ~~~~
- 조건부 요청
- If-Modified-Since (날짜 재검사)
- ETag/If-None-Match(엔티티 태그 재검사)
- 강제 재검사
If-Modified-Since
Force Revalidation vs no-store
일단 저장은 하고 안 쓰기 vs 아예 저장 안하기
일단 저장은 하고 안 쓰기 -> 뒤로가기 같은 거 할때는 사용함
ETag있는데 Last-Modified 왜 있음? -> 구글 크롤봇이 참고하라고
메인 리소스
HTML은 -> no-cache, private
ETag
🎶 느낀 점 & 배운 점
오늘 계획 한 것 :
- 미션 3,4단계
- 체인저 코드 리뷰[O]
- 예비군 미루기[O]
- 이분탐색 문제 더 풀기
- 냅색 문제 더 풀기
- 강의[O]
- 알고리즘 스터디[O]
- 이력서 정리
- 깃헙 리드미 정리
- 프로젝트 회의 (2개)
- 캐시 실습[O]
- 페이지네이션 공부
- 블로그 글 작성
오늘 한 것 :
- 체인저 코드 리뷰[O]
- 예비군 미루기[O]
- 강의[O]
- 알고리즘 스터디[O]
- 캐시 실습[O]
공부할 것 :
@PostConstruct
@HandlebarsHelper
cache max-age public 설정 이유
WebContentInterceptor
Cache Public, Cache private
REST한 요청
DNS
CORS - Preflight
CDN
CAS (Compare and Swap) 알고리즘
쿠키 세션
Configuration Property Scan
static field 언제 올라감?
Mozilla
ClassLoader가 어떻게 읽음?
spring boot project build package 생기는 이유랑 왜 거기서 클래스패스 찾는지
오찌 로깅
https://velog.io/@saint6839/Controller%EC%97%90%EC%84%9C-HttpRequest-Body-%EA%B0%92%EC%9D%80-%EC%99%9C-%EB%B9%84%EC%9B%8C%EC%A0%B8-%EC%9E%88%EC%9D%84%EA%B9%8C getBody 왜 비워져있는지
필터 인터셉터 빈등록
StatementInspector
쿼리카운터 -> ThreadLocal
로그인 -> 인터셉터 or 필터
Join Column 공부
createdDate CreationTime
entity listener
MappedSuperClass
웹소켓
블루그린, 레드블랙, 롤링
flyway -> 롤백하는 경우 스키마 관리에 문제 생김
@Retention -> https://jeong-pro.tistory.com/234
composite 패턴
decorate 패턴
검프 도커 테코톡 실습편
Paging, Pagination
@Valid 에서 잡은 예외 허브가 해 놓은거 이해하기
ssh 설정
propagation, isolation 직접 설정 (https://velog.io/@kdhyo/JavaTransactional-Annotation-%EC%95%8C%EA%B3%A0-%EC%93%B0%EC%9E%90-26her30h) -> 이거 보고 감 잡기
팬텀리드 예시 다시 보기
DB에서 B-Tree 쓰는 이유
복합키
Unique 동시에 걸기
커버링 인덱스
인덱스 스킵 스캔
springfox, springdoc
queryDSL
CQRS
LAZY Loading (Transactional 사용하지 않으면 못 쓰는 이유)
Fetch Join
@ContextConfiguration(classes = TestSyncConfig.class)
TransactionTemplate
나아가팀 배포 스크립트문제 -> 쉘 스크립트 프로세스 물고 있는 문제
동욱님 JPA Exists 쿼리 성능 개선 블로그
동욱님 예외레벨 블로그
나아가팀 AuthInterceptor에서 터지는 예외가 ControllerAdvice에서 처리도 되고, 콘솔에 에러라고 찍히기도 함 -> 해결못함
CD 할 때 도커 허브
queryDSL 동적쿼리
토큰 암호화
self-join
certbot
jpa bulk insert 할 때 auto increment 이면 안됨
토큰 세션 장단점
syncronized, 비관적 락 장단점
비동기와 트랜잭션
@AttributeOverride
레디스
메세지 큐
R-Tree
페이징
커버링인덱스
대칭키 암호화 비대칭키 암호화 복호화
모든 엔티티의 변수를 VO로
🌸 감정회고
요새 하루하루 열심히 사는 것 같아서 기분이 좋다.
톰캣 컨트리뷰트 시도를 해보았는데 커멘트를 못받았다.
내일은 커멘트가 오기를...
별 내용이 아니지만 첫 오픈소스 컨트리뷰트는 정말 뿌듯할 것 같아서..!