광교마을 40단지앞 미용실 후기


광교마을 40단지앞 헤어xxx

광교   40단지앞  새로 오픈했는데 
 마누라...아침에 원래 다니던곳 문닫아서 새건물에 오픈했겠다 팔아줄겸 갔다왔단다.
근데 머리를 저모양으로 해놨네..얼룩덜룩...
 이 무슨... ㅡㅡ 

회사에서 상황전달받고,  머리 해준사람 전화통화 했는데, 

이렇게 될거라고 브리핑했단다.. 
지랄..
염색중간에 염색 잘안되니까 탈색약 중간에 추가금 2만원 더 받고 할거냐고 물어봐놓고..

뭐라뭐라 흥분하고 소리지르길래 전화로 좀조용히 하라니 또 뭐라뭐라. 다시해주겠다길래 아니 이렇게 성질부리고 이렇게 염색하는데 애 머리 다 작살나겠다.
그냥 환불해주라니 완전 눈이돌아간듯 소리지르더니 전화끊는다.. 환불이 심한표현이었나보다. 쌍욕은 안했지만 거의 욕바로전까지단계에서 질러댄다.. 
와  처음본다.. 미용실은 환불이 금기어라 치고. 
전화로 이래 윽박은 또 몇십년만인듯. 
똥밟았다생각하고 안가면 그만. 
 환불이니 리페어니 안해도된다.

찾아오라는데  전화로 그난리치는데 겁나서 못가겠다..는 구라고 들어가는길에 문닫았더만 ㅡㅡ 사람 많을때 들어가서 엎어버릴려고 했는데.. 에효 

다른 미용실가서 물어보니 여기 유명하단다 그여자 허허...

안하무인, 몰상식, 이런 장사치는 좀 기록에 남겨놔야겠다.

아 내돈 십만원... 아오

using jenkins api

젠킨스 api 사용하기.

jenkins ver 1.658 기준으로 작성.


------------------------------------

1. jenkins 설정의 사용자에 api token을 설정

2. 해당 job에서는 아래와같이 authentication token을 설정


api를 호출할때.

1번의 apitoken을 header에 싣기. c#으로 아래 코드.


            NameValueCollection nv = new NameValueCollection();
            String encodedTkn = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(userName + ":" + userTkn));
            nv.Add("Authorization", "Basic " + encodedTkn);
            Entity.MetaBuild result = JsonConvert.DeserializeObject<Entity.MetaBuild>(Webber.Post(url, "", ContentType.ApplicationJson, EncodingType.Utf8, null, nv).RawResult);


userName, userTken = 1번의 사용자 이름과 토큰

--------------------------------------------------------------------

api 

job list 가져오기 
localhost:8888/api/json
option :  json?tree=jobs[name,color]   (추가 옵션과 pretty는  구글링)

특정 job history 내역. 
localhost:8888/job/"+jobName+"/api/json

위 history 내역에서 수행 num에 따른 상세 정보. 

/job/" + jobName + "/" + bulidNum + "/api/json?tree=number,estimatedDuration,duration,id,buildings,result

(실행중인 job을 호출하면 status값이 success / failure등과 같이 호출때마다 값이 변경됨)

윈도우 호스트 파일 대체 프로그램

윈도우 호스트 파일 대체 proxy

윈도우 호스트 파일을 변경하다보면 세션이 남아있어서, 브라우저때문에 바로바로
적용이 안되는 케이스가 있고, 환경에 따라 목록화해서 관리할 필요성이 있음.
특히, 개발자일 경우 또는 QA를 할때 , host를 수시로 변경해야 한다면  (개발/스테이징/라이브 등등)

호스트 파일로 변경은 여간 번거롭다. 
본 프로그램은
로컬 프록시를 이용해 프로그램내 textbox에 설정한 host만 네트워크 요청시 ip를 override 합니다.
(호스트파일 건드릴 필요X.   해당 로컬 프록시는 fiddler core 사용.) 



hosts.zip설치 파일 :https://github.com/juster111/host-override
(곧 해당 git에 오픈소스로 올릴 예정이며,
현재는 해당 git에서 파일 내려받은후  setup.exe 실행)

 










실행.
1) 아래 인증서 설치에서 "예"를 눌러야 https 까지 정상적으로 capture.
(https 트래픽 캡쳐를 위한 로컬 인증서.) 


2)  


메뉴:
Stop■ / Play 버튼으로 프록시 실행 
capture Disable --> 프록시를 사용하나, 우측 요청 URL에 노출 여부 
SSL Cert --> https 로컬 인증서 설치 

버튼:
호스트적용 – 아래 hosts 내용 변경 후, 즉각 적용이 필요한 경우 버튼 클릭. (클릭시 바로 적용)
저장하기 –
해당 hosts (textbox) 내용을 새로 txt파일로 만들어 저장 목록으로 관리.
실행시 별도 아래 리스트에 추가 되며, 리스트내 txt파일 더블 클릭시 해당 내용을 자동으로 위 hosts (textbox) overwrite. 
해당 리스트 마우스 오른쪽 클릭시 txt 파일 삭제 가능. 



우측폼 요청 url과 요청 상세는 추후 개발. 


3.
해당 트레이아이콘 마우스 우클릭으로 프록시 Play <-> Stop 조정 가능. 

.net 배포시스템, 모니터링 인프라 구축 - (1) 시작전


몇번의 .Net framework 기반 프로젝트 배포 시스템을 구축한 경험을 정리,
공유 하고자 합니다.

정리한 내용들을 바탕으로 .Net 웹 응용프로그램 (asp.net) 이나 어플리케이션들이 .net 자동화 배포 솔루션? 프로젝트로 진행 하고자함


배포 인프라 구축시 사용 환경

 형상관리 - git (bitbucket) , tfs
 개발 - ASP.NET MVC 4.5 (include Webform2.0), Windows Service  (c#)
 컴파일 -msbuild
 CI - jenkins
 파일 전송 - rsync, robocopy
 SMS 발송 - slack


아래는 내부적으로 사용하고 있는 정기점검 프로그램
실행시 jenkins 조회 및 실행, xml파일 생성, 파일 배포등을 수행



왜 jenkins로 실행하지 않고 wrapping한 프로그램을 만들어 사용하는가? 

jenkins 화면을 외부 운영자에게 노출, 공유하기 쉽지 않아서
job 실행, 상태조회만 배포 솔루션으로써 사용할 수 있도록 만든 화면이 필요했음.


앞으로 짬날때 마다 천천히 정리할 예정.