전체 글 97

[우테코 프리 코스 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..

[CI/CD] CI/CD에 관하여

CI/CD 중요성IT 기술이 발전함에 따라 프로그램의 규모는 점점 더 커지고 있습니다. 그에 따라 사람 혼자 프로그램을 개발하는 것이 불가능이라고 말할 수 있을 정도로 클라이언트가 요구하는 프로그램의 규모는 나날이 복잡해지고 있습니다. 이 때문에 개발자들은 협업을 진행합니다.하지만 이런 생각을 해보신 적 있으신가요?어느 한 회사에 100명의 넘는 개발자들이 있다고 해보겠습니다.그러면 그 100명은 각각 자신들이 맡은 기능을 개발하겠죠.당연히도 최종적으로 100개의 결과물이 나올 겁니다.이 결과물들을 어떻게 합치고, 테스트를 하며, 빌드를 진행할까요?  위와 같이 개발자 수가 많은 회사들은 이 100개의 개발 결과물 관리에 큰 어려움을 겪을 겁니다.결과물 관리를 편하게 하고 시간을 단축할 수 있도록 도와주..

DevOps/CI|CD 2024.04.14

[안드로이드]Retrofit(okhttp)의 WebSocket에 대하여

웹소켓(WebSocket) 양방향 통신을 지원하는 프로토콜로, 클라이언트와 서버 간 실시간 데이터 전송을 가능케 한다. HTTP 기반의 통신과 달리 지속적인 연결을 제공하며, 이를 통해 실시간으로 데이터를 주고받을 수 있다. 안드로이드에선 Okhttps 라이브러리의 WebSocket 모듈을 사용하여 구현할 수 있다. 최근엔 Okhttps의 구현을 쉽게 추상화를 한 Retrofit를 주로 사용한다. 이 글에선 Retrofit를 이용할 예정이다. (뭘 사용해도 상관 없다) 1. 의존성 추가 implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' impleme..

Android 2024.01.07

2023년 회고

2023년에서 저의 인생에 크게 영향을 줬던 일들을 연말 기념으로 되돌아 보는 글을 작성해보자 합니다. 1. SK Lookie 활동 (2023년 2월 ~ 2024년 1학기까지 예정) 사회 문제 해결 방안을 제시하는 비즈니스 모델 개발 연합 동아리인 SK Lookie 활동을 했었습니다. 이 동아리의 존재를 2022년에 동아리 친구로부터 처음 듣게 되었습니다. 당시만 하더라도 별 생각이 없었는데, 제 자신이 매너리즘에 빠진 것 같아 이를 타파하기 위해 지원을 했고 합격하여 활동을 진행하고 있습니다. 부경대학교 창업동아리, 하나 소셜 벤처 유니버시티, 학생 창업 유망팀 300과 루키 내에서도 좋은 성과를 얻어 나름 뜻 깊은 활동을 했던 것 같습니다. 다만, 개발 쪽 분야가 아니라 실제 제품을 개발하는 것을 주..

일상 2023.12.31