'분류 전체보기'에 해당되는 글 92건

  1. 2020.08.27 OSI 7계층와 TCP/IP 4 계층
  2. 2020.07.28 OIDC란?
  3. 2020.07.26 서버 인증방식
  4. 2020.07.26 OAuth2 에 대해서 -1
  5. 2020.06.22 OperatorStep_1 - 각종 연산자 관련 코드.
  6. 2020.06.22 Printer.py - string format 연습
  7. 2020.06.22 개인 연습, 공부용 뼈대 코드
  8. 2020.05.29 OAuth에 대해서 - 1
  9. 2020.05.29 Django 장단점
  10. 2020.05.29 Django 와 Flask
반응형

일단 아래와 같이 몆번 중얼거리면 순서 및 구성은 외우기 쉽다.

물데네전세표어, 네인전어

 

각각 7계층, 4계층을 순서대로 앞글자만 따온것인데 각각에 대해서 알아보자.

 

OSI 7계층

물리 <-> 데이터 링크 <-> 네트워크 <->전송 <-> 세션 <->표현 <-> 어플리케이션

 

TCP/IP 4 계층

네트워크 엑세스 <->인터넷 <-> 전송 <-> 어플리케이션

 

우선 두 종류의 계층도의 관례는 아래 그림과 같다.

그렇다면 굳이 두 계층이 구분되어 있는 이유와 차이점은 무엇일까?

 

OSI 7계층

 . ISO에 의해서 정의되었다.

 . 계층 구조를 지니끼 때문에 각 구간별로 데이터의 흐름을 알 수 있다.

 . 각 구간별로 트러블 슈팅 자체가 용이하며 각기 다른 벤더사와의 호환성도 해결될 수 있다.

 

TCP/IP 4계층

 . 현재 인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 사용되는 프로토콜의 모음이다.

 . 하드웨어, 운영체제, 접속 매체에 관계없이 동작할 수 있는 개방성을 가진다.

 

두 계층의 차이

 . TCP/IP 계층은 OSI 계층보다 먼저 개발되었다.

   -> 따라서 위 그림처럼 정확히 일치하지는 않는다.

 . 두 계층 모두 계층형이긴 하지만 TCP/IP의 경우 지속적인 표준화로 신뢰성이 우수하지만 OSI 7계층은 표준이긴 하되 실제적으론 적은 구현으로 인해 신뢰성이 다소 낮다.

 . OSI 7계층은 장비 개발, 통신 자체에 대한 표준으로 사용되지만, 실제 통신 자체는 보통 TCP/IP를 사용한다.

 

 

OSI 7계층 세부 설명

 . 물리계층

    -> 전송단위 : Bit

    -> 물리적, 전기적인 인터페이스 사이의 전송을 위해 필요한 기능 및 처리 절차를 규정한다.

 . 데이터 링크 계층

    -> 전송단위 : Frame

    -> 물리계층에 신뢰도를 더하기위한 흐름제어 및 오류제어를 담당한다.

    -> 노드와 노드 사이의 Data를 전달한다.

 . 네트워크 계층

    -> 전송단위 : Packet

    -> 송신측부터 목적지까지의 패킷 전송을 담당한다.

    -> 정확하고 안전한 전송을 위해서 Routing 기능을 사용한다.

    -> 상위 계층의 data를 작은 크기의 Packet으로 분할하여 전송한다.

    -> IP주소를 통해 목적지를 구분한다.

 . 전송 계층

    -> 전송단위 : Segment

    -> 전송 계층은 해당 Segement를 수신 프로세스까지의 전달을 담당한다.

    -> Port 번호를 통해서 수신 프로세스를 구분한다.

    -> 물리 ~ 전송계층까지를 하위 계층, 이후를 상위 계층으로 구분하기도 한다.

 . 세션 계층

    -> 전송단위 : Message

    -> 실제 응용 프로그램 사이에서 세션이라 불리는 연결을 확립하고 유지하며, 동기화 기능을 제공한다.

    ->표현계층에서 전송한 데이터를 효율적으로 관리하기 위해서 짧은 데이터 단위로 나눈 후 전송계층에 전달한다.

 . 표현 계층

    -> 전송단위 : Message

    -> 송수신자가 공통으로 이해가능한 데이터로 바꿔준다.

    -> 응용계층으로부터 받은 데이터의 보안과 효율적인 전송을 위해 암호와 및 압축을 한 후 세션 계층으로 보낸다.

 . 어플리케이션 계층

    -> 전송단위 : Message

    -> 최상위 계층으로 원격파일 전송등의 사용자 인터페이스를 제공한다.

 

 

TCP/IP 계층

 . 네트워크 액세스 계층

    -> 물리, 데이터 링크 계층에 해당한다.

    -> 하드웨어 적인 요소와 관련된 모든 것을 지원한다.

    -> 송신 시 상위계층이 보낸 패킷에 MAC 주소가 담긴 헤더를 추가한 후 프레임을 만든다.

 . 인터넷 계층

    -> OSI 7계층의 네트워크 계층에 해당된다.

    -> 상위 전송계층이 보낸 데이터에 IP 헤더를 붙여 IP 패킷으로 만든 후 전송한다.

 . 전송계층

    -> OSI 7계층에서 전송계층에 해당한다.

    -> 송수신 호스트 사이에서 신뢰성있는 전송기능을 담당한다.

    -> 시스템의 논리주소, port를 가지고 있고 상위 계층의 프로세스를 연결해서 통신한다.

    -> 전송 시 TCP 프로토콜, UDP 프로토콜을 이용한다.

    -> 정확한 전송보다 빠른 전송이 필요할 시 UDP 프로토콜이 좀더 유용하다.

 . 어플리케이션 계층

    -> OSI 7계층의 세션, 표현, 어플리케이션  계층에 해당한다.

    -> 각 어플리케이션들이 네트워크 서비스를 이용할 수 있도록 표준 인터페이스를 제공한다.

 

 

 

출처 및 참고 : https://goitgo.tistory.com/25

 

OSI 7 Layer 과 TCP/IP 4 Layer(TCP/IP Protocol suite) 비교

OSI 7 Layer vs TCP/IP Protocol Suite 1. OSI 7 Layer 개요 ➀ 네트워크 통신을 체계적으로 다루고 있는 ISO 표준은 개방시스템 상호연결 (OSI) 모델 이다. OSI 모델은 1984년에 정의 되었다. ➁ 개방시스템(Open..

goitgo.tistory.com

 

반응형

'Network' 카테고리의 다른 글

HTTP Protocol  (0) 2021.06.20
OSI 7계층과 TCP/IP 4 계층  (0) 2021.06.20
load balancing  (0) 2020.08.27
Thrift에 대해서 [C# 한정]  (0) 2020.01.10
RabbitMQ에 대해서  (0) 2019.07.21
Posted by Sweetmeats_boy

2020. 7. 28. 18:35 기타 상식

OIDC란?

반응형

OIDC(OpenID Connect)에 대해서 알아보자.

 

OIDC란 OAuth2.0 기반으로 유저를 인증하는 프로토콜이다.

OAuth2.0과 다소 차이점이라 함은 OAuth가 Athorization을 포함한다면 OIDC는 Authentication에 집중한다는 점이다.

 

OIDC를 사용하는 방법은 매우 간단하다.

OAuth 를 통해 Access_token을 받을 때 id_token이라는 것도 같이 전달 받는데 이 id_token을 활용하면 된다.

 

구글을 예로 들면 OAuth2.0에서 token을 요청할 때 response_type, client_id 등을 넘기게 되는데 이 때 scope에 

필요한 정보에 대해서 명시하게 되어 있다.(openid profile email 등등)

이 scope에 명시한 정보들은 추후 id_token을 받을 때 안에 포함되어 전달된다.

따라서 OAuth을 통한 API호출이 아닌 단순 유저 인증 및 기본정보 등을 알기위해서라면 OIDC를 사용하는것이 더 좋다.

 

구글에서 OIDC는 JWT을 사용한 id_token을 전달해주므로 해당 token의 위변조 확인 후 관련 정보를 활용하면 된다.

 

공식 레퍼런스 : https://developers.google.com/identity/protocols/oauth2/openid-connect

 

OpenID Connect  |  Google ID 플랫폼  |  Google Developers

Google's OAuth 2.0 APIs can be used for both authentication and authorization. This document describes our OAuth 2.0 implementation for authentication, which conforms to the OpenID Connect specification, and is OpenID Certified. The documentation found in

developers.google.com

 

반응형

'기타 상식' 카테고리의 다른 글

유용한 site link 모음  (0) 2021.10.02
서버 인증방식  (0) 2020.07.26
SaaS/PaaS/IaaS란?  (0) 2020.05.29
software license 에 대하여.  (0) 2020.05.27
프로그램에서 CPU 시간정보 얻는법  (0) 2019.09.20
Posted by Sweetmeats_boy

2020. 7. 26. 17:57 기타 상식

서버 인증방식

반응형

웹 싸이트에서 유저의 인증을 확인하는 방식에는 여러 방식이 존재한다.

 

각 방식에 대해서 간단하게 알아보자.

 

1. 단순하게 Http Header에 특정 정보를 전달하는 방식.

- 해당 방식은 Client와 Server가 통신할 때마다 Header 에 Id, pw 등의 정보를 포함 시킨 후 

통신하는 방식이다. 매 통신마다 해당 정보를 검증하며 위조여부 등을 판단한다.

 

-> 단점 :

. 해커가 해당 패킷을 탈취 시 중요 정보가 유출된다.

. 매번 인증정보를 확인해야 하며 이는 비효율적이다.

-> 장점 : 

. 구현이 쉽다.

 

2. 서버가 유저 인증 시 특정 세션정보를 활용하는 방법.

 - 유저의 로그인 절차 중 해당 정보가 인증된다면 이 유저에 대한 세션ID를 부여한다.

그 후 세션 ID를 Header에 포함시켜 보내면, client는 해당 session id 를 쿠키에 저장한 후 

서버와 통신할 때 인증정보가 필요한 경우 header에 포함시킨다.

 

-> 단점 : 

. 이 역시 해커가 탈취 시 중요 정보의 유출 위험이 존재한다.

 -> 세션 별 life time 을 설정해서 유효시간을 지정함으로서 탈취된 경우 무효화 될 수 있게 한다.

 -> HTTPS를 적용하여 탈취 후 에도 header를 파악하기 어렵게 한다.

. 세션을 저장할 추가적인 비용(DB, memory 등)가 발생한다.

-> 장점 : 

. 패킷 탈취 시 해당 session ID로만 구성되어 있으므로 유의미한 정보는 유출되지 않는다.

 

3. Token 기반 인증방식을 적용한다.(보통은 JSON Web token 사용)

 - token 정보를 header에 포함시켜 전달하는 방식이다. jwt의 경우 지정된 암호화 방식으로 tokenize를 진행할 수 있고 이에 대한 SECRET KEY 로 복호화 후 위변조 여부를 판단할 수 있다.

jwt의 경우 Header, payload, verify signature 로 구성되며 header, payload는 누구나 복호화 할 수 있고 verify signature의 경우 SECRET KEY를 알지못하면 복호화 하지 못한다. 따라서 payload에는 중요정보를 포함하면 안된다.

 

-> 단점 : 

 . 이 방식 역시 해커가 탈취가능하다.

 -> 이 역시, access token에 expire time을 적용하면 피해를 다소 방지할 수 있다.

 . payload는 복호화가 가능하기 때문에 넣을 수 있는 data는 한정적이다.

 . 서버에서 복호화하는 비용이 발생한다.

-> 장점 : 

 . session 인증 방식과 크게본다면 동일하지만 볃도의 비용이 발생하진 않는다.(DB 불필요)

 . 탈취 당한다고 해도 token 위조가 무의미해진다.

 

 

반응형

'기타 상식' 카테고리의 다른 글

유용한 site link 모음  (0) 2021.10.02
OIDC란?  (0) 2020.07.28
SaaS/PaaS/IaaS란?  (0) 2020.05.29
software license 에 대하여.  (0) 2020.05.27
프로그램에서 CPU 시간정보 얻는법  (0) 2019.09.20
Posted by Sweetmeats_boy
반응형

OAuth2는 기존의 OAuth가 모바일 친화적이지 않다는 단점을 보완하여 개발된 인증 시스템이다.

 

기존 OAuth 보다 사용하기 간편하며, 이미 구글, facebook등 여러 서비스에서  OAuth2를 도입한 상태이다.

 

기존 OAuth와의 차이점은 아래와 같다.

 . HTTPS를 통한 인증으로 보안 강화

 . 모바일 친화적

 . AccessToken에 만료기간 적용.

 

관련 용어는 아래와 같다.

 . Client : 구글 로그인 등을 사용하는 특정 서비스.

 . Resource Owner : 특정 서비스를 사용하는 사용자

 . Authorization Server : 해당 사용자의 인증을 담당하는 서버

 . Resource Server : 해당 사용자가 사용할 수 있는 API등의 자원을 제공하는 서버

 

OAuth2의 대략적인 과정

 

 

반응형

'Python > Django' 카테고리의 다른 글

OAuth에 대해서 - 1  (0) 2020.05.29
Django 장단점  (0) 2020.05.29
Django 와 Flask  (0) 2020.05.29
Posted by Sweetmeats_boy
반응형
from Test.Tester import Tester

class OperatorStep_1(Tester):

    def __init__(self):
        super().__init__(self.Test)
        pass

    def DoCalc(self, func):
        if callable(func):
            print(f"{func()}")

    def Test(self):

        # 사칙연산
        self.DoCalc(lambda :1+1)
        self.DoCalc(lambda :10 - 8)
        self.DoCalc(lambda :10 * 10)
        self.DoCalc(lambda :10 / 3) # 나눈 값
        self.DoCalc(lambda :10 / 10)
        self.DoCalc(lambda : 0x00001 & 0x00001) # AND 연산
        self.DoCalc(lambda : 0x00011 | 0x00001) # or 연산
        self.DoCalc(lambda : 0x00011 ^ 0x00001) # XOR 연산
        # 독특한 연산자들 [shift  연산 등등]
        self.DoCalc(lambda :10 << 1)
        self.DoCalc(lambda :10 >> 1)
        self.DoCalc(lambda :10 // 3) # 몫
        self.DoCalc(lambda :10 ** 2) # 제곱승 [ex : 10의 2승]

        # True, False
        self.DoCalc(lambda : 10 == 10)
        self.DoCalc(lambda : 10 >= 100)
        self.DoCalc(lambda : True | False)
        self.DoCalc(lambda : True and False)
        self.DoCalc(lambda : True is not True)
        self.DoCalc(lambda input=[1, 2, 3, 4, 5]: 1 in input) #특정 요소가 안에 있는지 여부
        a = 'test'
        self.DoCalc(lambda b = a: a == b) # 동일 참조 비교

        self.FinTest()
        pass

    pass

 

더보기

결과

 

 

2
2
100
3.3333333333333335
1.0
1
17
16
20
5
3
100
True
False
True
False
False
True
True
Test finish request

Test is finish


Process finished with exit code 0

 

 

* lambda란 무엇인지 알아보자.

반응형

'Python > Python Script' 카테고리의 다른 글

Printer.py - string format 연습  (0) 2020.06.22
개인 연습, 공부용 뼈대 코드  (0) 2020.06.22
문법 정리- sequence type  (0) 2020.05.28
Posted by Sweetmeats_boy
반응형

proj

 - Test

   ...

    L Printer.py

 

from Test.Tester import Tester


class Printer(Tester):

    def __init__(self):
        super().__init__(self.PrintTest)
        pass

    def PrintTest(self):
        """
        각종 string formatting들
        :return:
        """
        test_str = []
        #일반 문자열
        test_str.extend(
            [
                "This is basic print"
            ]
        )
        #% 연산자 활용방식, 단 args들의 타입을 정확히 명시해줘야함, 인자 많아질수록 코드 더러워짐
        test_str.extend(
            [
                "This way using operator %s %i" % ("haha", 2)
            ]
        )
        # C#에서도 쓰는 formatting
        # 인자 숫자에 맞춰 출력해주거나 아예 생략도 가능하다.
        # 다만 이방식도 다소 장황해질 수 있다.
        test_str.extend(
            [
                "This is basic formatting - {1}{0}".format("hehehe", 100),
                'For simple {}-{}'.format("hoomba", "HOOMBA"),
            ]
        )

        #개인적으론 제일 좋은것 같다.
        # f-string 이라고 하며, 3.6버전 이상부터 지원한다고 한다.
        reply = 'yes captain'
        f_str = f'Hmm interesting {reply}'

        test_str.extend([
            f_str,
        ])

        for ele in test_str:
            print(ele)
        input_val = input("press any key")
        self.FinTest()
        pass
    pass

python에서 지원하는 string format에 대한 연습 코드.

* list의 extend와 append에는 차이가 있으니 검색해볼것.

더보기

====결과

Hmm interesting yes captain
This is basic print
This way using operator haha 2
This is basic formatting - 100hehehe
For simple hoomba-HOOMBA
Hmm interesting yes captain
press any key

 

 

# test 결과 확인 후 임의의 입력 후 엔터누르면 종료됨.

반응형

'Python > Python Script' 카테고리의 다른 글

OperatorStep_1 - 각종 연산자 관련 코드.  (0) 2020.06.22
개인 연습, 공부용 뼈대 코드  (0) 2020.06.22
문법 정리- sequence type  (0) 2020.05.28
Posted by Sweetmeats_boy
반응형

해당 post는 특별한 건 없고, 단순히 개인적으로 공부할 때 사용하는 코드 구조이다.

 

project directory는 아래와 같다.

 

proj

 - Test 

    L Tester.py

    L TestFactory.py

 L main.py

 

우선 test 코드는 Tester.py 를 상속한 개별 class를 통해 진행하며, 

어떠한 Test를 진행할 지는 main.py에서 변수를 지정해주는 식이다.

# TestFactory.py



from Test.Tester import Enum
from Test.Tester import ETest

from Test.Printer import *


class TestFactory():

    test_dic = {}

    @classmethod
    def Init_Tester(cls):
        """
           수행할 test 종류는 여기서 세팅
           :return:
           """
        cls.test_dic[ETest.PRINTER] = Printer().DoTest
        pass

    @classmethod
    def GetTester(cls, test_val:ETest):
        """
        Test class들의 DoTest 함수를 반환.
        :param test_val: 원하는 test 종류
        :return:
        """
        return cls.test_dic.get(test_val, (lambda: None))

    pass
# main.py



from Test.TestFactory import *

def DoTest():
    """
    원하는 test에 따라서 test_val 지정.
    :return:
    """
    TestFactory.Init_Tester()
    test = TestFactory.GetTester(ETest.PRINTER)
    test()
    pass


if __name__ == '__main__':
    DoTest()
    pass

#Tester.py


from enum import Enum

class Tester:

    def __init__(self, test_loop):
        self.is_test_continue = True
        self.test_loop = test_loop
        pass

    def DoTest(self):
        if callable(self.test_loop):
            while(self.is_test_continue):
                self.test_loop()
        else:
            print(f'test ret : {self.test_loop}')
        print('Test is finish')
        pass

    def FinTest(self):
        print('Test finish requested')
        self.is_test_continue = False
        pass

    pass


class ETest(Enum):
    NONE = 0,
    PRINTER = 1,
    pass

code를 보면 알겠지만 Tester class를 상속받은 객체들의 testloop를 호출하게 된다.

 

각 Test에 따라서 __init__에서 실제 TestLoop를 지정해주면 된다.

main에서 Tetser와 관련된 애들을 import 시키고 싶지 않았기 때문에 TestFactory를 통해서 함수를 호출하게 했다.

 -> 아직 특정 import를 은닉화 하는 방법을 못찾았기 때문에 main에서 TestFactory를 통해서 Test에 접근이 가능하다. 

추후 공부 겸 test code 작성 시 posting 할 예정이다.

반응형

'Python > Python Script' 카테고리의 다른 글

OperatorStep_1 - 각종 연산자 관련 코드.  (0) 2020.06.22
Printer.py - string format 연습  (0) 2020.06.22
문법 정리- sequence type  (0) 2020.05.28
Posted by Sweetmeats_boy
반응형

현재 Django에 OAuth를 적용시킬 계획이기 때문에 우선 OAuth가 어떤 것인지에 대한 포스팅을 하려고 한다.

 

OAuth의 정의

. 기존 인증 방식과는 달리 해당 서비스에 유저의 개인 ID, PASSWORD를 제공하지 않고 타 서비스를 통해 인증을 한 후 접근 권한을 부여할 수 있는 표준 인증 수단.

 

OAuth의 탄생

. 인증방식 표준이 없던 시절, Id와 pw를 기본적인 인증이 주류를 이루었으나 각 서비스 별 개인정보가 저장되고, 이로 인한 보안 이슈가 존재하였다. 그 후 기본인증이 아닌 자체 서비스를 통해 인증을 하였지만, 표준 인증방식이 없었기 때문에 제각각이던 인증방식을 표준화 시킬 필요가 있었고 OAuth가 개발되었다.

 

OAuth의 가장 큰 장점

. 인증을 공유하는 Application끼리는 별도의 인증이 불필요하다.

. 따라서 여러 Application을 통합하여 사용하는 것이 가능하다. 

 

OAuth에서의 용어 개념

. Consumer : OAuth를 통해 유저 인증을 요구하는 Application 혹은 Web service 

. User : Consumer App을 사용해 인증을 원하는 사용자.

. Service Provider : OAuth를 사용하여 인증관련 Open API를 제공하는 서비스 제공자 [ex : kakao, facebook ]

. Protected Resource : Service Provider로부터 제공되는 API자원들

. Consumer Key : Service Provider가 Consumer를 식별하는데 사용되는 key값 

. Consumer Secret : Consumer가 ConsumerKey를 발급받을 때 사용하는 secret 값

. Request Token : Consumer가 SErvice Provider에게 User의 인증을 확인하기 위해 사용하는 값

. Access Token : Request Token을 통한 인증 후 받게되는 Token, 

. Token Secret : 주어진 Token에 대한 User의 소유권을 인증하는 Secret값 

 

 

출처 :

https://ko.wikipedia.org/wiki/OAuth

 

OAuth - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통�

ko.wikipedia.org

 

https://minwan1.github.io/2018/02/24/2018-02-24-OAuth/

 

Wan Blog

WanBlog | 개발블로그

minwan1.github.io

 

반응형

'Python > Django' 카테고리의 다른 글

OAuth2 에 대해서 -1  (0) 2020.07.26
Django 장단점  (0) 2020.05.29
Django 와 Flask  (0) 2020.05.29
Posted by Sweetmeats_boy

2020. 5. 29. 16:51 Python/Django

Django 장단점

반응형

장점

. 기본적으로 관리되는 Session

. ORM을 통한 객체 Mapping

. python 기반 lib 활용 가능

.  Fullstack framework이다.

. 높은 생산성과 다양한 확장 가능성

. 기본적으로 제공되는 Admin

. 기본적으로 제공되는 보안

. 거대한 커뮤니티

 

단점

. 기본적으로 제공되는 것 외의 커스텀이 힘들다.

. ORM 기반의 어플리 아닌경우 작업이 다소 번거로워 질 수 있다.

. 기본적으로 비동기 관련 도구를 제공하지 않는다.

. 한 페이지에서 여러 모델의 정보를 보여줘야 하는 경우 다소 많은 자원을 요구한다.

. 위의 비용을 줄이기 위해서는 queryset 최적화에 신경을 써야한다.

 

개인적으론 출처에서 내린 결론이 맘에 든다.

위 단점들을 고려한다고 해도 기존 PHP등으로 구현된 페이지에 비해서 Django는 충분한 강점이 있다.

 

출처 : https://blog.lxf.kr/2018-11-19---why-or-not-django/

 

Django를 쓰는 이유, 쓰지 않는 이유

2018/11/19 Django를 쓰는 이유, 쓰지 않는 이유 Django를 쓰지 않는 이유 1. 정적인 사이트 Django는 동적 사이트를 위한 프레임워크 입니다. 동적 웹사이트는 구동을 위해 웹 어플리케이션 서버, 데이터�

blog.lxf.kr

 

반응형

'Python > Django' 카테고리의 다른 글

OAuth2 에 대해서 -1  (0) 2020.07.26
OAuth에 대해서 - 1  (0) 2020.05.29
Django 와 Flask  (0) 2020.05.29
Posted by Sweetmeats_boy

2020. 5. 29. 16:32 Python/Django

Django 와 Flask

반응형

Python 의 Web Framework의 종류는 여러가지가 존재한다.

우선 대표적인것이 Django, Flask 두가지가 존재하며 각기 장단점을 나열해 볼 것이다.

 

Flask

. 매우 가볍고 심플한 Framework를 지향

. 높은 구현 자유도

. WSGI 용 Library인 WerkZeug와  Html 랜더링 엔진인 jinja2 template로 구성

 

Django 

. 많고 강력한 기능

. MVC 패턴 기반의 설계

. 기본적으로 제공되는 ORM 기능을 통해 다양한 DB를 연동가능

. 기본적으로 제공되는 Session 관리, tamplate 엔진

. plugin을 통한 확장 가능

 

 

Django 를 사용하는 곳들

. 스타트업 

. Pinterest

. Instagram

 

개인적으로 느끼기엔 성을 지어야 하는데 Falsk는 모래로 성을 지어야 한다면 Django는 레고로 성을 만드는 느낌이랄까

 

반응형

'Python > Django' 카테고리의 다른 글

OAuth2 에 대해서 -1  (0) 2020.07.26
OAuth에 대해서 - 1  (0) 2020.05.29
Django 장단점  (0) 2020.05.29
Posted by Sweetmeats_boy
이전버튼 1 ··· 3 4 5 6 7 8 9 10 이전버튼

블로그 이미지
Sweetmeats_boy

태그목록

Yesterday
Today
Total

달력

 « |  » 2024.9
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함