본문 바로가기

전체 글37

DataGrip DataGrip JPA 엔티티 자동생성 에 대해서 알아보자. 매 번 생성하는 엔티티를 DataGrip에 등록 후 자동화해서 생성해보자. 매우 편리하다. import com.intellij.database.model.DasTable import com.intellij.database.model.ObjectKind import com.intellij.database.util.Case import com.intellij.database.util.DasUtil /* * Available context bindings: * SELECTION Iterable * PROJECT project * FILES files helper */ packageName = "com.benx.membership.model.entit.. 2019. 4. 7.
AWS VPC 구성 Dev용 VPC 를 Ansible 스크립트로 Subnet을 퍼블릭, 프라이빗 두 개씩 간단하게 각각 구성하였다. 서비스와 DB는 프라이빗 서브넷에 위치해있고 NAT를 통해 통신하였고 ELB를 붙여 외부와 통신할 수 있게 하였고 Bastion Host를 붙여 접속 및 배포가 가능하게 처리하였다. NACL 은 세세하게 제어하기 어려워 Security Group으로 풀었다. AWS 콘솔에서 VPC를 구성하기엔 챙겨야하할 요소들도 많고 복제하기도 어려운 부분이 있어 재 Ansible로 VPC 스크립트를 재사용하니 꽤나 유용했다. enviroment만 수정해주면 언제든지 같은 결과를 받을 수 있으니 yaml 을 지원하니 익숙한 개발자들은 간단하게 구성해볼 수 있다. VPC를 구성하기 위해선 AWS의 서브넷, 라우.. 2019. 4. 7.
travis-ci travis-ci와 github 연동 여러 CI가 있지만 소규모의 개발자로 빠르게 적용하고 추가 리소스가 발생하지 않은데 굉장히 효율적인 상용 CI를 사용하기로 했다. 비교적 간단한 스크립트와 빠르고..! 순차적으로 결과를 확인할 수 있는 장점이 있으므로 적용하였다. 거두절미하고 travis-ci 에 github repository를 연동을 해보자. Generate SSH Key personal access token로 repository 에 SSH 키를 발급한다. travis login --pro # travis logintravis sshkey --generate -r {organization}/{repository} # ssh generate ssh key Add .travis.ymltravis.y.. 2019. 3. 27.
Lambda@Edge를 활용한 이미지 리사이징 Lambda@Edge 를 활용한 이미지 리사이즈 각 단말기에 적합한 이미지를 내려주기 위해 고민하다 모든 사이즈를 저장하는 것은 비용과 서버에 부담이 있어 불필요하다 판단하여 요청 시에만 생성하여 제공해 주려 Lambda@Edge를 도입해서 이미지 리사이즈를 구현했다.친절하게 AWS 블로그에 이미지 리사이즈 구현 포스팅이 있어 많은 참고를 할 수 있었고 생각보다 간단하여 기본적인 건 빠르게 구현하였다. ** Lambda@Edge : Cloudfront에서 제공하는 콘텐츠를 사용자가 지정하여 Lambda 함수 실행할 수 있는 서비스현재 람다 엣지는 US East (N. Virginia)에서만 제공되고 있음. CloudFront 이벤트로 사용한 건 Viewer Request(최종 사용자로부터 요청을 수신한 .. 2019. 3. 24.
Hibernate Session @Transactional Test Case Lazy Load with Hibernate Hibernate Session -- beforeTranasaction -- endTransaction Hibernate Session.close() https://developer.atlassian.com/server/confluence/hibernate-sessions-and-transaction-management-guidelines/ Hibernate Session 은 트랜잭션 scope 를 감싸는데, 즉 트랜잭션이 마무리 되면 세션도 종료된다. Lazy Load Object 같은 경우 Hibernate Session 단위로 유지되는 데 commit 이 완료되지 않은 시점에서 save / update 를 실행.. 2018. 12. 10.
Fluentd Fluentd is an open source data collector for unified logging layer. API 서버에서 수집할 데이터와 DB 에 있는 데이터를 조합해 분석해야할 일이 생겨 Kafka 이벤트를 생성해 DB 로 Request 를 보내는 작업이 필요했는데, Fluentd 에서 제공하는 plugin이 있어 이를 활용했다. 다른 로그 수집기인 Logstash를 ElasticSearch 와 Kibana를 연동하기 위해 적용했었는데, Logstash는 아키텍쳐 적응에 대한 유연성과 연동 솔루션에 대한 호환성을 강조하고 있기 때문에 타 솔루션과 연동이 강하고 반면, Fluentd는 아키텍쳐의 단순성과 이를 기반으로 한 안정성을 초점을 두고 있다. 그래서 아키텍쳐 구성이나 설정이 간단하.. 2017. 7. 28.