목록도도하게 개발하자 (97)
도도한 개발자
🐈⬛ 오늘 공부한 내용 인프라 개선 강의 못 알아들어서 슬프기 미션 step1 리뷰 반영 EnumMap 사용해보기 🐾 느낀 점 & 배운 점 어제 테코톡 끝나고 오늘 리뷰를 제대로 봤는데 오랜만에 보니까 미션 요구사항들을 까먹었다. 요구사항들을 확인하고 다시 고치려니 쿠키랑 세션에 대해 너무 얕게만 알고 있었다는 걸 깨달았다. 그래서 "쿠키와 세션"부터 시작해서 "http 동작", "http 요청 응답"과 같이 기본적인 것들을 찾아봤다. 몇명인진 모르겠지만 내가 물어본 크루들의 대다수는 이미 3, 4단계 미션 거의 다 끝내고 프로젝트 리펙터링을 하는 것 같았다. 테코톡 준비하면서 제일 많이 든 생각이 '나만 외딴섬에 있는 것 같다' 였는데 이젠 그것도 끝났으니 빨리빨리 따라잡아야지. 내일은 미션 끝.....
🐈⬛ 오늘 공부한 내용 Tomcat 구현하기 - 1단계 HTTP 서버 구현하기 위에거 리팩터링 🐾 느낀 점 & 배운 점 HTTP 요청과 응답에 있는 헤더를 유심히 본 적이 없었던 것 같다. 그리고 어떤 요청을 받아 어떻게 처리할 지에 대한 감도 안온 상태였다. 그래서 처음에 inputStream의 요청을 분기 처리할 때 Request-line에 있는 저 요청URI에 따라서 다음과 같이 조건식을 만들었었다. if (headers[0].contains("/index.html")) { URL resourceURL = getClass() .getClassLoader() .getResource("static" + "/index.html"); Path path = new File(resourceURL.getFil..
🐈⬛ 오늘 공부한 내용 테스트 격리 왜 안되는거야 진짜 하느님 맙소사 File 학습테스트 IOStream 학습테스트 나 다음주 테코톡 OMG 🐾 느낀 점 & 배운 점 테스트를 왜 짜는지, 언제 어디서 어떤 것을 검증하려고 짜는지부터 공부해야 할 것 같다. (언제..?) 그걸 잊지 않기 위해 오늘 슬펐던 이유를 글로 남겼다. [카페인] Repository 테스트 격리가 안돼요 🐈⬛ 무슨일이야? 우아한테크코스 레벨4에 접어들면서 레벨3때 진행했던 프로젝트 리팩터링이 시작됐습니다. 저희 팀은 제일 먼저 조회 기능을 Querydsl로 변경하는 작업을 첫 번째로 삼았습니 kiarakim.tistory.com 오늘 HTTP 강의가 있어서 열심히 들었는데 음, 분명 열심히 들었다. 근데 이걸 열심히 들었다고 학습..
🐈⬛ 무슨일이야? 우아한테크코스 레벨4에 접어들면서 레벨3때 진행했던 프로젝트 리팩터링이 시작됐습니다. 저희 팀은 제일 먼저 조회 기능을 Querydsl로 변경하는 작업을 첫 번째로 삼았습니다. 그래서 어제부터 시작했고 문제는 테스트 코드를 작성하면서 일어났습니다. @Test void 리뷰_13개_중_첫번째_페이지엔_10개의_리뷰가_있다() { // given for (Review review : 리뷰_13개(member)) { reviewRepository.save(review); } // 생략 // when Page allReviews = reviewQueryRepository.findAllReviews(station.getStationId(), pageable); ReviewResponse exp..
🐈⬛ 오늘 공부한 내용 Querydsl 리팩터링 시작하기 읽기 시작 🐾 느낀 점 & 배운 점 방학 때 내가 공부한 querydsl은 아주 그냥 기초 중에 기초였다. join 나오자마자 얼타고 헤매는 모습이 참... 첫날부터 참 부끄럽구만. 옆에서 주드랑 박스터가 도와줘서 잘 해결했다. 없었으면 3일 걸릴...3일까진 아니려나. 암튼 오래걸렸을 것 같다. 공부할게 많다는 건 좋지만 시간 분배가 제일 중요하다는 것을 잊으면 안된다. 무한 스크롤 기능이 있는데 현재 이 부분을 (리뷰 기능 한정) offset 방식으로 처리하고 있다. no-offset 방식을 고려하면 바꾸는게 이득이겠지만 그러려면 가브리엘(프론트엔트 크루)과 명세를 다시 해야하고 지금 하는 리펙을 잠깐 보류하고 진행해야한다. 음... 시간을 ..
🐈⬛ 레벨 인터뷰 우아한테크코스에선 레벨이 끝날 시점에 레벨 인터뷰를 진행한다. 코치 한 분과 여러명(약7-8명)의 크루들과 함께 서로를 인터뷰 하는 방식이다. 레벨3의 방학이 끝난 시점인 어제 오늘이었는데 이번엔 코치 없이 크루들과 자율적으로 레벨 인터뷰를 진행했다. 노션에만 정리하는 것보단 이렇게 하면 긴장하고 열심히 공부하지 않을까 여기에 박제해놓는다. 🐈⬛ 레벨로그 학습 JWT 적용 filter & argumentResolver created_at, updated_at 컬럼 추가 Date vs LocalDate, LocalDateTime JPA Pagination을 활용한 무한 스크롤 기능 구현 Github Actions와 Docker를 활용한 CI/CD 구축 Actuator, Promethe..
🐈⬛ 오늘 공부한 내용 레벨로그 살짝...준비 JWT vs Session Filter vs Inteceptor 멀티 프로세스, 멀티 스레드, 멀티 코어 스레드 안전 Prometheus vs CloudWatch Forward Proxy, Reverse Proxy RESTful Pagination Github Actions와 Docker를 활용한 CI/CD 구축 레벨로그 질문지 준비 🐾 느낀 점 & 배운 점 블로그 몇 개 읽은 거 뿐이라 누가 물어보면 대답이 잘 안나올 것 같다. 질문지만 열심히 준비한 듯..ㅎㅎ 💭 감정회고 "장염입니다" 저번 주 부터 배에 탈이 난걸 참고 참다가 오늘에서야 병원을 갔다. 배를 꾹꾹 눌러보시더니 여기 저기 안 부은 곳이 없다면서 장염 진단을 내려주셨는데 진짜 오엠지.. 엄..
🐈⬛ 오늘 공부한 내용 저번에 날린 커밋 복구 레벨로그 고민고민 트랜잭션 전파 - REQUIRES_NEW 🐾 느낀 점 & 배운 점 커밋.. 복구됐다. 이게 맞는 방법인진 모르지만 이번엔 force push를 사용해서 '해결' 했다. 이걸 글로 쓰자니 좀 애매한 것 같아서 TIL로만 남기기로 했다. 도움이 될런지는 모르겠지만 일단 난 이걸로 해결해서 매우 기뻤다. 여기서 View all branches 누르고 커밋 히스토리가 남아야 하는 브랜치(나는 main)의 저 심장박동인지 히스토리인지하는 버튼을 누르면 이렇게 강제 푸시로 잃어버린 커밋들을 다 확인할 수 있는데 되돌아가고 싶은 커밋의 ··· 버튼을 눌러 다음과 같이 (날짜별로 묶었다고 추측되는) 커밋들을 확인한다. 그럼 여기서 제일 최신의 커밋의 버..