분류 전체보기 (461) 썸네일형 리스트형 Lambda + API gateway aws가 제공하는 serveless service이다. Lambda는 S3처럼 백엔드를 서버리스(Serverless)로 운영할 수 있는 서비스입니다. S3가 별도의 서버, 관리 없이도 프론트 페이지를 운영할 수 있는 것처럼, 백엔드도 인프라를 신경쓰지 않고 운영할 수 있는 서비스입니다. S3와 Lambda의 역할은 비슷하다고 생각하시면 됩니다. flask node spring 프레임 워크 컨트롤러나 flask url을 분배하는 방식을 적용하여 api를 안쪽으로 만들어 놓고 프레임워크로 감싸져 있는 소스뭉텅이를 ec2나 elb에 같은데에 업로드시키고 그 프레임워크가 로딩이 되고 그 API를 URL를 따라 API를 찌르면 API가 동작하는 방식이 되는 람다는 메서드 단위로 배포를 합니다. 대시보드에서 람다에.. Flask 어플리케이션을 docker로 실행 Docker image를 만들기 위해서는 Dockerfile이 필요합니다. Dockerfile이란 docker image를 어떻게 생성할 것인지를 정의한 파일입니다. flask 어플리케이션을 실행할 수 있는 dockerfile을 만들어보겠습니다. FROM python:3.8 ADD requirements.txt . RUN pip install -r requirements.txt ADD templates templates ADD app.py . CMD ["python", "app.py"] Flask를 실행하기 위해서는 python3.8 환경이 docker에도 setting이 되어있어야 합니다. docker run -it python:3.8 커맨드를 실행하여 python 3.8 이미지를 다운로드 받습니다. .. Docker를 실행해보자 이전 포스팅에서는 docker를 설치해보았습니다. 이번에는 설치한 docker를 이용하여 간단한 어플리 케이션을 실행해 보겠습니다. 1. 커맨드 입력 terminal 창을 열어 아래의 커맨드를 입력합니다. docker run -d -p 80:80 docker/getting-started 아래의 화면과 같이 다양한 커맨드들이 출력이 되고 이미지를 다운로드 하였다는 결과 커맨드가 나타납니다. 2. localhost 연결 크롬을 열고 localhost 를 입력합니다. 자동으로 http://localhost/tutorial/ 로 redirection 되면서 아래와 같은 화면이 나타나는 것을 확인할 수 있습니다. 왜 이런일이 발생했을까? 시작 부분에서 docker run이라는 커맨드를 입력하였습니다. docker.. Docker 사용 도커란? 도커란 원하는 프로그램을 쉽게 실행하기 위한 플랫폼입니다. 도커가 존재하기 전에는 어떤 어려움이 있었는지 도커가 이러한 문제를 어떻게 해결 하였는지를 살펴보도록 하겠습니다. Docker가 없이 실제 서비스를 운영할 때는 아래와 같은 어려움이 있었습니다. 서버에서 작성한 코드를 실행하기 위해서는 다양한 작업을 해주어야 합니다. - os 설치, 실행환경 세팅(java, python 등), 어플리케이션 코드(혹은 빌드) 다운로드, 필요한 다른 코드 다운로드(library) 등등의 과정이 필요합니다. 서버를 운영한다는 것은 1)보안 결함이 없어야 하고 2) 필요할 때 새로운 코드나, 라이브러리 추가가 가능해야 합니다. 많은 수의 요청을 처리하기 위해서는 많은 수의 서버에 대해서 운영을 해주어야 합니다... Github을 잘 사용해보자! (Issue와 commit) 이번에는 github에 있는 기능들을 십분 활용해보자 또는 적재적소에 잘 사용하지 못하더라도 경험을 해 보자 하는 차원에서 시작해본 내용이다. github에는 내가 사용해보지 않은 많은 기능들이 있었다. 이번에는 그 중에서 Issue와 commit을 잘 사용해보자 라는 생각에서 시작하였다. issue와 commit을 잘 조합해서 사용한다면 어떤 기능을 어떻게 구현했는지 남들이 더 보기 좋게, 또는 동료들이 한눈에 파악하기 쉽게 만들 수 있을 것 같았다. issue와 commit을 살펴보던 중 project와 milestone이라는 것을 알게되었고 이것도 같이 사용을 해보면 좋겠다고 생각을 하여 팀원들과 의견을 공유하며 어떻게 사용할 지를 정하였다. Project 상단 메뉴바에 존재하며 Project는 I.. Git 작업관리 프로젝트를 진행함에 따라 git을 더 잘 써야할 것 같다는 의무감과 동시에 욕심이 생기기 시작하였다. main이 아닌 각자 branch에 push를 해달라고 요청을 하였지만, git이 아직 익숙하지 않아 그 마저도 어려워 하는 사람들이 있었기에 내가 욕심이 난다고 하여 무작정 추진할 수는 없는 노릇이었다. 이윽고 최종 프로젝트가 다가왔고, 이번에는 모두가 의욕적이었기에 많은 변화를 시도할 수 있었다. Git을 좀 더 잘 쓰기 위해서 우리는 어떤 전략이 있는지 살펴보았으며, git flow와 github flow 둘 중에 하나 고르면 되겠다는 생각을 하였다. git flow와 github flow 두개의 선택지 중에서 git flow를 선택하게 되었는데, 선택의 근거는 아래와 같습니다. 1. main br.. google 로그인 1. 개념 정리 프론트엔드 구현 없이 특정 URL (여기에서는 localhost:8080/google/login) 입력하게 되면, 해당 페이지에서 (첫 로그인 시) 구글 로그인 화면으로 이동되고, 로그인 시 지정한 Redirect URL로 redirect 시킵니다. 해당 URL 또한 Controller에서 Mapping을 통해 로직을 실행시키는 메서드를 구현하면 됩니다. 1. 우선 Authorization code를 구글에 요청을 하고, 구글로 부터 Authorization code를 전달 받습니다. 2. 전달 받은 Authorization code를 이용하여 Access Token을 요청하고, 전달 받습니다. 3. 전달 받은 Access Token을 이용하여 구글에게 유저 정보를 요청하고, 전달 받습니.. HTTP 메서드의 속성 안전 메서드를 호출해도 리소스를 변경하지 않는다. GET 메서드만 안전하다고 할 수 있다. 멱등 한번 호출하든 두 번 호출하든 100번 호출하든 결과가 똑같다. GET: 멱등이다. 몇 번을 조회하든 같은 결과가 조회됨 PUT: 멱등이다. 결과를 대체한다. 따라서 같은 요청을 여러번 해도 최종 결과는 같다. DELETE: 멱등이다. 결과를 삭제한다. 같은 요청을 여러번 해도 삭제된 결과는 똑같다. POST: 멱등이 아니다. 두번 호출하면 같은 결제가 중복해서 발생할 수 있다. 멱등 활용 자동 복구 메커니즘 서버가 TIMEOUT등으로 정상 응답을 못 주었을 때, 클라이언트가 같은 요청을 다시 해도 되는가에 대한 판단 근거 멱등은 외부 요인으로 중간에 리소스가 변경되는 것 까지는 고려하지 않는다. 캐시 가능 .. 이전 1 ··· 17 18 19 20 21 22 23 ··· 58 다음