it
websocket과 ssl 사용을 위한 nginx 설정
개인프로젝트로 간단한 멀티 테트리스를 만들고 있는데, https + websocket 조합이다 보니 서버 설정이 필요했습니다. 구글링을 통해 해결했고, 방법을 공유 합니다. html html 파일에 메타 테그를 추가합니다. javascript javascript에서 websocket을 연동을 위한 URI를 지정합니다. ( mydomain은 서비스할 도메인명을 넣어줍니다 ) ws = new WebSocket("ws://mydomain/ws"); https nginx 에 ssl 설정을 추가합니다. mydomain/ws로 연결요청이 들어오면, 8090 포트의 /ws 로 포워딩합니다. server { server_name mydomain; listen 443 ssl; location /ws { proxy_pas..
lightsail 의 disk 공간 줄이기
lightsail에 올라가 있는것이 많지 않은데, 디스크 사용량이 70% 넘는 것을 발견했습니다. $ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 20G 14G 5.7G 71% /확인 해보니, /usr/src가 4G 정도를 사용하고 있네요. /usr$ sudo du -sh * 3.8G src /usr/src$ sudo du -sh * 106M linux-aws-headers-4.4.0-1063 106M linux-aws-headers-4.4.0-1081 106M linux-aws-headers-4.4.0-1084 106M linux-aws-headers-4.4.0-1085 ~~~~~~ 106M linux-aws-headers-4.4.0-112..
kubernetes 운영에 도움을 줄 몇 가지 명령
kubernetes를 운영하면서, 도움이 될만한 몇가지 alias를 만들었습니다. alias 뒤에 pod명의 일부를 넣으면 해당 pod를 찾아서 명령을 수행합니다. 매칭되는 pod가 여러개면 후보 목록을 출력합니다. usage kexecti 컨테이너 안에서 명령을 실행합니다. kubectl exec -ti -n my-namespace my-pod -- ls -l 명령과 동일합니다. host> $ kexecti my-pod ls -l total 4 -rw-r--r-- 1 root root 82 Feb 23 10:32 README.mdkexecsh 컨테이너 안에 bash로 접속합니다. kubectl exec -ti -n my-namespace my-pod -- bash --login 명령과 동일합니다. ho..
ArgoCD CLI명령어 몇 가지
login 접속 정보는 web gui와 동일 argocd login 127.0.0.1 --insecure --username admin --password xxxxx app 정보 조회 argocd app get test-dev 전체 app 조회 argocd app list 특정 repo app 조회 argocd app list --repo [http://repo1.com/test-dev/manifests.git](http://repo1.com/test-dev/manifests.git) repo 수정 argocd app set test-dev --repo [http://repo2.com/test-dev/manifests.git](http://repo2.com/test-dev/manifests.git) 전체..
ReactiveRedis With Redis Cluster
운영 환경에서 redis cluster 를 구성할때, master node 가 중지되는 경우를 대비하기 위해 Master-Slave 구조로 replication cluster 구성하여, Master가 중지되면 Slave가 Master 역할을 대신합니다. spring boot 기본 설정으로는 master가 중지되었을때 정상적으로 연동하지 못하는 문제가 있습니다. spring boot 에서 redis 를 사용하기 위해 Lettuce를 사용하는데, LettuceClientConfiguration 에서 ReadFrom 설정값을 UPSTREAM_PREFERRED 으로 변경해야합니다. (https://lettuce.io/core/release/api/io/lettuce/core/ReadFrom.html) redis..

AI와 채팅
chat-ai 간단하게 AI와 채팅을 구현 하고자 합니다. AI는 https://beta.openai.com/docs/guides/completion/conversation의 내용을 사용합니다. openai.com 에서는 영문만 지원하기 때문에, naver의 papago api를 사용해서 번역합니다. 현재는 한글도 지원합니다. 제약사항 openai.com은 가입하면 베타 버전이라 3달간만 무료로 사용할 수 있습니다. 서비스가 아닌 스터디 목적이니 3달만 사용하려 합니다. (만기: 23년 1월 중순) 만료 되었네요. naver papago api는 하루 10,000 글자만 번역이 무료 입니다. 번역 대상은 내가 입력한 내용 + AI가 대답한 내용 입니다. 10,000글자를 초과하면 translater fa..