분류 전체보기 64

[프로그래머스 코테 연습]자바 - [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

[안드로이드] 단위 테스트를 도와주는 JUnit 5

JUnit5 Java 언어로 작성된 자동화된 단위 테스트 프레임워크 테스트 케이스를 작성하기 쉽게 만들어주어 단위 테스트를 할 수 있도록 도와준다. 다만, 단위 테스트를 위한 프레임워크이기 때문에 주로 클래스, 메소드 등을 테스트할 때 사용한다. JUnit 은 생각보다 가까이 있었다. 일반적으로 안드로이드 스튜디오 또는 인텔리제이 코틀린 프로젝트를 생성하면 그림 1처럼 main 패키지 말고도 test 패키지가 생성된 것을 볼 수가 있다. 이 것이 IDE 자체에서 JUnit 5으로 테스트를 실행할 수 있는 test 전용 경로로 지정되어있다. 또한 build.gradle에선 이미 JUnit을 Implementation하고 있다. 보다싶이 이미 IDE에서 JUnit을 지원하고 있다. JUnit 5의 구조 먼저..

Android 2023.10.29