전체 글 649

[후기] '클린코드가 코드에 대한 책이 아닌 사실에 대해' 세미나

'클린코드가 코드에 대한 책이 아닌 사실에 대해' 세미나 강사 : 박성철 ( 현 컬리 물류 프로덕트 본부장 ) 일시: 2023. 11. 22.(수) 오후 7:00 ~ 8:30 장소: 판교디지털센터(PDC) A동 901호 구름스퀘어 [ 후기 ] '클린코드' 책의 저자인 로버트 C 마틴이 선동가적 기질이 있음을 처음 알았다. 책에서 '르블랑의 법칙'을 소개하는데, 나 또한 책을 읽으며 의미있게 본 법칙이지만... 사실 그런 법칙은 없다고 한다. 로버트 C 마틴이 친구들이랑 주고 받은 농담을 법칙처럼 소개한 것이라고 한다...개인적으로 대학시절에 클린코드를 읽고 프로젝트의 유지보수성이 확 올라간 경험을 한 적이 있어 한때는 클린코드를 맹신한 적이 있다. 이렇듯, 클린코드가 유명세를 타며 '클린(Clean)'에..

후기 2023.12.23

[후기] '코딩테스트 잘 푸는 방법' 세미나

코딩테스트 잘 푸는 방법 세미나 ( 2023.11.16 목요일 ) 강사 : 권우영 ( 현 구름 서비스 기획자 ) [ 후기 ] 막연하게 백준 문제를 풀면서 티어만 올리고 있던 나의 뼈를 때리는 세미나였다. 세미나를 듣고 난 후 보이지 않았던 많은 부분들이 보였고 자신감과 가능성을 느낄 수 있는 시간이었다. [ 세미나 요약 ] 쉬운문제를 여러번 매일 풀어라 취업을 하고 싶은 회사의 언어를 선택하여 쉬운 문제를 여러번 풀어 활용능력을 높여야 한다. 길이가 긴 문제를 한 문장으로 정리하는 능력을 연습해야한다. 한문장으로 정리하여 문제를 푸는 연습을 해야 한다. 요구사항을 정리하고 풀이방법을 정리하여 풀이가 왜(why) 틀렸는지를 이해해야 한다. 요구사항과 풀이법 간의 상관관계를 찾아 '특정 조건'이 나오면 '다..

후기 2023.12.23

[프로젝트] Naver Clova Speech 서비스에 적용 ( 2023.12.20(수) )

작업한 것 - Naver Speech API 샘플코드 분석 - Speech 샘플코드에 커맨드 패턴, 팩토리 메소드 패턴 적용하여 멘토링 서비스에 적용하기 - 변환된 텍스트 DB에 저장하기 배운 것 [ Git ERROR ] error: Your local changes to the following files would be overwritten by checkout: 00_topsection/css/meritz.css Please commit your changes or stash them before you switch branches. Aborting 커밋 되지 않은채 수정중인 파일이 있으면 pull이 일어나지 않는다. 모든 파일을 커밋하거나 커밋이 불안하면 stash 한 뒤 rebase 해야 한다...

[프로젝트] Naver Clova API 사용하기 ( 2023.12.18(월) )

작업한 것 - 멘토링 서비스에서 네이버 Clova STT 와 네이버 Clova Summary API 사용하기 배운 것 Clova STT는 CSR 서비스 중 하나로, 음성파일 1분 이상을 넘기면 인식하지 못한다. 실제로 사용해보니 1분 이하 음성파일만 가능할 뿐, 1분을 넘어가니 500에러가 발생한다. 개발자 포럼 - NAVER Developers developers.naver.com Clova Summary 또한 특정 컨텐츠만 요약하고 몇몇 컨텐츠는 요약하지 못하는 것 같다. STT 대신 Speech API를 사용해보아야 겠다. 마무리 CLOVA 문서 정리가 잘 안 되어 있는 것 같다. 음성파일 1분 이하만 텍스트 변환이 가능하다는 것을 Clova Speech 문서 보고 알았다... Summary 문제에..

[프로젝트] 멘토링 서비스 개발 ( 2023.12.15(금) )

작업한 것 - 멘토링 신청 API 구현 완료 - 보낸 멘토링 신청 조회 API 구현 완료 - 받은 멘토링 신청 조회 API 구현 완료 - 멘토링 신청 수락 API 구현 완료 - 멘토링 신청 거절 API 구현 완료 배운 것 @SequenceGenerator( name= "ROOM_SEQ_GENERATOR", sequenceName = "CHAT_ROOM_SEQ", initialValue = 1, allocationSize = 1 ) 시퀀스를 생성하여 사용할때 두개 엔티티가 하나의 시퀀스를 사용하면 서로 번갈아가면서 id가 증가한다. 마무리 멘토링 서비스는 어느정도 구현되었고 네이버 클로버 API와 통신해야 한다.

[프로젝트] SpringBoot 서비스 간 통신 에러 해결 ( 2023.12.14(목) )

작업한 것 K8S 환경에서 SpringBoot 서비스 간 통신 에러 해결 배운 것 K8S 환경에서 SpringBoot 서비스 간 통신 에러 해결 과정 '기타보고사항'에 정리 13일차 보고 | Built with Notion 일일보고_예시.pptx goorm.notion.site 마무리 K8S 환경에서 SpringBoot 서비스 간 통신 에러가 해결되었다! MSA 프로젝트에 꽃길만 있기를!

[프로젝트] 포스트 서비스 구현 및 멘토링 ( 2023.12.13(수) )

작업한 것 - [ 포스트 서비스 ] 포스트 마이페이지 조회 기능 구현 - [ 포스트 서비스 ] 포스트 추천페이지 조회 기능 구현 - [ 포스트 서비스 ] Auditing 구현 - [ 포스트 서비스 ] Config 설정 구현 - [ 포스트 서비스 ] Validation 및 Exception 처리 구현 - [ 포스트 서비스 ] 구현 완료 인프라 신입면접은 프레임워크 기술보다는 CS지식을 주로본다. 본인 같은 경우는 아래 링크의 CS 지식을 전부 외우고 같다. GitHub - JaeYeopHan/Interview_Question_for_Beginner: :boy: Technical-Interview guidelines written for those..

[프로젝트] 포스트 서비스 구현 및 KPT 중간회고 ( 2023.12.12(화) )

작업한 것 - [ 포스트 서비스 ] 포스트 상세 페이지 조회 구현 - [ 포스트 서비스 ] 포스트 생성하기 구현 - [ 포스트 서비스 ] 포스트 수정하기 구현 - [ 포스트 서비스 ] 포스트 삭제하기 구현 - [ 포스트 서비스 ] 포스트 상세 페이지 조회 구현 - 멘토님과 함께하는 Keep Problem Try 중간회고 배운점 - 개발 QueryDLS은 JPQL로 DB에 직접 실행하므로, 테스트 시, 영속성컨텍스트를 flush하고 clear한 상태에서 진행하는 것이 좋다. 그래야 영속성컨텍스트와 DB 사이에 동기화 문제가 발생하지 않는다 Optional을 활용한 비동기 처리 [ Category category = categoryRepository.findById(id).orElseThrow( ()-> n..

[프로젝트] 채팅서비스 구현완료 및 포스트 서비스 구현 ( 2023.12.11(월) )

작업한 것 - [ 채팅 서비스 ] 채팅 서버 여러 대 동작하여 Kafka 정상 동작하는지 확인 - [ 채팅 서비스 ] @ExceptionHandler 및 Validation 어노테이션 활용하여 유효성 검사 및 예외처리 구현 완료 - [ 채팅 서비스 ] Auditing 구현완료 - [ 채팅 서비스 ] DB H2에서 MySQL로 변환 - [ 포스트 서비스 ] Controller 및 Entity 구현 완료 배운점 카프카는 동일한 그룹아이디에 있는 컨슈머들 간의 분산 메시징을 한다. 그래서 컨슈머 하나당 하나의 파티션을 할당 받는다. 만약 동일한 파티션을 같이 구독하고 싶다면 컨슈머 그룹이 달라야 한다. 여러 대의 채팅 서버가 모두 같은 파티션을 바라봐야 하므로, 서버마다 고유의 컨슈머 그룹을 가져야 했다. 컨..