분류 전체보기

개인 공부/Java

[모던 자바 인 액션] 동작 파라미터화

시스템 요구사항은 끊임없이 변하고, 우리는 변화에 유연한 코드를 작성해야할 의무가 있다. 중복 코드를 줄이고, 변화에 유연한 코드를 작성하기 위해서는 어떻게 해야할까 ? 동작 파라미터화 첫 날 농부 클라이언트가 "녹색 사과를 모두 찾고 싶어요" 라는 요구사항을 보내왔다. 우리는 filterGreenApples 메서드에 GREEN.equals(apple.getColor()) 조건을 통해 녹색인 사과를 찾아 요구사항을 만족했다. 하지만 다음 날 농부 클라이언트는 "무게가 150g 이상인 사과를 모두 찾고 싶어요" 라는 요구사항 수정을 보내왔다. 우리는 다시 filterApplesByWeight 메서드를 작성해 요구사항을 만족했다. 바로 다음 날 농부 클라이언트는 "무게가 150g 이상인 빨간 사과를 모두 찾..

개인 공부

[운영체제] 데드락

데드락이란 데드락은 교착상태라고도 불리며, 두 개 이상의 프로세스 혹은 스레드가 서로가 가진 리소스를 기다리는 상태를 의미합니다. 서로 자원을 가진 상태에서 다른 스레드가 가진 자원을 기다리기 때문에 무한정 기다리게 되기 때문에, 위험한 상태입니다. 데드락이 생길 수 있는 조건 데드락이 생기기 위해서는 다음 4가지 조건을 만족해야 합니다. Mutal exclusion : 리소스는 프로세스 혹은 스레드가 공유해서 사용할 수 없다. Hold and wait : 프로세스 혹은 스레드가 반드시 하나 이상의 리소스를 취득한(hold) 상태에서 다른 프로세스 혹은 스레드가 사용하고 있는 리소스를 추가로 기다려한다(wait). No preemption : 비선점이라고도 하며, 리소스 반환은 오직 그 리소스를 취득한 ..

개인 공부/ELK

[ElasticSearch] Aggregation 이란

해당 글은 인프런 Minsuk Heo 님의 ELK 강의를 듣고 정리한 내용입니다. Elastic Search 에서 Aggregations 은 document 값들 안에서 조합을 통해 새로운 값을 도출하고 싶을 때 사용합니다. 크게 Metric Aggregation 와 Bucket Aggregation 을 알아보겠습니다. Metric Aggregation 산술할 때 사용되는 Aggregation 입니다. 주로 최대값, 최소값, 평균 등을 구할 때 사용됩니다. points 값의 평균을 구하는 예제를 살펴보겠습니다. 우선 원하고자 하는 Aggregation 파일을 생성합니다. # avg_points_aggs.json { "size" : 0, # 원하는 값만 보기 위함 "aggs" : { # 보통 이렇게 약자로..

개인 공부/ELK

[Elastic Search] Mapping 의 중요성

해당 글은 인프런 Minsuk Heo 님의 ELK 강의를 듣고 정리한 내용입니다. Elastic Search 는 데이터를 파격적으로 다루고 조작할 수 있게 도와줍니다. Elastic Search 의 파격적인 효과를 적용하기 위해서는 Mapping 은 필수적입니다. 이번 포스팅에서는 Mapping 이 무엇이고 왜 중요한지 어떻게 설정하는지 알아보겠습니다. Mapping 이란 Mapping 은 RDB 에서 중요한 개념인 스키마와 일치합니다. 즉 type(table) 에 properties 속성을 통해 스키마의 정보를 입력해주는 것입니다. ❗️ Mapping 없이 Elastic Search 를 이용하게 된다면, 데이터를 원하는 방법으로 조작할 수 없게됩니다. ex) 날짜 값을 입력했지만 Elastic Sear..

개인 공부/ELK

[ElasticSearch] 기초 CURD와 Bulk Update

해당 글은 인프런 Minsuk Heo 님의 ELK 강의를 듣고 정리한 내용입니다. 이전 글에서, 간단히 이미지로 SQL과 매핑되는 Elastic Search 명령어들을 알아보았습니다. 이번 포스팅에서는 좀 더 자세히 알아보겠습니다. [CURD] 🌱 INSERT curl -XPOST http://localhost:9200/classes classes 라는 index(database) 를 생성한다. curl -XPOST http://localhost:9200/classes/class classes index 안에 class 라는 type(table) 을 생성한다. curl -XPOST http://localhost:9200/classes/class/1/ -d ' {"title" : "Algorithm", "..

개인 공부/ELK

[ElasticSearch] 기본 개념 익히기

해당 글은 인프런 Minsuk Heo 님의 ELK 강의를 듣고 정리한 내용입니다. https://www.inflearn.com/course/elk-%EC%8A%A4%ED%83%9D-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D/dashboard 관계형 데이터베이스(RDB) 는 정보를 정형화해서 저장하는 반면, Elastic Search 는 Inverted Index 구조로 데이터를 저장하기 때문에, 키워드 검색시 뛰어난 성능을 보장한다. 보통 ELK 스택으로 Elastic Search, Log Stash, Kibana 와 함께 사용하며 우선 Elastic Search 에 대해 알아보자. Elastic Search Elastic Search 와 RDB 의 키워드 차이점..

카테고리 없음

[LeetCode] 155번 (Min Stack)

https://leetcode.com/problems/min-stack/description/?envType=study-plan-v2&envId=top-interview-150 Min Stack - LeetCode Can you solve this real interview question? Min Stack - Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. Implement the MinStack class: * MinStack() initializes the stack object. * void push(int val) pushes t leetcode.com 🤣 문제 설명 ..

개인 공부/코딩테스트

[LeetCode] 125번 (Valid Palindrome)

https://leetcode.com/problems/valid-palindrome/?envType=study-plan-v2&envId=top-interview-150 Valid Palindrome - LeetCode Can you solve this real interview question? Valid Palindrome - A phrase is a palindrome if, after converting all uppercase letters into lowercase letters and removing all non-alphanumeric characters, it reads the same forward and backward. Alphanumeric cha leetcode.com 🤣 문제 설..

Da2isy
'분류 전체보기' 카테고리의 글 목록