Ubuntu 18.04에 Python Flask 설치하기

Ubuntu 18.04에 Python Flask 설치하기

Ubuntu version : 18.04Python version: 3.6.7 현재 우분투 서버에 접속한 상태라고 가정하고, 파이썬 버전을 아래 명령어로 확인합니다. 제 경우에는 파이썬 3.6.9 였습니다. 이제 virtualenv 모듈을 설치합니다.이 부분 같은 경우는 여러 방법이 있는 것 같은데, 최근에는 아래와 같은 방법으로 주로 설치하는 것으로 보입니다. 설치가 끝났으면 우리의 프로젝트를 올릴 디렉토리를 하나 아래의 명령어로 만듭니다. myapp 디렉토리로 들어간 상태에서 다음 명령어로 가상환경을 설치합니다.(두 번째 venv같은 경우는 편한 이름으로 자유롭게 설정 가능합니다.) 만약 여러분이 파이썬의 가상환경에 익숙하지 않으시다면, 조금 헷갈릴 수 있는 부분인데, 보통…

Read More Read More

AWS EMR 튜토리얼 – Part 1

AWS EMR 튜토리얼 – Part 1

안녕하세요! 지난 포스트에서는 하둡 환경을 직접 구성하는 작업을 해봤습니다. 네! 좀 번거롭죠.. 특별히 튜닝한 환경이 필요하지 않은 한 매번 세팅하기가 좀 힘듭니다. 그래서 이번 포스트에서는 하둡 클러스트를 쉽게 배포하고 사용하는 방법에 대해 알아보겠습니다. AWS의 EMR이라는 서비스를 이용해서, MRJob이나 PySpark를 테스트해보도록 하겠습니다. 파트 1 포스트에서는, 그냥 최대한 간단하게 론칭하고 예제 코드를 돌려보는 정도로만 해보겠습니다. (인스턴스 그냥 만들어 놓고 HDFS를 이용해서 파일 처리하고) 그리고 파트 2부터는 조금 더 제대로 EMR을 사용해보도록 하겠습니다. (AWS CLI 이용하고, S3에 저장하고) 다시 말씀드리지만, 만약 AWS 크레디트가 없는 분들은 이 링크를 활용해서 한번 본인이 받을 수 있는지 확인해보세요! STEP 1….

Read More Read More

[Docker-Compose] Django + PostgreSQL

[Docker-Compose] Django + PostgreSQL

여러 개의 컨테이너로 이루어진 어플리케이션을 도커를 이용해서 배포하려 하면, 한 Dockerfile로 해결이 안 되는 경우가 많습니다. 그래서 컨테이너들을 한 번에 관리하기 위해 docker compose를 사용합니다. 이번에 테스트할 어플리케이션은 Django로 작성된 간단한 웹사이트입니다. 데이터베이스는 PostgreSQL이며 마찬가지로 Docker 이용해서 설치됩니다. 그런데 일반적으로 DB는 도커를 이용해서 설치하는 게 권장되지 않습니다. DB는 일반적으로 독립적으로 계속 운용이 되면서, 어떤 앱에서든 자유롭게 접속할 수 있고 항상 정상적으로 응답을 하고 데이터도 계속 저장을 한 상태로 있어야 합니다. 만약에 도커를 이용해서 배포를 하면, 앱이 업데이트될 때마다 데이터 베이스도…

Read More Read More

CSMA CD/CA

CSMA CD/CA

CSMA (Carrier Sense Multiple Access)는 Contention-Based Schemes 중에 가장 기본이 되는 Aloha나 Slotted Aloha의 보완 형이라고 보면 되는데, 이 Aloha들의 문제점은 미디어의 상태를 고려하지 않고 그냥 계속 시도를 하다 보니까 아무래도 충돌을 피할 수 없는다. 그래서 이를 보완한 것이 CSMA방식이다. 이름에서 알 수 있듯이, Media를 계속 감지를 하면서 만약 Media가 비어 있다면 즉시 전송을 시작하고 만약 Media가 사용 중이라면, 3가지 경우로 나뉜다. CSMA의 3가지 Persistent Mechanism 1-Persistent CSMA 계속 감지하다가, 미디어가 비어 있을 때 바로 전송을 한다. 만약에 미디어가 이용…

Read More Read More

Hadoop 101: 하둡 클러스터 멀티노드 설치 AWS EC2

Hadoop 101: 하둡 클러스터 멀티노드 설치 AWS EC2

이 포스트에서는 3개의 EC2 인스턴스를 이용하여 하둡 멀티노드 클러스터를 구축할 것입니다. (하나는 마스터로, 나머지 두개는 슬레이브로). (AWS를 기본적으로 사용할 줄 아신다는 가정하에 포스팅을 작성할 건데, 혹시 한번도 써본적이 없으신 분들이 이 링크를 참고하세요! link) 맵리듀스, Map-reduce작업을 돌리려면 메모리가 충분해야 하기 때문에 t2.medium인스턴스 타입을 사용할 것입니다. (t2.medium인스턴스는 무료 범위가 아니기 때문에 과금에 될 수 있는데, 만약 학생이시라면 이 링크를 참조해서 $150 크레딧을 받아 가세요 link.) AWS EC2 t2.medium×3 (1 for a name node, 2 for data nodes) Ubuntu 18.04 Hadoop 3.1.1…

Read More Read More

[Docker] React.js + Nginx

[Docker] React.js + Nginx

React.js 앱을 Docker를 이용해 배포 할 때는 Nginx를 이용하면 깔끔하게 처리할 수 있다.기본적인 원리는, 우선 React로 작성된 앱을 빌드를 하고 생성된 html 파일을 컨테이너의 share/nginx/html 폴더의 기본 html에 덮어 씌우는 방식이다.그리고 교체된 html 파일들을 가지고 nginx를 시작해주기만 하면 끝. 샘플 프로젝트 보러가기  

Javascript / jQuery 를 이용한 id, name, class 값 가져오기

Javascript / jQuery 를 이용한 id, name, class 값 가져오기

지난 시간에는 id, name, class를 이용해서 각각의 input value들을 가져와 봤습니다.   이번에는 id를 이용해서 name / class를, name을 이용해서 id/ class를, class를 이용해서 id와 name을 가져와 보도록 하겠습니다. (정확히 기억은 안 나는데, 이것들이 필요한 때가 있더군요.)   먼저 div를 선언합니다. jQuery 사용 유무에 따라  나눠서 말씀 드리겠습니다. jQuery 사용시 vanilla javascript 사용시 (getElementById의 element는 단수형입니다. class와 name은 복수형이고요. 주의하세요) 끝입니다.  * class나 name을 중복해서 사용하시는 경우 index값 설정에 주의해서 접근하셔야합니다.

Javascript replace all

Javascript replace all

Python에서는 string의 replace method를 사용하면, 해당되는 모든 캐릭터가 바뀌지만javascript에서는 첫 번째 해당하는 부분만 바뀌고 더 이상 진행을 하지 않더군요. 해결 방법: 정규식을 이용한다. 보너스!그러면 두 가지의 캐릭터를 모두 바꿀 때 어떻게 하나? 해결 방법: 정규식을 잘 이용한다.