정글사관학교 개발일지 89

정글사관학교 8일차 TIL: Dynamic Programming(DP), 외판원 순회 문제(TSP)

0. 목차 1. Dynamic Programming (DP) 2. 외판원 순회 문제(TSP) 어제는 일요일이었기에 TIL을 생략하고 8일차 TIL을 업로드한다. 그렇다고 어제도 공부를 하지 않은 것은 아니었는데, 어제부터 시작해 오늘까지 하루종일 괴롭혔던 건 외판원 순회 문제(TSP)였다. 먼저 외판원 순회 문제에 대한 설명을 읽어보자. 1번부터 N번까지 번호가 매겨져 있는 도시들이 있고, 도시들 사이에는 길이 있다. (길이 없을 수도 있다) 이제 한 외판원이 어느 한 도시에서 출발해 N개의 도시를 모두 거쳐 다시 원래의 도시로 돌아오는 순회 여행 경로를 계획하려고 한다. 단, 한 번 갔던 도시로는 다시 갈 수 없다. (맨 마지막에 여행을 출발했던 도시로 돌아오는 것은 예외) 이런 여행 경로는 여러 가지..

정글사관학교 6일차 TIL: 재귀, 정렬 알고리즘

오늘은 총 7 문제를 풀었다. 어제 하루만에 스무 문제 넘게 풀었던 것에 비하면 아쉬운 성적표다(난이도는 어제가 낮긴 했다.) 하루종일 발목을 붙잡았던 문제는 N-Queen 문제와 수 정렬하기 3 이 두 문제였다. 각각 재귀, 정렬 알고리즘으로 푸는 문제다. 1. 재귀 알고리즘 어떤 이벤트에서 자기 자신을 포함하고 다시 자기 자신을 사용하여 정의될 때 이를 '재귀(recursion)'라고 한다. 이 개념을 활용하면 계속해서 자신이 반복되는 이벤트를 명료하고 간단하게 정의할 수 있다. 예시로 자연수의 정의를 보자. - 1은 자연수이다. - 어떤 자연수의 바로 다음 수도 자연수다. 여기까지만 보면 간단해 보이는데..N-Queen 문제는 쉽게 와닿지 않더라. 하노이의 탑까지도 어찌어찌 해냈다만 N-Queen은..

SW사관학교 정글 WEEK01(5일차) 후기

"보니까 신소재공학과를 전공하셨던데 학부 때는 패션 디자인 쪽을 건드렸고. 대학원 와서는 경영 쪽을 건드리고. 창업도 하고. 그러면 신소재는 왜 계속하신 거예요?" 면접이 끝나고 질문을 복기하던 중, 의장님께서 면접에서 가장 먼저 던진 질문이 계속 마음에 남았다. 그간 나는 어떤 인생을 살아왔던 걸까. 서류 제출에 그간 자신이 살아온 이력을 쭉 적는 칸이 있었다. 대학교 입학 때를 기점으로 무엇을 하고 살았나 쭉 적어봤다. 생각보다 많은 걸 했다 싶으면서도 고작 열 몇 줄로 요약되는 삶에 허탈한 느낌도 들더라. 그나마 굵직한 사건들 위주로 적었다. #재수 후 대학교 입학 2014.03 - 2014.12: 인하대학교 신소재공학과 입학(1학년) # 패션 디자이너를 꿈꾸던 시절 2015.01 - 2015.06..

정글사관학교 4일차 TIL: 알고리즘 풀이, 문제해결이란 무엇인가

첫날부터 흡사 정글에 있는 듯한 기분을 느끼게 했던 0주차 프로젝트가 끝나고 어제 목요일, 1주차 알고리즘 풀이에 들어섰다. 자료구조/알고리즘 문제를 공부하며 컴퓨팅 사고로 전환하는 것이 앞으로 4주 간의 목적이다. 알고리즘은 연구실에 있던 시절에 취미로 조금씩 풀어봤던 터라(그래봤다 한 30문제 풀었나..) 약간 익숙하긴 했지만 그래봤자 기초 수준이었다. 이번 주에 주어진 문제는 총 36문제. 어제 2시간 + 오늘 하루종일 해서 푼 문제는 25문제였다. 골드바흐의 추측 문제를 제외하면 다 풀기는 했다만 속도가 그렇게 빠르다고 느끼지는 않아 앞으로도 연습이 많이 필요할 것 같다. 모든 문제를 리뷰하기보다 풀면서 기억해두면 좋은 스킬 + 좋다고 생각한 문제 리뷰 정도로 진행하려 한다. 1. 기억해두면 좋은..

정글사관학교 3일차 TIL: 프로젝트 결과 발표

드디어 00주차 프로젝트가 끝이 났다. 막판에는 웹사이트를 구현하는데 집중하다보니 배운 것을 소화할 시간이 1도 없었던 터라.. 아쉬운 대로 발표했던 장표를 올려 TIL 내용을 대체한다. 프로젝트: 개발일지(TIL) 기록&공유 웹사이트 목차는 다음과 같다. 기획의도 정글에서 주어진 시간은 5개월, 해야 할 공부량은 주 100시간 분량이다. 이럴 때 정글에 떨어진 우리가 살아남는 방법은 함께 공부하는 것이라 생각했다. 하지만 각자 공부한 내용을 각자 블로그에 저장하다보니, 서로가 어떤 걸 공부했는지 접근성이 매우 떨어진다. 이를 한데 모아 볼 수 있도록 한 게 이번 프로젝트의 기획 의도다. 프로젝트 목표 이번 프로젝트에서 이루고 싶은 목표는 "좋은 개발자란 무엇인지 경험하기"였다. 프로젝트를 진행하는데 있..

정글사관학교 2일차 TIL: 로그인 - 쿠키&세션

0. HTTP HTTP란? HTTP 프로토콜은 인터넷 상에서 데이터를 주고받기 위해 서버/클라이언트 모델을 따르는 통신규약을 말한다. 주로 HTML 문서를 받는데 쓰이며, 클라이언트/서버 사이에 이루어지는 요청/응답 프로토콜이다. - 클라이언트(웹브라우저): HTTP를 통해서 서버에게 웹페이지, 그림, 텍스트 등의 정보를 요청하는 사이드. - 서버: 클라이언트의 요청에 응답해서 필요한 정보를 해당 사용자에게 전달하는 사이드. => 웹에서 쓰는 클라이언트/서버 개념은 HTTP라는 통신규약에서 나왔다! HTTP 특징: 비연결성 & 비상태성 위의 특징을 설명하기에 앞서, 목적부터 생각해보자. 서버와 클라이언트는 원격으로 연결되어 있을 것이다. 그 사이에 정보가 계속 오고가면 갈수록 자원 낭비(전기부터 시작해서..

정글사관학교 1일차 TIL: Jinja2, 서버 사이드 렌더링(SSR), Git branch, 로그인 - 쿠키&세션

0. 0주차 플젝: 미니 프로젝트 첫 주차에서는 자율 주제로 웹사이트를 만드는 과제를 수행한다. 입학시험 때 배운 기술들을 토대로, 3박 4일간 미니 프로젝트를 완성해보세요. 과제에서는 두 가지 제약사항이 있었는데 1) Jinja2를 이용한 서버 사이드 렌더링 방식으로 웹페이지 구현 2) 로그인 기능 구현 1. Jinja2 Jinja2는 플라스크에서 제공하는 템플릿 엔진이다. 처음에 doc를 읽었을 때만 해도 Django에서만 지원하는 건가?했는데 플라스크에 기본적으로 내장되어 있다고 한다. 설치를 해줘야 한다고 하기도 하고 내장되어 있다고도 하는데 일단 설치 방법은 아래와 같다. 설치 방법: pip install Jinja2 (*pycharm에서 다루면 preference에 들어가서 설치하면 됨!) J..

정글사관학교 첫 날 후기 - 장병규 의장님, Jinja2, 서버 사이드 렌더링(SSR), Git branch, 로그인 - 쿠키&세션

0. 시작 전 첫 날이 밝았다. 오전 11시까지 도착인 줄 알고 아침부터 이사하느라 정신없었는데 알고보니 오후 1시까지 도착이었다는.. 그래도 일찍 알아채서 엄마랑 누나랑 매형과 점심도 같이 먹고 짧게나마 좋은 시간 보내고 왔다. 1. 시작 기대 반 걱정 반 정글은 예상했던 것보다 훨씬 가슴을 뛰게 하는 무언가가 있더라. 장병규 의장님이 OT를 시작하면서 했던 말씀이 가슴에 남는다. 정글의 목표는 단기적으로는 협력사 혹은 그와 동등한(or 그 이상의) 회사에 보내는 것이다. 중장기적으로는 억대 연봉을 찍는 것. 단순히 돈을 많이 받게 하자가 중요한 게 아니라 성과로 평가받는 회사에서 훌륭한 개발자로 성장했으면 하는 바람이 그득 담겨 있었다. 2. 바로 플젝 이미 정글 커리큘럼이 어떤지 요모조모 많이 찾아..

SW정글사관학교 3기 합격 후기!

1. Intro 지난 8월 말, 1년간 운영해왔던 창업팀에서 나오기로 했다. 정말 많이 고민한 끝에 결정을 내렸지만, 막상 저 말을 하기까지도 입이 쉽사리 떨어지지 않았다. 그만두게 된 이유야 여러 가지가 있지만 개인적으로 아쉬웠던 점은 진정성과 전문성이었다. AI 딥테크 스타트업을 운영한다는 대표가 프로덕트에 대한 이해도가 떨어진다는 게 말이 되지 않았다. 그 수준이 최소한 고객의 눈높이와는 동등했어야 했는데 우리의 고객은 산업계 경험이 있는 AI 엔지니어다 보니 그것 또한 쉽지 않았다. 배우면 된다는 마인드는 오히려 프로의 그것과는 거리가 멀었다. 공학으로 석사까지 전공했지만 짧은 시간 안에 빠르게 따라잡기에는 무리가 있었다. 창업팀을 나오겠다고 다짐하면서, 다음 커리어에서는 디지털 제품에 대한 이해..