[WEEK 6] C언어 자료구조와 SQL 구현
파이썬에서 C언어로 넘어오며 익숙해지려고 Linked list의 기본 구조를 바탕으로 포인터와 malloc, free 연습을 했다. 이번 문제들은 그닥 어렵지 않아서 전부 풀 수 있었는데, 그래서인지 오히려 어셈블리어나 내부 구조에 더 관심이 생겼던 것 같다. 어셈블리어로 코드가 어떤 식으로 메모리를 활용하는지 뜯어보고,…
[WEEK 5] 알고리즘 마지막 주차
이번 주차의 알고리즘 키워드는 다음과 같다: Dynamic Programming(동적 계획법), Greedy Algorithm(탐욕 알고리즘). 전반적으로 지난 주차들에 다루었던 접근 방식과 크게 다르지 않아 적응하는 데 어려움은 없었다. DP는 이름만 거창할 뿐 사실상 재귀에 메모 기능을 더한 것과 다를 바 없었고, 그…
파이썬 내부구조 파악하기 - 컴파일러/인터프리터
파이썬은 내부적으로 CPython으로 구성되어 있어, C언어의 컴파일 과정을 살펴보면 그 구조를 파악하기 쉽다. 우선 C언어의 컴파일 과정은 다음과 같다: 1. 소스 코드를 Preprocessor가 이 붙은 구문들에 따라 치환하고 붙여넣어 준다. 2. 그렇게 만들어진 .i로 끝나는 새로운 C언어 파일을 컴파일러가 받는다.…
라이브러리를 읽는 법 (feat. Virtual DOM)
개발을 하다 보면 남이 쓴 코드를 읽고, 새로운 기술을 도입할 때 그 정확한 역할과 동작을 파악하기 위해 방대한 코드를 따라가며 이해해야 하는 경우가 많다. 이번 Virtual DOM을 구현하면서 남의 코드를 어떻게 학습해야 하는지 감이 잡혔다. 이론은 명저를 통해 다지고, 실습은 깃허브에 올라온 실제 서비스의 코드를 읽…
[WEEK 3] 알고리즘, 팀 프로젝트2
이번주 알고리즘의 키워드: 이분 탐색, 분할 정복, 퀵정렬, 머지정렬, 스택, 큐, 우선순위 큐, 연결 리스트, 해시 테이블 이번주도 저번이랑 비슷했다. 가장 어려웠던 건 '중' 난이도 문제들이 저번보다 까다로워져서 반 정도밖에 못 풀었다는 점이다. 부족한 실력을 채우려고 리트코드에서 '하'와 '중' 사이 난이도의 문제들…
[Week 2] 알고리즘과 AI 팀프로젝트
AI 시대에 알고리즘을 왜 배워야할까? 나는 이전 세대의 사람들이 알고리즘을 공부해왔다는 이유만으로 관성처럼 똑같이 하는 분위기가 싫었다. AI 시대에는 새로운 공부 방법이 등장해야 한다는 사실에 동의한다. 그래서 무언가에 익숙해지기 위한 '최소한의 절대 시간'을 넘기면 학습 곡선이 급격하게 올라가는 구조를 만들고 싶었다…

정글에세이
기본기가 탄탄한 개발자가 되고 싶다! 항상 그렇게 생각했지만 기본기가 뭔지 모르겠고, 막상 이론을 배워도 이게 실제로 쓰이나? 싶은 생각에 머릿속에 남지 않는 경우가 많았다. 이론과 실전을 잇는 무언가가 있으면 좋겠다고 생각했는데, 정글 커리큘럼이 내 생각과 딱 들어맞는다고 생각해서 참여하게 되었다. 또한 정글에서 강조하…
