부모 레이아웃 파일 layout.html layout:decorate는 기본 레이아웃을 상속받을 레이아웃 경로의 파일로 사용하겠다는 의미임. contents.html 컨텐츠 내용입니다. layout.html 화면이 렌더링되면서, CONTENT영역에 '컨텐츠 내용입니다'가 들어감
입출력 I/O
·
Language/Java
I/O란 Input과 Output의 약자로, 입력과 출력 간단히 줄여서 입출력이라고 부른다. 입출력은 컴퓨터 내부 또는 외부의 장치와 프로그램 간의 데이터를 주고받는 것을 의미 스트림 - 자바에서 입출력을 수행하려면, 두 대상을 연결하고, 데이터를 운반할 수 있는 운반통로가 필요함. - 스트림이란 데이터를 운반하는데 사용되는 연결통로이다. - 스트림은 단방향 통신만 가능하다. - 입력과 출력을 동시에 수행하려면, 입력을 위한 입력 스트림과 출력을 위한 출력 스트림이 필요하다. 바이트 기반 스트림 - 스트림은 바이트 단위로 데이터를 전송하며, 입출력 대상에 따라 다음과 같은 입출력 스트림이 있다. 입력스트림 출력스트림 입출력 대상의 종류 FileInputStream FileOutputStream 파일 By..
thymeleaf에서 스프링 환경변수 사용하기
·
Spring
위처럼 사용하면 스프링 환경변수 값을 화면단 thymeleaf내에서도 사용할 수 있다.
@JsonProperty
·
Spring
https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations @JsonProperty는 변수를 원하는 key값으로 직렬화시 활용할 수 있는 annotation임 public class Sample{ @JsonProperty("customer_name") private String customerName; } 해당 도메인 객체를 ObjectMapper클래스를 이용하여 출력하면, customerName이 아닌, customer_name으로 키 값이 출력되는 것을 확인할 수 있음.
Thread
·
Language/Java
프로세스와 스레드 - 프로세스 : 실행 중인 프로그램 -> 프로그램을 실행하면 OS로부터 실행에 필요한 자원을 할당받아 프로세스가 된다 - 프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원 그리고 스레드로 구성되어 있으며, 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것이 스레드 - 둘 이상의 쓰레드를 가진 프로세스를 '멀티쓰레드 프로세스'라 칭한다 - 멀티쓰레딩 : 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업을 수행하는 것 - 멀티쓰레딩의 장점: 1. CPU의 사용률을 향상시킨다. 2. 자원을 보다 효율적으로 사용할 수 있다. 3. 사용자에 대한 응답성이 향상된다. 4. 작업이 분리되어 코드가 간결해진다. 스레드의 구현과 실행 - 쓰레드를 구현하기 위해선 Thread클래스를..
Generics
·
Language/Java
Generics 다양한 타입의 객체들을 다루는 메서드나 컬랙션 클래스에 컴파일 시 타입체크를 해주는 기능으로, 객체의 타입을 컴파일 시 체크하기 때문에 객체의 타입 안정성을 높이고, 형 변환의 번거로움이 줄어듭니다. class Box {} Box : 제네릭 클래스, T의 Box또는 T Box라고 읽습니다. T : 타입 변수 또는 타입 매개변수 Box : 원시 타입 지네릭스의 제한 - static멤버에 타입 변수 T를 사용할 수 없습니다 -> T는 인스턴스 변수로 간주되기 때문입니다. static멤버는 인스턴스 변수를 참조할 수 없습니다. static멤버는 타입 변수에 지정된 타입, 즉 대입된 타입의 종류에 관계없이 동일한 것이어야하기 때문입니다. - 지네릭 타입의 배열을 생성하는 것도 허용되지 않습니다 ..
Collection Framework
·
Language/Java
- 컬렉션 프레임웍이란, '데이터 군을 저장하는 클래스들을 표준화한 설계'를 뜻합니다. - collection : 다수의 데이터 - framework : 표준화된 프로그래밍 방식 - 컬렉션 프레임 워크에서는 그룹을 크게 3가지 타입이 존재한다고 인식하고 각 컬랙션을 다루는데 필요한 기능을 가진 3개의 인터페이스를 정의하였습니다. - List, Set, Map - List : 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용합니다. (ArrayList, LinkedList, Stack, Vector등) - Set : 순서를 유지하지 않는 데이터의 집합으로, 데이터의 중복을 허용하지 않습니다. (HashSet, TreeSet) - Map: 키와 값의 쌍으로 이루어진 데이터의 집합으로, 순서는 유지되지 않..
날짜와 시간 & 형식화 date, time and formatting
·
Language/Java
Date는 날짜와 시간을 다룰 목적으로 JDK1.0부터 제공되어온 클래스입니다. 그러나 Date클래스는 기능이 부족했기 때문에 Calendar라는 새로운 클래스를 JDK1.1부터 제공하기 시작했습니다. 다만 Calendar 클래스도 단점이 존재하기 때문에, JDK 1.8부터 'java.time'패키지라는 기존의 단점들을 개선한 새로운 패키지가 추가되었습니다. Calendar Calendar는 추상클래스로 직접 객체를 생성할 수 없고, 메서드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 합니다. Calendar cal = Calendar.getInstance(); 다음은 Calendar의 get메서드로 받아올 수 있는 값들에 대한 예제입니다. package ch10; import java.util.C..