[Elasticsearch] Elasticsearch 기본용어와 CRUD 명령어
·
📌Develop/Elasticsearch
▶ 들어가며이번 글에서는 Elasticsearch를 공부하면서 가장 먼저 익혀야 하는 기본 용어를 정리하고,직접 코드를 쳐가며 CRUD(Create / Read / Update / Delete) 명령어에 익숙해지는 시간을 가져보려고 한다.Elasticsearch는 처음 보면 생소한 용어가 많아서 막막할 수 있는데,사실 구조적으로는 우리가 익숙한 MySQL과 닮은 부분이 굉장히 많다.둘 다 데이터베이스라는 큰 틀 안에서데이터를 삽입하고(Create)조회하고(Read)수정하고(Update)삭제(Delete)하는 흐름은 동일하다.그래서 이번 글에서는👉 MySQL과 비교하면서 Elasticsearch를 이해하는 방식으로 정리해보려고 한다!! ▶ Elasticsearch 기본 용어 정리아래는 가장 기본적인 My..
[Elasticsearch] ELK stack에 관하여
·
📌Develop/Elasticsearch
▶ 들어가며이번에는 ELK Stack에 관해서 찍먹을 해보자.전체적인 플로우를 먼저 잡아두면, 이 기술을 왜 사용하는지, 어떤 구조로 동작하는지 이해하기가 훨씬 쉬워진다.그래서 이번 글에서는 ELK Stack을 구성하는 요소들이 각각 어떤 역할을 하는지,그리고 전체 흐름이 어떻게 연결되는지를 가볍게 정리해보려고 한다. ▶ ELK Stack 전체 구조 위 사진은 ELK Stack의 전체적인 구조를 보여주는 대표적인 그림이다. ELK Stack의 핵심 요소는 이름 그대로 아래 3가지이다.로고가 아주 찰떡이야ElasticsearchLogstashKibana그리고 가장 왼쪽에 있는 data 구간은 Beats라는 별도의 구성요소로 구분된다.그럼 이제 각 단계가 어떤 역할을 하는지 하나씩 살펴보자. ▶ Beats ..
[Elasticsearch] Elasticsearch 아키텍처 + GUI(Kibana) 세팅
·
📌Develop/Elasticsearch
▶ 들어가며이번 글에서는 이전 포스팅에 이어서, Elasticsearch를 MySQL과 비교하며 아키텍처 관점에서 어떻게 다른지 살펴보고,직접 Kibana를 사용한 개발 환경 세팅까지 진행해보려고 한다.단순히 개념으로만 이해하는 것이 아니라,요청이 어떤 방식으로 전달되는지실제로 Elasticsearch가 잘 동작하는지까지 확인하는 것을 목표로 한다. ▶ Elasticsearch 아키텍처Elasticsearch의 기본적인 동작 흐름은 다음과 같다.-MySQL의 요청 흐름 -Elasticsearch의 요청 흐름 여기서 가장 중요한 점은👉 REST API 기반으로 동작한다는 점이다.자체 문법을 실행하는 방식이 아니라 우리에게 익숙한 HTTP 요청을 통해 데이터를 삽입하고 조회한다. 예를 들어 데이터를 삽입..
[Elasticsearch] Elasticsearch 입문하기
·
📌Develop/Elasticsearch
▶ 들어가며이번 프로젝트에서 조회 및 검색 기능 구현을 맡아 개발을 진행했다.Elasticsearch 없이 검색어 자동완성과 검색/조회 기능을 직접 구현하면서, 전체 검색 흐름과 동작 방식에 대해 많이 고민해볼 수 있었다. 이 과정에서 Elasticsearch라는 도구를 접하게 되었는데, 살펴보니 검색, 정렬, 필터링, 자동완성 등주요 기능들이 내가 구현해야 했던 기능들과 거의 정확히 일치했다. 단순히 “검색 엔진이다”라는 인상을 넘어서,이를 도입하면 검색 기능 개선 측면에서도 충분히 이야기해볼 만한 포인트가 많겠다는 생각이 들었고,자연스럽게 Elasticsearch를 제대로 공부해보고 싶어졌다. 이번 카테고리는👉 Elasticsearch를 처음 접하는 입장에서 개념을 최대한 쉽게 정리하고,👉 이후에..
[운영체제 OS] Operating System
·
📌CS/운영체제
Computer System Components Hardware - CPU, memory, I/O ...OS => 사용자가 System & Application Programs를 사용하여 Hardware를 사용하고자 할때 중간에서 이를 연결하고 조정하는 역할System & Application Programs - S/WUsersOS⭐application viewsystem view - CPU가 항상 바쁘게 일하도록 해야함. -OS가 가춰야 할 특성-Sharring, Protection, Fairness, Efficiency, Concurrencyimplementaion viewOS는 event, interrupt-dirven software이다.OS HistoryEarly System⭐가장 초창기 ..
[데이터베이스 정리] ch.3 관계형 모델, 관계형 데이터베이스 구조 RDB
·
📌CS/데이터베이스
The Concept of Relational Model ⭐관계 모델에서 데이터베이스는 릴레이션 ( 테이블 ) 들의 모임으로 표현됨릴레이션은 투플 ( 행 , 레코드 ) 들의 집합으로 표현됨투플은 애트리뷰트 ( 컬럼 , 필드 , 혹은 속성 ) 들로 구성됨관계 모델의 용어행 : 투플 = row, record, occurence열 : 애트리뷰트 ( 속성 ) = field, column, domain(type 중심) => 열 전체를 잡아 schema테이블 : 릴레이션 = entity, instance Domain, Tuple, Attribute, Relation릴레이션과 연관된 용어들 ⭐도메인(domain): 원자 값들(atomic values)의 집합 -USA_phone_numbers : 미국에서 사용하는 ..
[데이터베이스 정리] ch.2 데이터베이스 시스템 개념과 아키텍처
·
📌CS/데이터베이스
데이타 모델데이타 타입, 관계, 제약 조건들을 명시하기 위해 사용할 수 있는 개념들의 집합데이타베이스에서 검색과 갱신을 수행하는 기본 연산들의 집합을 포함점차 DB 응용의 동적 측면 또는 행동이 데이타 모델에 포함됨 =>함수나 코드 또한 모델의 일부가 된다는 의미데이타 모델의 분류저수준 또는 물리적 데이타 모델 -어떻게 데이타가 컴퓨터에 저장되는지의 세부 사항을 명시하는 개념을 제공=> 디스크에 저장되는 데이터의 형태에 관한 (트리, 배열, 해쉬...)표현 (또는 구현) 데이타 모델-고수준 모델과 저수준 모델 사이에 존재-일반 사용자들이 이해할 수 있는 개념을 제공-데이타 저장 구조의 세부 사항을 은폐하지만 컴퓨터 상에서 직접 구현 가능함-상용 DBMS에서 많이 사용함고수준 또는 개념적 데이타 모델 -사..
[데이터베이스 정리] ch.1 데이터베이스 소개
·
📌CS/데이터베이스
용어데이타 (data): 의미를 가지면서 기록될 수 있는 알려진 사실, 실세계의 값.데이터베이스 (database): 관련있는 데이터의 모임. 가장 밑바닥에 database 존재. 보통 enterprise 단위로 database 생성.데이터베이스 관리 시스템 (DBMS): 데이터베이스의 생성과 관리를 담당하는 소프트웨어 패키지.데이터베이스 시스템 (Database System): database 와 그를 관리하는 소프트웨어 (DBMS, 응용 프로그램, ex-Oracle, MySQL, MongoDB...) 모두를 칭하는 용어.작은 세계 (mini-world) 데이타베이스 구축의 대상이 되는 실세계의 일부분. mini-world를 잘 고려해서 database를 구축해야함. 1. Users / Programm..
[baekjoon / python] 2292번: 벌집
·
📌PS/baekjoon (python)
📖문제https://www.acmicpc.net/problem/2292 🧩 풀이입력되는 N이 몇번째 껍질에 있는지 구하는 문제로 껍질의 개수가 어떻게 늘어나는지 생각해보면 N이 포함된 껍질의 번지수를 구할 수 있다.📌 소스코드N=int(input())layout=1sum = 1while sum🔧개선하기
[codetree / python] Trail 2: 만나는 그 순간
·
📌PS/codetree
📖문제https://www.codetree.ai/ko/trails/complete/curated-cards/intro-the-moment-we-meet/description 만나는 그 순간 설명 - 코드트리만나는 그 순간을 통해 문제 요구사항과 입력·출력 예시를 꼼꼼히 확인해 정확한 풀이 전략을 세워보세요.www.codetree.ai  🧩 풀이-array_A 와 array_B 의 인덱스를 time으로 생각하고 해당 시간에 각각의 위치를 저장한다. 📌 소스코드N, M = map(int, input().split())move_A = [ tuple(input().split()) for _ in range(N)]move_B = [ tuple(input().split()) for _ i..