분류 전체보기

    [WIL] 230807 ~ 230813 (수정 필요)

    [WIL] 230807 ~ 230813 (수정 필요)

    목표 달성 여부 🤔 이번 심화 프로젝트에서는 Deck과 CI부분을 맡게 되었다..! 추가 로직까지는 구현하지 못해서 약간 아쉬웠다. ✅ Github Action에 Spring Boot Test도 할 수 있게끔 DB 연결 성공! ❌ Stomp 공부는 실패..! 생각보다 심화 프로젝트 부분에서 시간이 많이 걸렸다. ✅ 수요일에 카프카 벼락치기를 하고 카프카 밋업을 다녀왔다! 이번 주 내가 한 것 심화 프로젝트 진행 팀프로젝트의 ERD 거의 처음 생각한 대로 계속 프로젝트를 진행했다. 그만큼 ERD를 꼼꼼하게 짰다. 전 프로젝트에서는 이 필드가 필요할 거 같아서 또 추가했다가 필요없을 거 같아서 삭제. 이런 식으로 ERD의 수정이 빈번하게 일어나서 계속 코드 수정하느라 시간이 걸렸던 경험이 있는데 ERD가 꼼..

    [TIL] Github Action으로 DB 연동! - Spring Boot Test 통과 확인

    [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로 순서 바꾸는 로직 구현

    [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] 수업 자료 - 카카오 로그인 분석

    [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을 쿼리 스트링으로 필수로 같이 보낸다. 사용자가 모든 필수 동의 항목에 동의하고 [..

    [TIL] Github Action 2 - Workflow 구성해보기(작성 중)

    Microsoft Developer Korea - Github Actions 영상을 참고하고 기록. 영상에서는 Node.js 프로젝트를 예시로 함. 목표 : Github Actions 워크플로우를 내 입맛에 맞게 작성할 수 있다. OS 종류와 Node 버전이 다양해요. → 빌드 매트릭스 이용하기 빌드할 때마다 테스트를 실행해서 불편해요. → 템플릿 변경해서 빌드 테스트 분리하기 다른 Job에서 빌드 아티팩트 접근이 안돼요. → Built-in 스토리지 이용하기 1. OS 종류와 Node 버전이 다양해요. 여러 타겟으로 동시에 빌드한다! → 매트릭스 빌드 여기에서의 매트릭스는 행렬! 예를 들어, Windows, Linux 버전에서 Node 12버전과 Node 14버전을 돌려야 할 때, Windows Lin..

    [WIL] 230724 ~ 230730

    목표 달성 여부 ✅ 팀원들이랑 친해지기(먼저 다가가자) -> 팀 스타일이 좀 다른 것 같아서 일단 보류..! ✅ JPA, QueryDSL 공부 중! ❌ AWS 강의 잘 듣기 ✅ 스프링 못 들었던 강의 - 폴더 공부! ✅ 최종 프로젝트 때 어떤 식으로 진행될 것인지 생각해보기 -> 아이디어 구상하는 방법 튜터님께 물어봄..! ✅ 스터디 잘하기(수요일 발표!) -> 새로운 분들이 들어옴..! 이번 주 내가 한 것 1. JPA 공부 처음부터 차근차근 공부중!! 2. 세미나 스터디 가입(매주 목, 일 진행) Github Action, CI/CD에 대해 공부하고 발표. Github Action(+CI/CD?) > gilded-meeting-f87.notion.site 스터디에서 다뤘던 주제 AOP와 프록시 / 상..

    [TIL] 프로그래머스 - 상담원 인원(첫 lv.3 도전)

    [TIL] 프로그래머스 - 상담원 인원(첫 lv.3 도전)

    프로그래머스 2023 현대모비스 알고리즘 경진대회 예선 lv.3 - 상담원 인원 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 전체 문제 로직 2. 코드 public int solution(int k, int n, int[][] reqs) { // 각 유형마다 멘토가 배치됨에 따라서 대기시간이 어떻게 되는지 구한다. int[][] waitingTime = new int[n - k + 1][k]; // i명 배치할 때, 각 유형의 기다리는 시간 구하기 for (int i = 0; i < n - k + 1; i++) { // mentos : i+1명의 ..