일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 혼공SQL
- 이펙티브 자바
- java
- jpa
- 이펙티브자바
- AWS
- 클린코드
- 인덱스
- mysql
- 네트워크
- 도메인 주도 개발 시작하기
- SQL쿡북
- 인프런김영한
- 스프링부트와AWS로혼자구현하는웹서비스
- react
- 이팩티브 자바
- AWS RDS
- aop
- 인프런백기선
- 자바
- CleanCode
- 자바예외
- 알고리즘분석
- MariaDB
- 자바스터디
- 알고리즘
- DDD
- vue.js
- 자료구조
- 기술면접
- Today
- Total
목록IT서적 (37)
기록이 힘이다.
1.2 도메인 전문가와 개발자 간 지식 공유 코딩에 앞서 요구사항을 올바르게 이해하는 것이 중요하다. 요구사항을 제대로 이해하지 않으면 쓸모없거나 유용함이 떨어지는 시스템을 만들기 때문이다. 요구사항을 잘못 이해하면 변경하거나 다시 만들어야 할 코드가 많아지고 경우에 따라 소프트웨어, 즉 제품을 만드는 데 실패하거나 일정이 크게 밀리기도 한다. 아쉽게도 이런 문제는 자주 발생한다. 도메인 전문가 만큼은 아니겠지만 이해관계자와 개발자도 도메인 지식을 갖춰야 한다. 제품 개발과 관련된 도메인 전문가, 관계자, 개발자가 같은 지식을 공유하고 직접 소통할수록 도메인 전문가가 원하는 제품을 만들 가능성이 높아진다. 1.3 도메인 모델 특정 도메인을 개념적으로 표현한 것이다. 여러 관계자들이 동일한 모습으로 도메인..
휴리스틱이란 '시간이나 정보가 불충분하여 합리적인 판단을 할 수 없거나, 굳이 체계적이고 합리적인 판단을 할 필요가 없는 상황에서 신속하게 사용하는 어림짐작의 기술’ 주석 C1: 부적절한 정보 다른 시스템에 (예를 들어, 소스 코드 관리 시스템, 버그 추적 시스템, 이슈 추적 시스템, 기타 기록 관리 시스템에) 저장할 정보는 주석으로 적절하지 못하다. 일반적으로 작성자, 최종 수정일, SPR(Software Problem Report) 번호 등과 같은 메타 정보만 주석으로 넣는다. 주석은 코드와 설계에 기술적인 설명을 부연하는 수단이다. C2: 쓸모 없는 주석 오래된 주석, 엉뚱한 주석, 잘못된 주석은 더 이상 쓸모가 없다. 주석은 빨리 낡는다. C3: 중복된 주석 주석은 코드만으로 다하지 못하는 설명을..
TDD 법칙 세 가지 첫째 법칙: 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 둘째 법칙: 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 셋째 법칙: 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 위 세 가지 규칙을 따르면 개발과 테스트가 대략 30초 주기로 묶인다. 테스트 코드와 실제 코드가 함께 나올뿐더러 테스트 코드가 실제 코드보다 불과 몇 초 전에 나온다. 이렇게 일하면 매일 수십 개, 매달 수백 개, 매년 수천 개에 달하는 테스트 케이스가 나온다. 실제 코드를 사실상 전부 테스트하는 테스트 케이스가 나온다. 하지만 실제 코드와 맞먹을 정도로 방대한 테스트 코드는 심각한 관리 문제를 유발하기도 한다. 깨끗한 테스트 코드 유지하기..
경계 살피고 익히기 학습 테스트는 프로그램에서 사용하려는 방식대로 외부 API를 호출한다. 통제된 환경에서 API를 제대로 이해하는지를 확인하는 셈이다. 학습 테스트는 API를 사용하려는 목적에 초점을 맞춘다. JUnit은 가장 널리 사용되는 자바 학습 테스트 프레임워크입니다. JUnit을 사용하면 자바 코드를 검증하고 성능을 측정할 수 있습니다. 아래는 간단한 JUnit 학습 테스트 코드의 예시입니다. import org.junit.Test; import static org.junit.Assert.*; public class CalculatorTest { @Test public void testAddition() { Calculator calculator = new Calculator(); int re..
https://github.com/gdsc-ssu/clean_code_master/tree/main/03.%20%ED%95%A8%EC%88%98 GitHub - gdsc-ssu/clean_code_master: 클린코드 작성하는 것..? 어렵지 않다! 이 스터디와 함께라면 당신도 클린코드 작성하는 것..? 어렵지 않다! 이 스터디와 함께라면 당신도 클린코드 마스터! Contribute to gdsc-ssu/clean_code_master development by creating an account on GitHub. github.com 3-1 # 좋지 않은 코드 public static String testableHtml(PageData pageData, boolean includeSuiteSetup)..
형식을 맞추는 목적 코드 형식은 의사소통의 일환이다. 의사소통은 전문 개발자의 일차적인 의무다. 오늘 구현한 코드의 가독성은 앞으로바뀔 코드의 품질에 지대한 영향을 미친다. 원래 코드는 사라질지라도 개발자의 스타일과 규율은 사라지지 않는다. 적절한 행 길이를 유지하라 500줄을 넘지 않고 대부분 200줄 정도인 파일로도 커다란 시스템을 구축할 수 있다. 일반적으로 큰 파일보다 작은 파일이 이해하기 쉽다. -신문 기사처럼 작성하라 소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명한다. 아래로 내려갈수록 의도를 세세하게 묘사한다. 마지막에는 가장 저차원 함수와 세부 내역이 나온다. 신문 기사는 아주 짧다. 한 면을 채우는 기사는 거의 없다. 신문이 읽을 만한 이유는 여기에 있다. -개념은 빈 행으로 분리하..
1장 깨끗한 코드 이 책을 읽는다고 뛰어난 프로그래머가 된다는 보장은 없다. ‘코드 감각’을 확실히 얻는다는 보장도 없다. 단지 뛰어난 프로그래머가 생각하는 방식과 그들이 사용하는 기술과 기교와 도구를 소개할 뿐이다. 2장 의미있는 이름 의도를 분명히 밝혀라 그릇된 정보를 피하라 int a =l; if(O == l) a = O1; else L = 01; 위와 같은 0(영)이나 O(영어 오) 등의 경우 의미있게 구분하라 customerInfo는 customer과 accountData는 account와 theMessage는 message와 구분이 안 된다. 읽는 사람이 차이를 알도록 이름을 지어라. 발음하기 쉬운 이름을 사용하라 검색하기 쉬운 이름을 사용하라 인코딩을 피하라 -헝가리식 표기법 -인터페이스 클..
소프트웨어적인 대표적인 캐시로는 웹 브라우저의 작은 저장소 쿠키, 로컬 스토리지, 세션 스토리지가 있습니다. 쿠키 쿠키는 만료기한이 있는 키-값 저장소입니다. same site 옵션을 strict로설정하지 않았을 경우 다른 도메인에서 요청했을 때 자동 전송되며, 4KB까지 데이터를 저장할 수 있고 만료기한을 정할 수 있습니다. 쿠키를 설정할 때는 document.cookie로 쿠키를 볼 수 없게 httponly 옵션을 거는 것이 중요하며, 클라이언트 또는 서버에서 만료기한 등을 정할 수 있는데 보통 서버에서 만료기한을 정합니다. 로컬 스토리지 로컬 스토리지는 만료기한이 없는 키-값 저장소입니다. 10MB까지 저장할 수 있으며 웹 브라우저를 닫아도 유지되고 도메인 단위로 자장, 생성됩니다. HTML5를 지..