tag:blogger.com,1999:blog-89741710950813239252024-02-07T14:06:52.790+09:00Try and Error and Simpleガジェットネタとか写真とか技術的なこととかtshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.comBlogger27125tag:blogger.com,1999:blog-8974171095081323925.post-77413683892645767742012-02-24T21:24:00.000+09:002012-02-24T21:24:46.871+09:00Titanium StudioでAndroid/iPhoneアプリ開発環境を作るJSで統一できるってところと、Android/iPhoneアプリを同時に作成できる?(作ったことないので)<br />
というところにひかれて環境を作りました。<br />
開発するマシンはMac OS X 10.7.3です。<br />
<br />
<b>Xcodeのインストール</b><br />
<br />
<ul>
<li>App Storeからインストール。説明は省略します。</li>
</ul>
<br />
<b>Android SDKのインストール</b><br />
<br />
<ul>
<li><a href="http://developer.android.com/sdk/index.html">ここ</a>から自分の環境にあったものをダウンロード</li>
<li><a href="http://dl.google.com/android/android-sdk_r16-macosx.zip" style="background-color: #ededed; color: #006699; font-family: arial, sans-serif; font-size: 13px; text-align: left;">android-sdk_r16-macosx.zip</a>をダウンロードしました。</li>
<li>解凍して自分の管理しやすい場所(私は、~/android-sdk)に置いたら、以下実行。</li>
</ul>
<br />
<blockquote class="tr_bq">
<span style="color: red;">~/android-sdk/tools/android</span></blockquote>
<br />
<ul>
<li>インストールしたいパッケージにチェックをつけてインストールする</li>
</ul>
<br />
<br />
<blockquote class="tr_bq">
※android4.0の開発したかったのですが、4.0だけ入れてもTitanium Studioの設定で、<br />
Android SDKディレクトリを選択しても認識してもらえませんでした。<br />
なので、Androdi2.2(API8)もここでインストールしときます。</blockquote>
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCsW1XT0Am_9lnDua6vMXEKGolhKMCYLgsX-OrFEcqxM95coYwrqCfRIObHCwVO_bKy0JjK1ltZrbf-NnCfsqEz6HyebJ43U7yCbPLUMBuhOC9OjRYVIiSiXnA5szJb9CUcwTnnmkBS0Y/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-02-24+8.01.11.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCsW1XT0Am_9lnDua6vMXEKGolhKMCYLgsX-OrFEcqxM95coYwrqCfRIObHCwVO_bKy0JjK1ltZrbf-NnCfsqEz6HyebJ43U7yCbPLUMBuhOC9OjRYVIiSiXnA5szJb9CUcwTnnmkBS0Y/s640/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-02-24+8.01.11.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span style="text-align: -webkit-auto;"><span style="font-size: small;">起動後の画面(パッケージインストール後の画面)</span></span><br />
<div style="text-align: left;">
<span style="text-align: -webkit-auto;"><span style="font-size: small;"><br /></span></span></div>
<span style="text-align: -webkit-auto;">
<div style="text-align: left;">
<span style="font-size: small;"><br /></span></div>
</span></td></tr>
</tbody></table>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<b>Titanium Studioのインストール</b></div>
<div style="text-align: left;">
</div>
<ul>
<li><a href="http://preview.appcelerator.com/studio/">ここ</a>から自分の環境にあったものをダウンロード</li>
<li>インストールは<a href="http://gihyo.jp/dev/serial/01/titanium/0001">ここ</a>を参考にしました。</li>
<li>インストール後、起動すると以下のような画面になります。</li>
</ul>
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgI-mm8CfxT7o-zmv-0y8O6DFhZuuc1tLzdOhqvZu-73rDWg0Ag5s3lhv608Q065kt9fr8uXxdqddWyKTmGprD8dVOhKwSDZsSXPiGVtgthyphenhyphenEFC8mBEVl_yN8KmHXlL9q7Tjmv7M2Wap_M/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-02-24+8.10.58.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="416" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgI-mm8CfxT7o-zmv-0y8O6DFhZuuc1tLzdOhqvZu-73rDWg0Ag5s3lhv608Q065kt9fr8uXxdqddWyKTmGprD8dVOhKwSDZsSXPiGVtgthyphenhyphenEFC8mBEVl_yN8KmHXlL9q7Tjmv7M2Wap_M/s640/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-02-24+8.10.58.jpg" width="640" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<ul>
<li>設定については、<a href="http://www.sawadaru.com/blog/?p=151">ここ</a>を参考にしました。</li>
<li>4.0の開発したかったので、Androidのバージョンは4.0.3を選択してます。</li>
<li>設定画面は以下のような感じです。</li>
</ul>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp3SwYdrPXm3ll7bmkWde_suSVgFsol32mJ-77pKr5lCjFB9WQw1NzMLApYZEa3VtxzOC2JgSCP0IPUdRICNGV32IiSnjqb9s8JleA1_1tkmN0zowdni-D6seA7ORzJP4IyzCwbUfL_yE/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-02-24+8.16.28.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="401" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp3SwYdrPXm3ll7bmkWde_suSVgFsol32mJ-77pKr5lCjFB9WQw1NzMLApYZEa3VtxzOC2JgSCP0IPUdRICNGV32IiSnjqb9s8JleA1_1tkmN0zowdni-D6seA7ORzJP4IyzCwbUfL_yE/s640/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-02-24+8.16.28.jpg" width="640" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>プロジェクトの作成とエミュレータ起動テスト</b><br />
<br />
<ul>
<li><span style="text-align: left;">プロジェクトの作成も</span><a href="http://gihyo.jp/dev/serial/01/titanium/0001" style="text-align: left;">ここ</a><span style="text-align: left;">を参考にしました。</span></li>
<li>プロジェクト作成後、プロジェクト名を右クリックで「Run As」からエミュレータを選択</li>
</ul>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbqlNiAacAlI1NkgFF4kCahKlOrPfkNBwXgTUzk9fE9OU2sy4MbrWYf3S24bbBIHZKjOQdGkVdbwesP89-u5PYIDmVIH_R9_gkHazs4_LK-TN75Es2HvmAWFOc6xBcOoBNie-mSWrTgzw/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-02-24+13.33.51.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="382" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbqlNiAacAlI1NkgFF4kCahKlOrPfkNBwXgTUzk9fE9OU2sy4MbrWYf3S24bbBIHZKjOQdGkVdbwesP89-u5PYIDmVIH_R9_gkHazs4_LK-TN75Es2HvmAWFOc6xBcOoBNie-mSWrTgzw/s640/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-02-24+13.33.51.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>iPhone/Androidのエミューレータ起動後</b></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBgoHl3TuqutfoNrYOsg-UBZQ_m7VRSV7OkLI1tfrcDeFmSiJyTOOewGkan0prMorOYZuFf6-f5tXlzbd99_xWBKzx4aLCxkFH2-m4XdvyhUSF2CRWqd8fWEYnTLMaRHjoem6-UJXK4rM/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-02-24+14.04.30.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBgoHl3TuqutfoNrYOsg-UBZQ_m7VRSV7OkLI1tfrcDeFmSiJyTOOewGkan0prMorOYZuFf6-f5tXlzbd99_xWBKzx4aLCxkFH2-m4XdvyhUSF2CRWqd8fWEYnTLMaRHjoem6-UJXK4rM/s640/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-02-24+14.04.30.jpg" width="340" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">iPhomeエミュレータ起動時の画面</td></tr>
</tbody></table>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBWLHmnuBlVR0kEeGcCvZybp31h6WSuwTyKjg9eK5AwS8QduhAn2vxPsVwmm7PciWl5DlPV49tWJHci5VTcmtusAW6ZeAK_h5zd1dSm9GmhKlVGOUBHGnYi3f0q6GvTZ7OenbnI8xklqk/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-02-24+14.04.40.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="472" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBWLHmnuBlVR0kEeGcCvZybp31h6WSuwTyKjg9eK5AwS8QduhAn2vxPsVwmm7PciWl5DlPV49tWJHci5VTcmtusAW6ZeAK_h5zd1dSm9GmhKlVGOUBHGnYi3f0q6GvTZ7OenbnI8xklqk/s640/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-02-24+14.04.40.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Androidエミュレータ起動画面<br />
<br />
<br />
<br />
<div style="text-align: left;">
開発等はこれから。</div>
</td></tr>
</tbody></table>
<br />
<br />
<br />
<br />tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-63049845173331565692012-02-14T21:29:00.002+09:002012-02-14T21:29:53.465+09:00macのterminalでtmux使うとスクロールで戻れないubuntuと同じ設定をmacでも使っているのですが、<br />
tmux使ったときにマウスでスクロールして戻ろうとすると履歴が消えている。。。<br />
<a href="http://d.hatena.ne.jp/a666666/20110425/1303747389">刺身さんのサイト</a>が参考になりました。<br />
ターミナルの問題とは思っていなかったです。<br />
<br />
<br />
<blockquote class="tr_bq">
<span style="color: blue;">set -g terminal-overrides 'xterm*:smcup@:rmcup@'</span></blockquote>
順を追ってやっていきましたが、この設定は必須ですね。<br />
これで元の状態に戻った。<br />
<br />tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-48242857936709384782012-02-02T22:15:00.000+09:002012-02-03T08:48:26.055+09:00インフラエンジニアのMacBookAir 11 その4最低限のアプリはインストールできたので、設定周りを中心に書いていきます。<br />
<br />
まず、やっておかないといけないのが、<b>ターミナルのログ取得</b>。<br />
Macのデフォルトのターミナルもそうですが、<br />
iTerm2なんかでもログの取得がデフォルトでない。。。<br />
まあ、Macを普通に使う人は必要ないですもんね。<br />
<br />
以前、ubuntuでやっているときは、zshrcに<br />
<blockquote class="tr_bq">
<span style="color: blue;">alias ssh='~/scripts/sh/ssh_wrapper.sh'</span></blockquote>
として、シェルの中で、screen使ってssh接続のみログをとってました。<br />
こんな感じで。<br />
<blockquote class="tr_bq">
<span style="color: red;">screen -q -c "ssh -l user $HOST" $LOG</span></blockquote>
これをそのまま流用しようとしたのですが、OSXのscreenコマンドには"-c"オプションがないようで使えませんでした。<br />
<br />
色々試して、ターミナルの環境設定の中の起動時にシェルを実行する部分に、<br />
screenのコマンドを入れたスクリプトを設定して、<br />
ターミナル起動時からの ログをすべて取ることにしました。<br />
シェルの内容は以下の通りです。<br />
<br />
<blockquote class="tr_bq">
<span style="color: blue;">#!/bin/sh<br />DATE=$(date +'%Y%m')<br />DATETIME=$(date +'%Y%m%d_%H%M%S')<br />LOG_DIR=${HOME}/.ssh_log/${DATE}<br />LOG_FILE=${LOG_DIR}/${DATETIME}.log </span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">[ ! -d ${LOG_DIR} ] && mkdir -p ${LOG_DIR}<br />settitle ${HOST}<br />script ${LOG_FILE}</span></blockquote>
<br />
スマートではないのですが、とりあえず、これでログの取得はできるので、<br />
一旦これでスタートしようと思ってます。いい方法があれば改善していこうと思います。<br />
<br />
<br />
次に、<b>tmuxの設定とtmuxのコピー&ペースト</b>について<br />
<br />
デフォの状態では、tmuxからpbcopyが使用できないのが問題で(たぶん)、<br />
vimでのヤンク時や通常のコピー(command + c)時にクリップボードに入ってこない。<br />
なので、ブラウザとかで調べ物するときとか、貼り付けることができない。<br />
<a href="http://vim.g.hatena.ne.jp/tokorom/20111211/1323619680">ここ</a>を参考に設定を行う。<br />
<br />
過去にこのブログでも書いていて、<br />
それみてやったけど、「date | pbcopy」やってもうまくいなかい。<br />
USBのLANが認識しなかったので、あきらめて再起動した後に再度試したらうまくいった。<br />
やりかたに問題はなかったみたい。<br />
ターミナルを正常に終了させないといけなかったのか、そもそも再起動が必要だったのか不明。<br />
<br />
私のtmuxの設定は以下のような感じです。<br />
<br />
<blockquote>
<span style="color: blue;"># prefix key 設定<br />unbind C-b<br />set-option -g prefix C-t<br />bind C-t send-prefix</span> </blockquote>
<blockquote>
<span style="color: blue;"># 256 color<br />set-option -g default-terminal screen-256color</span> </blockquote>
<blockquote>
<span style="color: blue;"># 日本語環境なら今のところ必須。<br />set-window-option -g utf8 on</span> </blockquote>
<blockquote>
<span style="color: blue;"># clipbordへのコピー&ペースト<br />set-option -g default-command "reattach-to-user-namespace -l zsh"<br />bind C-q run-shell 'reattach-to-user-namespace tmux-pbcopy'</span> </blockquote>
<blockquote>
<span style="color: blue;"># vi mode<br />set-window-option -g mode-keys vi</span> </blockquote>
<blockquote>
<span style="color: blue;"># ウィンドウ名が自動的に更新されないように<br />set-window-option -g automatic-rename off</span> </blockquote>
<blockquote>
<span style="color: blue;"># 保持するhistoryの行数<br />set-option -g history-limit 20000</span> </blockquote>
<blockquote>
<span style="color: blue;"># color関連<br />set -g status-fg white<br />set -g status-bg blue<br />set -g status-left '#[fg=white,bg=blue]#H#[fg=white]:#[fg=white][#S#[fg=white]][#[blue]'<br />setw -g window-status-current-fg white<br />setw -g window-status-current-bg blue<br />setw -g window-status-current-attr bold#,underscore<br />set -g pane-active-border-fg white<br />set -g pane-active-border-bg blue</span></blockquote>
<br />
今日はこのへんで。<br />
<br />tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-20683566528218165972012-02-01T20:10:00.001+09:002012-02-01T22:51:31.074+09:00インフラエンジニアのMacBookAir 11 その3今日は、設定周りをちょこちょこと。<br />
<div>
<br /></div>
<div>
<b>設定</b><br />
・vim<br />
・vimは、NeoBundleでモジュールを管理してます。<br />
・NeoBundleのインストール<br />
・<span style="color: red;">mkdir ~/.bundle && cd ~/.bundle && git clone git://github.com/Shougo/neobundle.vim.git</span><br />
・NeoBundleの設定。vimrcに記述します。<br />
<blockquote class="tr_bq">
<br />
<span style="color: blue;">set nocompatible</span><br />
<span style="color: blue;">filetype off</span><br />
<span style="color: blue;"><br /></span><br />
<span style="color: blue;">set rtp+=~/.bundle/neobundle.vim</span><br />
<span style="color: blue;"><br /></span><br />
<span style="color: blue;">if has('vim_starting')</span><br />
<span style="color: blue;"> set runtimepath+='~/.bundle/neobundle.vim'</span><br />
<span style="color: blue;"> call neobundle#rc(expand('~/.bundle'))</span><br />
<span style="color: blue;">endif</span></blockquote>
<br />
・モジュールのインストール<br />
・インストールしたいモジュール以下のような形式で.vimrcに記述します。<br />
・記述して保存したら、vimを開いて「<span style="color: red;">:NeoBundleInstall</span>」を実行します。<br />
・これでモジュールのインストールは終了です。各モジュールの設定は別途。<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
<span style="color: blue;">"NeoBundle</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'git://github.com/Shougo/clang_complete.git'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'git://github.com/Shougo/echodoc.git'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'git://github.com/Shougo/neocomplcache.git'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'git://github.com/Shougo/neobundle.vim.git'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'git://github.com/Shougo/unite.vim.git'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'git://github.com/Shougo/vim-vcs.git'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'git://github.com/Shougo/vimfiler.git'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'git://github.com/Shougo/vimshell.git'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'git://github.com/Shougo/vinarise.git'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">" add</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'http://vimdoc-ja.googlecode.com/svn/trunk/runtime'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'https://github.com/kana/vim-smartchr.git'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'https://github.com/thinca/vim-quickrun.git'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'Align'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'git://github.com/Lokaltog/vim-powerline.git'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'https://github.com/fuenor/qfixhowm.git'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'git://github.com/plasticboy/vim-markdown.git'</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">NeoBundle 'git://github.com/kchmck/vim-coffee-script.git'</span></blockquote>
</blockquote>
<b>インストールアプリ</b><br />
・skype<br />
・FileZilla(FTPソフト)<br />
<br />
<b>開発環境</b><br />
・pip(pythonのパッケージ管理システム)<br />
・<span style="color: red;">sudo easy_install pip</span><br />
・fabric(pythonで作られたデプロイツール)<br />
・<span style="color: red;">pip install Fabric</span><br />
・設定については、環境によって異なるとは思いますが、私の設定は以下の感じです。<br />
・対象ホストをテキストファイルで別途管理してます。<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
<span style="color: blue;">from fabric.api import run, env, sudo</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">hostlist = []</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">for list in open('host.txt', 'r'):</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;"> hostlist.append(list) </span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">env.user = "xxxxx"</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">env.hosts = hostlist</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;">env.password = "xxxxxxxxx"</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;"></span></blockquote>
</blockquote>
<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
<span style="color: blue;">def hw():</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;"> print("Hello World!")</span></blockquote>
<blockquote class="tr_bq">
<span style="color: blue;"> run('hostname') </span></blockquote>
</blockquote>
<blockquote class="tr_bq">
<blockquote class="tr_bq">
<span style="color: blue;">def change_ldap_conf(): </span></blockquote>
</blockquote>
<blockquote class="tr_bq">
<blockquote class="tr_bq">
<span style="color: blue;"> run('sed -e \'s/host 192.168.0.2/host 192.168.100.2 192.168.101.2/g\' /etc/ldap.conf')</span></blockquote>
</blockquote>
<br />
・ 使い方<br />
・登録している関数名の確認<br />
<blockquote class="tr_bq">
<span style="color: red;">fab -l</span> </blockquote>
<blockquote class="tr_bq">
・実行</blockquote>
<blockquote class="tr_bq">
<span style="color: red;">fab hw</span></blockquote>
<br />
<b>余談</b><br />
・初日に書いた、MacBookAirでのコンソール接続について<br />
今日、DC作業で実際に試せる機会があったので、試したところ問題なく使用できました。<br />
<br />
・接続の方法<br />
・デバイスを探して、screenでコンソールに接続する。至ってシンプル<br />
<blockquote class="tr_bq">
<span style="color: blue;">ls -l /dev/tty.*<br />screen /dev/tty.usbserial-FTAJLZRV</span></blockquote>
<br />
・特にscreenの設定をしていなかったので、ログが切れっちゃったのが残念でした<br />
・screenの設定してログ切れないようにすれば問題なく使えますね!<br />
<br />
<br />
<br /></div>tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-4050317873693103962012-02-01T00:27:00.002+09:002012-02-01T08:49:33.322+09:00インフラエンジニアのMacBookAir 11 その2昨日に引き続きです。<br />
<br />
<br />
<span style="color: blue;">設定変更</span><br />
・hostname<br />
・sudo hostname tshpaper<br />
・「システム環境設定」- 「共有」- 「コンピュータ名」を変更<br />
<br />
<br />
<span style="color: blue;">インストールアプリ</span><br />
・OpenVPNクライアントソフト<br />
・<a href="http://code.google.com/p/tunnelblick/downloads/detail?name=Tunnelblick_3.2.3.dmg">tunnelblick</a><br />
・remote desktop<br />
・<a href="http://www.microsoft.com/mac/remote-desktop-client">MicroSoftが出しているものを使用</a><br />
・IRC Client<br />
・<a href="http://limechat.net/mac/ja.html">LimeChat for Mac</a><br />
<br />
<br />
<span style="color: blue;">開発環境</span><br />
・tmuxのインストール<br />
・<span style="color: red;">brew install tmux</span><br />
・tmux.confも別途記載したいと思います。<br />
<br />
あまり進みが良くない。。。<br />
明日も引き続き。少しでも前に進めばOKってことで。<br />
<br />tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-5269694042946697672012-01-31T12:42:00.000+09:002012-01-31T12:42:31.790+09:00インフラエンジニアのMacBookAir 11 その1会社で使用しているPCをThinkPadx201からMacBookAir 11インチに変えました。<br />
今まさに移行の真っ最中。<br />
とはいっても仕事と並行してなので、1週間くらいはかかると思ってます。<br />
<br />
せっかくなので、備忘録として、インストールアプリや開発環境等を<br />
まとめていきたいと思います。<br />
<br />
とりあえず、初日にやったことは以下のとおり<br />
<br />
<span style="color: blue;">設定変更</span><br />
・firewallを有効にする<br />
・トラックパッドの設定を変更<br />
・「スクロール方向:ナチュラル」のチェックを外す<br />
・セキュリティ周りのソフト入れたら、「ソフトウェア・アップデート」<br />
・入力変換を「Control + Space」でできるように設定を変更<br />
・「キーボード」-「キーボードショートカット」-「キーボードと文字入力」-「前の入力ソースを選択」の設定を「Control + Space」に変更。ubuntuのなごりです。。。<br />
・デフォルトのシェルをzshに変更<br />
・別途zshの設定等は書こうと思います。<br />
<br />
<span style="color: blue;">インストールアプリ</span><br />
・セキュリティ周りのソフト(会社で規定されているもの)<br />
・QuickSilver<br />
・Chrome<br />
・Google日本語入力(本当はATOKが良かったんだけどな。。。)<br />
・シリアルコンソール用のドライバ<br />
・http://www.ftdichip.com/Drivers/VCP.htm<br />
・物理的なもの自体は、<a href="http://www.amazon.co.jp/gp/product/B00009Y7UZ/ref=as_li_ss_tl?ie=UTF8&tag=dooluka-22&linkCode=as2&camp=247&creative=7399&creativeASIN=B00009Y7UZ" style="background-color: white; color: black; font-family: arial, helvetica, sans-serif; font-size: 14px; line-height: 24px; text-align: left;">iBUFFALO Arvel USBシリアルケーブル 1M グラファイト カラー SRC06USB</a><br />
・使用した感想はまた後ほど。<br />
<br />
<span style="color: blue;">開発環境</span><br />
・Xcode4インストール<br />
・brewのインストール<br />
・<span style="color: red;">/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"</span><br />
・vim 7.3のインストール<br />
・デフォのものは、python, rubyが有効になっていないので、brewからインストール<br />
・<span style="color: red;">brew install https://gist.github.com/raw/1027452/7e41f7c5ce2683c3a0ecd2a4ff6cedd7e99a24c5/vim.rb --enable-interp=python,ruby</span><br />
・vimrcの設定は別途zshあたりと一緒にでも書こうと思います。<br />
<br />
<br />
とりあえず、初日はこんなところで。tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-73285997194378560882012-01-23T08:57:00.001+09:002012-01-23T09:06:21.394+09:00coffeescriptでexpressのsampleを書く<br />
<div xmlns="http://www.w3.org/1999/xhtml">
<br />
<ul><br />
<li>coffeescript</li>
</ul>
<blockquote>
<span class="Apple-style-span" style="color: blue;">express = require 'express'</span> </blockquote>
<blockquote>
<span class="Apple-style-span" style="color: blue;">app = express.createServer()</span></blockquote>
<blockquote>
<span class="Apple-style-span" style="color: blue;"><br /></span><br />
<span class="Apple-style-span" style="color: blue;">app.get '/', (req, res) -></span> </blockquote>
<blockquote>
<span class="Apple-style-span" style="color: blue;"> res.send 'Hello World'</span><br />
<span class="Apple-style-span" style="color: blue;"><br /></span><br />
<span class="Apple-style-span" style="color: blue;">app.listen 3000</span><br />
<br /></blockquote>
<br />
<ul><br />
<li>変換後のjs</li>
</ul>
<blockquote>
<span class="Apple-style-span" style="color: blue;">var app, express;</span><br />
<span class="Apple-style-span" style="color: blue;"><br /></span><br />
<span class="Apple-style-span" style="color: blue;">express = require('express');</span><br />
<span class="Apple-style-span" style="color: blue;"><br /></span><br />
<span class="Apple-style-span" style="color: blue;">app = express.createServer();</span><br />
<span class="Apple-style-span" style="color: blue;"><br /></span><br />
<span class="Apple-style-span" style="color: blue;">app.get('/', function(req, res) {</span> </blockquote>
<blockquote>
<span class="Apple-style-span" style="color: blue;"> return res.send('Hello World');</span> </blockquote>
<blockquote>
<span class="Apple-style-span" style="color: blue;">});</span><br />
<span class="Apple-style-span" style="color: blue;"><br /></span><br />
<span class="Apple-style-span" style="color: blue;">app.listen(3000);</span><br />
<br /></blockquote>
<ul>
<li>nodeで実行</li>
</ul>
<div>
<span class="Apple-style-span" style="color: red;">node app.js</span></div>
<ul><br /></ul>
<br />
ブラウザでhttp://127.0.0.1:3000にアクセスすると、<br />「Hello World」が表示されました。<br />
<br />
次回は、coffeescritp + expressでldapの管理ツールを作りたいと思います。<br />
<br />
[2012-01-23 08:45]<br />
<br /></div>
<br />tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-36121480961277911942012-01-20T01:49:00.001+09:002012-01-20T03:18:14.495+09:00node.jsのsampleをcoffeescriptで書いてみる<br />
<div xmlns="http://www.w3.org/1999/xhtml">
<br />
<ul><br />
<li>coffeescript</li>
</ul>
<blockquote>
<span class="Apple-style-span" style="color: blue;">http = require 'http'<br />httpd = http.createServer (req, res) -&gt;<br /> res.writeHead 200, 'Content-Type': 'text/plain'<br /> res.end 'Hellow World'<br />httpd.listen 1377, '127.0.0.1'</span><br />
<span class="Apple-style-span" style="color: blue;"><br /></span><br />
<span class="Apple-style-span" style="color: blue;">console.log 'Server running at http://127.0.0.1:1377/'</span><br />
<br /></blockquote>
<ul>
<li>quickrunの結果<a name='more'></a></li>
</ul>
<blockquote>
<span class="Apple-style-span" style="color: blue;">var http, httpd;</span><br />
<span class="Apple-style-span" style="color: blue;"><br /></span><br />
<span class="Apple-style-span" style="color: blue;">http = require('http');</span><br />
<span class="Apple-style-span" style="color: blue;"><br /></span><br />
<span class="Apple-style-span" style="color: blue;">httpd = http.createServer(function(req, res) {<br /> res.writeHead(200, {<br /> 'Content-Type': 'text/plain'<br /> });<br /> return res.end('Hellow World');<br />});</span><br />
<span class="Apple-style-span" style="color: blue;"><br /></span><br />
<span class="Apple-style-span" style="color: blue;">httpd.listen(1377, '127.0.0.1');</span><br />
<span class="Apple-style-span" style="color: blue;"><br /></span><br />
<span class="Apple-style-span" style="color: blue;">console.log('Server running at http://127.0.0.1:1377/');</span><br />
<br /></blockquote>
<ul>
<li>nodeで動作確認</li>
</ul>
<blockquote>
<span class="Apple-style-span" style="color: red;">node sample.js</span><br />
<br /></blockquote>
<br />
[2012-01-20 01:41]<br />
<br /></div>
<br />tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-34090659861177447172012-01-17T07:53:00.001+09:002012-01-20T03:18:34.541+09:00htmlをopen-browser.vimでブラウザで表示するquickrunでhtmlの結果をブラウザで確認したいのですが、<br />
スマートに記述できないくて困ってます。<br />
<br />
とりあえず、以下の方法を取ってますが、<br />
たぶん他にいい方法があるはず。<br />
<br />
<ul><br />
<li>quickrunの設定</li>
</ul>
<br />
<a name='more'></a><br /><br />
<blockquote>
<br />
<span class="Apple-style-span" style="color: blue;">let g:quickrun_config['html'] = {'command' : 'cat', 'exec' : ['%c %s'], 'outputter': 'browser'}</span><br />
<br /></blockquote>
<br />
quickrunのoutputterは、結果をファイルに出力して、<br />
そのファイルをブラウザに出力するようになっているので、<br />
一度、htmlを何かしら出力してあげる必要があるのですが、<br />
その方法が見つからず。。。というか知らないだけだと思います。<br />
<br />
どなたかいい方法がありましたら、教えてください。<br />
<br />
[2012-01-17 07:36]<br />
<br />tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-34373717864931652292012-01-13T14:11:00.001+09:002012-01-20T03:19:26.199+09:00dnscacheの input/output errorエラーsshのログインが遅い。。。<br />この問題の調査に時間がかかったので、備忘録。<br />
<br />
<h2 id="状況">
状況</h2>
<br />
<ul><br />
<li>sshのログインに時間がかかる</li>
<br />
<li>sshのログインは、ldap経由で行っている</li>
<br />
<li>resolv.confの設定は、127.0.0.1で、localの53portは、dnscacheが待ち受けている</li>
<br />
<li>同じ環境の別のサーバへのログインは早い</li>
<br />
<li>NWのレンジは同じ</li>
<a name='more'></a></ul>
<br />
<h2 id="調査">
調査</h2>
<br />
<ul><br />
<li>/var/log/secureでsshのログを確認</li>
<br />
<li>pamの認証でldapのモジュールに処理が移るところで時間がかかっているように見えた</li>
<br />
<li>tcpdumpでパケットキャプチャしてみると、ldapからの結果を受け取った後で、時間がかかっていた</li>
<br />
<li>いろいろと調べていると名前解決に問題がありそうだったので、dnscacheのログを確認</li>
<br />
<li>input/output errorが出力されていたが、該当のファイルに問題はなさそう。</li>
<br />
<li>しかし、dig @localhostで名前を引くとtimeoutして引けない。別のサーバでは同じコマンドで正常に引ける</li>
</ul>
<br />
<h2 id="対応">
対応</h2>
<br />
<ul><br />
<li>svc -du /service/dnscache でdnscacheを再起動</li>
</ul>
<br />
こんなんで復旧しました。<br />
<br />
[2012-01-13 13:39]<br />
<br />tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-6023123323468374562012-01-13T08:31:00.001+09:002012-01-20T03:19:35.978+09:00coffeekupでhtmlの補完を有効にする.kupの拡張子でquickrunでcoffeekupを使うことができたんですが、<br />filetypeの指定をkupにしていたので、htmlの補完ができない状態でした。<br />補完効いた方が便利なので、以下のように設定を変更したところうまくいきました。<br />
<br />
<h3 id="neocomplcacheの動き">
neocomplcacheの動き</h3>
<br />
<a name='more'></a><br /><br />
いろいろと試したのですが、neocomplcacheのfiletypeの指定にkupを追加しても<br />補完してくれませんでした。<br />
<br />
<blockquote>
<br />
autocmd FileType html,markdown,kup setlocal omnifunc=htmlcomplete#CompleteTags<br />
<br /></blockquote>
<br />
調べていると、filetypeの指定に.htmlをつければいいという記事があり、<br />試したところ、quickrun側で、kup.htmlを認識できていないようでした。<br />ただ、補完は正常にできたので、たぶん、filetypeがhtmlという文字列で終わっていれば,<br />htmlとして扱ってくれるみたいです。<br />
<br />
<blockquote>
<br />
autocmd BufNewFile,BufRead *.kup set filetype=kup.html<br />
<br /></blockquote>
<br />
<h3 id="設定変更">
設定変更</h3>
<br />
最終的に、以下のように設定を変更しました。<br />
<br />
<blockquote>
<br />
autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags<br />autocmd BufNewFile,BufRead *.kup set filetype=kup.html<br />let g:quickrun_config['kup.html'] = {'type' : 'coffee', 'command' : 'coffeekup', 'exec' : ['%c -pf %s']}<br />
<br /></blockquote>
<br />
さらに快適になった!<br />
<br />
[2012-01-13 08:18]<br />
<br />tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-12951491637065111702012-01-11T00:30:00.000+09:002012-01-20T03:19:55.874+09:00QFixHowmをmarkdownに対応させて、bloggerへ投稿する<br />
<div xmlns="http://www.w3.org/1999/xhtml">
<br />
TODOやメモとしてQFixHowmを使っているのですが、<br />
blogもQFixHowmで管理して、blogger.vimでblogへ投稿しようというのが目的です。<br />
<br />
<h3 id="qfixhowm&#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12392;&#35373;&#23450;">
QFixHowmのインストールと設定</h3>
<br />
<ul>
<li>QFixHowmのインストールについては、<a href="https://sites.google.com/site/fudist/Home/qfixhowm/install">こちら</a>を参考にしてください。</li>
<li>markdownに対応させる設定については、<a href="https://sites.google.com/site/fudist/Home/qfixhowm/tips/vimwiki">こちら</a>を参考にしてください。</li>
</ul>
<br />
<h3 id="markdown&#12391;&#26360;&#12356;&#12383;&#20869;&#23481;&#12434;&#12502;&#12521;&#12454;&#12470;&#12391;&#30906;&#35469;&#12377;&#12427;&#12383;&#12417;&#20197;&#19979;&#12398;&#35373;&#23450;&#12434;vimrc&#12395;&#35373;&#23450;">
markdownで書いた内容をブラウザで確認するため、以下の設定をvimrcに設定</h3>
<br />
<a name='more'></a><br /><br />
<blockquote>
<br />
let g:quickrun_config['markdown'] = {'type' : 'markdown/pandoc', 'outputter': 'browser', 'cmdopt': '-s'}<br />
<br /></blockquote>
<br />
<h3 id="blogger.vim&#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12392;&#35373;&#23450;">
blogger.vimのインストールと設定</h3>
<br />
<ul>
<li>NeoBundleでインストール</li>
<li>vimrcに以下を記述して、NeoBundleInstall</li>
</ul>
<br />
<blockquote>
<br />
NeoBundle 'git://github.com/ujihisa/blogger.vim.git'<br />
<br /></blockquote>
<br />
<ul>
<li>vimrcの設定</li>
</ul>
<br />
<blockquote>
<br />
let g:blogger_blogid = '自分のblogにアクセスした際にアドレスバーに表示されるblogID=の数字'<br />
let g:blogger_email = 'googleで登録しているアカウント'<br />
let g:blogger_pass = 'アカウントに紐づくパスワード'<br />
<br /></blockquote>
<br />
<h3 id="quickrun&#12391;markdown&#12398;&#20986;&#21147;&#32080;&#26524;&#12434;&#12502;&#12521;&#12454;&#12470;&#12391;&#30906;&#35469;">
quickrunでmarkdownの出力結果をブラウザで確認</h3>
<br />
<ul>
<li>NeoBundleでインストール</li>
<li>vimrcに以下を記述して、NeoBundleInstall</li>
<li>使い方は、markdownで記述して「\r」するだけ。</li>
</ul>
<br />
<blockquote>
<br />
NeoBundle 'git://github.com/tyru/open-browser.vim.git'<br />
<br /></blockquote>
<br />
[2012-01-06 23:47]<br />
<br /></div>
<br />tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-27471263969086364592011-12-29T16:28:00.001+09:002011-12-29T16:29:30.353+09:00blogger.vim からの投稿テスト<h1 id="markdown形式で書いてみる">Markdown形式で書いてみる</h1><br /><h1 id="test1">test1</h1><br /><h2 id="test2">test2</h2><br /><blockquote><br /><p>段落</p><br /></blockquote><br /><ul><br /><li>リスト1</li><br /><li>リスト2</li><br /></ul><br />tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com1tag:blogger.com,1999:blog-8974171095081323925.post-66121987065185155762011-12-22T09:45:00.002+09:002011-12-22T13:40:41.238+09:00coffee&coffeekupでらくらくjs(javascript)&htmljs(javescript)を<a href="http://jashkenas.github.com/coffee-script/">coffee</a>という言語?を使って書いていたのですが、<br />
できればhtmlもcoffee形式で書きたいと思っていたところで、<a href="http://coffeekup.org/">coffeekup</a>というのがあるのを知りました。<br />
<br />
そこで、今回は、vim + quickrun + (coffee & coffeekup)を使って、<br />
jsとhtmlを楽に書く方法についてのまとめです。<br />
<br />
はまったところは、<br />
<br />
<a name='more'></a><br /><br />
<ol>
<li>私の環境(ubuntu 11.10)だけなのか、coffeekupがまともに動かなかったこと</li>
<li>coffeekupのfiletypeをcoffeeにしないといけないので、coffeeとcoffeekupを同時にquickrunで使えなかった(解決)</li>
</ol>
<div>
<br /></div>
<div>
まずは、インストールから</div>
<div>
<br /></div>
<div>
$ <span class="Apple-style-span" style="color: red;">npm install coffee-script -g</span></div>
<div>
$ <span class="Apple-style-span" style="color: red;">npm install coffeekup -g</span></div>
<div>
<br /></div>
<div>
私の環境では、<span class="Apple-style-span" style="color: blue;">node_modules/coffeekup/lib/cli.js</span>に書かれている</div>
<div>
coffeeのライブラリへのpathが異なっていて、まともにcoffeekupが動きませんでした。</div>
<div>
<br /></div>
<div>
なので、以下の通り修正しました。</div>
<div>
<br /></div>
<div>
変更前:<span class="Apple-style-span" style="color: blue;">OptionParser = require('coffee-script/lib/optparse').OptionParser;</span></div>
<div>
変更後:<span class="Apple-style-span" style="color: blue;">OptionParser = require('coffee-script/lib/coffee-script/optparse').OptionParser;</span></div>
<div>
<br /></div>
<div>
これで、coffeekupが正常に動くようになりました。</div>
<div>
<br /></div>
<div>
次にvimrcの設定</div>
<div>
<br /></div>
<div>
coffeekup(html)はcoffeeという拡張子でないと正常に動作しないようなんですが、</div>
<div>
そうすると、coffee(js)とかぶってしまいます。</div>
<div>
なので、coffeekupのファイルの拡張子をなんでもいいので、変えます。</div>
<div>
ここでは、kupとう拡張子にしてます。</div>
<div>
<br /></div>
<div>
======================================================</div>
<div>
" ファイル保存時の設定</div>
<div>
" 保存時に.jsで結果を保存する</div>
<div>
<span class="Apple-style-span" style="color: blue;">autocmd BufWritePost *.coffee silent CoffeeMake! -cb | cwindow | redraw!</span></div>
<div>
" ここで、kupという拡張子をkupというfiletypeに設定する</div>
<div>
<span class="Apple-style-span" style="color: blue;">autocmd BufNewFile,BufRead *.kup set filetype=kup</span></div>
<div>
" 保存時にhtmlで結果を保存する</div>
<div>
<span class="Apple-style-span" style="color: blue;">autocmd BufWritePost *.kup silent !coffeekup -f <afile></span></div>
<div>
<br /></div>
<div>
" quickrunの設定</div>
<div>
<span class="Apple-style-span" style="color: blue;">let g:quickrun_config = {} </span></div>
<div>
" coffeeというfiletypeはcoffeeコマンドを実行する</div>
<div>
<span class="Apple-style-span" style="color: blue;">let g:quickrun_config['coffee'] = {'command' : 'coffee', 'exec' : ['%c -cbp %s']}</span></div>
<div>
" kupというfiletypeをcoffeeというfiletypeに設定しなおして、coffeekupコマンドを実行</div>
<div>
<span class="Apple-style-span" style="color: blue;">let g:quickrun_config['kup'] = {'type' : 'coffee', 'command' : 'coffeekup', 'exec' : ['%c -pf %s']}</span></div>
<div>
<div>
<br /></div>
</div>
<div>
======================================================</div>
<div>
<br /></div>
<div>
これで、coffeeとcoffeekupが同時にquickrunで使えるようになります。</div>
<div>
<br /></div>
<div>
便利です!!</div>
<div>
<br /></div>
<div>
coffee,coffeekupの書き方については、</div>
<div>
それぞれ本家にサンプルがたくさんあるので、そちらで確認してみてください。</div>
<div>
<br /></div>tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-60468377098249269972011-12-16T08:41:00.004+09:002012-03-21T14:56:08.407+09:00【其の2】pythonでexcelシートをごにょごにょして、trac wikiフォーマットで出力<a href="http://blog.uguis.org/2011/12/pythonexceltrac-wiki.html">これの続き</a><br />
<br />
ありがたいことに、前回の投稿後に、<br />
@jun66j5さんからxlsxを扱えるモジュールを教えていただいたので、<br />
さっそく書き換えました。(本当は、xlsxでやりたかった!大変助かりましたー)<br />
<br />
<br />
<ol>
<li>excelシートからtrac wikiフォーマットで出力(完了)</li>
<li>出力した内容をtracにアップデートする(一旦完了)</li>
<li>できればエクセル更新される度に、自動で1、2の処理が実行される(svn or git管理ならフックしていけそう?)</li>
</ol>
<div>
<a name='more'></a>で、教えていただいたモジュールは、<a href="http://packages.python.org/openpyxl/index.html">openpyxl</a></div>
<div>
<br /></div>
<div>
コードは以下の通り</div>
<div>
<br /></div>
<div>
====================================================</div>
<div>
<div>
<span class="Apple-style-span" style="color: blue;">#!/usr/bin/env python</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"># - - coding: utf-8 - -</span></div>
<div>
<br /></div>
<div>
# xlsxファイルを読み込むモジュール</div>
<div>
<span class="Apple-style-span" style="color: blue;">from openpyxl.reader.excel import load_workbook</span></div>
<div>
<br /></div>
<div>
# オブジェクトの型を判断するためのモジュール</div>
<div>
<span class="Apple-style-span" style="color: blue;">from types import *</span></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
# ファイルを読み込む</div>
<div>
<span class="Apple-style-span" style="color: blue;">wb = load_workbook(filename = r'test.xlsx')</span></div>
<div>
<br /></div>
<div>
# シートを選択</div>
<div>
# wb.get_sheet_by_name(name = "シート名")でも選択可能</div>
<div>
# 日本語とか記号とか入ると面倒そうだったので、以下の方法で選択</div>
<div>
<span class="Apple-style-span" style="color: blue;">ws0 = wb.worksheets[0]</span></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<span class="Apple-style-span" style="color: blue;">for cellid in range(0,100):</span></div>
<div>
# ws0.cell(A1)といった指定も可能</div>
<div>
# ws0.range('A1:D5')といった指定も可能</div>
<div>
# 今回は、行と列を指定する方法でやってます</div>
<div>
<span class="Apple-style-span" style="color: blue;"> c1 = ws0.cell(row = cellid, column = 1)</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> c2 = ws0.cell(row = cellid, column = 4)</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> c3 = ws0.cell(row = cellid, column = 6)</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> c4 = ws0.cell(row = cellid, column = 7)</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> c5 = ws0.cell(row = cellid, column = 8)</span></div>
<div>
<br /></div>
<div>
# 値が入っていない場合、encodeしたときに怒られるので</div>
<div>
# NoneTypeの場合に'-'を変わりに入力するためのif文</div>
<div>
<span class="Apple-style-span" style="color: blue;"> val1 = '-' if type(c1.value) is NoneType else c1.value</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> val2 = '-' if type(c2.value) is NoneType else c2.value</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> val3 = '-' if type(c3.value) is NoneType else c3.value</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> val4 = '-' if type(c4.value) is NoneType else c4.value</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> val5 = '-' if type(c5.value) is NoneType else c5.value</span></div>
<div>
<br /></div>
<div>
# 値をファイルに出力</div>
<div>
<span class="Apple-style-span" style="color: blue;">out = "||" + val1.encode('utf_8') + "||" + val2.encode('utf_8') + "||" + val3.encode(</span></div>
<div>
<span class="Apple-style-span" style="color: blue;">'utf_8') + "||" + val4.encode('utf_8') + "||" + val5.encode('utf_8') + "||" + '\n'</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> #out = "||" + val1.encode('euc_jp') + "||" + val2.encode('euc_jp') + "||" + val3.enco</span></div>
<div>
<span class="Apple-style-span" style="color: blue;">de('euc_jp') + "||" + val4.encode('euc_jp') + "||" + val5.encode('euc_jp') + "||" + '\n'</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> f = open('test.txt','a')</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> f.write(out)</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> f.close()</span></div>
</div>
<div>
<br /></div>
<div>
====================================================</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
2.出力した内容をtracにアップデートする</div>
<div>
<br /></div>
<div>
ここは、やりかたいろいろありそうなんですが、</div>
<div>
とりあえず、trac-adminコマンドでさくっと。</div>
<div>
<br /></div>
<div>
<span class="Apple-style-span" style="color: red;">trac-admin {Environmentパス} wiki import <page> <file></span></div>
<div>
<span class="Apple-style-span" style="color: red;"><br /></span></div>
<div>
<br /></div>
<div>
これで問題なく更新することができました。</div>
<div>
<br /></div>
<div>
@jun66j5さんからExcel扱うときは、tracwysiwygでWYSIWYGモード中にこぴぺ</div>
<div>
という方法もあるとのことなので、時間見つけて試してみたいと思います。</div>
<div>
<br /></div>
<div>
後は、svn更新時のフックに1、2の処理をさせればOKなはずと思います。</div>
<div>
なんとか今週中には終わりそう!</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-51672796521704315822011-12-13T20:57:00.002+09:002011-12-22T13:30:07.691+09:00pythonでexcelシートをごにょごにょして、trac wikiフォーマットで出力久しぶりのpythonどえす。<br />
<br />
エクセルで管理されたリストをtrac wikiフォーマットで出力したかったので、<br />
チャレンジしてみました。<br />
<br />
やりたいことは、<br />
<br />
<ol>
<li>excelシートからtrac wikiフォーマットで出力</li>
<li>出力した内容をtracにアップデートする</li>
<li>できればエクセル更新される度に、自動で1、2の処理が実行される(svn or git管理ならフックしていけそう?)</li>
</ol>
<div>
<a name='more'></a></div>
<div>
今回は、1の部分のみできたので、忘れないうちに残しとこうと。</div>
<div>
残りは今週中になんとか形にしたいな〜</div>
<div>
<br /></div>
<div>
まずは、pythonでexcelを操作するためのモジュール探し。</div>
<div>
何個か情報があったのですが、<a href="http://www.python-excel.org/">このモジュール</a>がよさげだったので、インストール。</div>
<div>
※注意点として、<span class="Apple-style-span" style="color: red;"><b>xlsx(office 2007以上?)のフォーマットはまだ対応してません</b></span>でした。</div>
<div>
今後のアップデートでの対応予定はあるそうです。</div>
<div>
<br /></div>
<div>
<span class="Apple-style-span" style="color: red;">sudo easy_install xlrd</span></div>
<div>
<br />
<br /></div>
<div>
コードは、以下のような感じです。<br />
<a href="http://d.hatena.ne.jp/y_n_c/20100213/1266063968">ここのサイト</a>を参考にしました。</div>
<div>
<br /></div>
<div>
===================================================</div>
<div>
<div>
<span class="Apple-style-span" style="color: blue;">#!/usr/bin/env python</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"># - - coding: utf-8 - - </span></div>
<div>
<br /></div>
<div>
# モジュールのインポート</div>
<div>
<span class="Apple-style-span" style="color: blue;">import xlrd</span></div>
<div>
<br /></div>
<div>
# エクセルシートの読み込み</div>
<div>
<span class="Apple-style-span" style="color: blue;">wb = xlrd.open_workbook('/home/hoge/Documents/hoge.xls')</span></div>
<div>
<br /></div>
<div>
# シートの1番目を選択</div>
<div>
<span class="Apple-style-span" style="color: blue;">sheets = wb.sheets()</span></div>
<div>
<span class="Apple-style-span" style="color: blue;">s = sheets[0]</span></div>
<div>
<br /></div>
<div>
# セルを選択(列番号、行番号)</div>
<div>
<span class="Apple-style-span" style="color: blue;">for cellid in range(0,10):</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> c1 = s.cell(cellid,1)</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> c2 = s.cell(cellid,4)</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> c3 = s.cell(cellid,6)</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> c4 = s.cell(cellid,7)</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> c5 = s.cell(cellid,8)</span></div>
<div>
<br /></div>
<div>
# セルの値を取得</div>
<div>
<span class="Apple-style-span" style="color: blue;">val1 = c1.value</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> val2 = c2.value</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> val3 = c3.value</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> val4 = c4.value</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> val5 = c5.value</span></div>
<div>
<br /></div>
<div>
# trac wikiのフォーマットで出力</div>
<div>
<span class="Apple-style-span" style="color: blue;">out = "||" + val1.encode('utf_8') + "||" + val2.encode('utf_8') + "||" + val3.encode('utf-8') + "||" + val4.encode('utf_8') + "||" + val5.encode('utf_8') + "||" + '\n'</span></div>
<div>
<br /></div>
<div>
# ファイルに書きだす</div>
<div>
<span class="Apple-style-span" style="color: blue;">f = open('/home/hoge/test.txt','a')</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> f.write(out)</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> f.close()</span></div>
</div>
<div>
===================================================</div>
<div>
<br /></div>
<div>
今回は、特定の行の値を出力した形になっています。</div>
<div>
コード的にはもっと簡素にかけそうではありますが、とりあえず動くんでおいおい。</div>
<div>
<br /></div>tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-70237939227484370142011-12-06T08:14:00.001+09:002011-12-22T13:33:14.509+09:00coffee scriptをやっていたら、なぜかpyflakes-vimをインストールなかなか寝付けないのと子供に起こされたのもあり、14時出社にも関わらず、6時から起きとります。<br />
最近、@shivaken作のツールのメンテナンスをやりたいなーと思い、<br />
coffeescriptの環境を整えたので、以下備忘録。<br />
とそんなこんなしていたら、なぜかpyflakes-vimインストールしてました。<br />
<br />
<br />
<br />
<ol>
<li>coffee インストール</li>
<li>vim-coffee-scriptのインストール</li>
<li>coffee-scriptの設定とquickrunの設定</li>
<li>jslintインストール</li>
<li>もっとよくならないか調べる</li>
</ol>
<div>
<a name='more'></a></div>
<div>
1. coffee インストール(nodeの環境が整っていること前提です)</div>
<div>
npmでcoffeescriptをインストールします。</div>
<div>
<br /></div>
<div>
<span class="Apple-style-span" style="color: red;">npm install coffee-script</span></div>
<div>
ln -s ~/node_modules/coffee-script/bin/coffee /usr/local/bin</div>
<div>
※私の環境でPATHを通したかったのでやっているだけです。</div>
<div>
<br /></div>
<div>
2. vim-coffee-scriptのインストール</div>
<div>
NeoBundleを使用しているので、.vimrcに以下を記述して、「<span class="Apple-style-span" style="color: red;">:NeoBundleInstall</span>」で終了</div>
<div>
<br /></div>
<div>
<span class="Apple-style-span" style="color: blue;">NeoBundle 'git://github.com/kchmck/vim-coffee-script.git'</span></div>
<div>
<br /></div>
<div>
3. coffee-scriptの設定とquickrunの設定</div>
<div>
.vimrcに以下を追加</div>
<div>
<br /></div>
<div>
# 保存したときにコンパイルを実行してjsファイルを自動で作成する</div>
<div>
<span class="Apple-style-span" style="color: blue;">autocmd BufWritePost *.coffee silent CoffeeMake! -cb | cwindow | redraw!</span></div>
<div>
<br /></div>
<div>
# quickrun実行時にcoffeeの拡張子のものは、coffeeを実行する</div>
<div>
<span class="Apple-style-span" style="color: blue;">let g:quickrun_config = {}</span></div>
<div>
<span class="Apple-style-span" style="color: blue;"> let g:quickrun_config['coffee'] = {'command' : 'coffee', 'exec' : ['%c -cbp %s']}</span></div>
<div>
<br /></div>
<div>
4. jslintインストール</div>
<div>
Syntaxチェックのためにインストール。これもNeoBundle使ってるので2.と同様さくっと。</div>
<div>
<br /></div>
<div>
<span class="Apple-style-span" style="color: blue;">NeoBundle 'git://github.com/hallettj/jslint.vim.git'</span></div>
<div>
<br /></div>
<div>
5. もっとよくならないか調べる</div>
<div>
これでも結構いいんですが、例えば、test.coffeeをquickrunしたときに出力されるのは、</div>
<div>
たんなるjsファイルであって、私としては、そのjsファイルをnodeに渡した結果がほしいわけで。。。</div>
<div>
<br /></div>
<div>
あーだこーだ調べていると<a href="http://d.hatena.ne.jp/mackee_w/20111005/1317795322">ここ</a>へたどりつき、nodeのSyntaxチェックって結構魅力的!</div>
<div>
と、ここで目的がずれてきて、この記事に書いてあったpython、flymakeのキーワードに負け、</div>
<div>
なぜか、pyflakes-vimをインストールしました。。。</div>
<div>
<br /></div>
<div>
<span class="Apple-style-span" style="background-color: white;"><span class="Apple-style-span" style="color: red;">easy_install pip</span></span></div>
<div>
<span class="Apple-style-span" style="background-color: white;"><span class="Apple-style-span" style="color: red;"> pip install pyflakes</span></span></div>
<div>
<span class="Apple-style-span" style="background-color: white;"><span class="Apple-style-span" style="color: red;"> </span></span></div>
<div>
<span class="Apple-style-span" style="background-color: white;"><span class="Apple-style-span" style="color: red;"> </span><span class="Apple-style-span" style="color: blue;">NeoBundle 'git://github.com/kevinw/pyflakes-vim.git'</span></span></div>
<div>
<span class="Apple-style-span" style="background-color: white;"><span class="Apple-style-span" style="color: blue;"><br /></span></span></div>
<div>
<span class="Apple-style-span" style="background-color: white;"><span class="Apple-style-span" style="color: blue;"> </span>結局、もっとよくならないかについては模索中です。。。</span></div>tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com1tag:blogger.com,1999:blog-8974171095081323925.post-75002745555947886042011-10-16T15:48:00.001+09:002011-12-22T13:34:26.713+09:00iPod touch white 購入iPhone 3Gの容量がいっぱいいっぱいになってきたので、<br />
32GBを購入しましたー<br />
※隣は、EVO。これ経由でネット生活です。<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1B4bs95YaiWKdCJZWFNBQclglC4J2wSgTU5iWUm4EHIfQTZPmGVJ8jAdOpiZ5EGKm_Nl6kTgpkJllfYSclETPPEnz9jpb4BKuzQWWb7PIvZTXYxO3ST0jaq8X7837-BjbdG-FB7QKegw/s640/blogger-image--731296823.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1B4bs95YaiWKdCJZWFNBQclglC4J2wSgTU5iWUm4EHIfQTZPmGVJ8jAdOpiZ5EGKm_Nl6kTgpkJllfYSclETPPEnz9jpb4BKuzQWWb7PIvZTXYxO3ST0jaq8X7837-BjbdG-FB7QKegw/s400/blogger-image--731296823.jpg" width="400" /></a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
久しぶりのiosアプリを堪能しております。<br />
やっぱり、同じアプリでもandroidより出来がいい気がします。<br />
<br />
とりあえず、久しぶりだったので、設定で迷ったところをまとめておこうと思います。<br />
<br />
1.Googleアカウントの設定<br />
何も考えずに、「設定」-「メール/連絡先/カレンダー」-「アカウント追加」で、<br />
Gmailを選択していて、カレンダーと連絡先がいつまで経っても同期されずに困ってました。<br />
Google先生に教えてもらい、<a href="http://www.google.com/support/mobile/bin/answer.py?answer=139206">ここ</a>を参考に、Microsoft Exchangeで設定して、<br />
無事解決しました。<br />
<br />
2.複数カレンダーの設定<br />
こちらは、androidの感覚で何も設定せずにできるものと思っていましたが、<br />
ひと手間必要のようで、<a href="http://d.hatena.ne.jp/luliazur/20100418/1271584630">こちら</a>を参考に言語を一旦Englishに変更して、無事設定できましたー<br />
<br />
とりあえずは、こんな感じでちまちまとやっていこうかと思っています。<br />
<br />
今のところ、EVO(通信/ソーシャル系 専用)、ipod touch(音楽/動画/写真 専用)といった感じで<br />
使い分けて行こうと思います。<br />
<br />
※インストールしたアプリ<br />
Eye-fi(カメラの写真はipod touchに保存)<br />
Instagram(写真共有)<br />
Twitter,Facebook,foursquare、乗換案内は、とりあえず入れてみた感じ。<br />
<br />
音楽/動画/写真系のアプリでおすすめがあったら教えてください!tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com1tag:blogger.com,1999:blog-8974171095081323925.post-49510059675014318272011-09-09T02:38:00.000+09:002011-09-09T02:38:35.568+09:00Mac Book ProのDVDドライブを1TBのディスクに秋ですね。<br />
私は遅い夏休みで特にやることもなかったので、<br />
タイトルの通り、以前からやりたかったMacBookProのディスク増設をやりました。<br />
<br />
<a name='more'></a><br /><br />
購入したもの<br />
ー マウンタ<br />
ー <a href="http://www.toeimusen.co.jp/~th/category/bayAccessory.html">こちら</a>の「SlimBay9.5SA-HDD.SA」を購入<br />
ー HDD<br />
ー 2.5インチで9.5mmの1TBが今だと<a href="http://kakaku.com/item/K0000271356/">これ</a>しかなかった<br />
<br />
<br />
取り付け前の状態<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt8twgeEjlINl_SVN1AS6nMioW6UHW814NTyr-x0T7kFRUlcetqpqvfXSSM6cLooU9UYNfM80v90LtdWgUANJYcPAam06UJ6i8gx4iryXE_FNK8-ug0G5G0AwzYFZ4azv1SCKK_WAagqw/s1600/IMG_0830.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt8twgeEjlINl_SVN1AS6nMioW6UHW814NTyr-x0T7kFRUlcetqpqvfXSSM6cLooU9UYNfM80v90LtdWgUANJYcPAam06UJ6i8gx4iryXE_FNK8-ug0G5G0AwzYFZ4azv1SCKK_WAagqw/s320/IMG_0830.JPG" width="320" /></a></div>
<br />
<br />
そしてドライブを外した状態<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigta0n_EPnN2qBS8EWPHpw0EJK1iS2GCxcFWdBppB-G66HUmjfrUyNI1c2W2JHvMI7-W7dxntk2yRd2C66-OaFvHCDQfcgYKrT3GSN4YPm7LLxuOOzF5zukbhix7Y4vfTm4AdlgC-_M4w/s1600/IMG_0832.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigta0n_EPnN2qBS8EWPHpw0EJK1iS2GCxcFWdBppB-G66HUmjfrUyNI1c2W2JHvMI7-W7dxntk2yRd2C66-OaFvHCDQfcgYKrT3GSN4YPm7LLxuOOzF5zukbhix7Y4vfTm4AdlgC-_M4w/s320/IMG_0832.JPG" width="320" /></a></div>
<br />
交換後の画像は取り忘れましたw<br />
<br />
<br />
配線周りをちょろちょろ触ったので、起動するかどうか変に心配しましたが、<br />
特に問題なく起動して、サクッとパーティション切って、快適に使えてます。<br />
<br />
masterがssdなので、速度は気にしてないです。<br />
なので、ベンチも特にとりませんでした。<br />
<br />
これで外付けHDDともお別れできてすっきり!<br />
いい買い物でしたー<br />
<br />
<br />tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-45376755005121087842011-08-30T03:23:00.000+09:002011-08-30T03:23:13.831+09:00Macでtmux + vim以前からMacでtmux + vimの環境を使いたかったんですが、<br />
クリップボードのコピー&ペーストができないでいたので、<br />
しばらく、screen + vimで逃げておりました。<br />
<br />
Lionにもアップデートしたことだし、<br />
久々、挑戦してみようと調べていたところ、できるようになっているではないですか!<br />
<br />
<a name='more'></a><br /><br />
まずは、homebrewをアップデートするために、<br />
Xcodeをアップデート。(直接tmux + vimには関係ないと思います)<br />
その後、<br />
<br />
<span class="Apple-style-span" style="color: red;">brew update</span><br />
<span class="Apple-style-span" style="color: red;">brew upgrade</span><br />
<br />
でもろもろアップデートしました。<br />
その際に、tmuxもアップデートされて、1.4 -> 1.5になっています。<br />
<br />
<a href="http://d.hatena.ne.jp/koseki2/20110816/TmuxCopy">ここのサイト</a>を参考にして、言われるがまま実行。<br />
<br />
tmux実行後、以下の動作を確認できました!<br />
<br />
<br />
<ol>
<li>tmuxでのコピー&ペース</li>
<li>tmuxからvimを実行して、vimで開いたテキストをコピー&ペースト</li>
<li>ブラウザ等でコピーしたテキストをtmuxのコンソールにペースト</li>
<li>ブラウザ等でコピーしたテキストをvimで開いたテキストにペースト</li>
</ol>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<span class="Apple-style-span" style="font-size: 14px; line-height: 25px;">tmuxのコピー&ペースト</span>
</div>
<div>
<ul>
<li><span class="Apple-style-span" style="background-color: white; font-size: 14px; line-height: 25px;">C-t(プレフィックス) C-[ でコピーモードに入る</span></li>
<li><span class="Apple-style-span" style="background-color: white; font-size: 14px; line-height: 25px;">spaceキーで範囲指定して、Enterで決定</span></li>
<li><span class="Apple-style-span" style="background-color: white; font-size: 14px; line-height: 25px;">C-qでクリップボードに書き出し</span></li>
<li><span class="Apple-style-span" style="background-color: white; font-size: 14px; line-height: 25px;">ペーストはいつもの通り(command + v)</span></li>
</ul>
<div>
<span class="Apple-style-span" style="font-size: 14px; line-height: 25px;">vimのコピー&ペースト</span></div>
</div>
<div>
<ul>
<li><span class="Apple-style-span" style="font-size: 14px; line-height: 25px;">vimで開いたテキスト上で、yyでコピー</span></li>
<li><span class="Apple-style-span" style="font-size: 14px; line-height: 25px;">ブラウザ等で、いつもの通り(command + v)ペースト</span></li>
<li><span class="Apple-style-span" style="font-size: 14px; line-height: 25px;">ブラウザ等で、command + cでコピー</span></li>
<li><span class="Apple-style-span" style="font-size: 14px; line-height: 25px;">vimで開いたテキスト上で、pでペースト</span></li>
</ul>
</div>
<div>
<span class="Apple-style-span" style="background-color: white; font-size: 14px; line-height: 25px;"><br /></span><br />
<span class="Apple-style-span" style="background-color: white; font-size: 14px; line-height: 25px;">ちなみに、ターミナルソフトも多少関係あるのかな〜と</span><br />
<span class="Apple-style-span" style="background-color: white; font-size: 14px; line-height: 25px;">以前は思っていましたが、今回、iterm2 デフォのterminalともにできたので、</span><br />
<span class="Apple-style-span" style="background-color: white; font-size: 14px; line-height: 25px;">関係はなかったようです。</span><br />
<span class="Apple-style-span" style="background-color: white; font-size: 14px; line-height: 25px;">また、今までiterm2使ってましたが、Lionからなのか、</span><br />
<span class="Apple-style-span" style="background-color: white; font-size: 14px; line-height: 25px;">デフォのterminalが256color対応したので、</span><br />
<span class="Apple-style-span" style="font-size: 14px; line-height: 25px;">今日からデフォのterminalを使います!</span><br />
<span class="Apple-style-span" style="font-size: 14px; line-height: 25px;"><br /></span></div>
tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-30637667649021987762011-08-23T20:34:00.001+09:002011-08-30T02:39:57.410+09:00PLEXTOR 128M2S ファームウェアアップデートMacBook Pro購入と同時に買ったPLEXTORの128GBのSSDですが、<br />
購入後からちょこちょこ発生しているプチフリが気になってきたので、<br />
<a href="http://www.plextoramericas.com/index.php/ssd/px-m2-series">PLEXTORのサイト</a>を確認したら、ファームのバージョンが上がってた。<br />
<br />
<a name='more'></a><br /><br />
手順は至って簡単。<br />
<br />
<ol>
<li>上記サイトからISOイメージをダウンロード</li>
<li>Disk Utilityからディスクを作成</li>
<li>再起動(実行後「C」を押したままにしてCDから起動する)</li>
<li>Dosプロンプトが表示されるので「Enter」を押してアップデート</li>
<li>プロンプトが戻ってきたら、電源ボタン長押しシャットダウン</li>
</ol>
<div>
こんな感じ</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8hpyTRHlYvXHVmjUApYxWUJODJj5hrTXdrrstbBNS-ld2slLe91n3QtYLpg8nUBFA66MHWnWg2EmqceB1tmIAOlEckSn0wZqKPJyKNZ8R3Dh__x6Wiy2GtRA2XpGoqmOi21t9v9kVHXo/s1600/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%25EF%25BC%25880023-08-23+20.26.28%25EF%25BC%2589.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8hpyTRHlYvXHVmjUApYxWUJODJj5hrTXdrrstbBNS-ld2slLe91n3QtYLpg8nUBFA66MHWnWg2EmqceB1tmIAOlEckSn0wZqKPJyKNZ8R3Dh__x6Wiy2GtRA2XpGoqmOi21t9v9kVHXo/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588%25EF%25BC%25880023-08-23+20.26.28%25EF%25BC%2589.png" width="320" /></a></div>
<div>
<br /></div>
<br />
<br />
<br />
しばらく様子見てみます。<br />
駄目なら、覚悟を決めて、Lion +<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 16px;"><b> </b>Trim Enabler かな。。。</span></span><br />
<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 16px;"><br /></span></span><br />
<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 16px;"><br /></span></span><br />
<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 16px;">2011/08/30 追記: </span></span><br />
<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 16px;"><br /></span></span><br />
<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 16px;">Lion + Trim Enablerにしました。</span></span><br />
<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 16px;">XbenchのResultの数値が、変更前:290 変更後:332となりました。</span></span><br />
<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 16px;">体感できるほどではないですが、良くなったことは間違いないと思います。</span></span><br />
<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: x-small;"><span class="Apple-style-span" style="line-height: 16px;">プチフリは、今のところは出ていないです。</span></span>tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-60607806947019373462011-07-24T16:21:00.001+09:002011-07-24T16:23:24.529+09:00libvirt APIを使ってみる その1<a href="http://www.atmarkit.co.jp/flinux/rensai/linuxkvm03/03b.html">参考URL</a><br />
<br />
仮想環境を自動化する方法として、<br />
<a href="https://fedorahosted.org/cobbler/">cobbler</a>とか<a href="http://trac.mizzy.org/public/wiki/Koan">Koan</a>とかあって便利に使わせてもらっているのですが、<br />
そもそもlibvirtについての知識があまりなかったので、勉強がてらに、<br />
python使ってちょっと触れてみました。<br />
<br />
<a name='more'></a><br />
<br />
※Koanは本家のリンクが切れていたようなので、mizzyさんのサイトへリンク張らせてもらいました。<br />
<br />
<br />
まず、kvmの環境があることが前提になります。<br />
kvmの環境とかは、参考になるサイトがいっぱいあるので、割愛します。<br />
<br />
後は、ちょっとpython試すのに便利なbpython使います。<br />
モジュール名とか関数とかいろいろと補完効くので、便利です。 <br />
<br />
# モジュールをインポートします<br />
<br />
<div style="color: red;">
>>> import libvirt</div>
<div style="color: red;">
>>> import sys</div>
<br />
# モジュールについて調べたいときは、<br />
<div style="color: red;">
>>> help(libvirt)</div>
<br />
# VMM(Virtual Machine Manager)に接続<br />
<div style="color: red;">
>>> conn = libvirt.open('qemu:///system')</div>
<br />
# 接続でてきるかどうか<br />
# instanceの情報が出てきたんで、接続できたんだろうと思う <br />
<div style="color: red;">
>>> print conn</div>
<div style="color: blue;">
<libvirt.virConnect instance at 0x2848638></div>
<br />
# ドメインIDを取得してみる<br />
<div style="color: red;">
>>> conn.listDomainsID()</div>
<div style="color: blue;">
[1, 8, 12, 2, 3]</div>
<br />
# ドメインIDから各ゲストの接続情報を取得<br />
<div style="color: red;">
>>> conn.lookupByID(1)</div>
<div style="color: blue;">
<libvirt.virDomain instance at 0x7f591f2daf38></div>
<br />
# 接続情報を使っていろんな情報が取れるっぽい<br />
<div style="color: red;">
>>> vm1 = conn.lookupByID(1)</div>
<span style="color: red;">>>> vm1.name() </span> ## 名前<br />
<div style="color: blue;">
sl6.uguis.org</div>
<span style="color: red;">>>>vm1.info() </span> ## 情報(1番目の番号は、起動状態っぽい)<br />
<div style="color: blue;">
[1, 1048576L, 1048576L, 1, 15552390000000L]</div>
<br />
# 試しにサスペンド <br />
<div style="color: red;">
>>> vm1.suspend()</div>
<div style="color: blue;">
0</div>
<span style="color: red;">>>>vm1.info() </span> ## 情報(1番目の番号が3に変わった)<br />
<div style="color: blue;">
[3, 1048576L, 1048576L, 1, 15552390000000L]</div>
<br />
# 元に戻す方法がわからなかったが、resume()で元に戻った<br />
<div style="color: red;">
>>> vm1.resume()</div>
<div style="color: blue;">
0</div>
<span style="color: red;">>>>vm1.info()</span> ## 情報(1番目の番号が1に変わった)<br />
<div style="color: blue;">
[1, 1048576L, 1048576L, 1, 15552390000000L]</div>
<br />
## virt-managerでGUIの表示でもステータスが変わるのを確認できました。<br />
<br />
## 他にも以下のような値の取得や操作ができそう<br />
<br />
<span style="color: blue;">ID OSType UUID </span><br />
<span style="color: blue;">attachDevice attachDeviceFlags autostart </span><br />
<span style="color: blue;">connect coreDump create </span><br />
<span style="color: blue;">detachDeviceFlags hasCurrentSnapshot hasManagedSaveImage </span><br />
<span style="color: blue;">isPersistent isUpdated jobInfo </span><br />
<span style="color: blue;">maxVcpus memoryParameters memoryPeek </span><br />
<span style="color: blue;">migrateToURI name openConsole </span><br />
<span style="color: blue;">revertToSnapshot save schedulerParameters </span><br />
<span style="color: blue;">setMemory setMemoryParameters setSchedulerParameters</span><br />
<span style="color: blue;">snapshotCreateXML snapshotCurrent snapshotListNames </span><br />
<span style="color: blue;">undefine updateDeviceFlags vcpus </span><br />
<span style="color: blue;">UUIDString XMLDesc abortJob </span><br />
<span style="color: blue;">blockInfo blockPeek blockStats </span><br />
<span style="color: blue;">createWithFlags destroy detachDevice </span><br />
<span style="color: blue;">info interfaceStats isActive </span><br />
<span style="color: blue;">managedSave managedSaveRemove maxMemory </span><br />
<span style="color: blue;">memoryStats migrate migrateSetMaxDowntime </span><br />
<span style="color: blue;">pinVcpu reboot resume </span><br />
<span style="color: blue;">schedulerType setAutostart setMaxMemory </span><br />
<span style="color: blue;">setVcpus setVcpusFlags shutdown </span><br />
<span style="color: blue;">snapshotLookupByName snapshotNum suspend </span><br />
<span style="color: blue;">vcpusFlags </span> <br />
<br />
<br />
もうちょっといろいろと試してみて、次回は何かスクリプトでも作ろうかと思います。tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-18668470230796039322011-07-17T15:35:00.039+09:002011-07-17T15:52:11.400+09:00SL6(Scientific Linux) KVMでタグVLAN複数のセグメントを1台のホストで管理する必要が出てきたので、<br />
タグVLANで実現できないか検証してみました。<br />
<br />
# 参考にしたサイト<br />
<a href="http://dsas.blog.klab.org/archives/50408097.html"></a><br />
<a name='more'></a><a href="http://dsas.blog.klab.org/archives/50408097.html">http://dsas.blog.klab.org/archives/50408097.html</a><br />
<a href="http://ken-etsu-tech.blogspot.com/2007/05/vlanxen2.html">http://ken-etsu-tech.blogspot.com/2007/05/vlanxen2.html</a><br />
<a href="http://www.techonia.com/create-vlan-on-linux-with-cisco-catalyst-switch">http://www.techonia.com/create-vlan-on-linux-with-cisco-catalyst-switch</a><br />
<br />
<br />
<br />
#### 環境<br />
### SL6<br />
# bridgeするインターフェース<br />
eth1<br />
<br />
# ゲストのセグメント<br />
192.168.90.0/24<br />
<br />
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
192.168.91.0/24</div>
<div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
# ゲストに割り振るIP</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
192.168.90.2</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
192.168.91.2</div>
</div>
<br />
<br />
## NW機器(catalyst3560)<br />
# trunkするポート<br />
FastEther 0/5<br />
<br />
<br />
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
VLAN ID switch側のIF:IP</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
10 FastEther 0/1:192.168.90.1</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
20 FastEther 0/2:192.168.91.1</div>
<div>
</div>
<br />
<br />
SL6のeth1とcatalyst3560の5番portをLANケーブルで接続する<br />
<br />
<br />
#### 設定<br />
### catalyst3560の設定<br />
## SL6が動作しているホストと物理的にLANケーブルで接続するポートに<br />
## タグVLANの設定を入れる<br />
<br />
# カプセル化の指定<br />
(config-if)#<span class="Apple-style-span" style="color: red;">switchport trunk encapsulation dot1q</span><br />
<br />
# trunkの設定<br />
(config-if)#<span class="Apple-style-span" style="color: red;">switchport mode trunk</span><br />
<br />
# ipアドレスの設定を外す<br />
(config-if)#<span class="Apple-style-span" style="color: red;">no ip address </span><br />
<br />
# vlan10と20のパケットのみ許可<br />
(config-if)#<span class="Apple-style-span" style="color: red;">switchport trunk allowed vlan 10,20 </span><br />
<br />
<br />
### SL6の設定<br />
## VLAN設定コマンド vconfigのインストール<br />
<span class="Apple-style-span" style="color: red;">yum install vconfig.x86_64</span><br />
<br />
## eth0は運用で使用しているので、eth1で検証<br />
# eth1用のbridge作成<br />
<span class="Apple-style-span" style="color: red;">brctl addbr br1 </span> ## bridge作成<br />
<br />
# eth1をbr1に追加<br />
<span class="Apple-style-span" style="color: red;">brctl addif br1 eth1</span> ## eth1をbr1に追加<br />
<br />
## br1のインターフェースの設定<br />
## IPADDRは設定しない。というかしちゃだめっぽい。<br />
<br />
<span class="Apple-style-span" style="color: blue;">DEVICE="br1"</span><br />
<span class="Apple-style-span" style="color: blue;">ONBOOT=yes</span><br />
<span class="Apple-style-span" style="color: blue;">HWADDR=xx:xx:xx:xx:xx:xx</span><br />
<span class="Apple-style-span" style="color: blue;">TYPE=Bridge</span><br />
<span class="Apple-style-span" style="color: blue;">BOOTPROTO=none</span><br />
<span class="Apple-style-span" style="color: blue;">NAME="System eth1"</span><br />
<br />
<br />
## eth1のインターフェースの設定<br />
<br />
<span class="Apple-style-span" style="color: blue;">DEVICE="eth1"</span><br />
<span class="Apple-style-span" style="color: blue;">HWADDR=xx:xx:xx:xx:xx:xx</span><br />
<span class="Apple-style-span" style="color: blue;">ONBOOT=yes</span><br />
<span class="Apple-style-span" style="color: blue;">TYPE=Ethernet</span><br />
<span class="Apple-style-span" style="color: blue;">BRIDGE=br1</span><br />
<span class="Apple-style-span" style="color: blue;">BOOTPROTO=none</span><br />
<br />
<br />
## vlan設定(動作テスト用)<br />
<span class="Apple-style-span" style="color: red;"><span class="Apple-style-span" style="color: black;"># 32はswitch側で設定しているVLAN IDに合わせる</span></span><br />
<span class="Apple-style-span" style="color: red;">vconfig add br1 10 </span> <br />
<span class="Apple-style-span" style="color: red;"><br /></span><br />
<span class="Apple-style-span" style="color: red;"><span class="Apple-style-span" style="color: black;"># br1.32のファイルが作成されていることを確認</span></span><br />
<span class="Apple-style-span" style="color: red;">ls -l /proc/net/vlan/ </span> <br />
<span class="Apple-style-span" style="color: red;"><span class="Apple-style-span" style="color: black;"><br /></span></span><br />
<span class="Apple-style-span" style="color: red;"><span class="Apple-style-span" style="color: black;"># ipアドレスの設定</span></span><br />
<span class="Apple-style-span" style="color: red;">ifconfig br1.10 192.168.90.2 255.255.255.0</span> <br />
<span class="Apple-style-span" style="color: red;"><br /></span><br />
<span class="Apple-style-span" style="color: red;"><span class="Apple-style-span" style="color: black;"># 設定されたことを確認</span></span><br />
<span class="Apple-style-span" style="color: red;">ifconfig -a</span> <br />
<span class="Apple-style-span" style="color: red;"><br /></span><br />
<span class="Apple-style-span" style="color: red;"><span class="Apple-style-span" style="color: black;"># switchのipにpingが届くことを確認</span></span><br />
<span class="Apple-style-span" style="color: red;">ping 192.168.90.1</span> <br />
<br />
<br />
## vlan設定<br />
# /etc/sysconfig/network-scripts/ifcfg-br1.10 を作成<br />
<br />
<span class="Apple-style-span" style="color: blue;">VLAN=yes</span><br />
<span class="Apple-style-span" style="color: blue;">DEVICE="br1.10"</span><br />
<span class="Apple-style-span" style="color: blue;">BOOTPROTO=static</span><br />
<span class="Apple-style-span" style="color: blue;">ONBOOT=yes</span><br />
<span class="Apple-style-span" style="color: blue;">TYPE=Ethernet</span><br />
<span class="Apple-style-span" style="color: blue;">IPADDR=192.168.90.2</span><br />
<span class="Apple-style-span" style="color: blue;">NETMASK=255.255.255.0</span><br />
<br />
<br />
# /etc/sysconfig/network-scripts/ifcfg-br1.20 も同様に作成する<br />
<br />
## 起動スクリプト修正<br />
ここが一番はまりました<br />
そもそもデバイスが存在しないと言われるエラー<br />
<br />
<span class="Apple-style-span" style="color: red;">br1.10 を活性化中: デバイス br1.10 は存在しないようですので、初期化を遅らせます。</span><br />
<br />
<br />
いろいろと調べていて、起動のスクリプト(ifup)で、<br />
PHYSDEVが正常に設定されていなかったことがわかりました。<br />
なので、以下の通り修正を加えて無事起動しました。<br />
<br />
## /etc/sysconfig/network-scripts/ifup を修正<br />
# MATCH=の部分に「br」を追加<br />
<br />
<span class="Apple-style-span" style="color: blue;"># Ethernet 802.1Q VLAN support</span><br />
<span class="Apple-style-span" style="color: blue;"> if [ "${VLAN}" = "yes" ] && [ "$ISALIAS" = "no" ]; then</span><br />
<span class="Apple-style-span" style="color: blue;"> VID=""</span><br />
<span class="Apple-style-span" style="color: blue;"> MATCH='^(eth|</span><span class="Apple-style-span" style="color: red;">br</span><span class="Apple-style-span" style="color: blue;">|hsi|bond)[0-9]+\.[0-9]{1,4}$'</span><br />
<span class="Apple-style-span" style="color: blue;"> if [[ "${DEVICE}" =~ $MATCH ]]; then</span><br />
<span class="Apple-style-span" style="color: blue;"> VID=$(echo "${DEVICE}" | LC_ALL=C sed 's/^[a-z0-9]*\.0*//')</span><br />
<span class="Apple-style-span" style="color: blue;"> PHYSDEV=${DEVICE%.*}</span><br />
<span class="Apple-style-span" style="color: blue;"> fi</span><br />
<br />
<br />
## network再起動して動作確認<br />
<span class="Apple-style-span" style="color: red;">/etc/init.d/network restart</span><br />
<br />
これで、ホストからswitchのインターフェースまでの疎通確認ができました。<br />
以下は、引き続きやって、随時更新していきます。<br />
<br />
## 残件<br />
<br />
<ol>
<li>ゲストからswitchのインターフェースまでの疎通確認</li>
<li>ゲストからswitchのデフォルトゲートウェイへの疎通確認</li>
</ol>
<br />tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-2913189337672487072011-07-17T14:26:00.002+09:002011-07-17T14:42:27.161+09:00HTC EVO(ISW11HT)に機種変更した<a href="http://blog.uguis.org/2011/07/wimax.html">前回</a>検討していた件、<br />
<br />
<br />
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
とりあえず、エリア確認用端末でも借りようと思い、借りて動作確認してました。</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
動作確認の内容としては、</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
1.WIMAXの通信速度(EVO単体)</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
2.手持ちのWIMAXルータ経由の通信速度とEVO経由の通信速度の差があるのかどうか</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
3.充電の持ち具合</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
4.操作/機能</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
5.root取れるかどうか(おまけ)</div>
<div>
<br /></div>
<div>
結果は、<br />
<a name='more'></a></div>
<div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
1.WIMAXの通信速度(EVO単体)</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
・ 早かったです。</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
巷ではアンテナの感度が悪いということも言われていますが、</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
通信が不安定になるようなことはあまりなかったです。</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
時間帯によって速度にばらつきがあることはありました。</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
福岡の天神: 下り:2Mbps - 10Mbps 上り:1Mbps - 3Mbps</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
JR久留米駅: 下り:10Mbps - 14Mbps 上り:2Mbps - 3Mbps</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
2.手持ちのWIMAXルータ経由の通信速度とEVO経由の通信速度の差があるのかどうか</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
・なかったです。</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
これは、以外でした。多分、<a href="http://121ware.com/product/atermstation/product/wimax/wm3500r/">NECのWIMAXルーター</a>がショボイんだと思います。</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
ただ、私にとっては、環境が変わらないということになったので、</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
機種変更するにあたってはメリットでした。</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
3.充電の持ち具合</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
・通常の使い方だと、IS03と変わらなかったです。</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
多分、WIMAXガンガン使うともちろん充電持たないんだと思いますが、</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
そこは、<a href="http://jp.sanyo.com/eneloop/lineup/booster.html">eneloop mobile booster</a>でカバーできる範囲でした。</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
4.操作/機能</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
・IS03との比較になりますが、私にとってのデメリットはあまりありませんでした。</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
メリット</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
・サクサク操作ができる</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
(IS03はロック解除の時でも引っかかりがあり、ロック解除に時間がかかることが多かった)</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
・画面が大きいので誤入力が減った</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
・HTC Senceのウィジットがいけてる</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
・デザインと素材がいけてる(ふた開けるとさらにいけてる。IS03が安っぽく感じた)</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
・やっぱりWIMAX使えるのはいい!</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
・テザリングも3G/WIMAX両方いけるぞ!</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
デメリット</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
・テレビ見れなくなった</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
・お財布携帯使えなくなった</div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
5.root取れるかどうか(おまけ)</div>
</div>
<div>
・テンポラリであればz4rootでサクッといけた!</div>
<div>
・そして解像度いじったら最高の端末になった!!これで電子書籍もらくらく読める。</div>
<div>
・HTC Sence諦めてADWにしたら、高解像度を完全に活かせる。</div>
<br />
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
<br /></div>
<br />
と、こんな感じで、端末借りてからさらに欲しくなりました。。。<br />
<br />
<br />
そこへ、7/9日、月月割の金額UP!!<br />
機種変更の月月割の金額が1,750円から2,200円に変更になり、<br />
プラン変更も含め、月のランニング費用が今より、2,000円ほど安くなるので、思い切って機種変更しましたー<br />
<br />
巷ではいろいろと不満の声もあるみたいですが、<br />
私的には、2年使える端末にやっと出会えたって感じです。<br />
<br />
2年後は、WIMAX2端末かなw<br />
<br />tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0tag:blogger.com,1999:blog-8974171095081323925.post-85289580404021304352011-07-03T09:43:00.002+09:002011-07-04T19:14:30.551+09:00SL6(scientific linux 6)のLDAP設定(client)う~ん。どはまりしたので、備忘録。<br />
<br />
まずは、インストールするパッケージからして、違っていた。<br />
<a href="http://blob.inf.ed.ac.uk/sl6project/2011/02/25/configuring-stock-sl6-to-use-dice-and-ldap-changes/">参考サイト</a><br />
<br />
抜粋すると以下の通り。 <br />
<em>nss_ldap</em> has been replaced by two packages<br />
<em>pam_ldap</em> (containing <em>/lib/security/pam_ldap.so</em> and <em>/etc/pam_ldap.conf</em>) and<br />
<em>nss-pam-ldapd</em> (containing <em>/usr/lib/libnss_ldap.so</em>, <em>/usr/sbin/nslcd</em> and <em>/etc/nslcd.conf</em>)<br />
<br />
<a name='more'></a><br />
<br />
<br />
<div style="color: black;">
なので、まず、pam_ldapとnss-pam-ldapdをインストールする。</div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
yum install pam_ldap nss-pam-ldapd</div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<span style="color: black;">次に設定</span></div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<span style="color: black;">今まで、使用していた<i>/etc/ldap,conf </i>は存在しない。</span></div>
<div style="color: red;">
<span style="color: black;">代わりに、</span><em style="color: black;">/etc/pam_ldap.conf </em><span style="color: black;">が設定するファイルになる。</span></div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<span style="color: black;">内容的には、そのまま置き替えて大丈夫でした。</span></div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
cp -p /etc/ldap.conf /etc/pam_ldap.conf</div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<span style="color: black;">肝は、</span><em style="color: black;">/usr/sbin/nslcd</em><span style="color: black;"> と </span><em style="color: black;">/etc/nslcd.conf</em></div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<span style="color: black;">nslcd - local LDAP name service daemon.</span></div>
<div style="color: red;">
<span style="color: black;"> 今回から新たに出てきたデーモン。 </span></div>
<div style="color: red;">
<span style="color: black;"> イメージとしては、nssswitch.conf -> nslcd -> pamになるのではないかと思います。</span></div>
<div style="color: red;">
<span style="color: black;"> 今まで、nscdとか入れていた時にあやふやになっていたところを</span></div>
<div style="color: red;">
<span style="color: black;"> ちゃんと管理してくれるのではないかと期待。</span></div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<span style="color: black;">設定ファイルは、 </span><em style="color: black;">/etc/nslcd.conf</em></div>
<div style="color: red;">
</div>
<div style="color: red;">
</div>
<div style="color: red;">
</div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<span style="color: black;">内容は、こんな感じ</span></div>
<div style="color: red;">
<br /></div>
<div style="color: blue;">
uid nslcd</div>
<div style="color: blue;">
gid ldap</div>
<div style="color: blue;">
uri ldap://192.168.0.1</div>
<div style="color: blue;">
base dc=example,dc=com</div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<span style="color: black;">設定したら、サービス起動</span></div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
chkconfig --level 3 nslcd on<br />
/etc/init.d/nslcd start</div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<em style="color: black;"></em><span style="color: black;">確認</span></div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<span style="color: red;">getent passwd</span></div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<em style="color: black;"></em><span style="color: black;">無事に名前が引けることが確認できました。</span></div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<span style="color: black;">/etc/pam.d/配下の設定はいままで通りでOK</span></div>
<div style="color: red;">
<span style="color: black;"> </span></div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<span style="color: black;">なはずだったのですが、名前は引けるのに認証で失敗する現象にはまりました。</span></div>
<div style="color: red;">
<span style="color: black;">まま、思いこみが原因なんですが。。。</span></div>
<div style="color: red;">
<span style="color: black;">/etc/pam.d/sshdが</span><span style="color: black;">system-authを参照しなくなっていました。</span></div>
<div style="color: red;">
<br /></div>
<div style="color: black;">
エラーの内容は以下のようなもの</div>
<div style="color: black;">
<br /></div>
<div style="color: #666666;">
unix_chkpwd[3010]: password check failed for user (hogemoge)</div>
<div style="color: #666666;">
sshd[3008]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.xxx.xxx user=hogemoge</div>
<div style="color: #666666;">
<br /></div>
<div style="color: red;">
<span style="color: black;">/etc/pam.d/sshdにたどり着くのに時間かかりましたw</span></div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<span style="color: black;">/etc/pam.d/sshdがpassword-authを参照していたので、</span><span style="color: black;"> </span></div>
<div style="color: red;">
<span style="color: black;">password-auth</span><span style="color: black;">にldapの設定を追加。設定は以下の通り。</span></div>
<div style="color: red;">
<br /></div>
<div>
<div style="color: black;">
#%PAM-1.0</div>
<div style="color: black;">
# This file is auto-generated.</div>
<div style="color: black;">
# User changes will be destroyed the next time authconfig is run.</div>
<div style="color: black;">
auth required pam_env.so</div>
<div style="color: black;">
<span style="background-color: white;">auth sufficient pam_unix.so nullok try_first_</span>pass</div>
<div style="color: black;">
auth requisite pam_succeed_if.so uid >= 500 quiet</div>
<div style="color: black;">
<span style="color: blue;">auth sufficient pam_ldap.so use_first_pass</span></div>
<div style="color: black;">
auth required pam_deny.so</div>
<div style="color: black;">
account required pam_unix.so</div>
<div style="color: black;">
account sufficient pam_localuser.so</div>
<div style="color: black;">
account sufficient pam_succeed_if.so uid < 500 quiet</div>
<div style="color: black;">
<span style="color: blue;">account [default=bad success=ok user_unknown=ignore authinfo_unavail=ignore] pam_ldap.</span><span class="Apple-style-span" style="color: blue;">so</span></div>
<div style="color: black;">
account required pam_permit.so</div>
<div style="color: black;">
password requisite pam_cracklib.so try_first_pass retry=3 type=</div>
<div style="color: black;">
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok</div>
<div style="color: black;">
<span style="color: blue;">password sufficient pam_ldap.so use_authtok</span></div>
<div style="color: black;">
password required pam_deny.so</div>
<div style="color: black;">
session optional pam_keyinit.so revoke</div>
<div style="color: black;">
session required pam_limits.so</div>
<div style="color: black;">
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid</div>
<div style="color: black;">
session required pam_unix.so</div>
<div style="color: black;">
<span style="background-color: white; color: blue;">session optional pam_ldap.so</span></div>
<div style="color: black;">
<span style="background-color: white; color: blue;">session sufficient pam_mkhomedir.so skel=/etc/skel/ umask=0022</span></div>
</div>
<div style="color: red;">
<br /></div>
<div style="color: red;">
<span style="color: black;"></span><span style="color: black;"><br /></span></div>
<div style="color: red;">
<span style="color: black;">これで無事にldapアカウントでsshログインできるようになりました。</span></div>
<div style="color: red;">
<br /></div>tshpaperhttp://www.blogger.com/profile/04299538347700564142noreply@blogger.com0