Case Study (4) 썸네일형 리스트형 FTP 배포에서 CI/CD 자동화로 넘어가며 얻은 안정성 FTP 시절의 아찔했던 순간들과거 FTP 배포 시절, 가장 아찔했던 순간은 로컬에서 작업한 소스 파일을 서버로 드래그 앤 드롭할 때였습니다. 무조건적인 덮어쓰기 방식은 개인 작업 시에는 그나마 통제 가능했지만, 협업 상황에서는 동료의 코드를 덮어버려 소스가 꼬이는 대참사가 빈번히 발생하곤 했습니다.더 큰 문제는 로컬과 서버의 환경 차이였습니다. 내 컴퓨터에선 되는데 서버에선 안 되는 현상이 반복되자, 결국 위험을 무릅쓰고 실 서버에 직접 접속해 코드를 수정하는 라이브 코딩 상황까지 벌어졌습니다. 서비스의 안정성보다는 운에 맡기는 배포였던 셈입니다. 😭시간이 흐르며 코드 형상관리의 중요성과 안전한 개발 환경에 대한 요구가 높아졌고, 많은 기업이 현대적인 워크플로우로 눈을 돌리기 시작했습니다. 우리 회사 .. PHP 레거시 시스템을 Spring Boot로 전환하며 고민했던 기록들 💭 전환 경험을 통한 회고진행했던 시스템 개편 프로젝트는 단순히 언어를 PHP에서 Spring Boot로 바꾸는 것을 넘어, 보안과 안정성을 강화한 현대적 아키텍처로의 재설계를 목표로 했습니다.하지만 과정은 쉽지 않았습니다. 절차 지향적으로 짜여진 기존 코드는 여러 파일과 DB 프로시저에 로직이 파편화되어 있어 비즈니스 흐름을 파악하는 것조차 거대한 도전이었습니다. 여기에 Spring Boot의 Bean 관리와 같은 프레임워크의 구조를 익히고, Thymeleaf를 활용해 프론트엔드까지 통합 구현해야 하는 과제가 주어졌습니다. 이번 포스팅에서는 이러한 '언어의 장벽'과 '구조적 복잡성'이라는 난관을 어떻게 하나씩 풀어내며 시스템을 안착시켰는지, 고민의 흔적들을 기록해보려 합니다. 🚩 자유로운 PHP v.. FK는 왜 걸까? 실무 에러로 배우는 DB 제약 조건 포스팅 전에 앞서,왜 난 이 주제의 포스팅을 생각했을까? 😐 원래 FK를 잘 걸지 않는 편인데 왜냐하면 운영 시 실제 데이터 값을 직접 변경해 줘야 하는 이슈도 생겨 FK 걸린 테이블 내 모든 정보를 수정해 줘야 하는 상황으로 번지고, 하나의 row 를 삭제 시 FK로 물려있어 제약이 많이 걸리기에 운영할 때의 불편함 이슈로 지금껏 대부분 FK를 걸지 않고 테이블 설계를 진행 그러다 이직 후, 협업 중 ERD 설계할 때 FK 조건을 걸게 되는 상황에 놓이게 되어 FK? 너 왜 이렇게 걸리는건데? 싶어 생각 정리 겸 포스팅을 하게 되었습니다. FK(Foreign Key) 란?관계 무결성을 DB 레벨에서 보장해주는 키 FK의 장단점장점1. 데이터 무결성 보장 부모 테이블에 없는 ID가 자식 테이블에 들어오.. 데이터 정합성을 위한 Redisson 분산 락(Lock) 간단 실무 적용기 Redisson ?Java 기반의 분산 데이터 처리와 캐싱 솔루션을 제공하는 오픈 소스 라이브러리Redis를 기반으로 동작하며 Redis에 접근하기 위한 클라이언트 제공Redisson 에서 제공하는 분산 데이터 구조를 활용하여 데이터 처리 및 캐시 관리가 가능 Redisson 분산 락(Lock) 사용은 왜 ?데이터의 일관성과 무결성을 보장하기 위해 여러 애플리케이션 인스턴스나 스레드를 동일한 자원에 동시에 접근하지 못하게끔 하여 동시성 제어로 사용 Setting 🔍[ springboot 환경 내에서 처리 ]1. Gradle 의존성 추가 Spring Boot와의 통합을 위한 스타터Spring Data Redis와 쉽게 통합 가능Redis 연결 설정이 간단Spring 환경에서 사용할 경우 반드시 추가해.. 이전 1 다음