전체 글
-
널 구축할거야! : EC2, REDIS,Docker로 CI/CD 구축하기백엔드 : 서버공부/Spring 2025. 10. 8. 22:39
작년 방학동안 프로젝트를 진행하면서 깃허브 액션을 기반으로 CI/CD를 구축하는 파트를 담당하게 되었다.EC2, RDS 관련된 작업이라 여간 신경쓸게 한두가지가 아니다. 본 포스팅에선 설명하지않겠지만 CI/CD 가 정상적으로 이루어진줄 알았지만 EC2 인스턴스에 직접 접속하여 로그를 살펴보니 RDS연결이 계속 실패했던 문제도 있었다..(인바운드, 아웃바운드 규칙을 구글링결과처럼 모든 외부에게 허용 등을 하여도 안됬었는데.. private ip를 규칙에 추가하고, 아래보이는 컴퓨팅 리소스에 사용중인 EC2 인스턴스를 연결하니 해결되었다. 그런데 문제가 또있었다. 우리 프로젝트는 JWT 토큰을 레디스 서버에 저장하여 관리한다. 그렇기 때문에 레디스서버와 스프링서버가 동시에 작동중이어야 한다!개발환경인 로컬환..
-
디지털 풍화가 발생하는 이유 [반전술식으로 못살려냄]운영체제 2025. 10. 6. 22:22
옛날에 찍어둔 디지털 사진을 열어보면, 처음 저장했을 때보다 화질이 흐릿하게 느껴지는 경우가 있다. 필름 사진이 햇빛에 바래듯, 디지털 사진도 시간이 흐르면 풍화되는 것처럼 보인다. 하지만 디지털 사진은 종이 위의 인화처럼 물리적으로 변질되는 것이 아니다. 이 현상을 이해하려면, 먼저 디지털 사진이 어떻게 저장되고, 어떻게 압축되는지를 살펴볼 필요가 있다.사진 용량에 대한 의문1000×1000 크기의 사진을 떠올려 보자.픽셀 하나는 빨강(R), 초록(G), 파랑(B) 세 가지 값을 가져야 한다. 보통 각 색은 8비트, 즉 1바이트로 표현된다. 따라서 한 픽셀은 8비트 × 3 = 24비트, 즉 3바이트가 필요하다.계산해 보면 다음과 같다.• 1000 × 1000 픽셀 × 3바이트 = 약 3MB즉, 아무 압..
-
너도 개발자가 되라. 기획자 등 : 개발자의 소통법잡다한 글 2025. 10. 3. 11:10
이번글에서는 개발자와 비개발직군의 소통에대한 글을 써보려한다.(사실 연휸데 못놀고 지사트 공부하고있는게 억울해서 글을 쓰는거다..) 1) 협업의 출발점: “내 언어”가 아니라 “상대의 문제”개발자는 구조와 제약을 먼저 본다.반면 기획자는 목적과 흐름,마케터는 임팩트와 채널/예산의 타이밍을 먼저 본다.둘 다 맞다. 하지만 소통은 내 언어를 정확히 말하는 기술이 아니라, 상대의 문제를 내 언어로 번역하는 행위다.기획의 문장: “가입 전환을 20% 올리고 싶어요.”마케팅의 문장: “이번 분기 유료 캠페인 ROAS가 떨어져서 랜딩/퍼널을 손봐야 해요. UTM/픽셀도 재정렬 필요.”개발의 번역: “익명 세션에서 이탈이 많으니 인증 플로우 단계/지연을 줄이고, 첫 화면 TTFB와 LCP를 개선하고, 이벤트 스키마/..
-
"나야 503" : 추석 코레일 대란백엔드 : 서버공부 2025. 9. 30. 12:55
503 오류, 왜 추석 예매할 때 터졌을까?HTTP 상태 코드 중에서 5xx 계열은 서버 쪽 문제를 의미한다. 쉽게 말하면, 사용자가 잘못 요청해서 생기는 게 아니라 서버가 뭔가 감당을 못하고 있다는 신호다.그중에서도 503(Service Unavailable)은 “지금은 서비스 못 해준다”는 뜻이다. 서버가 완전히 죽은 건 아니고, 잠깐 재정비가 필요하거나 과부하로 숨 고르기를 하는 상황에서 나온다. 말 그대로 임시 휴업 같은 개념이다. 참고로 502는 걍 서버터진거다 ㅇㅇ추석 예매 대란과 5032025년 추석 승차권 예매 날, 코레일 홈페이지랑 앱이 한동안 먹통이 된 적 있다. 대기 화면을 켜놔야 연결이 유지된다느니, 계속 새로고침하느니 하는 얘기가 많았다. 결국 많은 사람들이 503 오류를 보게 된..
-
카카오톡 UI 개편이 남긴 교훈: 속도는 전략, 신뢰는 자산잡다한 글 2025. 9. 29. 12:25
카카오톡이 15년 만에 ‘빅뱅 프로젝트’라 불리는 대규모 개편을 단행했다.UI가 확 바뀌고, AI 기능이 추가되며, 카카오는 “현대화”를 강조했지만 반발도 적지 않다.이번 사건은 단순히 UI가 마음에 드냐, 아니냐의 문제가 아니다.스타트업식 속도전과 대기업식 리스크 관리라는 두 가지 다른 문화가 부딪혔을 때 나타나는 파장을 잘 보여준다.0. 카카오는 왜 대기업이고, 토스는 왜 스타트업일까? 둘 다 지금은 ‘규모가 큰 회사’지만, 조직의 성격과 운영 방식은 다르다. 카카오 직원 수만 수천 명에 달하고, 다양한 계열사(카카오게임즈, 카카오모빌리티, 카카오엔터 등)를 거느린 지주회사 구조. 상장 기업으로서 주주·규제·사회적 책임을 크게 의식해야 한다. 메신저 카카오톡은 국민 인프라급 서..
-
NEXT.JS 프로젝트 하신다고요? 축하드립니다.백엔드 : 서버공부/Node.js 2025. 9. 7. 10:45
8월엔 참 많은 일이 있었다. 스타트업에 취업도 하게되고 다니던 부트캠프도 그만 두고 .. 이번 글은 앞으로 당분간 쓰게될 NEXT.js 에대해 간단하게만 정리해보고자한다. 모두가 리액트를 할때 NEXT.JS를 하는 심정이란.. Next.js의 탄생 배경우리가 흔히 웹사이트를 만들 때, 프론트엔드와 백엔드를 따로따로 작업하는 방식이 많았는데, 이는 여러 가지 문제를 안고 있었다. 그 중 대표적인 게 서버 사이드 렌더링(SSR)과 클라이언트 사이드 렌더링(CSR)의 장단점이었다.서버 사이드 렌더링은 페이지 로딩 속도에서 유리하지만, 개발과 유지보수가 번거로웠고, 클라이언트 사이드 렌더링은 인터랙티브한 사용자 경험을 제공하지만 SEO(검색엔진 최적화)에 문제가 있었다. 이러한 문제를 해결하고자 2016년..
-
'MSA 하자고? ' : 인기 보관소 Top5 캐시 설계기백엔드 : 서버공부/Spring 2025. 8. 9. 16:27
이번 글에서는 MSA 환경에서 인기 보관소 Top5 데이터를 효율적으로 캐싱하기 위해 어떤 고민을 했고, 어떻게 해결했는지 공유해 보려고 합니다.1. 문제 상황진행중인 프로젝트의 홈 화면에는 인기 보관소 Top5를 보여주는 기능이 있습니다.홈화면에 있는 기능이기 때문에 데이터는 자주 조회되고, 사용자 수가 많아질수록 DB 부하도 커집니다.처음에는 Caffeine 로컬 캐시를 적용해서 성능을 개선했지만, MSA 환경(여러 서버 인스턴스)에서의 문제를 고려하고자 재설계를 진행하였습니다.발견한 문제들인스턴스별 데이터 불일치각 서버가 독립적으로 캐시를 가지다 보니 데이터가 서로 달라짐재시작 시 캐시 초기화서버가 재시작되면 캐시가 비어 DB 쿼리가 폭증캐시 무효화 어려움한 인스턴스에서 데이터가 바뀌어도 다른 인스..