전체 글 (183) 썸네일형 리스트형 TIL-230830(항해99 실전 프로젝트-행동대장(20)) 📝오늘 공부한 것 실전프로젝트 - '행동대장' 마이페이지 구현 📌 마이페이지 카카오로그인 시 이메일제공에 동의하지 않고 가입하는 유저는 이메일에 대한 정보가 들어오지 않아 DB에 저장을 할 수 없다. 그런데 우리 프로젝트에서 알림기능을 추가로 구현하기로 하였다. 사이트에서의 알림뿐만 아니라 '해결했어요'가 5개 넘으면 게시글이 완료처리되면서 완료되었다는 알림을 이메일로 보내는 기능을 추가하였다. 그런데 이메일이 없는 카카오유저에게는 이메일이 가지 않아, 나중에 받고 싶어도 받을 수 있는 방법이 없기 때문에 이메일을 따로 받게 하자고 하였다. 그래서 이메일을 따로 등록하는 기능을 만들기 보다는 마이페이지를 만들어서 그 기능을 추가하자는 의견이 나왔다. 마이페이지에는 이메일 추가등록, 닉네임 변경, 비밀번호.. TIL-230829(항해99 실전 프로젝트-행동대장(19)) 📝오늘 공부한 것실전프로젝트 - '행동대장' 트러블 슈팅실전 프로젝트 - '행동대장' 유저피드백 준비 📌 트러블 슈팅⛔ 문제점 : Dirty Checking이 작동되지 않음마이페이지에서 이메일, 닉네임, 비밀번호 update기능을 구현하였는데 DB에 반영되지 않는 문제가 발생하였다. [updateNickname메서드]닉네임 변경에 대한 코드를 작성하고 dirty checking을 기대하며 Transactional을 걸어주었다.@Transactional을 걸어주면 JPA Entity를 업데이트할 때 Dirty Checking을 지원하여 트랜잭션 안에 save를 명시적으로 호출하지 않아도 commit시에 판단해서 update를 해준다. [Postman][User table] 그런데 코드를 실행하였을 때.. TIL-230828(항해99 실전 프로젝트-행동대장(18)) 📝오늘 공부한 것 실전 프로젝트 - '행동대장' 카카오로그인 기능구현 ⛔문제점 ① 카카오 로그인 시 개인정보 동의에서 이메일제공에 동의하지 않는 유저가 있을 경우 [에러메시지] ERROR 34868 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.NullPointerException: Cannot invoke "com.fasterxml.jackson.databind.JsonNode.asText()" because th.. WIL-2023/8월 (4) 2023.08.21. ~ 2023.08.27. 📝이번주 목표 1. 실전프로젝트 - refresh token 사용 로직으로 수정, 소셜로그인 기능 구현 2. 스파르타코딩클럽 Spring 심화주차 강의 끝까지 다시듣기 ✍🏻이번주 목표 달성 여부 ❌ 실전프로젝트 - refresh token 사용 로직으로 수정, 소셜로그인 기능 구현 -> 소셜로그인 기능 구현완료 -> refresh token 로직을 구현하였음. Fostman으로 확인까지 완료하고 프론트와의 CORS에러도 해결하였지만, 프론트에서 token을 확인할 수 없음. 다른 방법으로 다시 로직을 구현해보기로 함. ✅ 스파르타코딩클럽 Spring 심화주차 강의 끝까지 다시듣기 💡알게 된 점 총정리(TIL회고) 이제 프로젝트가 거의 마무리 되어간다. 목표했.. TIL-230826(항해99 실전 프로젝트-행동대장(17)) 📝오늘 공부한 것 실전프로젝트 - '행동대장' 카카오로그인 구현 인프런 김영한의 스프링 강의 섹션5 ⛔문제점 [에러 메시지] Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.web.client.HttpClientErrorException$BadRequest: 400 Bad Request: "{"error":"invalid_grant","error_description":"authorization code not found for code=v7B6seKGSDCRLKpOvIwAfATwHgLiGfeddI7QNVmu.. TIL-230825(항해99 실전 프로젝트-행동대장(16), EC2에 Swap Memory 적용) 📝오늘 공부한 것실전프로젝트 - '행동대장' 카카오로그인 기능구현인프런 김영한의 스프링 강의 섹션4 ⛔문제점프로젝트를 진행하던 중 프론트에서 갑자기 서버를 닫았는지 물어보셨다. 서버를 종료한 적이 없어서 확인해 보려고 ssh접속을 하려 했으나, ubuntu서버에 접속조차 할 수가 없었다. AWS를 확인해 보니 CPU사용량이 급증한 것을 확인할 수 있었다. 유저피드백을 받기 전이라 프론트분들이 데이터를 넣는 작업을 했었는데 CPU 사용량이 급증하면서, 서버의 메모리 사용량을 감당할 수 없게 되어 EC2 다운되는 문제가 발생한 것이었다. 💯해결 EC2 인스턴스를 생성할 때 프리티어인 t2.micro를 선택하였다. t2.micro는 메모리를 1GB 제공한다.메모리 부족현상을 해결하기 위해 swap .. TIL-230824(항해99 실전 프로젝트-행동대장(15)) 📝오늘 공부한 것 실전프로젝트 - '행동대장' 카카오로그인 기능구현 인프런 김영한의 스프링 강의 섹션3 📌Fostman으로 카카오로그인 확인하기! 1. 카카오에 인가코드 요청 - Chrome창에 url입력 https://kauth.kakao.com/oauth/authorize?client_id= {REST_API_KEY}&redirect_uri={REDIRECT_URI}&response_type=code 2. code 가져오기 http://localhost:8080/api/auth/kakao?code=VYL3ewO0HiFtLWO3wxUJGDkYHzX cwrIbDKGefGV2LS4DdTYKJp5NW7spxNceBWOmf6hrQoqJU8AAAGKNhK_tg 중 code=의 뒷부분 복사 3. Key값에 cod.. TIL-230823(CI/CD) 📝오늘 공부한 것 CI/CD 알게 된 점❗ 애플리케이션 개발과정을 자동화하고 지속적으로 개발된 코드를 안정적으로 배포하는 데 사용되는 개념과 접근 방법을 나타낸다. - 주로 사용되는 툴 : Jenkins, Tekton Pipelines, GoCD 장점 : - 빠른 피드백 : 코드 변경에 대한 테스트와 피드백을 신속하게 받아 개발자들이 문제를 빠르게 수정할 수 있다. - 자동화된 릴리스 : 코드 변경 사항을 자동으로 배포하므로 릴리스 프로세스가 더 효율적이고 안정적으로 이루어진다. - 더 낮은 버그 비율 : 자동화된 테스트와 지속적인 통합으로 인해 버그 발생 가능성이 줄어든다. - 작업의 용이성 : 작은 변경 사항도 주기적으로 통합되므로 병합 작업이 줄어들어 개발자 간의 협업이 용이해진다. [ CI : C.. 이전 1 ··· 9 10 11 12 13 14 15 ··· 23 다음