항해99 3기 87

[TIL] 2021.11.21 최종 프로젝트 진행중 - 오랜만에 쉬는 일요일

오전 4시에 자서 오후 9시에 일어났다 내가 봐도 충격적이다 연속해서 잔건 아니고, 오후 4시에 일어나서 밥 먹고 6시쯤 잠들고 9시에 깼다 핑계를 대자면, 유일하게 쉴 수 있는 날이 일요일밖에 없는데 약 한달 반 동안 일요일에도 약속이 있었다 어머니 생신, 아버지 생신, 결혼기념일, 선배님들과 약속 등... 집에 콕 박혀 쉬어야되는데, 약속이 있어서 잠도 많이 못 자고 밖에 싸돌아댕겨서 제대로 쉬질 못했다 게다가 몸도 안 좋아서 약도 먹고 있어 더 쉬어줘야 할 판인데, 쉴 시간이 없었다 그래서 잠이 폭발한 것 같다 아까 약을 먹어서 그런지(약에 졸린 성분이 있다) 또 잘 수 있을 것 같다ㅎㅎ.. 밀린 것들 다 해결하고 자고싶다 1. 밀린 블로그 글 쓰기 - 20일, 21일 2. 알고리즘 스터디 공부한 ..

항해99 3기 2021.11.21

[TIL] 2021.11.20 최종 프로젝트 진행중 - 멘토링 / 프로젝트 주제 변경 / response 형식 변경

오늘은 바울 멘토님께 멘토링을 받는 날이다(10:30 ~ 11:00) 이번주 회고 내용 - 백엔드 CI/CD 방법 공부, 보류(.gitignore적용방법 어려워서) Git Action에 환경변수를 주는 방법이 있다 찾아보시길 https 사설 인증 적용(백엔드 배포 서버) 클라우드 프론트를 적용한건지? 직접 적용한건지? -> Open SSL 적용했다 NGrinder → JMeter 로 변경 부하테스트는 JMeter를 제일 많이 사용한다. 사용방법만 좀 익숙해진다면 잘 쓸 수 있을 거다 백엔드 질문 디비조회 할때 100만개 중 하나를 찾아야 하면, 이런 성능개선은 어떻게...? index를 잘 걸어주세요 이거 한번 읽어보세요 : https://yurimkoo.github.io/db/2020/03/14/db-..

항해99 3기 2021.11.21

[TIL] 2021.11.19 최종 프로젝트 진행중 - 알림 기능 / 웹소켓 / JMeter 사용 방법 / 해야할 일

오늘 오전엔 jmeter에 대한 강의(인프런 백기선님 테스트코드 강의 중) 내용을 정리하고 오후부터 알림 기능을 위해 웹 소켓에 대해 찾아보았다 너무 복잡해보인다 채팅에 대한 웹 소켓 예제는 많았지만 웹 소켓을 가지고 알림 기능을 만드는 예제는 거의 없었다 https://velog.io/@skygl/FCM-Spring-Boot%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%EC%9B%B9-%ED%91%B8%EC%8B%9C-%EA%B8%B0%EB%8A%A5-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0#step-5---%ED%94%84%EB%A1%A0%ED%8A%B8%EC%97%94%EB%93%9C FCM, Spring Boot를 사용하여 웹 푸시 ..

항해99 3기 2021.11.20

[TIL] 2021.11.18 최종 프로젝트 진행중 - nGrinder->JMeter 변경

nGrinder를 써보려고 했지만 jmeter로 바꿔볼까 한다 nGrinder는 정보가 너무 없다 부하테스트를 하는데, 가상 사용자를 70명으로 설정하고 테스트를 하면 timeout이라는 에러가 나는데 왜 나는 지 검색해도 정보가 없다(60명까지는 된다) 빨간 공은 에러가 나서 테스트하다 멈춘 것이고, 초록 공은 테스트가 성공적으로 완료된 것이다 가상 사용자(Vuser)가 60명일 때까지는 에러가 안 났지만 가상 사용자를 70명으로 설정했을 때부터 에러 폭발이다 그래서 10초도 안되서 테스트가 에러로 인해 종료된다 로그를 확인해보면 time out 에러가 수두룩하다 원인을 찾을 수 없다 jdk문제인것 같아 openjdk를 oraclejdk로 어찌어찌 해서 겨우 깔았는데도 이 모양이다 우리 프로젝트 성능이..

항해99 3기 2021.11.18

[TIL] 2021.11.17 최종 프로젝트 진행중 - nGrinder 뻘짓

어제 AWS에 nGrinder를 설치했다 https://nazero.tistory.com/130 [TIL] 2021.11.16 최종 프로젝트 진행중 팀원분께서 Github Action을 적용하는 과정에서 맞딱뜨린 에러다 contextLoads() FAILED 라는 에러가 난다 BackEndApplicationTests를 수정한 적이 없다 그래서 'contextLoads() FAILED' 키워드로 구글에 검색해.. nazero.tistory.com 이 글에서 open jdk 8 버전을 깔았다고 적혀있는데, 이걸 깔면 안되는거였다 강의(https://opentutorials.org/module/351/3337)에서 open jdk를 설치한 뒤 프로세스를 1 이상으로 지정하게 되면 오류가 발생하기 때문에 오라..

항해99 3기 2021.11.17

[TIL] 2021.11.16 최종 프로젝트 진행중 - nGrinder 실행

팀원분께서 Github Action을 적용하는 과정에서 맞딱뜨린 에러다 contextLoads() FAILED 라는 에러가 난다 BackEndApplicationTests를 수정한 적이 없다 그래서 'contextLoads() FAILED' 키워드로 구글에 검색해봤더니 우리와 같은 상황인 글을 봤다 https://enant.tistory.com/29 Github Action 빌드시 contextLoads Failed 오류 spring server를 ec2에 배포하는 과정을 자동화할 방법을 찾다가, github Action을 사용해보기로 했다. Github Action? Github Action을 간단히 설명하면 빌드, 테스트, 배포 등의 작업을 자동화 시켜주는 도구이 enant.tistory.com Gi..

항해99 3기 2021.11.16

[TIL] 2021.11.15 최종 프로젝트 진행중 - 게시물 수정 로직 변경 / nGrinder 준비

게시물 수정 로직을 다시 짜고 있다 전혀 생각 못했는데 레시피 수정 로직을 먼저 만드신 다른 팀원분의 PR을 읽어보는중 IN 절을 사용하신걸 봤다 IN절을 전혀 생각 못했다 나는 where 절로 하나하나씩 찾을 것만 생각했었다 그래서 JPA에서 IN 절을 사용하는 방법을 찾아봤다 https://happygrammer.tistory.com/158 JPA - 스프링 데이터 JPA에서 쿼리 메소드 안에 지원되는 키워드 쿼리 메소드는 스프링 데이터 JPA의 핵심적인 기능중 하나로 메소드 이름으로 쿼리를 생성할 수 있다는 장점이 있다. 메소드 이름으로 쿼리를 생성을 위해 인터페이스에서 사용할 사용자 쿼리 happygrammer.tistory.com 이 블로그 내용을 보면 JPA 공식 문서의 일부를 가져온 것이다 ..

항해99 3기 2021.11.15

[TIL] 2021.11.13 최종 프로젝트 진행중 - 피드백 받기

이번 주 피드백은 멘토님들이 실제 면접에서 나올만한 질문을 하시면 답변하는 시간을 가졌다 그 중 백엔드는 아래와 같은 피드백을 받았다 쿼리DSL을 써볼 것 레시피와 게시판에서 인기순으로 목록을 조회하는 API가 있다. 레시피 테이블, 레시피 좋아요 테이블, 게시판 테이블, 게시판 좋아요 테이블 따로 분리되어있기 때문에 게시판/레시피 데이터 & 각 게시물마다 좋아요 개수 데이터를 동시에 가져와야 했다. 우리는 JPQL로 JOIN을 이용해 조회해 왔다. 이 경우 데이터 조회하는 속도가 느려질 수도 있기 때문에 쿼리 DSL을 적용하는 것을 추천하셨다. 쿼리DSL을 적용하기 힘들다면, 데이터를 따로따로 조회해서 사용하라고 하셨다. 쿼리가 들어간다면 유지보수하기 힘들다고 하셨다. 왜냐하면 @Query를 사용했는데..

항해99 3기 2021.11.13

[TIL] 2021.11.11 최종 프로젝트 진행중 - 브랜치 다루는 방법

github에 push 할 때 실수를 했다 그래서 네트워크 그래프가 꼬였다 dev의 최신 코드를 test-board 브랜치에 적용을 안 시켰나보다 팀원이 로컬 브랜치를 최신화하고, push해서 PR을 날렸다 그 PR이 merge가 되었고, 나는 최신화하지 않은 브랜치를 push하고 PR을 날린것 같다 그것을 시간이 좀 지나서야 팀원이 알아챘던 것이다 그래서 푸시 기록을 지우는 등 난리가 났었다 핑계로 들리겠지만 최신화를 신경쓰고 있었기 때문에 pull한 기억이 분명히 있다 그 전에 나는 pull을 잘못 사용하고 있었다 dev브랜치가 아닌 개발하고 있는 다른 브랜치에 가장 최근 코드를 적용해야하는 상황이었다 나는 개발하고 있는 다른 브랜치(test-board)에서 'git pull origin dev'를 ..

항해99 3기 2021.11.13

[TIL] 2021.11.10 최종 프로젝트 진행중

코드를 작성하면서 test-board 브랜치에서 게시판 테스트코드를 작성하고 swagger 브랜치에서 swagger와 관련된 코드를 작성했다 test-board에서 swagger로 이동할 때 git stash 명령어로 지금까지 짰던 코드들을 임시저장해놓았다 swager브랜치에서 작업한 뒤 다시 test-board로 이동해야 하기 때문에 또 git stash 명령어를 썼다 test-board로 이동 후 이전에 임시저장해놓았던 것을 불러와야 했다 어떻게 불러오는 지 몰라서 검색해봤다 https://helloinyong.tistory.com/202 [2019.09.13] git stash 사용법 - 현재 상태를 저장해보자 최근에 A브랜치에서 작업을 완료 후 pull Request를 올렸다. 그리고 새로운 기능..

항해99 3기 2021.11.10