본문 바로가기

개발자 스터디91

[클린코드] 4장. 주석 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 클린 코드(로버트 C. 마틴 저) 책 입니다. 4장 주석 ⚈ "나쁜 코드에 주석을 달지 마라. 새로 짜라." ⚈ 주석은 언제나 실패를 의미한다. 주석을 달 때마다 자신에게 표현력이 없다는 사실을 푸념해야 마땅하다. 주석은 거짓말을 한다. 주석은 오래될수록 코드에서 멀어진다. 프로그래머들이 주석을 유지하고 보수하기란 현실적으로 불가능하다. 주석은 나쁜 코드를 보완하지 못한다 ⚈ 코드에 주석을 추가하는 일반적인 이유는 코드 품질이 나쁘기 때문이다. 자신이 저지른 난장판을 주석으로 설명하려 애쓰는 대신에.. 2022. 12. 21.
[클린코드] 3장. 함수 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 클린 코드(로버트 C. 마틴 저) 책 입니다. 3장 함수 - 길이가 짧고, 이름이 좋고, 체계가 잡힌 함수를 만드는 방법 작게 만들어라! ⚈ 작은 함수가 좋다. ⚈ 이하와 같은 수준으로 줄여야 한다. public static String renderPageWithSetupsAndTeardowns(PageData pageData, boolean isSuite) { if (isTestPage(pageData)) { includeSetupAndTeardownPages(pageData, isSuite); .. 2022. 12. 20.
[TDD] 스터디 1주차 (기본적인 테스트 방법, 1~2장 정리) 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. ☆ 스터디 킥오프 (테스트 관련 랜덤 팁) 이하 내용은 책 내용 스터디 들어가기 전에 스터디 팀원들끼리 공유한 내용이다. [ Octoping925님의 발표 자료 : https://github.com/Octoping925/TestCodePresent ] ⚈ 실제 구현부와 테스트쪽의 패키지, 클래스명 구조를 동일시 하는게 중요하다. ⚈ GWT, AAA Given : 특정한 값을 가지고 When : 로직을 실행했을 때 Then : 잘 나왔는지 검증한다. AAA : Assignment(=Giv.. 2022. 12. 18.
[CS 전공지식 노트] 5장. 자료구조 스터디 메인 이 스터디의 경우 이미 책의 내용이 매우 축약된 내용이므로 책 내용 정리는 크게 의미가 없다고 생각합니다. 따라서 스터디 정리는 추가로 설명한 부분에 대해 작성했습니다. [ 5장 - 자료구조 ] - 시간복잡도 https://nahwasa.com/entry/시간-복잡도에-대해 - 리스트, 벡터 https://nahwasa.com/entry/자료구조-리스트-List-Linked-List-Array-List-Vector-차이점-포함 - 배열 https://nahwasa.com/entry/배열-기본 - 스택, 큐 https://nahwasa.com/entry/자료구조-큐-스택-덱-Queue-Stack-Deque - 트리 '트리 구조로 배열된' 설명이 애매할 수 있음. 한마디로 사이클이 없는 연결 그.. 2022. 12. 15.
[CS 전공지식 노트] 4장. 데이터베이스 스터디 메인 이 스터디의 경우 이미 책의 내용이 매우 축약된 내용이므로 책 내용 정리는 크게 의미가 없다고 생각합니다. 따라서 스터디 정리는 추가로 설명한 부분에 대해 작성했습니다. [ 4장 - 데이터베이스 ] 인기는 MySQL이 많으나, 자바쪽은 오라클을 많이 쓴다. - 185p 보통 논리모델쪽에서 엔터티, 릴레이션이 물리모델의 테이블을 뜻함. 테이블의 행을 "row, 튜플 레코드", 열을 "칼럼, 필드, 속성(어트리뷰트)" 라고 말함. - 191p 오라클은 VARCHAR2가 권장되는데, 차후 VARCHAR는 오라클쪽에서 변경할 수 있기 때문이라고 함. - 202p 예시가 좀 애매한데, 그림으로 그려보면 이해하기 쉬움. 유저 ID와 수강명이 성취도를 결정하는데, 유저 ID와 수강명의 부분집합인 유저 I.. 2022. 12. 15.
[CS 전공지식 노트] 3장. 운영체제 스터디 메인 이 스터디의 경우 이미 책의 내용이 매우 축약된 내용이므로 책 내용 정리는 크게 의미가 없다고 생각합니다. 따라서 스터디 정리는 추가로 설명한 부분에 대해 작성했습니다. [ 3장 - 운영체제 ] - 134 page 이 책에 나온 수준은 단순히 개념만 알고 적당히 대답만 할 수 있는 수준임. 실제 개발에서 전반적인 시야를 넓히려면 별도로 공부하는게 좋음. 네트워크쪽은 책의 제목에 비해 일반적인 수준보다 더 써있는 것 같고(개발자한테 L4, L7의 차이를 물어볼 정도면 그냥 대답하지 말란 얘기가 아닐까..), 1,3,4,5장은 좀 빈약한 느낌이라 저자가 네트워크쪽 좋아하는 것 같음. - 139 page 레지스터는 CPU 내에서 연산 처리용이고, 캐시는 CPU와는 별도로 메모리와 CPU 속도 차이.. 2022. 12. 15.
[클린코드] 2장. 의미 있는 이름 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 클린 코드(로버트 C. 마틴 저) 책 입니다. 2장 의미 있는 이름 의도를 분명히 밝혀라 ⚈ 의도가 분명하게 이름을 지어라. 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다. ⚈ 변수, 함수, 클래스의 이름은 다음의 질문에 답해야 한다. 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다. 존재 이유는? 수행 기능은? 사용 방법은? ind d; //경과 시간(단위: 날짜) VS int elapsedTimeInDays; int daysSinceCreatio.. 2022. 12. 14.
[클린코드] 1장. 깨끗한 코드 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 클린 코드(로버트 C. 마틴 저) 책 입니다. ⚈ 팀이나 공동체에서 서로 동의하는 합리적인 원칙을 세우기 위한 소통이 핵심 이 책은 이런 소통을 위한 기초 지식을 제공하고 생각할 거리를 던져주는 책 1장 깨끗한 코드 ⚈ 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업이 바로 프로그래밍이고, 그 결과가 바로 코드다. 코드는 요구사항을 표현하는 언어이다. ⚈ 우리 모두는 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. 나중은 결코 오지 않는다. (르블랑의 법칙) ⚈ 나쁜.. 2022. 12. 14.
[roadmap.sh] Backend 4주차 정리 스터디 메인 페이지 목차 완벽한 정리가 목적이 아니고, 로드맵을 보면서 기본 개념을 알고 차후 파고들어서 공부하기 위한 사전 준비 과정인 스터디이다. 따라서 이하 정리한 내용이 부실할 수 있습니다. CI/CD ⚈ 배포를 자동화하기 위해 사용 ⚈ CI : 지속적인 통합 개발자가 개발한 소스 코드들은 지속적으로 코드베이스에 통합되어야 하며, 이때 자동으로 빌드 및 테스트가 진행되어야 한다. ⚈ CD : 지속적인 배포 CI를 통해 자동으로 테스트 및 패키징되었다면 CD를 이용하여 자동으로 해당 시스템에 배포할 수 있다. CD가 없다면 개발자가 패키징된 파일을 각 서버에 분배한 후 직접 서버를 재기동 해야 함. Design and Development Principles GOF Design Patterns ⚈ .. 2022. 12. 10.
[오브젝트] 7장. 객체 분해 스터디 메인 페이지 목차 - ☆ 표시가 붙은 부분은 스터디 중 나온 얘기 혹은 제 개인적인 생각이나 제가 이해한 방식을 적어놓은 것으로, 책에 나오지 않는 내용입니다. 따라서 책에서 말하고자 하는 바와 다를 수 있습니다. - 모든 이미지의 출처는 오브젝트(조용호 저) 책 입니다. CHAPTER 07. 객체 분해 ⚈ 문제를 해결하기 위해 사용하는 저장소는 장기 기억이 아니라 단기기억이다. 문제 해결에 필요한 요소의 수가 단기 기억의 용량을 초과하는 순간 문제 해결 능력은 급격하게 떨어진다. -> 인지 과부하(cognitive overload) 인지 과부하 방지 : 단기 기억 안에 보관할 정보의 양을 조절하는 것 ⚈ 인류가 복잡한 분야(소프트웨어 개발 영역)의 문제를 해결하기 위해 사용한 것 추상화 : 불필.. 2022. 12. 8.