개발 공부

    코드 리뷰 조금 이해하기

    이글은 카카오스토리 팀의 코드 리뷰 도입 사례 – 코드 리뷰, 어디까지 해봤니? 라는 글을 읽고 제 맘대로 정리한 글입니다.ㅎ 제가 경혐한 코드 리뷰는 학생 연구원 당시 코드를 짜고서 부족하다고 느낄 때 사수에게 도움을 요청, 코드에 대한 여러 수정 사항을 말해주시면 그에 대한 의견을 나누고 고치는 것이 최대 였다. 팀은 문화로 코드 리뷰를 하지않았고 사실 서로간의 의견을 나누기보다 아 그렇군아 하면서 바꾸는 수준이었다. 그래서 그런지 코드리뷰라는 문화에 대한 환상이 있는 것 같다. 코드 리뷰 방식과 주의점 등을 정리해볼려고 한다. 리뷰 없이는 머지되지 않도록 제한 master, develop 브랜치로는 바로 푸시하지 못하도록 push 깃훅 추가 프로젝트를 클론할 때, 깃훅을 반드시 설치하도록 강제함 컨..

    4.[Clean Code] 주석

    저는 학생연구원으로 일을 할때 레거시 프로젝트 기능 추가를 한적이 있는데 그때 레거시 코드에 잘못된 주석이 많아서 고생한적이 있었습니다. 그런데 프로젝트가 크고 잘못된 주석이 많다보니까 다 고칠 용기가 안나서 제가 추가해야하는 기능에 관련된 부분들의 주석만 고치고 기능을 추가하고 끝냈던 적이 있네요. ㅠㅠ 이책의 저자는 코드만이 정확한 정보를 주며 주석은 때때로 거짓말을 해서 최소화 하는게 좋다고 표현합니다. 또한 주석은 나쁜 코드를 보완하지 못하니 나쁜 코드를 수정하라고 하죠. // 직원에게 복지 혜택을 받을 자격이 있는지 검사한다. if((employee.flags & HOURLY_FLAG) && (employee.age >65)) if(employee.isEligibleForFullBenefits(..

    3. [Clean Code] 함수

    위 사진은 우아한 테크코스에서 교육생들에게 내주는 과제의 조건이다. 사실 1주차 내용이기에 간단하지만 주차가 진행되면서 더 어려운 조건을 부여 받아서 진행하는 것 같다. www.youtube.com/watch?v=bIeqAlmNRrA&t=1369s 그러면 과연 함수를 작성할 때 어떻게 작성해야 클린코드인건지 ... 책에서는 말하는 내용은 다음과 같다. 1. 작게 만들어라 함수가 길어지면 길어질수록 이해하기 힘들어진다, 그러니 짧게 만들라는 말이다. 짧게 만드는 방법은 여러가지일것이다. 테크코스처럼 intent를 최소화하고 else 문 대신 메서드를 분리해서 return을 사용하는 방식 심지어 책에서는 if문/else문, while문 등에 들어가는 블록을 한줄로 만들어야한다고 이야기한다. 2. 한 가지만 ..

    2. [Clean Code] 의미 있는 이름

    제 이름은 쇠북 종, 민첩할 민입니다. 쇠북 종은 종소리를 의미하기에 좋은 소식을 민첩하게 전하는 역할을 의미해서 지도자가 되라는 의미가 있다고 합니다. 이처럼 사람에 이름에는 한자 만 알면 풀이가 가능한 의도가 있습니다. 프로그래머는 함수, 인수, 클래스, 패키지, 소스 파일, 디렉토리 등에 대해서 수 많은 이름을 지어준다. 이 이름을 통해서 우리는 정보를 유추해내죠. 그렇기에 의미 있는 이름은 매우 중요합니다. 이책에 서 말하는 의미 있는 이름을 짓는 방법보면 1. 의도를 분명히 밝혀라 int d // 경과 시간 int daysSinceCreation; 사실 위의 예시 만으로 무슨 말을 하고싶어 하는지 알거 같다. 이름을 보고 의도를 파악할 수 있게 하라는 말로 이는 모든 이름에 적용되어야 한다. p..

    1. [Clean Code] 깨끗한 코드

    (저의 개인적인 의견과 감상 그리고 약간의 책의 내용?을 마음대로 적어논 글입니다. 가볍게 보시길 소망합니다.ㅠㅠ) 첫번째 주제인 깨끗한 코드는 깨끗한 코드에 대한 책임과 많은 전문가들의 정의를 설명하며 자연스럽게 책임감과 호기심을 불러 일으킨다. 깨끗한 코드에 대한 책임은 프로그래머의 책임이다. 바쁜 일정에 치여서 쓰레기 코드를 작성하고 다음에 정리해야지 한적이 많았는데 이책에서 이렇게 말한다. 나중은 결코 오지 않는다고...... 결코는 모르겠지만 자주 오지않는 것에 공감한다. 아마도 현재 코드를 잘짜라는 말이겠지 하며 이해했다. "관리자와 마케팅은 약속과 공약을 내걸며 우리에게 정보를 구한다." "우리에게 정보를 구하지 않더라도 우리가 적극적으로 정보를 제공해야 마땅하다." "사용자는 요구사항을 내..

    Clean Code 책 정리 시작

    이번에 Clean Code 책을 구매하여서 책을 읽으면서 이를 정리하기 위해서 카테고리를 만들었습니다. 이 카테고리는 책을 읽어가면서 기억해야겠다고 생각하는 내용을 정리하고 실습하는 형태로 이루어 갈 생각입니다 .ㅎ 대략 530페이지 정도 인거 같으니 하루에 대략 100쪽씩... 읽고 정리 ...

    REST API

    1. REST란 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든것들을 의미한다. URI를 통해 자원(Resouce)을 명시하고 HTTP Method(GET, POST, PUT, PATCH, DELETE 등)를 통해 해당 자원에 대한 CRUD를 적용하는 것을 의미한다. REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용 할 수 있는 아키텍처 스타일이다. REST 구성 1. 자원(Resource): URI 모든 자원에 고유한 ID가 존재하고, 이 자원은 Server에 존재한다. 자원을 구별하는 ID는 ‘/groups/:group_id’와 같은 HTTP 다. Client는 URI를 이용해서 자원을 지정하고 해당 자원의 상태(정보)에 대한 조작을..

    인스타 api(instagram-basic-display-api) in java

    해당 글의 2020년 7월 29일 실습 후 작성 된 글입니다. 본 글에서는 instagram-basic-display-api를 사용하기 위해서 access_token 값과 해당 토큰값을 장기 토큰값으로 변경하며 장기토큰 값을 갱신하는 방법을 소개하고자 합니다. 아래 링크는 instagram-basic-display-api 사용 단계가 설명되어 있는 공식설명문서입니다. https://developers.facebook.com/docs/instagram-basic-display-api/getting-started 시작하기 - Instagram 플랫폼 - 문서 - Facebook for Developers developers.facebook.com 본 글에서는 1단계 facebook 앱 만들기 2단계 Inst..