전체 글 14

leetcode 1700 리트코드 1700번 파이썬 풀이

첫 번째 샌드위치를 원하는 사람이 아무도 없을 때 남은 모든 학생의 숫자를 리턴하면 된다. 스택이랑 큐 문제이지만 쓸 필요 없음.. 그냥 카운터 쓰면 간단하다. 스탑 컨디션 찾는게 어려웠다. 문제를 잘 이해 못했던 것 같다. 그러니까 결국 샌드위치의 순서는 바뀌지 않고, 첫 번째 샌드위치를 원하는 학생이 있으면 학생 줄은 순서가 어떻게 되던간에 원하는 학생이 와서 샌드위치를 가져갈 것이다. 하지만 샌드위치의 순서는 변하지 않기 때문에, 첫 번째 샌드위치를 원하는 학생이 없으면 나머지 샌드위치가 어떤 것이든 남은 학생들은 모두 샌드위치를 먹지 못한다. from collections import Counter class Solution: def countStudents(self, students: List[..

알고리즘 2022.03.27

FastAPI 와 서버리스(Serverless Framework), 깃헙 액션으로 CI/CD 구현하기

FastAPI + Serverless framework + Github Action 앞으로 FastAPI로 1) 코드를 작성한 후에 2) 깃헙에 푸시하면 3) 테스트 코드를 돌리고 4) 테스트 코드 통과 시에 aws 람다와 api gateway를 생성/업데이트 하는 플로우를 몇 개의 포스트에 걸쳐 정리하려고 한다. FastAPI로 api 를 구현하고, 람다와 api gateway 를 간단히 자동으로 생성하기 위해 serverless framework 를 사용하며, CI/CD 를 위해서 깃헙 액션을 사용할 것이다. 이번 포스트에서는 FastAPI로 간단한 api 를 생성해 볼 것이다. FastAPI 공식문서(https://fastapi.tiangolo.com/) 를 참고하면 FastAPI 를 처음 접하는 ..

FastAPI 2022.03.18

FastAPI 로 파이썬 마이크로서비스

FastAPI의 장단점 요즘 우리 팀은 모놀리틱 서비스를 마이크로 서비스로 바꾸려고 하고 있다. 그 중에서도 내가 맡은 프로젝트가 첫 스타트를 끊게 되었는데, 덕분에 팀원분과 함께 자유롭게 언어와 프레임워크, 배포 툴 등을 고를 수 있었다. 하지만 우리 회사는 거의 모두가 파이썬을 사용하고 있기때문에 마이크로서비스가 기술 선택에 있어 아무리 자유롭다고 하더라도 현실적으로 자바를 선택할 수는 없는 일이었다. 그리고 사실 프레임워크도 우리가 먼저 선택하기 전에 시니어분이 fastAPI 를 추천해주셨는데, 마침 나도 FastAPI 가 좋아보여서 즐거운 마음으로 전향할 수 있었다. FastAPI 는 파이썬 프레임워크 중 굉장히 새로운 (2018년 12월에 최초 출시되었다고함 겨우 네 살임!) 프레임워크이다. 이..

FastAPI 2022.03.13

깃헙 레파지토리 네이밍 컨벤션

레파지토리명을 짓는데도 네이밍 컨벤션이 있을까? 모놀리틱 서비스에서 마이크로 서비스로 이행하는 작업을 하면서 여러 개의 레파지토리를 생성해야 하는 일이 생겼는데, 레파지토리 이름을 어떻게 지을 것인가에 대한 의문이 있었다. 그래서 검색을 해보니, 브랜치, 커밋 등에 대한 가이드를 https://github.com/agis/git-style-guide 제공하는 문서인 깃 스타일 가이드는 있어도, 레파지토리 네이밍에 대한 문서는 따로 없었다. 그러던 중 이 사이트에서 괜찮은 글을 찾았다. https://moduscreate.com/blog/github-semantic-naming/ (이 문서에 포함된 유투브 링크도 참고) 아주 짧고 핵심만 잘 담은 영상이라 이것만 봐도 될 것 같다. https://www.y..

카테고리 없음 2022.03.02