bloghttp://github.com/sohaこの広告は、90日以上更新していないブログに表示しています。第2版を読んでいます。nsfg.ReadFemPreg()の中で実行されているpandas.read_fwf()http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_fwf.htmlの意味が公式ドキュメントを見てもさっぱり分からなかったので実際に動作確認した結果をメモ。pandas.read_fwf()をどんな時に使うかというと、テキストを区切り文字(カンマやタブなど)で分割するのではなく、固定長で分割し読み込みたい時。カンマ区切りであれば、read_csv()、タブ区切りであれば、read_table()が使えます。サンプル以下のようなinput.txtがあるとする。区切り文字を使用せず、文字の長さで分割してみる。[(0,5),(5,12),(13,14)]の位置で分割した形でDataFrameが取得できます。00:05pandas.read_fwf()の使い方Tweet広告を非表示にするもっと読むコメントを書く2015-04-05OpenAMをソースからビルドする。「OpenAMは、オープンソースのアクセス管理、エンタイトルメント、フェデレーション·サーバーのプラットフォームである。わかりにくいですが、簡単に言うとWebアプリでシングルサインオンを実現するためのサーバです。OpenAMの情報は以下のサイトが詳しいです。1.7.19がインストールされていること。10.10を使用しました。1.7系を使用しましたが、1.8系がインストールされている場合、pom.xmlに1.8用のsvnkitを指定しないとビルドエラーになるかもしれません。Linuxでビルドしたところそのようになりました。checkout時にアカウントが求められるようですので、作成しておきます。(無料です)https://backstage.forgerock.com/#!/account/registe続いてソースのチェックアウトhttp://wikis.forgerock.org/confluence/display/openam/Guide+to+OpenAM+Subversionこちらにtrunkをチェックアウトする手順が書かれていますが、trunkは、随時修正が入って変わってしまいそうな気がするので、今回は12.0.0-1のタグを使用します。以下のコマンドにてチェックアウトできます。ビルドhttp://wikis.forgerock.org/confluence/display/openam/Build+OpenAM+from+Sourceこちらに記載のある通り、チェックアウトしたディレクトリの直下にあるopenamディレクトリに移動したのち以下のコマンドでビルドできるようです。------------------------------------------------------------------------上記のログに出ているように/Users/user1/.m2/repository/org/forgerock/openam/openam-soap-sts/12.0.0-1/openam-soap-sts-12.0.0-1.warにwarファイルがインストールされました。19:58OpenAMをソースからビルドする。CIという継続インテグレーション(自動ビルドや自動テストを継続的に行う)サービスを使ってみました。今回は動作確認を目的としているので、以下のレポジトリをfolkし使用させていただきました。https://github.com/skinny-framework/skinny-framework-example以下のように本家のGitHubのサイトからforlし、自身のGitHubのアカウントのレポジトリとします。CIとの連携をONにします。OFFの状態からONにしました。CIを使う準備はできましたが、デフォルト設定では、レポジトリに対しなんらかのcommitのpushをフックしてビルドが起動するようですので、まずはなんでもいいのでcommitを作りpushします。CIの設定ファイルを確認します。プロジェクト直下の.travis.xmlというファイルが該当します。動作確認した状態では以下のようなものになっていました。CIでテストを実行させるコマンドになります。travis.shの中身を見ると以下のようになっていました。test:coverageここは使用するフレームワークなどにより記載内容は異なるものになると思います。after_successについては、テスト実行時に実行される処理です。ここでは、sbtのcoverallsプラグインを使用して、coverallsにテスト結果を送信しています。env.global.secureは、coverallsで使用するレポジトリを特定するためのものです。coverallsから発行されるREPO_TOKENをそのまま記載しGitHubに載せるのは望ましくないとのことからこのように暗号化して記載することが推奨されているようです。CI環境を作るhttp://qiita.com/dmnlk/items/3fb4e0abb98e39fee275「Tokenを暗号化してセキュアにする」のところ。フック用新規commitの作成(Coverallsのsecure設定)新規commitは、ダミーファイルを作るなりどんな変更でもいいのですが、さきの.travis.xmlのenv.global.secureは、レポジトリ毎に有効な値のため、folkした今回のレポジトリでは、オリジナルの値は使えません。そのため今回のレポジトリ用の値を取得します。TOKENの値をメモします。CIと同様にまずは、レポジトリを有効にします。TOKENの値は、ログインしていればCoverallsのレポジトリ画面右側に表示されてるようです)この値をもとにenv.global.secureの値を生成します。実行にはRubyの動作環境が必要です。travistravisパッケージをインストールし、以下のコマンドを実行します。画面上にsecureの値が表示されるため、これを.travis.xmlに上書きコピーします。commit適当にコミットログを記載し、commitします。pushclone元へのpushなので、デフォルトで引数不要です。このあたりは単純にGitHubの話ですね。CI上で処理が実施されているはずなので、サイトにアクセスしてみます。今回のケースでは以下のURLとなります。(見るだけであればログインせずとも誰でも可能なようです)https://travis-ci.org/soha/skinny-framework-exampleずらずらと処理が実行されています。Travis内で実行されている主な処理は以下の通りです。soha/skinny-framework-exampleGitHubより該当ソースをcloneしています。COVERALLS_TOKEN=[secure]Coverallsの認証設定をしています。-version.travis.xmlの設定に従いJava環境まわりの設定をしています。今回のCoverallsのサイトのURLは、以下の通りです。こちらもログインせずとも参照はできるようです。外気温や電気代(冷暖房費)との関係を調べてみたいと思っています。進めるにあたりこちらのページを参考にさせていただいています。・BBBとBoneScriptとGroveモジュールで温度を表示しようhttp://marutsuparts.blog74.fc2.com/blog-entry-1057.htmlBeagleBone自体の入門としては、こちらの記事をまず読むことをおすすめします。お手軽に開発をしようhttp://marutsuparts.blog74.fc2.com/blog-entry-1051.htmlBeagleBoneでは、JavaScriptにて端末を操作することができます。IDE」というWebアプリでの開発ツールが提供されているのが斬新でした。必要な箇所のみ以下に転記させていただきます。1000);BeagleBone本体の4つのLEDが1秒ごとにチカチカするのが確認できました。続いて本題のこちら・BBBとBoneScriptとGroveモジュールで温度を表示しようhttp://marutsuparts.blog74.fc2.com/blog-entry-1057.htmlこちらもサイトのソースコードが見づらいため以下に転記させていただきます。」にしたところうまく動かなかったため、「temp.js」としました。画面下部にTemperatureとして温度が取得できているのがわかります。このサンプルのケースでは、setIntervalにより1秒毎に更新されます。今はコンソールに出力するだけですが、定期的にログファイルに残すことで、目的とすることが実現できそうです。14では、最初からEmacsのキーバインドの設定を持っています。Keymapこの中のKeymapsという項目に「Emacs」というものがあり、エディタをEmacsキーバインドに設定できます。このキーバインド、初期状態のままでは、私には少し使いづらいかったので以下の点をカスタマイズしました。Ringの動きとならないようでした。w」が使えないのは、どうやらMac特有の問題のようです。MR03LN(NECのルータ)で使えないか試してみました。MR03LNでは、通常APNの設定をすれば多くのSIMで使用できますが、SoftBankの4GLTE回線では、契約ごとにユーザ名とパスワードが変わるなど設定にひと手間掛かるようです。この契約毎のユーザ名とパスワードを確認できる大変便利なAndroidアプリSbmApnGetterというものがあったのでこちらを使用させていただきました。Z3でこのアプリを起動することで電話番号やIMSIなども設定してくれたため、そのままGenerateボタンを実行するだけでユーザ名とパスワードが生成されました。(厳密にはユーザ名やパスワードを抜き出すのではなく、電話番号やIMEIなどから生成しているようです。MR03LNの方の設定3G/LTE用のAPNの設定として以下のものを追加しました。APNは「fourgsmartphone」、ユーザ名、パスワードはSbmApnGetterで入手したものを入力。暗号化方式はCHAP、接続方式は、IPv4を指定しました。参考http://www.aterm.jp/function/mr03ln/guide/lte_3g.html上記にてLTE/3Gに繋がりました。想定外の使い方になると思いますので、高額請求が来る可能性などもあり得ます。お試しする際は、自己責任にてわかる方のみお願いします。numpyPythonによるデータ分析入門――NumPy、pandasを使ったデータ処理を読んでいて、よくわからなかった箇所があったのでメモ。numpyのargsort()の動きについてです。0])ドキュメントによれば、argsort()は、ソート結果の配列のインデックスを返すとのことのようですが、これの意味が当初よくわからなかったので実際に動かして確認してみました。2(対応する値は2)となります。対応がわかりやすいように値の後ろに括弧でインデックス値を入れると3(0),1(1),2(2)となります。0(対応する値は3)となります。実際に値を増やして動かしたところ想定通りの結果となっているため上記認識の理解で良さそうです。読者になる検索リンクはてなブログブログをはじめる週刊はてなブログはてなブログPro最新記事pandas.read_fwf()の使い方OpenAMをソースからビルドする。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。