일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- springboot
- 생성자 주입
- @Configuration
- 스프링부트
- db
- spring
- assertThat
- assertThrows
- 스프링
- DI
- 스프링 부트 기본
- JPA
- 싱글톤
- thymeleaf
- 스프링 부트
- jdbc
- java
- SQL
- Effective Java
- mybatis
- 필드 주입
- 스프링 컨테이너
- 스프링 프레임워크
- DIP
- 스프링 빈
- 스프링 부트 입문
- resultMap
- kafka
- Javascript
- sqld
- Today
- Total
목록분류 전체보기 (292)
선 조치 후 분석
싱글턴 (Singleton) 인스턴스를 오직 하나만 생성할 수 있는 클래스 싱글턴 사용 이유 한 번의 객체 생성으로 재사용이 가능하기 때문에 메모리 낭비 방지 싱글톤으로 생성된 객체는 무조건 한번 생성으로 전역성을 띄기에 다른 객체와 공유가 용이 싱글턴을 만드는 방법 public static 멤버가 final 필드인 방식 정적 펙토리 메서드를 public static 멤버로 제공하는 방식 원소가 하나인 열거 타입을 선언하는 방식 1. public static 멤버가 final 필드인 방식 public class Elvis { public static final Elvis INSTANCE = new Elvis(); private Elvis() {}; public void leaveTheBuilding() ..
생성자와 정적 팩토리 메서드는 선택적 매개변수가 많을 때 적절히 대응하기 어렵다는 단점이 존재한다. 점층적 생성자 패턴 필수 매개변수를 받는 생성자 1개, 그리고 선택 매개변수를 하나씩 늘여가며 생성자를 만드는 패턴 필수 매개변수만 받는 생성자, 필수 매개변수와 선택 매개변수 1개를 받는 생성자, 선택 매개변수를 2개 받는 생성자... 이런 형태로 선택 매개변수를 전부 다 받는 생성자까지 늘려가는 방식이다. public class NutritionFacts { private final int servingSize; //(mL, 1회 제공량) 필수 private final int servings; //(회, 총 n회 제공량) 필수 private final int calories; //(1회 제공량당) 선택..
클래스가 객체를 생성하는 방법에는 2가지가 있다. Public 생성자 → public 생성자를 통한 객체 생성은 일반적으로 알고 있는 'new' 키워드를 사용하는 방법 정적 팩토리 메서드 → 'new'를 직접적으로 사용하지 않고 클래스 내에 선언된 메서드 내부에서 'new'를 사용해 객체를 리턴하는 방법 정적 팩토리 메서드 예시 String 클래스에서 구현되어 있는 정적 팩토리 메서드이다. 넘겨받은 파라미터로 new를 통해 String 객체를 생성한다. /** * Returns the string representation of the {@code char} array * argument. The contents of the character array are copied; subsequent * mod..

도커 (Docker) Go언어로 작성된 리눅스 컨테이너 기반의 가상화 플랫폼 독립된 환경을 만들어서 하드웨어를 효율적으로 활용하는 기술 즉, 특정 서비스를 패키징하고 배포하는데 유용한 오픈소스 프로그램 ※ 하이퍼바이저 및 가상화 그리고 컨테이너에 대한 개념을 알고 싶다면 작성해 둔 내용을 참고하자 도커를 사용하는 이유? 애플리케이션 독립성을 가진다. 다른 컨테이너와도 독립된 공간을 보장받아 충돌이 발생하지 않는다. 컨테이너 내부에 작업 후 배포하려 한다면 도커 이미지로 만들어서 운영 서버에 전달만 하면 된다. 마이크로 서비스 구조로 변화가 쉽다. 컨테이너 하나당 하나의 기능을 제공하는 모듈로 만드는 등 조정이 가능하다. 즉, 환경에 구애받지 않고 애플리케이션을 신속하게 배포, 확장 가능하다. 도커 이미지..

하이퍼 바이저 (Hypervisor) 가상화 물리적 자원인 하드웨어를 효율적으로 활용하기 위해서 하드웨어 공간 위에 가상의 머신을 만드는 기술 베이스가 되는 기존의 환경을 Host OS, 가상의 머신으로 분할된 각각의 환경을 Guest OS라고 부른다. 가상 머신을 생성하기 위해서는 하이퍼바이저 또는 가상 머신 모니터라고 불리는 소프트웨어를 이용한다. 각각의 Guest는 하이버파이저에 의해 생성되고 관리되며 시스템 자원을 할당받는다. Guest는 Host나 다른 Guest와 상호 간섭하지 않고 분리된 환경에서 구동한다. 하이퍼바이저를 활용하면 하드웨어가 여러 개 인 것처럼 하나의 서버를 여러 명이 나눠 쓸 수 있고, 컴퓨터 한 대에서 서로 다른 OS를 동시에 사용할 수도 있다. 하지만, 가상머신으로 무언..

Git Branch 전략 Git Branch에 전략, 즉 규칙을 부여하는 것 Git Branch를 효과적으로 관리하기 위한 워크플로우 각 Branch에 규칙을 정해놓고, 해당 규칙을 팀원들이 지켜가며 개발을 진행하는 것 종류 Git-Flow GitHub-Flow Branch를 사용해야 하는 이유? Main Branch는 일반적으로 출시되고 배포된 코드를 위한 브랜치 이곳에 기능을 하나씩 커밋을 진행하다 보면, 기능이 완성되기 전까지 Main Branch의 소스코드는 불완전상태로 존재 하나의 Branch로 개발을 진행하다 보면, 작업 중인 파일을 누군가 건드려 충돌이 발생 우려 독립적 개발을 위해 필요한 기능 Branch를 나누는 방법 main(master) : 서비스를 직접 배포하는 역할을 하는 브랜치 ..