-
RabbitMQ 와 dotnet Worker Service
RabbitMQ 와 dotnet Worker Service rabbitmq를 쓸 일이 있어서 정리해 보았다. 여기서는 consumer만 만들어서 처리하는 과정을 정리 rabbitmq를 실행 docker run --rm --hostname rabbitmq --name rabbitmq -p 30000:15672 -p 5672:5672 rabbitmq:3-management localhost:30000으로 접속해서 확인해본다. 기본 아이디 비번은 guest/guest이다. Worker Service Project 생성 dotnet worker service template을 사용하여 프로젝트를 생성한다. worker service에 대한 설명은 생략한다. rabbitmq와 연동만 관심있음 nuget 설치 https://www.nuget.org/packages/RabbitMQ.Client dotnet add package RabbitMQ.Client --version 6.2.1 Work 설정 EmainSenderWorker.cs public class EmainSenderWorker : BackgroundService {...
-
yml schema - vs code
yml schema - vs code vs code에서 yml을 사용할때 github action 스키마를 이용해서 린트를 해보자. install https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml 이 플러그인을 설치하자. yaml로 vscode에서 검색해도 된다. 설정 menu > code > preference > setting 에 아래 그림 부분을 클릭한다. 이제 설정을 추가한다. "yaml.schemas": { "https://json.schemastore.org/github-workflow.json": [ ".github/workflows/*.yml", ".github/workflows/*.yaml" ] }, 설명을 조금 하자면 나의 경우에는 이상하게 github action yml파일이 스키마가 다른 파일로 잡혀서 에러가 나서 강제로 github action 스키마를 정해줬다. 쿠버네티스는 기본 지원이고 다른 스키마들도 적용할수 있다....
-
다른 namespace에 있는 서비스 사용하기
다른 namespace에 있는 서비스 사용하기 kubernetes 에서 프로젝트가 10개가 넘어가는데 모든 서비스에서 rabbitmq를 사용중이다 보니 똑같은 pod가 여러개 올라간다. aws의 pod제한에 따라서 새 노드를 올려야하는 문제가 생겼다. 그래서 shared라는 namespace를 만들고 거기에 rabbmitmq하나만 올리고 모든 프로젝트에서 이걸 공유하는것으로 구조를 바꿨다. 작업 기존에는 rabbitmq라는 같은 namespace에 있는걸 사용했지만 지우고 shared에 있는걸 사용해야한다. 그러면 프로그램으로는 어떻게 해야할가. 간단하도 hostname을 rabbitmq에서 rabbitmq.shared라고 하면된다. serviceName.namespace rabbitmq.shared 이렇게 사용하면 된다. rabbitmq que vs vhost vhost에 대해서 고민을 하엿으나 그냥 que를...
-
꾸뻬씨의 행복 여행
꾸뻬씨의 행복 여행 정리 행복은 자신을 남과 비교하는 않는 것이다. 행복은 때때로 뜻밖에 찾아온다. 많은 사람들은 자신의 행복이 오직 미래에만 있다고 생각한다. 많은 사람들은 더 큰 부자가 되고 더 중요한 사람이 되는것이 행복이라고 생각한다. 행복은 알려지지 않은 아름다운 산속을 걷는 것이다. 행복을 목표로 여기는 것은 잘못된 생각이다. 행복은 좋아하는 사람과 함께 있는 것이다. 불행은 사랑하는 사람과 헤어지는 것이다. 행복은 자기 가족에게 아무것도 부족한 것이 없을때다. 행복은 자신이 좋아하는 일을 하는 것이다. 행복은 집과 채소밭을 가지는...
-
Program Rule
Program Rule - ver. 0.2 최우선 목적 유지보수가 편한 프로그램을 만든다. 개발 기간이 줄어들수 있는 스택을 구성한다. 자동화에 의한 테스트를 이용해서 버그 발생을 방지한다. 중복된 코드가 극단적으로 없어야 한다.(중복에 대한 생각은 조금 바뀌었음 상황에 따라서 중복허용) architecture should be independent of frameworks clean architect를 기본으로 한다. (use case를 기준으로) 프로젝트 기본 셋업 프로젝트 폴더에는 docs라는 폴더를 기본으로 만든다. 프로젝트와 관련된 문서파일들이 정리되야한다. 네이밍 규칙 (https://msdn.microsoft.com/en-us/library/ms229043.aspx)을 정확히 지킨다. 파스칼 : 단어의 첫글자는 대문자. 카멜 : 첫단어의...
-
mfa ux
multi factor authenticate ux 요즘은 로그인하면 핸드폰으로 문자를 보내서 또 넣어야하는 경우가 있다. 비교해 보았다. github twitter robinhood 결론 나는 github 가 좋다. 이 부분에서 복사가 가능하기 때문에. 그리고 당연히 답장같은건 하지 않을거니 쓸모없는 부가 설명도 필요없어 보인다. 다들 뭐가 좋으신가요?
-
chrome tab rotate extension
탭을 로테이션 시켜주는 크롬 익스텐션 주식차트를 계속 로테이션으로 보여주는 생각을 하다가 찾아보았다. github repository 설정을 저장할 git repo를 하나 만들었다. 다음 파일을 만들고 커밋/푸시한다. { "settingsReloadIntervalMinutes": 1, "fullscreen": false, "autoStart": false, "lazyLoadTabs": false, "websites": [ { "url": "https://elite.finviz.com/quote.ashx?t=NET", "duration": 10, "tabReloadIntervalSeconds": 5 }, { "url": "https://elite.finviz.com/quote.ashx?t=AMZN", "duration": 10, "tabReloadIntervalSeconds": 5 }, { "url": "https://elite.finviz.com/quote.ashx?t=TSLA", "duration": 10, "tabReloadIntervalSeconds": 5 }, { "url": "https://elite.finviz.com/quote.ashx?t=SOXL", "duration": 10, "tabReloadIntervalSeconds": 5 }, { "url": "https://elite.finviz.com/quote.ashx?t=NVDA", "duration": 10, "tabReloadIntervalSeconds": 5 },...
-
aws-openvpn
aws-openvpn 한국 서비스를 이용하고싶으신분은 꼭 리전을 한국으로 하시기 바랍니다. Create EC2 ec2 launch instance openvpn 으로 검색 market place 클릭 그림에 나온거 선택 > continue > t2.micro 선택. 원하는 vpc 선택 > 다음 > 다음 > create new security group > 기본값으로 다음 new keypair 생성후 다운로드 instance 이름을 openvpn으로 했다. elastic ip 하나 할당받아서 인스턴스에 attach해주면된다. 이름은 openvpn으로 햇다. ssh chmod 600 aws.pem ssh openvpnas@YourIP -i aws.pem # 로그인하자마자 설정을 해야한다. > yes #...
-
vscode-tip
vscode tip 언어별로 포멧터를 다르게 설정할수도 있다. ts/js formatter js나 ts의 경우에는 Prettier를 사용중이고 https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode 이곳에서 관련 내용을 확인할수 있다. c# formatter setting에서 확인해보기 바란다. 자세한 옵션은 여기서 볼수 있다. https://docs.microsoft.com/en-us/dotnet/api/microsoft.codeanalysis.csharp.formatting.csharpformattingoptions?view=roslyn-dotnet 잘되는지는 모르겟음. 기본 포멧터가 잘되는듯하여 구지 신경쓰지않음. 현재 setting { "editor.formatOnPaste": true, "editor.formatOnSave": true, "editor.defaultFormatter": null, "prettier.printWidth": 200, "prettier.singleQuote": true, "omnisharp.organizeImportsOnFormat": true, "omnisharp.enableEditorConfigSupport": true, //언어별로 설정이 가능 "[markdown]": {}, "[html]": { "editor.defaultFormatter": "esbenp.prettier-vscode" }, "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode" // "editor.quickSuggestions": true }, "[json]": {...
-
eks
aws eks (kubernetes) 사용하기 eks는 아마존에서 관리해주는 쿠버네티스이다. 마스터를 다 관리를 해주므로 사용하기만 해서 많이 편하다. prerequisite aws어카운트는 미리 만들어 두셔야 따라하실수 있습니다. 가능하면 로그인 하는 유저의 secret키를 만들어 두시면 좋을거같습니다. 아래쪽 스탭을 참고해주세요 랩탑에 관련 프로그램 설치 kubectl https://kubernetes.io/docs/tasks/tools/ k9s https://k9scli.io/ https://k9scli.io/topics/install/ aws cli 설치 curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg AWSCLIV2.pkg -target / AWS 액세스 키 생성 setup command line aws configure 생성한 키와 내용을 넣는다. ~/.aws/에 파일이 생성된다. 내용 확인 cat...