Programming

    JUnit : 자바에서 사용하는 가장 대표적인 단위 테스트 프레임 워크

    JUnit : 자바에서 사용하는 가장 대표적인 단위 테스트 프레임 워크

    JUnit TDD 사이클을 진행하는데 도움을 주는, Java에서 사용하는 가장 대표적인 단위 테스트 프레임 워크이다. 테스트 결과가 예상과 같은지를 판별해주는 단정문(assertions) 여러 테스트에서 공용으로 사용할 수 있는 테스트 픽스처(test fixture) 일관된 테스트 실행환경 테스트 작업을 수행할 수 있게 해주는 테스트 러너(test runner) JUnit의 단정문 assertEquals : 두 값이 같은지 비교 assertSame : 두 객체가 동일한 객체인가 주소 값으로 비교 assertNotSame : 두 객체가 동일하지 않은 객체인가 주소 값으로 비교 assertTrue : 값이 참인지 비교 assertFalse : 값이 거짓인지 비교 assertNull : 값이 null 인지 비..

    TDD : 테스트 주도 개발

    TDD : 테스트 주도 개발

    TDD : 테스트 주도 개발 What is TDD (Test Driven Development)? TDD의 정의는 다음과 같다. Test the Program before you write it. ( 프로그램을 작성하기 전에 테스트 먼저 해라 ) by 켄트 백 "업무 코드를 작성하기 전에 테스트 코드를 먼저 만드는 것" 고전적인 개발 방법의 문제점 특정 모듈의 개발 기간이 길어질수록 개발자의 목표의식이 흐려진다 작업 분량이 늘어날수록 확인이 어려워진다 개발자의 집중력이 필요해진다 논리적인 오류를 찾기가 어렵다 코드의 사용 방법과 변경 이력을 개발자의 기억력에 의존하게 되는 경우가 많다 테스트 케이스가 적혀 있는 엑셀 파일을 보며 매번 테스트를 실행하는 게 점점 귀찮아져서는 점차 간소화하는 항목들이 늘어난..

    API 명세서 뜯어보기 - Functional interface

    Package java.util.function What is Functional Interface? This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference. 이것은 함수 인터페이스이므로 람다 식 또는 메소드 참조에 대한 할당 대상으로 사용할 수 있습니다. Functional Interfaces Function Predicate Consumer Supplier BiConsumer BinaryOperator etc ... Function T - the type of the input to the function ( 함수의 매개변수 값의 타..

    API 명세서 뜯어보기 - StringBuilder && StringBuffer Class

    Package java.lang.Object java.lang.StringBuilder java.lang.StringBuffer StringBuilder 란? A mutable sequence of characters. This class provides an API compatible with StringBuffer, but with no guarantee of synchronization. This class is designed for use as a drop-in replacement for StringBuffer in places where the string buffer was being used by a single thread (as is generally the case). Where p..

    API 명세서 뜯어보기 - String Class

    Package java.lang.Object java.lang.String String이란? *String은 프로그램 작성시 가장 기본이 되며 가장 많이 사용하는 클래스다. The String class represents character strings. All string literals in Java programs, such as "abc", are implemented as instances of this class. String Class는 문자열(char)을 대표한다. 모든 자바 프로그램의 문자열 리터럴은, 이 클래스의 인스턴스로 "abc"와 같이 구현된다. ex) String a = "Example"; 상수 : 변하지 않는 변수 == 위 예시의 a 의미 리터럴 : 변하지 않는 데이터 == ..

    자바 기초 다지기 -7 (네트워크, Java7, Java8)

    네트워크 프로그래밍 네트워킹이란? 장비와 장비가 데이터를 주고 받는 작업을 일컫는다 네트워크의 일반적인 레이어 애플리케이션 레이어(HTTP, ftp, telnet. ...) HTTP, ftp, telnet은 모두 TCP 통신을 한다. 트랜스포트 레이어(TCP, UDP, ...) 네트워크 레이어(IP, ....) 링크 레이어(device driver, ...) TCP 통신이란? "연결 기반 프로토콜", 데이터를 수신하는 상대가 데이터를 받았는지 확실히 보장한다. UDP 통신이란? 데이터를 제대로 받았는지 보장 없이 보내기만 한다. TCP와 UDP로 나뉘어 존재하는 이유는? 반드시 모든 데이터가 전송이 보장될 이유가 없고, 필요 없는 상황도 있다. TCP는 UDP에 비해 느리고 비싸다. "포트"란? 16비트..

    자바 기초 다지기 - 6 (Thread, Syncronized, Serializable, IO, NIO)

    Thread와 Runnable Thread는 하나의 프로세스 안에서 여러 개 생성되고 고객이 필요에 따라 이 Thread를 사용하고 작업이 끝날 경우 반납한다고 생각하면 되겠다. Runnable : Thread의 인터페이스 Thread Class: Runnable의 구현체 Thread의 실행 방법 run() 메소드로 구현이 가능하며 start()로 실행이 가능하다. Thread에 주요 메소드 Thread.sleep(1/1000초) : 쓰레드를 잠재운다. Thread.join() : 쓰레드가 끝날 때까지 기다린다. Thread.interrupt() : 쓰레드를 정지 시키고자 할 때 사용하는 메소드로서, 쓰레드가 일시 정지 상태일 경우 에러를 발생시켜 run() 메소드를 정상 종료 시킨다. Thread De..

    자바 기초 다지기 - 5 ( Generic, Collection, Map )

    실수를 방지하도록 도와주는 제네릭 정확히는 타입의 형 변환의 실수를 사전에 방지하도록 만들어졌다 즉, 런타임이 아닌 컴파일 단계에서 잘못되었음을 알 수 있다. @Getter @Setter @Builder @ToString public class TestDTO { private String name; private int age; } public class GenericTest{ public GenericTest(){ List list = List.of(TestDTO.builder().name("이름").age(10).build()); System.out.println(list.toString()); } } Generic 타입의 이름 정하기 규칙 E : 요소 K : 키 N : 숫자 T : 타입 V : 값 ..