본문 바로가기

분류 전체보기

(71)
3주차 전반부 월요일 화요일 양일간 정말 한계를 본 것 같다. 매번 '오늘이 정말 역대급이야'라고 생각하는데, 오늘은 정말 충격적인 날이었다. 하루를 정말 열심히 살았기 때문에 더 크게 느껴지는 것 같기도 하다. 체크리스트를 전부 No로 체크하고, 새벽 3시까지 붙잡고 있었지만, 두 문제 중 한 문제도 해결하지 못했다. 그래서 오늘 하루 뭐라도 얻어가야겠다는 마음으로 왜 하필 오늘 이렇게 힘들었는지 곰곰히 생각해 보았는데, 약점을 발견 할 수 있었다. 하나는, 익숙한 영역에서 익숙하지 않은 것을 배우는 것을 매우 어려워한다. Django 기반 백엔드 엔지니어로 1년 반을 일하면서, 객체지향, 절차적, 동기적 프로그래밍에는 익숙해졌지만, 함수형, 비동기 프로그래밍은 처음 공부하는 것이라 기존 지식에 반하는 거부감을 느..
프로세스와 스레드 오늘은 OS, Process, Thread, Scheduling에 관한 내용이다. 워낙 많이 들어봐서 익숙하지만, 또 막상 마주하면 어려운 친구들이다. 우선 프로세스는 CPU가 처리하는 작업(Task)라고 생각할 수 있고, 실행중인 프로그램을 의미한다. 프로세스는 프로그램을 실행하면 생성되고, 프로그램을 종료하면 소멸한다. 프로세스는 프로그램을 실행하는데 필요한 데이터와 메모리 등의 자원, 쓰레드로 구성되어 있다. 좀 더 구체적으로 디스크에 저장되어 있던 실행 가능한 프로그램이 메모리에 적재되어 운영체제가 관리하는 상태를 의미한다. 근데 컴퓨터에는 하나의 프로세스만 있는게 아니다. 수십 수백 수천 수만개의 프로세스가 동시에 실행되고 있다. 이 프로세스들은 각각 독립된 메모리 영역을 가지고 있어, 서로 영..
8일차 정리 챌린지 기간은 뭐 매일이 힘들지만, 어제는 컨디션이 많이 안좋았다. 목이랑 허리도 너무 아프고... 이사가면 의자부터 바꿀꺼다. 그러다보니 집중도 안되고 뭐... 그렇게 어려운 과제가 아니었음에도, 퍼포먼스가 평소의 절반도 안나온 듯 했다. 아무튼 학습내용은 정규표현식과 테스트코드였다. 규식이 형이야 워낙 예전부터 사용해왔지만, 항상 쓸때마다 다시 공부했었는데, 이번기회에 제대로 공부해둔거 같다. 문제는 테스트코드였는데, 예전에 TS로 nest.js를 할때 경험한적이 있어서 나는 당연히 매우 간단하게 짤수있을 줄 알았다. 근데 여기서 3시간정도 삽질을 하게 되는데... 문제는 js의 모듈 임포트 시스템에 대한 이해도 부족이었다. 우선 다음과 같이 install 했다. npm i --save-dev jes..
함수형 프로그래밍 말은 많이 들어봤던 함수형 프로그래밍, 제대로 들여다본건 이번이 처음이다. 생각보다 오래된 개념이며, 제대로 이해한다면 도움이 될 것이 분명해 보였다. 와 근데 진짜 정말 너무 어려웠다. 내가 여지껏 경험했던 프로그래밍 개념들 중 단연 가장 어려웠던 것 같다. 함수형 프로그래밍이란, 함수 중심 프로그래밍이라고도 볼 수 있는데, 자료처리를 수학적 함수의 계산으로 표현하고, 상태와 가변 데이터 대신 불변 데이터를 프로그래밍하는 패러다임이다. 그동안은 프로그래밍에서의 함수는 수학에서의 그것과 많이 다르다고 배워왔는데, 함수 중심 프로그래밍 패러다임에서는 드디어 수학적 함수의 정의와 비슷한 함수의 정의가 된다. 여기서 말하는 "불변 데이터"가 진짜 날 미치게했다... 근데 결국엔 어떤 함수가 외부 환경으로부터 ..
두번째 주 시작 월요일부터 빡센 하루였다.그래도 오늘은 과제를 모두 마무리해서 아주 기분이 좋다. JS는 진짜 이상한 언어야.. 라고 생각하면서 배움의 니즈를 느꼈음에도 외면했던 날들을 후회하면서, 이번 기회에 과제를 하며 알음 알음 공부를 해보니 생각이 조금은 바뀌는 것도 같다. prototype도 오늘에야 처음으로 나름 깊게 들여다봤는데, 역시 모든것엔 다 이유가 있고, 널리 쓰이는 것에는 의미가 있는 모양이다. 하루종일 올라오는 캠퍼분들의 질문들과 양질의 자료들을 다 소화못해서 속상하지만, 그래도 이만하면 됐지 라고 생각하기도 한다. JS 프로토 타입의 상속을 정리한 글을 붙이며 글을 줄여야겠다. 매우 졸리다. 프로토타입 상속 prototype pattern이 상당히 재밌었지만, 이번에 처음 써보는 거여서 어색했다..
첫째주 회고 오늘로 네이버 부스트캠프 5일차, 챌린지 첫주째가 종료되었다. 사이드프로젝트를 같이 진행하면서 정말 열심히한거 같다. 확신을 못하는 이유는, 이제와서 돌아보니 조금 더 열심히, 그리고 효율적으로 할 수 있을것 같다는 생각이 조금 들어서... 에자일에서 회고하는 3L방식으로 간단히 회고를 해보려고 한다. LIKED (잘한점) 주어진 과제를 75% 이상 완료했다. 4번째 과제가 아주 미진하다... 이번 주말에 다른분들의 코드를 학습하면서 채워넣자 적응했다. 새벽까지 공부하는거 + 부캠이 돌아가는 시스템 적응함 다른사람이 보기 좋은 코드를 짜려고 노력한거 같다. (주석다는거 포함해서) 두명이 나갔음에도 세명끼리 잘 해냈다! 지친 일정에도 포기하지 않고, 일정을 잘 지켰다. (아직은) 건강을 지켰다. LEARN..
Tokenizer, Lexer, Parser... Compiler? 항상 19시 전에 과제를 제출했지만, (그래봐야 이틀) 오늘(어제)는 진짜 정말 너무 힘들었다. 과제를 처음 받아들었을때도 이해가 되지않았지만, 계속 반복해서 읽으면서 더 이해가 안됐다. ATS... 몰랐는데 컴파일링시 주로 쓰이는 자료구조라고 한다. 우리가 매일 편하게 쓰고있는 것들, 라이브러리나, 알고리즘 등등... 수많은 근본 천재 개발자분들이 만들어두신 편한 길 위에 내가 있구나, 다시금 깨달았다. 그분들의 노고를 조금이나마 이해하고자 정말 열심히 작업했다. 익일 2시가 넘어서야 겨우 과제를 완성할 수 있었지만, 참 보람찼다. ATS는 tokenizer -> lexer -> parser 순으로 주어진 구문을 분석한다고 한다... 각각의 역할을 간단하게만 알아보면. - tokenizer : 주어진 ..
둘째날, 알고있다고 착각하는 것 어제도 잠을 설쳤다. 너무 피곤한데 이대로 잠들기는 너무 아까워서 유튜브를 딱 30분만 보려했는데 잠드는데 실패... 아무튼 오늘은 처음으로 피어세션도 가져보고 과제도 두개나 나왔다. 오늘 교육의 주요 골자는 ubuntu 다루기였다. 사실 나는 회사에서도 많이 다뤄봤고, 사플에서 혼자 서버를 만드는 동안 삽질을 많이 해봐서 잘 알고있다고 생각했다. pc에 가상서버를 하나 띄우고 ssh접속해서 코딩까지 어려움이 없었다. 근데 요구사항 중 하나인 가상환경에서 크롬을 띄우고 스크린샷을 찍는 것에서 엄청 어려웠다... 사실 이런종류의 경험은 한적도 없었다. 그리고 크롤링이었는데 크롤링도 사실 익숙한 것이다. 근데 익숙해서 얼마나 까다로운지도 알고있었다. node의 cheerio와 puppeteer를 사용했는데,..