이번달에 접하게 된 책은 '우아한 타입스크립트 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;..
밖에서 돌아다닐 때 서점이 보이면 항상 들어가서 개발 서적을 구경하고는 하는데, 개발 서적이 있는 쪽으로 가기 전에 망그러진 곰이 시선을 사로잡아서 도저히 지나칠 수 없었다. 그래서 구매했는데 엄청 만족스럽다. 여러 가지 주제가 있고 각 주제마다 3~4p 정도의 만화로 구성이 되는데 자기 전에 보면 기분이 너무 좋다! 귀엽다~~
원티드 챌린지를 듣다가 현석님께서 예전에는 10개중에 3개만 잘하면 됐다면 이제는 10개중에 1개만 못해도 안되는 상황이라는 얘기를 해주셨는데 많이 와닿았던 것 같다. 그만큼 기술에 관련해서는 하나의 빈틈이라도 허용한다면 이제는 살아남을 수 없구나 싶었다. 매 순간 의미있는 선택을 해야하고 비즈니스 요구사항을 해결하기 위한 최고의 방법을 찾아내야 한다.(물론 어려운 일이지만) Next.js에서 적용할 수 있는 렌더링 방식중에는 ISR이 있다. ISR은 실제로 어떻게 적용이 되는걸까? HTTP Header의 Cache-Control, s-maxage, stale-whilte-revalidate 네트워크 지식이 중요하다는 것을 제대로 느낄 수 있었다.
첫 번째 예시 공연료 청구서를 출력하는 코드 예시 import plays from "./plays.json"; import invoices from "./invoices.json"; function getInvoiceCustomer(customer) { return `청구내역 (고객명: ${customer})\\n`; } function statement(invoice, plays) { let totalAmount = 0; let volumeCredits = 0; let result = `청구내역 (고객명: ${invoice.customer})\\n`; // let result = getInvoiceCustomer(invoice.customer); const format = new Intl.NumberF..