전체 글 172

스트리밍 서비스 최적화를 위한 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

연말정산 구조 쉽고 간단하게 알아보자

1️⃣ 연말정산을 한 문장으로 요약하면1년 동안 미리 낸 세금이 적절했는지 다시 계산해서 더 냈으면 돌려주고 덜 냈으면 추가로 받는 과정” 즉, 새로운 세금을 매기는 게 아니라 이미 낸 세금을 정산하는 것이다.2️⃣ 연말정산 전체 프로세스 (큰 그림)연말정산은 항상 아래 순서로 흘러간다.연봉 (총급여) → 1. 자동으로 빼주는 금액 (근로소득공제) → 2. 세금 계산 기준 금액 (과세표준) → 3. 세율 적용 (누진세) → 4. 깎아줄 수 있는 세금 차감 (세액공제) → 5. 최종 세금 → 6. 이미 낸 세금과 비교 후 환급 or 추가 납부 위 순서는 연봉이 얼마든 동일하다.3️⃣ 단계별 구조를 쉽게 풀어보면연봉 (총급여)세전 연봉상여금 포함1. 근로소득공제 (자동계산)“회사 다니는 사람이라서 깎아줌”자..