1. 기술/서버, 데이터, 클라우드 19

Elastic Search - 외부 호스팅 개방

외부에서 엘라스틱서치 클러스터에 접속하기 위해서는 config/elasticsearch.yml 파일에서 network.host: “_stie_” (혹은 internet-ip) 를 입력해줘야 한다. 그런데, 이렇게 수정하고 실행하면 부트스트랩 에러가 발생한다. 이 부분을 해결하려면 /etc/security/limits.conf 파일과 /etc/sysctl.conf 파일 수정 통해 리소스 제한을 영구적으로 풀어줘야한다. 수정 내용은 아래 이미지 참고) 수정했다면, 리눅스 시스템을 다시 올린다. $sudo shutdown -r 추가로, config 파일에 discovery.seed_hosts로 호스트 설정도 해줘야 한다. 이렇게 외부 호스트를 열고 실행시, 내부에서는 이제 localhost로는 접속이 안되고,..

pythonanywhere - 장고 서버 구축

웹으로 모델을 서빙해야 하는 상황이 자주 생긴다. pythonanywhere로 간단한 개인 서버를 띄워보고 싶다면, 딱 3가지만 생각하면 된다. 로컬에서 개발하고 Github에 원격으로 올리고 외부 호스팅 업체를 사용한다. 1. 로컬 개발하고 머신러닝 모델 배포나 일반 웹서비스를 위해 html 페이지를 로컬 서버에 띄워봤을 수 있다. 주소창에 localhost : ~ / ~ 3000 이런 식으로 나타나는데 이것이 로컬 서버다. 외부에서는 접속할 수 없다. 2. Github에 원격으로 올리고 내 컴퓨터에서 작성한 코드를 clone, post 와 같은 명령어로 github에서 가져오기도 하고 repositories로 올릴 수도 있다. 다른 사람들과 코드를 공유하고, 내 코드가 변경을 하다가 이전 버전으로 돌..

맥 homebrew - 깃 설치 및 깃허브 연동

먼저 homebrew를 설치할 것이다. homebrew는 맥에서 git과 같은 다양한 툴을 편하게 설치하게 해준다. git 사이트에서도 이렇게 homebrew 사용을 권장한다. Install Homebrew 아래의 코드를 복사해서 터미널에 붙여넣는다. 정상적으로 설치가 되면 이렇게 password를 입력하라고 하는데 그냥 enter쳐주면 다음 연결시에도 password 확인 없이 진행하게 된다. homebrew를 설치했다면, cask도 간단히 설치해준다. cask는 애플의 사파리, 구글 크롬같은 도구들의 설치를 도와주는 유용한 패키지다. 드디어 git을 설치한다. % brew install git 을 해주면 터미널이 열심히 돌아간다. 깃 설치가 완료되었다면 %git config --global user...

Python Django - blog, admin

장고걸스 튜토리얼을 참고했습니다. manage.py 가 있는 파일 경로로 들어가서 아래 명령어를 실행한다. % python manage.py startapp blog - manage.py 파일이 있는 경로에서 blog 파일을 생성한다. 그럼 이렇게 blog라는 이름의 폴더가 생성되고, apps.py 파일, migrations 폴더를 포함해 여러 가지 항목들이 패키지로 설치된 것을 확인할 수 있다. (*참고) 장고 걸스에서 가져온 현재 디렉터리 모습 blog 모델을 생성했다면 이 App이 설치되었다고 알려줘야한다. mysite에서 다시 settings.py를 실행한다. INSTALLED_APPS를 찾아서 'blog'를 추가해준다. 이렇게 'blog' 앱이 설치된 것을 인식시켜줬다면, 다음으로 blog에 대..

맥에 Django 설치

% python -m pip install django -먼저, 장고를 설치한다. % django-admin startproject mysite . -데이터베이스와 서버 세팅을 도와준다. 그럼 장고를 설치한 폴더의 하위에 mysite 폴더가 생성되고, 아래와 같이 settings.py를 확인할 수 있다. 열어서 몇가지 세팅을 해준다. TIME_ZONE은 웹에서 시간대 표시할 때 참고하는 지역이니 Asia/Seoul로 설정해주고, STATIC_ROOT = os.path.join(BASE_DIR, 'static') 를 통해 정적 파일 경로를 설정해준다. ALLOWED_HOSTS는 빈값으로 되어 있다. 아래와 같이 채워준다. 데이터베이스는 sqlite3으로 구동되는 것으로 보인다. 저장 후 terminal로 ..

맥 zsh - conda install 에러, pip install로 대체

이번에 새로 산 맥에 장고를 설치하려다가 conda install 관련 에러가 있어 내용을 기록한다. 우선, 사용자폴더에서 새롭게 sw_python이라는 폴더를 생성하고, 가상환경도 만들어 줬다. 가상환경 이름은 재미없지만 django_venv이다. 가상환경은 잘 생성되었다. conda activate django_venv 명령어로 가상환경을 실행한다. 이어서 conda install 명령어를 통해 django를 설치해줬다. 그리고, 장고를 실행하기 위한 mysite와 하위 파일들을 생성하려고 시도해보았으나 No module named 'django' 메시지가 뜨면서 실행되지 않는다. 이어서 django --version 으로 설치가 되었는지 확인해보니 command not found: django 라고..

맥(Mac) 터미널 경로설정 - 아나콘다(Anaconda), 2020년 5월 10일 기준 updated

오랜만에 맥에 아나콘다를 설치하고 가상 환경을 띄우려는데, 에러가 발생했다. 구글링 해보면 대부분 export PATH="/Users/username/anaconda/bin:$PATH"로 설정하면 된다 는 내용이 많다. 동일하게 시도했을때, 아래와 같이 에러가 발생한다. 초기화도 해보았으나 No action taken. 이라는 모호한 내용이 출력된다. 구글링 해보니 2019년 말 기준 맥 터미널이 zsh환경이 default로 잡히면서 몇 가지 업데이트로 인해 경로를 다르게 설정해주어야 한단다. 우선 경로는 conda.sh 파일이 있는 폴더로 찾아본다. ~~ anaconda3/etc/profile.d 경로 하위에 conda.sh 가 있기 때문에 아래와 같이 export 해준다. 이제 아래와 같이 작성하고,..

블록체인 개념적 구현(javascript)

블록체인은 데이터를 여러 블록으로 이어붙이며 저장하고, 저장하는 과정에서 Hash(문자열과 같은 특정 데이터를 해시 함수를 통해 일정한 길이의 데이터로 변환한 값)변환을 수행하기 때문에 양자 연산이 아닌 이상 해독하는 것은 어렵다. 5분안에 블록체인을 만들어보자. 물론 우리가 만들 블록체인은 누군가와 거래를 하거나 장부에 거래 내용을 기록하거나 하는 서비스용 네트워크는 아다. 혼자 가지고 놀 LEGO를 조립하는 수준이다. 하지만 블록체인이 도대체 어떻게 생겨먹었는지 알기 위해 딱 좋은 난이도라 생각한다. 전체 코드는 아래와 같다. const crypto = require('crypto'); let blockchain = []; const genesisBlock = { index: blockchain.le..

NodeJS - NPM, PM2

Pm2는 NodeJS의 Package Manager인 'NPM'을 통해 설치할 수 있는 Package 중 하나로 단순 반복 작업을 도와주면서 에러를 실시간으로 감시하게 해주는 고마운 모듈이다. 생활코딩으로 유명하신 '이고잉'님의 말을 빌리면 NPM은 NodeJS계의 앱스토어다. 주 기능은 NodeJS를 사용하는 서버 측 관리자에게 편의를 제공하는 것이다. NodeJS로 구동하는 서버가 무너지지 않게 유지해주고, 코드를 리로드 하고 잘 동작하는지 확인하는 과정을 전체를 편리하게 해주면서 전체 프로세스 과정에서 매번 발생하는 로그를 실시간으로 보여준다. 왼쪽은 현재 구동하고 있는 스크립트, 오른쪽은 전역에서 발생하는 로그를 보여준다. 강제로, 혹은 실수로 서버가 다운된다면 오른쪽에서 그러한 내용을 보여주면서..

1 2