본문 바로가기

자바(Java)21

자바람다 요약 자바람다 요약함수형 언어의 특징을 가지고 옴. 1. 순수한 함수(Pure Function)함수의 실행이 외부의 상태를 변경시키지 않는 함수를 의미한다. 메모리 공간의 분리를 의미하며 멀티 쓰레드 환경에서도 안전하고, 병렬처리 및 계산이 가능하다. 오직 입력에 의해서만 출력이 정해지고, 환경이나 상태에 영향을 받아서는 안된다는 의미이다. 2. 익명 함수(Annonymous Function)이름이 없는 함수이다. 3. 고계 함수(Higher-order Function)함수를 다루는 상위 함수로 함수를 하나의 변수 값으로 취급하고, 함수의 파라미터로 함수를 전달할 수 있다는 뜻이다. 자바에는 없는 개념이었으나 자바8에서 도입되었다. 2017. 11. 1.
TDD 방법, 스타일, 원칙 TDD 중요한 점. 요약 TDD 방법(프로세스) 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다.컴파일이 실패하지 않으면서 실행도 실패하는 정도로만 단위 테스트를 작성한다.현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. TDD 원칙 FIRST (참고 : https://github.com/ghsukumar/SFDC_Best_Practices/wiki/F.I.R.S.T-Principles-of-Unit-Testing)Fast - 빠르게 : 테스트 코드가 돌아가는데 오래 걸리면 안된다.Independent - 독립적으로Repeatable - 반복가능하게 : 다른 데이터를 참고해서 나중에 돌렸을 때 안돌아가는 상황이 있으면 안된다.Self-Validating - 어떠한 메뉴얼 없.. 2017. 10. 29.
리펙토링 원칙 리펙토링 원칙(https://myadventuresincoding.wordpress.com/2010/07/03/refactoring-principles/ 글을 번역 + 코멘트) 코드의 양을 줄어야 합니다. 한 메쏘드에 5줄이 넘어가면 의심해 봐야 합니다.모든 것을 다 할 수 있는 슈퍼 메쏘드/객체는 없어야 합니다. 한가지 기능을 하도록 단순하게 해야 합니다.작고 응집력있게 만들어야 합니다. - SOLID 중에 SRP중복제거! - DRY Don't repeat yourself!!종속성 제거 - 종속성을 줄이기 위해 노력해야하는 것이 아니라 없애야 합니다.자체 문서 작성 코드 - 주석이 필요 없이 코드를 보고 이해할 수 있도록 해야 합니다.코드는 보는 즉시 이해할 수 있어야 합니다. - 코드의 양을 줄이는 .. 2017. 10. 29.
Web service architecture 에 관하여. Web Service Architecture 에 관하여 고민한 결과 이 글은 페이스북 한국 스프링 사용자 모임에 올렸던 package 설계에 관한 고민에서 시작되었습니다. 1. package 구조 type1/2에 대해서 프로젝트 상황에 따른 선호도가 있다고 들었습니다.작은 프로젝트인 경우에는 type2, 각각의 기능이 커서 따로 관리가 필요한 경우에는 type1을 선호한다고 들었습니다.개인적으로는 아무리 작은 프로젝트라도 이후에 재사용성을 고려한다면 type1으로 진행하는 것이 좋지 않을까요? 저 같은 경우에도 type2로 진행하는 경우가 많이 있었는데, 솔직히 이미 틀이 잡혀 있었기 때문에 수정 불가(현실적으로)었거나 큰 고민없이 관성적으로 한 경우가 있었습니다.또한 개발자에 따라서는 너무 많은 pac.. 2017. 2. 5.