KB IT’s Your Life 교육과정은 프로젝트 발표 이후로 1주일의 고도화 기간이 주어진다. 고도화를 하기 전에 KPT 회고를 진행했고 해당 회고를 바탕으로 고도화를 설계했다. Keep (유지할 점) 프로젝트에서 내가 해야할 과제가 주어지면 해당 과제를 풀어가는 과정을 연구노트 및 트러블 슈팅 페이지로 정리하며 문서화를 진행했다.
EC2 접속하기 까지 진행된 EC2 인스턴스를 통해 배포가 진행됩니다. > > 배포될 프로젝트는 https://github.com/KBfinance-team-MetalWallet/metal-wall
서론 최종 프로젝트를 티켓팅 서비스로 기획한 만큼, 많은 사용자가 동시에 몰릴 경우 서버에서의 트래픽 관리가 매우 중요하다. 티켓팅 시스템은 특정 시간대에 급격한 트래픽 증가가 발생하는 특성이 있어, 서버가 이를 효과적으로 처리하지 못하면 서비스 중단이나 지연 문제가 발생할 수 있다. 이를 위해 AWS EC2 인스턴스를 활용하여 필요한 만큼의 컴퓨팅 ...
서론 Vue.js 애플리케이션을 자동으로 배포하는 방법을 소개하고자 한다. 수동으로 진행하던 배포 작업을 GitHub Actions를 통해 자동화하고 pages를 통해 배포하여, 코드를 푸시하기만 하면 빌드와 배포가 자동으로 진행되도록 설정할 수 있다. 이번 글에서는 Vite를 사용한 Vue.js 애플리케이션을 GitHub Pages로 자동 배포하는...
오늘의 학습 내용 주요 개념 및 키워드 Spring Security: 기존의 세션 기반 보안 방식을 대신하여 JWT를 사용한 보안 시스템을 구축하는 핵심 프레임워크이다. JWT: JSON 기반의 Web Token으로, 사용자의 인증 정보를 안전하게 전송하고 관리할 수 있는 방법이다. 서버는 사용자 요청마다 세션을 관리하지 않고, 토큰을 통해 요청을 검...
WebSocket과 STOMP를 사용하여 Spring 프레임워크에서 실시간 양방향 통신을 구현하는 방법
KB IT's Your Life 기자단 활동을 한 달 동안 경험하며 겪었던 문제점과 고민, 그리고 앞으로의 개선 계획
14장 점진적인 개선 서론 명령줄 인수를 파싱하는 유틸리티 클래스 Args를 구현하는 과정에서 점진적으로 코드를 변경해나가는 것을 저자가 직접 보여준다. Args 클래스 구현 과정 구현하고 싶은 것 자바는 커맨드 라인의 인수를 받는 명령행 함수를 사용할 수 있다. 만약 MyApp이라는 자바 코드를 해당 명령줄 함수와 함께 실행하고 싶다면: 이 ...
12장 창발성 창발적 설계로 깔끔한 코드를 구현하자 켄트 벡이 제시한 단순한 설계 규칙 네 가지는 소프트웨어 설계 품질을 높이는 데 큰 도움이 된다. 이 네 가지 규칙은 중요도 순서대로 다음과 같다 모든 테스트를 실행한다. 중복을 없앤다. 프로그래머 의도를 표현한다. 클래스와 메서드 수를 최소로 줄인다. 단순한 설계 규칙 1: 모든 테스트를 실행하...
클래스 체계 클래스 정의 시 가장 먼저 변수 목록이 나와야 함. 정적(public) 상수 → 정적(private) 변수 → 인스턴스(private) 변수 순으로 나열. 공개 함수는 비공개 함수보다 먼저 나와야 하며, 비공개 함수는 호출하는 공개 함수 직후에 배치. 캡슐화 변수와 유틸리티 함수는 가능한 공개하지 말아야 함. 테스트 코드에서 접근이 필요...
TDD 법칙 세 가지 TDD는 단위 테스트를 먼저 작성하는 것을 요구한다. 세 가지 법칙은 다음과 같다: 실패하는 단위 테스트를 작성할 때까지 실제 코드를 작성하지 않는다. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다. 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다. 깨끗한 테스트 코드 유지하기 테스트 코...
외부 코드와 시스템 경계 관리 외부 코드 사용하기 긴장: 인터페이스 제공자와 사용자 간의 긴장. 제공자는 유연성을, 사용자는 필요에 맞는 인터페이스를 원함. 문제점: java.util.Map 같은 유연한 인터페이스는 기능이 많지만 오용될 수 있음. Map 사용 예시 문제: Map을 사용하는 코드는 특정 유형으로 변환하는 책임이 클라이언트에 있음. ...