목록분류 전체보기 (500)
공부한것들을 정리하는 블로그 입니다.
테스트 내가 예상하고 의도했던 대로 코드가 정확히 동작하는지 확인하는 것 동작을 통해 코드를 확신할 수 있게 하는 작업작은 단위의 테스트 테스트는 가능하면 작은 단위로 쪼개서 집중해서 할 수 있어야 한다.(관심사의 분리 원리 적용) 단위 테스트 설계하고 만든 코드가 원래 의도대로 동작하는지 확인하기 위해 작은 단위의 코드에 대해 테스트를 수행하는 것 자동수행 테스트 코드 테스트는 자동으로 수행되도록 코드로 만들어지는 것이 중요 자동수행 → 반복가능으로 이어진다. 지속적인 개선과 점진적인 개발을 위한 테스트 테스트로 검증해서 코드에 대한 확신을 가지고, 그 후에 기능을 추가하는 식으로 점진적인 개발이 가능해진다. 테스트의 효율적인 수행과 결과 관리 JUnit 프레임워크를 이용해서 테스트를 효율적으로 진행 ..
#유닛테스트 1. 하나의 테스트 케이스는 단위 기능 중 하나의 시나리오만 테스트하라. 2. 불필요한 검증 구문을 작성하지 마라. (단위 내의 모든 것에 대해 검증 구문을 작성하지 마라. 대신 테스트하려고 하는 하나의 시나리오에 집중해라.) 3. 각 테스트는 독립적이어야 한다. 4. 모든 외부 서비스와 상태들에 테스트 더블을 사용해라. (그렇게 하지 않으면 공통된 외부 조건을 사용하는 테스트 구문들의 결과가 서로에게 영향을 미친다) 5. 시스템 설정 파일에 관한 단위 테스트를 작성하지 마라. (단위 테스트의 범위가 아니다) 6. 단위 테스트 케이스의 이름은 명확하고 일관되게 테스트의 의미를 반영해야 한다. #유닛테스트 네이밍 종류 1. 테스트할 기능 - 테스트 메서드를 식별하는 방법으로 주석을 사용하고 있..
보호되어 있는 글입니다.
유니코드의 %는 \라고 생각하시면 됩니다. ex) 가 = \uAC00 = %uAC00 한글 입/출력 유니코드 입/출력 소스코드 한글 출력 유니코드 출력
1장 오브젝트와 의존관계 1.1 초난감 DAO - DAO(Data Access Object) 는 DB 를 사용해 데이터를 조회하거나 조작하는 기능을 전담하도록 만든 오브젝트를 말한다. - JDBC 를 이용한 등록과 조회 기능이 있는 날 것 그대로의 UserDao 클래스를 만든다. 1.2 DAO 의 분리 - 관심사의 분리(Separation of Concerns): 관심이 같은 것끼리는 하나의 객체 안으로 또는 친한 객체로 모이게 하고, 관심이 다른 것은 가능한 한 따로 떨어져서 서로 영향을 주지 않도록 분리하는 것. - 중복 코드의 메소드 추출하기 : 관심이 다른 코드가 있는 메소드에는 영향을 주지도 않을뿐더러, 관심 내용이 독립적으로 존재하므로 수정도 간단해졌다. - 상속을 통한 확장 : 클래스 계층 ..
20장 java.lang 에러 : java.lang 패키지의 클래스/인터페이스/예외 및 에러 객체의 출력 : toString() 보다는 valudOf()가 안정적이다 Q.같은 패키지에 있는 클래스를 제외하고, 별도로 import 하지 않아도 되는 패키지는 무엇인가요? * A.java.lang Q.자바의 메모리가 부족해서 발생하는 에러는 무엇인가요? * A.OutOfMemoryError Q.메소드 호출관계가 너무 많아서 발생하는 에러는 무엇인가요? * A.StackOverflowError Q.java.lang 패키지에 선언되어 있는 3개의 어노테이션에는 어떤 것들이 있고, 각각의 역할은? * A.Deprecated, Override, SuppressWarning Q.Double과 Integer 같은 숫자 ..
19장 JVM JVM - 우리가 작성한 자바 프로그램이 수행되는 프로세스 - java 라는 명령어를 통해 애플리케이션이 수행되면, 이 JVM 위에서 애플리케이션이 동작한다 - 이 JVM에서 우리가 작성한 프로그램을 찾고 실행하는 일련의 작업이 진행된다 자바의 메모리관리 - 개발자가 하지 않아도 된다 - JVM 이 알아서 한다 (JVM의 GC가) - GC가 알아서 청소해준다고 하더라도, 메모리를 효율적으로 사용하도록 개발하는ㄱ ㅓㅅ은 중요 GC - Young 영역, Old 영역, Perm 영역(Meta Space) 자바에서 메모리가 살아가는 과정 - Eden 영역에서 객체가 생성 - Eden이 가득차면 살아있는 객체인 Survivor 영역으로 복사 후, Eden 영역을 다시 채운다 - Survivor 영역..
보호되어 있는 글입니다.
# run 재실행 => shift + f10 # 한줄 지우기 => ctrl + y # 생성자 선언 자동 커맨드 + 옵션 + v => ctrl + alt + v # import static => alt + enter # 사용하지 않는 import 정리 => ctrl + alt + o # 변수명 일괄바꿈 => ctrl + alt + shift + j # 변수를 상수로 바꿈 => ctrl + alt + c # 드레그한 범위를 메서드로 자동생성 => ctrl + alt + m # 코드 접기 => ctrl + shift + '-' # 코드 펼치기 => ctrl + shift + '+' # 자동마무리 => ctrl + shift + enter # 테스트 리파지토리 자동생성 커맨드 + shift + t => ctrl..
보호되어 있는 글입니다.
* 해당 글은 계속 수정 예정입니다. 최초 작성일 2023.06.16 마지막 수정일 2023.04 1. InterruptedException은 JVM이 발생시킨다. 쓰레드가 데드락(DeadLock)에 빠졌을 때, (waiting, sleeping, interrupted 된 상태) JVM은 InterruptedException을 발생시킨다. 2. InterruptedException은 JVM의 쓰레드 관리에 관한 내용이다. (강제중단 방법) WAIT : 동시성으로 인한 멀티쓰레드의 실행에서. 실행중인 하나의 쓰레드가 동작하고 있을때, 나머지 쓰레드는 waiting 상태에서 대기하는데. 이때 JVM은 sleep(), wait() 메서드를 이용해 쓰레드의 상태를 제어 가능하다. 3. InterruptedExc..
스프링과 싱글톤 컨테이너 1. 웹 애플리케이션과 싱글톤 - 애플리케이션은 보통 여러 고객이 동시에 요청을 하는데, 각 요청에 대해 객체를 새로 생성한다면 메모리 낭비가 심하다. - 해결방안은 해당 객체가 딱 1개만 생성되고, 공유하도록 설계하면 된다. (싱글톤 패턴) 2. 싱글톤 패턴 - 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴이다. - 싱글톤 패턴을 적용하면 고객의 요청이 올 때 마다 객체를 생성하는 것이 아니라, 이미 만들어진 객체를 공유해서 효율적으로 사용할 수 있다. - 하지만 싱글톤 패턴은 다음과 같은 수 많은 문제점들을 가지고 있다. 3. 싱글톤 패턴 문제점 - 의존관계상 클라이언트가 구체 클래스에 의존한다. DIP를 위반한다. - 클라이언트가 구체 클래스에 의존해서 ..
https://heepie.me/m/32 [2017.08.21] 12. 왜 Enum을 사용할까? Enum은 Enumerated Type으로 '서로 연관된 상수 값들의 집합'이다. (cf. 배열은 서로 연관된 변수 값들의 집합 / 왜 배열을 사용할까? - http://heepie.tistory.com/2) Enum의 등장 배경 1. 복잡한 값 -> 단순한.. heepie.me
자바뿐 아니라 여러 프로그래밍 언어 api 정의 https://www.delftstack.com/ko/howto/java/java-system.out.println/ Java system.out.println() 메서드 이 포스트는 system.out.println() 메소드가 Java에서 어떻게 작동하는지에 대한 모든 것입니다. www.delftstack.com
보호되어 있는 글입니다.
3줄 요약 1. 문제난이도 : 한글만 읽을줄 알면 가능한 수준. 사실상 도덕책 읽기 내용. 2. 시험정답 제출시 점수미달로 불합격이면 : 합격할때까지 재시험 가능. 영상 재시청 등 패널티 아예 없음 3. 앞부분 6~7문제 정도만 아래 내용 참고하고, 나머지는 문제 보지말고 4번 찍어도 되는 정도. 민방위 제도의 이해 1) 민방위 정의 민방위 사태로부터 주민의 생명과 재산을 보호하기 위하여 정부의 지도하에 주민이 수행하여야 할 방공, 응급적인 방재ㆍ구조ㆍ복구 및 군사 작전상 필요한 노력 지원 등의 모든 자위적 활동 2) 민방위 필요성 전통적인 안보개념과 더불어 평상시의 대형화재와 홍수 같은 각종 재난, 자연재해에 대응하기 위한 최소한의 기능유지 목적을 위해 필요한 존재 3) 민방위 대상 만 20세가 되는 ..
* 해당 글은 계속 수정 예정입니다. 최초 작성일 2022.05.24 마지막 수정일 2022.05.24 # 테스트를 최적화하는 방법 1. EP-BVA EP는 동등 분할(Equivalence Partitioning) 기법으로 프로그램의 입력값과 출력값이 특정 그룹으로 돼 있고 분류된 그룹의 값들을 시스템에서 동일하게 취급한다는 특성을 이용한 테스트 기법입니다. BVA는 경곗값 분석(Boundary Value Analysis) 기법으로 동등 분할의 확장 형태입니다. 2. 페어와이즈(pairwise) 가능한 모든 입력값의 조합을 테스트하는 대신 짝들의 조합으로 테스트하는 방법입니다. 3. 상태 전이(state transition) 어떤 이벤트가 발생했을 때 테스트 대상이 다른 상태로 전이되는 경우의 수를 테스..
과정 1. 단위테스트 학습 숫자야구게임 2. TDD 학습 자동차경주 3. 상속,인터페이스 학습 좌표계산기 4. 함수형 프로그래밍 블랙잭 4번은 아직은 선택 객체지향 생활체조 https://jamie95.tistory.com/m/99
# 그래프와 트리의 정의 및 차이점 - 트리는 그래프의 한 종류이다. - 그래프 중에서 연결에 방향이 없고 또한 순환하는 사이클이 없는 그래프를 트리라고 정의한다. - 컴퓨터 공학의 자료구조에서 트리는 수학의 트리와 기본적으로 동일하지만 - 자료구조에서의 트리는 노드간에 부모-자식 관계를 가지는 방향이 있는 연결을 가지고, 루트 노드를 가지고 있다. # 그래프 - 노드와 노드간을 연결하는 간선으로 구성된 자료구조 - 즉, 연결되어 있는 객체 간의 관계를 표현할 수 있는 구조 - 그래프는 네트워크 모델이다 - 노드간에 2개 이상의 경로도 가능 하다 - 부모-자식 관계라는 개념이 없다 - 그래프는 순환 혹은 비순환 구조를 이룬다 - 그래프는 방향성이 있는 그래프와 방향성이 없는 그래프가 있다 # 트리 - 그..
보호되어 있는 글입니다.