전체 글 19

Elasticsearch -Forcemerge API

Elasticsearch에는 forcemerge라는 기능이 있습니다. 이것이 엘라스틱 서치에 데이터 베이스 개념인 인덱스들은 설정한 수의 샤드로 구성이 되어있는데, 이 샤드는 또 이 세그먼트라는 것들로 구성되어있는 것입니다. 세그먼트의 수가 생기는 기준은 잘 모르겠지만 사용해서 성능향상을 볼 수 있는 시점은 더이상 해당 인덱스에 데이터가 들어가지 않을때에 실행을 하는 것이 좋습니다. 이유는 세그먼트는 수정이 되지 않아서 forcemerge를 하면 새로운 새그먼트를 생성하여 모두 합치기 때문에 부하가 꽤나 큰 작업이라는 설명입니다. 세그먼트를 합치면 얻을 수 있는 성능향상은 당연히 검색 속도 향상이라고 볼 수 있습니다. 많은 양의 세그먼트에서 데이터를 찾아야 하는 것을 하나에서 찾으면 되니까 속도가 향상되..

Elasticsearch - Rollover API

Elasticsearch에는 rollover라는 기능이 있습니다. 공식적인 설명은 아래의 링크에서 자세하게 확인이 가능하고, 간단하게 사용법에 대해 정리해보겠습니다. www.elastic.co/guide/en/elasticsearch/reference/master/indices-rollover-index.html Rollover API | Elasticsearch Guide [master] | Elastic To trigger a rollover, the current index must meet these conditions at the time of the request. Elasticsearch does not monitor the index after the API response. To auto..

AWS Certified Solutions Architect - Associate 취득 후기

작년 중순에(2020) 취득했던 AWS 후기입니다. 공부 기간은 일주일 반정도 됐었고, 결과적으로는 한번에 800점 후반 정도를 취득하며 합격을 했었습니다. 기존에 한 반년정도? AWS 사용 경험이 있어서 대략적으로 기능들에 대한 이해는 있었지만 많이 써보지 않은 것들도 있었고, 아무생각 없이 썼던 것들도 많아서 다시 공부를 해야하는 부분들도 꽤 많았었던 시험이었습니다. 공부방법 가장 궁금해 하실 공부방법은 일단 인터넷에 떠도는 dump를 가지고 공부를 했었습니다. 다만 dump는 정답이 있긴 하지만 오답에 정답 표시가 되어있는 경우도 꽤 많고, 해설도 명확하지 않아 공부가 되지 않는다는 느낌이 강하게 들었고, 이대로 공부하면 떨어지겠다 싶어서 UDEMY에서 AWS Solutions Architect 강..

자격증 후기 2021.04.19

이진탐색

개념 탐색 범위를 반으로 줄여나가며 데이터를 빠르게 탐색하는 기법. 단, 배열 내부가 정렬되어있을 때에만 사용 가능하며 세가지 변수(시작점, 끝점, 중간점)가 사용된다. 과정 시작점, 끝점은 탐색하고자 하는 범위를 나타내기 위해 사용하고 탐색 범위의 중간점에 있는 데이터와 찾고자 하는 데이터를 비교합니다. 예를 들어서 이미 정렬이 된 0부터 9까지의 데이터 중에서 이진 탐색으로 2를 찾는 과정은 다음과 같은 과정으로 이뤄집니다. # 과정1 0 1 2 3 4 5 6 7 8 9 시작점 중간점 끝점 # 과정2 0 1 2 3 4 5 6 7 8 9 시작점 중간점 끝점 # 과정3 0 1 2 3 4 5 6 7 8 9 시작점 끝점 중간점 구현 """ 문제 N개의 원소를 포함하고 있는 수열이 오름차순으로 정렬되어있다. ..

알고리즘 2021.04.19

BFS/ DFS 개념

DFS 개념 깊이 우선 탐색이라고 부르며 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘이다. 노드와 간선으로 구성되어 있으며 그래프 탐색은 하나의 노드를 시작으로 다수의 노드를 방문하는 것을 의미한다. 인접행렬과 인접 리스트로 그래프를 표현하는 방식은 두가지가 있고, 인접행렬은 메모리를 많이 차지하는 대신 바로 관계를 알 수 있다는 장점이 있으며, 인접리스트는 메모리는 조금 차지하나 두 노드가 연결되어있는지 정보를 얻는 속도는 느리다. 구현 def dfs(graph, visited, v): # 방문 하지 않은 노드이면 if not visited[v]: # 방문했다는 표시 visited[v] = True print(v, end=' ') # 해당 노드에 인접한 노드 방문 for node in graph..

알고리즘 2021.04.19

Elasticsearch에 대하여

Elasticsearch는 Lucene을 바탕으로 한 분산 검색엔진이다. 아직 검색엔진으로서 다양하게 사용을 해보진 않았고, 로그 데이터의 aggregation 용으로만 사용해보았지만 기초적인 특성에 대하여 정리를 해보겠습니다. 1. 관계형 데이터베이스와 다른 이름 형태 관계형 데이터베이스와 elasticsearch Database Index Row Document Column Field Schema Mapping - Elasticsearch에서 인덱스는 관계형 DB의 Database 개념과 같다. 2. JSON 기반의 스키마리스 구조. 스키마가 없이 JSON으로 데이터를 바로 POST하여 넣을 수 있다. DB에서의 insert query가 그냥 API POST 로 바로 이뤄지는 것이다. (이부분이 처음..

forward와 redirect의 차이

리다이렉트 http프로토콜로 정해진 규칙이다. 서버는 클라이언트의 요청에 대해 특정 URL로 이동을 요청할 수 있는데 이를 리다이렉트라고 한다. 이미지를 보면 이해가 더 쉽다. 클라이언트가 요청을 하면 서버는 클라이언트에 HTTP상태코드 302로 응답을 한다. 이떄 헤더 내 Location값에 이동할 URL을 추가한다. 클라이언트는 응답을 받게되면 헤더에 Location이 포함된URL로 재 요청을 한다. 그리고 이때, 브라우저의 주소창이 전송받은 URL로 바뀌게 된다. sendRedirect()메소드를 사용하는게 일반적이다. forward 포워드는 웹브라우저에서 servlet1에게 요청을 보내면 servlet1은 요청을 처리하고, 결과를 HttpServletResponse를 같은 웹 어플리케이션 안에 있..

면접대비 2019.03.25

SSL/TLS (좀 더 정리 필요할듯)

https://blog.naver.com/dlrmf3390/221385166674 일단 SSL발급에 대해 엄청 정리가 잘 되어있는 블로그를 나중에 SSL사용할 수 있으니 저장해놓는다. SSL/TLS의 기본 개념은 네트워크 통신 시 데이터 암호화를 제공하는 프로토콜이다. 웹에 접속할 때 볼 수 있는 HTTPS가 SSL/TLS가 적용된 것이라고 한다. (요즘 정부 HTTPS규제? 그런것도 이슈던데 자세히 찾아봐야할 듯 싶다.) SSL/TLS의 기본 구조와 동작 방식에 대해 알아보자. 네트워크 통신 시 데이터 암호화를 제공하는 프로토콜 입니다. SSL은 일단 암호화, 메시지 다이제스트, 디지털 증명서를 조합하여 사용합니다. 정해진 규칙에 근거해 데이터를 변환하는 기술입니다. 암호화를 사용하면 제 3자가 도청하..

면접대비 2019.03.21

Spring의 상대경로와 절대경로

생각보다 경로를 상대경로로 해놓으면 굉장히 불편한 일이 많이 발생한다. 지난번에 블로그 프로젝트를 혼자 그냥 맘대로 막 만들어봤었는데 경로가 나중에는 막 ../../../ 이런식으로... 아주 그지같이 진행됐던 적이 있다. 그래서 이번에는 절대경로로 설정을 했다. 그리고 책을 보니 일반적인 경우라면 절대경로를 이용하는 것이 당연히 좋다고 한다. 절대경로의 설정은 상당히 쉽다. 서버 카테고리에 가서 자기가 동작시키는 서버를 선택해서 web modules를 edit 해서 경로를 "/"로만 바꿔주면 끝. 아 ~~ 주~~ 쉽~~네~~ 참고 블로그: https://blog.naver.com/leejunga-0409/220740918611

웹프로그래밍 2019.03.21

자바의 가비지 콜렉션(Garbage Collection)

여태까지 프로젝트 경험도 많지 않고, 기술도 많지 않아서 기능구현에 목적을 두고 코딩을 되는대로 해왔는데,, 그게 면접에서 좋게 보일리는 없다.. 메모리나 보안 등등 신경써야 할것들이 굉장히 많아보이긴 하는데 사실 잘 모름. 그래서 오늘부터라도 정리를 좀 해보려고 한다. 오늘은 Garbage Collector에 대해. 카카오 면접 후기를 봤는데 거기에서 면접 문제 중 하나로 등장을 했었다. 근데 난 전혀 들어본적조차 없었기에 카카오 취업의 꿈은 딱히 없긴 했지만 더더욱 사라져 버렸다. 어쨌든 중요한 개념인 것 같아 정리를 해본다. 모든 기준은 JAVA/ 웹 일듯 하다. 가비지 컬렉터에 앞서 항상 등장하는 듯한 개념인 JVM 과 메모리 (https://wanzargen.tistory.com/15 블로그의 ..

면접대비 2019.03.13