스터디 노트
-
[ClickHouse] 클릭하우스를 도커로 띄워보기! ClickHouse with Docker Container스터디 노트 2023. 11. 21. 10:51
📌 들어가며어제 깔짝 클릭하우스(ClickHouse)라는 플랫폼에 대해 스터디를 해봤지요. 컬럼 기반 DB로 엄청나게 빠른 데이터 조회 속도와 효율적인 저장구조를 보유하고 있다는 장점이 있었습니다. 단점으로는 트랜잭션을 지원하지 않는다는것과 수정이나 삭제 기능이 부족하며, 단건 조회의 경우에는 기존 방식보다 느리다는 점이 있었습니다. 자세한 내용은 아래 내용을 참고해주시면 됩니다 :D [ClickHouse] 클릭하우스란 무엇일까?📌 들어가며 대용량 데이터..라고 하기엔 초라하지만 하루 30만건 정도의 데이터를 처리할 수 있는 고성능 DB가 무엇이 있을까 고민을 해보았습니다. 기본에는 Oralce을 사용하고 있었고(윽..비싸deguruv.tistory.com여튼, 어제 클릭하우스가 무엇인지에 대해 공부를 ..
-
[ClickHouse] 클릭하우스란 무엇일까?스터디 노트 2023. 11. 20. 11:28
📌 들어가며 대용량 데이터..라고 하기엔 초라하지만 하루 30만건 정도의 데이터를 처리할 수 있는 고성능 DB가 무엇이 있을까 고민을 해보았습니다. 기본에는 Oralce을 사용하고 있었고(윽..비싸요..💩) RDB로 하자니 데이터의 증가 속도를 하드웨어가 따라가지 못할 것 같다는 생각이 들었습니다. 지속적인 관리포인트의 증가가 발생할 것이라는 판단 하에 고성능 DB를 찾아보던 중 ClickHouse(클릭하우스)라는 것에 대해서 알게되어 공부한 바를 공유합니다. 📌 ClickHouse..?? 이름도 희한한 클릭하우스..라는 DB는 무엇일까요? 공부할 때는 프로덕트 사이트에 들어가서 보는게 최고죠. ClickHouse의 Docs에 들어가서 내용을 한 번 확인해보겠습니다. Fast Open-Source OLA..
-
[SQL] JOIN이란? JOIN의 종류(INNER, LEFT, RIGHT, FULL OUTER JOIN)스터디 노트 2023. 11. 17. 14:55
📌 들어가며 평상시 RDB를 사용하며 자주 사용했던 Query들에 대해 보던 중, JOIN쿼리에 대해 문득 생각을 하게 되었습니다. JOIN은 왜 쓰는진 알겠는데, 유용한 것도 알겠는데, 제대로 정리해본적이 있나? 그래서 오늘은 생각난김에 정리해보는 SQL JOIN문 스터디입니다. 📌 JOIN이란? 왜 쓰는가? 일단 JOIN은 왜 쓰는걸까요? 우리가 관계형 데이터베이스(RDB)를 설계하다보면 자연스레 테이블과 그들의 관계, PK, FK등을 활용하게 됩니다. 우리가 키를 두고 테이블을 설계하다보니 비즈니스 로직, 특히 도메인과의 차이점이 발생하곤 하죠. 따라서 비즈니스 로직상 하나의 도메인을 만들어내기 위한 데이터가 여러 테이블에 산재되어 있을 경우 우리는 JOIN문을 통해 비즈니스에 유효한 도메인 데이터..
-
깔짝 맛보는 프로메테우스(Prometheus) + 그라파나(Grafana) 를 이용한 시스템 모니터링 대시보드 만들기스터디 노트 2023. 11. 16. 15:09
📌 들어가며 갑자기 신규 프로젝트에서 시스템 모니터링에 대한 이슈가 대두되며 모니터링에 대한 스터디가 필요하게 되었습니다. 그래서 귀동냥으로 알고있던 '프로메테우스를 도입해보자!'고 적극 어필하였고, 사전 스터디를 진행해보게 되었습니다. 어떻게 해야하나..싶었는데, 뭐 별 것 있습니까? 그냥 만들어보는거죠 ㅎ 샘플 코드들은 아래 깃헙에서 확인하실 수 있습니다. GitHub - timulys/prometheus: Demo Prometheus + Node-exporter + Grafana Monitoring Dashboard Demo Prometheus + Node-exporter + Grafana Monitoring Dashboard - GitHub - timulys/prometheus: Demo Prom..
-
MongoDB + Docker 설치 및 기본 동작 방법 bash: mongo: command not found스터디 노트 2023. 11. 9. 10:26
📌 MongoDB를 Docker에서 MongoDB를 운용하기 위해 Docker에서 이미지를 받고 설치하는 방법에 대해 설명합니다. MongoDB Docker Image 다운로드 > docker pull mongo docker가 설치되어있다는 가정 하에 위 명령어를 입력하여 mongo image를 다운로드 받습니다. MongoDB Container 생성 및 실행 > docker run --name 컨테이너명 -p 27017:27107 -e MONGO_INITDB_ROOT_USERNAME=접속계정 -e MONGO_INITDB_ROOT_PASSWORD=접속비밀번호 -d 실행할이미지이름 컨테이너명 : 여기서는 mongo를 사용했습니다. -p 27017:27017 : 포트번호를 27107로 포워딩 해줍니다. -e..
-
도커 + 카프카 명령어스터디 노트 2023. 11. 8. 09:20
📌 자꾸 까먹어서.. 자꾸 Docker에 Zookeeper와 Kafka를 띄워놓고 테스트를 하고 있는데, 명령어를 자꾸 까먹어서 기록을 해놓으려 합니다. 도커 컨테이너 확인(docker ps -a) 현재 운용되고 있는 컨테이너를 확인합니다. > docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 15dbeOOO5164 wurstmeister/kafka "start-kafka.sh" 16 hours ago Up About an hour 0.0.0.0:9092->9092/tcp kafka b338aOOO4259 wurstmeister/zookeeper "/bin/sh -c '/usr/sb…" 16 hours ago Up About an ho..
-
스프링 환경에서 웹 애플리케이션 설정 메커니즘 정리스터디 노트 2023. 11. 1. 14:52
웹 애플리케이션의 설정 메커니즘에 대해 스터디해보도록 하겠습니다. 다음은 @EnableWebMvc와 DelegatingWebMvcConfiguration 클래스의 일부분입니다. // EnableWebMvc Annotation interface @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE}) @Documented @Import({DelegatingWebMvcConfiguration.class}) public @interface EnableWebMvc { } // DelegatingWebMvcConfiguration class public class DelegatingWebMvcConfiguration extends WebMvcConfigur..
-
제네릭의 변성, 공변, 반공변 등등의 개념들스터디 노트 2023. 10. 30. 13:38
정말 좋은 강의가 있어서 공유드립니다. 지네릭(제네릭)의 변성은 정말 헷갈리는 기능이죠. 너무 간편하고 강력한 것은 알겠으나, 그 근본 원리를 제대로 파악하지 못한다면 쓸 때마다 헷갈리고 찾아봐야합니다. 알고리즘이 찾아준 최범균님의 간편 정리 영상이 있어서 한 번 보면서 정리해보려 합니다. 일반적으로 제네릭을 쓰는 이유는 컴파일 시점에서 타입을 검증하여 컴파일 에러를 발생시켜줍니다. List codes = new ArrayList(); codes.add("1"); // 컴파일 OK codes.add(1); // 컴파일 에러 이를 통해 우리는 타입에 알맞은 코드를 작성할 수 있게 됩니다. 강력한 컴파일 검증 기능을 제공한다는 것이 제네릭의 가장 큰 장점이지요. 자, 아래에 Tiger라는 클래스는 Anima..