분류 전체보기
9-22[재정비] 프로젝트 재검토
TIL 가계부 프로젝트 진행한 내용을 순서대로 곱씹어 보았다. 아직 전체 내용을 다 작성하진 않았지만 밑의 사진처럼 정리도 진행 중 지금까지 했던 프로젝트들을 하나하나 다시 볼 필요도 있을 것 같다. prefetched_related나 select_related 등을 프로젝트에서 사용해 본 것을 찾아보려고 했는데 장고 닌자로 학습하였던 저장소 이외의 곳에서는 찾지 못하였다. lazy loading과 관련된 부분이어서 중요도가 있다고 생각되는데 위에서 설명한 저장소는 너무 이해도가 떨어질 때 수행했던 것 같아서 해당 내용을 녹여서 기능을 하나 만들어 봐야겠다. 추가적으로는 CS 지식에 대해서 알고 있는 내용 위주로 더 깊게 자료들을 찾아보고 발표 동영상도 찾아보는 시간을 가졌다. 위 내용들이 중요한 내용이..
9-20[개념정리] 토큰 관련 개념 재정리 및 알고리즘 복습
TIL 스택 등 자료구조를 직접 구현해보았음 해당 문제 관련하여 최근에 수행한 코딩 테스트에서 문제로 나왔었는데 stack에 내용이 없을 때의 예외처리 같은 것을 길이를 기준으로 하여 너무 생각 없이 했다는 것을 느낌 class Node: def __init__(self, data): self.data = data self.next = None class Stack: def __init__(self): self.head = None def push(self, value): if self.is_empty(): new_head = Node(value) self.head = new_head new_head = Node(value) new_head.next = self.head self.head = new_he..
[생각] Session, JWT token 항상 jwt가 옳을까?
프로젝트를 진행하다보면 인가 방식에대해서 세션방식을 사용하게 될지 토큰 방식을 사용하게 될지에 대해서 결정하고 커스텀하는 경우를 거치게 된다. 장고 프로젝트의 기본 인증, 인가방식은 세션방식을 따르게 되고 이를 커스텀하여 jwt 방식으로 바꾸는 방식으로 학습하게 되는 경우가 대부분이기 때문에 처음 학습을 진행하는 입장에서는 세션방식은 기능적으로 나쁘고 jwt 방식은 좋다고 생각을 할 수 있다. 하지만 위에 표현한 전제는 잘못된 내용이라고 생각할 수 있다. session과 jwt는 방식의 차이가 있고 서비스가 확대되고 다수의 서버를 사용하게 되는 환경의 변화때문에 jwt가 좋다고 생각되는거지 각각의 장단점이 있는 인가 방식으로 생각해야되는 것이 맞으며 이를 jwt의 관점에서 장단점으로 간략하게 정리해보겠다..
9-18[알고리즘] 복습 - 링크드 리스트 구현 심화, 이진탐색, 재귀함수, 정렬 등
TIL 이해 안 되었던 부분들을 다시 복습하면서 이해하며 학습하는 시간을 갖는 중 복습하는 강의자료에 있는 자료구조를 직접 만들어보는 코드나 만들 때 확인하는 순서에 집중 이런 내용을 최근 수행한 코딩테스트에서 겪어보니 더욱 와닿음 링크드 리스트 구현 업데이트 class Node: def __init__(self, data): self.data = data self.next = None class LinkedList: def __init__(self, value): self.head = Node(value) def append(self, value): cur = self.head while cur.next is not None: cur = cur.next cur.next = Node(value) def ..
9-17[알고리즘] 강의 복습
TIL 알고리즘 공부를 계속해오다가 등의 개념과 자료구조들을 한 번씩 다시 복습하는 것도 도움이 많이 될 것으로 생각하여 복습하는 시간을 가졌다. 시간 복잡도 코드가 실행될 때 걸리는 시간의 복잡도 상수의 변화량보다는 지수의 변화량에 집중하여 판단할 것 공간 복잡도 해당 코드가 사용하는 물리적인 공간의 크기를 나타내어 보는 것 시간 복잡도와 효율에 크게 영향을 미칠지 생각해보면 시간 복잡도가 더 큰 영향을 줄 때가 많다. 그리고 이렇게 효율성을 평가할 때 점근 표기법이라는 것을 사용하게 되고 보통은 최악의 성능이 나올 때의 경우를 생각하는 빅오 표기법으로 표현을 한다. 이것 이외에 기초적인 내용을 복습하였으며 그중에서 소수의 판별 에라토스테네스의 체를 이용하여 다이내믹 프로그래밍을 생각해서 다시 코드 구..
9-14[코딩테스트] 테스트 간단 회고
TIL YGY 코딩 테스트 준비와 수행을 하였다. 테스트 내용을 유출하면 안 되기 때문에 준비했던 내용과 어떤 방식의 문제가 나왔는지만 간략하게 회고해보도록 하겠다. 준비는 알고리즘 공부 방법을 대략적으로 세운 것을 토대로 입출력, DP, 그래프, 이분 탐색/삼분 탐색, 분할 정복, 그리디, 완전 탐색의 문제들을 각 2문제씩 풀고 테스트를 시작하였다. 연습 테스트 결과 테스트 케이스에 맞게 답안을 작성하여 제출했는데도 불구하고 11%의 정답률이 나왔다. 처음 사용해보는 테스트 환경인 것 그리고 예제 테스트 코드와 다른 형태의 내부 테스트 코드의 갭을 잘 생각하면서 문제를 풀어야겠다고 생각을 하였고 실제 테스트를 진행하였다. 문제를 유출시키지 않는 한도 안에서 후기를 간단하게 설명해 보자면 첫 번째 문제는..