전체 글 25

[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

[안드로이드] 어노테이션(Annotation) 개념과 예시

어노테이션(Annotation) 자바, 코틀린에서 @을 이용하여 코드에 부가적인 정보를 부여하는 방법으로 컴파일러, 런타임 시스템등이 이를 사용할 수 있게 하는 정형화된 방법 보통 어노테이션과 주석을 비교를 많이 하는데, 주석은 어노테이션처럼 코드에 대한 정보를 나타내나 실제 프로그램에 영향이 없는 반면 어노테이션은 영향을 주는 특징이 있다. 이 글에선 Androidx 에서 지원하는 Annotation API가 기본적으로 제공하는 어노테이션에 대해 알아본다. 그러면 어노테이션을 사용해서 무엇을 얻고자 하는 걸까? 코드에 부가적인 정보를 부여하여 코드를 문서화시키고 컴파일러나 런타임에서 개발자가 원하는 추가적인 처리를 하기 위함이다. 그러면 이 추가적인 처리가 뭐가 있을까? 일반적으론 코드 검사를 하는데 ..

Android 2023.11.19

[안드로이드]RoomDB와 SQLite 비교

RoomDB와 SQLite 안드로이드에서 로컬 데이터베이스를 구현하는데 크게 두 가지 방식이 존재한다. RoomDB와 SQLite 이라고 할 순 있는데, 엄연히 말하면 안드로이드에서 자체적으로 SQLite가 내장되어 있고 이 SQLite를 개발자가 사용하기 쉽게 추상화 시켜준 것을 RoomDB라고 말한다. 따라서 RoomDB는 SQLite로 구성되어 있다고 볼 수 있다. 하지만 이 글에선 쉽게 차이를 설명하기 위해 SQLite를 RoomDB를 사용하지 않고 접근하는 방식(SQL Helper) 의미로 작성하였다. 그러면 SQLite가 뭘까?? 공식 홈페이지 에선 "SQLite는 작고 빠르며 자체 포함, 높은 신뢰성, 모든 기능이 구현된 SQL 데이터베이스 엔진을 실현하는 C 언어 라이브러리" 라고 말한다...

Android 2023.11.12