책
-
스즈메의 문단속 읽었어요.책/독서 2023. 3. 11. 21:32
영화 개봉 전에 책이 읽고 싶다기보다는 사고 싶어서 사서 읽었어요. 사실 그냥 책이 사고 싶었어요. 책깔피도 받음. 오랜만에 책 읽으니까 새롭고 재밌네요. 묘사를 너무 잘해줘서 머릿속에서 그림이 그려졌는데 상상 속의 그림과 영화가 맞는지 궁금해져서 봐야겠어요. 판타지 느낌이 있어서 상상이 잘 안되다가 훈련이 됐는지 중반부터 상상이 됐어요. 저도 글을 이렇게 적을 수 있으면 좋겠어요. 근데 문어체가 조금 오글거리긴 해요. 재밌긴 했는데 판타지는 제 취향이 아닌가봐요. 다음엔 딴 거 볼래요. 영화까지 보면 이제 프랑스 극빈층 탈출 안녕 https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=308764211&start=we 스즈메의 문단속 규슈의 조용한 마을에서 이모와 함..
-
ADHD 2.0 읽었어요.책/독서 2023. 3. 4. 23:30
이전에 인터넷을 떠돌다 추천하는 글을 보고 구매했는데 방치해두다 오랜만에 꺼내 읽었어요. 책의 제목 그대로 ADHD 에 대해서 다룬다. 요즘엔 널리 쓰이는 단어여서 낯설지는 않은 것 같다. 중간중간 의학 용어가 나오긴 하지만 읽기 어려운 편은 아니다. 비약물적인 치료 방법에 대해서 설명해 주는데 나중에 다시 보고 천천히 테스트해 볼 만해 보인다. 좋아하는 사람 또는 가족이 ADHD 라면 특히 아이가 ADHD 라면 이해하는 데 도움이 될 것 같다. 실제로 ADHD 가 있는 아이의 부모의 예시가 자주 나오는데 부모 입장에서 읽으면 적용시킬 수 있는 치료법도 있어 보인다. 나만 왜 이럴까라는 생각을 하고 살 수도 있는데 읽는 내내 너는 문제가 있는 사람이 아니라고 말하고 위로해 주는 느낌을 받았다. https..
-
1장. 타입스크립트 알아보기책/misc 2022. 7. 17. 21:23
1장. 타입스크립트 알아보기 아이템 1~5 아이템 1. 타입스크립트와 자바스크립트의 관계 이해하기 모든 JS 프로그램은 이미 TS 프로그램이다. 반대로, TS는 일반적으로 유효한 JS프로그램이 아니다. 코드의 의도가 무엇인지 타입 구문을 통해 타입스크립트에게 알려줄 수 있기 때문에 코드의 동작과 의도가 다른 부분을 찾을 수 있다. TS는 JS 런타임 동작을 모델링하는 타입 시스템을 가지고 있기에 런타임 오류를 발생시키는 코드를 찾아내려고 한다. 모든 오류를 찾아낼 순 없다. 타입 체커를 통과하면서도 런타임 오류를 발생시키는 코드는 존재할 수 있다. 아이템 2. 타입스크립트 설정 이해하기 cli 가 아닌 설정 파일(tsconfig.json)을 사용하자. 팀원과 공유하기 위함. 엄격한 체크를 하고 싶다면 s..
-
48장. 모듈책/모던 자바스크립트 딥다이브 2022. 7. 10. 20:07
48장. 모듈 48-1. 모듈의 일반적 의미 모듈이란 애플리케이션을 구성하는 개별적 요소로서 재사용 가능한 코드 조각을 말한다. 모듈이 성립하려면 모듈은 자신만의 파일 스코프를 가질 수 있어야 한다. 모듈은 개별적 존재로서 애플리케이션과 분리되어 존재한다. export 된 모듈의 자산은 다른 모듈에서 재사용할 수 있다. 이때 공개된 모듈의 자산을 사용하는 모듈을 module consumer라 한다. 48-2. 자바스크립트와 모듈 이전에 JS는 import, export를 지원하지 않아 여러 개의 파일로 분리하여 script 태그로 로드해도 분리된 자바스크립트 파일들은 결국 하나의 자바스크립트 파일 내에 있는 것처럼 동작한다. 이러한 상황에서 제안된 것이 CommonJS, Asynchronous Modul..
-
47장. 에러 처리책/모던 자바스크립트 딥다이브 2022. 7. 10. 20:06
47장. 에러 처리 47-1. 에러 처리의 필요성 에러가 발생하지 않는 코드를 작성하는 것은 불가능하다. 따라서 언제나 예외적인 상황이 발생할 수 있다는 것을 전제하고 이에 대응하는 코드를 작성하자. 47-2. try … catch … finally 문 console.log('start...'); try { foo(); } catch (e) { console.log(e); } finally { console.log('finally'); } console.log('end...'); 47-3. Error 객체 Error 생성자 함수가 생성한 에러 객체는 message, stack 프로퍼티를 갖는다. message는 Error 생성자 함수에 인수로 전달한 에러 메시지, stack은 에러를 발생시킨 콜 스택의 ..
-
33장. 7번째 데이터 타입 Symbol책/모던 자바스크립트 딥다이브 2022. 7. 10. 20:06
33장. 7번째 데이터 타입 Symbol 33-1. 심벌이란? Symbol은 ES6에서 도입된 7번째 데이터 타입으로 변경 불가능한 원시 타입의 값이다. Symbol 값은 다른 값과 중복되지 않는 유일무이한 값이다. 주로 이름의 충돌 위험이 없는 유일한 프로퍼티 키를 만들기 위해 사용한다. 33-2. 심벌 값의 생성 Symbol 함수 다른 원시 값은 리터럴 표기법을 통해 값을 생성할 수 있지만 심벌 값은 Symbol 함수를 호출하여 생성해야 한다. 이때 심벌 값은 외부로 노출되지 않아 확인할 수 없으며, 다른 값과 절대 중복되지 않는 유일무이한 값이다. const mySymbol = Symbol(); console.log(typeof mySymbol); // symbol console.log(mySymb..
-
알림 시스템 설계책/misc 2022. 7. 9. 16:11
알림 시스템 설계 알림 시스템은 단순히 모바일 푸시 알림(mobile push notification)에 한정되지 않고 모바일 푸시 알림, SMS 메시지, 이메일 세 가지로 분류할 수 있다. 1. 요구사항 분석 어떤 종류의 알림 지원할 것인지? - 푸시 알림, SMS 메시지, 이메일 실시간 시스템(real-time) 시스템인가? - 연성 실시간(soft real-time) 어떤 종류의 단말 지원할 것인지? - iOS, Android, desktop 사용자에게 보낼 알림은 누가 만드는가? - 클라이언트 애플리케이션 프로그램 또는 서버 측에서의 스케쥴링 알림을 받지 않도록(opt-out) 설정 가능한가? - 가능해야 함. 하루에 몇 건의 알림이 필요한가? - 1,000만 건 모바일 푸시, 100만 건 SMS..
-
분산 시스템을 위한 유일 ID 생성기 설계책/misc 2022. 7. 9. 00:04
분산 시스템을 위한 유일 ID 생성기 설계 ‘auto_increment’ 속성이 설정된 RDB의 기본 키를 쓰면 되지 않을까? 라고 생각할 수 있다. 분산 환경에서 이 접근법은 통하지 않는다. DB 서버 한 대로는 그 요구를 감당할 수 없다. 여러 데이터베이스 서버를 쓰는 경우에는 지연 시간을 낮추기가 무척 힘들 것이다. 요구사항 책에서의 요구사항에 맞춰 구현해보자. ID는 유일해야 한다. ID는 숫자로만 구성되어야 한다. ID는 64비트로 표현될 수 있는 값이어야 한다. ID는 발급 날짜에 따라 정렬 가능해야 한다. 초당 10,000개의 ID를 만들 수 있어야 한다. 개략적인 설계안 다중 마스터 복제(multi-master replication) DB의 auto_increment 기능을 활용한다. 다만..