전체 글
-
[13주차]IO스터디/[whiteship]JAVA 2021. 2. 20. 19:54
목표 자바의 Input과 Ontput에 대해 학습하세요. 학습할 것 (필수) 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O InputStream과 OutputStream Byte와 Character 스트림 표준 스트림 (System.in, System.out, System.err) 파일 읽고 쓰기 스트림 (Stream) / 버퍼 (Buffer) / 채널 (Channel) 기반의 I/O Stream 데이터를 운반할 때 사용하는 연결통로, 연속적인 데이터의 흐름을 물(stream)에 비유해서 붙여진 이름이다. 자바에선 파일이나 콘솔의 입출력을 직접 다루지 않고 stream이라는 중간 매개를 통해 흐름을 다룬다. FIFO(First in First out)구조이다. ..
-
spring web.xml에 대해 분석웹/Spring 2021. 2. 17. 19:33
먼저 글을 읽기전에 context의 종류를 알아보자. context의 종류 applicationcontext 스프링에서 생성한 인터페이스로 어플리케이션의 context를 가지고 있고 Web application에 최상단에 위치하고있는 context이다. ioc 컨테이너로써 빈을 만들어주고 관리하고 의존성 주입을 하는 컨테이너로 Beanfactory 인터페이스 또한 상속받는다. webapplicationcontext applicationcontext를 확장한 인터페이스로 getServletContext와 같이 웹 어플리케이션에 필요한 기능들을 추가한 인터페이스이다. servletcontext Servlet API에서 제공하는 context로 모든 servlet이 공유하는 context이다. Spring W..
-
[6주차]상속스터디/[whiteship]JAVA 2021. 2. 15. 14:54
목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 자바 상속의 특징 자바에서 상속이란 어떤 부모클래스에서 정의된 필드, 메소드 같은 속성들을 그 하위 클래스에서 공통된 속성을 상속해주어 사용하게 해주는 개념이다. 하지만 접근 지정자(public, protected, private, default)에 따라 상속받은 클래스에서도 부모에게 물려받은 필드와 메소드에 접근가능 여부가 정해진다. 자바에서 다중 상속은 불가능하다. 접근 지정자 같은 패키지의 클래스 다른 패키지의 클래스 같은 패키지 서브 클래스 다른 패키지 서브 클래스 p..
-
[5주차]클래스스터디/[whiteship]JAVA 2021. 2. 12. 18:38
자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 과제 (Optional) - 추후 추가예정 int 값을 가지고 있는 이진 트리를 나타내는 Node 라는 클래스를 정의하세요. int value, Node left, right를 가지고 있어야 합니다. BinrayTree라는 클래스를 정의하고 주어진 노드를 기준으로 출력하는 bfs(Node node)와 dfs(Node node) 메소드를 구현하세요. DFS는 왼쪽, 루트, 오른쪽 순으로 순회하세요. 먼저 클래스란, 객체를 선언한 모양의 틀이자 설계도이다. 이러한 설계도를 가지고 생성된 것을 인스턴스라고 한다. 또한 자..
-
GitHub API로 스터디 참석률을 구하는 프로그램 만들기프로젝트 2021. 2. 9. 23:19
whitdship study 4주차에 참가하면서 Github API를 사용해 스터디 참여율을 계산하는 과제를 진행했다. GitHub API를 사용하면서 최대한 Javadoc 그리고 Github 공식문서만 참고하여 개발하고자 노력했다. 이유는 간단하다 현재 구글신이 존재하지만 항상 의존할 수는 없다는 것과 이렇게하면 조금이라도 성장하지 않을까 생각해서 답답한 방법으로 진행했다. 프로젝트 코드를 보기전에 다음을 잠깐 살펴보자 간단한 예제코드가 있다. github-api.kohsuke.org GitHub API for Java – What is this? This library defines an object oriented representation of the GitHub API. By "object or..
-
Junit5에서 Junit4마이그레이션 하기테스트/Junit5 2021. 2. 8. 17:13
우리가 1장에서 살펴본 Junit5의 구조를 잠깐 생각해보자. 1. Jupiter - TestEngine의 구현체 2. Vintage - Junit4, 3을 지원하는 TestEngine 구현체 3. platform - 테스트를 실행해주는 런처 제공, TestEngine API제공. 본글에선 이 Vintage를 의존성을 추가해 Junit5에서도 Junit4로 작성한 테스트를 실행하고자 한다. [REFERENCES]www.inflearn.com/course/the-java-application-test/dashboard 더 자바, 애플리케이션을 테스트하는 다양한 방법 - 인프런 자바 프로그래밍 언어를 사용하고 있거나 공부하고 있는 학생 또는 개발자라면 반드시 알아야 하는 애플리케이션을 테스트하는 다양한 방법..
-
JUnit5 확장 모델테스트/Junit5 2021. 2. 8. 16:20
만약 테스트 시간이 오래 걸리는 테스트를 찾아 @SlowTest 어노테이션을 붙여주는 Extention모델을 구현한다 가정하자. 이러한 기능을 하는 JavaClass를 구현하고, 테스트 클레스에서 등록해줄 때, 필요한 것은 @ExtendWith 애노테이션이 필요하다. 바로 실습해보자. 예제코드 1. 테스트 시간이 일정시간 지나면 @SlowTest 태깅을 고려해주는 FindSlowTestExtension 구현하기 Exteion 모델을 구현하기 위해서 다음 Interface를 알아둘 필요가 있다. BeforeTestExecutionCallback, AfterTestExecutionCallback 은 다음과 같이 설명되어 있다. [REFERENCES]junit.org/junit5/docs/current/api..
-
properties파일로 JUnit5 설정하기테스트/Junit5 2021. 2. 8. 14:33
우리가 그동안 살펴보았던 @Disabled, 인스턴스 라이프사이클, 테스트 이름 표기 등 Annotation으로 테스트를 제어 해왔지만, 이번 시간에는 properties파일로 테스트를 설정하고자 한다. ※본 글에선 intellij IDE로 실습한다 1. properties파일 생성하기 먼저 테스트 폴더에 resources 디렉토리를 만든후 junit-platform.properties이란 파일을 생성한다. 후에 Project structure -> Module에서 우리가 방금 만든 테스트 폴더를 Test Resources로 Class Path로 경로를 잡아준다. 2. 생성한 properties파일로, 모든 테스트 라이프 사이클을 클레스 인스턴스로 적용하기 생성한 properties 파일에 다음과 같은 ..