목록전체 글 (302)
elevne's Study Note
자주 사용하는 Oracle 문법 중 가끔 헷갈리는 것들을 기록해두려고 함. Table에서 특정 Column 선택해서 보기 SELECT COL1, COL2 FROM TABLE1; (전체보기는 SELECT * FROM TABLE1;) 선택 열 기준 중복값 제외한 데이터 조회 SELECT DISTINCT COL1 FROM TABLE1; 언더바( _ ) Wildcard SELECT * FROM TABLE1 WHERE COL1 LIKE ‘a_b_c’; (‘_’에는 무슨 값이든 가능) Charlist Wildcard (charlist안에 들어있는 a~e 알파벳으로 시작하는 데이터를 조회하는 쿼리) SELECT * FROM TABLE1 WHERE COL1 LIKE ‘[a-e]%'; Join (각 Table의 COL1..
저번에 이어서 이제는 FastAPI에서 JSON 형식으로 데이터를 전송받고 해당 데이터를 기반으로 TSP 알고리즘을 구현해야할 차례였다. 우선 입력은 여행지의 id들로 이루어진 list, 사용자 현재위치의 위도, 경도로 이루어진 JSON 형식으로 이루어질 것이었다. Input을 다루기 위해 해당 객체를 model.py에서 정의해주었다. model.py class Input(BaseModel): id: list latitude: float longitude: float 다음과 같이 정의해준 후 Input을 의도한대로 잘 받아낼 수 있었다. 그 후, 이를 활용하여 TSP 알고리즘을 다음과 같은 코드로 구현하였다. # TSP 알고리즘 def TSP(distanceList, start): vertex = lis..
따릉이데이터분석을 주제로 프로젝트를 진행중이라, 이에 맞게끔 이전에 작성한 간단한 CRUD 코드를 업데이트 함. main.py @app.get("/travel") def read_travel(): travels = SESSION.query(TravelTable).all() return travels @app.get("/travel/{travel_id}") def read_one(travel_id:int): travel = SESSION.query(TravelTable).filter(TravelTable.id == travel_id).first() return travel @app.post("/travelInput") def create_users(travel : Travel): travelObj = Tr..

개인 프로젝트에서 Python 활용 데이터분석을 진행한 것을 웹 서비스로 구현해야할 일이 있었음. 이전에 flask를 잠깐 써본 적이 있어서 flask로 또다시 구현해볼까 했지만 fastAPI를 한 번 배워보고 싶었음(비교적 간단해보이기도 했고) fastAPI로 REST API를 만들어주고 나머지 웹 서비스는 Spring으로 만들어서 진행해보려고 함. fastAPI를 사용하기 위해 requirements.txt 파일을 만들고 그 안에 requirements.txt: fastapi "uvicorn[standard]" pymysql 를 기입해준 후 terminal pip install -r requirements.txt main.py from fastapi import FastAPI import uvicor..
게시판 기능 구현 중 window.open을 통해 팝업으로 상세창을 띄워서 수정하는 기능을 넣고 있었음. 수정기능은 ajax를 사용해서 전부 다 성공적으로 마치게되면 window.close()를 통해 손쉽게 닫히게 했었으나 삭제의 경우에는 ajax를 사용하지 않고 form을 post로 받아서 Controller단에서 다른 페이지로 넘어가게 하는 상황..이었음(사실 ajax를 사용해서 해도 상관없었을 것 같기는 함. 페이지가 너무 복잡해져서 사용하지 않은듯..?) 이 때 Controller에서 다른 페이지로 넘어가서 보여지는 것이 아니라 삭제를 성공적으로 마치면 창이 닫히면서 기존 게시판 리스트 창이 Refresh 되기를 원했음. 너무 간단하지만... 우선 Controller에서 기존에 만들어둔 페이지가 ..

Google Cloud Platform의 Vision API를 이용하여 이미지검색 서비스를 구현하려 하였다. index.html 위와 같이 이미지 데이터를 Input으로 받고 fileupload.jsp로 넘겨서 이미지검색을 시작한다. fileupload.jsp 파일로 넘어가기 전 필요한 기능들을 java 파일로 구현해둬야 함. 그 기능들을 사용하기 위해 필요한 jar 파일들을 준비하는 과정도 필요함. DetectWebDetections.java List requests = new ArrayList(); AnnotateImageRequest는 유저가 첨부한 이미지, 유저가 요청한 리퀘스트 그리고 Context Information을 활용하여 GCP Vision API를 실행시키는 것. ByteString ..