NetBeansでSubversionを使ってみました。
まずは、早速、[チーム]-[Subversion]-[チェックアウト]します。
さくらサーバ Subversion1.8.10
さくらサーバに、Subversion最新1.8.10をインストール忘備録です。
1. 最新版ダウンロード
・さくらにTelnet等でログイン
・ダウンロードして解凍
% mkdir local % mkdir local/src % cd local/src % wget http://apache.mirrors.pair.com/subversion/subversion-1.8.10.tar.gz % tar xvf subversion-1.8.10.tar.gz
2. 最近では、さらに必要な物を下記のコマンドでダウンロード(できるらしい)
% cd subversion-1.8.10 % ./get-deps.sh
3. Makefile, make
APRがないと怒られる。-with-aprで場所を指定しろということか。
% ./configure -prefix=$HOME/local -without-serf -without-berkeley-db -with-ssl % checking for APR... no configure: WARNING: APR not found The Apache Portable Runtime (APR) library cannot be found. Please install APR on this system and configure Subversion with the appropriate --with-apr option. You probably need to do something similar with the Apache Portable Runtime Utility (APRUTIL) library and then configure Subversion with both the --with-apr and --with-apr-util options.
4. apr, apr-utilをコンパイル
最初にaprをインストール
% cd apr % ./configure -prefix=$HOME/local % make % make install
次にapr-utilをインストール
% cd ../apr-util % ./configure -prefix=$HOME/local -with-apr=$HOME/local % make % make install
5. やっとSubversionインストール
% cd .. % ./configure -prefix=$HOME/local -without-serf -without-berkeley-db -with-ssl -with-apr=$HOME/local -with-apr-util=$HOME/local % make % make install
6.パスを通してバージョン確認、レポジトリ作成
% cd % vi .cshrc --> $HOME/local/bin にパスを通す % source .cshrc % svn --version svn, version 1.8.10 (r1615264) compiled Oct 26 2014, 21:00:45 on x86_64-unknown-freebsd9.1 % svnadmin create quicktest
ペッパーくんとPython
ソフトバンクがロボット産業を立ち上げようとしてますよね。
そう、ペッパーくんです。
日本は工場などで製造用ロボットはありましたが、消費者市場に流通するようなロボットはアイボ以来かもしれません。
アイボと違うところは、プログラミングできるということです。ペッパーくんがインフラとして広まれば、今のスマホとアプリの関係のような市場が創出されるかもしれません。
・・・で、そのプログラミング言語ですが、C++とPythonだそうです。
情報処理分野で30年ぐらい仕事してますが、「Python」って「パイソン」て読むんですね。今まで、ずーと「フィトン」と言ってました。
昔、私の姉が「Yahoo」を「やっほー」と言っていたぐらいの勘違いでした。
wp_tag_cloudで本当にランダムにタグを取り出す
WordPressでタグクラウドを表示するにはwp_tag_cloudを使います。
wp_tag_cloud関数のタグ表示順は下記のようになっているようです。
1. デフォルトでは、タグ名順(’oderby’=>’name’)となる。
(’oderby’=>’count’)にするとタグ数順となる。
2. 上記の順番で指定した件数(’number’ => 50)の上位を取りだす。
(’number’ => 0)にすると全部取り出す。
3. 取り出した件数にて、表示順(’order’ => ‘RAND’)を変える。
(’order’ => ‘ASC’)にすると昇順になる。
※上記のような仕様なので、例えば1000タグがあったとして、そのうち50タグをランダム表示しようとした場合、結局1.2.のタグ名順かタグ数順の上位50タグを取り出すことになり、取り出した後にランダム表示するだけになります。つまり、1000タグのなかのいつも同じタグ50個が表示されてしまいます。
※1000タグの中から50タグをその都度、本当にランダムに取り出したい場合は工夫が必要です。もちろん1000タグ(全部)取り出せば、純粋にランダムに表示することができますが。
以上のことから、取り敢えず全部取り出してランダム表示にして、preg_match_allで文字列を配列にし、必要な件数をforeachで1件ずつ表示することにしました。
$tagcloud = array(
'smallest' => 12,
'largest' => 12,
'unit' => 'px',
'number' => 0,
'format' => 'flat',
//'orderby' => 'name',
'order' => 'RAND',
'exclude' => '',
'include' => '',
'link' => 'view',
'taxonomy' => 'members_tag',
'echo' => false
);
echo '<div class="tag-cloud">';
$tags = wp_tag_cloud($tagcloud);
preg_match_all("/<a (.*?)<\/a>/is", $tags, $retArr);
foreach($retArr[0] as $idx => $ret) {
echo $ret . " ";
if(100 === $idx) {
break;
}
}
echo '</div>'; ?>
結構、力技でしたね・・・。
CakePHP Hashクラス
最近、CakePHPのHashクラスが便利なので、積極的に使ってます。
例えば、こんな配列があったとして。
$user = array('User' => array( 0 => array('id' => 12, 'name'=>'Maekawa'), 1 => array('id' => 21, 'name'=>'Kawasaki'), 2 => array('id' => 22, 'name'=>'Sasaki'), ));
こんな感じで検索して。
$search = 'Kawasaki'; $return = Hash::extract($user, "User.{n}[name={$search}]");
見つかった配列が返される。(複数あったときは、複数の配列が返されると思われます)
array(0 => array('id' => 21, 'name'=>'Kawasaki'));
foreachで回さなくていいので使い方によっては便利です。
(ただし、思ったような取り出しをしてくれない時もありましたが)