본문 바로가기

전체 글

(62)
CloudWatch, Lambda 를 이용한 SlackBot 만들기 Intro Cloudwatch를 이용해 Instance의 상태를 Monitoring 한 뒤 Slackbot으로 알림을 주는 것과 관련된 글을 보고 조금 흥미로웠는데, 이번에 동아리에서 Cloudwatch 및 기타 AWS service에 대해 간단히 다루게 되면서 SlackBot을 한 번 간단하게나마 만들어보고자했다. 근데 생각보다 인터넷 상의 자료들과 현재의 AWS 의 UI가 달라져서 좀 답답했었기에 직접 한 번 정리해본다. 간단한 작동 방식 뭘 만들거냐면 CloudWatch가 Monitoring 하고 Alarm을 발생시킬 수 있는 AWS Service가 몇 개 있는데, 이 글에선 EC2 Instance의 CPU Utilization(CPU 점유율)을 Monitoring하고 일정 퍼센트 이상을 사용 중이..
Django ORM과 MSA(마이크로서비스 구조) 함께 이용하기, DB 하나를 여러 서버에서 사용하기. 머릿말 Django를 깊게 공부하게되면서, 과연 Django가 실제로 많이 쓰이는 Web Framework으로서 적절한 지 고민해보게 되었다. 결론은 생산성 자체는 좋지만, 서비스가 커짐에 따라 ( 즉 단순 개발용이 아니라 실 서비스급으로 성장해감에 따라 ) Django 의 장점이 다시금 단점이 되어가는 것은 아닌가 싶긴했다. ( ORM 이용하며 model 과 view의 호흡을 통한 빠른 개발과 생산성이 장점이었으나, 그것이 MSA 서비스를 구축하기엔 너무도 Model과의 연결성이 커서 자유롭지가 못함.) 간략한 기준은 이러했다. MSA(Micro Service Architecture) 구조를 따르기 쉬운가? 다른 Framework들과 연동하기 쉬운가? 협업하기 쉬운가? 사실 다들 'MSA 구조를 따르기..
Django, uWSGI, NGINX 헷갈리는 거 정리, 꿀팁, Cheating Sheets Django와 S3 Storage 연동하기 https://nachwon.github.io/django-deploy-7-s3/
[Django] Django에서 static 과 media 이용하기. DEBUG=False일 때 static 문제점 Django를 막 입문한 뒤 프로젝트를 배포하려고 settings.py에서 DEBUG=False로 바꾸는 순간 경악을 금치못할 수 있다. DEBUG=False로 바꾸는 순간 runserver로 서버를 돌릴 시 static file, media file들이 제공이 안 됐을 것이다. 웹서버와 uWSGI와 Django를 연동할 때에도 마찬가지이다. 그래서 static file과 media file은 웹서버에서 전송해주는 것이 바람직하지만 너무도 귀찮고 경우가 여러가지라 복잡하다. 그래서 정리해본다. 문제의 원인은? 기본적으로 Django의 runserver 기능은 개발 과정에서 편리하도록 임시적으로 웹서버 기능을 하기 위한 것이라고 하고 만약 배포하는 과정이라면 DEBUG=False 로 두는 것이 바람..
docker-compose를 통해 Nginx, Django 연동하기 2 - Django App과 uWSGI 연동하기 Intro 저번 1편에서는 docker-compose를 이용해 Nginx, uWSGI, Django를 연결하기에 앞서 "Hello, ~~~" 을 출력해주는 간단한 Django앱을 만들었습니다. 사실 uWSGI나 Docker 관련한 글을 보러 오신 분들은 다들 아시는 내용이겠죠. 이번엔 uWSGI, WSGI 가 각각 뭔지 알아보고 사용해볼게요. WSGI 많~~~은 블로그에서 uWSGI와 WSGI를 설명하고도 있고, 똑~같이 설명하고도 있기때문에, 자세히는 다루지 않겠습니다. 쉽게 말해서 WSGI는 Web Server Gateway Interface라는 것인데 자바를 공부해보신분들은 아시겠죠? 인터페이스는 허상(?)일 뿐 실체가 아니잖아요. 그 WSGI 인터페이스를 구현한 구현체 중 하나가 uWSGI입니다...
Docker 를 이용해 가장 간단하게 다양한 가상환경에서 작업하기 Intro Docker 가 보통은 Image를 이용해 소프트웨어를 배포할 때 많이 쓰이는 것 같긴 하지만, 본연 그대로를 다시 생각해보면 Docker 는 OS 를 가상화시켜주는 소프트웨어이기 때문에, 어떤 독립적인 작업공간이 필요할 때 Docker를 이용하는 것도 의외로 간편하고 재미있어요. 예를 들어 내가 단순히 Python 프로그램을 새로운 방식으로 시도하고 있다면 그냥 한 프로젝트 디렉토리를 만들어서 이용하거나 Virtual Environment를 이용하면 되겠지만, Nginx 나 Apache, Vim 설정 등 얕은 깊이에서 노는 것이 아니라, 사용자나 OS와 관련된 작업을 한다면. 내 원래의 환경에서 작업하기 조금 부담스럽죠. 혹은 강의 영상을 찍거나 블로그에 글을 올리기 위한 Demo 를 위해서..
ipmat. 입맛 - 입맛월드컵으로 음식 추천. 친구,연인에게 내 입맛을 퀴즈로! v.1.0 방학동안 힘든 일도 많았지만 나름 힘내서 열심히 만든 첫 어플. ipmat 입니다. 원하는 주제의 푸드북을 통해 입맛 월드컵이라는 컨셉으로 지금 내 입맛에 끌리는 음식을 추천 받을 수 있고, 주로 강남, 수원, 경희대 등의 특정 지역 및 학교의 맛집들을 위주로한 푸드북 또한 추가 중이에요!! 그리고 대립되거나 비교해볼만한 음식 두 개씩 짝을 지어 입맛 문제지를 만들 수 있고, 이를 통해 친구나 연인과 서로의 입맛에 대한 퀴즈를 풀어볼 수도 있답니다! 혹시 자기 학교나 지역의 맛집과 관련한 데이터를 추가해주실 수 있는 분은 instagram - @mr_jjinsur 나 이 글의 댓글로 연락 주세요. 플레이스토어에서도 베타 테스터로 등록 후 이용가능하고 apk 를 직접 다운받아서도 이용이 가능합니다. ( a..
Django App Templates Directory. 장고 앱 템플릿 디렉토리 구조에 대해 Django App 의 Template 구조가 어떤 식으로 작용하는가? 이런 식으로 할 꺼면 그냥 app/templates/index.html로 하면 안 되는 건가? Intro 아마 Django를 처음 시작하는 사람들은 대부분 Django 의 Official Site에 있는 Tutorial. polls app 만들기를 접해보았을 것이다. 거기 예제를 따라가다보면 template 관련한 내용이 나오는데 주로 template directory structure를 아래와 같은 식으로 쌓는다. 근데 나는 처음에 Django 를 시작할 때부터 궁금했다. 예를 들어 app 이름이 tutorial 이면 왜 tutorial/templates/tutorial/index.html처럼 앱의 이름이 2번 등장해야하는가 말이다..