[AWS] EC2 ubuntu 18.04에 EFS 마운트하기

[AWS] EC2 ubuntu 18.04에 EFS 마운트하기

파일이 크지만, 영구적으로 저장될 필요가 없는 경우에는 S3를 사용하는게 꼭 최선이 아닐 수 있습니다. 최근에 비디오 관련된 작업을 한적이 있었는데, 다운로드를 하고 분석을 한뒤에 삭제를 하면 되는 과정이였습니다. 물론 분석과정에 많은 인스턴스들이 투입이 되어야 하는 로직이였습니다. 제 경우에 가장 중요한 포인트는, S3를 사용하지 않고, 여러 인스턴스들이 동일한 파일에 접근하는 것입니다. 그래서, AWS의 EFS를 Network File System (NFS)으로 사용하기로 했습니다. OS: ubuntu 18.04 1. EFS 런칭 AWS Management Console에서 EFS를 찾으세요. Create file system button을 클릭 하세요 아무 이름이나 지으세요 끝!…

Read More Read More

pip install grpcio에서 멈출 때

pip install grpcio에서 멈출 때

tensorflow를 pip를 활용하여 설치하다보면, grpcio 설치 부분에서 더 이상 진행되지 않는 경우가 있습니다. 이럴때는 다음과 같이 pip와 setuptool를 업그레이드 해주시고 다시 시도해보시면 됩니다. Solution Then, Happy coding!

Pip Install Mysqlclient 에러 Error

Pip Install Mysqlclient 에러 Error

Environment: Ubuntu 18.04 Error 1. OSError: mysql_config not found Solution 1 Error 2. unable to execute ‘x86_64-linux-gnu-gcc’: No such file or directory Solution 2 Error 3. MySQLdb/_mysql.c:46:10: fatal error: Python.h: No such file or directory Solution 3 Final Code Happy Coding!

[AWS]API Gateway와 EC2 연결하기

[AWS]API Gateway와 EC2 연결하기

이번 포스팅에서는 API 게이트웨이를 활용하여, EC2 인스턴스에 프록시로서 연결하는 방법에 대해서 소개해드리겠습니다. 일반적으로, AWS Lambda의 API를 만들때 API gateway를 활용하곤 합니다. 그런데, 몇몇 경우에는 EC2에 Proxy를 만들어서 사용 해야 하는 경우가 있습니다. (저 같은 경우에는 사실, 단지 SSL 인증서가 필요한 경우였는데, ELB를 달고, Certificate Manager에 Route53까지 하는 과정이 너무 과하다 싶어서 API Gateway를 이용했습니다. ㅎㅎ) 일단 지난 포스팅에서 소개했던 방식으로 저희가 EC2 인스턴스에 Flask 서버 하나를 돌리고 있다고 가정하겠습니다. “http://x.x.x.x:5000/ “.라는 서버에 API Gateway를 연결 해보도록 하겠습니다. 아래 그림만 가볍게…

Read More Read More

파이썬(Python) 현재 시간 UNIX 타임스탬프(timestamp) 구하기

파이썬(Python) 현재 시간 UNIX 타임스탬프(timestamp) 구하기

여러가지 방법이 있지만, 저는 기본적으로 time 라이브러리를 활용해서 아래와 같이 구합니다. Float형태로 리턴이 되기 때문에, 필요에 따라 int로 캐스팅을 해주시면 됩니다. 만약 현재 지역(타임존)까지 고려해서 구하시려면, 아래와 같이 간단하게 해당 UTC 타임 존의 값만큼 추가를 해주시면 됩니다! Happy coding!

파이썬(Python)에서 단어가 영어인지 아닌지 확인하기

파이썬(Python)에서 단어가 영어인지 아닌지 확인하기

이번 포스팅에서는 Python에서 특정 String이 영어인지 아닌지를 구별하는 몇 가지 방법에 대해서 소개해 드리겠습니다. 1. Using isalpha method Python에서는 string 클래스는 isalpha라고 불리우는 method를 갖고 있습니다. 그런데, 한글과 같은 경우에는 위의 방식으로 하면, True로 나오는 문제가 있으므로, 만약에 한글까지 구분을 하셔야 하는 경우에는 아래와 같이 encode method를 먼저 사용하시고 isalpha를 호출 하시면 됩니다. 2. Using Regular Expression. 정규식을 활용하는 방식은 프로그래밍 언어를 떠나서 가장 일반적인 방법입니다. 3. Using operator 만약 단어 전체가 영어 알파벳이여야 하냐는 문제라고 가정을 하면, 아래와 같이…

Read More Read More

Youtube dl 파이썬 헤더 설정

Youtube dl 파이썬 헤더 설정

Youtube-dl 라이브러리로 대부분의 상황에는 비디오 파일을 다운로드할 수 있지만, 헤더 설정을 필요로 하시는 분들도 종종 있을 겁니다. 그럴 때는 youtube_dl.utils 를 임포트 해서 사용하시면 됩니다! 예제 코드!

Python에서 여러 Request 동시에 보내기

Python에서 여러 Request 동시에 보내기

비동기식 동작을 대응하기 전까지는, 파이썬만큼 완벽한 프로그래밍 언어도 없습니다. 자바스크립트를 사용하는 많은 개발자 분들이, 콜백 지옥에 대해 불평하면서도, 막상 비동기 호출을 해야 하는 경우에는 금방 자바스크립트에 감사하게 됩니다. 최근에 여러 요청을 한 번에 보내야 하는 작업이 필요했습니다. 또한 그 요청들의 응답을 한 변수에 모아야 했습니다. 1. 일반 요청 10개의 요청을 순차적으로 보내면, 총 11.285초가 걸립니다. 더 많은 요청을 보내면, 비례해서 더 긴 시간이 걸릴 것입니다. 어떻게 문제를 해결했는지 보시죠! 2. 동시 GET request 첫 번째, 두 번째 줄은 필요한 파이썬 패키지를 임포트 한 곳이고, 네 번째 줄은 request를 요청할 함수입니다. 7번째 줄은 우리가 동시에…

Read More Read More

React에서 Django 301 리다이렉트 문제

React에서 Django 301 리다이렉트 문제

먼저 정답부터 말씀드리면 ‘/’입니다. 가끔 클라이언트 사이드 코드를 수정하고 배포를 했는데, 갑자기 서버 측에서 잘 동작하던 API에 301 리다이렉트 응답을 보내는 경우가 있습니다. 제 경우에는 장고를 서버사이드로 하고, 리액트를 클라이언트 사이드로 했습니다. 그리고 API는 RESTful 스타일로 구현을 했고요. 대부분의 경우에는 클라이언트에서 보내는 요청 부분에 URL을 /로 끝내지 않아서 발생하는 것이었습니다. (Good) https://api.example.com/api/100/ (Bad) https://api.example.com/api/100 슬래쉬에 관련된 규칙을 자세하게 조사해보지는 않았지만, 만일 비슷한 상황을 맞닥드리신다면, 당황해서 서버사이드 코드나 네트워크 쪽 문제로 파지 마시고, 클라이언트 쪽 URL들을 다시 한번 확인해주세요!

Ubuntu 18.04에 Python Flask 설치하기

Ubuntu 18.04에 Python Flask 설치하기

Ubuntu version : 18.04Python version: 3.6.7 현재 우분투 서버에 접속한 상태라고 가정하고, 파이썬 버전을 아래 명령어로 확인합니다. 제 경우에는 파이썬 3.6.9 였습니다. 이제 virtualenv 모듈을 설치합니다.이 부분 같은 경우는 여러 방법이 있는 것 같은데, 최근에는 아래와 같은 방법으로 주로 설치하는 것으로 보입니다. 설치가 끝났으면 우리의 프로젝트를 올릴 디렉토리를 하나 아래의 명령어로 만듭니다. myapp 디렉토리로 들어간 상태에서 다음 명령어로 가상환경을 설치합니다.(두 번째 venv같은 경우는 편한 이름으로 자유롭게 설정 가능합니다.) 만약 여러분이 파이썬의 가상환경에 익숙하지 않으시다면, 조금 헷갈릴 수 있는 부분인데, 보통…

Read More Read More