목록분류 전체보기 (253)
개발일기

1.1 adoptopenjdk/openjdk 저장소 추가 $ brew tap adoptopenjdp/openjdk 1.2 cask가 없다면 설치 $ brew install cask 1.3 OpenJDK 8 과 11 설치 $ brew install --cask adoptopenjdk8 $ brew install --cask adoptopenjdk11 vi .bash_profile 입력하여 파일에 진입해준 후 i를 눌러 write모드로 전환해준다. 글 바로 위에 사진처럼 글자들을 입력 해준다. 그 후 :wq로 저장해주고 빠져 나와준다. soruce ~/.bash_profile로 들어가서 위에서 설정해준 명령어 setJava11, setJava18을 입력하면 해당 버전이 바뀌게 된다. 이렇게 자바 환경 설정은..
간단한 웹 어플리케이션 개발 스프링 프로젝트 생성 Spring Boot로 웹 서버 실행 회원 도메인 개발 웹 MVC 개발 DB 연동 - JDBC, JPA, 스프링 데이터 JPA 테스트 케이스 작성 프로젝트 사용 기술 Spring Boot JPA Tomcat Gradle Thymeleaf 스프링 완전 정복 로드맵 스프링 입문 스프링 핵심 원리 스프링 웹 MVC 스프링 DB 데이터 접근 기술 실전! 스프링 부트 스프링 입문에서는 스프링의 전반적인 내용에 대해서 알고 그 다음 깊이 있게 들어가는 형식으로 진행하는 방향으로 공부 방향을 알려주었다. 무언가 기술을 배울 때 무작정 이론부터 학습하기 보다는 간단한 프로젝트라도 만들어보고 이론을 공부하면 훨씬 기억에 잘남게 되고 배우는 것이 더 많은 거같다. 웹 MV..
싱글턴(singleton)이란 인스턴스를 오직 하나만 생성할 수 있는 클래스를 말한다. 싱글턴을 사용하는 전형적인 예로 무상태(stateless) 객체나 설계상 유일해야 하는 시스템 컴포넌트를 들 수 있다. 그런데 클래스를 싱글턴으로 만들면 이를 사용하는 클라이언트를 테스트하기가 어려워질 수 있다. 타입을 정의한 다음 인터페이스를 구현해서 만든 싱글턴이 아니라면 싱글턴 인스턴스를 가짜(mock)구현으로 대체할 수 없기 때문이다. 싱글턴 만드는 방식 3가지 3-1. public static final 필드 방식의 싱글턴 public class Elvis{ public static final Elvis INSTANCE = new Elvis(); private Elvis() { ... } public void..
정적 팩터리와 생성자에는 똑같은 제약이 하나 있다. 선택적 매개변수가 많을 때 적절히 대응하기 어렵다는 점이다. 다양한 생성자를 사용하여야 할 때 , 점층적 생성자 패턴(telescoping constructor pattern)을 즐겨 사용했다. 점층적 필수 매개변수만 받는 생성자 , 필수 매개변수와 선택 매개변수 1개를 받는 생성자, 선택 매개변수를 2개까지 받는 생성자, … 형태로 선택 매개변수를 전부 다 받는 생성자까지 늘려가는 방식이다. 아래의 코드가 그 예이다. public class NutritionFacts { private final int servingSize; private final int servings; private final int calories; private final i..
Item 1: 생성자 대신 정적 팩터리 메서드를 고려하라 핵심 주제정적 팩토리 메서드의 장점 5가지이름을 가질 수 있다두번째, 호출될 때마다 인스턴스를 새로 생성하지는 않아도 된다.세 번째, 반환 타입의 하위 타입 객체를 반환할 수 있는 능력이 있다 예시 코드는 아래와 같다.public class Cat { private static Cat cat = null; private Cat() {} public static Cat getInstance() { // 초기화 if(cat == null) { cat = new Cat(); } return cat; }}public interface Shape { // Shape interface..