# 사용한 패키지 정리하기 pip list 터미널에 pip list 명령어를 입력하면 다음과 같이 pip으로 설치된 모든 패키지 목록이 나온다. 어떻게 하면 이 패키지들을 한방에 정리할 수 있을까! 1. requirements.txt 만들기 pip freeze > requirements.txt 다음 명령어로 패키지 목록이 들어있는 requirements.txt 를 만들어 준다. 2. requirements.txt로 패키지 한번에 설치하기 pip install -r requirements.txt 다음 명령어로 requirements.txt에 있는 패키지를 한번에 설치할 수 있다.
김영한님의 스프링 입문 강의를 듣다가 JUnit의 assertThat / assertj의 assertThat 가 정확히 무엇이 다른지! 테스트 코드를 작성 할 때에 왜 assertj의 assertThat을 사용한건지! 궁금해져서 공부해보기로 했다 1. JUnit이란? : 자바를 위한 단위 테스트 라이브러리(오픈소스)이다. : 자바 어플리케이션에 대한 단위 테스트를 쉽게 해주는 테스트용 프레임워크라고 이해하자 # 단위 테스트 Unit Test란? : 모든 함수와 메소드에 대한 테스트 케이스를 작성하는 절차 : 소스 코드의 특정 모듈이 의도대로 동작하는지 확인 # JUnit의 assert 메소드들 assertEquals(A, B) : 객체 A와 B가 같은 값을 가지는지 확인한다. assertEquals(A,..
백준 1181 문제를 푸는데 Arrays.sort에 Comparator를 재정의하면 내가 원하는 조건으로 정렬 할 수 있다는 걸 알게되어 한번 정리해보겠다 !! Arrays.sort() 는 기본적으로 2가지 인자를 받는다. Array.sort(arr, new Comparator ) Array.sort(arr) 이런 식으로 인자를 1개만 줄 경우 Comparator은 default값으로 적용되어 실행이 되는 것이다. (정수 정렬할 때는 default값으로 해도 상관없음!) 그러나 문자열을 정렬하기 위해서는 따로 재정의가 필요함 Arrays.sort(arr, new Comparator() { @Override public int compare(String s1, String s2) { if(s1.length..
❓stream이란 : Java8부터 지원하는 Stream은 컬렉션, 배열등에 저장되어있는 요소들을 하나씩 참조하며 반복적인 처리를 가능하게하는 기능 : stream을 이용하면 불필요한 for문과 그 안에서 이루어지는 if문등을 쓰지 않고도 깔끔하고 직관적인 코드 작성 가능 # stream 특징 1. stream은 데이터를 변경하지 않는다. - stream은 원본데이터로부터 데이터를 읽기만 함 2. stream은 일회용이다. - stream은 한 번 사용하면 닫혀서 재사용이 불가능하다. 필요하다면 정렬된 결과를 컬렉션이나 배열에 담아 반환할 수는 있음 ㅇㅇ 3. stream은 작업을 내부 반복으로 처리한다. - stream을 이용한 작업이 간결할 수 있는 이유는 내부 반복이다. 내부 반복이라는 것은 반복문..
1. abstract 추상클래스(abstract) : 추상 클래스의 추상 메서드와 그냥 메서드, 멤버필드, 생성자를 정의할 수 있지만 추상메서드의 내용은 정의할 수 없음 : 추상 메서드를 정의하면 추상클래스를 상속받은 클래스에서는 반드시 추상메서드를 override하여 정의해야 함 : 추상 클래스는 extends로 상속받는다 : 다중 상속은 안돼! // 추상 클래스 정의 abstract class [클래스명] // 추상 메서드 정의 [접근제한자] abstract [return 자료형] [메서드 이름] () ❓예제 public class ExamAbstract { public static void main(String [] ar){ Tiger tiger = new Tiger("Hodol"); tiger.c..