letsecrypt 설정

처음 설치 – 설치안내 링크1 : http://postitforhooney.tistory.com/entry/ServerSSL-Lets-Encrypt%EB%A1%9C-SSL-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0-%ED%8D%BC%EC%98%B4 – 설치안내 링크2 : https://blog.outsider.ne.kr/1178 //letsencrtyp 폴더 이동후 root@****:/home/****/letsencrypt# ./letsencrypt-auto certonly –standalone – Nginx 설정 #domain을 dev.yonggari.com 을 할 경우 server { listen 80; listen [::]:80; listen 443 ssl; listen [::]:443 ssl; index index.html index.htm; server_name dev.yonggari.com; ssl_certificate /etc/letsencrypt/live/dev.yonggari.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/dev.yonggari.com/privkey.pem; location / { proxy_pass http://127.0.0.1:3200; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade;

Share

초간단 내서버에 ssl 적용하기

서버 운영에 있어 보안은 필수이고, 최소한 ssl인증서를 적용하는 건 기본이다. 비용이 드는게 부담될 순 있지만, LetsEncrypt를 이용하면 무료로 ssl인증서를 적용할 수 있다. 우선 Let’s Encrypt는 무료 SSL인증서를 제공해주는 프로젝트로서 Internet Security Research Group(ISRG)라는 비영리 기관에 의해 운영되고 있다. 이미 해당 letsencrypt를 활용하는 guide는 많이 등록되어 있으며,  아래 링크를 통해 쉽게 적용할 수 있다. Lets Encrypt

Share

아기 월령별 수유량, 수유횟수, 수면시간 및 표준체중, 키

초보 아빠, 엄마는 우리아기가 잘 먹고, 잘 자고, 잘 크고 있는지 궁금하다. 물론 아기마다 성장속도, 발달속도 모두 다르기 때문에 절대기준이 될 순 없지만, 표준 정보를 비교해서 어느정도 참고할 수 있다. 아래 표는 여러 기관에서 발표한 자료를 토대로 작성하였다. 개월수 1회 수유량(cc) 수유간격(시간) 수유횟수(회) 총수면시간(시간) 남아 체중(kg) 남아 키(cm) 여아 체중(kg) 여아 키(kg) 신생아  60 ~ 90

Share

python에서 __name__, __file__, __doc__

Python 코드를 보다보면 이건 뭐지 궁금한 변수들이 많다. 각각의 의미는 다음과 같다.   __name__ : 모듈명(모듈을 직접 실행하는지, 모듈로 이용하는지 구별하는 데 이용) __file__ : 모듈이 있는 절대 경로(모듈이 있는 디렉토리를 얻을 때 사용) __doc__ : 모듈에 대한 설명(모듈의 이용 방버버에 대한 설명을 얻을 때)

Share

python 모듈 생성시 유의할 사항

모듈을 만들경우 외부에서 불러올 수 있는 특정 함수나 변수를 미리 정의해야 한다. 정의하는 방법은 소스내에 __all__을 통해 정의할 수 있다. [sample] #module.py __all__ = [‘add_number’, some_var1] –version__=1.0 some_var1=1.1 some_var2=2.2 def add_number(n): total=0 for i in range(0, n+1): total+=i return total #use_module.py from module import * print(add_number(10)) print(some_var1) print(some_var2) # 이부분의 경우 print(module.some_var2) 로 변경 하면

Share

python에서 *과 **의 의미

python 소스를 보다보면 의미모를 것들이 참 많다. 그 중에 하나였던 *, **의 정체를 알아보자. 거두절미 하고 간단한 예제와 주석으로 대체한다.   # 함수에 입력되는 변수 개수를 알 수 없을 때 사용한다. *args 형태로 매개변수를 설정한다. # 즉 ‘*’의 의미는 튜플형태로 매개변수를 받겠다고 지정한다는 의미를 갖는다. def add(*args): total=0 for i in args: total+=i return total

Share

python에서 문자열 표현

python에서 문자열을 표현하는 포맷팅(formatting) 방법이다. 크게 printf, format 2가지 방식이 있다. 1.printf 방식 데이터에 따라 변경될 자리를 % 기호로 표시한다. 포맷 스트링 형식은 다음과 같다. %[플래그][크기][정확도]타입 # printf 방식 예시 >>> f=1.23 >>> print(“f is %f” %f) f is 1.230000 #만약에 int형태로 선언하고 float를 넣으면 int형태로 출력한다. >>> print(“f is %d” %f) f is 1

Share

uWSGI와 Nginx로 flask app 배포하기

flask 배포에 대해 고민이 많았었다. 관련 책을 봐도 잘 안되고 해서 직접 구글링 하면서 해보니, 리눅스 버전에 따라 환경설정도 다르고해서 먼저 구조적인 원리와 각각의 설정 방법에 대한 이해가 필요했다. 여기저기 삽질 끝에 아래링크와 같은 좋은 자료를 찾아서 함께 공유하고, 한글버전으로도 제공하고자 한다. [참고자료] https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-14-04 https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uwsgi-and-nginx-on-ubuntu-16-04   먼저 고려해야 할 사항은 서버 os 선택 : ubuntu만

Share

자료형에 따른 유용한 python API

1. 숫자 – abs(x) :절대값 반환 – hex(x) : 16진수 값 문자열로 반환 – bin(x) : 2진수 값 문자열로 반환 – oct(x) : 8진수 값 문자열로 반환 – round(number[, ndigits] : 숫자를 반올림한다 []자릿수 – pow(x,y[,z]) : 거듭제곱 x**y%z 2. 문자 – ord(‘문자’) : 해당 문자에 유니코드의 숫자를 표시한다. – chr(‘숫자’) : 해당 숫자의 문자를

Share