본문 바로가기

개발노트

(101)
맥 + chrome 단축키 변경 karabiner 로 cmd + y 를 globally "redo" 로 매핑해놨다. 근데 구글 크롬에서 히스토리를 여는 단축키도 cmd + y 였다. 그래서 cmd + y 로는 히스토리를 열지 못하고, 그동안 마우스로 열고 있었는데 키보드로 하는 방법을 찾아서 기록하게 됐다. Mac > System Preferences > Keyboard > App Shortscuts 메뉴에 온 다음 `+` 버튼을 눌러, Application : Google Chrome 을 선택하고, Metu Title: Show Full History 를 입력한다. (Menu title 이 정확하게 입력돼야 작동한다고 한다.) Keyboard Shortcut 에는 원하는 단축키로 매핑한다. 그러면 Mac OS 차원에서 내가 설정한 단..
ElasticSearch Docker 로 띄울 때 Docker Daemon 메모리를 확인하자 https://www.elastic.co/guide/en/elasticsearch/reference/7.5/docker.html https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html 위 문서에 잘 나와있다. 이 중에서 docker compose 를 이용하여 multiple nodes 를 띄우는 방식으로 진행을 했다. version: '2.2' services: es01: image: elasticsearch:7.17.0 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - discovery.seed_hosts=es02,es0..
m1 맥에서 오래된 루비 버전 설치 (with asdf) Intel Mac 에서 M1 Mac 으로 마이그레이션 한 후, rbenv 를 통해 설치해뒀었던 ruby 가 정상적으로 작동하지 않아서, rbenv 를 깔끔하게 지우고, asdf 를 통해 ruby 를 설치하던 중 겪었던 이슈들이 있어, 예전 버전의 루비 설치를 workaround 를 통해 설치 성공한 것에 대한 기록 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install asdf wget https://raw.githubusercontent.com/rbenv/homebrew-tap/e472b7861b49cc082d1db0f66f265368da107589/Formula/..
Intel 맥에서 M1 맥으로 마이그레이션 할 때 겪은 것들 회사에서 업무할 때, 지급받은 2018 Late Macbook Pro 를 사용하다가 이번에 14인치 Macbook M1 Pro 를 지급받아서 세팅을 했다. 기존 Intel 맥에서 이것저것 막 설치해서 사용해서 그런지, 결과적으로 M1 Mac 에서 포맷을 3번하고, "마이그레이션 지원" 앱을 통해 마이그레이션을 4번이나 시도한 끝에 다행히 기본적인 세팅은 끝낸 것 같다. 아직 안심하긴 이르지만, 아주 크리티컬한 문제가 있어서 기록해본다. 결과적으로 마이그레이션할 때, 기존 맥에서 Karabiner 앱을 사용하고 있었다면 이걸 삭제한 다음 마이그레이션을 진행하고, 이후에도 저 앱은 설치하지 않아야 한다는 사실을 기록/공유하기 위한 글이다. 다 지나고 난 지금 시점에서 생각해보니 귀찮지 않다면, 마이그레이션 ..
CodeBuild 에서 runtime 으로 jdk 17 (corretto17) 사용하기 가장 최신 LTS JDK 인 17 버전으로 개발한 프로젝트가 있는데, CodeBuild 는 JDK 11 까지만 지원하고 있어서, 해당 프로젝트를 CodeBuild 를 통해 빌드를 할 수가 없다. 곧 JDK 17 도 지원해주겠지만, 준비된 PR(https://github.com/aws/aws-codebuild-docker-images/pull/495) 은 있지만 아직 release 되기까지는 시간이 좀 걸릴 것 같다. 해당 PR 을 참고하여, 현재 내 프로젝트에서 CodeBuild 를 통해 corretto17 을 이용하여 Build 를 할 수 있도록 workaround 를 적용하고 있다. version: 0.2 env: variables: TZ: "Asia/Seoul" phases: install: run..
redis-cli 로 non-expiring key 찾아내기 (ttl 없는 key 찾기) redis-cli -h $READONLY_REDIS_NODE -n 2 --scan --pattern "pattern*" | while read LINE ; do TTL=`redis-cli -h $READONLY_REDIS_NODE ttl "$LINE"`; if [ $TTL -eq -1 ]; then echo "$LINE" >> /home/ec2-user/non-expiring-keys.out; fi; done; # -n 옵션은 database 선택 (select) https://stackoverflow.com/a/56265879/7548600 참고
redis-cli 로 pattern 에 해당하는 key 삭제하기 redis-cli -h $READONLY_REDIS_NODE --scan --pattern prefix:pattern::* | awk '{print $1}' | sed "s/^/'/;s/$/'/" | xargs redis-cli -h $MAIN_REDIS_NODE del https://stackoverflow.com/a/58879388/7548600 참고
AWS ECS Faragate 를 쓸 때 이유없이 container health check failed 가 뜬다면 TL;DR. Faragate Platform Version 1.4.0 을 쓰지 말고 1.3.0 을 써보면 문제가 해결될 수 있다. 사내에다가 정리해놓은 문서가 있고, 모든 내용을 다 옮기기엔 가려야할 내용도 많고 번거로워서 결론만 간추려서 작성함 ---- container health check 방법을 `CMD-SHELL,echo hello` 로 해도 container health check failed 의 이유로 task 가 container 들에게 sigterm 을 보내서 컨테이너가 종료되고, ELB 는 종료된 컨테이너로 계속 트래픽을 보내고 있어서 client 에게는 502 Bad Gateway 응답이 나가는 상황이 간헐적으로 발생하고 있었음. 이 때만 해도 문제를 쉽게 해결할 수 있을 거라 생각했..

반응형