일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정적팩토리메서드
- jpa no session
- 스프링 시큐리티 설정
- open-session-in-view
- java predicate
- 자바 필터
- 기능적 요구사항
- 비기능적 요구사항
- 스프링
- 스프링di
- Spring
- IOC
- 동적파라미터
- 스프링부트 도커
- Atomicity
- 소프트웨어의 품격
- method refetence
- 도커 이미지 빌드
- 스프링 포매터
- 수정자주입
- fetch join
- ioc컨테이너
- 스프링시큐리티
- 토비의 스프링
- kotlin 리팩터링
- spring formatter
- 생성자주입
- kotlin ::
- jpa lazy
- 그래프큐엘
- Today
- Total
목록분류 전체보기 (109)
공부기록
생성자에 매개변수가 많다면 빌더를 고려하라정적팩터리와 생성자의 문제?선택적 매개변수가 많을 때 적절히 대응하기 어렵다.문제해결하기점층적 생성자 패턴필수 매개변수만 받는 생성자, 필수 매개변수와 선택 매개변수 1개를 받는 생성자 ... 이런 식으로 선택 매개변수를 전부 다 받는 생성자까지 늘려가는 방식.매개변수가 많아지면 코드를 작성하거나 읽기 어렵다.public class Solution { private int a,b,c,d; Solution() { this(0,0,0,0); } Solution(int a) { this(a,0,0,0); } Solution(int a, int b) { this(a,b,0,0); } .....
생성자 대신 정적 팩터리 메서드를 고려하라.클래스의 인스턴스를 얻는 방법은 전통적으로 public생성자. 그 외에도public 생성자 외에도 클래스의 인스턴스를 반환하는 단순한 정적 메서드도 있다. 정적 팩터리 메서드의 장점1. 이름을 가질 수 있다.생성자 자체만으로는 반환될 객체의 특성을 제대로 설명 못하지만, 정적팩터리메서드는 반환될 객체의 특성을 이름으로 나타낼 수 있다BigInteger(int num1, int num2, Random) BigInteger.probablePrime 하나의 시그니쳐 == 하나의 생성자. 하지만 팩터리메서드는 이름을 줌으로써 각각의 차이를 드러내는 이름을 지어줄 수 있다.2. 호출할 때마다 인스턴스를 새로 생성하지 않아도 된다.생성비용이 큰 객체가 자주 요청되는 상황이..
우리 프로젝트의 git 워크플로우.추가.우리는 모두 협업 중인 상태입니다. 따라서 내가 기능을 작업하고 있을 때, 작업의 베이스가 되는 코드가 최신 상태가 아닐 수도 있음을 알아야합니다.상황 예)로컬저장소에서 feat/login 브랜치를 만든 뒤 로그인 기능을 구현중이다.다른 팀원이 회원가입기능을 완성시켜서 upstream/develop 에 create pull request를 하고, 팀장이 최종적으로 merge했다.이 상황이라면 지금 개발하고 있는 로그인기능은 회원가입기능이 없는 코드 위에서 작업하고 있는 것입니다. 따라서 내 로컬 저장소를 최신화할 필요가 있습니다.Fetch origin을 누릅니다.Choose a branch to mergo into :브랜치명 을 클릭합니다그럼 current bran..
Git과 Github Desktop 설치어제 강의실에서 보여드렸던 것처럼 코드없이 텍스트파일로 Git의 어드밴티지를 누릴 수 있는 방법을 알아봅니다.먼저 Git홈페이지로 들어가서 Git을 다운로드 받습니다.다음 링크로 가서 Git Desktop을 다운로드 받습니다. GitHub Desktop | Simple collaboration from your desktop그 후에 Console에 가서 git --version을 쳐봅니다.git의 version 정보가 뜨면 제대로 설치 된 겁니다.Git과 Github의 차이git은 파일들을 트래킹하는 방식입니다. GitHub은 git파일들을 업로드하는 곳입니다.일단 git프로젝트가되면, git은 모든 파일들을 감시합니다. 뭐가 바뀌었고, 언제 바뀌었고, 누가 바꿨고..