Week 14250401(Tue)250402(Wed)250403(Thu)250404(Fri)Week 15250407(Mon)250408(Tue)250409(Wed)Week 16250414(Mon)250415(Tue)Week 17250424(Thu)250425(Fri)250426(Sat)250427(Sun)Week 18250428(Mon)250429(Tue)250430(Wed)
Week 14
250401(Tue)
- 솔리드 커넥션 서버 Loki로 로그 보내기
- loki logback appender를 이용
- 스프링 환경변수를 불러오지 못하는 문제가 있었는데, 팀원의 도움으로 해결
- 많은 글을 봤지만 결국 도움이 된 건 팀원과 공식문서였다
- 앞으로 블로그를 쓸 때 공식 문서를 레퍼런스로 다는게 좋겠다
- mc archieve 서버 개발
- 인증 추가… 라기 보다는 되돌아보며 공부
- 세션-유저 중간 모델 멤버 추가
- mc archieve 웹 개발
- 기본 세팅: 패키지 추가하고 설정잡기
- 내일은 커서룰 추가하고 만들어보자
- OS 강의
250402(Wed)
- mc archieve 웹 개발
- 커서를 최대한 이용
- 클라우드 컴퓨팅 강의
- 데이터와 관련된 세션… 나름 재밌었다
250403(Thu)
- MC Archieve 웹 개발
250404(Fri)
- 솔리드 커넥션 웹 오류 수정
- NotFoundError: Node.removeChild: The node to be removed is not a child of this node 오류
- 커스텀 Alert 쓰며 생긴 문제중 하나
- alert()로 이름 같아서 알아차리는데 오래 걸렸다…
- 자바 수업 공부
- 인터페이스와 추상 클래스/메서드
Week 15
250407(Mon)
- 스프링 핵심 원리 - 고급편 수강
- 예제 만들기: 로그 추적기
- 쓰레드 로컬
- 최근에 싱글톤 객체가 어떻게 멀티쓰레드에서 작동하는지 글을 본 적 있었는데 다시 생각이 났다
- 지역변수가 아닌 인스턴스의 필드나 static을 변경 할때(조회만 하면 발생x) 동시성 문제가 발생 가능
- 쓰레드로컬은 각 쓰레드별 저장공간을 제공한다
private ThreadLocal<String> nameStore = new ThreadLocal<>(); nameStore.set("a"); nameStore.get(); nameStore.remove();
250408(Tue)
- MC Archieve 웹 개발
- v0과 cursor, lovable 실험중, v0이 좋은듯
- 솔리드 커넥션 서버 개발
- 유저 성별, 생일 삭제중
250409(Wed)
- 솔리드 커넥션 서버 개발
- AWS 신규 RDS 생성
Week 16
250414(Mon)
- MC Archieve 개발
- 멤버 관련 개선
- DTO관련 컨벤션 추가
- 웹 개발 일부… 바이브 코딩은 힘들다
- 솔리드 커넥션 웹 개발
- 마이페이지 디자인 변경
- API 변경에 따른 오류 수정
- 소마 멘토링
250415(Tue)
- 솔리드 커넥션 서버 개발
- Alloy 로깅 추가
- api-docs 코드 리뷰 반영
- 스프링 시큐리티 공부
Week 17
250424(Thu)
- 정수원 스프링 시큐리티 학습
- https://velog.io/@tngh4037/정수원-스프링-시큐리티-1-스프링-시큐리티-기본-API-Filter-이해-7
authenticationEntryPoint를 구현해 인증 오류 커스텀 핸들링 가능accessDeniedHandler를 구현해 인가 오류 커스텀 핸들링 가능- 총 개념 정리
- 스프링에서 JWT 인증 구현하기
250425(Fri)
- 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 공부
250426(Sat)
250427(Sun)
- MC Archieve 개발
- spring secuirty 부분 반쯤 완료. 많이 공부됐다
- 세션 스토리 표시부분 고치기
- R2에서 큰 용량 이미지 업로드 안되는 오류 수정
Week 18
250428(Mon)
- 솔리드 커넥션 서버 개발
- local, dev 환경 변경
- 솔리드 커넥션 웹 개발
- 페이지명 나오게 리팩토링
- MC Archieve 웹 개발
- 로그인 기능 추가
- 코드 리팩토링
250429(Tue)
- 배치 퍼포먼스 올리기
- Chunk Processing
- Paginator Reader
- 종류
- JpaPagingItemReader
- RepositoryItemReader
- limit offset의 한계 → offset이 커질수록 비효율적
- offset을 0으로 고정하고 조건으로 paging? offset?
- 또는 Cursor를 사용
- 종류
- JpaCursorItemReader
- JdbcCursorItemReader
- HibernateCursorItemReader
- jpa는 oom의 위험
- 그러나 jdbc는 우아하지 않다
- 그렇다면?
- Exposed
- 알림 서비스로 시작하는 서버 개발 / if(kakao)2022
250430(Wed)
runtimeOnly 'mysql:mysql-connector-java’는 스프링부트 2의 구버전runtimeOnly 'com.mysql:mysql-connector-j’를 써야한다
SpringBootTest에classes를 지정해야하는 이유
- 클라우드 컴퓨팅
- CLF-C02 기반 중간고사
- MC Archieve 개발
- 테스트 컨테이너 적용
- 솔리드 커넥션 서버 개발
- Logback 오류 수정
- 솔리드 커넥션 웹 개발