전체 글
-
Jupyter Notebook이란?서버 2017. 10. 18. 22:49
Jupyter Notebook이란?Jupyter Notebook은 오픈소스 웹 애플리케이션으로 라이브 코드, 등식, 시각화와 설명을 위한 텍스트 등을 포함한 문서를 만들고 공유하도록 할 수 있습니다.주로 데이터 클리닝과 변형, 수치 시뮬레이션, 통계 모델링, 머신 러닝 등에 사용할 수 있습니다. Jupyter Notebook은 파이썬, R, Scala 등 데이터 과학 분야에서 인기있는 프로그래밍 언어를 지원합니다. 가장 큰 장점은 실시간으로 인터렉티브하게 데이터를 조장하고 시각화할 수 있도록 해준다는 점입니다.
-
Ansible이란?서버 2017. 10. 18. 22:40
ansible이란?테스트 환경을 구축하는데 사용되는 툴 Provision & configuration management toolpython으로 개발되고 YAML이라는 언어를 통해 정의할 수 있고 json으로 통신python Github project 중 상위 랭킹 (6위)해커 뉴스 분석을 보면 ansible이 많이 Mention 되어지고 있음오픈 소스 버전 (GPL)ansible 장점 및 지원빠른 SSH통신, 빠른 provision이 가능추후 상용 환경에서 사용할 때 agent 기반이면 방화벽 이슈, agent 데몬 관리라는 불편한 점이 존재 (agent 방식은 확장성, 대규모 provision을 할 경우 매우 효과적이지만 서버와 통신하는 부분이 고도화되기 때문에 빠르고 간단한 provision을 할 ..
-
Jenkins - Hipchat 연동저장소 2017. 10. 16. 19:56
시작하기 전에 hipchat, jenkins 계정은 모두 있다고 가정하고 설명합니다.Hipchat먼저 방을 생성한 다음, ... 버튼을 눌러 Integrations를 누른 후 Install new integrations를 선택합니다. 다음 Build your own integration 버튼을 클릭합니다. 다음 적당한 별칭 (bot의 이름)을 정해줍니다. 여기선 Deployment Bot이라 생성했습니다. (아래 스크린샷과 다름..) Create버튼을 누르면 아래와 같은 화면과 Send messages to this room by posting to this URL의 값이 있는데 여기서 room/252352 와 같이 room 번호와 auth_token=Hcr8hO8Hihoph8P 와 같은 api tock..
-
[Python] datetime timezone 변경방법언어/파이썬 & 장고 2017. 10. 16. 19:13
python 3.6 이하 버전에서는 datetime을 생성하면 timezone 정보가 없어 astimezone 같은 메소드를 실행하면 에러가 발생합니다. 지금부터 삽질해서 찾은 방법을 설명합니다. python 3.6은 datetime을 생성할 때 timezone을 지정하지 않아도 기본으로 내장으로 설정이 되어 있어 astimezone()를 실행해도 에러가 발생하지 않습니다. 하지만 3.6이하 버전은 datetime을 생성할 때 timezone을 지정하지 않으면 timezone이 None이므로 astimezone()을 실행하면 에러가 발생합니다. 따라서 결론은 datetime을 생성할 때 timezone을 지정하는 것입니다. 하지만 이미 생성된 datetime이라면 어떨까..여기서 방법은 2가지로 나뉩니다..
-
[Python] Tip - 커스텀 컨테이너 타입은 collections.abc의 클래스를 상속받아 만들기언어/파이썬 & 장고 2017. 10. 15. 18:09
파이썬 프로그래밍의 대부분은 데이터를 담은 클래스들을 정의하고 이 객체들이 연계되는 방법을 명시하는 일입니다. 모든 파이썬 클래스는 일종의 컨테이너로, 속성과 기능을 함께 캡슐화합니다. 파이썬은 데이터 관리용 내장 컨테이너 타입(리스트, 튜플, 세트, 딕셔너리)도 제공합니다.시퀀스처럼 쓰임새가 간단한 클래스를 설계할 때는 파이썬의 내장 list 타입에서 상속받으려고 하는 게 당연합니다. 예를 들어 멤버의 빈도를 세는 메서드를 추가로 갖춘 커스텀 리스트 타입을 생성한다고 가정합니다.class FrequencyList(list): def __init__(self, members): super().__init__(members) def frequency(self): counts = {} for item in ..
-
[Django] 존재하는 테이블 스키마 Django로 복사 방법언어/파이썬 & 장고 2017. 5. 11. 15:24
사전작업virtualenv로 django를 설치한 경우Pycharm 내의 터미널을 사용하실 경우 선택된 interpreter에 따라 자동으로 변경되므로 아래와 같은 작업을 할 필요가 없습니다.예시) djangoDjango라는 virtualenv를 생성한 경우$ cd virtualenv $ source bin/activate (virtualDjango) $ # virtualDjango라는 virtualenv 터미널에 접속한 상태 # virtualenv 접속해제는 deactivate $ 프로젝트로 이동터미널settings 파일이 쪼개져 있지 않은 경우$ python3 manage.py inspectdb > models.py (아무이름이나 가능)settings 파일이 쪼개져 있는 경우$ python3 mana..
-
[Golang] golang에서는 WSGI를 사용하지 않은 이유언어/Golang 2017. 4. 19. 16:20
일단 WSGI는 파이썬에만 해당이 됩니다. Go에는 3가지 옵션이 있습니다. (실제로는 4가지지만 일반적으로 CGI는 높은 부하로 인해 뺐습니다.)Go의 표준 라이브러리에 내장 된 HTTP 서비스 기능.이 경우 앱은 독립 실행형 서버입니다. 가장 간단한 설정 일 수도 있지만 다음과 같은 문제가 있을 수 있습니다. 다운그레이드 권한으로 권한이 부여된 포트(1024 아래의 포트, 예를들어 80포트)를 가진 앱을 실행하려면, 특별한 wrapper나 POSIX 기능을 사용해야합니다.연결을 끊지 않고 재배포를 하려면 goagain과 같은 다른 wrapper가 필요합니다.웹 서버 형태의 reverse HTTP proxy 문제가 존재대부분 독립 실행형의 다양한 문제를 해결하지만, 그래도 전체 HTTP 트래픽을 이리저..
-
WSGI, WAS, CGI 이해서버 2017. 4. 19. 11:42
개요각 언어마다 WAS와 같이 서버 언어를 처리하도록 하는 동작이 각기 상이합니다. 아래는 하나씩 설명하며 각각 비교를 설명합니다.웹 서버인터넷을 통해서 요청된 웹 컨텐츠(이미지, html, 등)의 전달을 도와주는 하드웨어와 소프트웨어를 말합니다. 웹서버는 기본적으로 '정적'입니다. 클라이언트가 HTTP 리퀘스트를 통해 리소스를 요청하면, 그 리소스를 그대로 보내주는게 웹 서버의 역할입니다.CGI(Common Gateway Interface)웹 서버에서 어플리케이션을 작동시키기 위한 인터페이스입니다. 정적인 웹서버를 동적으로 기능하게 하기 위해서 등장하였습니다. 서버 프로그램과 외부 프로그램 간의 인터페이스가 바로 CGI입니다. 근래에는 웹 서버의 프로세스로서 인터프리터를 상주시킴으로써, CGI로부터 프..