분류 전체보기
-
[Book in seoul]도서 검색 사이트프로젝트 2023. 4. 16. 23:08
library-search-machine 서울에 위치한 도서관들의 도서데이터를 검색. library-search-machine has 5 repositories available. Follow their code on GitHub. github.com 아키텍쳐 기술적 의사 결정 Redis 로그인 과정에서 생성되는 Refresh Token은 영구적으로 저장될 필요가 없다. Redis는 key-value 쌍으로 데이터를 관리할 수 있는 데이터 스토리지이며 in-memory로 데이터를 관리하므로 영구적으로 저장할 수 없는 대신 굉장히 빠른 액세스 속도가 보장한다. 추가로 기본적으로 데이터의 유효기간을 지정할수 있다. 이러한 Redis의 특성때문에 RefreshToken를 Redis에서 관리하도록 하였다. El..
-
REST API와 REST ful한 REST API 작성방법그 외 2022. 11. 10. 23:07
REST API 란? REST API는 URI를 사용하여 리소스을 처리한다. 이 문장만 보면 쉽게 이해가 가지 않을것이다. 예시를 들자면 커뮤니티 서비스가 있고 커뮤니티 서비스 존재하는 회원정보와 게시글들이 리소스를 뜻한다. 그런 데이터들을 URL을 통해 관리하고 처리하는 것을 REST API라고 한다. 따라서 리소스를 관리하는데 있어 URl의 이름을 잘 지정하면 API가 직관적이고 사용하기 쉽다. 우리는 그런 잘 작성된 URL을 REST ful 하다고 한다. 그럼 어떻게 해야 REST ful한 REST API를 만들수 있을까? REST ful한 REST API 작성방법 REST API 리소스 명명 가이드 이 게시글 번역해서 요약하자며 아래와 같다. 1. 데이터를 주고 받을때는 JSON 포맷 을 사용한다..
-
[AWS] Amazon Relational Database Service Backup Storage 요금 문제공부/AWS 2022. 11. 5. 20:21
AWS에 RDS를 사용 후 데이터베이스를 삭제하였는데도 결제대시보드에서 조금씩 비용이 나가는 문제가 생겼다. [AWS] Amazon Relational Database Service Backup Storage 요금 문제 결제대시보드에 들어가서 상세 내역을 확인해 보니 아시아 태평양 서울 리전에서 Amazon Relational Database Service Backup Storage 관련해서 요금이 나가는게 확인이 되었다. (다른 요금은 신경쓰지 말자) RDS의 데이터베이스에는 아무것도 없는데 왜 요금이 발생했나 했더니 RDS의 데이터베이스를 삭제할때 내가 스냅샷을 저장하였고 스냅샷을 저장하는 비용이 계속 나가고 있었던 것이다. 해결! Amazon Relational Database Service Bac..
-
엘라스틱 클라우드 시작하기공부/Elasticsearch 2022. 10. 30. 21:23
엘라스틱 클라우드 시작하기 엘라스틱 클라우드의 경우 처음 회원가입을 하면 14일동안 무료로 사용이 가능하다. 그래서 처음 시작할때는 새롭게 회원가입 후 이용하면 비용 부담없이 14일동안 엘라스틱 클라우드를 사용이 가능하다. 필자는 구글을 통해 회원가입을 하였다. 회원가입을 한뒤 deployment을 새로 만들자 deployment을 사용할 클라우드 제공업체를 사용할 수 있다. 자신의 취향따라 선택해주면 된다. 한글을 사용할거면 nori형태소 분석기를 사용하는것이 좋다. Manage settings and extensions를 눌러 nori형태소 분석기를 추가 해주자 배포를 만들기 시작하면 사용자이름과 비밀번호가 뜨는데 비밀번호의 경우 이 창을 닫으면 다시는 볼 수 없으므로 안전한곳에 보관해두자 배포에는 ..
-
엘라스틱 클라우드에 엑셀파일 데이터 저장하기 (with 파이썬)공부/Elasticsearch 2022. 10. 11. 16:48
엘라스틱 클라우드에 인덱스를 만들고 엑셀 파일 데이터를 집어넣어 보자 엘라스틱 클라우드 회원 가입 엘라스틱 클라우드는 처음 회원가입하면 14일 동안은 무료로 사용 가능하다. 엘라스틱 클라우드에 로그인 후 Deployment 생성 해보자 (엘라스틱 클라우드 시작하기 참고) 데이터 준비 필자는 도서관정보나루에서 서울 도서관 333 개관에 소장 중인 도서 1700만 개의 데이터를 엑셀로 다운로드하였다. 환경 준비 엑셀 파일 데이터를 인덱스 안에 집어넣기 위해 파이썬을 사용할 생각이다. 파이썬은 구글 코랩(Google Colab)을 사용할 생각이기에 엑셀 파일은 모두 구글 드라이브에 저장시켜두자 파이썬 코드 설명 코랩 구글 드라이브 연결 from google.colab import drive drive.moun..
-
[MySQL] 풀 텍스트 인덱스(full-text index)를 통한 검색 속도 상승공부/My SQL 2022. 9. 25. 08:28
소개 mysql 에서는 데이터를 검색하기 위해 like '% %'구문이 사용된다. 하지만 like 명령어의 경우 Full Scan 방식이기 때문에 많은 데이터를 검색할때 비효율적이다. 이러한 단점을 극복하고자 Full-text-Index 방식을 도입하고 like 방식과 비교 해보았다. 초기 설정 MYSQL 5.7이상 버전 사용 (5.7부터 한글 Full-text Index이 도입되었다.) InnoDB 또는 MyISAM 테이블 컬럼 타입이 CHAR, VARCHAR 또는 TEXT 데이터 -> 정보나루의 서울 도서관에서 소장중인 책 데이터 1800만권을 사용 Full-text Index 이란? 많은 형태의 데이터가 있을때 효율적으로 데이터를 찾는 방법중 하나 이며 텍스트로 구성된 데이터의 내용을 가지고 생성한..
-
[JAVA] 도서관 정보나루 오픈 API 가져오기공부/Java 2022. 9. 20. 08:12
프로젝트에서 쓸 데이터를 가져오기 위해 도서관 정보나루 오픈 api를 사용할 일이 생겼다. https://www.data4library.kr/bigdata 아래 코드는 도서관에 존재하는 책 데이터 100가지를 불러와 출력하는 코드이다. 인증키의 경우 회원가입후 인증키 달라고 요청하면 평일에는 3시간내로 발급해준다. 👨💻 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; public class Book..