728x90

IT 417

[python] 일본 기상청 API 사용하기

프로젝트 중 일본 기상청 API를 사용할 일이 생겼으므로, 이번 포스팅을 통해 일본 기상청 API를 어떻게 하면 호출할 수 있는지 간단히 정리하고자 한다. 데이터의 종류 Area 코드(pathCode) 정보 https://www.jma.go.jp/bosai/common/const/area.json 도쿄는 130000이다. 컨트롤 + F 키로 해당 지역을 검색하면 더 빠르게 지역 코드를 찾을 수 있을 것이다. 일본 기상청에서 제공하고 있는 컨텐츠 정보 https://www.jma.go.jp/bosai/common/const/contents.json 날씨 코드 https://plaza.rakuten.co.jp/rabbit77/3000/ 호출된 api를 살펴보면 날씨가 200, 201과 같은 코드로 기재되어 ..

IT/기초 지식 2022.07.19

[Django] 일대다 관계 구축하기:ForeignKey (카테고리, 댓글, 대댓글 등)

※일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 직역, 의역이 있을 수 있으며 틀린 내용은 지적 부탁드립니다. 일대다 관계를 구축할 수 있으면, 토픽에 카테고리를 추가하거나 토픽에 댓글을 작성할 수 있게 된다. 이번 포스트에서는 이 방법에 대해 일대다 원리에서 부터 Django의 models.py 작성법까지 설명한다. 일대다 구조 일대다를 한 마디로 설명하자면 프로 야구 팀과 팀에 소속되어 있는 관계라고 할 수 있다. 프로 야구 침은 여러 명을 선수를 보유하고 있으며, 선수의 경우 어떠한 한 개의 팀에 소속되어 있다. 이러한 경우 야구 구단쪽은 일, 선수쪽은 다가 된다. DB 테이블로 표시하자면 다음과 같다. 일대다 관계의 장점 직접 소속처를 문자열로 적는 것보다 일대다관계로 만드는 쪽이 장점이 ..

IT/WEB 2022.07.11

[Django] 페이지네이션(페이징)

※ 일본의 한 블로그 글을 번역한 포스트입니다. 직역 및 오역, 의역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 대량의 데이터 목록을 표시할 경우 여러 개의 페이지로 나눠서 표시하게 된다. 이 때 Django의 경우, 페이지네이션(페이징)이라는 기술이 사용된다. 예를 들어, Web 어플리케이션에서 자사의 유저 목록을 표시하는 경우, 유저가 10명 정도라면 문제없다. 그러나 몇 백명인 경우, 페이지를 나눠서 목록을 표시하는 것이 사용하기나 읽기에 편리하다. 또한, 블로그 포스트의 수가 100개 이상인 경우 1개의 페이지에 포스트 모두를 표시하는 경우는 없다. Django의 페이지를 여러 개로 나누는 페이지 네이션(페이징)을 사용하여 한 화면에 표시하는 데이터 수를 제한해보자. 설명할 때 사..

IT/WEB 2022.07.09

[Django] Form의 cleaned_data 그리고 is_valid()시 호출되는 메소드의 순서

※ 일본의 블로그 글을 번역한 포스트입니다. 오역 및 직역, 의역이 있을 수 있으며 틀린 내용이 있으면 지적해주시면 감사하겠습니다. Django의 Form 관련 코드를 보면 종종 cleaned_data가 기재되어 있는 경우가 있다. Django의 Form에서 사용하는 cleaned_data에 대해서 이것이 어떤 것인가 그리고 어떠할 때 사용하는가에 대해서 해설하도록 하겠다. 그리고 추가로 is_valid() 일 때 호출되는 메소드의 순서 등에서도 간단하게 알아보도록 하겠다. cleaned_data이란? cleaned_data는 form 안에서 validate된 후에, 즉 검증된 후의 적당한 데이터가 들어 있는 변수가 cleand_data이다. 즉 Form의 처리 흐름으로 설명하자면 다음과 같다. 1. f..

IT/WEB 2022.07.03

[Django] 인증 유저(super, staff, active)의 권한에 따른 액세스 제한, 표시제한을 설정하기

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. Web 어플리테이션을 만들 때, 유저의 권한에 따라 액세스 할 수 있는 페이지나 페이지 안에서 표시되는 항목을 제한하고 싶은 경우가 있다. 예를 들면, 관리자만 접근할 수 있는 페이지의 생성이나 일반 회원과 프리미엄 회원의 화면에 표시되는 항목 차이등 말이다. 이러한 액세스 제어를 Django에서 만든 Web 어플리케이션에서 구현하기 위해서는 기본적으로 제공되는 "인증 기능"을 사용하면 간단하게 가능하다. 이번 포스트에서는 Django의 인증 기능을 쓴, 유저별 액세스 제한을 구현하는 방법에 대해 알아보도록 하겠다. 참고로 Django의 인증기능에 대해서는 Django 공식 페..

IT/WEB 2022.07.03

[Django] 클래스 베이스 뷰(Class Based View), 함수 베이스 뷰(Function Based View)

※ 일본의 포스트를 번역한 글 입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. Django 튜토리얼에는 함수 베이스 뷰로 작성되어 있지만 실제로 사용하는 것은 클래스 베이스 뷰인 경우가 대부분이다. 이 포스트에서는 이 두 가지에 대해 간단히 알아보고 왜 클래스 베이스 뷰가 주로 사용되는지에 대해 설명하도록 하겠다. 클래스 베이스 뷰와 함수 베이스 뷰 클래스 베이스 뷰는 말 그대로 view.py에 Class로 처리를 기재하는 것을 의미하며, 함수 베이스 뷰는 함수는 처리를 함수로 기재하는 것을 뜻한다. 클래스 베이스 뷰는 Django에 이미 정의되어 있는 django.generic.view에서 View 클래스를 상속받거나 믹스인하여 작성하는 것이 특징이다. View..

IT/WEB 2022.07.01

[Django] User모델 커스터마이즈하기 (커스텀 User 모델)

※일본의 한 블로그 글을 번역한 포스트입니다. 의역 및 직역, 오역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. Django에서는 표준 User 모델이 정의되어 있다. 그러나 대부분은 만드는 Web 어플리케이션에 맞게 User 모델을 커스터마이즈할 필요가 있다. User 모델을 커스터마이즈하는 방법은 몇 가지 있으나 여기서는 가장 자유도가 높은 AbstractBaseUser을 상속받는 방법에 대해서 구체적으로 설명하도록 하겠다. 주의점 : 커스텀 User 모델을 이용할 경우 Django의 프로젝트 생성 후 바로 설정할 필요가 있다. 이미 migrate한 후에 User을 변경하려고하는 것은 매우 어렵다. 표준(디폴트) User모델 앞서 말했듯 Django에서는 기본적으로 User 모델이 존재..

IT/WEB 2022.06.29

변수 혹은 함수 영어 명명법

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 직역, 의역이 있을 수 있으며, 틀린 내용은 지적해주시면 감사하겠습니다. 이 포스트는 프로그래머가 영어 명명법으로 고민할 때 지침서가 되어 줄 명영을 플로우 차트 형식으로 해설하기 위해 작성됐다. 다만, Vue.js 의 프로젝트에서 윤용되는 룰을 기반으로 작성했으므로 본인의 개발 환경 룰에 맞게 변경하길 바란다. 결론 플로우 차트를 모두 표시하자면 다음과 같다. (A) 형용사 + 명사 boolean이 아닌 값을 대입할 경우 거의 이 룰을 따른다. // 예 // 형용사 + 명사 specialCategory // 특별한 카테고리 // 형용사는 동사의 수동형(~ed)혹은 ing형이어도 OK importedPlayerNames // 임포트된 여러명의 플레..

IT/기초 지식 2022.06.20

[Django] Django 개발을 시작할 때, 최적의 프로젝트 디렉토리 구성

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 밒 직역, 의역이 있일 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. Django 개발에 대해서 알아보던중, Django로 개발할 때 의식하면 좋은 최적의 구성이 있다는 사실을 알게 됐다. 이번 포스팅에서는 이와 관련된 얘기를 하고자 한다. 목차는 다음과 같다. 설정 파일을 config등 알기 쉬운 명칭으로 한다. static 디렉토리를 생성한다. 시크릿 변수나 환경 의존 변수는 .env 파일에 쓴다. 단계별로 설정 파일을 전환할 수 있도록 한다. 어플리케이션 마다 urls.py를 배치한다. 베이스 템플릿을 사용한다. 이 목차를 모두 거치면 다음과 같이 디렉토리 구성이 변경된다(첫 번째가 변경'전', 두 번째가 변경'후'이다). 참고로 프로젝트명..

IT/WEB 2022.06.17

[DB] RDB 데이터 베이스 설계

※ 일본의 한 블로그 글을 번역할 글입니다. 오역 및 직역, 의역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. 시작하기에 앞서 RDBMS의 데이터 베이스 설계(논리)의 작성법에 대해서 설계할 때에, 이러한 부분을 생각하면서 하면 좋을 것 같은 부분에 대해 설명하고자 한다. 그러나 DB 설계에서는 "이것이 정답"이라는 것은 별로 없으며, 요건의 필요조건을 만족하는 DB설계가 정답이라고 할 수 있다. 그렇다고 해도, 고려하는 것이 좋은 부분과 주의점 등이 있으므로 무엇 부터 시작하면 좋을지 고민하고 있는 사람에 참고가 되길 바란다. DB 설계에 있어서의 포인트 DB 설계할 때에 중요하다고 생각되는 포인트는 다음과 같다. 요건/사양을 이해하고 있는가? (요건을 만족하는 테이블/칼럼이 준비되어 있..

IT/기초 지식 2022.06.14
728x90