전체 글
-
Docker란? + build processDocker 2021. 2. 19. 20:13
도커 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징 => 배포, 관리 단순화 컨테이너를 구축, 배포, 복사하고 다른 환경에서 유연하게 사용가능 컨테이너를 위한 플랫폼 셋 Docker is a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers 도커 이미지 프로그램, 소스코드, 라이브러리 등 파일을 묶어주고, 컨테이너 안에서 특정 프로세스를 실행하기 위해 필요한 모든 파일, 설정값을 가지고 있음 하나의 이미지로 여러 컨테이너 생성 가능 깃헙와 유사한 도커헙을 통해 버전 관리 및 배포 가능 레이어 기반 이미지는 여러개의 읽기 전용 레이어로 구..
-
Python - Clean code - better/good/bad examplesPython 2021. 2. 10. 11:10
github.com/zedr/clean-code-python zedr/clean-code-python :bathtub: Clean Code concepts adapted for Python. Contribute to zedr/clean-code-python development by creating an account on GitHub. github.com Use meaningful and pronounceable variable names import datetime ## bad ymdstr = datetime.date.today().strftime("%y-%m-%d") ## good current_date: str = datetime.date.today().strftime("%y-%m-%d") Use..
-
Python 3.8 new featuresPython 2021. 2. 10. 08:55
1. 해마 연산자 fruits = { '사과': 20, '바나나' : 10 } # 기존 방식 count = fruits.get('바나나', 0) if count: print(f"make juice with {count}") else: print("need more fruits") # count 변수는 if 블록 안에서 사용되며, else에서는 사용하지 않으므로 # if 절에서 선언하여 가독성을 높임(if 절 이후 사용이 안될경우에만) if count := fruits.get('바나나', 0): # 왈러스 연산자(Walrus operator) print(f"make juice with {count=}") else: print("need more fruits") # 새로운 변수에 비교를 수행할 수 있음 단,..
-
사용자 인증 Cookie, Session, JWTHTTP 2020. 12. 30. 12:39
HTTP 프로토콜 Connenctionless : 서버와 클라이언트의 연결이 유지되지 않고 클라이언트가 서버로 요청을 보내고 요청을 받은 서버에서 클라이언트로 응답을 보내고 연결을 끊음 Stateless : 상태 정보를 유지 하지 않음 위와 같은 특징으로 사용자 인증에 대한 정보를 유지할 수 있는 방법이 필요하다. Cookie 클라이언트(브라우저)에 저장되는 데이터(key-value) - 텍스트 Set-Cookie: 서버 -> 클라이언트 쿠키 전달(응답으로) Cookie: 클라이언트가 서버에서 받은 쿠키를 저장하고 이후 HTTP 요청시 서버로 전달 쿠키는 모든 요청에 자동으로 정보가 포함됨 네트워크 트래픽 추가 야기, 최소한의 정보만 저장해야함 서버에 자동으로 추가하지 않고 웹 브라우저에 저장하려면 웹 ..
-
Process / threadPython 2020. 11. 4. 23:03
쓰레드 (Thread) 파이썬 프로그램은 기본적으로 하나의 쓰레드(Single Thread)에서 실행된다. 즉, 하나의 메인 쓰레드가 파이썬 코드를 순차적으로 실행한다. 코드를 병렬로 실행하기 위해서는 별도의 쓰레드(Subthread)를 생성해야 하는데, 파이썬에서 쓰레드를 생성하기 위해서는 threading 모듈 (High 레벨) 혹은 thread 모듈 (Low 레벨)을 사용할 수 있다. 일반적으로 쓰레드 처리를 위해서는 thread 모듈 위에서 구현된 threading 모듈을 사용하고 있으며, thread 모듈은 (deprecate 되어) 거의 사용하고 있지 않다. 파이썬(오리지날 파이썬 구현인 CPython)은 전역 인터프리터 락킹(Global Interpreter Lock) 때문에 특정 시점에 하..
-
단축키 - Linux, VimDev 2020. 11. 1. 19:58
cd 홈 디렉토리로 이동 cd - 이전 작업 디렉토리로 이동 cd ~username 해당 유저의 홈 디렉토리로 변경 * tip 파일 이름에 띄어쓰기(공백. 스페이스) 대신 언더스코어(_) 나 하이픈(-) 사용하자 왜? 띄어쓰기는 커맨드에서 입력시 번거로움 df -h disk space for file system ls 옵션 ls ~ /user 에서 ~는 홈 디렉토리를 뜻하며 홈 디렉토리와 user 내의 목록을 같이 볼 수 있음 ls -a . 으로 시작하는 파일들도 볼 수 있음(숨김파일등) ls -l 파일. 디렉토리명 뿐만 아니라 속성까지 확인 가능 ls -lt t를 더해서 수정시간에 따른 정렬 가능 ls -lt -r 정렬 역순 (= --rerverse) ls -l -d d를 더해서 선택한 디렉토리 내부가..
-
[API] 1. RESTful API란?HTTP 2020. 11. 1. 10:09
참고 링크 1. 깃헙 http-api-design 2. stackoverflow /login or /register -> /session 3. stackoverflow return status for empty data of users/9 4. Naming 다음 글 - 2021.11.01 - [개발 고민들] - [API] 2. RESTFUL API - RESPONSE STATUS CODE 적용하기 HTTP 무상태 프로토콜 장점 : 단순함과 확장성이 높음(서버가 클라이언트상태 보전하지 않아 전송간에 서로 연관이 없어 확장성이 높음) 단점 : 클라이언트에서 추가 데이터 전송 필요(데이터 전송마다 그전 전송에 대한 정보가 없음) 실무에서는 무상태는 로그인이 필요없는 단순한페이지 상태유지의 예로는 로그인으로 로..