본문 바로가기

Develop Study161

(24.11.08) ELK 스택에 관하여 (1) ELK 스택을 적극적으로 활용하는 회사도 많지만,실제로는 실무 경험 내지는 대용량 트래픽을 다루는 경험이 많지 않은 이상 ELK 스택을 전부 활용하자는 아키텍쳐 구성 아이디러를 활용할 기회가 없었다. 오픈 소스이기도 해서 부담은 없지만, 실제로는 ElasticSearch에 대해서만 알고 있었기 때문에,이번 기회에 ELK 스택 전부를 알아보고 실제 프로젝트의 파이프라인(AWS 인프라 활용, 컨테이너 활용) 환경에서 어떻게 적응할지에 대해서 고민하면서 찾아보고 공부하면서 스스로 정리했다.ELK 스택Elasticsearch, Logstash, Kibana 의 약자, 로그 및 데이터 분석을 위한 강력한 오픈소스 플랫폼 스택가격 부담없이 운용이 가능각 구성요소가 서로 보완적으로 작동 내지는 독립적으로대규모 데이터.. 2024. 11. 8.
(24.11.05) DFS 응용과 백트래킹 DFS알고리즘에 대해서 학습을 했지만,어떠한 조건에 따라서는 백트래킹의 여부에 대해서 고찰을 할 필요가 있어조금 이해하는데 어려웠지만 한번더 점검을 해보면서 DFS를 적용하는 문제를 풀고백트래킹에 대해서 다시 정리해보려고 했다.DFS (Depth-First Search, 깊이 우선 탐색)한 노드에 대해서 끝까지 자식 노드를 탐색한 뒤에 다음 노드로 넘어가는 전체 탐색 알고리즘이러한 전체 탐색의 알고리즘은 어떤 목표를 찾아가는 조건이 있을 경우 모든 경우의 수를 찾는 방향따라서, 완전 탐색을 통해 최적의 답을 찾는 로직에서도 유용하게 사용할 수 있음DFS의 직접적인 활용DFS는 가중치가 존재하지 않는 그래프에서 사용이 뜻은 여러가지의 선택의 경우의 수를 선택하는 상황(가중치가 X)에서 완전탐색을 가능하게 .. 2024. 11. 5.
(24.10.29) Comparator 인터페이스와 람다식 Java에서 @FunctionalInterface Annotation이 붙은 함수형 인터페이스는@FunctionalInterfaceinterface 인터페이스이름 { 인터페이스 정의 }// 람다식을 사용할 수 있는 함수형 인터페이스 정의를 할때 Annotation 사용 위와 같은 형태로 띄어지게 되고, 익명 클래스처럼 { } 안에 해당 함수형 함수에 해당하는  Runnable runnable = new Runnable() { @Override public void run() { System.out.println("Hello from the anonymous class!"); } }; .. 2024. 10. 29.
(24.10.21) Message Queue 그리고 Redis 실제로 천 단위로 요청이 발생하는 스트리밍, 또는 실시간 대용량 데이터즉, 트래픽에 관해서비동기 서비스를 사용해서 프로젝트를 진행하지도 못했고(높은 서비스 가격) 관련해서 많은 서비스가 존재하기 때문에,관련 면접 질문, 또 인프라 관련 지식을 위해 알고 있는 비동기 서비스인 Redis와 비교도 하면서 가장 대표적인 3가지 Message Queue 비동기 서비스를 표로 정리를 했다.메시지 큐 Message Queue메시지는 어떠한 하나의 요청 을 말하는 것평문 부터 여러 형태의 데이터를 Application간에 전달하는 것을 목적으로 하는 것ex) JSON, XML, BinaryData(이미지, 파일, 객체 등), 등등Apache Kafka대용량 데이터 처리와 실시간 데이터 스트리밍을 위한 분산형 스트리밍.. 2024. 10. 21.
(24.10.17) NginX 정리 + 본인 프로젝트에서 활용한 부분 추가 실제 프로젝트에서 NginX를 활용해서 일종의 리버스 프록시 서버로 React 컨테이너와 Spring Boot 가 실행되는 컨테이너 사이에서 사용자 화면단에서 작동될 수 있도록 활용을 했다.하지만, NginX를 사용한 이유, 그리고 어떻게 구체적으로 작동하는지에 대해서 더 자세하게 찾아보고 프로젝트 구성과 데이터 흐름을 더욱 이해하려고 했고 이를 정리했다.NginX고성능 웹 서버, 리버스 프록시 서버Web Application 단에서 요청을 처리, 정적 콘텐츠를 제공하는 웹서버 역할아키텍쳐 및 구조비동기 이벤트 기반의 아키텍처고성능의 동시 연결 처리 기능단일 쓰레드에서 여러 요청을 동시에 처리하는 방식메모리 사용량을 줄이고 성능을 향상Process 구조Master ProcessNginX 설정 파일을 읽고.. 2024. 10. 17.
(24.10.14) Swagger & Spring REST Doc 많이 사용할 수 있는 협업 상황에서의 API자동 문서화 도구 중에 Spring Framework와 관련된 툴에 관해실제로 사용한 경험이 없기 때문에각각의 대표적인 Swagger 와 Spring REST Doc에 관련해서 해당 툴/프레임워크에 대한 내용과 적용방법을 여럿 찾아서정리를 했다. 관련 부분은 Postman이나 HTML로 굳이 수동으로 하나하나 적었던 개발단계에서의 API  문서가 아닌,실제 협업을 위한 문서화에 적극적으로 활용이 되는 것 만큼적어도 어떻게 작동이 되고 어떻게 어느 시점에 사용이 되는지를 알아둘 필요가 있어선 정리를 했다.Swagger자동으로 RESTful API 설계, 문서화, 테스트 등 관리를 할 수 있도록 하는 오픈 소스 Framework자동으로 API 상세 명세 문서화Jav.. 2024. 10. 14.
(24.10.10) TDD & DDD / Filter & Interceptor & AOP 비교해보기 계속 CS 관련 모의 면접과 면접 코칭을 받고 있는데알고 있는 CS 지식을 자연스럽게 말하는데 많이 어려우나특히 여러개를 비교하라는 점에서 정리가 안되어있기 때문에 당황을 하는 경우가 많았다. 특히, DDD, AOP, Filter, Interceptor등 산발적으로 정리가 된 정보를 보다 함께 정리를 하면서 스스로 공부하면서비교를 할 수 있도록 하면서 면접 피드백 용, 다음 면접 대비를 하도록 한다. 특히, 정의가 애매할 수 있는 interceptor에 한해서 좀더 다뤄보면서 정리했다. TDD(Test-Driven Development) & DDD (Domain-Driven Design)TDD(Test-Driven Development)테스트 주도 개발실제 코드를 작성, 구현하기 전에 먼저 테스트, 또는.. 2024. 10. 10.