전체 글

전체 글

    뜨겁게 불태웠던 초보 개발자의 2021년 회고

    개발 블로그를 시작하게 된 내용과, 학생의 신분을 벗어나 첫 직장인이 되어 바쁘게 살아왔던 2021년 한해를 회고하려 합니다. 개발 블로그 시작 ✨ 개발 블로그를 시작한 지는 2020년 9월 즈음입니다. 처음 블로그를 시작하게 된 이유는 명확했습니다. 항상 공부하고 나서 1주일만 지나면 모든 걸 하얗게 잊어버리는 나 자신을 보면서 "아, 어딘가에 정리하면 좋을 것 같은데.." 에서 시작되었습니다. 처음에는 단순히 나 혼자만의 정리 노트를 작성하는 느낌으로 게시물을 올렸습니다. 그렇게, 매일 공부한 것들을 정리하고 회고를 하다 보니 게시글은 쌓여만 갔는데 내용의 질은 그렇게 좋지 못하였습니다. 공부하면서 많은 블로그를 통해 정보를 얻었던 것처럼 저 역시도 양질의 내용을 사람들에게 공유하는 것을 늘 꿈꿔왔습..

    [프로그래머스]정수 삼각형 - DP

    https://programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr Top Down 방법 def solution(triangle): height = len(triangle) # Top-down 방법으로 풀이 for i in range(1, height): for j in range(i+1): print(i, j) # 가장 왼쪽의 경우 왼쪽수를 모두 더하면서 내려감 if j == 0: triangle[i][j] += triangle[i-1][j] # 가장 오른쪽의 경우 오른쪽수를 모두 더하면서 내려감 el..

    [프로그래머스]N으로 표현 - DP

    https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr def solution(N, number): # N과 number가 같은 경우라면 1을 반환한다. if N == number: return 1 # N은 최대 8번까지 이용할 수 있으므로, 8개의 set(집합)을 가진 리스트를 만든다. dp = [set() for _ in range(8)] # N을 N번 나열하는 것에 대한 경우를 미리 초기화해서 넣어준다. # 마지막에 추가하지 않는 이유는 해당 수를 사용해서도 사칙연산이 가능하기 때문이다. # [{5}, {55}, {555}, ...] for index, case in enumerate(dp..

    [Storage]Cookie vs Local Storage vs Session Storage 차이점

    웹 개발을 하다보면 자연스레 접하게 되는 Cookie, Local Storage, Session Storage의 차이점에 대해서 포스팅해보려고 합니다. 각각 다르다는 것은 알겠지만, 무엇이 어떻게 다를까요? Cookie 란? 쿠키란 인터넷 사용자가 웹 사이트를 방문할 경우 해당 웹 사이트의 서버를 통해 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일입니다. 주로 팝업창과 같은 경우에 이용될 수 있습니다. Cookie 의 특징 웹 사이트에서 쿠키가 설정되면 이후에 일어나는 모든 웹 요청에 쿠키 정보를 포함시켜 웹 사이트의 서버로 전송합니다. 하나의 사이트에서 저장할 수 있는 최대 쿠키 수는 20개이고, 총 크기는 4KB로 제한되어 있습니다. 쿠키는 만료일자를 지정할 수 있어, 지정된 날짜에 자동으로 제거됩..

    [WAS]WAS 와 Web Server의 차이점

    WAS 란? Web Application Server로, 쉽게 말하자면 WSGI + Application Server의 조합을 의미합니다. 클라이언트로 동적인 컨텐츠를 전달해주는 역할을 수행합니다. (주로 데이터베이스 서버와 같이 수행됩니다) 위의 예시와 같은 프로덕션 환경일 경우, Gunicorn + Django의 조합이 WAS가 됩니다. Web Server 란? Web Server는 클라이언트가 요청을 하면 웹 페이지를 클라이언트로 전달하는 역할을 수행합니다. 클라이언트로 정적인 컨텐츠를 전달해주는 역할을 수행합니다. (Static(CSS, JS, Image)파일을 포함한 HTML 문서) 동적인 컨텐츠에 대한 요청이 들어올 경우 WAS에게 요청합니다. (NGINX -> WSGI -> Django ->..

    [SoC]관심사 분리란?

    관심사 분리란? (Separation of concerns) 컴퓨터 프로그램을 구별된 부분으로 분리시키는 디자인 원칙으로, 각 부문은 개개의 관심사를 해결한다 - 위키피디아 https://ko.wikipedia.org/wiki/%EA%B4%80%EC%8B%AC%EC%82%AC_%EB%B6%84%EB%A6%AC 관심사 분리 - 위키백과, 우리 모두의 백과사전 컴퓨터 과학에서 관심사 분리(separation of concerns, SoC)는 컴퓨터 프로그램을 구별된 부분으로 분리시키는 디자인 원칙으로, 각 부문은 개개의 관심사를 해결한다. 관심사란 컴퓨터 프로그램 코드 ko.wikipedia.org 현업에서 개발을 하다보면 처음에는 단순한 기능에 불과했던 것들이 요구사항과 기능들이 추가됨에 따라서 점점 복잡..

    [프로그래머스]여행경로 - DFS/BFS

    https://programmers.co.kr/learn/courses/30/lessons/43164# 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr DFS 알고리즘 이용 from collections import defaultdict def solution(tickets): # 특정 티켓의 인접 리스트를 구하는 함수 # 즉, 도착지가 여러개인 경우를 1가지로 모아줌 # defaultdict(, {'ICN': ['SFO', 'ATL'], 'SFO': ['ATL'], 'ATL..