일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- AWS EKS
- Elasticsearch
- AI
- 정보처리기사 실기
- PETERICA
- kotlin querydsl
- Kubernetes
- 기록으로 실력을 쌓자
- 정보처리기사실기 기출문제
- Pinpoint
- 공부
- APM
- mysql 튜닝
- CKA 기출문제
- kotlin coroutine
- aws
- Linux
- CKA
- IntelliJ
- 오블완
- CloudWatch
- minikube
- 정보처리기사 실기 기출문제
- MySQL
- kotlin spring
- 티스토리챌린지
- kotlin
- 코틀린 코루틴의 정석
- Java
- Spring
- Today
- Total
목록PETERICA (597)
피터의 개발이야기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pubyU/btsrjpAHHUg/nmT0OHMXsCdruGymdeI8c0/img.png)
ㅁ 개요 쿼리를 튜닝할 때에 가장 큰 요소는 색인데이터를 최소화 하는 방법이 있습니다. 이번 글에서는 EXISTS 구문을 통해서 불필요한 IO를 줄여 쿼리를 튜닝하는 방법을 정리해 보았습니다. ㅁ 일러두기 ㅇ 쿼리 테스트를 위해 [MySQL] 실습환경 구성하기에서 생성한 MySQL이며, 버젼은 5.7.37입니다. ㅇ categories(8 row)에 속한 products(77 row) 테이블을 샘플로 하였습니다. ㅁ EXISTS 연산자란? EXISTS 연산자는 서브쿼리에 데이터가 존재하는지 체크하고 존재할 경우 TRUE를 반환합니다. EXISTS 연산자는 IN 연산자와 비슷한 용도로 사용할 수 있으며, IN 연산자는 비교할 값을 직접 대입할 수 있지만 EXISTS 연산자는 서브쿼리만 사용할 수 있습니다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/eblV80/btsBKlHbFrF/jX99b3gydwH8i22iouuW71/img.png)
ㅁ 개요 지난 글에서 [RabbitMQ] Prometheus 및 Grafana로 RabbitMQ 모니터링 구축을 하였습니다. 이번 글에서는 모니터링을 위해서 Grafana 데시보드인 RabbitMQ-Overview의 지표이 무엇이 있는 지 정리하였습니다. ㅁ RabbitMQ-Overview ㅇ RabbitMQ-Overview에서는 RabbitMQ의 건강성 지표, RabbitMQ 노드 및 메시지 속도, Connection 등을 확인할 수 있습니다. * Healthy 대시보드 ㅇ 대시보드 상단에는 RabbitMQ 클러스터의 다양한 색상을 사용하여 상태를 표시합니다. - 녹색은 메트릭 값이 정상 범위에 있음을 의미합니다. - 파란색은 활용도가 낮거나 어떤 형태로든 저하된 상태를 의미합니다. - 빨간색은 메트릭..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/x0xR4/btsqS7FAkEU/skovU7tSxer3tTVydFHyY1/img.png)
ㅁ 개요 ㅇ MySQL의 좋은 자료가 있다면 관련 정보를 목차 형태로 정리 하기 위한 글이다. ㅁ MySQL 최적화 ㅇ Google Cloud MySQL 최적화 ㅁ MySQL쿼리 튜닝 ㅇ MySQL에서의 LIKE vs INSTR() ㅇ Which is faster — INSTR or LIKE?
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bKj6eq/btsqLSperjy/j0s67QwQ1NQNl0uAPkf4Ek/img.png)
ㅁ 개요 MySQL의 문자열에서 특정문자열의 검색을 위해서 LIKE 함수를 많이 이용합니다. 상황에 따라서 INSTR이 더 빠른 경우도 있는데, 구체적으로 INSTR, LOCATE, LIKE, REGEXP들의 속도차이가 얼마인지, 다시 말해 상황에 따라 어떤 것이 더 효율적인지 분석한 내용을 정리하였습니다. ㅁ 테스트 방법 a-z의 문자열에서 처음, 중간, 끝의 문자열 검색 속도를 비교 하기 위해 테스트를 진행하였습니다. [MySQL] 실습환경 구성하기에서 생성한 MySQL이며, 버젼은 5.7.37입니다. ### INSTR ### # 16 s 529 ms SELECT BENCHMARK(50000000,INSTR('abcdefghijklmnopqrstuvwxyz','abc')) # 1 m 24 s 146 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/V52cH/btsBKlNV6c7/YPtt9HU2XHMCk1Mvnf1zk0/img.png)
ㅁ 개요 이 글에서는 모니터링 툴킷인 Prometheus 및 메트릭 시각화 시스템 인 Grafana 대시보드를 사용하여 RabbitMQ를 모니터링 환경을 로컬 Docker 환경에구축하는 과정을 정리하였습니다. ㅁ Clone a Repository $ git clone https://github.com/rabbitmq/rabbitmq-server.git ✔ 10005 15:07:35 Cloning into 'rabbitmq-server'... remote: Enumerating objects: 401555, done. remote: Counting objects: 100% (4467/4467), done. remote: Compressing objects: 100% (1740/1740), don..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bmVq7I/btsBRS4Zpae/w5FUL9JuZqBYKZ9SKlqaGK/img.png)
ㅁ 개요 docker 명령어를 쓰면서 복잡한 명령어의 체계는 잦은 실수를 발생할 수 있습니다. docker 작업의 효율성과 포퍼먼스를 위해 명령어 자동완성 기능은 필수 입니다. 실수를 줄이고 빠르게 명령어를 완성하여 작업의 속도를 향상시켜 줍니다. 이번 글은 docker의 자동완성 기능을 추가하는 과정을 정리하였습니다. ㅁ Docker 자동기능 설치여부 판단 ㅇ docker 시 위의 화면처럼 디덱토리의 파일 목록이 보인다면 자동완성 기능이 설치 되어 있지 않습니다. ㅁ zsh plugin 설정 $ vi ~/.zshrc ~~~ plugins=(... docker docker-compose ) ~~~ # 편집완료 후 적용 $ zsh ㅇ .zshrc의 문서에서 plugins에 docker docker-comp..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bKsnSp/btsBGxBBlme/i4XdVlraNCH0Ouw1KFzDN1/img.png)
ㅁ 개요 docker 기본적인 명령어를 정리하였습니다. ㅁ Docker 정보 조회 $ docker info 설치된 Docker에 대해 자세히 알고 싶을 때 사용하는 명령어이다. ㅁ 컨테이너 목록 조회 $ docker ps [OPTION] --all -a -- Show all containers --before -- Show only container created before... --filter -f -- Filter values --format -- Pretty-print containers using a Go template --help -- Print usage --last -n -- Show n last created containers (includes all states) --latest -..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ccuXo8/btsqhZW1cKG/ObjlvqdalmSKds0BYdZ6gK/img.png)
ㅁ 개요 ㅇ Hateoas가 무엇인지 정의해 보고 Spring Boot REST API CRUD with HATEOAS Tutorial에 따란 Maven 프로젝트를 구성해 보았습니다. ㅁ Hateoas란 HATEOAS(Hypermedia As The Engine of Application State)는 웹 API를 실제로 "RESTful"로 만드는 REST 애플리케이션 아키텍처의 제약 조건입니다. 기본적으로 요청에 대해 서버는 데이터만 클라이언트에 보냅니다. HATEOAS를 사용하면 응답에 데이터뿐만 아니라 해당 데이터와 관련된 가능한 작업도 링크 형식으로 포함됩니다. ㅁ Leonard Richardson이 제시한 REST 성숙도 모델 이 모델은 아래에 설명된 대로 네 가지 수준으로 구성됩니다. 이 모델..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bYrhoC/btsqtu9hSxs/LkGzTSiKBQua30Jnk3wWgk/img.png)
ㅁ 개요 ㅇ Intel칩 맥북에서 M1 맥북으로 변경하면서 마이그레이션 작업을 수행하였습니다. 그 가운데, 칩 변경되면서 기존 설치 프로그램과 충돌이 있어났습니다. minikube start 시 발생한 Exiting due to MK_WRONG_BINARY_M1 에러에 대한 경험을 정리 하였습니다. ㅁ 에러 내용 ❌ Exiting due to MK_WRONG_BINARY_M1: You are trying to run amd64 binary on M1 system. Please use darwin/arm64 binary instead (Download at https://github.com/kubernetes/minikube/releases/download/v1.21.0/minikube-darwin-amd..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bGDsku/btsqtx5PknC/SZxl2HtN5x4tCbdZAyLCa0/img.png)
ㅁ 개요 ㅇ iterm의 autosuggestions 플러그인은 history를 기반으로 예전 실행한 명령어를 자동으로 제시해주는 플러그 인입니다. ㅁ 자동제시기능 동영상 https://asciinema.org/a/37390 Installing zsh-autosuggestions asciinema.org ㅁ Plugin 다운로드 git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions ㅇ 플러그인을 깃에서 다운받아 iterm 플로그인 폴더에 저장을 합니다. ㅁ zshrc 편집 $ vi ~/.zshrc ~~~ plugins=( git zsh-autosuggestions