전체 글 172

DNS 도메인 서버의 SN(Serial Number)은 무엇이고 왜 중요할까?

DNS를 운영하다 보면 SOA(Start of Authority) 레코드에서 Serial Number, 줄여서 SN이라는 값을 보게 된다.이 값은 해당 도메인의 DNS 존 정보가 몇 번째 버전인지를 나타내는 번호이다.예를 들어 example.com의 DNS 설정을 수정해 새 레코드를 추가하거나 IP 주소를 변경했다면,SOA 레코드의 SN도 함께 증가시켜야한다.example.com. IN SOA ns1.example.com. admin.example.com. ( 2026092201 ; Serial Number 3600 ; Refresh 600 ; Retry 1209600 ; Expire 300 ; Minimum TTL) 위 예시의 2026092201이 SN..

카테고리 없음 2026.09.22

스트리밍 서비스 최적화를 위한 Chrome Extension 개발기 (StreamLite) - 2

이전에 제작했던 크롬 확장 프로그램이 이번 업데이트(2.1v 릴리즈)를 통해 한 단계 더 개선했다.기존에는 YouTube 시청 환경 최적화에 집중했다면, 이제는 Netflix까지 지원 범위를 확장하여 보다 몰입감 있는 콘텐츠 시청 환경을 제공한다.주요 업데이트 내용1. Netflix 최적화 기능 추가이번 업데이트의 핵심은 바로 넷플릭스 지원이다.넷플릭스 접속 시 아래 기능이 자동으로 적용된다.메인 화면 광고 요소 제거자동 재생되는 미리보기 영상 차단넷플릭스를 이용하다 보면 의도하지 않은 미리보기 영상이 자동으로 재생되거나 불필요한 UI 요소로 인해 집중이 깨지는 경우가 있는데, 이번 기능을 통해 훨씬 깔끔하고 집중도 높은 시청 환경을 경험할 수 있다.2. 성능 개선 및 안정화 작업기존에 적용되어 있던 Y..

SideProject 2026.04.02

Gmail POP3 종료 (IMAP 전환 배경 정리)

Gmail 외부 메일 통합 기능 종료최근 Gmail에서 중요한 정책 변경이 발표되었다.기존에 제공하던 다음 기능들이 단계적으로 종료된다.POP3 기반 ‘다른 계정에서 메일 확인’Gmailify (외부 메일을 Gmail처럼 관리)일정신규 사용자: 2026년 1분기부터 사용불가기존 사용자: 2026년 말에 기능이 중단될 때까지 계속 사용 가능기존에 연결된 계정은 일시적으로 유지될 수 있지만, 신규 연동은 제한되며 결국 완전히 사라지게 된다. 기존 POP3 역할많은 사용자들이 Gmail 하나로 다음과 같은 메일을 통합 관리해왔다.네이버 메일회사 메일기타 외부 이메일 계정이 기능은 내부적으로 POP3 방식을 사용했다. - Gmail이 외부 메일 서버에 접속해서 메일을 “가져오는(pull)” 구조였다. 왜 POP..

스트리밍 서비스 최적화를 위한 Chrome Extension 개발기 (StreamLite) - 1

https://chromewebstore.google.com/detail/kckfmemgmphngdofnnkaiikhbmgjdmci?utm_source=item-share-cb StreamLite - Chrome 웹 스토어유튜브와 넷플릭스 성능 최적화 확장 프로그램chromewebstore.google.com YouTube는 다양한 추천 영상, 댓글, Shorts, 라이브 채팅 등 많은 UI 요소를 제공하지만 사용 목적에 따라서는 이러한 요소들이 오히려 집중도를 떨어뜨리고 페이지 성능에도 영향을 줄 수 있다.그래서 이번 프로젝트에서는 YouTube 페이지를 단순화하고 성능을 개선하는 Chrome 확장 프로그램 StreamLite를 개발하였다.프로젝트 목표이 확장 프로그램의 최초 목표는 크게 두 가지였다..

SideProject 2026.03.12

SVN 저장소를 Git으로 백업 및 이관하기 (SVN → Git Migration)

사내 프로젝트는 오래전부터 SVN(Subversion) 으로 소스코드를 관리하고 있었다.하지만 대부분의 개발 조직이 Git 기반 협업 환경(GitHub / GitLab 등) 을 사용하고 있기 때문에, 기존 SVN 저장소를 사내 Git 서버로 백업 및 이관하는 작업을 진행하게 되었다.이번 글에서는 실제 프로젝트를 이관하면서 진행했던 과정과 그 과정에서 겪었던 트러블슈팅까지 함께 정리해보려고 한다.1. 목표이번 작업의 목적은 단순히 소스를 옮기는 것이 아니라 아래와 같은 조건을 만족해야 했다.기존 SVN 저장소는 그대로 유지Git으로 전체 소스 백업SVN Commit History 유지사내 GitHub 서버(Gitea)로 Push즉 구조는 다음과 같다.SVN (기존 운영) ↓Git 로컬 변환 ..

카테고리 없음 2026.03.06

[형상관리] GitHub에 잘못 PUSH한 폴더 및 파일 완전 삭제하기 (BFG 사용)

프로젝트를 진행하다가 Docker 설정 폴더를 GitHub에 실수로 Push하는 일이 발생했다.단순히 git rm으로 삭제하면 최신 버전에서는 사라지지만, 히스토리에는 그대로 남아있다.특히 설정 파일 안에 민감 정보(DB 계정, 내부 IP, Key 등)가 포함되어 있다면 반드시 히스토리까지 완전 삭제해야 한다.이번 글에서는 BFG Repo Cleaner를 이용해 특정 폴더를 Git 히스토리에서 완전히 제거하는 방법을 정리한다.1. 왜 git rm으로는 부족한가git rm -r Dockergit commit -m "remove docker folder"git push위 방법은 현재 브랜치에서만 삭제된다.하지만 Git의 과거 커밋 기록에는 Docker/ 폴더가 그대로 남아있다.즉, 누군가 이전 커밋을 조회하..

Dev/CS 2026.03.04

Docker 기반 웹 푸시 알림 시스템 - 5

PWA 웹 푸시 시스템 구축 최종 정리1. 프로젝트 개요이번 프로젝트의 목표는 PWA 웹 푸시 기능을 Docker 기반 구축하는 것이 목표였다.단순히 기능 구현이 아니라,실제 운영 서버 적용Docker 기반 배포 환경 반영Oracle 10g 사용 환경 고려기존 통합 로그인 시스템과의 분리를 기준으로 설계를 진행했다.2. 기술 스택최종 운영 환경은 다음과 같다.[Backend]- Spring Boot 3.5.9- Java 17- Spring Data JDBC- Oracle 10g[Infra]- Docker (Rocky Linux)[Frontend]- PWA- Service Worker- Web Push API[Push 인증]- VAPID Key 기반 인증특이사항:로컬 / 운영 동일 버전 DB 사용Oracl..

SideProject 2026.03.04

Docker 기반 웹 푸시 알림 시스템 - 4.5

소스 형상관리 및 사내 Git 서버(Gitea) 연동이번 단계에서는 프로젝트 소스 형상관리를 위해 Git을 도입하고,초기 GitHub 연동 이후 사내 Git 서버(Gitea) 로 이전한 과정을 정리한다.1. Git 도입 배경Spring Boot 기반 웹 푸시 알림 서버를 개발하면서 다음과 같은 필요성이 있었다.코드 변경 이력 관리기능 단위 버전 관리협업 및 추후 확장 대비회사 내부 정책에 맞는 형상관리 체계 구축초기에는 사이드 프로젝트 개념으로 GitHub Private Repository로 관리했으나,추후 내부적으로 활용이 가능할 것으로 판단되어 사내 보안 정책에 따라 내부 Git 서버(Gitea)로 이전하게 되었다.2. gitignore 구성기존 연동했던 Github에선 IDE 설정 파일, 빌드 산출..

SideProject 2026.02.12