전체 글 174

JDK 업데이트 후 Tomcat 실행 오류 해결: The specified JRE installation does not exist

Windows가 갑자기 재부팅된 뒤 Eclipse에서 기존에 사용하던 Tomcat 서버를 실행하자 다음 오류가 발생했다.'Starting 서버명' has encountered a problem.The specified JRE installation does not exist 원인은 JDK 업데이트 이후에도 Eclipse의 서버 실행 설정이 기존 JDK를 참조하고 있었기 때문이었다.Windows 이벤트 로그로 설치 및 재부팅 이력을 확인하고, Eclipse에 새 JDK를 등록한 뒤 Tomcat 실행 환경을 변경해 해결했다. (여담이지만 이런 환경 관련 설정 변경은 개발자에게 매우 크리티컬한 부분인데 별도 안내없이 처리 되었다는게 아쉬웠다....)1. 발생 환경과 증상사용하던 환경은 다음과 같다.운영체제Wi..

Dev/Spring&Java 2026.09.28

게임 FPS, 높을수록 좋을까? 프레임 설정 쉽게 정리

게임 설정에 있는 FPS, 높게 설정하는 게 좋을까? 보통 높을수록 화면이 부드럽다.하지만 무조건 ‘무제한 or 높은 것’이 좋은 것은 아니다.FPS가 뭘까?FPS는 1초 동안 만들어지는 게임 화면의 수다.30 FPS: 움직임이 다소 끊겨 보일 수 있다.60 FPS: 많은 게임을 무난하게 즐길 수 있는 수준이다.144 FPS 이상: 빠른 움직임을 더 부드럽게 표현할 수 있다.다만 높은 FPS의 효과를 충분히 보려면 모니터도 그에 맞는 주사율을 지원해야 한다.그럼 무조건 높이면 될까?높은 FPS를 내려고 PC가 더 많이 일하면 발열과 팬 소음, 전력 소모가 늘 수 있다.반대로 FPS를 적절히 제한하면 이런 부담을 줄이는 데 도움이 된다.조용하게 게임을 즐기고 싶거나 노트북을 사용한다면 고려할 만하다.참고로..

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