본문 바로가기
Log/TIL

230905

by 재영(ReO) 2023. 9. 7.

🍒 오늘 공부한 내용

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/@ohzzi/F12%EC%9D%98-%EB%88%88%EB%AC%BC%EB%82%98%EB%8A%94-%EC%BF%BC%EB%A6%AC-%EA%B0%9C%EC%84%A0%EA%B8%B0-%EC%9D%B4%EB%A1%A0%ED%8E%B8오찌 쿼리 개선기

오찌 로깅

 

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로 

 

🌸 감정회고

요새 하루하루 열심히 사는 것 같아서 기분이 좋다.

톰캣 컨트리뷰트 시도를 해보았는데 커멘트를 못받았다.
내일은 커멘트가 오기를...
별 내용이 아니지만 첫 오픈소스 컨트리뷰트는 정말 뿌듯할 것 같아서..!

'Log > TIL' 카테고리의 다른 글

230907  (0) 2023.09.13
230906  (0) 2023.09.07
230904  (0) 2023.09.05
230903  (0) 2023.09.05
230902  (2) 2023.09.03