프로그래밍 37

노마드스터디 [리액트 4기 2주차] 주간회고

기간 : 2024.2.21 ~ 2024.2.27 요약 : 루틴이 답이다. 이번 주 목표 하루 2~3시간 스터디 스켸쥴 지키기 결과 : 매일 평균적으로 1.5시간의 공부시간을 지켰다. 새롭게 알게 된 것 : 리액트 10주 스터디 챌린지가 예전에 참여했을 때 보다 수월함을 느낀다. 재택근무를 하고있어서 그런지 출퇴근할 때보다 시간적 여유가 있어서 그럴 것이다. 그럼에도 불구하고 일찍자고 일찍 일어나는 것이 참 안된다. 이 상태로 출퇴근하게되면 루틴 개박날나는 것이 불보듯 뻔한데 큰일이다... 그런데 재택근무를 하면서 새롭게 알게 된 것이 하나 있다. "일찍자는 것"은 생각처럼 행동하기 어려운 능력이라는 것이다. 늦게자는 이유는 "과제를 못해서", "일이 아직 안끝나서", "게임하려고", "영화보려고" 등의 ..

노마드스터디 [리액트 4기 1주차] 주간회고

기간 : 2024.2.19 ~ 2024.2.21 요약 : 리액트강의를 처음듣는 것이 아닌데 새로운 느낌이 든다... 이번 주 목표 하루 2~3시간 스터디 스켸쥴 지키기 결과 : 이틀 지켰다. 새롭게 알게 된 것 : 이번 리액트 10주 스터디 4기는 3번째 도전이다. 2번째 도전은 스켸쥴링 실패로 어쩔 수 없이 포기했지만 이번 기수에는 복습겸, 확실하게 공부해서 제대로 된 결과를 낼 것이다. 강의를 처음 들었을때와 지금의 학습효율의 차이는 체감의 정도가 다르다. 일단 이틀동안 useState의 개념을 확실히 이해했고, 앞으로 업무에 써먹을 생각을하니 흥미가 생겼다. 지금까지 백앤드개발자로써 일을 했지만 프론트엔드쪽을 완전 무시할 수는 없었다. 리액트나 뷰 2개중 하나는 확실하게 알고 있어야 협업과 1인창업..

노마드 개발자 북클럽 (클린코드: 클래스)

책에서 기억하고 싶은 내용. 클래스는 작아야 한다. 클래스가 맡은 책임은 하나여야한다. 클래스는 확장에 용이하고 수정에 폐쇄적으로 만들어야한다. 읽고난 후의 생각. 매우 따분하고 지루한 파트다. 애초에 지저분하게 코딩하는 것을 싫어해서인지 소개된 글의 내용은 너무 당연하게 느껴졌다. 사실, 기술적인 부분이 있을 줄 알았으나 그저 원론적인 내용이라 생각이 들었고 시간 아깝다고 느꼈다. 클래스라는 것 자체가 왜 존재하는지 조금만 생각해보면 지저분하게 코딩 할 이유도 없다. 자바를 처음 배울 때 클래스부분에서 강조됐던 내용이 결합도와 응집력이다. 하지만 따분하고 지루하지만 똑같은 얘기를 계속 하는 것은 그만큼 중요하기 때문이니 항상 인지하고 있어야 한다고 생각한다. 결론은 영어를 공부하면 웬만한 문제는 전부 ..

노마드 개발자 북클럽 (클린코드: 단위테스트)

책에서 기억하고 싶은 내용. 학습 테스트에 드는 비용은 없다. 어쩄든 API를 배워야 하므로...... 오히려 필요한 지식만 확보하는 손쉬운 방법이다. 학습 테스트는 이해도를 높여주는 정확한 실험이다. 깨끗한 테스트 코드를 만들려면? 세 가지가 필요하다. 가독성, 가독성, 가독성. 어쩌면 가독성은 실제 코드보다 테스트 코드에 더더욱 중요하다. 이런 테스트 API는 처음부터 설계된 API가 아니다. 잡다하고 세세한 사항으로 범벋괸 코드를 계속 리팩터링하다가 진화된 API다. 실제 코드를 점검하는 자동화된 단위 테스트 슈트는 설계와 아키텍처를 최대한 깨끗하게 보존하는 열쇠다. 테스트는 유연성, 유지보수성, 재사용성을 제공한다. 테스트 케이스가 있으면 변경이 쉬워지기 때문이다. 읽고난 후의 생각. TDD에 대..

노마드 개발자 북클럽 (클린코드: 오류처리)

책에서 기억하고 싶은 내용. 오류 코드보다 예외를 사용하라. Try-Catch-Finally 문부터 작성하라. 미확인 예외를 사용하라. 예외에 의미를 제공하라. 호출자를 고려해 예외 클래스를 정의하라. 정상 흐름의 정의하라. null을 반환하지 마라. null을 전달하지 마라. 읽고난 후의 생각. Try-Catch-Finally 문은 에디터가 오류라고 알려줘서 써야한다고 하기 전까지는 직접 써본 적이 없었다. 그리고 오류를 '던진다'라는 말이 감으로는 알았지만 왜 그렇게 표현을 하는지는 알지 못했다. 메소드 명에 throw를 쓰면 어떤 처리가 되는건지 원론적인 이유만 알고 있었다. 개발할 때는 의식하지못하고 그려려니 썼던 코드들에 대한 궁금증이 드는 파트였던 것 같다. 그러나 이 궁금증도 지금 연차가 ..

노마드 개발자 북클럽 (클린코드: 객체와 자료구조)

책에서 기억하고 싶은 내용. 활성 레코드는 자료구조로 취급한다. 비즈니스 규칙을 담으면서 내부 자료를 숨기는 객체는 따로 생성한다. 객체는 동작을 공개하고 자료를 숨긴다. 자료구조는 별다른 동작 없이 자료를 노출한다. 읽고난 후의 생각. SI로 자바개발을 메인 기술로 일하고있는데도 이번 파트는 제대로 이해가 되지 않았다. 그저 막연하게 개발만 해왔고 깊이있는 공부를 하지 않은 것이 원인이라고 생각한다. 나는 기술에 대해 깊이있는 공부를 하지 않은채로 경력이 쌓여가는 현상을 '물경력' 이라고 말하기로 했다. 1~3년차에 끝냈어야할 JAVA 심화과정(?)을 늦은 지금에서야 공부를 시작한다. 궁금한 내용 또는 이해되지 않는 내용 메모. 없음.

노마드 개발자 북클럽 (클린코드: 형식 맞추기)

책에서 기억하고 싶은 내용.맹목적인 형식 맞추기 보다는 형식을 맞추는 목적에 초점 코드 형식은 의사소통의 일환으로 생각하고 이에 맞는 형식을 가지고 적용 오늘 구현한 기능이 다음 버전에서 바뀔 확률은 아주 높음읽고난 후의 생각.형식 맞추기는 다른사람 편하게 보라고 지키기보단 내가 편할려고 지키는 경우가 더 많았다. 특히 '형식맞추기'는 HTML의 태그관계를 파악할 때 정말 중요하게 적용된다. 가로세로 줄정리가 되어있지 않다면 눈으로 일일이 태그들을 점검하는 수 밖에 없다. 이 작업은 단순하지만 매우 피곤한 작업임을 해보면 안다. 문장중에 가장 눈에 들어오는 문장은 '오늘 구현한 기능이 다음 버전에서 바뀔 확률이 아주 높음' 이다. 레거시코드를 읽다보면 과거에는 어떻게 개발을 해왔는지 알 수 있는데 근래의..

노마드 개발자 북클럽 (클린코드: 주석)

책에서 기억하고 싶은 내용.주석은 기껏해야 필요악이다. 코드를 잘 짜면 주석은 거의 필요 없다 부정확한 주석은 아예 없는 주석보다 훨씬 더 나쁘다. 주석은 함수나 변수로 표현할 수 있다면 달지 않는 것이 원칙이다.읽고난 후의 생각.주석에 대한 나의 생각은 연차별로 다르다. 1~3년차정도에는 주석을 쓰지 않아서 많은 문제가 발생했었는데 5년차 이후부터는 오히려 주석을 줄이고 있다. 그래서 요즘은 크게 3단계로 나눠서 코딩을한다. 1단계는 생각이 나는대로 코딩을하고 주석을 다는 것 2단계는 적어둔 주석을 보고 코드를 줄이는 것 3단계는 함수명이나 변수명으로 코드를 설명하도록 명칭을 수정하는 것. 물론 급하면 3단계는 종종 생략한다. 하지만 이 단계별 습관이 몸에 익혀질수록 전체 흐름이 기억에 더 잘 남게되고..

노마드 개발자 북클럽 (클린코드: 함수)

책에서 기억하고 싶은 내용.소프트웨어를 짜는 행위는 여느 글짓기와 비슷하다. 논문이나 기사를 작성할 때는 먼저 생각을 기록한 후 읽기 좋게 다듬는다. 초안은 대개 서투르고 어수선하므로 원하는 대로 읽힐 때까지 말을 다듬고 문장을 고치고 문단을 정리한다. (P.61)읽고난 후의 생각.함수라는 파트를 아주 잘 정리한 한 문장이라 생각한다. 오늘 회사에서 프로젝트에 필요한 공통기능인 순수 자바스크립트로 DB를 이용한 '버튼 공통모듈화' 작업을 시작했다. 하지만 성급한 마음만 앞서다보니 간단한 설계하나 제대로 못한 채 퇴근 30분전까지 아무 성과가 없었다. 위의 잘 정리된 한 문장을 잘 곱씹어볼 때인 것 같다. 궁금한 내용 또는 이해되지 않는 내용 메모.없음

노마드 개발자 북클럽 (클린코드: 의미 있는 이름)

책에서 기억하고 싶은 내용.의도를 분명히 밝혀라 그릇된 정보를 피하라 의미 있게 구분하라 발음하기 쉬운 이름을 사용하라 검색하기 쉬운 이름을 사용하라 인코딩을 피하라 자신의 기억력을 자랑하지 마라 기발한 이름은 피하라 한 개념에 한 단어를 사용하라 말장난을 하지 마라 의미 있는 맥락을 추가하라 불필요한 맥락을 없애라메서드 이름은 동사나 동사구가 적합하다. (p.32)클래스 이름과 객체 이름은 명사나 명사구가 적합하다. (p.32)코드를 읽을 사람도 프로그래머라는 사실을 명심한다. (p.34)\좋은 이름을 선택하려면 설명 능력이 뛰어나야 하고 문화적인 배경이 같아야 한다. (p.38)읽고난 후의 생각.2장의 소제목들은 하나도 놓칠게 없다. 코딩을 그만둘때까지 뼈에 새길 내용들이라고 생각한다. 코딩은 협업을..