개발

WebP에 대해 알아보자

배경 사이드 프로젝트에 WebP를 적용해볼 일이 있어 적용하면서 공부했던 내용을 정리하였습니다. 생각보다 내용이 꽤 문서를 보는데도 정리하기가 어렵네요. 최대한 간단하게 정리하였습니다.  WebP란?   webp는 2010년 구글에서 공개한 이미지 포맷입니다. 기존의 JPEG 포맷을 대체하기 위해 나왔으며, 현재는 JPEG 뿐 아니라 PNG, GIF 그리고 Animated GIF (움짤)도 지원합니다. (당연히 JPEG에서 지원하지 않는 Transparency 또한 지원합니다.  [alpth channel]) 손실 압축, 무손실 압축 모두 지원되며, 공식문서에 따르면 webp는 동일 이미지 기준 JPEG 대비 25 - 34%, PNG  대비 26% 적은 용량을 가지고 있습니다.   WebP 구조 1. R..

2021.04.28 게시됨

개발/사이드 프로젝트

사이드 프로젝트 Pinpoint 도입 후기

배경 주말이나 퇴근시간에 짬짬히 사이드 프로젝트를 진행하고 있었는데 문득 이 사이드 프로젝트가 공개되었을 때 장애에 대비하기 위해, 그리고 무엇보다 회사에 APM이 없어서 이를 적용해보고 싶다는 생각에 연습삼아 사이드 프로젝트에 핀포인트를 도입하였습니다. (정시 퇴근을 위한 눈물겨운 노력) 사이드 프로젝트 소개는 팀원의 블로그로 대체합니다 deveric.tistory.com/114 (나도 써야지..) 핀포인트 개념과 설치 방법은 추후 작성에 작성할 예정입니다. 핀포인트란? pinpoint-apm.github.io/pinpoint/index.html 네이버에서 만든 대규모 분산 시스템의 성능을 분석하고 문제를 진단, 처리하는 플랫폼입니다. 실시간으로 어플리케이션의 요청을 모니터링할 수 있으며, 이를 통해 ..

2021.04.03 게시됨

일상/기타

서버가 생겼다.

대학생 시절 해커톤이나, 과제등을 할 때 서버용으로 AWS 프리티어를 굉장히 많이, 다양하게 사용했었습니다. 하지만 프리티어 사양 이상의 것을 하려면 여러모로 불편함이 많았습니다. 특히 메모리가 많이 부족했네요 ㅋㅋ AWS에서 돈을 내고 사용해도 되긴 하지만 내친김에 아예 공부목적으로만 사용할 서버용 데스크탑을 구매하였습니다. [Linux swap space 추가] (눈물나는 스왑메모리로 EC2 연명하기) 근데... 리눅스 뭐깔아요? 현재 글을 쓰고 있는 시점보다 약간 앞선 시간대에서 CentOS 가 개발이 중단되고 CentOS Stream 으로 전환될 예정이라고 합니다. 이런 느낌이네요 기존 Fedora -> RHEL -> CentOS 이후Fedora -> CentOS Stream -> RHEL [링크..

2021.03.13 게시됨

개발/Spring

[입문] jOOQ에 대해 알아보자

필자는 JPA로 개발할때 QueryDSL-jpa를 활용한 Type-Safe 한 SQL 작성을 굉장히 선호합니다.사람이 실수 할 수 있는 여지를 미연에 방지할 수 있기 때문입니다. 하지만 회사에서 JPA가 아닌 프로젝트를 맡게 되었고 이로인해 native sql 에서도이런 type-safe한 쿼리를 작성할 수 없을까? 라는 물음으로 찾아보게 되었습니다. (아 mybatis 쓰기 싫어요 ㅜㅜ) 물론 사실 QueryDSL 도 querydsl-sql이라는 형태로native SQL을 지원하지만 주변에서 jOOQ의 평이 좋아 직접 한번 입문 해보기로 하였습니다. 자세한 코드는 [여기] 서 확인할 수 있습니다.DB 스키마는 공식문서에서 제공하는 스키마를 살짝 각색하여 진행하였습니다.(링크의 src/main/resou..

2021.03.04 게시됨

개발/Spring

JPA로 Type-Safe한 CTE 작성하기

RDBMS에서 계층형 쿼리를 작성할때 Common Table Expression을 사용하여쿼리를 작성 할 수 있습니다. 일반적인 SQL에서는 WITH [ Recursive ] 라는 구문으로 작성가능합니다.해당 구문은 [ANSI 표준] 이기 때문에 MySQL이나, MariaDB, Oracle 등대부분의 RDBMS에서 사용할 수 있습니다. 이번에는 해당 구문을 JPA에서 Native SQL을 사용하지 않고 추상화 레벨을 유지하며,QueryDSL과 함께 사용할 수 있도록 하면서 겪은 삽질을 기록하였습니다. 스포일러) "공식적"으로 JPA는 CTE를 지원하지 않습니다 본 글은 MariaDB 기준으로 작성하였습니다. 해당 코드는 [여기] 서 확인할 수 있습니다. CTE 란? Common Table Expressi..

2021.02.21 게시됨

일상/회고

2020년 회고

이미 지나가버린 2020년이지만 그래도 기록으로 남기기 위해 생각나는 굵직한 이벤트들을 정리 해봤습니다. - 메인 이벤트 요약 1. 네이버 웹툰 인턴 - 2020.03 ~ 06 2. 대학교 졸업 - 2020.08 3. 이스트 소프트 입사 - 2020.11 ~ 1. 네이버 웹툰 인턴 2020년 1월, 졸업까지 한학기 밖에 남지 않았다는 위기감과 이대로내가 개발자가 될 수 있을까? 라는 의문 속에 뭐라도 해야겠다는 마음으로 당시 올라왔던 네이버 웹툰의 서버개발자 인턴 공고를 지원하게 되었습니다. 당시 SI에서 약 5개월 정도 인턴으로 실무를 겪은 것 외에는 이렇다할 경력이 없어서 연습이라도 하자는 마음으로 면접을 봤었는데.. 운이 좋게도 붙었었습니다. ㅋㅋ 이게 붙네... 당시 코로나 때문에 3개월간 재택과..

2021.01.08 게시됨