전체 글

갈매기는 기록기록
이 글은 Python 웹 프레임워크의 내부 동작을 이해하고자 Flask의 일부 기능을 간략하게 설명합니다. 세부적인 구현은 포함되어 있지 않습니다 https://ooknimm.tistory.com/2 글에서 이어집니다. thread local Django와 달리 Flask는 현재 요청 정보가 담겨있는 request 객체를 함수의 인수로 전달하지 않고 import 하여 사용합니다. from flask import Flask, request app = Flask(__name__) @app.route("/") def home(): print(request) return "hello world" import만 하면 어느 모듈에서든 접근이 가능합니다. 요청이 발생하면 Flask 내부에서 request 객체를 만들..
로버트 마틴이 정의한 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙입니다. 유지보수와 확장이 쉬운 객체 지향 프로그래밍을 위해서 이 원칙을 따르는 것이 좋습니다. 1. 단일책임의 원칙 (Single Responsibility Principle) 클래스는 단 하나의 책임을 가져야 한다는 원칙 필요 이상의 책임을 가진 클래스는 책임을 분산시켜야 합니다. 클래스가 하나의 책임만을 가져 결합력을 낮추고 응집력을 높일 수 있습니다. 다음과 같은 비디오 클래스가 있습니다. class Video: def __init__(self, running_time): self.running_time = running_time self.format = format def play(self): ... def move(sel..
객체 지향 프로그래밍이란? 표현하고자 하는 대상을 객체로 지정하여 이들을 조합, 결합하는 방식으로 설계하는 프로그래밍 방법론입니다. 객체는 독립적이기 때문에 변화에 유연합니다. 코드 재사용으로 개발 비용을 줄일 수 있습니다. 또 직관적인 코드 분석이 가능해집니다. 객체 지향 프로그래밍의 특징 4가지 캡슐화(encapsulation) 객체의 속성(data fields)과 행위(methods)를 하나로 묶고, 실제 구현 내용 일부를 내부에 감추어 은닉합니다. 그렇게 직접적인 접근을 제어해 무분별하게 속성이 수정되는 것을 방지할 수 있습니다. public, private, protected 같은 접근 제어자를 통해 객체의 데이터에 직접 접근을 제한하여 메소드를 통해서만 접근 가능하도록 설정합니다. public..
이 글은 Python 웹 프레임워크의 내부 동작을 이해하고자 Flask의 일부 기능을 간략하게 설명합니다. 세부적인 구현은 포함되어 있지 않습니다. 서버단에서 웹 어플리케이션을 개발한다면 대부분의 경우 웹 프레임워크를 사용합니다. 웹 어플리케이션 개발에 필요한 여러 작업들을 처리해주어 개발자는 자신이 구현하고자 하는 비즈니스 로직에 집중할 수 있기 때문입니다. 웹 프레임워크가 수행하는 기능을 살펴보고 간단히 구현해보겠습니다. 우선 웹 프레임워크를 이해하기 위해선 알아둬야할 개념들이 있습니다. 정적 컨텐츠, 동적 컨텐츠, 웹 서버, CGI, WAS, WSGI입니다. 기본 개념 정적 컨텐츠 html, css, 이미지등과 같이 서버에 미리 준비되어 있는 파일 형태의 컨텐츠를 의미합니다. 동적 컨텐츠 사용자/상..
ooknimm
ooknimm