본문 바로가기

전체 글

(110)
[Golang] 고랭에서 json 데이터 읽고 파싱하기 이번 포스팅은 고랭에서 json데이터를 로딩하고 사용하는 방법에 관한 포스팅 입니다. Golang에서 MongoDB를 접속하여 사용할 때 중요한 승인 정보들은 코드 밖에서 따로 관리하여 사용할 수 있도록, json 파일로 저장 된 접속 정보를 읽고 파싱하는 예제 Json 형태의 데이터를 선언하고 사용 (단일 데이터) Json 형태의 데이터가 1개일때 아래와 같이 사용한다 따로 파일을 로딩 하는 것이 아니라, 코드 안쪽에서 선언해서 사용 필요한 패키지 import import ( "encoding/json" "fmt" "io/ioutil" "os" ) > encoding/json 패키지는 json.Unmarshal() 에 사용 : json 디코딩 > fmt 패키지는 fmt.Println() 에 사용 : p..
[Logstash] 로그스테이시 사용법 (설정파일) + Elastic 이번 포스팅은 로그 스테이시에서 사용하는 다양한 설정과 로그를 필터링하는 방법에 대한 내용입니다. Logstash란 로그 스테이시는 실시간 파이프라인 기능을 가진 데이터 수집 엔진 오픈소스이다. 로그 스테이시는 서로 다른 소스의 데이터를 동적으로 통합하고 원하는 대상으로 데이터를 정규화 할 수 있는 능력을 가진다. 로그스테이시는 원래 로그 수집의 혁신을 주도했지만, 그 가능성은 실제 사용 사례를 통해 훨씬 더 열렸다. 다양한 입력과 필터 및 출력 플러그인을 통해, 모든 유형의 이벤트를 보강하고 변환할 수 있으며, 많은 기본 코텍이 처리 과정을 단순화한다. 따라서 로그 스테이시는 더 많은 양과 다양한 데이터를 활용하여 통찰력 있게 보는 것을 가능하게 해 준다. 💡Logstash 공식 문서 : www.ela..
[Diffusion] Image Retrieval SOTA 논문 & 코드 파악 이번 포스팅은 Image Retireval 분야에서 상위에 랭킹한 Offline Diffusion에 관한 코드를 파악하고 실행하는 포스팅입니다. Image Retrieval SOTA Image Retrieval on Oxf5k 분야에서 가장 상위에 rank하고 있는 Offline Diffusion Papers with Code - Oxf5k Leaderboard Papers with Code - Oxf5k Leaderboard The current state-of-the-art on Oxf5k is Offline Diffusion. See a full comparison of 5 papers with code. paperswithcode.com 가장 상위에 rank 한 방법의 논문과 깃허브를 참고하여 관..
[Elasticsearh] 실전에서 사용 되는 요청 쿼리 작성 엘라스틱 서치에서 사용되는 다양한 쿼리문에 관한 포스팅입니다:) 모든 문서 검색 GET [INDEX_NAME]/_search { "query": { "match_all" : {} } } 문서의 갯수 검색 GET [INDEX_NAME]/_count { "query": { "match_all" : {} } } 조건 검색 특정 필드에 특정 값을 만족 하는 경우 GET [INDEX_NAME]/_count { "query": { "match": { "[필드명]": "[값]" } } } 특정 필드의 값 조건 + 날짜 지정 범위 GET [INDEX_NAME]/_search { "size": 0, #출력결과 숨길때 "query": { "bool": { "must": [ { "term": { "[필드명]": "[값]" ..
[Elasticsearch] Scroll API 사용하기 (전체 문서 읽어오기) 이번 포스팅은 엘라스틱 서치에서 전체 문서를 가져오기 위해, 스크롤 API를 사용하는 방법에 관한 포스팅입니다. Elasticsearch Scoll API란, Scroll API search 요청이 하나의 페이지를 결과로 리턴하는 동안, scrooll API는 하나의 search 요청에서 많은 수의 결과 리턴을 가능하게 해 준다. 이러한 방법은 전통적인 데이터베이스의 커서를 사용하는 것과 같은 방식이라고 생각할 수 있다. Scrolling은 실시간으로 유저의 요청을 처리하기 위해 의도된 것이 아니라 대량의 데이터를 처리하기 위한 것 (예를 들면, 한 인덱스를 다른 구성으로 된 새로운 인덱스로 리인덱스 해주기 위함) Scrolling을 사용하기 위해, 초기 검색 요청 시 scroll 파라미터를 쿼리문에 명..
[MongoDB] macOS에 몽고DB + MongoDB Compass 설치 이번 포스팅은 맥os에 몽고 db와 관리툴인 MongoDB compass 설치에 관한 포스팅 입니다 NoSQL 란 NoSQL : 비관계형 데이터베이스 >> 정해진 스키마 또는 관계가 없다. >> 안에 들어있는 데이터를 Documents라고 부른다. >> 전체적인 구조는 Database > Collections > Documents 로 되어있다. >> 정해진 스키마에 해당하는 데이터만 추가 가능한 SQL과 달리, 다른 스키마의 데이터를 같은 컬렉션에 추가 할 수 있다. >> 문서는 JSON 데이터와 비슷하다. >> 같은 스키마를 같은 테이블에 넣는 것이 아닌, 관련 데이터를 동일한 컬렉션에 넣는다. >> 여러 테이블에 나누어 저장하는 것이 아닌, 하나의 컬렉션에 필요한 모든 데이터를 저장하게 된다 >> 조..
[Elastic] Crontab을 활용해 주기적으로 Document 삭제 이번 포스팅은 엘라스틱에 적재되는 수많은 데이터를 주기적으로 삭제하기 위해 crontab을 사용하는 예제입니다. 1. 엘라스틱 Curator - 엘라스틱 자체에 Curator를 활용하여 오래된 인덱스를 지워주는 기능이 존재 - 이번 포스팅은 인덱스를 지우는 것이 아닌 Document를 지워야 하기에 Crontab활용 - 다음 포스팅에 Curator를 활용해 볼 예정 (이때는 인덱스를 날짜별로 적재해야 함) 2. Crontab이란 - 특정 시간에 특정 작업을 해야 할 때 사용. 단순하게 리눅스 작업 스케줄러라고 생각하면 편함 - 엘라스틱 서치의 데이터가 너무 많이 쌓이는 것을 미리 방지하기 위해 2일 전 데이터는 자동으로 삭제될 수 있도록 crontab을 등록해놓을 예정 3. Crontab 설치 및 재시작..
[Go언어] GoLang을 활용하여 웹페이지 크롤링 이번 포스팅은 Go언어를 사용하여 웹 페이지를 크롤링하는 튜토리얼 입니다. 아래 포스팅은 노마드코더의 golang강의를 기반으로 작성되었습니다. 크롤링 할 페이지 선택 취업검색 | Indeed (인디드) kr.indeed.com >> 취업에 대한 정보가 나와있는 웹사이트 >> 검색어 쿼리를 던졌을 때 출력되는 결과를 크롤링 크롤링 코드 작성 (Go Lang) 사용 할 라이브러리 설치 - Go언어에서 크롤링을 하기 위해 필요한 라이브러리 설치 $ go get github.com/PuerkitoBio/goquery - 아래는 Goquery 깃허브 링크 PuerkitoBio/goquery A little like that j-thing, only in Go. Contribute to PuerkitoBio/go..