os.path cons path를 오직 string으로만 관리한다. os.path.~ method가 중첩되어 code가 길고 지저분해진다. 별게 없어 보이지만, 모든 면에서 os.path 보다 나쁜 점이 없기에 쓰지 않을 이유가 없다. pathlib "pure" keyoword가 붙은 class는 I/O를 포함하지 않는다(OS access 없이 순수하게 path만 조작하고 싶을 때 사용). "posix" or "windows" keyword는 각 os에 맞게 path를 관리하는 class이다. 명시하지 않으면 현재 os에 맞는 객체가 생성된다. (주의, cross os의 normal(non-pure) 객체는 생성이 되지 않는다. pure로 생성해야됨) usase.. import os from pathli..
PROPAGATE_EXCEPTIONS는 flask config option으로 default 는 None이고 DEBUG가 True면 True로 setting된다. flask_restful/__init__.py를 보면 이렇게 구현되어 있다. if not isinstance(e, HTTPException) and current_app.propagate_exceptions: exc_type, exc_value, tb = sys.exc_info() if exc_value is e: raise else: raise e headers = Headers() if isinstance(e, HTTPException): code = e.code default_data = { 'message': getattr(e, 'des..
Web Server 와 Web Application 우선 Web Server 의 개념과 간단한 히스토리를 알아야 한다. Web Server 는 Client 의 정적인 리소스(File, Image, HTML page, ...) 요청을 처리하는 프로그램이며, 대표적으로 Apache 와 Nginx 가 있다. 그리고 동적인 요청이 들어오면 비즈니스 로직을 수행하기 위해 Web Application(혹은, WAS, AS) 에게 요청을 위임하고, Web Application 은 Web Server 에게 로직을 수행한 결과를 다시 돌려준다. 그럼 Web Server 가 Web Application 과 대화할 수 있는 인터페이스가 필요할 것이다. 특히, 다양한 종류의 Web Server 와 Web Application..
