목록분류 전체보기 (341)

수학과의 좌충우돌 프로그래밍

[Django] Logging 설정 및 SQL 쿼리 확인

log 란? 로그란 운영체제나 다른 소프트웨어가 실행 중에 발생하는 이벤트나 각기 다른 사용자의 통신 소프트웨어에 발생하는 모든 상황을 기록하는 데이터입니다. 개발, 마케팅, 기획, 디자인 등 여러 분야에서 로그데이터는 유용하게 사용될 수 있습니다. 특히 개발 영역에서는 해당 데이터를 통해 다음과 같은 활용이 가능합니다. 버그 수집 및 트래킹 롤백 및 대응 등에 대한 의사결정 판단의 근거로 활용 특정 기능에 대한 사용자 진단 Django를 통해 개발을 하면서도 이러한 로그를 남기고 추후에 활용할 수 있습니다. 이번 포스팅에서는 Django에서의 logging에 대해서 알아보도록 합시다. python logging django에서는 python 내장 logging 모듈을 사용합니다. 자세한 내용은 아래서 ..

웹프로그래밍/Django 2020. 8. 15. 17:30
[Django] AWS, S3를 이용한 이미지 업로드

Django media 파일 업로드 하기 [Django] media 파일 업로드하기 Media 파일이란? media 파일이란 FileField 를 통해 저장한 모든 파일을 지칭합니다. 물론 ImageField 도 FileField 를 상속받은 필드로서 유사 필드들을 통해 저장된 파일도 media 파일입니다. 이는 특별하게 ssungkang.tistory.com 저번 포스팅에서는 media 파일을 업로드하는 방법을 알아봤습니다. 이번에는 media 파일을 S3를 이용해서 업로드하는 과정에 대해서 알아보도록 하겠습니다. 과정은 총 3단계로 아래와 같이 진행됩니다. AWS IAM 세팅 AWS S3 세팅 django에서 이미지 업로드 AWS IAM 세팅 AWS IAM, 사용자 생성 [AWS] Identity a..

웹프로그래밍/Django 2020. 8. 12. 03:38
[AWS] IAM Policy - JSON을 통한 정책 생성, ARN, 정책의 종류

IAM에서 정책, policy를 만들다보면 아래와 같이 두 가지 방법으로 편집이 가능합니다. 시각적 편집기에서 GUI로 생성할 수 도 있고 JSON으로 추가할 수 도 있습니다. 이번 포스팅에서는 JSON으로 만드는 방법과 각 키, 밸류들의 역할을 살펴보도록 하겠습니다. 추가적으로 정책들의 종류에 대해서 알아보겠습니다. JSON을 통한 정책 생성 우선 다음과 같은 형태로 데이터를 이루게 됩니다. 전체 정책에 대한 Optional top-level elements가 있고 이에 여러 개의 Statement 를 추가할 수 있습니다. 우선 Optional top-level elements 에는 두 개의 키가 존재합니다. Version String "2012-10-17", "2008-10-17" 두 개의 버전이 있..

DevOps/AWS 2020. 8. 10. 04:32
[AWS] IAM 그룹, 사용자, 역할, 정책에 대해서 알아보자

AWS IAM이란? [AWS] Identity and Access Management, IAM 사용자 생성 IAM 이란? IAM이란 Identity and Access Management의 약자로 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스입니다. 회사에서 클라우드 서비스 없이 물리적인 서버, 데이터베이스, 스토리�� ssungkang.tistory.com 지난 번 포스팅에서 IAM에 대해서 알아보고 그룹과 사용자를 만들어보는 예제를 진행하였습니다. 하지만 AWS IAM 좌측 탭을 보면 엑세스 관리 에 대해 그룹, 사용자, 역할, 정책이 존재합니다. 각각에 대해 알아보도록 합시다. 이번 포스팅에서는 엑세스 관리 측면에 대해서만 알아보도록 하겠습니다. 사용자로서의 엑세스 관리 UBAC..

DevOps/AWS 2020. 8. 9. 21:36
[AWS] Identity and Access Management, IAM 사용자 생성

IAM 이란? IAM이란 Identity and Access Management의 약자로 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스입니다. 회사에서 클라우드 서비스 없이 물리적인 서버, 데이터베이스, 스토리지를 사용하고 있다면 각각에 대한 접근 권한이 있을 겁니다. 엄격하게 한다면 데이터베이스와 관련 없는 직원들은 데이터베이스가 존재하는 장소에는 출입도 제한될 것이며 다른 것도 마찬가지일 겁니다. IAM은 이와 유사하게 동작합니다. 하나의 AWS 계정 안에서도 IAM 그룹과 사용자를 생성해 접근제어 및 권한을 세분화할 수 있습니다. 어느 계정에게는 RDS의 제어권한만, 어느 계정에서는 S3의 제어권한만 주는 방식으로 말이죠. IAM을 다뤄보며 익혀봅시다. IAM 사용자 생성 우선 ..

DevOps/AWS 2020. 8. 6. 23:25
[Django] Model Field의 Null vs Blank

django에서는 기본적으로 orm을 지원해주고 있습니다. 따라서 테이블을 생성할 때도 orm으로 생성할 수 있습니다. 테이블을 생성하다보면 필드 옵션으로 null와 blank 속성이 존재하고 이는 꽤나 헷갈리는 내용입니다. 따라서 이번 포스팅에서는 각각에 대해 알아보도록 하겠습니다. Null vs Blank Null 은 데이터베이스와 관련되어 있습니다. 기본값은 false로 Null 을 허용하지 않으며, True로 할 시에는 데이터베이스에 Null 값을 저장할 수 있습니다. Blank는 유효성과 관련되어 있습니다. 기본값은 false로 해당 필드 없이 저장하고자 하면 유효성 검사에서 걸러지며, True로 할 시에는 해당 필드가 없어도 정상적으로 동작합니다. 다음과 같은 모델을 만들고 이에 대한 쿼리를 ..

웹프로그래밍/Django 2020. 8. 6. 20:53
[AWS] Simple Storage Service, S3 설정 및 이미지 업로드

S3란? S3란 Simple Storage Service의 약자로 AWS에서 제공하는 클라우드 스토리지입니다. 클라우드 스토리지라는 단어가 어색하지만은 않을 겁니다. DropBox, Google drive, Ndrive, Onedrive 등 여러 클라우드 스토리지 서비스를 사용하고 계실거라 생각됩니다. 이들과 다른 점은 알아봅시다. DropBox 등의 클라우드 스토리지 서비스는 개인과 기업에서 완성된 서비스를 제공하기 위해 만들어졌습니다. 그에 비해 S3는 서비스를 개발하기 위한 클라우드 스토리지 서비스입니다. API와 SDK를 제공하여 개발에 사용할 수 있으며 실제로 DropBox도 초기에 S3를 사용하여 개발하였다고 알려져 있습니다. 이러한 S3는 100%에 가까운 내구성과 내구성보다는 낮지만 높은 ..

DevOps/AWS 2020. 8. 3. 03:53
[Django] Django 2.2 mysql 8 버전 연동하기

여러 개의 프로젝트를 각각 다른 버전으로 진행하다보니 버전간의 호환성 문제가 생각보다 골칫거리였습니다. django는 LTS를 고려하여 2.2 버전을 선정하였고 mysql은 RDS를 사용하고 있는데 default로 선정되는 8점대 버전을 사용하였습니다. 기존에 사용하던 DB connection 라이브러리들이 정상적으로 작동하지 않았고 많은 분들이 같은 어려움을 겪을거 같아 글을 남기려 합니다. PyMySQL PyMySQL==0.10.0 PyMySQL 을 사용하여 db을 연결하는 방법은 다음과 같습니다. import pymysql pymysql.install_as_MySQLdb() DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME..

웹프로그래밍/Django 2020. 8. 2. 04:36