1장 웹과 네트워크의 기본에 대해 알아보자 1.1 웹은 HTTP로 나타낸다 웹 브라우저에 www.naver.com을 입력하면 우리는 네이버라는 웹 페이지를 볼 수 있다. 입력란에 지정된 URL을 통해 네이버 서버로부터 index.html이라는 리소스를 받게 되기 때문이다. 요청을 하는 웹 브라우저등을 클라이언트라고 하고 요청을 받아서 응답하는 쪽을 서버라고 한다. 클라이언트와 서버간의 통신은 HTTP라는 프로토콜을 기반으로 이루어진다. 1.2 HTTP는 이렇게 태어났고 성장했다. 1.2.1 웹은 지식 공유를 위해 고안되었다 1989년 3월에 HTTP는 탄생했다. CERN(유럽 입자 물리학 연구소)의 팀 버너스 리는 멀리 떨어져 있는 동료 연구자와 지식을 공용하게 할 수 있는 시스템을 고안하였는데 이것이 ..
2회차 6장 기본적인 리팩터링 함수 추출하기 function printOwing(invoice) { printBanner(); let outstanding = calculateOutstanding(); console.log('...'); console.log('...'); } function printOwing(invoice) { printBanner(); let outstanding = calculateOutstanding(); printDetails(outstanding); } function printDetails(outstating) { console.log(`채무액: ${outstanding}`); } 목적과 구현을 분리한다. 하나의 일, 하나의 책임만 갖도록 만들자. console.log를 어..
나는 왜 개발자를 직업으로 선택했을까 이 질문의 답을 찾기 위해서는 나의 어린 시절을 돌아봐야 할 것 같다. 어릴적의 나는 학원에 다니며 컴퓨터 게임을 좋아하는 평범한 학생이었다. 학교에 다니다 보면 계속 작성해야 했던 것이 있었는데 매년 장래희망을 적는 종이를 받았던 것 같다. 장래희망? 나는 장래희망에 대해 딱히 생각해본 적이 없었다. 부모님께서 나에게 ‘아들, 한의사가 돼서 엄마, 아빠 치료해주면 얼마나 좋을까~?’ 이런 얘기를 하셨는데 그때부터 나의 장래희망란은 한의사라는 단어가 차지했던 것 같다. 중학교를 졸업하고, 고등학교에 진학하게 되었는데 대학에 진학하기 위해서는 내신 점수가 매우 중요하다는 것을 알게 되었고 그 당시의 나는 공부에 크게 흥미가 없었기 때문에 이때부터 장래희망란에 한의사라는..
이번달에 접하게 된 책은 '우아한 타입스크립트 with 리액트' 라는 제목의 책입니다. 우아한 형제들에서 근무하고 계시는 프론트엔드 개발자분들께서 함께 집필한 책이기 때문에 관심이 많이 갔는데요. 책 표지에서도 '배달의민족 개발 사례로 살펴보는 우아한형제들의 타입스크립트와 리액트 활용법'이라고 설명하고 있습니다. 일반적으로라면 우아한 형제들에서 일하는 개발자분과 커피챗을 통해 나눌만한 얘기들을 책에서 확인할 수 있어서 재밌었습니다. 이 책은 웹 개발의 역사부터 시작해서 어떠한 문제를 해결하기 위해 타입스크립트가 탄생하게 되었는지에 대한 이야기로 시작하고 있습니다. 타입스크립트의 기본적인 문법을 살펴보고, 그 이후에 심화 타입을 살펴보면서 우아한 형제들에서는 어떻게 적용했는지, 그리고 리액트라는 라이브러리..
- 1, 2, 3 순서대로 N 길이의 수열을 만들기 - check 함수를 만드는 방식 let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split(' '); const N = Number(input); let isOver = false recursive('1'); function check(num) { const length = num.length; for (let idx = 1; idx
나는 왜 개발자라는 직업을 하고 있나 이 질문의 답을 찾기 위해서는 나의 어린 시절을 되돌아봐야 할 것 같다. 나는 어렸을 때 특별하다고 얘기할 것 없는 정말 평범한 학생이었다. 부모님 속썩이는 것 없이 남들처럼 학원에 다니며 게임을 좋아하는 학생이었다. 성격은 꽤 소심했던 것 같다. 새로운 친구들을 만나거나, 새로운 모임에 참여했을 때 먼저 말을 꺼내기보다 조용히 듣고 있다가 누군가 나에게 질문을 하면 대답을 하곤 했는데 붉어지는 얼굴은 옵션이었다. 그래도 정말 친한 친구들 사이에서는 오히려 장난을 심하게 치고 말도 많은 편이었는데 MBTI로 따지면 나는 I였던 것 같다. 학교에 다니다 보면 계속 작성해야 했던 것이 있었는데 매년 장래희망을 적는 종이를 받았던 것 같다. 장래희망? 나는 장래희망에 대해..
const N = 4; const point = [ [0, 1, 2, 3], [4, 0, 5, 6], [7, 1, 0, 2], [3, 4, 5, 0], ]; const startTeam = []; let linkTeam = []; const half = N / 2; const visited = Array(N).fill(0); let min = Infinity; dfs(0); console.log(min); function dfs(index) { // 종료 조건, 원하는 데이터의 형태가 만들어 졌을 때. if (index === half) { let sumOfStartTeam = 0; let sumOfLinkTeam = 0; // 스타트팀에 속하지 않는 사람은 링크팀에 넣는다. for (let i = 1;..