@Valid 애너테이션으로 데이터를 검증하고, 해당 데이터에 에러가 있을 경우 예외 메세지를 JSON으로 처리하는 ExceptionHandler 처리 방법입니다.
1. 검증할 필드에 Annotation을 추가합니다.
...
@Id@Column(name = "COMP_CD", length…
하이버네이트의 hbm2ddl을 통해 데이터베이스에 테이블을 생성할 경우, 하이버네이트는 엔티티의 컬럼들을 알파벳 순(PK는 앞쪽에 생성)으로 생성합니다.
@Entitypublic class CompanyTest {
@Id private String companyCode;
private String companyName;
DB 프로그래밍은 SQL을 통해 데이터를 생성하고, 조회하고, 수정하는 일이 대부분의 작업입니다.
개발단계에서는 적은량의 데이터로 개발하다보니 SQL 실행속도가 빠르지만, 많은 데이터들이 다뤄지는 운영환경에서는 여러가지 요인에 의해 SQL 실행속도가 현저히 느려질 수 있습니다. 특히나 여러명이 동시에 개발을 하다보면, 미처 인덱스를 설정하지 않은 필드들이 항상 문제를 일으키곤 하죠.
O2O나, 커머스 서비스의 특성상 초기 고객을 확보하기 위해 다양한 프로모션 ( 온/오프라인 쿠폰) 을 진행 하기도 하고, 상품 전시를 위해 많은 이미지들을 사용합니다.
카카오픽 개발당시에 딜 메인 전시화면의 케이스가 너무 많아 어떻게 할까 고민하다, 여러 케이스에 맞는 이미지들을 미리 생성한 후 iOS / Android 2개의 클라이언트에서는 단순히 이미지만…
보통 스타트업은 빠른 프로토타이핑을 통해 MVP(Minimum Viable Product) 로 시장에 진출합니다.
기능구현에 집중해서 개발하다보니 제대로된 테스트 코드가 없을 때도 있고, 얼마나 많은 에러가 발생할지 가늠하기 쉽지 않은 상황들이 대부분입니다.
Spring Security에서 Remember-Me 활성화시 RememberMeService와, RememberMeAuthenticationProvider 두군데 키를 동일하게 맞춰 주어야만 정상적으로 동작합니다.
@EnableWebSecurity@EnableGlobalMethodSecurity(prePostEnabled = true)@EnableRedisHttpSession(maxInactiveIntervalInSeconds…
1편 내용을 다시 정리해보겠습니다.
SpringFramework로 개발을 하다보면 @Transactional, @Caching Annotation으로 Transaction이나 Cache 처리를 간단히 할 수 있습니다.
하지만 의도했던 대로 Transaction이나 Cache 처리가 되지 않을 때가 있습니다.
S3(Simple Storage Service)는 내구성과 확장성이 매우 뛰어난 객체 스토리지를 제공하는 AWS의 대표적인 서비스입니다.
Spring Social Documentation (http://projects.spring.io/spring-social/) 을 보다가, Github에서 적당한 예제를 검색해봤는데.. Production Ready 수준의 샘플이 없는 것 같아서 간단하게 만들었습니다.
1) Facebook, Twitter, Github, LinkedIn, Kakao 로그인