일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 맥길대학교
- Docker
- spring
- REACT
- json
- Flutter
- 현장학습
- vue.js
- arraylist
- gradle
- SpringBoot
- jpa
- java
- 스프링
- Keycloak 17.0.1
- jQuery
- 알고리즘
- 인텔리제이
- jsp
- nginx
- 글로벌
- vue
- lightsail
- keycloak
- aws
- ES6
- 에러
- 메서드
- JavaScript
- 자바스크립트
- Today
- Total
목록back-end (39)
korean IT student
spring 프로젝트를 실행할때 banner 변경법에 대해 알아 보자. 먼저 원하는 배너모양을 만들어 보자. 위의 url을 통하여 입력한 텍스트를 원하는 폰트에 맞게 변경 후 select & copy를 통해 복사를 하여 프로젝트 txt 파일에 붙여넣습니다. 프로젝트 실행에 맞게 banner 파일명에 프로파일을 세팅하였습니다. 저는 프로젝트 실행 시 기본 local로 설정하여 프로젝트 실행 시 적용한(hello local) 배너를 확인 해보겠습니다. 위와 같이 배너가 적용되어서 나타남을 확인하였습니다.
Java 동적 프록시 기술을 알아보자. JDK 동적 프록시 CGLIB 먼저 JDK 동적 프록시, CGLIB 앞서 자바 리플렉션에 대해 알아보자. Reflection 이란? 리플렉션은 클래스나 메서드의 메타정보를 사용해서 동적으로 호출하는 메서드를 변경할 수 있다. 컴파일 시간이 아닌 실행 시간(Run Time)에 동적으로 특정 클래스의 정보를 추출해낼 수 있습니다. 아래의 예제를 보면서 이해를 해보자!! import java.lang.reflect.Method; public class Reflection { public static void main(String[] args) throws Exception { World target = new World(); // 기존 사용 예시 String city1 ..
목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet Enum 이란? enum Fruit { APPLE, BANANA, PEAR } public class main { public static void main(String[] args) { System.out.println(Fruit.APPLE); System.out.println(Fruit.BANANA); System.out.println(Fruit.PEAR); } /*실행 결과 * APPLE * BANANA * PEAR * */ } enum(열거형)은 서로 관련된 상수를 편리하게 선언하기 위한 것으로 상수를 여러 개..
목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 Thread 클래스와 Runnable 인터페이스 Process란 실행 중인 프로그램 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 된다. Thread란 프로세스 내에서 실행되고 있는 흐름의 단위 동일한 프로세스 내에 존재하며, 프로세스의 메모리 영역을 공유 두 개 이상의 쓰레드를 가지는 프로세스를 멀티 쓰레드 프로세스 Multi Thread란 두 개 이상의 쓰레드를 가지는 프로세스를 멀티 쓰레드 ex) 크롬 창을 여러개 실행하면 운영체제로부터 메모리를 할당받아 프로세스가 크롬창을 실행한 만..
목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 예외(Exception)와 에러(Error) Exception 프로그램 실행 중 개발자가 구현한 로직에서 던져진 문제에 대한 정보를 담는 클래스를 말하며, 자바에서의 Exception은 컴파일 시점에서 컴파일러에게 발견되는 확인된 예외이다. 예외 처리를 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있다. Error 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 응용프로그램 실행..
목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 1. 인터페이스란? 인터페이스란 일종의 추상클래스이며, 추상클래스보다 추상화의 정도가 더 높다. 추상클래스는 추상메서드 이외에도 구현부가 있는 일반메서드나, 변수를 사용할 수 있는 반면, 인터페이스는 오직 추상메서드와, 상수만을 가질 수 있다. 2. 인터페이스 정의하는 방법 interface hello { public static final 타입 상수 = 값; // 추상 메소드..
목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 1. package 키워드 클래스들을 분류하는 클래스의 묶음으로서 디렉터리와 같다. 소스에 가장 첫 줄에 단 한 번만 명시되어야 함. 같은 소스 파일의 클래스들은 모두 같은 패키지에 속함 패키지 선언이 없으면 이름 없는 패키지에 속함 import java.util.*; 패키지 이름 규칙 소문자로 작성 자바 예약어 사용 금지(ex: java) 패키지를 사용하는 이유 이름 충돌 방지 클래스, 인터페이스, 이넘, 어노테이션 등 분류를 통해 쉽게 찾고 사용하기 위함 접근 제어 데이터 캡슐화 2. import 키워드 다른 패키지에 속한 클래스..
목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 1. 자바 상속의 특징 class 자식클래스명 extends 부모클래스명{} 상속이란 상위클래스에서 정의한 필드와 메서드를 하위클래스도 동일하게 사용할 수 있게 물려받는 것이다. extends 키워드를 사용하여 상속 class 자식클래스명 extends 부모클래스명1, 부모클래스명2{} // 불가능하다. 위와 같이 두 개의 클래스를 상속받는 것은 불가능 다중상속을 허용하면 여러 클래스로부터 상속받을 수 있기 때문에 복합적인 기능을 가진 클래스를 쉽게 작성할 수 있다는 장점이 ..
목표 자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 1. 클래스 정의하는 방법 자바는 객체 지향 프로그래밍인데 이때 객체를 만들어 내기 위한 설계도와 같은 개념을 클래스라고 한다. 객체의 상태를 나타내는 필드, 객체의 행동을 나타내는 메소드로 구성된다 클래스는 위와 같이 정의되어 사용됩니다. 변수와 메서드가 들어가고 이렇게 만들어진 객체를 만들기 위한 설계도일 뿐입니다. 실제로 객체를 만들기 위해서는 인스턴스화를 거쳐주어야 합니다. 2. 객체 만드는 방법 (new 키워드 이해하기) 클래스 객체 변수 = new 클래스(); 클래스를 정의했다면 클래스로부터 객체를 ..
junit 5 공식 문서를 참고하여 정리하였습니다. What is JUnit 5? 문서에서 JUnit 5는 세 가지 다른 하위 프로젝트의 여러 모듈로 구성됩니다. JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage JUnit Platform : 테스트를 발견하고 테스트 계획을 생성하는 TestEngine API를가지고 있습니다. Platform은 TestEngine을 통해서 테스트를 발견하고 ,실행하고 ,결과를 보고합니다. JUnit Jupiter : TestEngine의 실제 구현체는 별도 모듈입니다. 모듈 중 하나가 jupiter-engine입니다. 이 모듈은 jupiter-api를 사용해서 작성한 테스트 코드를 발견하고 실행합니다. Jupiter A..