본문으로 바로가기

Daim's blog

네비게이션

  • 홈으로
  • 블로그소개
관리자
  • 블로그 이미지
    다임하게

    파이썬으로 다양한 알고리즘 문제를 풀고 정리하는 공간입니다 : )

    링크추가
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃

Django tutorial 끝내기 with mysql - 4

별도의 Javascript, CSS나 Image를 제공하지 않고 프로젝트를 진행해왔다. 그렇지만 일반적인 웹 페이지에는 이러한 '정적 파일'들을 반드시 제공할 수 있어야 한다. 소규모 프로젝트의 경우, 웹 서버가 정적 파일을 보관할 수 있기 때문에 큰 문제는 아니지만, 더 큰 프로젝트(여러 앱으로 구성된 프로젝트)의 경우에는 각각의 앱별로 제공하는 여러 정적 파일들을 제공하는 것이 까다로워질 수 있다.이 포스팅에서는 django.contrib.staticfiles을 통해 각 응용 프로그램의 정적 파일들을 프로덕션 환경에서 쉽게 제공할 수 있도록 하는 방법을 알아보도록 하겠다. (part6) Django에서는 자동으로 admin 페이지가 생성된다. 이 페이지를 커스터마이징 하는 방법을 추가로 알아보도록 한..

Project/gist 2019. 6. 26. 18:03

Django tutorial 끝내기 with mysql - 3

이번 포스팅에서는 form 태그를 사용하여 클라이언트와 소통하는 방법과 generic.view를 사용하여 적은 코드로도 같은 기능을 작성할 수 있도록 하는 방법에 대해 정리하였다. (part4) 그 다음으로는 자동화된 테스트를 할 수 있는 환경을 만드는 방법에 대해서 정리하였다. (part5) Form Django에서 html의 form 태그는 다음과 같이 작성할 수 있다. 기억해야 할건 view.py에서 form 태그의 결과 값으로 전달되는 request의 인자값은 form 태그의 name 값을 Key로 전달된다는 점이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 {{ question.question_text }} {% if error_message %}{{ error_message ..

Project/gist 2019. 6. 26. 15:48

Django tutorial 끝내기 with mysql - 2

Django로 API 서버를 구축하기 위한 목적으로 Django Tutorial을 진행하고 있다. 본래 목적과 관련 없는 부분일 수도 있으나 Tutorial은 끝까지 진행할 예정이다. View poll 앱에서는 4개의 view가 필요하다. view는 요청된 URL을 분석하여 적절한 view를 선택한다. 각 view는 파이썬의 함수나 클래스 기반의 view의 경우에는 클래스의 메서드로 표현된다. 각 뷰는 두 가지 중 하나를 수행한다. 요청된 페이지의 내용을 포함하는 HttpResponse 객체를 반환하거나 Http404와 같은 예외를 발생시킨다. Question 'index' page : 가장 최근의 질문을 보여준다. Question 'detail' page : 결과는 포함되지 않았지만 투표할 수 있는 f..

Project/gist 2019. 6. 26. 13:00

Django tutorial 끝내기 with mysql - 1

Django를 사용해서 RESTful 방식의 API 서버를 구현해야 할 일이 생겼다. 구글에 Django로 REST 방식의 API 서버를 구축과 관련한 글을 읽어보면 REST Framework를 도입하면 편하게 API를 구현할 수 있다고 추천하고 있다. 하지만 나는 Django 처음 써보기도 하고, .(Django를 설치한 후에 또 REST framework를 또 설치라니) REST framework를 적용해야 하는 명확한 이유를 찾지 못했다. Django로 개발하는 것과 Django REST Framework를 추가로 설치해 구현하는 차이를 직접 경험해보아야겠다는 생각이 들었다. 그래서 Django의 기본 tutorial를 진행해보고 Django REST framework의 Document를 살펴보면서..

Project/gist 2019. 6. 25. 23:38

Python의 decorator로 log 남기기

Python으로 프로젝트를 진행하면서, API 요청에 대한 Request, Response에 대한 info를 로그(log)로 남기고 싶다면 decorator를 사용한다면 편리하다. decorator란 함수를 감싸고 있는 함수라고 생각하면 된다. @를 사용하여 wrapping 하고 싶은 함수 위에 적어주면, python의 모든 객체는 1급 객체이므로 해당 함수가 데코레이터의 인자로 전달될 수 있다. 이때 클로저(내부 함수가 외부 함수의 인자를 기억하고 있는 것)라는 개념을 이해하고 있어야 하는데, 데코레이터의 인자로 전달된 함수는 외부에서 전달되었음에도 외부 함수의 인자값들을 모두 기억하고 있다. 아래의 logger_decorator_with_params 메소드는 decorator로 활용되었다. 해당 함수..

Project/gist 2019. 5. 17. 18:00

API 개념 확실히 알고 사용하기

API는 개발자들이면 자주 사용하는 용어인데, 막상 API가 뭐냐고 물어보면 대답하기가 어려운 경우가 있다. RESTful API에서도 REST에 대한 개념을 확실히 인지하고 나니, API는 그럼 뭐라고 하는게 좋을지에 대해서 더 알아보아야겠다는 생각이 들었다. API는? API는 Application Programming Interface의 약자로서, 어떠한 응용프로그램에서 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있도록 만든 인터페이스를 의미한다. 본래는 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있는 환경을 의미하였으나(시스템 콜도 하나의 Interface), 웹서비스에서 API의 의미가 확장 사용되면서, 특정 사이트에서 특정 데이터를 공유할 경우 어떤 방식으로 정보를 요..

Project/gist 2019. 4. 21. 09:00

REST 제대로 알고 프로젝트에 적용하기

REST란? (Representational State Transfer) 리소스들에 대한 행위를 HTTP Method로 표현하는 것을 말한다. 엄격한 의미로 'REST'는 '네트워크 아키텍처' 원리의 모음이다. '네트워크 아키텍처' 원리란 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반을 일컫는다. RWS (RESTful Web Service) 라고 하는 REST 아키텍처 스타일을 따르는 웹서비스는 인터넷상의 컴퓨터 시스템 간의 상호 운용성을 제공한다. RESTful 웹서비스는 요청 시스템이 균일하고 미리 정의된무상태 연산 세트(GET, POST, PUT, DELETE) 를 사용하여 웹 리소스의 텍스트 표현에 엑세스하고 조작할 수 있게 해준다. REST의 구성 요소 자원 (Resource) 수행 ..

Project/gist 2019. 4. 20. 09:00

Python Flask 프레임워크 프로젝트에 ORM 적용하기 (Flask SQLAlchemy, ORM이란, ORM의 장점과 단점)

이 포스팅을 쓰는 이유 현재 Python의 Micro Framework인 Flask를 사용한 Studi 프로젝트를 진행하고 있다. Studi에서는 DBMS로 관계형 데이터베이스인 SQLite(에스큐엘라이트, 시퀄라이트)를 사용한다. 나는 Front만 맡아서 했었고 초기에는 간단한 기능만을 넣은 사이드 프로젝트였기 때문에 raw SQL Query를 사용하여 DB에 접근하고 있었다. 이 프로젝트를 좀더 키워서 백엔드의 영역도 광범위하게 건드려볼 생각에 리팩토링을 진행하면서 Python ORM인 Flask-SQLAlchemy(SQLAlchemy의 확장 라이브러리)를 적용하는 것이 좋겠다고 생각하게 되었다. Node.js로 프로젝트를 진행했을 때 ORM으로 Sequelize.js를 사용해보았는데 그때는 이미 프..

Project/gist 2019. 4. 13. 09:00
  • 이전
  • 1
  • 다음

사이드바

NOTICE

  • 내 맘대로 파이썬 커리큘럼
  • 삼성 SW Expert Academy 푼 문제 리스트
  • LeetCode에서 푼 문제 리스트
  • 백준에서 푼 문제 리스트
  • 정리한 알고리즘 리스트
  • 전체 보기
MORE+

CATEGORY

  • 분류 전체보기 (136)
    • Project (9)
      • pre-work (1)
      • gist (8)
    • Python (5)
      • PYCON 2019 (0)
      • python 파헤치기 (5)
      • cheat sheet (0)
      • module (0)
    • Data structure (9)
    • Algorithm (0)
    • 온라인 코딩 테스트 문제 풀이 (104)
      • 문제 풀이 전략 (1)
      • LeetCode 문제 풀이 (42)
      • 백준 문제 풀이 (33)
      • 삼성 SW Expert 문제 풀이 (26)
      • 프로그래머스 문제 풀이 (2)
      • HackerRank 문제 풀이 (0)
    • Database (6)
      • MySQL (6)
    • Network (1)
    • Tools (2)
      • Git (2)

RECENTLY

  • 최근 글
  • 최근 댓글

최근 글

최근댓글

Trackback

TAG

  • 파이썬 자료구조
  • Django tutorial
  • python data structure
  • DP
  • 백준
  • Tree
  • 삼성 기출 문제
  • SW Expert Academy
  • leetcode 파이썬
  • python으로 푸는
  • 삼성 코딩 테스트
  • SW Expert
  • leetcode
  • Dynamic Programming
  • leetcode python
MORE+

CALENDAR

«   2025/05   »
일 월 화 수 목 금 토
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 31

VISITOR

오늘
어제
전체
  • 홈으로
  • 방명록
  • 로그인
  • 로그아웃
  • 맨위로
SKIN BY COPYCATZ COPYRIGHT Daim's blog, ALL RIGHT RESERVED.
Daim's blog
블로그 이미지 다임하게 님의 블로그
MENU
  • 홈으로
  • 블로그소개
CATEGORY
  • 분류 전체보기 (136)
    • Project (9)
      • pre-work (1)
      • gist (8)
    • Python (5)
      • PYCON 2019 (0)
      • python 파헤치기 (5)
      • cheat sheet (0)
      • module (0)
    • Data structure (9)
    • Algorithm (0)
    • 온라인 코딩 테스트 문제 풀이 (104)
      • 문제 풀이 전략 (1)
      • LeetCode 문제 풀이 (42)
      • 백준 문제 풀이 (33)
      • 삼성 SW Expert 문제 풀이 (26)
      • 프로그래머스 문제 풀이 (2)
      • HackerRank 문제 풀이 (0)
    • Database (6)
      • MySQL (6)
    • Network (1)
    • Tools (2)
      • Git (2)
VISITOR 오늘 / 전체
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃
  • 취소

검색

티스토리툴바