성장일기

내가 보려고 정리하는 공부기록

728x90

전체 글 204

[백준] 17182: 우주 탐사선 (비트마스킹, Floyd-Warshall, dfs 메모이제이션) - JAVA

# 문제 # 예제입력 : 첫 번째 줄에는 행성의 개수 N과 ana호가 발사되는 행성의 위치 K가 주어진다. (2 ≤ N ≤ 10, 0 ≤ K 다음 N 줄에 걸쳐 각 행성 간 이동 시간 Tij 가 N 개 씩 띄어쓰기로 구분되어 주어진다. (0 ≤ Tij ≤ 1000)4 10 83 38 715 0 30 8367 99 0 4414 46 81 0 출력 : 모든 행성을 탐사하기 위한 최소 시간을 출력한다. 74 # 필요개념 너무 오랜만에 최단거리 문제를 풀어서 방식을 생각하는 데 시간이 조금 걸렸다. 중복에 관한 조건이 없었다면, 단순 그래프로 풀었을 거 같지만 문제 조건 중 "이미 방문한 행성도 중복해서 갈 수 있다" 라는 조건이 있었기 때문에 플로이드-워셜 알고리즘을 이용해야 겠다고 생각했다. ✅ 플로이..

[협업] 운영체제간 Git 개행문자로 인한 충돌 해결하기

최근 진행하는 프로젝트에서 OS로 인한 충돌문제가 생겨서, 재발 방지를 위해 정리해놓으려고 한다! 문제지금껏 협업한 사람들이 대부분 윈도우였어서 몰랐는데, 이번 프로젝트중 특이점이 발생했다. 코드 작업을 끝내고 PR을 날렸는데 내가 바꾸지도 않은 파일이 file changed로 올라간 것이다. 저 파일에서 내가 바꾼 게 없는데 왜 File Changed에 올라갔지? 라는 생각이 들어서 찾아보니, 맥북과 윈도우의 개행문자 차이라고 한다. 나는 윈도우를 사용하는데, 윈도우에서는 CR(\r), LF(\n) 를 사용하고, 맥에서는 LF만 사용한다고 한다! 너무 당황스러워서 해결방법을 후다닥 찾아보았다. 해결방법해결방법은 생각보다 간단하다.lf로 통일하는 게 좋을 거 같았고, 내 git config를 lf로..

카테고리 없음 2026.01.14

[FCM] FCM(Firebase Cloud Messaging)에 대하여

현재 진행하고있는 프로젝트에서 공지사항과 관련된 기능을 맡게 되었다. 한 개의 공지사항을 여러 사용자에게 보내야 하기 때문에 해당 기능을 구현할 수 있는 기술을 찾아보게 되었다. 여러 기술들이 있었지만, 그 중에서도 FCM을 도입하게 되었다. FCM 이란,FCM은 Firebase Cloud Messaging의 약자로 Google에서 제공하는 푸시 알림 서비스이다. FCM은 iOS, Android, Web 등 여러 플랫폼을 지원하고 있고, 특히 안드로이드에서는 푸시 알림을 위해 FCM이 필수 요소이기 때문에 많이 사용되고 있다. FCM 외에도 여러 기술이 존재한다.더보기APNs - iOS 전용, FCM을 사용하면 FCM이 자동으로 APNs로 보내서 처리할 수 있도록 해줌!WebSocket - 실시간 양방향..

인프라 2026.01.12

RDS MySQL 버전 변경하기 - Blue/Green Deployments

프로젝트를 진행하면서 EC2와 RDS를 이용해 배포를 진행했었고, mysql 8.0.42 버전을 이용하고 있었는데, 2026년 6월 이후로 8.0.x 버전 지원이 중지된다는 메일을 받았다. 버전 변경을 하지 않으면 내야 하는 돈이 더 올라간다고 해서! 미루고 미루다가 버전을 변경했다. 어떻게 바꿀지 찾아보다가 Blue/Green deployments 방식을 알게 되어 이 방식으로 바꾸기로 했다!Blue/Green Deployments란Blue/Green Deployments란, 현재 운영중인 환경(Blue)을 그대로 유지한 채 동일한 새 환경(Green)을 만들고 준비가 끝나면 트래픽을 한 번에 Green으로 전환하는 배포 전략이다. 동일하지만 버전이나 설정이 다른 환경을 만들어서 switch하는 방식으..

인프라 2025.12.29

[백준] 17136: 색종이 붙이기 (DFS, 백트래킹, Brute-force) - JAVA

# 문제과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다.색종이를 크기가 10×10인 종이 위에 붙이려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 0 또는 1이 적혀 있다. 1이 적힌 칸은 모두 색종이로 덮여져야 한다. 색종이를 붙일 때는 종이의 경계 밖으로 나가서는 안되고, 겹쳐도 안 된다. 또, 칸의 경계와 일치하게 붙여야 한다. 0이 적힌 칸에는 색종이가 있으면 안 된다.종이가 주어졌을 때, 1이 적힌 모든 칸을 붙이는데 필요한 색종이의 최소 개수를 구해보자. # 예제입력 : 총 10개의 줄에 종이의 각 칸에 적힌 수가 주어진다. 0 0 0..

[백준] 17135: 캐슬 디펜스 (BFS, Bruteforce algorithm) - JAVA

삼성 A형 기출문제https://www.acmicpc.net/problem/17135 # 문제캐슬 디펜스는 성을 향해 몰려오는 적을 잡는 턴 방식의 게임이다. 게임이 진행되는 곳은 크기가 N×M인 격자판으로 나타낼 수 있다. 격자판은 1×1 크기의 칸으로 나누어져 있고, 각 칸에 포함된 적의 수는 최대 하나이다. 격자판의 N번행의 바로 아래(N+1번 행)의 모든 칸에는 성이 있다.성을 적에게서 지키기 위해 궁수 3명을 배치하려고 한다. 궁수는 성이 있는 칸에 배치할 수 있고, 하나의 칸에는 최대 1명의 궁수만 있을 수 있다. 각각의 턴마다 궁수는 적 하나를 공격할 수 있고, 모든 궁수는 동시에 공격한다. 궁수가 공격하는 적은 거리가 D이하인 적 중에서 가장 가까운 적이고, 그러한 적이 여럿일 경우에는..

[Redis] Redis 알아보기

프로젝트에서 쓸 일이 있어서 Redis 강의를 들으면서 간단하게 정리해보려고 한다. 강의는 아래 유튜브 강의를 참고했다! (kafka 강의 듣고 간단하게 입문용으로 듣기 좋았어서 redis도 들어보려 한다)https://www.youtube.com/watch?v=4PQs57cq84U&list=PLtUgHNmvcs6qoVrxB5jzZ4meINz_KL-Bl&index=2 1. Redis란?Redis는 key-value 구조의 비정형데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 DBMS이다. 쉽게 말하면 데이터 처리 속도가 빠른 NoSQL인 것이다!NoSQL?NoSQL은 Mysql이나 MariaDB처럼 관계형 데이터베이스의 테이블 구조에 의존하지 않고 데이터를 저장하는 비관계형 데이터베이스 시스..

[Kafka] 3. kafka의 기본 구성 알아보기 (Topic, Consumer, Producer) - CLI 실습

지난 게시글에 이어 kafka의 기본 구성에 대해 알아보려고 한다. 강의 속 이미지들과 내용은 아래 강의를 참고했다!https://www.youtube.com/playlist?list=PLtUgHNmvcs6p3304vUg6ywvUIAIe5K4WP [인프런] 실전에서 바로 써먹는 Kafka 입문풀버전 강의는 아래 링크를 참고해주세요😊 ✔️ https://inf.run/Qxpw1www.youtube.com ☑️ Kafka의 기본 구성프로듀서 (Producer) : 카프카에 메시지(데이터)를 전달하는 주체받은 메시지를 토픽 별로 구분해서 메시지큐에 전달컨슈머 (Consumer) : 카프카에 메시지(데이터)를 처리하는 주체새로운 메시지를 주기적으로 체크해서 새로운 메시지가 있으면 그 메시지를 조회해서 처리토..

인프라/Kafka 2025.10.13

[Kafka] 2. EC2에 kafka 기본 세팅하기

이제 본격적으로 공부하기 전에 kafka 기본 설정을 진행하려 한다. 본 게시글은 EC2 환경에서 kafka를 세팅할 생각이고, 나중에 도커로 올릴 때는 그에 맞게 내용을 추가해볼 생각이다. 게시글 이미지들과 내용은 아래 강의를 참고했다!https://www.youtube.com/playlist?list=PLtUgHNmvcs6p3304vUg6ywvUIAIe5K4WP [인프런] 실전에서 바로 써먹는 Kafka 입문풀버전 강의는 아래 링크를 참고해주세요😊 ✔️ https://inf.run/Qxpw1www.youtube.com 1. EC2 인스턴스 생성하기일단 필자는 EC2에 세팅할 생각이기 때문에, EC2인스턴스를 먼저 만들어주었다. 먼저 AWS에 들어가 EC2를 누른다. 그 후 인스턴스 > 인스턴스 시..

인프라/Kafka 2025.10.13

[Kafka] 1. Kafka 매우 간단하게 알아보기 (메시지큐)

모의수강신청 서비스를 구현하던 중, 동시성 제어가 필요하다는 생각이 들어 redis와 kafka를 도입하기로 했다. kafka는 처음 써봐서 공부를 시작했고, JSCODE님의 강의를 들으면서 공부하려 한다. 인프런에 풀영상이 있고, 유튜브에 일부 강의가 열려있는데, 우선은 유튜브로 듣고 추후에 인프런에서 구매할까 한다. (도커도 이 분 강의를 들었는데 도움이 되었다!)https://www.youtube.com/playlist?list=PLtUgHNmvcs6p3304vUg6ywvUIAIe5K4WP [인프런] 실전에서 바로 써먹는 Kafka 입문풀버전 강의는 아래 링크를 참고해주세요😊 ✔️ https://inf.run/Qxpw1www.youtube.com 해당 게시글에서는 kafka의 개념을 정리해보려 ..

인프라/Kafka 2025.10.13
728x90