[항해99] WIL(7) - Spring Project
이번 주에 한 일 Redis의 redisson을 이용한 락 구현 redisson의 락은 기본적으로 분산락이다. 처음에 락을 구현했을 때는 락을 구분하는 키인 LockKey의 값을 모두 같은 값으로 주고 만들었는데, 서비스에서 락이 가지는 의미를 생각하니 기능마다 다른 값을 주어야 할까? 라는 고민이 되었다. @Service @RequiredArgsConstructor public class ColService { public final ColRepository colRepository; public final BoardRepository boardRepository; public final RedissonClient redissonClient; public final BoardService boardSe..
2024.01.22
no image
[항해99] WIL(6) - Spring Project
이번주에 한 일 이번 주 부터는 지금까지 배운 Spring 기술을 가지고 팀 프로젝트를 만든다. 프로젝트 주제는 트렐로 만들기! 저런 게시판을 만드는 프로젝트인데, 기능 구현과 더불어 "기능 개선"을 위주로 프로젝트를 진행한다. 사용자 관리 기능 [ ] 로그인 / 회원가입 기능 [ ] 사용자 정보 수정 및 삭제 기능 보드 관리 기능 [ ] 보드 생성 [ ] 보드 수정 보드 이름 배경 색상 설명 [ ] 보드 삭제 생성한 사용자만 삭제를 할 수 있습니다. [ ] 보드 초대 특정 사용자들을 해당 보드에 초대시켜 협업을 할 수 있어야 합니다. 컬럼 관리 기능 [ ] 컬럼 생성 보드 내부에 컬럼을 생성할 수 있어야 합니다. 컬럼이란 위 사진에서 Backlog, In Progress와 같은 것을 의미해요. [ ] ..
2024.01.15
[항해99] WIL (5) - Spring 개발 시작
이번 주에 배운 것 Spring initializr 을 이용해서 Spring 프로젝트를 시작 스프링에서 제공하는 기능을 이용해 간단한 CRUD 게시판 만들기 Jdbc template를 이용해서 쿼리문을 이용해 MySQL에 데이터 저장 및 불러오기 Jpa를 이용해 간단한 메서드나 애너테이션으로 엔티티 생성 및 데이터 저장, 불러오기 jwt를 이용한 로그인 기능 구현 이번 주에 느낀 것 이번 주차부터는 스프링에 대한 본격적인 공부가 시작되었는데, 강의에서 배운 내용을 응용해서 API설계부터 프로그램을 짜기까지의 과정을 반복했다. 모든 내용이 처음 배운 내용에서 조금씩 어떤 부분에서 개선되었고 바뀌는 것이 있었다. 예를들어 jdbc template에서는 직접 쿼리문을 사용해서 데이터 베이스에 접근했다면, Jp..
2024.01.07
no image
[항해99] WIL(4) - 알고리즘 공부
이번 주에 배운 것 이번주가 알고리즘을 배우는 마지막 주차였다. 마지막 주라 그런지, 배우는 개념도 어느정도 난이도가 있었다. 정렬 알고리즘 (Quick sort, Merge sort), 이진 탐색(Binary Search), 이진탐색을 이용한 최적화 문제 해결 (파라메트릭 서치 기법), 최단경로찾기 (다익스트라, 플로이드), 동적계획법( Dynamic Programming ) 을 배웠다. 이번 주에 느낀 점 문제를 푸는 것은 크게 두가지의 과정이 있다. 1. 문제를 어떻게 풀어야 할 지를 고민하고 2. 고민한 생각을 실제 코드로 구현 대개는 문제 난이도가 (1,2가 둘다 쉬운 문제) -> (1은 쉽지만 2가 까다로운 문제) -> (2는 쉽지만 1이 까다로운 문제) -> (1,2 둘 다 까다로운 문제) ..
2023.12.31
[항해99] WIL (3) - 알고리즘 공부
이번 주에 한 공부 이번 주도 알고리즘 공부를 했다. BFS, 트리, 이진 탐색 트리, 이진 탐색 알고리즘, 힙, 정렬 알고리즘 ( bubble, insertion, selection ) 이번 주에 가장 기억에 남았던 문제 2023.12.22 - [TIL/[순간순간 알게된 짧은 지식] TIL] - 파이썬 입출력 시간 파이썬 입출력 시간 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 mingtian-chan.tistory.com 백준 1927, 최소 힙 문제. 문제를 풀면서 시간 복잡도의 중요성을 깨..
2023.12.24
[항해99] WIL(2) - 알고리즘 공부
이번 주에 한 일 본격적인 기술공부 하기 전에, 알고리즘 공부를 했다. 스택, 큐, 힙, 그래프, DFS를 공부하면서 기업 코딩테스트 준비를 했다. 이번 주에 제일 기억에 남았던 문제 DFS 에서 단지번호 붙이기 문제가 제일 기억에 많이 남았는데, https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 강의에서 알려준 DFS 스택 스켈레톤 코드에서 변수만 넣으면 작동하겠지 라는 생각으로 다가가서 문제를 풀었으나, 스켈레톤 코드에서 문제가 있었다. 문제 ..
2023.12.18
no image
[항해99] WIL (1) - 위대한 항해의 시작
WIL ? Weekly I Learned 는 내가 이번 주에 뭘 했고, 뭘 배웠는 지 정리하는 공간이에요! 이번주 내가 했던 일 링크 : https://github.com/WhatYourStack/WhatsYourStack GitHub - WhatYourStack/WhatsYourStack Contribute to WhatYourStack/WhatsYourStack development by creating an account on GitHub. github.com 일단 웹 미니 프로젝트를 완성 했습니다! Flask를 이용해서 팀원들과 제 자신의 자기소개를 하는 페이지를 만들었는데요, 제가 맡은 파트는 "로그인 파트" 였습니다. 처음 로그인 파트를 맡고 어? 로그인이면 일단은 DB에서 ID / PW를 받..
2023.12.11