본문 바로가기

server12

ModelMapper Entity 에서 DTO로 매핑해줄 때 사용할 라이브러리를 찾다가 ModelMapper를 사용하였습니다. source -> destination으로 matching strategy 나 다른 설정을 통해서 매칭시켜 암묵적으로 매핑시켜줍니다. 그 중에 기록하고자 했던 것은 Property Mapping 입니다. 대부분의 Object 매핑은 ModelMapper에서 해주게 되는데 조건이 존재하거나 컨버팅, DeepMapping을 원하는 경우에는 PropertyMapping을 사용해 클래스를 명시적으로 정의하고 source, destination 간의 매핑을 이뤄지게 합니다. public class Source { private long id; private String name; private String v.. 2019. 6. 25.
Lambda@Edge를 활용한 이미지 리사이징 Lambda@Edge 를 활용한 이미지 리사이즈 각 단말기에 적합한 이미지를 내려주기 위해 고민하다 모든 사이즈를 저장하는 것은 비용과 서버에 부담이 있어 불필요하다 판단하여 요청 시에만 생성하여 제공해 주려 Lambda@Edge를 도입해서 이미지 리사이즈를 구현했다.친절하게 AWS 블로그에 이미지 리사이즈 구현 포스팅이 있어 많은 참고를 할 수 있었고 생각보다 간단하여 기본적인 건 빠르게 구현하였다. ** Lambda@Edge : Cloudfront에서 제공하는 콘텐츠를 사용자가 지정하여 Lambda 함수 실행할 수 있는 서비스현재 람다 엣지는 US East (N. Virginia)에서만 제공되고 있음. CloudFront 이벤트로 사용한 건 Viewer Request(최종 사용자로부터 요청을 수신한 .. 2019. 3. 24.
WAS 속도 느림 현상 WAS에 속도 느림에는 여러가지 이유가 있겠지만, 원인 파악을 하는데 어떤 식으로 진행을 하였는지 간단하게 적어보겠다. 제일 먼저 CPU 점유율을 확인하였다. top 실제로 CPU가 굉장히 많이 점유하고 있었다. 문제가 발생했다는 것은 파악하였지만 어떤 원인인지 파악하지 못해 jstat / jmap / jstack으로 GC 및 힙, 스레드 상태를 확인하고 덤프파일로 생성하였다. GC는 Gabarge Collection으로 메모리 관리 기법 중 하나다. 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다. GC의 경우 -verbose옵션으로 log 파일을 생성해줄 수 있다. B.2.3 -verbose:gc OptionThe -verbose:gc option enables .. 2017. 2. 1.
로그 관리를 위한 logrotate.d logrotate is designed to ease administration of systems that generate large numbers of log files. It allows automatic rotation, compression, removal, and mailing of log files. Each log file may be handled daily, weekly, monthly, or when it grows too large. 로그파일이 너무 많아져서 30% 정도의 디스크 용량을 사용하고 있었다. 일정한 주기로 불필요한 많은 양의 로그 파일을 관리에 logrotate command가 있어 활용하였다.-v Turn on verbose mode. -d Turns on debug .. 2016. 12. 16.