전체 글
![[TIL] leetcode: Running Sum of 1d Array](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc8cUg8%2FbtsrBqyY8Ga%2FIW7L93krWLqMyZFW7yQUm0%2Fimg.png)
[TIL] leetcode: Running Sum of 1d Array
Running Sum of 1d Array - LeetCode Can you solve this real interview question? Running Sum of 1d Array - Given an array nums. We define a running sum of an array as runningSum[i] = sum(nums[0]…nums[i]). Return the running sum of nums. Example 1: Input: nums = [1,2,3,4] Output: [1,3,6, leetcode.com 문제 배열이 주어지고, 첫번째 인덱스부터 i번째 인덱스까지의 값을 더한 값을 i번째 index에 넣은 배열을 출력하는 문제 내 코드 앞의 합을 따로 저장해주면 되겠네 싶어서 짠 ..
![[WIL] 230814 ~ 230820](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr7oSt%2FbtsrNn1wvAN%2Fdt0Sp3pPqgNHMHCChqtFkk%2Fimg.png)
[WIL] 230814 ~ 230820
목표 달성 여부 ✅ 챌린지 프로젝트 설계 완료 🤔 카프카 공부해서 일요일 스터디 발표하기 -> 최종 프로젝트 일정이 바빠져서 CI/CD 복습 request가 있어서 CI/CD 추가공부하고 발표 진행. ❌ 인프콘 내용 잘 듣고 기록해 놓을 것!! -> 추후 인프런에 영상 올라오면 기록했던 것과 같이 보고 기록 남길 것. 이번 주 내가 한 것 인프콘 다녀오기! - 인프런에 영상 나오면 좀 더 자세하게 기록하기. 1. 지속 가능한 소프트웨어 개발을 위한 경험과 통찰 - 케이타운포유 백영석님 2. 오늘도 여러분의 API는 안녕하신가요? - 우아한형제들 김정규님 API First Design의 필요성과 방법에 대해서. 3. 변별력을 200% 더 높인 개발자 채용 방법: 코드 리뷰 테스트 - 강남언니 전종욱님 지원..
![[WIL] 230807 ~ 230813 (수정 필요)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPFbKh%2FbtsrgrRi1Xr%2Fs2UCaIhREezkse3sFmvxSK%2Fimg.png)
[WIL] 230807 ~ 230813 (수정 필요)
목표 달성 여부 🤔 이번 심화 프로젝트에서는 Deck과 CI부분을 맡게 되었다..! 추가 로직까지는 구현하지 못해서 약간 아쉬웠다. ✅ Github Action에 Spring Boot Test도 할 수 있게끔 DB 연결 성공! ❌ Stomp 공부는 실패..! 생각보다 심화 프로젝트 부분에서 시간이 많이 걸렸다. ✅ 수요일에 카프카 벼락치기를 하고 카프카 밋업을 다녀왔다! 이번 주 내가 한 것 심화 프로젝트 진행 팀프로젝트의 ERD 거의 처음 생각한 대로 계속 프로젝트를 진행했다. 그만큼 ERD를 꼼꼼하게 짰다. 전 프로젝트에서는 이 필드가 필요할 거 같아서 또 추가했다가 필요없을 거 같아서 삭제. 이런 식으로 ERD의 수정이 빈번하게 일어나서 계속 코드 수정하느라 시간이 걸렸던 경험이 있는데 ERD가 꼼..
![[TIL] Github Action으로 DB 연동! - Spring Boot Test 통과 확인](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqZ10k%2Fbtsq0vnFAPi%2FaZ0f2pSFKDcWQNzOMKuAk0%2Fimg.png)
[TIL] Github Action으로 DB 연동! - Spring Boot Test 통과 확인
Spring Boot Test는 application을 실행시켜보는 작업이라서 DB 연동이 필요하다. 우리는 MySQL 기반으로 코드를 작성했기 때문에 Github Action이 실행되는 Runner에서도 MySQL을 설치해보았다. 아마 H2를 설치해서 확인해도 dialect 부분만 바꿔서 작성하면 괜찮을 것 같지만. 익숙한 MySQL을 설치하기로 했다. GitHub Marketplace에서 MySQL을 어떻게 설치하면 되는지 잘 나와있다. Start MySQL - GitHub Marketplace Start a MySQL database github.com steps: - uses: samin/mysql-action@v1 with: host port: 3800 # Optional, default val..
[TIL] Entity의 선형 구조 / 트리 구조에 따른 구현 방식 비교 - Trouble Shooting
프로젝트를 시작하면서 Deck에 대한 기능을 맡았고, 그 기능 중 순서에 대한 로직을 parent값을 줘서 LinkedList처럼 선형 구조로 만들었다. [TIL] parent_id로 순서 바꾸는 로직 구현 프로젝트 시작 Trello를 참고하여 프로젝트 협업 도구를 만드는 프로젝트를 진행하게 되었다. 내가 맡은 부분은 카드들을 담고 있는 Deck 관련된 기능이었다. 구현해야 하는 기능 내가 구현해야 하 argente29.tistory.com 그런데 생각해 보니 이 로직은 위치 수정에 관한 로직으로 옮겨져야 했고 생성 메서드에서는 제일 오른쪽 끝에 있는 Deck의 index를 찾아 그 오른쪽에 위치시켜야 했다. 여기서 문제는 제일 오른쪽 끝에 있는 Deck을 어떻게 찾는지 였다. 처음 생각한 로직 일단 D..
![[TIL] parent_id로 순서 바꾸는 로직 구현](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchYBYz%2FbtsqD4IZfTl%2F4i8IgOFv4KNNhnUuME9ZOk%2Fimg.png)
[TIL] parent_id로 순서 바꾸는 로직 구현
프로젝트 시작 Trello를 참고하여 프로젝트 협업 도구를 만드는 프로젝트를 진행하게 되었다. 내가 맡은 부분은 카드들을 담고 있는 Deck 관련된 기능이었다. 구현해야 하는 기능 내가 구현해야 하는 기능은 다음과 같았다. ✔ Deck 생성 아무 위치에서 Deck 생성이 가능해야 한다.( 현재는 오른쪽 끝에서 생성하는 로직으로 변경하였다. ) ✔ Deck 단일 조회 Deck을 조회했을 때 Deck의 id와 name, 속해 있는 Card를 조회할 수 있어야 한다. ✔ Deck 위치 수정 Deck의 위치를 수정할 수 있어야 한다. ✔ Deck 이름 변경 Deck의 이름을 변경해야 한다. ✔ Deck 삭제(논리적 삭제) Deck의 Boolean 타입 필드 isDeleted 값을 true로 바꿔준다. ✔ 스케쥴..
[WIL] 230731 ~ 230806
목표 달성 여부 ✅ 소셜 로그인 공부 ✅ 단위 테스트 공부 -> 직접 단위 테스트 써보기 ✅ Github Action에 단위 테스트 적용시키기!! -> Mock 테스트까지는 성공! 스프링 부트 테스트는 DB를 연결시켜줘야 해서 아직! ✅ 스터디원들이 늘면서 코드 리뷰 간단하게 하자고 제안! 다들 오케이 했고 코드 리뷰 간단하게 하되, 다르게 푼 사람에게 리뷰 남기고 싶으면 자유롭게! 🤔 JPA 공부는 하는 중..! 심화 프로젝트 전에 다 못 듣고 프로젝트가 시작 되었는데 최종 전에 다 들을 수 있을..가!! 할 수 이따 ㅠㅠ ✅ 복습 과제는 열심히 했으나 아직 개선 과제는 건드리지 못했다! 그래도 이번에 복습 과제를 하면서 이전에 했던 내용을 단순히 복붙하는 것이 아니라 내 식대로 조금씩 수정하고 내 코..
[TIL] Github Action 3 - Mockito 테스트(O)
1. dev 브랜치에 푸시하거나 PR보낼때마다 CI check on: push: branches: [ "dev" ] pull_request: branches: [ "dev" ] 2. PR에 테스트 결과 코멘트로 알려 줄 때 필요한 허가. permissions: checks: write pull-requests: write 3. 레포지토리 체크아웃 레포지토리의 코드를 runner 컴퓨터에서 돌려볼 수 있도록 pull로 땡겨가는 코드. - name: 레포지토리 체크아웃 uses: actions/checkout@v3 4. 현재 내가 사용하는 Spring Boot는 3.x버전은 Java 17부터 지원하기 때문에 JDK 17 설치 - name: JDK 17 설치 uses: actions/setup-java@v3 ..
![[TIL] 수업 자료 - 카카오 로그인 분석](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdsht9n%2FbtspPakKQrD%2FgmYyMsvGhkwomE0PxU6g81%2Fimg.png)
[TIL] 수업 자료 - 카카오 로그인 분석
수업 자료에서 카카오 로그인의 과정이 너무 빨리 지나가서 하나하나 뜯어보고 기록 > 1. 인가 코드 요청 GET 2. 인가 코드 요청 응답 -> Redirect_URI GET 3. 인가 코드로 액세스 토큰 요청 POST 4. access_token에서 카카오 사용자 정보 가져오기 5. 가져온 사용자 정보를 가져와서 추가로직 구현 6. User 정보로 JWT 토큰 만들어서 return. 7. JWT token 쿠키에 담아서 프론트에 넘겨주고 index.html로. 1. 프론트 단에서 버튼을 클릭할 때, 인가 코드를 받아오는 GET 요청을 보낸다. 이 때, client_id와 redirect_uri와 response_type을 쿼리 스트링으로 필수로 같이 보낸다. 사용자가 모든 필수 동의 항목에 동의하고 [..