[알고리즘 개념] DP(Dynamic Programming), 대체 뭘까
·
Algorithm
오랜만에 알고리즘 공부를 다시 시작하고 있다.그런데... 다 잊었다! 다시 복습해보자!  1. 동적 계획법(Dynamic Programming, DP)란? 큰 문제를 작은 문제로 나누어 푸는 방식이다.문제를 풀기 위해 작은 문제의 결과를 저장해두고, 같은 문제를 다시 풀 필요가 없도록 한다. 동적 계획법은 보통 재귀적 문제 해결에서 사용되는데, 단순히 재귀만 사용하는 것보다 훨씬 효율적이다.재귀는 큰 문제를 풀기위해 동일한 작은 문제를 반복해서 호출하는 방식인데,DP는 이미 계산한 값은 저장해두고 재사용하므로, 동일한 계산을 반복하지 않는다. 2. 왜 동적 계획법을 사용할까? 일반적인 재귀방식은 같은 계산을 여러 번 반복하여 비효율적이다.예를 들어, 피보나치 수열을 재귀로 계산할 때, fibonacci(..
AWS Document DB 오프라인 세미나 후기
·
Archive/ETC
세미나, 왜 신청했는가! 2023.10.23 에 진행되는 AWS Document DB 세미나에 참여하고 왔다. 현재 우리 회사에서 MongoDB 나 DocumentDB를 사용하고 있는 것은 아니었으나, NoSQL인 DynamoDB 를 쓰고 있고, 새롭게 시스템 구축이 필요할 때 Dynamo와는 다른 NoSQL 선택지가 어떤 것이 있을지 궁금해서 세미나에 신청했다. 강사님의 강사력(?)도 너무 좋았고, 내용도 일반 강의에서는 골라 듣기 어려운 실무적인 내용이 많이 들어있어서 이제 막 여러 DB를 사용해보기 시작한 나에게는 너무나 유익했던 시간이었다. (업무시간 빼고 5시간 투자할 가치가 충분했습니다. 다들 츄라이 츄라이) 아래는 강의 세션을 들으면서 내가 기록했던 것들이다. 지식 습득용보다는, 이런 내용들..
[Docker] 도커를 활용하는 클라우드 서비스
·
Archive/Develop
해당 포스팅은 "원티드 프리온보딩 백엔드 8월 코스" 를 수강하며 강의 내용을 정리해본 것입니다. 문제가 있는 내용이거나 오류가 있다면 댓글로 남겨주시면 감사하겠습니다. 컨테이너 오케스트레이션 툴 GCP GKE AWS EKS ECS 위와 같은 서비스들이 이미 상용화 되어있다. 컨테이너 오케스트레이션의 기능 컨테이너 클러스터링 여러 대의 노드를 하나의 클러스터로 묶어, 애플리케이션을 분산하여 실행하고 자원을 효율적으로 활용하는 기능. 여러 대의 물리적인 또는 가상의 서버를 하나의 시스템처럼 동작하게 하는 기술 컨테이너를 실행하는 호스트의 자원을 효율적으로 분배, 컨테이너가 안정적으로 실행 되도록 함. 여러 대의 컨테이너를 묶어 하나의 서버처럼 사용할 수 있도록 지원함. 서비스 디스커버리 컨테이너를 자동으로..
[Docker] DockerHub에 내 이미지를 올려보자! (feat. docker-compose)
·
Archive/Develop
해당 포스팅은 "원티드 프리온보딩 백엔드 8월 코스" 를 수강하며 강의 내용을 정리해본 것입니다. 문제가 있는 내용이거나 오류가 있다면 댓글로 남겨주시면 감사하겠습니다. Dockerfile syntax 아래는 Dockerfile 에서 사용하는 여러 키워드들이다. FROM: 베이스 이미지 선정 WORKDIR: work directory 선정 COPY: 복사할 파일 선정 RUN: 실행할 명령어 ENTRYPOINT: 컨테이너가 시작할 때 실행할 명령어 도커이미지를 도커 허브에 올려보자! 이미지 생성은 아래의 명령어로 할 수 있다. docker build -t my-httpd . 만약 이렇게 만들어진 이미지를 도커 허브에 올리고 싶다면, 이미지 이름은 아래 규칙을 따라야한다. [Docker Hub 사용자명]/이..
[Docker] Docker 의 기본 개념과 사용법
·
Archive/Develop
해당 포스팅은 "원티드 프리온보딩 백엔드 8월 코스" 를 수강하며 강의 내용을 정리해본 것입니다. 문제가 있는 내용이거나 오류가 있다면 댓글로 남겨주시면 감사하겠습니다. Docker 를 설명해보자. open platform 어플리케이션을 인프라에서 분리 신속하다 인프라를 어플리케이션을 관리하는 것처럼 관리할 수 있음 코드 배포에 용이하다. 도커는 결국 컨테이너 기반 가상화 도구이다. 애플리케이션을 컨테이너 단위로 격리하여 실행하고 배포하는 기술인 것이다. 그럼 여기서, 컨테이너란 무엇일까? 컨테이너란 무엇인가? 가상화 기술 중 하나로, 호스트 운영체제 위에 여러 개의 격리된 환경을 생성한다. 그럼 꼬리 질문으로, 가상화 기술은 무엇일까? 가상화 기술이란? 하나의 물리적인 컴퓨터 자원을 가상적으로 분할하여..
VScode 에서 파일구조를 그려보자! (file-tree-generator)
·
Archive/Develop
여태껏 README.md 파일에 파일 구조를 옮겨 적을 때 tree 명령어를 쳐서 나온 결과물을 그대로 복붙해왔었다. 이번에 서버팀 내에서 typescript template 제작을 맡게 되었는데, 내 템플릿의 구조를 설명할 때, 좀 더 편리하고 예쁘게 파일 구조를 알릴 수 있는 방법이 없을까 찾아보다가 발견한 vscode extension 이다. file-tree-generator vscode 의 extenstions 탭에서 file-tree-generator 를 검색하자. 바로 저 확장프로그램이다. 설치해주도록 하자! 이제 내가 구조를 표현하고 싶은 폴더에서 우클릭을 하고, Generate to Tree 를 선택해주자. 그럼 아래와 같은 결과물을 얻을 수 있다. icon 을 on/off 할 수 있는 ..