일단 해보고, 아니면 뭐

실패했어도 배웠으면 실패가 아냐.

무한한 개발세계 여행기

Etc 3

Java heap memory leak - JNI

요 근래 이직 준비를 하면서 바빠 블로그를 신경 쓰지 못했는데, 운 좋게 서비스 회사에 이직을 하게 돼서 기쁜 마음으로 다시 블로그를 켜게 되었다. 무슨 주제로 포스팅을 할까 하다가 첫 직장에서 경험했던 업무들 중에 가장 인상 깊었던 일을 리마인드 겸 정리하고 공유하고자 한다. 때는 바야흐로 입사한 지 6개월도 되지 않은 따끈따끈한 신입시절 나는 통합관제 라이선스 모듈 기능을 개발하게 되었고, 라이선스 키를 암호화/복호화하는 모듈을 연동하게 되었다. 연동해야 하는 프로젝트는 Java + Spring Boot로 구성된 서버였고 암/복호화 모듈은 C언어로 구성되어 있었다. 나는 그래서 연동을 위해서 JNI를 처음 써보게 되었다. 일은 여기서 터진다. 나는 C언어도 처음이고 JNI도 처음 써보는데 Java m..

Cortex Alertmanager 연동하며 만난 이슈 대응 기

현재 프로젝트에서는 관제서버의 다양한 메트릭 데이터를 조회하기 위해서 시계열 데이터 베이스인 Prometheus를 사용하고 있었다. 점차 프로젝트를 SaaS Service로 전환하기 위해 모든 모듈과 서비스의 Scale out 구조를 고민하고 있는데 기존에 Prometheus는 Scale out 구조가 감안되지 않았기 때문에 Scale out 할 수가 없었고, 그로 인해 우리는 Cortex 라는 오픈소스를 도입하게 되었다. 이에 알람을 울려주는 Alertmanager도 다시 연동하게 되었고, 연동하면서 겪었던 어려움들과 이슈들을 어떻게 대응했지는 정리해보고자 한다. (다시 생각하면 정말 끔찍했다.) Work Flow Cortex Alertmanager가 알람을 등록하고 알람이 울려 Client에게 울리기..

JPA의 사실과 오해 (NHN Cloud Forward)

NHN Cloud에서 발표한 'JPA의 사실과 오해'의 세미나를 들으면서 정리한 내용이다. 연관관계 매핑 [Entity 매핑] Entity : JPA를 이용해서 데이터베이스 테이블과 매핑할 클래스 Entity 매핑 : Entity 클래스에 데이터베이스의 테이블과 컬럼, 기본 키, 외래 키 등을 설정하는 것 [연관관계 매핑] Entity들은 대부분의 경우 다른 Entity들과 연관관계를 가짐 데이터베이스 테이블은 외래 키(FK)로 Join을 이용해서 관계테이블을 참조 Entity는 객체 참조를 이용해서 연관된 Entity를 참조 연관관계 매핑 : 데이터베이 테이블의 외래 키(FK)를 객체의 참조와 매핑하는 것 [다중성 (Multiflicity)] @OneToOne @OneToMany @ManyToOne @..

Etc/Seminar 2022.05.25