일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 이분 그래프(Bipartite Graph)
- 백준 17608번
- 백준 1707번
- DFS & BFS
- 백준 21606번
- 큐(Queue)
- 플로이드 워셜 알고리즘(Floyd-Warshall Algorithm)
- 알고리즘 개념
- 백준 9012번
- 다익스트라 알고리즘(Dijkstra Algorithm)
- 백준 1948번
- 백준 2493번
- DFS(Depth First Search)
- DFS
- 백준 2261번
- 위상 정렬(Topological Sort)
- 동적 프로그래밍(Dynamic Programming)
- 백준 10000번
- BFS
- 그리디 알고리즘(Greedy Algorithm)
- 분할 정복(Divide and Conquer)
- BFS(Breadth First Search)
- 트리(Tree)
- 백준 2812번
- 백준 18352번
- 그래프(Graph)
- 위상 정렬(Topology Sort)
- 스택(Stack)
- 백준 2504번
- 이분 탐색(Binary Search)
- Today
- Total
목록카이스트 정글 - 프로젝트 (40)
Always Be Wise
1. 인스턴스 SSH 연결 작업의 편의를 위해 Amazon EC2에서 구매한 Linux 인스턴스를 Visual Studio에 SSH를 이용하여 연결한다. # .ssh 디렉토리로 키페어 이동 mv ~/[저장 위치]/[키페어 이름.pem] ~/.ssh/[키페어 이름.pem] # 키페어 권한 변경 chmod 400 ~/.ssh/[키페어 이름.pem] # DNS 연결 ssh -i [키페어 경로] [AMI의 사용자 이름](ex: ec2-user)@[인스턴스의 퍼블릭 DNS(ex: 3.35.142.147)] 2. 필요한 패키지 설치 Linux 종류에 따라, 명령어가 다를 수 있다. 아래는 Amazon Linux2를 적용한 경우이다. sudo yum update # git 설치 sudo yum install git ..

Amazon EC2 생성 1. 아마존 콘솔 접속 : https://console.aws.amazon.com/ https://console.aws.amazon.com/console/home console.aws.amazon.com 2. EC2 클릭 → 인스턴스 시작 클릭 3. Amazon Machine Image(AMI) 선택 → 인스턴스 유형 선택 → 검토 (필요시 인스턴스 구성 / 스토리지 추가 / 태그 추가 / 보안 그룹 구성) Route53 도메인 구매 1. Route 53 클릭 -> 도메인 등록 클릭 2. 도메인 이름 선택 -> 연락처 세부 정보 -> 확인 및 구매 SSL 인증서 발급 1. Certificate Mangager 접속 2. 인증서 -> 인증서 요청 -> 퍼블릭 인증서 요청 (Rout..

2월 17일 중간 발표 후, 우리 팀은 개발 방향을 완전히 전환하였다. 가장 큰 이유는 기능적으로 기존의 줌이나 기타 화상 회의 서비스를 이용해 쇼핑을 하는 것과 큰 차이가 없었기 때문이었다. 사실, 시간이 2주 정도 밖에 안남은 상황에서 갑자기 다른 방향으로 나아가는 것이 옳은 선택인지 고민이 많았다. 다른 팀들의 경우, 이미 개발을 많이 진행하면서 프로젝트가 안정기에 이르렀기에 더욱 불안했다. 하지만, 팀 내부적으로 논의 결과, 더 나은 결과물을 위해 이러한 선택이 필요하다는 판단이었다. 2월 20일, 우리는 새로운 방향으로 프로젝트를 진행하였고, 약 2주 간의 시간동안 개발을 진행하여 아래의 결과물을 도출하였다. 그리고 그 결과는 나름 성공적이었다. 운영진들분에게도 중간 발표 때 보다 훨씬 나아졌다..

도커 이미지는 도커 허브에 이미 존재하는 것을 사용할 수도 있지만 직접 이미지를 만들어서 사용할 수도 있다. 또한, 직접 만든 이미지를 도커 허브에 올려서 공유할 수도 있다. 도커 이미지를 만들기 위해서는 도커 파일(Dockerfile)을 작성해야 한다. 도커 파일이란 도커 이미지를 만들기 위한 설정 파일이며, 컨테이너가 어떻게 행동해야 하는지에 대한 설정들을 정의해 주는 곳이다. 도커 파일 만드는 순서 1. 베이스 이미지를 명시해준다(파일 스냅샷에 해당). 도커 이미지는 여러 개의 레이어로 구성되어 있다. 그 중에서 베이스 이미지는 도커 이미지의 기반이 되는 부분이다(간단하게 OS라고 할 수 있다). 2. 추가적으로 필요한 파일을 다운 받기 위한 몇가지 명령어를 명시해준다(파일 스냅샷에 해당). 3. ..

도커 컨테이너의 생명주기 컨테이너 생성 docker create 컨테이너 시작 docker start -a 컨테이너 실행(컨테이너 생성 + 컨테이너 시작) 도커 컨테이너를 실행하기 위해서는 아래와 같은 구조의 명령어를 도커 클라이언트에 입력하면된다. docker run 컨테이너 중지 stop의 경우, 그동안 하던 작업들을 완료하고 컨테이너를 중지시키는 반면, kill은 즉시 중지시킨다. docker stop docker kill 컨테이너 삭제 실행 중인 컨테이너는 먼저 중지한 후에 삭제가 가능하다. # 중지된 컨테이너를 삭제하고 싶다면? docker rm # 모든 컨테이너를 삭제하고 싶다면? docker rm `docker ps -a-q` # 특정 이미지를 삭제하고 싶다면? docker rmi # 한번에..

도커 설치 1. 도커 사이트 이동 2. Get Started 클릭 3. Docker Desktop → Download for Mac 클릭(사양에 맞게) → 설치하기 4. Docker 회원가입 5. Docker 클릭 → Sign in / Create Docker ID → Sign in 6. 터미널 실행 → docker version 입력 도커란 무엇인가? 도커란 컨테이너 기반의 오픈소스 가상화 플랫폼이자 생태계이다. 다양한 프로그램, 실행환경을 컨테이너 안에 추상화하여 동일한 인터페이스를 제공함으로써 응용프로그램을 더 쉽게 만들고, 배포하고, 실행할 수 있도록 설계된 도구이다. 도커 이미지와 컨테이너 (feat. 도커 컨테이너란?) 이미지는 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정과 같은 ..

프로젝트 아이디어가 확정되고, 우리 서비스의 사용자 경험이 어떻게 이루어질지 정리한 후 API를 설계하였다. 이후, 서비스 주요 기능 구현을 위해 팀원들 각자가 공부를 시작하였고, 나 역시 해당 공부를 진행하면서 틈틈히 로그인과 회원가입 등 많은 서비스에서 필수적인 기본 기능에 대해서도 고민을 해보았다. 맨 처음 개발 공부를 시작했을 때에는 로그인, 회원가입 기능도 구현하는 것이 굉장히 어려웠었다. 사실 제대로 구현했다고 하기 힘들었다. 사용자 입력 값에 대한 유효성 검사도 제대로 하지 않았고, 아마도 보안상 문제도 많았을 것 같다. 기본 기능이라고는 하지만 서비스 사용을 위해서는 필수적인 것이고, 개인 정보를 다룬다는 점에서 아주 중요하기에 이전 보다는 발전된 방식으로 나아가야겠다는 생각이 들었다. 쿠..

5주간의 짧은 기간 동안 진행해야 하는 프로젝트이고, 아직 현업 개발자도 아니기에 개발 프로젝트에서 진행해야 하는 구체적인 작업들을 명확히 이해하지 못하는 것이 사실이다. 그럼에도 불구하고 몇 가지 시도를 해보기로 팀원들과 약속하였고, API 설계 역시 그중 하나였다. 팀장으로서 우리 프로젝트를 조금이라도(?) RESTful 하게 만들기 위해, API 설계의 개념과 Rest Architecture가 무엇인지 정리해보았다. 그리고 정리 과정에서 우리 프로젝트에 적용할 기준 두 가지를선정해보았다. API 설계란? 서비스에서 어떤 리퀘스트를 보냈을 때, 무슨 리스폰스를 받는지는 많은 경우 그 서비스를 만드는 개발자들이 정한다고 한다. 하나의 서비스를 만들 때 프론트엔드 개발자들과 백엔드 개발자들은 '프론트엔..

함께 하는 온라인 쇼핑 서비스 주제 선정 배경 코로나 19로 인한 온라인 전환이 가속화되면서, 온라인 쇼핑 서비스들이 급성장 하였다. 특히, MZ 세대 향 패션 플랫폼의 성장이 두드러졌다. 사용량이 증가했을 뿐만 아니라, 무신사나 지그재그와 같은 서비스의 경우 연 거랙이 조 단위로 증가하였다. MZ 세대에게 온라인 쇼핑은 단순 쇼핑행위를 넘어선 소통행위이다. 기존 사진 포스팅에서 벗어나 최근에는 라이브 방송에 이르기까지 소통을 통한 재미를 추구하고 있다. 그러나 여전히 대부분의 온라인 쇼핑은 개인이 혼자하는 경험으로 이루어져있다. 또한, 혼자하는 온라인 쇼핑은 여러 가지 불편한 상황들을 유발한다. 예를 들어, 어떤 물건에 대한 의견을 다른 사람에게 구하기 위해서 링크 폭탄을 보내야 한다던가, 장바구니에 ..
지금까지의 프로젝트들은 CPU 가상화, 메모리 가상화와 관련한 것이었다. 그리고 이번 마지막 프로젝트, 파일 시스템은 저장 장치의 가상화와 관련한 내용이었다. 이때, 저장 장치란 HDD, SDD, USB, 마그네틱, 반도체 등 정보를 저장하기 위해 사용되는 다양한 장치들을 의미한다. 그런데 저장 장치에 정보를 저장하기 위해서는 이를 읽고 쓰는 방법이 필요하며, 파일 시스템이 그 역할을 담당한다. 컴퓨터는 파일과 디렉터리라는 두 가지 개념을 이용하여 파일 시스템을 구성하여 궁극적으로 저장 장치를 가상화한한다. 파일과 디렉터리 파일은 읽거나 쓸 수 있는 순차적인 바이트의 배열을 의미한다. Unix 파일 시스템의 경우, 파일 각각은 아이노드(inode)라는 고유의 저수준 이름을 갖고 있다. 파일의 아이노드를 ..