반응형

전체 글 41

파이썬(python)이란? - 파이썬의 특징

파이썬(python)이란? 파이썬은 1991년 발표된 인터프리터 언어로 귀도 반 로섬(Guido Van Rossum)이 창시하였습니다. C나 Java와 같은 다른 언어에 비해 문법이 쉽고 직관적이기 때문에 프로그래밍 입문자에게 권장되는 언어이며 딥러닝, 데이터 사이언스 관련 프레임워크와 라이브러리가 잘 구비되어 있기 때문에 해당 분야에 관심있는 사람들에게도 각광받는 언어입니다. 파이썬의 특징 1. 쉬운 난이도 - 상기했듯 프로그래밍 입문자에게 권장되는 만큼 매우 쉬운 문법 체계를 가지고 있습니다. "Hello, World!" 출력을 기준으로 C와 비교를 해 볼까요? #include int main(){ printf("Hello, World!\n"); return 0; } C언어로 작성한 "Hello, W..

파이썬 2020.10.13

CSRF(Cross Site Request Forgery)란?

CSRF란? CSRF는 Cross Site Request Forgery(사이트 간 요청 위조)의 줄임말로 웹 취약점 중 하나입니다. 공격자가 희생자의 권한을 도용하여 특정 웹 사이트의 기능을 실행하게 할 수 있으며 이는 희생자의 의도와는 무관하게 이루어집니다. CSRF 취약점을 이용하면 공격자가 희생자의 계정으로 네이버 카페나 인스타그램, 페이스북 등 다수의 방문자가 있는 사이트에 광고성 혹은 유해한 게시글을 업로드 하는 것도 가능해집니다.(예시입니다. 네이버나 페이스북에서 CSRF에 대한 대응책을 준비하지 않았을리가 없죠!) 자세히 알아보기 CSRF를 통해 공격을 하기 위해선 아래의 조건이 만족되어야 합니다. ​ · 희생자가 공격자가 만든 피싱 사이트에 접속할 것 · 희생자가 위조 요청을 보낼 사이트(..

웹개발 2020.10.10

파이썬(python) - 데코레이터(Decorator)

데코레이터(Decorator)란? 데코레이터는 어떤 함수를 인자로 받아 꾸며준 후 다시 함수로 리턴하는 함수입니다. 여기서 꾸며준다는 의미는 함수의 앞, 뒤로 특정 로직을 추가하거나 하는 행동을 의미합니다. 함수 내부에 변화를 주지 않고 로직을 추가하고 싶을 때 사용합니다. 단, 데코레이터는 꾸며주는 함수의 내부에 직접적인 수정이나 로직 변환을 가할 순 없습니다. * 데코레이터를 이해하기 위해선 일급 객체(First class citizen)와 클로저(Closure)에 대한 이해가 필요합니다. 해당 개념에 대해 잘 모르시는 분들은 이전 게시물을 참조해주세요. 파이썬(python) - 일급 객체(first-class citizen) 일급 객체(First-class citizen)란? 일급 객체는 OOP에서..

파이썬 2020.10.09

파이썬(python) - 클로저(Closure)

*글을 들어가기 앞서 클로저를 이해하기 위해선 일급 객체(first-class citizen)에 대한 이해가 필요합니다. 일급 객체에 대해 잘 모르시는 분은 아래 링크를 참조해주세요. 파이썬(python) - 일급 객체(first-class citizen) 일급 객체(First-class citizen)란? 일급 객체는 OOP에서 사용되는 개념 중 하나로 아래의 조건을 만족하는 객체를 의미합니다. 1. 변수 혹은 데이터 구조(자료구조) 안에 담을 수 있어야 한다. 2. 매개변 tibetsandfox.tistory.com 클로저(Closure)란? 클로저는 어떤 함수의 내부 함수가 외부 함수의 변수(*프리변수)를 참조할 때, 외부 함수가 종료된 후에도 내부 함수가 외부 함수의 변수를 참조할 수 있도록 어딘..

파이썬 2020.10.09

파이썬(python) - 일급 객체(first-class citizen)

일급 객체(First-class citizen)란? 일급 객체는 OOP에서 사용되는 개념 중 하나로 아래의 조건을 만족하는 객체를 의미합니다. 1. 변수 혹은 데이터 구조(자료구조) 안에 담을 수 있어야 한다. 2. 매개변수로 전달할 수 있어야 한다. 3. 리턴값으로 사용될 수 있어야 한다. 파이썬에서의 일급 객체 파이썬에서는 함수도 위의 일급 객체의 조건을 만족합니다. 즉 함수를 변수에 할당할 수 있고, 매개변수로 전달도 가능하며, 리턴 또한 가능합니다. 이는 추후 클로저(closure)와 데코레이터(Decorator)를 이해하는데 필수적인 개념이므로 한번 짚고 넘어가 봅시다. ​ 1. 변수 혹은 데이터 구조 안에 함수를 담을 수 있다. def func1(a, b): # 두 수를 더한 값을 리턴하는 f..

파이썬 2020.10.09

장고(Django) - Field lookup

Field lookup - SQL의 WHERE에 해당되는 기능 - filter, get, exclude 메소드로 얻게 되는 Queryset을 조건에 맞게 제한 - 어떤 lookup type에도 해당이 안 될 경우(Example.objects.get(id=1)) 자동적으로 exact로 적용 - 사용법은 fieldname__lookuptype (Example.objects.get(id__exact=1) - lookup의 종류는 꽤 많으니 Django documentation를 참고하시면 됩니다. QuerySet API reference | Django documentation | Django Django The web framework for perfectionists with deadlines. Overv..

Django 2020.10.09

Django란?

Django란? Django는 파이썬으로 제작된 오픈소스 *웹 프레임워크입니다. 비교적 입문이 쉬운 언어인 파이썬으로 제작되어 진입장벽이 그렇게 높은 편이 아니고(물론 파이썬 언어에 대한 이해도가 어느 정도 있어야 합니다.)특유의 높은 생산성으로 특히 스타트업에서 사랑받는 프레임워크입니다. 장고로 제작된 대표적인 사이트는 인스타그램, 핀터레스트 등이 있습니다. ​ *웹 프레임워크에 대한 개념을 잘 모르신다면 이전 게시글을 참조해주세요. 프레임워크(framework)의 개념 Framework(프레임워크)는 어떤 어플리케이션을 개발하기 위해 필요한 기본적인 클래스와 라이브러리등이 모두 포함되어있는 환경을 의미합니다. 쉽게 생각하자면, FrameWork라는 명칭에서 볼 수 있�� tibetsandfox.tis..

Django 2020.10.09

XSS(Cross Site Scripting)란?

XSS(Cross Site Scripting)란? XSS는 크로스 사이트 스크립팅, 즉 사이트 간 스트립팅이라는 이름의 웹 취약점입니다. 웹 사이트의 어드민(관리자)이 아닌 악의적인 목적을 가진 제 3자가 악성 스크립트를 삽입하여 의도하지 않은 명령을 실행시키거나 세션 등을 탈취할 수 있는 취약점입니다. 이름처럼 대부분 자바스크립트를 이용한 공격이 이루어지며 SQL Injection과 함께 웹 취약점 중 가장 기초적인 취약점으로 알려져 있습니다만 워낙 공격패턴이 다양하고 변화가 많이 이루어지기 때문에 사실상 완벽한 방어가 힘들고 지금까지도 굉장히 위험한 취약점 중 하나입니다. 비유하자면 인류의 영원한 적이라고 평가받는 감기 바이러스와 비슷하겠네요. 위험성 XSS로 발생할 수 있는 피해는 다음과 같습니다...

웹개발 2020.10.09

서버리스(Serverless)의 개념

서버리스(Serverless)란? 서버리스는 클라우드 컴퓨팅의 모델 중 하나로 사용자가 서버를 직접 관리할 필요가 없는 모델을 의미합니다. 여기서 서버를 직접 관리할 필요가 없다는 의미는 IaaS와 같은 모델처럼 트래픽에 따라 사용자가 직접 서버의 가용량을 증/감 시킬 필요가 없다는 뜻 입니다. 서버(Server) + 리스(Less)의 합성어라서 간혹 '서버가 없다'라고 문자 그대로 이해하실 수도 있는데 서버가 없을수는 없습니다. 어딘가에 저장할 공간이 있긴 해야 하니까요. 자세히 알아보기 클라우드 컴퓨팅이 등장하면서 우리는 더 이상 서버를 직접 설치하고 관리 할 필요가 없어졌습니다. 클라우드 컴퓨팅(Cloud Computing)의 개념 클라우드 컴퓨팅(Cloud Computing)이란? 클라우드 컴퓨팅..

웹개발 2020.10.09

클라우드 컴퓨팅(Cloud Computing)의 개념

클라우드 컴퓨팅(Cloud Computing)이란? 클라우드 컴퓨팅은 간단히 말해서 IT리소스를 직접 구매하지 않고 임대하여 사용하는 것 입니다. 여기서 IT리소스는 서버, DB, 스토리지 등 구성 가능한 자원을 의미합니다. 직접 서버를 구매하여 설치하고 구성하는 과정 대신 클라우드 컴퓨팅 공급자로부터 필요한 자원을 할당받은뒤 사용량만큼 비용을 지불하는 것 입니다. ​ 클라우드 컴퓨팅의 서비스 모델(Service model) 여기서 말하는 서비스 모델(Service model)은 클라우드 공급자가 제공하는 서비스의 차이에 따라 분류하는 개념이라고 생각하시면 됩니다. 클라우드 컴퓨팅의 서비스 모델은 Iaas, Paas, Saas 3가지로 나뉩니다. 0. 전통적인 IT 방식 전통적인 IT방식에서는 기업(배포..

웹개발 2020.10.09
반응형