분류 전체보기(126)
-
2장 : 테스트
테스트 : 변화에 유연하게 대처할 수 있는 자신감을 주는 기술 내가 예상하고 의도했던 대로 코드가 정확히 동작하는지를 확인해서 만든 코드를 확신할 수 있게 해주는 작업 테스트는 가능하면 작은 단위로 쪼개서 집중해야 성공하는 테스트만 만들면 안 됨.부정적인 케이스를 먼저 만드는 것도 방법 테스트는 자동화되고 빠르게 실행되어야 결과도 일관성이 있어야, 환경이나 테스트 실행 순서에 따라서 결과가 달라지면 안 됨. 테스트는 포괄적으로 작성 수행 간격이 짧을수록 효과적 테스트 하기 쉬운 코드가 좋은 코드임 기존 테스트 코드의 문제점 1. main() 메서드 이용 2. UserDao의 오브젝트를 가져와 메서드 호출 3. 입력 값(User 객체)를 직접 코드로 생성 4. 결과를 콘솔에 출력
2023.03.20 -
1장 : 오브젝트와 의존관계
스프링 프레임워크: 스프링 컨테이너(어플리케이션 컨텍스트) 엔진 제공 스프링 컨테이너(어플리케이션 컨텍스트) : 애플리케이션을 구성하는 오브젝트를 생성하고 관리 오브젝트가 생성되고 동작하는 방식에 대한 틀을 제공 코드가 어떻게 작성돼야 하는지에 대한 기준 제시 생성된 오브젝트를 Bean이라고 함 bean 생성, 관계설정 등 제어 작업을 총괄 애플리컨텍스트 사용시 장점 1. 구체적인 펙토리 클래스를 알 필요가 없음 2. 종합 IOC 서비스 제공 - 오브젝트가 만들어지는 방식, 시점, 전략 다르게 가져갈 수 있음 - 자동생성, 오브젝트 후처리, 설정 방식 다변화, 인터셉팅 등 다양한 기능 제공 3. 빈 검색 시 다양한 방법 제공 IOC/DI:오브젝트 생면주기와 의존관게애 대한 프로그래밍 모델 제공 서비스 추..
2023.03.20 -
[아파치 카프카 애플리케이션 프로그래밍 with 자바 - 최원영 저] 한 장 요약
카프카의 탄생 - 링크드인에서 개발 - 각 애플리케이션의 데이터를 한 곳에 모아 중앙집중화 - 프로듀서 : 큐에 데이터를 보냄 - 컨슈머 : 큐에서 데이터를 가져감 - 카프카를 통해 전달할 수 있는 데이터 포멧은 사실상 제한이 없음 - 상용 환경에서 카프카는 최소 3대 이상의 서버(브로커)에서 분산 운영 - 일부 서버에 장애가 발생하더라도 데이터를 지속적으로 벅제, 안전하게 운영 - 데이터를 묶음 단위로 처리하는 배치 전송 -> 낮은 지연과 높은 데이터 처리량 가짐 ## 빅데이터 파이프라인에서 카프카 역할 - 데이터 레이크 : 데이터가 모이는 저장 공간, 데이터 워어하우스와 다르게 필터링되거나 페키지화되지 않은 데이터를 저장 - 높은 처리량 - 프로듀서가 브로커로 데이터를 보낼 때와 컨슈머가 브로커로부터..
2023.03.17 -
[도메인 주도 개발 시작하기 - 최범균 저] 한 장 요약
도메일 모델 시작하기 도메인에 따라 용어의 의미가 결정 여러 하위 도메인을 하나의 다이어그램에 모델링 하면 안 됨 각 하위 도메인마다 별도 모델을 만들어야 아키텍처 구성 표현 영역 : 사용자 요청 처리/사용자에게 정보 제공 HTTP 요청을 응용영역이 필요로 하는 형식으로 변환헤서 전달 응용 영역 : 사용자가 요청한 기능 실행 : 업무 로직을 직접 구현하지 않음 응용 서비스를 로직을 직접 수행하지 않고, 도메인 모델에 로직 수행을 위임 도메인 영역 : 시스템이 제공할 도메인 규칙 구현 도메인 핵심 로직 구현 인프라스트럭처 영역 : DB나 메시징 시스템 같은 외부 시스템 연동 처리 상위 계층에서 하위 계층으로의 의존만 존재 DIP 적용시 하위 기능을 추상화한 인터페이스는 고수준 모듈 관점에서 도출 도메인 영..
2023.01.13 -
[자바 코딩, 이럴 땐 이렇게 - 배병선 저] 한 장 요약
이미 아는 내용은 과감히 제외 1. 프로그래밍 일반 규칙 비록 속도가 느리더라도 정확한 값이 필요하면 float/double 대신 BigDecimal 사용 BigDecimal Constructor parameter에 실수형 변수 넣지 마세용 차라리 String 넣거나, valueOf 사용 BigDecimal 비교시 equals 말고 compareTo 활용 8,16진수 특정 라이브러리에서 요구하는거 아니면 굳이 쓰지마 IP 하드코딩 하지마 equals와 hashcode는 언제나 함께 오버라이딩 finally절에서 return 사용 금지 catch 절 묵살할 수도 finally는 리소스 사용 후 반환하는 로직에만 사용 초기화 블록 쓰지마class Sample { { // 초기화 블록 } public Samp..
2022.12.27 -
[한 권으로 읽는 컴퓨터 구조와 프로그래밍 - 조너선 스타인하트 저] 한 장 요약
이미 알고 있는 내용은 적지 않음. 실질적으로 운영체제 계열에서 많이 본 내용들이 겹쳐서 책 두께 대비 적은 내용이 많이 없는듯... 1장 : 컴퓨터 내부의 언어 체계 오버플로 발생시 조건코드 레지스터(Condition code register) 중 오버플로 비트가 있어 확인이 가능 언더플로도 마찬가지 현대 컴퓨터에서는 부호와 크기 표현법이나 1의 보수 표현법을 사용하지 않음 2의 보수 표현법 씀 비트 뒤집고 1 추가 올림 발생시 버림 UTF-8은 모든 아스키 문자를 8비트로 표현 : 아스키 데이터를 인코딩 할 때 추가 공간이 필요하지 않음 2장 : 전자 회로의 조합 논리 아날로그 : 연속적 디지털 : 이산적 실렉터 : 분기 처리3장 : 메모리와 디스크의 핵심 : 순차논리 카운터 : 시간 셈 레지스터 :..
2022.12.25