전체 글 40

[우테코 프리 코스 3 주차]회고

생각보다 힘들었던 3 주차 문제..3 주차에선 최대한 MVC 패턴을 이용하여 뷰와 로직을 분리 + 가독성 있는 코드를 작성하기 위해 노력했다.어떻게 로직을 분리하는 지에 대한 깊은 고민이 있었다. 그 방향성으로 생긴 게 바로 service 계층, Model에 로직을 모두 두는 것이 아닌 service에 일부분을 분리함으로써 객체가 담당하는 역할을 줄였다.도메인과 화면 로직의 분리를 향하여 여러 Model의 데이터가 필요한 경우나 굳이 Model에 있을 필요가 없는 로직들은 서비스 계층으로 분리하여 모델의 코드 수를 줄였다. Lotto 관련 객체를 생성 및 파싱 하는 것은 LottoProvideService, LottoResultService는 로또 결과를 계산하는 관련 로직을 담아두었다.public cl..

일상 2024.11.13

[CI/CD]Jenkins를 이용해서 스프링 프로젝트 배포할 때 중요한 점 (With Docker, GCP) - WABI 회고록

들어가기 앞서...pknu-wap/WABI-BE: 와비 : 부경대학교 소속 및 학생 회비 납부자 확인 서비스 BE (github.com) "WABI" 라는 학생회비 납부 서비스에 백엔드로 참가하면서 전적으로 CI/CD를 맡게 되었다. CI는 Git을 통해 어느 정도 경험이 있었지만 CD는 진짜 문외한이었다. 이 글은 WABI 를 참가하면서 오랫동안 삽질한 결과물이자 Jenkins를 이용해서 스프링 프로젝트를 배포할 때 놓치기 쉬운 점을 작성해 보았다. 즉, Jenkins 및 Docker에 대한 이야기이다. WABI 에서의 나의 첫 번째 목표1. 스프링 프로젝트 지속적인 통합과 배포까지의 자동화(CI/CD)2. 웹 서버와 DB 서버 분리3. https과 DNS 연결 크게 3가지였는데 모두 한 번도 안 해본..

DevOps/CI|CD 2024.10.06

[AWS] EC2 인스턴스 재시작 후에도 IP 주소 고정하기(탄력적 IP 주소 할당)

프로젝트를 진행하다 보면 인스턴스를 재시작해야 하는 경우가 생긴다. 이때, AWS에서 인스턴스에 유동적으로 Public IP를 부여하기 때문에 재시작할 때마다 Public IP가 달라진다.. 이거 때문에 분명 제대로 했는데 왜 안되는거지라고 생각하며 헛된 시간을 보낸 경험이 있다 ㅜㅜ.. 이런 불상사가 나지 않기를 위해선 고정 Public IP를 할당받아야 한다. 먼저!! 탄력적 주소(Elastic IP)는 요금제가 존재한다!무료로 사용하는 방법이 있다. 하지만 경우에 따라 요금이 청구될 수도 있으니 미리 숙지하도록 합시다. 참고)논리적으로 격리된 가상 네트워크 - Amazon VPC 요금 - Amazon Web Services 1. 인스턴스 하나에 탄력적 주소 하나는 공짜2. 인스턴스 하나에 여러 개의..

Cloud 2024.07.17

[프로그래머스 코테 연습]자바 - [3차] 파일명 정렬

개요코딩테스트 연습 - [3차] 파일명 정렬 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr난이도 : 레벨 2특징 : 2018 KAKAO BLIND RECRUITMENT 기출 문제 첫인상이 너무나도 풀기 귀찮은 느낌을 받은 문제입니다. 다 풀고나도 심정은 변하지 않네요. 풀이법import java.util.*;class Solution { public String[] solution(String[] files) { ArrayList splitFiles = new ArrayList(); ..

[프로그래머스 코테 연습]자바 - 주차 요금 계산

개요코딩테스트 연습 - 주차 요금 계산 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr난이도 : 레벨 2특징 : 2018 KAKAO BLIND RECRUITMENT 기출 문제 문제만 잘 읽고 하면 되는 문제입니다.. 처음 이 문제를 접근했을 땐, 차량이 OUT 될 때마다 요금을 계산하면 됐었는데  생각해보니 시간만 계산하고 나중에 정산을 하면 되더라고여.. 뻘짓을 많이 한 문제였습니다. 풀이법import java.util.*;class Solution { public static int[] ..

[프로그래머스 코테 연습]자바 - 1차 다트 게임

개요코딩테스트 연습 - [1차] 다트 게임 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr난이도 : 레벨 1특징 : 2018 KAKAO BLIND RECRUITMENT 기출 문제 풀이법package programmers;import java.util.HashMap;public class 프머스_1차_다트게임 { public static void main(String[] args) { System.out.println(solution("1S2D*3T")); } public st..

[프로그래머스 코테 연습]자바 - 3차 압축

개요코딩테스트 연습 - [3차] 압축 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 난이도 : 레벨 2특징 : 2018 KAKAO BLIND RECRUITMENT 기출 문제 이 문제는 처음 딱 봤을 땐, 어려워 보였는데 막상 풀다보니 헷갈리는 점 제외하면 딱히 막힌다는 느낌은 받지 못한 문제였습니다. 다만, 풀다가 조건을 잘못 읽어서 몇번이나 다시 읽었는지 몰랐네요.. 문제를 자세히 확인하는 버릇을 들어야겠다고 생각했습니다.풀이법import java.util.*;class Solution { pu..