일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- TypeScript
- 2024년 회고록
- 와글와글
- configservice
- type-safe configservice
- mysql
- 회고록
- 타입스크립트
- typeorm
- npm
- configmodule
- 굿바이 2024년
- 코딩테스트
- TypeScript 타입챌린지
- 백엔드
- node.js
- Type Challenge
- typescript type challenge
- nestjs
- 해커톤
- 타입 챌린지
- 회고
- mysql boolean
- 스터디
- network
- 이펙티브 타입스크립트
- 월간cs
- HTTP
- 타입챌린지
- microsoft azure openai
- Today
- Total
iamkanguk.dev
[회고] Node.js 교과서 개정2판에서 오류가 발생한 걸 찾아냈다! 본문
1. 개요
발견은 엊그제 한 것 같은데 오늘 쓰는 이유는... 곧 다가올 면접이 있어서 늦어졌다.
사실 대단한 내용은 아니어서 쓸까 말까 고민했는데,, 그래도 책 제작자와 실제로 얘기를 나눠보면서 문제를 해결한게 처음이어서 신기하기도 하고 면접때문에 마음이 싱숭생숭 해서 잠깐 쉴겸 적어보려고 한다.
제로초님의 Node.js 교과서 개정2판을 평소에 시간날 때 읽으면서 좀 깊게 공부를 해보고 있다. 공부를 하는 와중에 오류가 발생한 부분을 찾아내서 GitHub Issue를 통해 연락을 드려 수정 요청을 보냈다.
특별하게 내용이 관심이 없으신 분들을 위해 GitHub Issue 링크를 드리도록 하겠다.
https://github.com/ZeroCho/nodejs-book/issues/801
[개정2판 P.132-133] prime.js 코드에 대한 설명 오류 확인요청 · Issue #801 · ZeroCho/nodejs-book
안녕하세요 제로초님! 책을 읽는 도중 한 가지 궁금한 점이 생겨 Issue 남깁니다. prime.js 에서는 변수로 min을 2로, max로 1000만을 설정해주었습니다. 이후 generatePrimes에 파라미터로 start와 range를 받
github.com
2. 어떤 문제가 있었는지?
worker_thread 부분을 공부하던 와중에 A부터 B 사이에 소수가 몇 개 있는지 확인하는 코드를 가지고 설명하는 부분이 책에 담겨있었다.
하지만 코드와 코드를 설명하는 텍스트의 불일치가 보였다.
const min = 2;
const max = 10000000;
const primes = [];
function findPrimes(start, range) {
let isPrime = true;
const end = start + range;
for (let i = start; i < end; i++) {
for (let j = min; j < Math.sqrt(end); j++) {
if (i !== j && i % j === 0) {
isPrime = false;
break;
}
}
if (isPrime) {
primes.push(i);
}
isPrime = true;
}
}
console.time('prime');
findPrimes(min, max);
console.timeEnd('prime');
console.log(primes.length);
위의 코드를 설명하는 텍스트에는 "2부터 1,000만까지의 숫자 중에 소수가 모두 몇 개 있는지를 알아내는 코드입니다." 라고 적혀있습니다. 하지만 코드를 보면 end가 start와 range를 더한 값이기 때문에 정확하게는 "2부터 1000만1 까지의 숫자 중에 소수가 모두 몇개있는지~" 가 맞는 표현이라고 생각했다. (물론 아래 사진처럼 다른 표현으로도 바꿀 수 있다)
3. 해결 완료!
챙피하지만... 웃겨서 넣었다. 10000001을 계속 1001만이라고 해서 제로초님이 뻘쭘하시는 듯한 모습이 보였다.... 계속 필자가 1001만이라고 해서 제로초님이 "1001만은 10000001의 오타인거죠? 이번에도 그렇게 쓰셔가지고요" 라고 적어주셨는데 이 말도 필자는 이해를 못했다 ㅋㅋㅋㅋ (진짜 멍청.....)
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 제로초님께서 1000만1이라고 말씀해주셔서 그제서야 할게 되었다. 감사합니다 제로초님..!
결국은 코드 수정으로 결정을 하신 것 같았다.
4. 후기
이렇게 책의 내용 중에 잘못된 부분을 바로 잡고 책 제작자분에게 연락을 드려서 수정요청을 드려보았다.
이슈가 성공적으로 접수된 것을 보니까 뭔가 뿌듯했다. (오픈소스 기여는 아니지만 뭔가 기여를 했다 느낌?)
그냥 심심해서 블로그 한번 써봤다. 읽어주셔서 감사합니다~! (똥글...)
'회고록' 카테고리의 다른 글
[회고] [월간CS] 모던 자바스크립트 Deep Dive 스터디가 끝나고.. (10) | 2024.10.14 |
---|---|
[회고] [월간CS] 이펙티브 타입스크립트 발표 스터디를 마치고.. (1) | 2024.06.30 |
[회고] 제 2회 가천대학교 와글와글 해커톤 참여 후기 (1) | 2024.02.20 |
[회고] 2023년을 보내면서... 첫 회고를 써본다! (2) | 2024.01.01 |
[회고] 늦었지만 외주를 해보고 작성해보는 회고! (2) | 2023.12.05 |