💻 Computer Science

현재 진행중인 프로젝트에서 redis 도입이 필요했고 내가 세팅을 담당했다.기존 AWS 아키텍처 구성에서 어떤 방식으로 redis를 추가 구성하는게 가장 좋은 선택일지 고민해본 결과, Private subnet의 API 서버 EC2에 Redis를 함께 설치하기로 했다. (우리 프로젝트의 클라우드 인프라 아키텍처는 글의 하단부에 다이어그램을 첨부해두었다) 그 이유는:프리티어는 EC2 인스턴스 사용 시간을 기준으로 과금이 되는데, 지금 이미 2개 이상의 인스턴스가 실행되고 있으므로(private, public subnet 각각), 현재 실행중인 EC2에 설치하는게 맞다고 판단했다.또한, 구조적으로도 안정적이다!이미 Private subnet에 위치하고 있으므로 보안성이 확보된다.Bastion 호스트(Publ..
1. 최단 경로 알고리즘이란?최단 경로 알고리즘은 그래프에서 한 정점에서 다른 정점까지 가는 데 필요한 최단 거리를 찾는 알고리즘입니다. 여기서 ‘최단’의 의미는 경로 상의 가중치 합이 가장 작다는 뜻입니다. 예를 들어, 지도에서 두 도시를 최단 거리로 연결하는 방법을 찾는 것이 최단 경로 문제라고 볼 수 있습니다.방금 제가 풀고 있던 이 문제: https://www.acmicpc.net/problem/16928 에서의 '정점'은 게임판의 칸이 될 것이며, 각 칸마다 이동하는 것이 경로를 통해 이동하는 상황이 되는 것입니다. 다만, 이 문제에서는 각 경로의 가중치가 모두 1로 동일한 상황이며, 이 경우에는 어떤 알고리즘으로 푸는 게 적합한지 글의 마지막 부분에 언급하도록 하겠습니다. 2. 대표적인 최단 ..
정렬 알고리즘 문제를 푸는 중에 매우 깔끔한 코드를 발견했습니다.저는 열심히 퀵소트로 문제를 풀었는데, 어떤 분들은 Arrays.sort와 lambda 함수를 사용해서 아주 깔끔한 코드로 풀이를 완성한 것이었죠!!! 저는 그런 식으로 코딩해본 적이 없어서 한 줄씩 뜯어봤는데,사실 '저 코드가 도대체 왜 오름차순 정렬을 하는 코드인거지???' 하는 생각이 계속 들었습니다. 그래서 다시 찾아보면서 이해를 하고 메모를 해두려고 합니당 정렬하는 부분만 작성해둔 예시 코드는 다음과 같습니다.// 예시 코드import java.util.Arrays;public class Main { public static void main(String[] args) { int[] arr1d = new int[]..
Ubuntu에서 한영 전환 키가 Right Alt로 인식되어 원치 않는 입력 전환이 발생할 수 있다. 이를 해결하기 위한 방법을 아래와 같이 정리했다.🛠️ 1. GNOME Tweaks 설치Ubuntu 환경에서 키보드 설정을 변경하려면 gnome-tweaks 도구가 필요하다.설치 명령어를 실행한다:sudo apt updatesudo apt install gnome-tweaks설치가 완료되면 터미널에 다음 명령어를 입력하여 실행한다: gnome-tweaks ⚙️ 2. 키보드 설정 변경gnome-tweaks 실행 후 Keyboard & Mouse(키보드 및 마우스) 탭으로 이동한다.Additional Layout Options(추가 레이아웃 옵션)을 선택한다.Switching to another layout..
이진탐색 알고리즘은 선형 탐색 알고리즘과 달리, 정렬된 리스트를 전제로 한다. 정렬된 리스트가 아니면 이 알고리즘은 적용이 불가능하다. 이진탐색 알고리즘이 무엇인지는, 다른 자료들을 통해 이미 충분히 많이 설명되어 있으므로 설명을 생략한다. 사용한 언어는 python이고 재귀를 사용한 방법, if-else문을 사용한 방법 두 가지를 모두 살펴보자. 문제는 찾고자 하는 원소 element가 리스트 안에 존재하면 그 원소의 인덱스를 리턴하고, 없으면 None을 리턴하는 것이다. 1. 재귀 def binary_search(element, lst): mid = len(lst)//2 if not len(lst): return None elif element == lst[mid]: return mid elif el..
학교 수업에서 터미널을 사용하기 위해 내가 사용하는 Windows에 Ubuntu를 깔아야 했다. 우분투 설치하기 우분투 공식 홈페이지의 방법대로 깔았는데 시간이 꽤 오래걸렸다. 중간에 에러가 나서 고치는데에도 좀 애먹었는데 어떻게 잘 해결했었다. 우분투 사용하기 우분투를 깔았는데 내가 원하는 폴더로 접근하는법을 모르겠었다. 사진으로 보는 문제 상황 윈도우 경로랑 달라서 뭔고 했다 근데 명령어 하나면 바로 해결됨 파일탐색기 주소창 부분(사진참고)에 wsl이라고 치면 알아서 그 경로에서 리눅스가 열린다. 아래와 같이 내가 원하는대로 접근할 수 있다.
녕 지
'💻 Computer Science' 카테고리의 글 목록