문제 설명 프로그래머스 lv.01 문제로 배열 형태로 제공된 데이터에서 '#'(문제 설명으론 폴더)로 표시된 부분들을 드래그 한번으로 모두 포함하는 최단거리를 구하는 문제이다. 풀이 모든 '#'을 포함 시켜야 한다고 문제 설명에 되어 있다. 이 말은 드래그를 하면 모든 '#'이 포함되어야 하기 때문에 결과는 무조건 직사각형 형태로 나올수 밖에 없다. 직사각형 형태로 나온다는 건 가장 왼쪽 윗부분과 가장 오른쪽 아랫부분의 좌표값이 문제에서 요구하는 결과물이라는 말과 같다. 즉, '#'이 있는 x,y좌표의 최댓값, 최솟값만 구해주면 쉽게 문제를 해결할 수 있다. 결과물은 아래 코드와 같다. function solution(wallpaper) { var answer = []; // 결과 좌표값을 담는 변수 l..
분류 전체보기
이전 포스트이전 포스트에서는 인스턴스를 생성하고 작성한 프로젝트를 가져와 인스턴스에서 정상적으로 실행되는지 테스트 해보는 과정을 가졌다. 이번 포스트에서는 nginx+gunicorn+flask+docker-compose를 활용하여 배포를 진행해보고자 한다. 전체 디렉토리 구조├── README.md ├── .dockerignore ├── .gitignore ├── .gitmodules ├── pacage-lock.json ├── docker-compose.yml │ ├── .github/workflows │ └── main.yml│ ├── .nginx │ ├── Dockerfile │ ├── default.conf │ └── nginx.conf │ └── src │ ├── Doc..
이전 포스트이전 포스트에는 배포를 위한 기본적인 설명과 gcp에 인스턴스를 생성하는 것까지 다뤄보았다. 이번 포스트에서는 본격적으로 배포를 진행해보기에 앞서 생성한 인스턴스에서 내가 만든 프로젝트가 정상적으로 작동하는지 확인해보는 과정을 가져보고자 한다. 진행 과정pip 설치$ sudo apt-get update$ sudo apt-get upgrade$ sudo apt-get install python3-pip설치가 완료되었으면 아래의 명령어로 확인해보면 된다$ pip3 --versiongit 설치프로젝트를 불러오기 위해 pip와 마찬가지로 git도 설치해준다.$ sudo apt-get install git$ git --version git까지 설치되었으면 github에 올려두었던 프로젝트를 가져와주면 ..
배경진행하는 프로젝트에서 Flask 환경에서 개발을 할 일이 있어 클라우드에 배포해야 할 일이 생겼다.클라우드를 사용해본 경험은 있었지만 기본적인 사용법밖에 몰랐고 실제로 사용해본 경험이라고는 딥러닝 모델을 학습시킬 때 빼고는 처음이여서 배포를 하는 과정에서 관련 자료 찾기도 어렵고 오류도 많이 만나고 여러가지로 많이 해맸던거 같다. 나와 같은 처지에 있는 사람들에게 도움이 되길 바래 배포했던 과정을 차례대로 정리해보기로 했다. 전체 구조이번에 배포할 때 사용한 구조는 일단 클라우드에서 nginx와 gunicorn, flask를 docker-compose를 이용해 하나로 묶어 주었고 클라이언트와의 통신은 nginx를 통해서만 가능하도록 설계하였다. 전체적인 구조는 아래 그림과 같다.정리를 하자면 클라이언..
| 객체 자바스크립트는 객체 지향형 프로그래밍 언어로 자바스크립트를 구성하는 모든 요소는 객체로 이루어져 있다. 그러므로 자바스크립트를 배운다면 객체에 대해 자세히 알아둘 필요가 있다. 객체는 이름(name)과 값(value)으로 이루어진 프로퍼티들의 집합을 뜻하는데 아래 코드에서 fruit이 하나의 객체를 뜻하며 {apple: '사과', banana : '바나나'} 가 프로퍼티 apple과banana가 이름(name), '사과', '바나나'가 값(value)라고 보면 된다. const fruit = { apple : '사과' banana : '바나나' } | 프로퍼티 접근과 수정 객체를 생성하였으면 객체에 포함 된 프로퍼티에 접근하고 삭제, 변경과 같은 수정을 할 수 있어야 한다. 프로퍼티에 접근하기 ..
| 제어문 일반적으로 프로그램을 실행할 때 코드는 위에서부터 아래로 실행되는 흐름을 가진다. 하지만 제어문을 사용하면 특정 조건에 따라 특정 코드를 실행하거나 특정 코드 부분을 반복적으로 실행하는 것이 가능하다. 자주 사용되는 제어문에는 조건문과 반복문이 있다. | 조건문 조건문은 말그대로 특정 조건에 따라 코드를 실행하는 제어문이다. 조건문의 종류로는 if-else 문, swith 문이 있다. | if-else문 조건문의 종류 중 하나로 특정 조건식에 대한 논리적 판단을 진행하여 참, 거짓 여부에 따라 참이면 if 문의 코드 블록을 실행하고 거짓이면 else 문의 코드 블록을 실행시킨다. 하나의 조건식이 아니라 여러개의 조건식을 사용하여 비교하고 싶다면 else if을 사용하면 된다. 처음 조건식이 참..