Pebble

最近はVisualStudio2012でASP.NETで大乱闘してやばいのですが、ふと現実逃避しているとtwitterでまさかの人がまさかのVisualStudio発言をしていてリプ投げたら、pebbleなるものを投げ返してきました。

Pebble Smartwatch | Smartwatch for iPhone & Android

自分でお手軽にプログラムできるデジタル時計です。

で、画像の1つもおかずに、以下はメモです。

memo pebble

JenkinsでWindows Slaveを使いbitbucketのgitリポジトリを取得してビルドする。

Windows Server 2012にjenkins slaveを動かし、asp.net mvcのプロジェクトをbitbucketのプライベートリポジトリから取得して、ビルド、テスト、azure websitesにデプロイしてみる。

ロジェクトを発行してazureにデプロイできる前提です。

1. ノードの追加
=========================
jenkinsはlinuxサーバー上にあるので、ノードの管理>新規ノード作成からwindows server 2012のサーバーを追加

* JNLP経由でスレーブを起動するよう設定
* ここのツールの設定は設定しなかった。

2. jenkinsのシステム設定
=========================
jenkinsの設定>システムの設定>Gitに対象のサーバー用のgitを追加。

:Name: git
:Path to Git executable: C:/Program Files (x86)/Git/cmd/git.cmd

git.cmdの中身はこんな感じ
[powershell]
@echo off
set HOME=C:\Users\Administrator
set PATH=C:\Program Files (x86)\Git\bin;%PATH%
git %*
[/powershell]

このjenkinsのスレーブはAdministratorで動かすので、HOMEにC:\Users\Administratorを設定する。
C:\Users\Administrator\.sshを作って、ssh-keygenで鍵を作り、公開鍵をbitbucketに登録する。

3. ジョブの追加
=========================
ジョブを追加して設定を開く

ソースコード管理: Git
—————————
* Repositories: git@bitbucket.org:xxxxx/yyyyyyy.git
* Credentials: なし
* Git executable: 2で追加したgit

ビルド・トリガ
—————————
* SCMをポーリング: H/15 * * * *

ビルド
—————————
ビルド->テスト->デプロイのイメージ。全部Windowsのバッチ処理。

1. restore nuget packages
ビルドするときにも復元してくれるけど、先にやらないとビルドが成功しない・・・。放置。

.nuget\nuget.exe restore xxxxx.sln -ConfigFile -NonInteractive

2. ビルド

“C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe” xxxxx.sln /t:build /p:Configuration=”Release”

3. テスト

“C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe” xxxxx.unittests\bin\release\xxxxx.unittests.dll

4. デプロイ

“C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe” xxxxx.sln /p:DeployOnBuild=true /p:PublishProfile=”xxxxx” /p:Password=yyyyy /p:AllowUntrustedCertificate=true

:xxxxx: 発行のプロファイルの名前
:yyyyy: Azureから取得した発行プロファイルの中にあるパスワード

NuGet.exeでパッケージの復元でエラー
============================================
リモートサーバーに接続できないようなエラーがでていたので、確認してみるとファイアウォールに引っかかって失敗していました。
NuGet.exeの通信を許可するよう設定したところうまくいくようになった。

その他
===========
あとはメール通知をしたりして終わり。

そういえば
============
* MSBuildのプラグインがあったけど、以前はうまく動作させることができず、Windowsバッチにしていた。今度暇があれば試してみよう。
* VisualStudioOnlineってこういうことできるのかなぁ。
* デプロイしたサイトに対してseleniumを走らせて、問題なければプロダクション環境の切り替えがしたいなー。
* jenkinsの本を買おうかなぁ。こういうこと書いてるかなぁ・・・。

windows azure websitesでのbitbucketからのデプロイでエラー

ASP.Net MVC4のプログラムをWindows AzureのWebsitesにデプロイしようとAzureでWebsitesを見てみると、bitbucketからデプロイできるようになってました。
前からあったっけ?

普通のデプロイはできる状態だったので、bitbucketからのデプロイにしてみましたが、デプロイ(ビルド)でエラーが・・・!

1. nugetパッケージが無くてエラー

これは、ソリューションから NuGetパッケージ復元の有効化 を有効にするとOKみたいです。
ただ、ソリューションのトップディレクトリに.nuget\NuGet.exeが出力してくれるが、.gitignoreで*.exeとしていたので、デプロイに反映されなくて悩んだ。

2. System.Web.MvcとSystem.Web.Helpersの参照エラー
これはなぜ!?
解決方法がわからず、ローカルでビルドして出力されたdllをコピーして、そちらを参照するよう変更したらビルドできました(当たり前か)。

とりあえず目的は達成出来ましたが、System.Web.Mvcが参照できていないのがいまいち。

macがスリープ解除後にフリーズしやすくなった

最近、スリープ解除後にフリーズするようになりました。

 

chromeを触っているときによく止まるのでChromeが悪いのかと思っていましたが、最近はそうでもないことが続いたのでそうでもないようです。

そういうわけで、Macが調子悪い時のお約束を実行しておきました。

 

Macの調子が悪くなって遅くなった時にディスクの修復をしたら一発で治った | ごりゅご.com
OS X Mountain Lion: コンピュータの PRAM をリセットする

 

これで良くなると良いなー。

ちっちゃくて簡単!Scratchで遊べるセンサーボード。なのぼ〜ど

なのぼ〜どというArduino互換Scratchセンサーボードを購入してみました。

なのぼ~ど NanoBoard AG « ちっちゃいものくらぶ

 

IMG 5372 

 

旭川で参加している Coder Dojo 旭川 でScratchをやる子供がいたら、
ネタの1つになるかと思い購入しました。

お値段は完成品が送料込で2000円です。キットだと1500円ですね。

今回は、「ギアモーター + LEGO用ゴムチューブ + ケーブル」も頼みました。

なのぼ〜どには最初から光センサー、音センサー、ボタン、スライダー、抵抗A〜Dがついており、arduino互換で拡張も可能です。

 

遊び始めるまでにやること

以下はMac OSX 10.9.1 の場合です。
Windowsの場合は、 ScratchとつなげられるNanoBoardAGのセットアップ方法 | LittleCoder Mie が参考になると思います。

 

1.必要なファイルのダウンロード

 ScratchNanoBoardAG.zip – Google Drive からダウンロードします。

 ダウンロードしたファイルを展開(解凍)します。

Screen Shot 2014 01 19 at 21 55 11

 

2.ドライバのインストール

md_PL2303_MacOSX10.6_dmg_v1.4.0 をインストールします。

Screen Shot 2014 01 19 at 22 01 51

Screen Shot 2014 01 19 at 22 01 38

 

開くときは、右クリックして、SHIFTを押しながら開きました。

Screen Shot 2014 01 19 at 22 02 07

インストールしたら再起動します。

再起動後、なのぼ〜どとMacをUSBケーブルでつなぎます。

 

3.Scratchの起動

NanoBoardAGWithMotor.image という名前のファイルをダブルクリックしてScratchを起動します。

Screen Shot 2014 01 19 at 22 18 13

Screen Shot 2014 01 19 at 23 16 11

 

起動したら「調べる」を開き、一番下にある「[スライダー]センサーの値」にチェックを付けます。

Screen Shot 2014 01 19 at 22 22 03

Screen Shot 2014 01 19 at 22 22 08

スライダーセンサーの値が表示されるので、なのぼ〜どのスライダーを動かして値が変わることを確かめます。

 

4.モーターの確認

モーターを接続します。

M1と書かれたところ(左から2つ分)にケーブルを差し込みます。

IMG 5393

ケーブルの反対側の端子をモーターに繋ぎます(左右はどちらでもいい)

「編集ー>モーターのブロックを表示する」をクリックします。

「モーターを1秒オンにする」をクリックします。

急に動いてびっくりします!

 

これで遊ぶ準備は完了です!(たぶん)

 

「たぶん」なのは今日はこれで終わりだからです。動作確認しかしていません・x・;

 

 

アップデートもせず放置してたら、wordpressのphpに怪しげなコードが入ってた

もう1年も放置していました。

数日前からこのサイトが落ちているようなので確認してみたところ、wrodpressのphpがエラーで止まっていました。

なんでだろうと見てみると、あやしげなコードが沢山!!

なんかやられちゃってました。ちゃんと更新しないとダメですね。

スクリプト言語の作り方

今年最後の投稿ですね。

今年はたくさん本を読みたかったけど余り読むことができませんでした。
ほんとうにもっともっと読みたかった。

その原因の1つは「スクリプト言語の作り方」という本です。

「Stone言語」というオリジナルのスクリプト言語をJavaで作りながら、プログラミング言語の作り方の基礎を学んでいくといった内容の本です。

サンプルコードがJavaなので、それをpythonで書き直しながら読んでいます。
8月に本を買って現在chapter12です(基本的なところはchapter14まで)。毎日取り組めるわけではないけど、絶望的な進捗具合です。自分の頭が悪さが悔やまれます。
planset/stone-py · GitHub

ただ、実際にうまく動いたとき(サンプルなので必ずうまく動く!)は楽しいものです。
年をまたいでしまいますが、あとchapter2つ+αをがんばります。

さて、というわけで、どうでもいいような投稿が今年の最後ですが、皆様今年も本当にお世話になりました。
来年もよろしくお願いします。

第4回 Python勉強会@旭川 エラーと例外

Python勉強会@旭川です。もう4回目なんですな。

第4回 Python勉強会@旭川 – connpass

今回は割と読んだつもりだったのですが、
raiseで例外を送出できるのが、インスタンスだけではなくて、
クラスでもいいってのは見落としていたので、気がつけてよかったです。

というわけで、今日のメモ。

続きを読む