전체보기 106

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

책에서 기억하고 싶은 내용. 오류 코드보다 예외를 사용하라. 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장의 소제목들은 하나도 놓칠게 없다. 코딩을 그만둘때까지 뼈에 새길 내용들이라고 생각한다. 코딩은 협업을..

노마드 개발자 북클럽 (클린코드: 추천사 ~ 1장. 깨끗한 코드)

책에서 기억하고 싶은 내용. 시간을 들여 깨끗한 코드를 만드는 노력이 비용을 절감하는 방법일 뿐만 아니라 전문가로서 살아남는 길이라는 사실을 인정하리라 (p.6) 나쁜 코드의 위험을 이해하지 못하는 관리자 말을 그대로 따르는 행동은 전문가답지 못하다. (p.3) 기한을 맞추는 유일한 방법은, 그러니까 빨리 가는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다. (p.7) 논리가 간단해야 버그가 숨어들지 못한다. 의존성을 최대한 줄여야 유지보수가 쉬워진다. (p.9) 중복을 피하라. 한 기능만 수행하라. 제대로 표현하라. 작게 추상화 하라. (p.14) 새 코드를 짜면서 우리는 끊임없이 기존 코드를 읽는다. 비율이 이렇게 높으므로 읽기 쉬운 코드가 매우 중요하다. (p.18) 보이스카우트 ..

vim ~/.zshrc 자주쓰는 명령어 정리

terminal에서 vim을 쓸 때마다 구글링에 시간을 너무 많이 쓴다. 최소한 사용방법 정도는 알아둬야겠다는 생각이 든다. vim를 써보며 자주썼던 명령어를 정리해봤다. ~/.zshrc vim으로 열기 vim ~/.zshrc vim 텍스트 변경 시작 i vim 텍스트 변경 종료 esc vim 텍스트 변경사항 저장 :w vim 텍스트 변경사항 저장하고 vim 종료 :wq vim 텍스트 변경사항 저장하지 않고 vim종료 :q! ~/.zshrc 소스 반영하기 source ~/.zshrc