Logic in Code,
Freedom in Travel.

인생 뭐 있나 사람 사는거 다 똑같지

분류 전체보기

실무 경험/개발 도구 & API 테스트

IntelliJ IDEA - 한번 알아두면 유용한 자동으로 파일 끝에 개행 추가하기 (no newline at end of file) + feat. Prettier

no newline at end of file 란 무엇일까, Github, GitLab을 사용하다 보면 한번쯤 보고 지나쳤을 키워드이다. Git GUI 클라이언트 툴인 Fork 에서도 no newline at end of file 이라는 문장을 쉽지 않게 볼 수 있었다. [위키백과]POSIX(포직스, /ˈpɒzɪks/)는 이식 가능 운영 체제 인터페이스(移植可能運營體制 interface, portable operating system interface)[1]의 약자로, 서로 다른 UNIX OS의 공통 API를 정리하여 이식성이 높은 유닉스 응용 프로그램을 개발하기 위한 목적으로 IEEE가 책정한 애플리케이션 인터페이스 규격이다. 이러한 인터페이스 규격이 나온 배경을 알아야 하는데, 찾아본 사례로는..

2024. 3. 14. 20:43
사이드 프로젝트

옵시디언 Github Action 으로 파일 등록 알림 보내기

스터디 진행 과정 중 옵시디언을 지리와 노션처럼 사용하기로 했다.이로 인해 글이 업로드 되었다는 것을 디스코드에 공유하기로 했다.이 과정을 자동화하기 위해옵시디언에 글을 작성하면 자동 커밋 + Push 가 된다.Push 된 파일들을 디스코드로 공유한다.정도로 분류했다.1번은 옵시디언 확장 프로그램으로 해결이 가능하며2번은 Github Action 으로 해결이 가능해 보였다.요구사항옵시디언에 글을 작성하면 Github 에 업로드업로드 된 글을 Discord 의 웹훅으로 알림을 준다.알림 내용제목을 통해 어떤 글이 추가되었는지 알 수 있다. 이는 파일 경로로 유추가 가능하다.옵시디언 주소 연결하여, 바로 갈 수 있도록 한다.각 글의 카테고리를 분류하여 어떤 주제인지 알려준다.글이 작성된 시간을 기록한다.작성..

2024. 3. 13. 09:31
Programming/스프링 부트(Spring Boot)

[Spring Boot] - Hikari

비밀번호로 보호된 글입니다.

2024. 3. 3. 18:53
Database/RDBMS

MySQL 로그 종류 알아보기

서버를 운영하다 보면 어플리케이션, 네트워크, DB 등에서 장애가 발생할 수 있다. 이때 장애의 원인을 파악하기 위해서는 로그를 확인하는 것은 매우 중요하다.Laravel 을 개발했을 당시 Laravel 로그을 보는것도 문제 해결에 도움이 되었지만, Apache 로그도 무시할 수 없었다. 때문에 로그의 중요성을 알게 되었다.또한 Express 로 개발된 서비스에 장애가 발생했었는데 async/await 누락으로 Express 의 로그로는 트래킹을 할 수 없어 Postgres 로그를 확인하여 문제를 해결했었다. 아래는 MySQL 운영시 로그 정보를 저장하는 방법이다.MySQL 의 로그 종류에러 로그(Error Log)제너럴 로그(General Log - MySQL Command History Log)슬로우..

2024. 3. 2. 03:17
실무 경험/실무 개발 & 협업

2022 - 휴가만 쓰면 발생하는 우마카세가 삼겹살로 바뀌던 날: 크리스마스 전전날의 악몽 (TLS 이슈)

평화로운 날 2022년 12월 23일. 크리스마스 이브 전날이자, 코로나 백신 접종으로 얻은 소중한 1일 휴가였다. 오전에는 멘토님, 그리고 그의 제자분과 건대 롯데백화점에서 커피챗을 하며 시간을 보냈다.하지만 이날의 메인이벤트는 저녁이었다. 크리스마스 기념으로 청담동 우마카세를 예약해 뒀기 때문이다. 인천에서 차를 끌고 올라오는 친구를 기다리며 카페에 앉아있던 오후, 너무나 평화롭게 시간을 때우고 있었다. 오후 6시. 친구가 거의 도착했다는 연락을 받았고, 나는 청담동으로 이동할 채비를 했다. 딱 3분 뒤, 내 휴대전화가 진동하기 전까지는 모든 게 완벽했다.18:03, 재앙의 시작장애 알림 문자와 동시에 회사에서 전화가 걸려 왔다. "야 서비스 안된다"카페 테이블에 급하게 노트북을 펼쳤다. VPN을 통..

2024. 2. 29. 01:06
실무 경험/실무 개발 & 협업

2023 - 모니터링을 구축해서 프로젝트 운영을 편하게 하자

장애의 시작 - Slony-I 리플리케이션 붕괴출근 후 오전 10시, 사이트에 접속이 안된다는 메세지를 받았다. 상황 분석PostgreSQL Slony-I 로 Master-Slave 리플리케이션 구성되어 있다. Slave 서버 한 대가 삭제되었다. (직원중에는 이 서버에 대해 아는 사람이 없었다)Master 서버의 디스크가 가득 찼다. 문제의 Slave 서버 한대가 사라진 후 문제가 시작되었다. 장애 원인Slony-I 는 Slave 로 복제 데이터를 전송할 때 트랜잭션 로그(WAL)를 사용한다. Slave에 전달이 지연되거나 다운되면 아래와 같이 문제가 발생할 수 있다. Master 에서는 WAL 로그를 계속 생성함 Slave가 복구될 때까지 로그를 보관WAL 로그가 디스크를 가득 채움 (500GB → ..

2024. 2. 29. 01:04