[QuickBuild] RESTful API로 빌드 요청

QuickBuild를 이용할 때, 굳이 사이트에 접속해서 빌드를 돌리지 않아도 RESTful API를 이용하면 빌드를 걸 수 있다.

http://wiki.pmease.com/display/QB61/Interact+with+Build+Requests#InteractwithBuildRequests-requestnewbuild 에 해당 내용이 정리되어 있다.

Basic authentication 시에 curl을 이용해서 요청하는 방법은 다음과 같다.

$ curl -X POST -u dasomoli:password -d@request.xml http://<Server>:8810/rest/build_requests

위의 예제에서 사용한 request.xml 은 다음의 형식을 가진다. <varlables> 안에 채울 내용은 해당 configuration에서 실행한 빌드의 variables(http://<Server>:8810/build/<Build id>/variables) 페이지에서 확인 가능하다.

<com.pmease.quickbuild.BuildRequest>
  <!-- This element tells QuickBuild in what configuration to trigger build. -->
  <configurationId>10</configurationId>

  <!-- This element tells whether or not to respect build condition of the configuration. 
       If this is set to true, and if the build condition evaluates to false, build will 
       not be triggered. -->
  <respectBuildCondition>false</respectBuildCondition>

  <!-- This element is optional and is used to specify variables for build triggering. If 
       specified, it will override the variable with the same name defined in configuration
       basic setting. -->
  <variables>
    <entry>
      <string>var_name1</string>
      <string>var_value1</string>
    </entry>
    <entry>
      <string>var_name2</string>
      <string>var_value2</string>
    </entry>
  </variables>

  <!-- This element is optional and is used to tell QuickBuild to request a build promotion. -->
  <promotionSource>

    <!-- This element is optional and is used to tell QuickBuild that the source build resides on another 
         QuickBuild server. -->
    <server>
      <url>http://another-qb-server:8810</url>
      <userName>admin</userName>
      <password>admin</password>
    </server>

    <!-- Identifier of the source build to promote from -->
    <buildId>697</buildId>

    <!-- This element is optional and used to specify files to promote -->
    <deliveries>
      <com.pmease.quickbuild.FileDelivery>
        <srcPath>artifacts/dir1</srcPath>
        <filePatterns>**/*.jar</filePatterns>
      </com.pmease.quickbuild.FileDelivery>
      <com.pmease.quickbuild.FileDelivery>
        <srcPath>artifacts/dir2</srcPath>
        <filePatterns>**/*.war</filePatterns>
      </com.pmease.quickbuild.FileDelivery>
    </deliveries>
  </promotionSource>

</com.pmease.quickbuild.BuildRequest>

Sample XML의 comment에서 확인할 수 있듯이 <promotionSource>내부는 생략 가능하다.

분양사의 말바꾸기 대처 방법

분양사의 말바꾸기에 대한 대처방법에 대한 질문/답변을 보았다. 가장 좋은 방법은 국민권익위원회에 민원을 넣는 것이라 한다.

자료 수정하기 전에 모두 모아두고, 다음과 같은 형식으로 민원을 넣었다고 한다.

OOOO등의 행동은 국민의 이익에 반하고 기만하는 행위이며, 이에 따라 모든 부분 불신이 생겨 부실공사 등 안전에도 문제가 있을 것으로 생각됩니다. 입주민들의 안전과 이익을 담보삼아 재산권을 위협하는 AAA의 문제에 대해서 전반적으로 확인해주셨으면 좋겠습니다.

자료를 수정하고 준비를 하기 전에 바로 민원으로 넘어가는 것이 좋다고.. 시청에 허가받을 당시 도면 같은 것을 열람신청해서 받으라고 한다.

[RaspberryPi] USB Port control

24시간 내내 돌리면 라즈베리 파이가 너무 뜨거울 것 같아서 USB 선풍기를 포트에 연결하고, 이걸 껐다 켰다 하려고 시도했다. 결론적으론 다른 USB 기기를 쓰지 않는다면, 전체 USB 포트를 껐다 켜는 방식으로 가능하다. 다른 USB 기기를 사용한다면, 실패. 아직 디바이스 드라이버에 커널 컴파일까진 시도하고 싶지 않다.

https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=93463 쓰레드를 참고하면, hub-ctrl을 이용하면, 전체 포트 혹은 개별 포트를 껐다 켰다 하는 것을 할 수 있다.  그러나 개별 포트를 끄는 게, 실제 VBUS 전원까지 내리는 건 아니고, 그냥 못쓰게 할 뿐이다. 그래서, 전체 포트를 끄지 않는 한, 개별 포트를 꺼도 해당 포트 VBUS는 살아있기 때문에 USB 선풍기는 계속 돈다-_-;;

다음은 usb-ctrl의 설치 및 사용 방법이다.

라즈베리 파이에서 다음을 설치한다.

# apt-get install libusb-dev

다음으로 바이너리를 만든다.

# apt-get install git gcc
# git clone https://github.com/codazoda/hub-ctrl.c
# gcc -o hub-ctrl hub-ctrl.c -lusb

만든 바이너리를 적당한 곳(예를 들면, /usr/sbin/)에 설치한다.

# cp hub-ctrl /usb/sbin/

나의 경우 한 시간에 한번 정도, 50초 정도 돌게 하고 싶었다. /etc/cron.hourly 아래에 다음과 같은 스크립트를 만들어 실행 권한을 준다.

# vi /etc/cron.hourly/coolingusbfan
#!/bin/sh
hub-ctrl -h 0 -P 2 -p 1; sleep 50; sudo hub-ctrl -h 0 -P 2 -p 0

참고로, 다음 그림과 같이 포트 번호를 붙인다면,

라즈베리 파이 3 Model B의 경우, 다음과 같다고 한다.

Hub:Port — Controlled port(s)
0:1 — Controls the Ethernet port
0:2 — Controls all four USB ports (not the Ethernet)
0:3 — Controls USB Port 4
0:4 — Controls USB Port 2
0:5 — Controls USB Port 3

NAS를 위해, 외장 하드를 붙일 거라 이제 더는 위 스크립트를 사용하지 못한다.

오디오 북?

몇 주전에 메일로 거의 매일 날아오는 책 한구절을 보내주시는 분이 앞쪽에 몇 마디를 쓰시는데, 거기에 ‘부자들의 습관 10가지’류의 글을 링크해 뒀길래 심심풀이로 한번 읽어 보았었다.

책 읽는 습관에 관해 얘기하면서, 보지 못하더라도 이동 시간 중에 오디오북을 이용한단 얘기가 있었는데, 꽤 괜찮은 방법 같다. 한 7년전 쯤, 미국 출장을 갔을 때 ‘아웃라이어’ 오디오북을 사셨던 책임님이 있었는데 하는 생각도 나고. 말콤 글래드웰이 직접 읽어 주더란다. 7년 전부터 그랬으면 미국은 지금 커다란 시장이 됐겠다. 한국은 어떨까?

‘진짜배기 코드 평가자라면 하지 말아야 할 네 가지’를 읽고

개인의 경우는 대체적으로 설득 가능하다. 그러나, 모든 팀원이 그래서 모두를 설득해야 한다면, 팀 혹은 회사 차원의 문제다. 이런 경우, 개인을 설득하려 해도, “다들 그래요”, “그게 여기서 되겠어요?”, “그거 한다고 안바뀌어요”, “당신 때문에 내 코드가 못들어가고 있어요. 오늘 릴리즈인데, 당신이 책임질거요?” 따위의 말이나 듣는다. ‘협업 안되는 사람’이 되고.

내가 아는 어떤 회사가 그랬다. 요즘은 좀 바꾸려고 하는 것 같던데, 이런 사람들이 위에서 때리면, 제일 먼저 자기는 안그런다 하더라.

만약 당신이 동료를 향해 신경쓰이는 기분이 든다면 회사 혹은 팀의 경영 측면에서 문제가 있는 겁니다.

(번역) 진짜배기 코드 평가자라면 하지 말아야 할 네 가지

작은숲카페

사진 업로드 테스트 겸 프로자랑꾼 놀이.

겨울에는 못 올 것처럼 경사가 급한 길을 오르면 보인다. 주차는 널널하다. 야외에 자리도 많이 만들어두고, 뒤에는 인디언 텐트 같은 것도 보인다. 실내에 의자가 편한 자리는 별로 없다. 오히려 야외에 편한 자리가 많다.

어떤 커피가 맛있냐고 물으니, 아인슈패너라는 게 잘 나간다고 권한다. 뭐냐고 물어보니 비엔나 커피란다. 나온 걸 보니 안 쪽엔 쓴 커피가 생크림을 얹었는데, 내 취향은 아닌 것 같다. 단팥 크림 크로아상이란 특이한 빵이 있다. 맛은 괜찮다.

밤톨이는 다른 20개월 아이가 보이니 관심을 보이며 쫓아다닌다. 다람쥐도 보이고 가서 부른다. 밖에 나가더니 안들어온다.

blog.dasomoli.org를 아예 WordPress로

따로 만든 워드프레스 블로그를 원래 쓰던 blog.dasomoli.org로 연결했다. 티스토리 블로그에 접속하면 이리로 넘어오게 했더니, 리퍼러나 접속 통계를 볼 때 어디서 오는지가 전부 blog.daaomoli.org로 나타나길래..

어차피 URL을 같게 하는 것은 Channy님의 Tistory에서 워드프레스로 URL 그대로 이사하기를 이용했기 때문에, 넘어오는 것에 문제는 없었다.

기존 티스토리 블로그는 tistory.dasomoli.org로 해놓았지만, 접속하면 결국 또 이리리 넘어온다. ^^;;;;;

생각할수록 바보 티스토리 같으니…

이상지질혈증 약 복용 정보

LDL 190 이상: 스타틴 사용

복용시간 제한 없는 약: atrovastatin, pitavastatin, rosuvastatin
리피토를 우리나라에서는 가장 많이 먹음

약학정보원에서 약 정보를 찾을 수 있음

이미 심장혈관질환을 겪은 경우, 스타틴 중단시 계속 복용군보다 재발 및 사망률 4배 증가

콜레스테롤 감소 외에 혈전/염증 억제 다면 발현성 효과

-> 꼭 주치의와 상의. 매 3개월 마다 확인

약 부작용:

소화 장애, 속쓰림 ~4%

2%: 간독증(0.5-2%), 근육병증(0.1%-0.01%)

다른 약을 써서 부작용을 줄일 수 있음.

당뇨 발생 가능성: 약 9% 증가. 60세 이상 연령에서 주로 발생
결론적으로 심장혈관질환 예방 효과가 더 커서 약을 쓰는게 나음

ezetimibe: 장에서 흡수 억제. 효과는 좀 떨어짐.

fibrate: 중성지방을 25-50% 낮춤.

오메가 3: 중성 지방을 낮추고, HDL 높임. 많이 먹어야 효과 봄. 혈관 질환을 낮춘다는 건 입증되지 않음. 이상지질혈증 치료를 위한 경우, 의료 보험으로 처방받을 수 있음.