일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 좋은 리더란
- XFrameOptions
- 구로 디지털 단지 사무실
- iframe
- select css
- javascript
- 리더
- 동료리뷰
- css
- React
- 개발자
- select tag
- ai로 앱 만들기
- 2인 사무실
- 구로 공유 오피스
- JS
- Domination Game
- 테드스페이스
- turborepo
- Regexp
- 빠른 서버
- typescript
- 느린 서버
- Django
- 스타트업
- multiprocessing
- PM
- html
- python
- 공유 오피스
- Today
- Total
목록분류 전체보기 (42)
개발하는 일상
왜 Overloading이 필요할까? typescript에서 함수를 정의하다보면 인자를 어떻게 주느냐에 따라 return type이 다르게 잡혔으면 싶을 때가 있습니다. 예를 들면, function read(str?: string) { return str } const word = read('hello world') // string | undefined 여기서 함수 read의 return type은 str에 의해 결정되는 것이 아니라 항상 string|undefined 형태의 union type을 갖습니다. 즉, word의 type은 string | undefined 입니다. 'hello world'의 type은 string인데도 말이죠. 이럴때 함수를 여러번 쌓아서 정의하면(overloading) 문..
브라우저의 히스토리가 아래와 같이 쌓여있다고 해보겠습니다. // ['/', '/post/1', '/post/2'] 여기서 함수 foo를 실행하면 어떻게 될까요? function foo () { history.go(-1) // 1 history.pushState({}, null, '/post/3') // 2 } 1이 먼저 실행되고, 2가 실행되면 히스토리는 아래와 같이 구성됩니다. // ['/', '/post/1', '/post/3'] 하지만 실제로는 2가 먼저 실행되고, 1이 실행되어 아래와 같은 히스토리를 갖게됩니다. // ['/', '/post/1', '/post/2..
개발 역량 이 글에서는 어떤 기능을 얼만큼의 시간을 들여 개발할 수 있는지를 말합니다. 개발 역량 알아내기 매일 일을 시작하기 전, 오늘 얼만큼의 일을 처리할 것인지 목표를 정합니다. 목표는 디테일하게 잡을수록 좋습니다. 하루가 끝났을 때 목표를 얼마나 달성했는지 확인합니다. 목표를 달성하지 못했다면, 이유를 분석해 작성하고, 해결방법이 있다면 같이 작성합니다. 다음날이 되면, 어제의 피드백을 참고해서 다시 목표를 정하고 반복합니다. 개발 역량을 알아낼 수록 좋은 점 개발 일정 산출에 오차가 줄어듭니다. 잘못 잡은 일정을 지키기위해 밤을 새거나 하는 일이 줄어듭니다. 목표를 달성하기 위해 피드백을 하는 과정을 통해 역량이 늘어나게 됩니다. 보통 사람은 자신의 역량보다 높게 목표를 잡는 경향이 있기 때문입..
아래 코드의 결과를 예측해보세요. const foo = '12,4,15,163,51'.split(','); const bar = foo.map(parseInt); console.log(bar); 아래 코드와는 결과가 다를까요? const foo = '12,4,15,163,51'.split(','); const bar = foo.map((num)=>parseInt(num)); console.log(bar); 첫 번째 코드의 결과는 [ 12, NaN, 1, 1, NaN ] 두 번째 코드의 결과는 [ 12, 4, 15, 163, 51 ] 입니다. 이유는 map과 parseInt가 어떻게 정의되어 있는지를 보면 알 수 있습니다. // map map(cal..
https://gitcabinet.com/ 문제를 풀면서 Git을 익힐 수 있는 프로젝트입니다. 이 프로젝트의 개발기입니다. Gitcabinet Git을 쉽게 배워보세요🍮 gitcabinet.com 조금 발칙한 이유로 시작 3주 정도 회사에서 재택 기간이 주어졌습니다. 대담하게 제주도로 (몰래) 떠나서 일을 해야겠다고 생각했고, 3주 동안 혼자서도 할 수 있는 일을 고민했습니다. 강의를 주로 하니까, 강의에 도움이 되는 자료를 개발을 통해서 만들면 되겠다 싶었습니다. 대표님과 이것저것 얘기하다가 학생들이 git을 자꾸 이상하게 쓰니까, 그 부분에서 뭔가 만들면 어떻겠냐는 아이디어가 나왔습니다. 그걸 해보기로 했고, 빌미로 3주간 잠적에 성공할 수 있었습니다. 벤치마킹한 사이트 css의 flexbox 개념..
stackoverflow.com/questions/16261635/javascript-split-string-by-space-but-ignore-space-in-quotes-notice-not-to-spli 이 글은 위 질문의 답변을 해석한 내용입니다. 먼저 코드 const command = "git commit -m 'hello world'" const splitedCommand = command.match(/(?:[^\s']+|'[^']*')+/g) console.log(splitedCommand) // ['git', 'commit', '-m', "'hello world'"] CLI스럽게 문자열 나누기..