전체 글 77

2024 .

2024년 마지막 날이다 올해 처음으로 취업 준비를 했다 취준 시기는 남자 인생에서 가장 비참한 시기라는 말이 있듯, 나에게도 가장 비참한 해로 끝이 난 것 같다    올해의 시작은 기대 반 걱정 반이었다 아무것도 모르던, 사회에 나가본 적도 없던 20대 5명이 창업이라는 달콤한 말에 이끌려 아무런 각오 없이 뛰어들었다 지금 와서 돌이켜보면, 그 누구 한 명 진심으로 창업에 대해 다가간 적 없었던 것 같다 매번 마감기한에 쫓겨 지원금 기획서를 작성하고, 출근해서는 취업을 위한 이력서와 포트폴리오를 작성하기에 바빴었다 누구 하나 예외 없이. 그렇게 실력도, 자신감도 없이 도전했던 창업은 무려 6개월을 끌다가 끝이 났다    이후 나는 인생에서 처음으로 알바가 아닌 직장을 구하게 됐다 정규직도 아닌 계약직이..

회고록 2024.12.31

[AWS] EC2 Key Pair 다른 Region으로 옮기기 (feat. Value for parameter PublicKeyMaterial is invalid. Length exceeds maximum of 2048)

EC2의 Key Pair는 다른 리전으로 복사할 수가 없다.하지만 Key Pair Import 기능이 있으니, 기존의 Key Pair를 직접 까서 값을 복사한 후 import 해주는 방법을 사용해 보자. 이때 Key Pair Import시에 private key가 아닌 public key만을 import 할 수 있으므로, 다음 절차를 잘 따라서 진행하자.  1. Key-Pair가 저장된 디렉터리로 이동 2. 다음 명령어를 사용하여 private key에서 public key를 추출ssh-keygen -y -f Key이름.pem  3. AWS EC2 -> Network & Security -> Key Pair로 이동해서 "키 페어 가져오기"  4. 이름 & 추출한 public key 붙여 넣고 생성   5..

[RabbitMQ] RabbitMQ Management 접속 에러 해결하기

Problem: aws ec2에서 RabbitMQ를 docker-compose로 실행시켰는데 RabbitMQ Management인 'ec2 ip:15672'에 접속하면, 'ec2 ip에서 접근을 거부하였습니다' 에러 발생  Environment - aws ec2- docker-compose에서 포트 포워딩 설정 완료- 인바운드 규칙에서 15672 포트 설정 완료 DOCKER-COMPOSE.YMLDOCKER-COMPOSE.YML-----------------------------version: "3"networks: # network를 먼저 정의해줘야 services에서 붙일 수 있다 my-network: # 네트워크 이름 external: true # 이미 생성되어있는 네트워크 사용# docker..

[백준/Java] 농구 경기 1159

1. 첫 번째 풀이(success): HashMap 사용import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.HashMap;import java.util.Map;/** * condition * - 성의 첫 글자가 같은 선수 5명을 선발 * * answer * - 가능한 성의 첫 글자를 사전순으로 공백없이 출력 * - 5명보다 적다면 PREDAJA 출력 * * approach * - HashMap 사용 * - 입력받은 이름의 첫 번째 값의 value 증가 * - 모든 입력이 끝난 후 cnt가 5 이상인 값들을 sb에 추가 후 출..

[RabbitMQ] docker-compose 실행시 오류 해결

ec2에서 docker-compose를 사용하여 rabbitmq를 실행할 때 발생했던 오류들의 해결과정을 정리해보았다docker로 실행시킨 rabbitmq 컨테이너 로그는 "docker logs 컨테이너이름" 으로 확인할 수 있으니 확인해보자 origin - Infoserveraws ec2ubuntu 22.04.5 LTSdocker-composeversion-3RabbitMQrabbitmq: image: rabbitmq:3-management-alpine container_name: rabbitmq ports: - "5672:5672" # default - "15672:15672" # management plugin volumes: - ./.docker/rabbitmq/data..

[백준/Python] 수리공 항승 1449

1. 첫 번째 풀이(success): 슬라이딩 윈도우(아님ㅋㅋ;)'''슬라이딩 윈도우로 한번 탐색 때리면 될듯!- 가장 첫 번째 지점부터 탐색하기 위해 물 세는 곳을 정렬- end = stt + l, (lst[-1]+0.5 in visited == True) 가 될 때까지 탐색- 방문할 곳이 연속적이라는 보장이 없으므로 visited는 set으로 처리- (다음 누수지점-0.5, 다음 누수지점, 다음 누수지점+0.5)를 분기처리해서 탐색'''# 입력def input_data(): n,l = map(int,input().split()) lst = list(map(int,input().split())) return n,l,lst# maindef solution(n:int, l:int ,lst:..

[백준/Python] ABCDE 13023

1. 첫 번째 풀이(success): DFS'''Condition- A-B-C-D-E 가 되는 node가 있는가?Answer- 존재하면 1, 없으면 0 출력Approach- 모든 node를 root삼아 한번씩 dfs 돌려보면 될 것 같음 - 이때 depth가 5가 된다면 끝'''from sys import stdininput = stdin.readline# 입력n,m = map(int,input().split())graph = [[] for _ in range(n)]for _ in range(m): a,b = map(int,input().split()) graph[a].append(b) graph[b].append(a)# dfsvisited = [False] * ndef dfs(no..

[RabbitMQ] RabbitMQ를 사용한 분산 서버 간 데이터 동기화

현재 우리 회사의 서비스는 Untitled와 Titled 두 개가 존재한다. 이 서비스들에서 통합 계정을 사용하기 위해서는 인증/인가를 담당할 Auth 서버가 필요해서 총 세 개의 분산된 서버를 운용하게 된다. 문제는 이 서버들이 사용하는 DB 또한 다르기 때문에, 분산된 서버들에서 공통적으로 사용되는 유저 데이터가 동기화될 필요가 있다는 것이다. 이번 글에서는 내가 어떤 식으로 분산 서비스간 데이터 동기화를 구상했는지 알아보겠다      현재 상황 및 방법 선택에 있어서의 기준 정의   먼저, 여러 방법들 중에 우리 서비스에 적용할 방식을 고르기 위해 내가 중요하게 생각했던 기준은 다음과 같다문제를 효율적으로 해결할 수 있어야 한다: 당연하겠지만, 분산 서비스간 데이터를 실시간으로 동기화 할 수 있어야..

[백준/Python] N과 M (8) 15657

1. 첫 번째 풀이(success): 백트래킹'''Condition- n개중 m개 고름- 중복해서 뽑을 수 있음- 오름차순Answer- 중복값 출력x>>>> 백트래킹으로 풀자'''def dfs(cnt, seq:list, before, lst:list): global visited, answer # 조건 확인 if cnt == m and tuple(seq) not in visited: answer.append(seq[:]) visited.add(tuple(seq)) return # 탐색 for i in range(before, n): num = lst[i] seq.append(num) dfs(cnt+1, ..

[OS] 2. 프로세스, 프로세스의 상태, PCB, Context Switching (feat. 혼자 공부하는 컴퓨터구조 + 운영체제)

프로세스  프로세스란?'보조기억장치'에 저장되어 있는 프로그램이, '메모리'에 적재되어 실행되면 이를 프로세스라 한다사용자가 볼 수 있는 공간에서 실행되는 '포그라운드 프로세스(foreground process)'와, 사용자가 볼 수 없는 뒤편에서 실행되는  '백그라운드 프로세스(background process)'가 있다백그라운드 프로세스 중에서 사용자와 상호작용하지 않고 정해진 일만을 수행하는 프로세스를 데몬(daemon, unix) 혹은 서비스(service, window) 라고 부른다    프로세스의 상태(Process Status)프로세스는 '준비 상태', '실행 상태', '대기 상태', '보류 대기&준비 상태' 를 가질 수 있다이는 프로세스가 실행되고, I/O Interrupt 등에 의해 대기..

Operating System 2024.12.01