# 불편한 점을 찾고 개선하기 대부분의 사람들은 조금은 불편해도 그냥 크게 개의치 않고 불편함을 안고 가는 경우가 많은 것 같다. 회사 내부의 어드민 기능을 보다가 꽤나 비효율적인 것 같다는 생각이 들었고 업무 속도를 단축시키기 위해 개선할 수 있는 부분을 찾았다. 그래서 개선해야지~ 라고 생각을 하고 있었는데 마침 동료분께서 이러한 불편함이 있어서 개선이 되었으면 좋겠다고 말씀해주셔서 타이밍이 신기했다. 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
# 회사 숙소에서 생활하기 이번 주에 해야 할 일이 조금 있기도 하고 출/퇴근하는 시간이 아까워서 오늘은 회사 숙소에서 잤다. 지금은 숙소에서 자고 일어나서 사무실로 와서 글을 쓰고 있다. 회사 숙소가 사무실 맞은편이라 사무실까지 오는 데 5분도 걸리지 않아서 엄청 편했다. 앞으로 한 주에 하루, 이틀정도는 회사 숙소를 효율적으로 잘 이용해야겠다.
# 영양제 꾸준히 다시 먹어보기 오늘 하루는 푹 쉬었다. 그리고 문득 방을 둘러보다가 쌓여있는 영양제를 발견했다. 원래 영양제를 잘 챙겨 먹었을 때가 있었는데 나는 몸에 잘 맞는 편이라 피로에 있어서 효과가 꽤 괜찮았던 것 같다. 그러다가 하루씩 먹는 걸 빼먹고 귀찮아져서 쌓아놓고 있었는데 다시 챙겨 먹기 시작했다. 그대로 쌓아두는 게 아까워서 다시 먹어봐야겠다.
# 멤버십 모임 한 주 회고와 짝 프로그래밍을 진행했는데 회고에서 얘기할 내용이 적어서 이번주는 의식적으로 많은 학습을 하지 못했다는 생각이 들었다. 다음 모임에서는 배운 것에 대해서도 많은 얘기를 해봐야겠다. 짝 프로그래밍은 너무 좋았고 항상 의식하고 배우게 된다. 혼자서 TDD로 수련을 하면서 생각을 연습하고 코딩도장에 결과물을 올리자!
# 프로젝트 폴더 구조를 지역성의 원칙에 따라 구성하기 리액트 프로젝트를 할 때 보통은 src 폴더 아래에 assets, components, hooks, pages, utils와 같이 구성을 하게 되는데 기능별로 구조를 나누는 것도 필요한 모듈들을 가까운 곳에 위치시킴으로써 필요한 파일을 찾을 때 편리하다는 느낌을 받을 수 있었다. 둘 다 장단점이 존재하는 것 같지만, 최근에는 기능별로 나누는 게 조금 더 마음에 든다. https://ahnheejong.name/articles/package-structure-with-the-principal-of-locality-in-mind/ http://www.javapractices.com/topic/TopicAction.do?Id=205