# 불편한 점을 찾고 개선하기 대부분의 사람들은 조금은 불편해도 그냥 크게 개의치 않고 불편함을 안고 가는 경우가 많은 것 같다. 회사 내부의 어드민 기능을 보다가 꽤나 비효율적인 것 같다는 생각이 들었고 업무 속도를 단축시키기 위해 개선할 수 있는 부분을 찾았다. 그래서 개선해야지~ 라고 생각을 하고 있었는데 마침 동료분께서 이러한 불편함이 있어서 개선이 되었으면 좋겠다고 말씀해주셔서 타이밍이 신기했다. DRY. 불필요한 것을 반복적으로 하지 않고 항상 어떻게 하면 개선할 수 있을까? 하고 생각을 하는게 중요한 것 같다. 고여있으면 안된다.
# SMS API를 활용하여 휴대폰 인증 간단하게 붙이기 간단하게 휴대폰 인증을 할 일이 생겨서 2가지 선택지를 고민 했는데 1. NICE아이디 휴대폰본인확인, 2. SMS API 활용하여 인증 2번을 선택하여 NCloud의 Simple & Easy Notification Service를 사용하기로 했다. (프론트는 Next.js, 백은 NestJS를 사용한다.) 제공해주는 API 명세를 보고 그대로 사용해야 하는데 헤더값중에 x-ncp-apigw-signature-v2 값을 어떻게 넣어줘야 하는지 처음에 이해가 잘 안됐다. 설명에는 - 위 예제의 Body를 Access Key Id와 맵핑되는 SecretKey로 암호화한 서명, - HMAC 암호화 알고리즘은 HmacSHA256 사용 이렇게 나와 ..
# 보이스카우트 원칙 리팩토링은 '나는 언제 해야지!' 하고 날을 잡아서 하는게 아니다. 항상 개발중에 하는 것, TDD에서는 테스트를 통과시키고 진행한다. 그리고 하나의 싸이클은 매우 짧은 주기를 가진다. 개발을 할 떄 적어도 이전보다 코드를 더럽히는 것은 안된다고 생각을 한다. 그리고 용기를 내서 리팩토링할 수 있어야 한다. 이는 테스트 코드를 전제로 한다. 지속적으로 높은 소프트웨어 품질을 만들어 가고 싶은 욕심이 많이 생겼다. 꾸준한 학습도 곁들어져야 한다.
# 빨리 배우려면 어떻게 해야 할까요 (영상을 보고) 실전이 중요하다. 그리고 응용을 해야 한다. 고민하고 또 고민하기. 응용하면 게시판에서 배달의 민족도 만들 수 있다. 당해보면 더욱 많이 배운다. 공부는 원래 지옥같이 괴롭다. 그래야 빨리 배운다. https://youtu.be/_QyyDcOkyoE
p.50~62 함수 호출 - 메소드 호출 패턴, 함수 호출 패턴, 생성자 호출 패턴, apply 호출 패턴. this가 각각 어떻게 바인딩 되느냐. 함수 호출 패턴의 경우에 전역 객체에 this가 바인딩 되는 것은 설계상의 오류, 원래 상위 this에 바인딩이 되어야 한다. 객체에서 내부 함수를 사용하는 경우에는 ES6 이전에는 var that = this; 와 같이 사용했다. arguments, 유사 배열 객체. 예외 - throw, try/catch
~p.50 읽어보고 싶어서 중고로 구해서 읽어봤다. ES6 이전의 내용을 다루다보니 그래 2023년에는 이런것도 생겼다고! 하면서 보게 된다. 블록 주석은 정규 표현식과 겹칠 수 있어서 사용을 권하지 않는다. 자바스크립트 내의 모든 문자는 16비트 유니코드. Object.prototype.hasOwnProperty로 객체 본인의 프라퍼티를 구분할 수 있다.
p.136~146 예외가 발생했을 때, 클라이언트가 다루는 방법을 모른다면 예외를 던진다. 예외보다는 클라이언트에 부드러운 값(런타임에 터지지 않는)을 전달할 수도 있다. 유효성 검사는 자동 테스트, 사전 조건은 비즈니스 로직을 다루는 테스트에 의해 수행. 속성 기반 테스트, jqwik과 같은 프레임워크 좋아보인다!