전체태그 보기

#boost camp (24개의 포스트)

koseungbin

Day 20

2019년 8월 9일0개의 댓글
최종 회고 최종의 날이 밝았다. 오전에는 간단히 피어 세션을 진행하였고 오후에는 릴레이 프로젝트와 시연을 하였다. 마지막 날인 만큼 지난 4 주동안 스스로 어떤 고민을 했었는 지 생각해보았다. 부스트 캠프를 왜 했는가? 처음에는 솔직하게 취업 기회가 주어진다고 해서 지원하였다. 하지만, 챌린지 과정에 합격 메일을 받고서는 생각이 달라졌다. ...
koseungbin

Day 19

2019년 8월 8일0개의 댓글
회고 오늘은 HTTP 프로토콜의 Request, Response 규격에 맞춰 응용 계층을 직접 구현해보는 미션이었다. 요구사항은 다음과 같았다. URI/URL 규격 처리 모듈 - URL 구성 규칙은 RFC 1738 따른다. HTTP Request - Node API 중 DNS 모듈 이용하여 도메인 주소를 IP Address 로 변경...
koseungbin

Day 17

2019년 8월 6일0개의 댓글
회고 오늘은 Sync Cafe 주제로 미션이 주어졌다. 바리스타를 하나의 Thread로 보고 주문을 동기적으로 하나씩 커피를 만드는 프로그램을 개발하는 것이었다. 멀티 스레드 방식으로 구현하기 위해, 브라우저에서 지원하는 Web Worker을 이용하여 Tread Pool를 구성하고, 각 스레드(바리스타)가 주문서(Queue)에서 하나씩 pop()하여 커피...
koseungbin

Day 16

2019년 8월 5일0개의 댓글
회고 오늘은 ArrayParser를 구현하는 미션이었다. Object를 만들기 위해, 입력받은 문자열을 Tokenizer, Lexer, Parser 과정으로 처리해야 하는 것이었다. Java의 Jackson 같은 파싱 라이브러리는 사용해보았지만, 직접 구현하려다 보니 막막했다. 우선 Tokenizer, Lexer, Parser이 구체적으로 무엇을 의미하고...
koseungbin

Day 15

2019년 8월 2일0개의 댓글
회고 오늘은 "강의를 진행할 때 도움주는 서비스" 릴레이 프로젝트를 진행하였다. 이번주 요구사항이 있었지만, 지난주에 맡았던 사람들이 각자 브랜치에서 작업하며 코드가 파편화되어 있었다. 따라서 기능 구현보다는 팀원들과 페어 프로그래밍을 진행하며 협업을 해보고자 하였다. 각 팀원은 5~10분동안 화면을 공유하여 드라이버로서 코드 작성을 하였고, 나머지 6명은...
koseungbin

Day 14

2019년 8월 1일0개의 댓글
회고 오늘은 Canvas 대해 학습하고 png 파일로 저장까지 하는 미션을 수행하였다. 브라우저는 2차원 좌표시스템으로 점, 선, 도형, 텍스트, 이미지 등을 표현하고 조작할 수 있게 Canvas API를 지원한다. 이번 미션은 브라우저에서 지원하는 API 아닌, node-canvas 모듈을 이용하여 다양한 도형을 조작해보며 Web Canvas API 표준...
koseungbin

Day 13

2019년 7월 31일0개의 댓글
회고 오늘은 자바스크립트 특징인 비동기 프로그램 실행에 대한 미션이 주어졌고, 비동기적인 동작의 흐름을 학습하였다. 미션 주제는 Call Stack, Event Queue 를 구현해보는 것이었다. 이전에는 비동기가 어느 시점에서 어떻게 동작하는 지를 정확히 인지하지 못한 상태로 개발하며 어려움이 있었고, 특히 Async/await, Promise를 불필...
koseungbin

Day 12

2019년 7월 31일0개의 댓글
회고 오늘 미션은 Git 명령의 동작 방식을 이해하고, 기본 명령 동작을 그대로 구현하는 VM Git을 만드는 것이었다. - File, Commit, Repository, Local, Remote 주요 기능을 담당하도록 module을 나누거나 class로 구분해서 작업한다. - 입/출력을 위한 모듈 외에 모든 기능은 바닐라 자바스크립트로 구현한다. ...
koseungbin

Day 11

2019년 7월 29일0개의 댓글
회고 오늘 미션은 프로그램 테스트 미션으로, Assertion 테스트 모듈 구현해보는 것이었다. 요구 사항에서 비동기 코드에 대한 테스트하는 것이 까다로웠다. 따라서 mocha test framework에서는 비동기 코드를 어떻게 테스트하는지 확인하였다. 또한, 미션 요구사항에는 현재까지 진행한 팀원의 미션 프로젝트 중 하나를 선택하여 테스트 코드 작...
koseungbin

Day 08

2019년 7월 24일0개의 댓글
오늘 미션은 Linux Shell 이용해 Script 파일을 작성하고 파일 압축, 컴파일, 배포해보는 과정이었다. 두 번째 과제로 모든 .js 확장자 파일을 압축하는 Shell Script 작성하는 것이었다. Shell를 이용해서 코드를 작성하려다 보니 상당히 삽질을 했다. 처음 설계는 이랬다. 1. 임시 디렉토리를 생성 2. 재귀적으로 디렉토리를 탐색 ...
koseungbin

Day 07

2019년 7월 23일0개의 댓글
회고 오늘은 대화형 ToDo 관리 프로그램 개발 미션이었다. 요구사항은 스켈레톤 코드를 기반으로 프로그래밍하는 것이었다. 미션이 주어지면 얼른 코드를 작성하고 싶고, 주위에서 키보드 소리가 들리면 조급했다. 주어진 프로그램은 간단해 보였지만, 설계를 제대로 하지 않아 버그가 많이 발생하였다. 주어진 요구사항을 기반으로 함수 단위까지 역할을 따져보는 설계...
koseungbin

Day 06

2019년 7월 22일0개의 댓글
회고 오늘은 Debugging 주제로 미션이 나왔다. 예상하는 결과와 다르거나 에러가 발생하면, 다음과 같은 순서로 버그 원인 파악을 해보았다. 1. 에러 로그를 읽어보고 예상이 가능하면 바로 수정 2. 해당 코드 부분에 BreakPoint 걸어 잘못된 부분이 있는지 확인 3. Call Stack 따라 버그 발생 지점과 원인 파악 4. 조건식 지정하여 ...
koseungbin

Day 05

2019년 7월 20일0개의 댓글
오늘은 첫 번째 릴레이 프로젝트를 진행하였고 8명의 팀원들과 설계하는 과정을 가졌다. 인공지능과 관련된 주제를 선정하여 필요한 기능 명세를 해야했다. 다양한 의견을 토의하는 과정에서 스스로 몇 가지 부족한 점을 느꼈다. 1. 내 의견을 명확하게 전달하지 못함 2. 생각을 정리하지 않고 말하다 보니, 말이 꼬이고 논리적이지 않음 3. 문장 끝을 흐려서 끝냄...
koseungbin

Day 04

2019년 7월 18일0개의 댓글
회고 오늘은 게이트(Nand, Nor, Xor), 반가산기, 전가산기를 구현해보며 디지털 논리회로에 대해 공부하였다.이번 미션에서는 하나의 분명한 책임을 가진 함수 로 만들기 위해 고민하였다. 이를 통해 코드 중복 제거를 할 수 있었고, 코드 가독성이 좋아지는 것을 느낄 수 있었다. 하나의 함수에 여러 기능을 제공하게 되면 가독성뿐 만아니라 재사용성이...
koseungbin

Day 03

2019년 7월 17일0개의 댓글
회고 오늘은 객체와 배열을 통해 데이터 처리 연습을 했다. 그 중에서도 higher order function(고차함수)인 map / filter / reduce 패턴을 직접 구현해보며, 동작 방식을 이해할 수 있었고 몇 가지 유용한 점을 느꼈다. - 각 요소를 개별적으로 작업할 필요없이, 전체 시퀀스를 하나의 단위로 처리가 가능하다. - for, if...
koseungbin

Day 02

2019년 7월 16일0개의 댓글
회고 자바 스크립트 기초 지식인 변수, 연산자, 함수, 스코프를 공부하였다. 미션은 다각형 넓이 구하는 기능을 구현하는 것이었다. 물론 기능 자체가 단순했지만, 함수가 하나의 기능만 제공하도록 고민하며 구현하였다. 함수를 최대한 작은 단위로 구현하며 아래와 같은 장점을 느낄 수 있었다. - 재사용성 향상 : 중복 코드 제거가 가능하고, 수정 사항이 하나...
koseungbin

Day 01

2019년 7월 16일0개의 댓글
회고 오늘은 첫 날인 만큼 개발환경 세팅과 간단한 GCD 구하는 문제를 풀었다. 여러 프로젝트를 경험하며 나름 Git을 잘 다룬다고 생각을 했지만, 한 동안 사용하지 않았더니 명령어 앞에서 망설이고 있었다. 사용 방법은 알고 있으나 내부 동작 방식에 대한 이해가 부족했던 것 같아 레퍼런스를 다시 꼼꼼하게 읽어 보았다. 예전에는 Git 레퍼런스를 봐도 잘 ...