March 10, 2025
IDE Intellij IntelliJ 단축키 정리 (Mac & Windows) 1️⃣ 기본 네비게이션 기능 Mac Windows 빠른 검색 (파일, 클래스, 심볼, 액션 검색) 파일 탐색기 열기 (프로젝트 창 토글) 최근 열었던 파일 보기 최근 편집한 파일 보기 클래스 찾기 파일 찾기 메서드 찾기 라인 이동 (특정 줄번호로 이동) …
February 05, 2025
JPA란? Java Persistence API 자바 진영의 ORM 기술 표준 Object-Relational Mapping(객체 관계 매핑) 객체는 객체대로 설계 관계형 데이터베이스는 관계형 데이터베이스대로 설계 ORM 프레임워크가 중간에서 매핑 JPA를 사용하는 이유 SQL 중심 개발에서 객체 중심으로 개발 ORM이 중간에서 문제 해결 자바 객체 컬렉…
January 20, 2025
Monolithic 애플리케이션을 하나의 소프트웨어 안에 포함시켜 개발하는 방식 모든 업무 로직이 하나의 애플리케이션 형태로 패키지 되어 서비스 서비스 하나가 수정되면 전체가 재 패키징 되어 배포 애플리케이션에서 사용하는 데이터가 한곳에 모여 참조되어 서비스 되는 형태 MSA - Micro Service Aplication 복잡한 애플리케이션을 독립적인 …
January 16, 2025
Issue 추가 기능 개발로 FEATURE_A 브랜치를 DEV에 Rebase + Merge 후 QA 요청 QA가 완료되기 전에 동일한 파일에서 추가 수정 사항 발생 해당 수정 사항을 FEATURE_B 브랜치에서 DEV에 Rebase + Merge Rebase 과정에서 FEATURE_A의 코드가 운영 서버에 반영되면 에러 발생 가능성이 있어 일부 코드 누락…
January 15, 2025
형상 관리 이번에 저희 회사에서는, 신규 개발을 앞두고 형상 관리가 이루어지지 않았던 기존 환경에서 GitHub를 활용한 체계적인 형상 관리 시스템을 도입하게 되었습니다. Git flow 전략 1. BRANCH 저희 팀은 Branch를 , , 이렇게 3가지를 가져가기로 했습니다. MAIN : 실제 서버에 배포되는 브랜치 DEV : 테스트 서버에 배포되…
January 13, 2025
Cloud Native Application 개발을 위한 12가지 원칙 1. CODEBASE 코드베이스는 Git 저장소 하나로 관리 여러 환경(개발/테스트/운영)은 동일한 코드에서 분기(branch)하여 관리 한 코드베이스 = 하나의 애플리케이션 2. DEPENDENCY 애플리케이션 내에서 종속성을 해결 컨테이너화된 환경에서는 의존성이 포함된 Dock…
January 13, 2025
클라우드 환경에서 최적화되어 동작하도록 설계된 애플리케이션 컨테이너, 마이크로서비스, CI/CD, DevOps, 동적 오케스트레이션(Kubernetes) 등을 활용하여 유연성과 확장성을 극대화하는 것이 특징 특징 1. 지속적인 통합, CI (Continuous Integration) 통합 서버, 소스관리 (SCM), 빌드 도구, 테스트 도구 ex ) Je…
January 13, 2025
Cloud Native Architecture(클라우드 네이티브 아키텍처)란 클라우드 환경을 최대한 활용하도록 설계된 소프트웨어 아키텍처 패턴 확장 가능한 아키텍처 시스템의 수평적 확장에 유연 확장된 서버로 시스템의 부하 분산, 가용성 보장 시스템 또는, 서비스 애플리케이션 단위의 패키지 (컨테이너 기반 패키지) 모니터링 탄력적 아키텍처 서비스 생성 - …