일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- virtualenv
- uWSGI
- 스포츠코치
- 워크샵
- berkeley db
- django
- PostgreSQL
- 마이크로소프트
- 아이디어팩토리
- AWS EC2
- LED
- UserCreatioForm
- 위즈네트
- Python
- windows
- psycopg2
- 스마트 러닝화
- help_text
- 샤오미
- 무브나우
- ted
- IOT
- 탱크램팩토리
- 온오프믹스
- 미니 화이트
- restful
- nginx
- virtualenvwrapper
- 미밴드 1S
- 데이터 이전
- Today
- Total
목록2016/06 (12)
NERD WORLD
페이스북에서 놀다가 아래 글을 읽었다."모씨 서비스 구성에 대해" 재밌다. 서비스 시스템의 각 기술요소별로 사용한 프레임워크나 도구에 대해서 간략히 핵심만 설명해주고 있다. 여러 후보군들 중에서 왜 이걸 선택했거나 변경했는지, 그래서 얻은 효과는 어떠한지, 즉 간략히 핵심만 잘 얘기해주고 있다. 이런 글들을 많이 읽으면서, 많은 의문을 품고, 그 의문을 해소하기 위해 찾아서 공부하고, 정리하고, 내 지식을 늘리고, 관점을 세우고, 관점을 확장하고, 이해 능력을 키우는 일련의 작업들을 꾸준히 실행하자.
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 배포 외에 개발하는 과정은 기존에 숙지하고 있던 내용이므로 조교로써 당일에 질문받고 처리해주는데에 큰 어려움은 없었다. 다른 사람들의 질문..
Elastic IP를 지정하는 것은 아래의 책 내용을 참고했다."아마존 웹 서비스를 다루는 기술", 6장 AWS Route 53을 사용해서 보유중인 도메인을 EC2 인스턴스와 연동하는 것은 아래 포스트를 참고했다."EC2 인스턴스에 도메인 연결(Route 53)" NS, SOA, A, CNAME 레코드에 대해서는 추가적인 학습이 필요할 것이다. 위닝 전적기록 웹
플스방에서 친구들이랑 위닝 일레븐 게임하고나서 전적을 기록하고 언제나 확인할 수 있도록 Django로 웹 서비스를 만들고 있다. 스마트폰 어플리케이션으로 만들면 더 좋았겠지만, 안드로이드 개발이 약해서 모바일 웹을 타겟으로 만들고 있다. 추가 구현해야할 기능들이 꽤 남아 있지만, 구현이 일단락은 되었다는 생각이 들어서 친구들과 함께 사용할 수 있도록 AWS EC2에 배포해봤다. Ubuntu OS가 익숙치 않아서, 배포해나가는 과정이 어려웠다. 올바르게 배포한건지는 모르겠다. 다만 EC2 인스턴스의 Public IP로 접속, PostgreSQL DB와 연동하는 과정에서 문제가 없었으므로 한번 정리해두고 넘어가려 한다.Unix domain socket 이번 포스트의 키워드는 Django, Nginx, uWS..
"객체지향의 사실과 오해" 라는 책을 읽고 있다. 중요한 내용 중 하나가 Encapsulation이다. Interface와 Implementation을 엄격히 분리하는것이, 객체지향적인 설계를 돕고, Encapsulation이 분리를 가능하게 한다. 그러나 Python에서는 C++이나 Java와 달리, public/private의 개념이 없기에 의아했다. 그래서 찾아보니, 아래 아티클이 이를 아주 명쾌하게 설명해주고 있다. Private, Protected, and Public in Python
Django의 django-admin startproject 커맨드로 새로운 프로젝트를 생성하고나면 기본 settings 파일의 데이터베이스 설정은 SQLite3를 사용하는 것이다. Django 개발 연습 목적이거나, 개발해서 혼자 사용하려는 목적이라면 SQLite3로도 충분하겠지만, 실 서비스 배포를 위한 목적이라면 더 나은 DBMS를 사용해야한다는 얘기를 들었다. 어느 DBMS를 사용할까 하다가, 우선 특별한 필요나 선호가 없는 상황이니 RDBMS를 사용하는 것이 좋을 듯 했다. 또한 이왕이면 어느 회사에 귀속된 DBMS 보다는 오픈소스를 사용하는게 어떨가 싶어서 MySQL 대신 PostgreSQL을 사용해보기로 결심했다. 구글링해서 자료를 찾고, 이를 적절히 결합해서 Windows 환경에서 Djan..
Python과 Django를 사용해서 개발하다보면 여러가지 패키지들의 도움을 받게 된다(사실 Django도 엄밀히 얘기하면 Python 패키지로 분류될 것이다). Python 패키지는 pip라는 패키지 인스톨러를 사용해서 CLI로 쉽게 다운로드 받을 수 있다. Windows 환경에서 Python 공식 홈페이지의 안내를 따라서 Python을 설치하고나면 pip도 자동으로 함께 설치가 되니 바로 사용할 수 있다. 아직까지 내가 하는 개발은 낮은 레벨이기 때문에 그런 경우가 없었지만, 실서비스를 개발하는 경우에는 프로젝트가 개발하는 과정에서 사용한 패키지의 버전에 의존성을 지니는 경우가 많다고 한다. 즉, 내가 개발자이고 어떤 두 팀의 프로젝트에 참여하고 있는데 한쪽 프로젝트에서는 Django 1.7을 사용해..