일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AWS EC2
- 탱크램팩토리
- PostgreSQL
- restful
- psycopg2
- IOT
- ted
- 미밴드 1S
- django
- LED
- UserCreatioForm
- 온오프믹스
- 미니 화이트
- berkeley db
- Python
- 스포츠코치
- 아이디어팩토리
- 스마트 러닝화
- uWSGI
- windows
- 워크샵
- help_text
- virtualenvwrapper
- 마이크로소프트
- 무브나우
- virtualenv
- nginx
- 데이터 이전
- 샤오미
- 위즈네트
- Today
- Total
목록Nerd 가 되고 싶다. (59)
NERD WORLD
DRF로 RESTful API를 개발하고 있다. DRF에서 웹 브라우저 클라이언트에 대해서는 API를 테스트해볼 수 있는 UI를 제공해준다. DRF가 제공하는 Generic API View와 Serializer를 잘 활용한 경우에는 혜택이 더 있다. request body에 들어갈 쌍들의 key 값에 대한 value를 입력하는 HTML Form을 자동으로 생성해서 브라우저로 렌더링 해준다. 활용하지 못한 경우에는 request body를 raw data로 작성하면 된다. 전자의 경우에는 더 편리하게 테스트해볼 수 있는 DRF Docs 패키지도 존재한다. 이번에 개발하는 API는 1차적으로 목표하는 클라이언트는 안드로이드/iOS 네이티브 앱이므로 브라우저 테스트로는 부적절하다. 그러므로 예상되는 클라이언트..
NEXTERS 9기에서 예니오팀에 속해서 개발중이다. 다른 회원 한분과 함께 DRF(Django REST Framework)를 활용해서 안드로이드/iOS 앱을 위한 RESTFul API를 개발하고 있다. 그동안 Git/GitHub을 이용했을때는, 제대로 협업하기 보다는 혼자서 개발하면서 이력 기록, 코드 백업 정도의 목적으로만 사용해왔다. 이번에 둘이서 함께 개발하게 되면서, 이번 기회에 Git/GitHub에서 협업하는 방법을 몸에 체득시켜볼 계획이다. Git을 사용해서 함께 협업하는 방식(Workflow)은 다양하다. 그중에서 우리팀은 Gitflow Workflow를 선택했다. 대략적인 flow는 아래와 같다. 여기에 덧붙여, 로컬 환경에서 각자가 개발할 목적으로 branch를 생성할때는 issue 기..
데이터베이스 강좌의 프로젝트1을 진행할때, Berkeley DB Java API를 사용했었다. 그때는 pair를 저장할때, 둘 다 String type만 가능한줄 알고 그렇게 사용했었다. 하지만 Berkeley DB의 소개글을 읽다보니, byte array로 변환될 수 있다면 그 어떤 data type도 Berkeley DB에 읽고 쓸 수 있다는 것을 깨닫게 되었다. 예를 들어, Java가 제공하는 HashMap type도 의 data가 될 수 있는 것이었다. 이를 해당 학기때 깨달았더라면 얼마나 좋았을까 하는 생각이 들었다. 그 당시의 나는 그만큼이나 상상력과 행동력이 부족했구나 하는 것을 또 한번 깨닫는다. 아래의 링크들을 참고해서, Berkeley DB에 pair를 저장하고 불러와서 콘솔창에 출력하..
로컬호스트에서는 잘만 작동하던 "인증 email 발송 기능"이, AWS EC2 배포 환경에서는 internal server error 500을 때리면서 뻗어버렸다. 원인을 짐작할 수 없어 난처해하고 있었다. 아래의 플로우로 해결되었다. 1) AJAX 요청에 대해 에러 응답을 받았을 때 이를 출력: 정윤재님의 블로그 포스트를 참고해서 AJAX 요청후에 에러 응답을 받았을 경우, 그 에러 내용을 alert 창에 띄우도록 해서 에러 내용을 파악했다. 2) 구글링으로 문제 해결:Gmail SMTP 백엔드가 정상적으로 작동하지 않는다는 것을 파악할 수 있었다. 스택오버플로우에서 같은 문제에 대한 해결책을 찾아서 이를 적용하니 해결되었다. Captcha가 로컬환경과 EC2 환경에서 어떻게 차이나는지는 정확히 모르겠..
"Django REST Framework(DRF)"로 "RESTful API"를 설계하고 있다. 클라이언트 중립적으로 개발하는것이 맞겠지만, 현재 함께 개발되고있는 유일한 클라이언트는 "네이티브 안드로이드 앱"이기 때문에 아무래도 그쪽으로 신경을 쓰게 된다. 이전까지 Django를 사용할때는, PC 브라우저만을 대상으로 했었다. 그러니 "Django Form"을 사용했고, 이 글의 제목인 "Authentication"이나 "Authorization"에 대해서 깊이 생각해본적이 없었다. Django가 제공하는 로그인/로그아웃 View를 사용하면 그만이었기 때문이다. 그나마 내가 건드렸던건 Sign up에 쓰이는 UserCreationForm, Sign in에 쓰이는 AuthenticationForm 정도였..
페이스북에서 놀다가 아래 글을 읽었다."모씨 서비스 구성에 대해" 재밌다. 서비스 시스템의 각 기술요소별로 사용한 프레임워크나 도구에 대해서 간략히 핵심만 설명해주고 있다. 여러 후보군들 중에서 왜 이걸 선택했거나 변경했는지, 그래서 얻은 효과는 어떠한지, 즉 간략히 핵심만 잘 얘기해주고 있다. 이런 글들을 많이 읽으면서, 많은 의문을 품고, 그 의문을 해소하기 위해 찾아서 공부하고, 정리하고, 내 지식을 늘리고, 관점을 세우고, 관점을 확장하고, 이해 능력을 키우는 일련의 작업들을 꾸준히 실행하자.
Django에서 Model과 Form을 기술하는 방법은 유사하다.class Post(models.Model): title = models.CharField(max_length=20)content = models.TextField() class PostForm(forms.Form):title = forms.CharField(max_length=20)content = models.TextField()(글을 쓰다보니, 티스토리 블로그 포스트에서 코드 하이라이트를 넣어줄 수 있도록 방법을 고안해봐야할 듯 싶다..) 귀가길에 신논현역 교보문고에 들려서 하와이 여행책을 사왔다. 책을 사러간 김에 진석쌤이 추천해주신 Python 책이 생각나서 대충 훑어보고 왔다. 클래스와 객체에 대해 논하는 9장까지 대충 훑어보고 ..
Winning 서비스를 만드는데, Front-End 부분을 개발하는 과정에서 어려움을 많이 겪고있다. Django의 template tag, filter를 활용해서 HTML을 만들고, CSS는 HTML 위에 tag로 기술하고, 필요한 동적인 부분은 Javascript로 바로 기술하거나 서버와 비동기적으로 통신하는 부분은 jQuery를 활용해서 개발해보고 있다. 그러나 문제는 "체계"가 없다는 점이다. Django 프레임워크가 서버-사이드 쪽에 체계를 잡아준 덕분에 머릿속에 생각한 로직을 올바른 위치에 계속해서 쌓아나가는 것에 비해서, 프런트-엔드쪽은 그냥 덕지덕지 임시방편으로 덧붙여나가는 느낌이다. 그래서 Django와 핏이 잘 맞는, Front-End 프레임워크가 있을까해서 구글링을 해봤다. 그리고 슬..
Winning 프로젝트를 처음 개발할때는 Django의 default 세팅인 SQLite3 DBMS를 사용했었다. 개발하는 도중에도 친구들과 게임할 일이 있으면 ngrok 프로그램으로 PC 위의 서버를 포트 개방해서 사용했었기 때문에 유의미한 데이터가 SQLite3 에도 저장되어있었다. 개발을 일단락 짓고, AWS EC2로 서버를 이전하고, PostgreSQL DBMS를 사용하기로 했다. 그러다보니 SQLite3의 데이터를 PostgreSQL로 이전해야할 필요가 생겼다. 그래서 그 방법을 알아봤다. manage.py가 제공해주는 dumpdata / loaddata 커맨드를 활용해서 손쉽게 데이터를 이전할 수 있었다.$ python manage.py dumpdata --natural-primary --na..
진석쌤이 P.rogramming Slack에 조교를 모집하셨다. Microsoft에서 진행하는 워크샵에 강사로 초빙되셨는데, 이를 도울 조교를 모집하신 것이었다. 제목은 "파이썬 is 뭔들! 워크샵 - Django로 여행블로그 만들기" 였다. Django와 Google Map API로 여행 포스트(위치 정보를 포함한), 댓글 작성등의 기능을 갖춘 간단한 여행 블로그를 만들고, Azure WebApp에 배포해보는 워크샵이었다. 원래 Slack에 잘 안들어가보는데, 그때 우연히 들어가서 공지를 확인해서 선착순 3명안에 들 수 있었다. 워크샵 내용은 Azure WebApp 배포 외에 개발하는 과정은 기존에 숙지하고 있던 내용이므로 조교로써 당일에 질문받고 처리해주는데에 큰 어려움은 없었다. 다른 사람들의 질문..