본문 바로가기

개발/웹15

Flask Microservice 구축 - GitHub Actions로 CI/CD 시스템 구축 안녕하세요, 저번 Flask Microservice 구축 - Zappa로 AWS Lambda에 Flask Docker 띄우기에 이어 오늘은 이 귀찮았던 작업들을 GitHub에 push 한 번으로 해결할 수 있도록, 깃허브 액션(GitHub Actions)으로 CI/CD 시스템을 구축해보도록 하겠습니다. CI? CD? GitHub Actions? CI/CD(Continuous Integration/Continuous Deployment), 한국어로는 지속적 통합과 지속적 배포는 한 몸입니다. 코드를 수정하여 업로드하면 자동으로 빌드와 테스트가 성공한 코드를 모든 개발자들이 통합적으로 공유할 수 있도록 하고, 사용자들에게 코드의 결과 애플리케이션을 자동적으로 배포할 수 있도록 하여 개발자와 사용자 모두가 편.. 2023. 3. 1.
Flask Microservice 구축 - Zappa로 AWS Lambda에 Flask Docker 띄우기 안녕하세요, 저번 Flask Microservice 구축 - Zappa로 AWS Lambda에 Flask 띄우기 에 이어, 이번에는 플라스크(Flask)가 담긴 도커(Docker) 컨테이너를 AWS 람다(Lambda)에 띄워보도록 하겠습니다. 저번 포스트에서는 마이크로서비스에 대한 설명을 곁들이느라 포스트가 길어졌는데, 이번에는 간단하게 끝나지 않을까 싶습니다. 한글로 된 설명서는 딱히 없어서, 설명이 잘 되어있는 영어 포스트를 참고했습니다. 도커가 필요한 이유는? 저번 포스트에서도 말씀드렸지만, AWS 람다의 함수 서비스 하나는 최대 250MB의 용량을 담을 수 있습니다. 하지만 람다를 소스 코드가 아니라 도커 이미지로 띄우게 되면, 최대 10GB 용량의 서비스를 띄울 수 있습니다. 파이썬(Python.. 2023. 2. 25.
Flask Microservice 구축 - Zappa로 AWS Lambda에 Flask 띄우기 안녕하세요, 정말 오랜만에 플라스크(Flask)로 돌아왔습니다. 그 동안 회사에서는 꾸준히 플라스크를 쓰고 있었는데 딱히 하드 스킬이 업그레이드될만한 사건이 없었어서, 이번에 AWS를 이용한 플라스크 마이크로서비스(Flask microservice)를 구축해보기로 했습니다. 마이크로서비스란? 마이크로서비스란 뭘까요? 위키백과를 보시면, "마이크로서비스(microservice)는 애플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 서비스 지향 아키텍처(SOA) 스타일의 일종인 소프트웨어 개발 기법이다." 라고 소개하고 있습니다. 기존의 애플리케이션은 하나의 프론트엔드를 보여주기 위해 DB, 웹서버, 메시지큐, ... 등의 서비스를 모두 하나의 서버 위에 띄워 만들어 왔습니다. 이와 다르게, 2010.. 2023. 2. 25.
Flask 블로그 제작기 (6) - 검색 기능 플라스크로 서비스되던 구버전 블로그에서 옮겨왔습니다. 검색(search)과 정렬(sort)은 알고리즘계의 양대산맥입니다. 자료구조에 따라 다양한 방식으로 검색과 정렬을 구현할 수 있지만, 그 때 그 때마다 메모리적으로나 시간적으로 적합한 알고리즘은 따로 있죠. 이 블로그와 같은 플라스크 블로그에서도 1) 직접 검색 알고리즘을 데이터베이스 상대로 구현하거나, 2) 처음부터 Elasticsearch같은 검색 전문 데이터베이스에 데이터를 저장하는 등 복잡한 방법들이 있겠지만, 사실 가장 쉬운 방법은 RDBMS에 LIKE SQL 쿼리를 날리는 방법입니다. 한 번 쉽게 구현해보도록 합시다. HTML view 일단 html 부분입니다. 저는 블로그 랜딩 페이지에서만 검색 기능이 있으면 충분하다고 생각해서 templ.. 2022. 9. 13.
Flask 블로그 제작기 (5) - 파비콘(Favicon) 플라스크로 서비스되던 구버전 블로그에서 옮겨왔습니다. 매 주 Flask로 블로그 제작에 대한 글을 쓰며 구글에 블로그를 노출시키려 애쓰고 있지만, 사실 블로그 운영을 해보신 분들은 아시겠지만 매우 귀찮습니다... 그래도 꾸준히 하나씩 올릴 때마다 구글 검색에 개선이 있음을 구글서치콘솔을 통해 보고 있기 때문에, 오늘 같은 날은 가벼운 마음으로 파비콘(favicon)을 어떻게 플라스크 블로그에 띄웠는지를 보여드리고자 합니다. 파비콘이란? 파비콘(favicon)은 위키백과에 따르면, favorites와 icon의 합성어로, 웹사이트를 대표하는 아이콘이라고 합니다. 우리가 자주 보는, 브라우저의 탭에 있는 아이콘, 예를 들면 위키백과의 "W" 모양과 같은 것이 파비콘인데요, 보통 16 x 16 픽셀의, .ic.. 2022. 9. 13.