본문 바로가기

전체 글

RestFul API 개념: 자원(Resource), 행위(Method), 표현(Message) RestFul API - Representational State Transfer - 서버나 서비스에 존재하는 모든 자원(이미지, 동영상, DB자원)에 고유한 URI를 부여해 활용하는 것 = 자원에 대한 주소를 지정하는 방법론을 의미 (빨간색 표시해놓은 부분만 기억하자) - API의 형식을 URL의 형식으로 표현해놓은 것. - 여러가지 API가 있지만, 필자는 RestFul API를 사용해보도록 하겠다. - 좌측은 프론트엔드, 우측은 백엔드, 가운데가 API - 백엔드는 서버를 개발한다. API 서버를 개발한다. - API는 프로그램을 만들수 있는 기능이다. API라는 것은, 개념적으로 규칙을 중간에 만들어놓은 것. 로그인의 기능을 구현하고 싶으면, URL 주소를 어떻게 전달해달라, 그러면 서버가 데이터.. 더보기
API 개념 설명 API란 - Application Programming Interface - 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. - API를 통해 소스 및 DB에는 접근하지 못하게 하고 해당 프로그램을 사용할 수 있도록 기능을 제공하게 하는 것이다. - 인터페이스는 서로 데이터를 주고받으려면, 규칙이 있어야한다. = Application을 개발하기 위한 규칙 - Operating System(OS, 운영체제)인 Windows, Unix, Linux도 각각 OS를 위한 프로그램을 만들기 위해서는 각 API가 필요하다. 그리고 각 API는 다르다. ㄴ 그래서 같은 카카오톡이라도 Windows용, MAC용의 API를 각각 공부해서 만들.. 더보기
[Python] wordcloud 모듈 다운로드 에러 해결 $ pip install wordcloud ...를 입력하자, 정말 장황하게 에러가 났다. 그러나, 에러속에 답이 있다고, Microsoft Visual C++ 14.0 혹은 그 이상의 프로그램이 있어야한다는 것. 에러에서 제공해준 사이트로 이동하자. https://visualstudio.microsoft.com/ko/visual-cpp-build-tools/ Microsoft C++ Build Tools - Visual Studio Microsoft C++ Build Tools는 Visual Studio 없이 스크립트 가능한 독립 실행형 설치 관리자를 통해 MSVC 도구 집합을 제공합니다. 명령줄에서 Windows를 대상으로 하는 C++ 라이브러리 및 애플리케이션을 빌드 visualstudio.micr.. 더보기
파이썬으로 비밀번호 유추하기, 경우의 수 도출 얼마전 같이 강의 듣는 친구와, 장난으로 다른 친구의 핸드폰 비밀번호를 풀고자 했는데, 친구가 힌트를 제시하여, 진지하게 추리가 시작되었다. (비밀번호: 4자리) 주어진 힌트: # 1. 비밀번호에 사용된 숫자는 3개이다. # 2. 4자리 숫자 도합이 20이 넘는다. # 3. 마지막 3자리 숫자 합만 20이 넘는다. # 4. 두번째와 네번째 숫자가 같다. 104개의 경우의수가 나왔다. 여기에 우리가 틀렸던 숫자의 리스트를 만들어준(my_list) 다음에, 상기 경우의수에서 제외한다. -> 리스트를 만들 때, 중복을 없애기 위하여, Set으로 만들어주고, 다시 리스트화 한다. [x for x in password_list if x not in my_list] 범위가 확 줄어버렸다. 후후후... 더보기
만든 앱 리눅스 서버에서 실행하기 만든 앱 리눅스 서버에서 실행하기 ps -ef | grep streamlit kill 12285 -> 서버와의 연결이 끊어진다 nohup streamlit run app.py --server.port 8501 & cd .. ll run할 app.py가 있는 폴더로 가서 명령을 해야한다. review app 포트: 8501 nohup streamlit run app.py --server.port 8505 & cd .. ll car price app 포트: 8505 더보기
리뷰 긍정/부정 앱 만들기: 긍정/부정 판단하는 인공지능 삽입 리뷰긍정/부정 예측 앱 만들기 - 학습관련한 코드는 코랩/주피터 노트북에서 진행하고, 웹 대시보드에 옮기지 않는다. ㄴ 웹 대시보드는 가공 완료된 것을 보여주는 역할이므로, 데이터 가공은 하지 않는다. - 작업하고자 하는 파일을 코랩에서 연다. - Github에서 새로운 레파지토리를 만든다. (이름: streamlit-review-app) - 로컬 컴에 클론 - streamlit-review-app으로 이동 진입 웹 대시보드에서 보여지는 화면 서버에서 보여지는 모습 바로, nltk 모듈을 설치해준다. $ pip install nltk 이하 colab import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn a.. 더보기
백그라운드로 앱 실행하기 백그라운드로 앱 실행하기 백그라운드에서 서버 지속 실행: 리눅스 명령어 nohup streamlit run app.py & ㄴ 터미널 접속을 끊어도, 24시간 365일 스트림릿 돌아가도록 nohup streamlit run app.py --server.port 8503 & ㄴ nohangup: 끊지마 ㄴ – server.port 포트번호: 포트번호를 정해준다. - 상기 명령어를 실행하면, 나오는 문구 ㄴ 앞으로 인풋이나 아웃풋을 여기에 보여주지 않을것이다….라는 뜻 - PuTTY를 닫아도, 서버 웹 브라우저는 잘 돌아간다. - 코드를 수정한 후에, 다시 터미널(PuTTY)에서 git pull명령어를 내려준다. - 파이썬 코드가 아니기 때문에 (base)에서 명령을 내려야 하지만, 해당 파일이 있는 폴더로.. 더보기
서버에서 깃의 자료 가져오기: git pull 리눅스 명령어 ll cd streamlit…(tab) 가상환경 리스트 보기 conda env list conda activate streamlit3.7 ㄴ 가상환경 바꾼다고 디렉토리가 바뀌는 것은 아니다. - 마우스로 긁는 것 자체만으로도 복사 효과가 있다. - 명령어 ‘ll’을 입력하여, 해당 폴더의 리스트를 확인하고, - 우리가 작업하고 있는 폴더로 이동하자. - 작업하고 있는 폴더 안의 내용 - 내가 로컬에서 작업하고 있던 내용이 커밋 및 푸쉬 되었다는 전제하에, - 깃에 저장되어있는 내용을 서버로 끌고온다 git pull - PuTTy 창을 두개 띄워서(두번 접속) ㄴ 하나는 서버 연결용, 하나는 명령어 (git pull 입력용)으로 작업한다. ㄴ 우리가 터미널을 끊어도, 서버는 계속 동작한다. 더보기