-
Kubernes Alias
kubernetes 에서는 명령어가 길다 단축키를 만들어보자. zsh을 사용하므로 zshrc파일을 수정한다. bash를 사용하면 bashrc를 수정하면된다. vi ~/.zshrc source <(kubectl completion zsh) alias k='kubectl' alias ns='kubectl config set-context $(kubectl config current-context) --namespace' alias nsv='kubectl config view | grep namespace:' 이렇게 하면 kubectl을 다 치지않고도 명령어를 넣을수 있다. oh-my-zsh을 사용하고 kube플러그인을 사용하면 기본적으로 적용이 되있다고 한다. https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/kubectl 기타 많은 alias가 있으므로 참고해서 사용하면 될듯 싶다. ns 와 nsv 대신에 플러그인에서 제공하는 kgns #kubectl get namespaces List the current...
-
Fire On House
집에 불이 났다 그리고 배운점. 상황은 복잡하지만 다 적을수는 없고 큰일날뻔하였으나 이만큼 막은게 정말 전생에 나라를 구했던듯 싶다. 배운점 - 화재 모달불 재는 항상 땅에 버리자. 소화기는 꼭 집에 챙겨두자. 애들과 함게 소방학교에 꼭 한번 가자. LGP 나 기타 가스는 다썼더라도 구멍을 오픈해서 버리자. 배운점 - 화상 일단 열을 뺀다. 찬물에 발을 담그거나 손가락을 담그는등 한참 열을 한참 빼야한다. 아이스를 넣어서라도 찬물을 만들어서 빼야한다. 잘 소독한후 연고를 바르고 Telfa Non-Adherent Pads 같은 상처에 붙지 않는...
-
목공일기-1
목공일기-1 얼마전 지인에게서 목공공구를 얻어왔다. 그래서 목공을 해보려고 한다. 청소부터 해야한다. 그후 와이프가 뒷마당에 데크를 지어달라고해서 한번 해보려고한다. 같이 고민하면서 같이 만들어가는게 결혼 10년차 되니 좋더라고. 뒷마당 데크 와이프랑 이야기하다 뒷마당 시멘트를 조금 잘라야한다고 결론이 났다. 일단 원형톱으로 시멘트를 자를수 있다고 했다. (인터넷에서) 그래서 다이아몬트 콘크리트용 날을 사서 장착해서 해봤다. 너무 힘들다. 다이아몬트 날 돈만 날린듯. https://www.homedepot.com/c/concrete_equipment_rental#concrete-saws 여기에서 랜트가 가능하다고 해서 한번 가봤다. 하루 빌리는데 100불..날도 빌려야하는데 50불이다. 날은 중고라 좀 비싼 느낌인데..아무튼 랜트해서 와서...
-
Fluent Validation
Fluent Validation https://github.com/FluentValidation/FluentValidation C#에서 validation할때 주로 사용됨. ScalePrecision 함수 테스트 validation 할 클래스 public class Product { public float Discount { get; set; } } validator 작성 public class TestValidator : InlineValidator<Product> { public TestValidator() { RuleFor(x => x.Discount) .ScalePrecision(2, 2) .NotEmpty() ; } 이 코드를 테스트하다보니 에러가 나야하는데 아무리 해도 에러가 안난다. 그래서 파보기 시작했다. https://docs.fluentvalidation.net/en/latest/built-in-validators.html#scaleprecision-validator 문서를 보자. 문서에는 다음처럼 되잇다. Checks whether a decimal value has the specified scale and precision. RuleFor(x =>...
-
git에서 특정파일을 임시로 ignore하기
git에서 특정파일을 임시로 ignore하기 작업을 하다 보면 가끔 내 컴퓨터에만 적용이 되야하는경우가 있다. 그런경우에는 내 컴퓨터에는 파일이 변경되더라도 무시 되야한다. 파일의 변경 상태 무시 git update-index –assume-unchanged 무시한 파일을 다시 트래킹 하기 git update-index –no-assume-unchanged 무시 파일 목록 git ls-files -v grep “^[[:lower:]]” git update-index --assume-unchanged docker-env/www/www-php.ini git update-index --no-assume-unchanged docker-env/www/www-php.ini
-
Kubernetes에서 외부 서비스에 연결하기
Kubernetes에서 외부 서비스에 연결하기 기존에 있는 웹서비스를 kubernetes를 이용하여 외부에 오픈해야할 일이 생겼다. 인그레스를 설정하고 서비스를 ExternalName으로 설정하자. kind: Service apiVersion: v1 metadata: name: proxy-google-com spec: ports: - protocol: TCP port: 80 targetPort: 80 type: ExternalName externalName: www.google.com --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: proxy-to-google spec: rules: - host: aaa.xgridcolo.com http: paths: - path: / backend: serviceName: proxy-google-com servicePort: 80 이제 aaa.xgridcolo.com 도메인세팅을 하고 호출해보면 구글로 가는것을 볼수 있다. https://github.com/kubernetes/ingress-nginx/pull/629#issue-222930691
-
burn iso to dvd with macos catalina
macos catalina에서 dvd 만들기 iso파일을 가지고 dvd를 만들어야하는데 catalina에서 버그가 잇어서 자꾸만 다음처럼 에러가 나온다. ISO file is invalid 검색을 해보니 카타리나에서 버그가 있어서 안되는듯 보인다. 다행이 터미널에서 처리할수 있다고 한 내용이 있어서 여기에 적어둔다. 터미널을 켜고 hdiutil burn ~/Desktop/DiskImageFile.iso 이렇게 하면 cdrom을 찾아서 시디를 구워준다.
-
Visual Studio Code Snippet
Visual Studio Code Snippet Test작성시 중복되는 많은 코드를 전부 타이핑하다 귀찮아졌다. snippet로 처리해보자. my code snippets 위치 파악 vs » tools » code snippets manager (Ctrl+K Ctrl+B) My code snippets 를 클릭하고 위치를 파악한다. 거기에 파일을 만들어야 인식한다. 위 경로로 이동후 snippet를 만든다. XunitTestThrowException.snippet 확장자는 꼭 snippet으로 만들어야한다. <?xml version="1.0" encoding="utf-8"?> <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> <CodeSnippet Format="1.0.0"> <Header> <Title>Throw Exception</Title> <Shortcut> testt </Shortcut> </Header> <Snippet> <Declarations> <Literal> <ID>method</ID> <Default>Handler</Default> </Literal> <Literal> <ID>scenario</ID> <Default>SCENARIO</Default> </Literal> <Literal> <ID>exception</ID> <Default>EXCEPTION</Default> </Literal> <Literal>...
-
macos scheduler
macos scheduler macos는 리눅스와 다르게 cron을 쓰지 않는다. launchd를 사용한다. 한참 헤매서 정리차 적어둔다. 목표 매시간마다 git을 업데이트 받고 싶다. 리눅스면 크론으로 간단하게 하겠지만 맥에서 잘 안됬다. 정리하면 간단하다. shell을 먼저 만들자. vi _core_git_pull.sh #! /bin/bash //꼭 사용 cd /Users/ragon/Desktop/GitHub/teamsmiley.github.io git pull ~/Library/LaunchAgents/ 폴더 아래 다음 파일을 만든다. vi _git-update.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>brian-gitpull</string> <key>ProgramArguments</key> <array> <string>/bin/bash</string> <string>/Users/ragon/_core_git_pull.sh</string> </array> <key>RunAtLoad</key> <true/> <key>StartInterval</key> <integer>3600</integer> <key>StandardOutPath</key>...
-
XUnit Test
XUnit Test 테스트를 작성해보려고 했다. 그런데 기본 내용이 잘 기억나지 않아서 다시 정리해보려고 한다. 사용하는 툴은 XUnit 이다. automatic test Test Type Unit Test Integration Test Subcutaneous Test UI Test End To End Test Testing behaviour dont test detail implementation (dont test private Method) 상세 구현을 테스트하려고 하지 말라. 프라이빗 함수도 테스트하지 마라. AAA Arange : 설정 Act : 실행 Assert : 검사 [Fact] public void IsValid_ShouldBeTrue_WhenProviderAllMember() { //Arrange var command = new CreateProductCommand {...