전체 글

· 기타/git
just the docs 를 통한 Github 블로그 만들기 Windows 10 환경에 깃헙 블로그를 만들어보자. 설정 도중 출력된 에러까지 해결해보자. 1. ruby install RubyInstaller for Windows Is RubyInstaller for you? RubyInstaller is the easiest and most widely-used Ruby environment on Windows. And Ruby is a great language for beginners as well as professionals. It’s suitable for small scripts as well as large applications. RubyInstaller com rubyinstaller.o..
· JVM/JPA
🎯 Goals Entity 는 사실상 Getter Setter 및 핵심 비즈니스 메소드만 있어야한다. 화면 디자인과 관련된 로직을 추가해선 안된다. API 설계시 entity 객체를 반환하지 않아야한다. 라는 위 두 명제를 이해한다. 잘못된 예제 Member.java @Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String userName; @Embedded private Address address; // 연관 관계의 주인이 아닌 경우 읽기 전용이 됨. // `member` field in order 에 의해 매핑되었다는 것을 명시. @..
말과 글이 깔끔해지는 PPT 서식 Tips Numbering 제목과 총 개수 표시 줄바꿈 표 사용 공간이 넉넉할 경우 좌우 분산 불필요한 조사 생략 넘버링 + 제목과 총 개수 표시 + 줄바꿈 표 사용 및 불필요한 조사 생략 좌우 분산 PPT 페이지 공간이 넉넉할 경우 사용. 숫자로 내용 강조 예시 색상 테마 정하는 팁 이미 자주 사용하는 이미지를 불러오고 홈 - 도형 채우기 - 스포이트 기능을 사용하면 쉽게 원하는 테마의 색상을 따라할 수 있다. 메모장을 PPT로 옮기는 팁 Enter 로 슬라이드 구분 Tab 으로 하위 항목 구분 파일명.ppt 저장 인코딩 UTF-16LE 아래와 같이 메모장에 입력하고 메모장.ppt 파일을 저장하면 다음과 같은 4장의 ppt 슬라이드가 구성된다. When to use? ..
· JVM/Spring
빈 스코프는 빈이 존재할 수 있는 범위를 말한다. Spring Scope 구분 설명 실행 순서 싱글톤 기본 스코프, 스프링 컨테이너 시작-종료까지 유지되는 가장 넓은 범위 스코프 스프링 컨테이너 생성 시점에 Bean 생성, DI 및 초기화 메소드 실행 프로토타입 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프 Bean 을 조회할 때 생성되고 초기화 메소드도 실행됨. 90% 이상은 싱글톤, 간혹 프로토타입 스코프를 사용한다. 왠만하면 다 싱글톤으로 해결하라. 웹 관련 스코프 구분 설명 Request 웹 요청이 들어오고 나갈 때까지 유지되는 스코프 Session 세션이 생성되고 종료될 때까지 유지되는 스코프 Application 웹의 서블릿 컨텍스트 같은 범위..
· JVM/Spring
Conclusion @Postonstruct, @PreDestory annotation 으로 콜백메소드를 지정하라. 외부 라이브러리 콜백 메소드 지정이 필요할 때만 @Bean 메소드 지정 방식을 사용하라. Why to use? 애플리케이션을 개발하다보면 초기에 DB 커넥션 풀이나 Socket 등 을 미리 열어두는 것이 필요할 수 있다. 반대로 이렇게 연결을 유지하는 객체들은 애플리케이션 종료시 안전하게 연결 해제 (혹은 반납)을 해줄 필요가 있다. 이를 'release' 혹은 'close' 라 하는데, Spring은 이 동작을 안정적이고 편하게 할 수 있는 매커니즘을 제공한다. 스프링 빈은 객체 생성 -> 의존 관계 주입 초기화 작업은 의존관계 주입 '후'에 되야한다. 이 "의존 관계 주입 완료" 시점을..
· JVM/Spring
한 타입(Interface)에 대해 여러 Bean 이 등록되어 있으면 어떻게 해결할 것인가? Autowired 동작 순서 Type Matching Type Matching 결과가 2개 이상인 경우 필드명이나 파라미터 명으로 빈 이름 매칭. public class OrderServiceImpl implements OrderService{ // 구현체가 아닌 Interface (역할) 에만 의존해야한다. => DIP 원칙 준수 private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired // Type Matching 시도 // 타입 매칭 결과가 2개 이상인 경우 필드명 혹은 파라미터..
M_Falcon
Falcon