본문 바로가기

HangHae9916

WIL 2021/07/18 6주차 회고 1. 재정비 기간 회고 첫번째로, 스스로 자신감..?이 많이 생긴 주차였다. 스스로 프로젝트를 구현 했다는것과 잘 알지 못했던 예외처리, Service에서의 로직 구현을 직접 해보면서 완성했다는것으로 자신감이 생겼다..! 2. 클론코딩 주차 새로운 조원분들을 만나고 새로운 클론코딩을 시작했다. 클론의 목표는 '핀터레스트' 사이트. 다른 백엔드분들과 같이 API를 설계했다. 확실히 재정비기간동안 혼자 공부했던것들이 API 설계할때도 도움이 많이 됐다. 나는 재정비 기간동안 공부했던것을 테스트 해보기 위해서, 스스로 생각하기에 제일 어렵다고 생각되는 User부분을 담당했다. 시큐리티와 JWT를 같이 사용하는 부분에서 많이 고생했다. 많은 자료들을 찾아보며 직접 구현했지만 이해 가지 않는 로직이.. 2021. 7. 18.
WIL 2021/07/11 5주차 회고 1. 주특기 주특기 심화과정 종료 심화과정에선 과제의 요구사항이 상당히 많았다. 기본과정은 어려움 없이 과제를 완료했지만, 심화과정은 예외처리, 시큐리티 등 어려움이 너무 많았다.. 결국 프로젝트도 완료하지 못했고, 나의 문제가 뭔지 생각해봤다. 생각했던 나의 문제 일단 첫번째로 나는 코드를 많은 부분 가져다가 사용했다. 기존의 과제부분, 강의에서 나온 코드 등. 물론 튜터님과 매니저님들께서 코드를 가져다 사용하는 것은 당연하다고 너무 걱정하지 말라고 하셨다. 그렇지만 나는 코드를 가져다가 사용하면서도 왜 그 코드가 사용되어야 하는지, 또한 조금만 기능이 달라도 발생하는 에러에 대처하지 못하는 나를 보며 기본적인 이해가 부족하다고 생각했다. 코드를 가져다가 사용하더라도 왜 그 코드를 사용하는지, 아니면 .. 2021. 7. 12.
WIL 2021/07/04 4주차 회고 1. 주특기 주특기 기본 과정 1주차 종료 1주차 기본과정은 큰 어려움 없이 지나갔다. 스프링을 통한 3계층 설계에 익숙해지는 것에 집중했고, 미니프로젝트에 큰 어려움 없이 완성할 수 있었다 어려움이 있을때마다 같은 조원분들이 많이 도와주셔서 더 쉽게 완성할 수 있었다. 주특기 2주차 심화과정 금요일에 심화과정 발제 후, 오늘까지 계속 강의를 듣고 공부했다. 확실히 기본과정에 비해 난이도가 느껴진다.. 독학하는 시기에 스프링도 좀 해놓을걸.. 그래도 전공수업으로 들었던 데이터베이스 수업이 큰 도움이 된다. 그 당시엔 정말 하기 싫었는데, 그게 이렇게 큰 도움이 된다니. 내일 오전에 못들은 5주차 강의를 마무리하고 프로젝트를 시작해야겠다. 2. 이번주를 돌아보며.. 의지가 약해진건지 모르겠는데 아침에 일어.. 2021. 7. 5.
WIL 2021/06/27 3주차회고 몰아서 쓰는 이번주 회고. 알고리즘 주차 끝 주특기 선택. 주특기 주차 시작 1. 알고리즘 주차 끝 힘들었다면 힘들었던, 긴장이 풀렸었다면 풀렸다고 할 수 있는 알고리즘 주가 끝났다. 스스로 생각하기엔 2주동안 알고리즘을 해결해 나가며 많이 발전했다고 생각한다. 이 전에는 알고리즘 문제를 풀어본 적 조차 없었기 때문에 이번 2주동안 많은걸 얻어갔다. 초반에만 해도 입력값 받는 코드를 구현하는 것 조차 쉽지 않았고 문제만 보면 숨이 턱 막히고 고통스러운 시간이었지만 어느정도 해결해나가다 보니 문제를 보고 해결해 나갈수 있었다. 2. 주특기 선택 Nodejs와 Spring중에 고민을 많이 했다. 항해 시작전 자바를 독학하긴 했지만 이해를 하지 못한 부분도 있었고, Spring이 난이도가 높다는 말을 들어서 .. 2021. 6. 28.
TIL 2021/06/22 16일차 백트래킹 (퇴각 검색) 길을 가다가 이 길이 아닌 것 같으면 왔던 길로 되돌아가 다른 경로로 진행 보통 재귀 로 구현하며 조건이 맞지 않으면 종료한다. DFS(깊이 우선 탐색) 기반 코드구현 n, m = list(map(int,input().split())) stack = [] def dfs(start): if len(stack) == m: print(' '.join(map(str, stack))) return for i in range(start, n+1): if i not in stack: stack.append(i) dfs(i + 1) stack.pop() dfs(1) 백준 15649번 N과 M 문제의 코드이다. 자연수 N과 M이 주어졌을 때, 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수.. 2021. 6. 22.
TIL 2021/06/22 15일차 DFS 원소를 최대한 깊게 따라가며 탐색하는 방법 즉, 인접한 노드 중 방문하지 않은 모든 노드들을 저장해두고, 가장 마지막에 넣은 노드들만 꺼내서 탐색하면 됨 가장 마지막에 넣은 노드들? → 스택을 이용하여 DFS를 재귀 없이 구현할 수 있다. 구현방법 루트 노드를 스택에 넣는다. 현재 스택의 노드를 빼서 visited에 추가한다. 현재 방문한 노드와 인접한 노드 중 방문하지 않은 노드를 스택에 추가한다. 2부터 반복한다. 스택이 비면 탐색을 종료한다. 코드 구현 def dfs_stack(adjacent_graph, start_node): stack = [start_node] visited = [] while stack: current_node = stack.pop() visited.append(cur.. 2021. 6. 22.