정렬 알고리즘 - 1
2023. 1. 15. 23:23
lecture
오늘은 버블 정렬(Bubble sort) , 선택정렬(Selection sort)와 삽입정렬(Insertion sort) 에 대해서 알아보도록하겠습니다. 정렬은 데이터의 탐색의 최적화를 만들기 위해 순서대로 나열해주는 기능입니다. 프로그래밍 컴퓨터 분야에서 사용하는 데이터의 경우 숫자의 순서나 어휘의 순서대로 정렬한 다음 사용해야 되는 경우가 거의 항상 발생합니다 이를 얼마나 효과적으로 해결할 수 있는 지가 정렬의 핵심입니다. 또한, 이진 탐색이라는 강력한 알고리즘을 사용하기 위해선 데이터의 정렬은 필수입니다. 버블 정렬은 굳이 요즘에 쓰이지 않는다고 합니다, 그 이유는 직관적으로는 이해가 쉬운 정렬로 구현하기 쉽지만 일반적으로 O(n^2) 의 시간복잡도를 갖기 때문에 실전에서는 거의 사용할 일이 없습니..

엘라스틱서치 - BULK
2022. 10. 6. 00:03
Elasticsearch
엘라스틱서치에서는 crud 형태로 데이터 값을 하나하나 도큐먼트의 넣는 방식보다 bulk로 한번에 요청하는 것이 효율적입니다. bulk API는 도큐먼트 읽기는 지원하지 않고 도큐먼트 생성/수정/삭제만 지원합니다. bulk 데이터 삭제는 한줄로 작성하고 나머지 작업들은 두줄로 작성이 됩니다. 각 줄 사이에는 쉼표 등 별도의 구분자가 없고 라인 사이 공백을 허용하지 않는다 또한 JSON 문법 처럼 보이지만 복수의 JSON 구조를 줄바꿈 문자열로 구분하는 NDJSON형태입니다. json과 비슷하지만 문법이 조금 다르니 라인이나 쉼표 사용에 주의해야합니다. 벌크 데이터를 파일 형태로 만들어서 적용하는 방법도 있다 실제 현업에서는 파일로 만들어서 사용하는 방식이 더 실용적입니다. (키바나 콘솔에서는 파일 불러오..

엘라스틱서치의 기본요소
2022. 10. 5. 23:55
Elasticsearch
엘라스틱서치의 모든 기능은 REST API 형태입니다. REST 란 웹상의 모든 리소스에 URI를 부여하고 활용하는 아키텍쳐입니다,또한 이것을 도입하면 모든 리소스를 일관된 규칙으로 접근할 수 있어 Application을 모듈이나 기능별로 분리하기 쉬워집니다. 더보기 REST API 는 REpresentational State Transfer 의 약자로 웹(HTTP)의 장점을 이용해 리소스를 주고받는 형태이며, REST API는 REST 기반으로 API를 서비스하는 것을 의미합니다. 메소드와 경로가 합쳐진 형태이고 4가지 메소드를 표현할수 있습니다. POST GET PUT DELETE (CRUD)라고도 흔히 알고 있습니다. 다시 말하면 네 가지 메소드 타입을 가지고 리소소의 CRUD(생성/읽기/수정/삭제..

엘라스틱서치 - 분석기
2022. 9. 26. 16:57
Elasticsearch
엘라스틱서치 전문 검색을 지원하기 위해 역인덱싱() 기술을 사용한다. 전문 검색은 긴 문장의 String에서 부분 검색해서(SQL에 Like처럼) 수행하고, 역인덱싱은 긴 문장의 문자열을 분석해 작은 단위로 쪼개어 인덱싱 하는 기술이다(대표적으로 구글에서 역인덱싱을 사용) . 역인덱싱을 이용한 전문 검색에서 양질의 결과를 얻기 위해서는 문자열을 나누는 기준이 중요하며, 이를 지원하기 위해 엘라스틱은 3가지) 캐릭터 필터 , 토크나이저, 토큰 필터로 구성되어 있는 분석기 모듈을 갖고있습니다. 토큰과 용어 더보기 토큰(Token)과 용어(term)라는 단어는 엘라스틱에서 많이 사용 될 단어이자 헷갈릴수 있는 단어 이다보니, 여기서 짧게나마 용어를 정의하고 넘어가자. 예를 들어서 'noodle hot' 라는 ..

파이썬 정규식 표현(Regex)이용한 시간표 정리
2022. 9. 16. 17:46
Language/python
더보기 오늘은 파이썬을 통한 몇가지의 정규 표현식에 관하여 글을 적고자 합니다. 일단 글 쓰기에 앞서, 저는 자바로 취업을 하였지만 회사의 요구에 의해 파이썬으로 다시 개발을 하고있는 0년차 개발자입니다. 많은 블로그들이 양질의 글들을 공유를 하고있어서 정규 표현식의 모든것들을 설명하지 않으려고합니다 양해 부탁드립니다. 정규 표현식 정규 표현식( regular expression, as regexp or regex, rational expression)정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 지원하고 있으며, 특히 펄과 Tcl은 언어 자체에 강력한 정규 표현식을 구현하고 있다. 컴..