(2011-01の一覧)
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2011-01-25 Tue (他の年の同じ日: 2005 2006)

PKCS#5パディングでAES暗号化/復号
2011-01-25-2 / カテゴリ: [暗号][Java][Android] / [permlink]

初のAndroidネタ。というかJavaネタも初だった^^;

Androidは初学者だからもっと初学者ネタ(環境構築とか?)でもと思ったけど、入門系情報はたくさんあるので、うちらしく戯術っぽく小ネタで(ぇ
続きを読む

PKCS#5パディングでAES暗号化/復号
2011-01-25-1 / カテゴリ: [暗号][perl] / [permlink]

メモってたつもりが書いてなかったので今更シリーズ

続きを読む
Referrer (Inside): [2011-01-25-2]
2011-01-23 Sun (他の年の同じ日: 2006 2007)

itemページのタイトルにカテゴリ表示
2011-01-23-3 / カテゴリ: [perl][chalow] / [permlink]

今まで「エントリ」と書いてたけど、chalow的にはitemだったなう。
itemごとのページ(YYYYmmdd-x.html)のhtmlタイトルに、カテゴリを表示してみた。
--- chalow.20110123	2011-01-22 22:56:41.727087965 +0900
+++ chalow	2011-01-23 16:42:29.715835927 +0900
@@ -749,6 +749,7 @@
 
 	    ### カテゴリ
 	    my $catstr = make_cat_link_html($ent->{$i}{cat});
+	    my $dispcat = "[".join("][", @{$ent->{$i}{cat}})."]";
 
 	    ### 日付リンクによるリファラー
 	    my @inside_refs = get_inside_ref("$ymdi");
@@ -799,6 +800,7 @@
 	    #$t->param(header => $item->{h});
 	    $t->param(header => qq(<a href="@{[datestr2url($ymdi)]}">).$item->{h}."</a>");
 	    $t->param(cat => $catstr);
+	    $t->param(dispcat => $dispcat);
 	    $t->param(author => $item->{a});
 	    $t->param(referrer => join(" ", @inside_refs));
 	    $t->param(id => $item_id); # 200101011
それ用の変数を見つけられなかったのでwrite_item_page()内で、テンプレート用の $dispcat を新しく作成。
あとは、テンプレート側からdispcatを呼び出せばOK
--- cl.conf.20110123	2011-01-23 02:19:18.367193474 +0900
+++ cl.conf	2011-01-23 16:42:37.523566691 +0900
@@ -345,7 +345,7 @@
 $tmpl_starthtml
 <head>
 $tmpl_header
-<title><TMPL_VAR name=header_text> | <TMPL_VAR name=cl_name></title>
+<title><TMPL_VAR name=header_text> / <TMPL_VAR name=dispcat> | <TMPL_VAR name=cl_name></title>
 </head>
 <!-- ================== ITEM_PAGE_TEMPLATE ================= -->
 <body>

そろそろchalowもsvnに突っ込むか…

SyntaxHighlighter用に[src]の言語指定可能改造
2011-01-23-2 / カテゴリ: [perl][chalow] / [permlink]

--- chalow.20110122	2011-01-22 22:41:33.635539221 +0900
+++ chalow	2011-01-22 22:56:41.727087965 +0900
@@ -1296,6 +1296,7 @@
 my %escaped_string;
 my $num_of_escaped_src;
 my %escaped_src;
+my %escaped_src_type;
 my $num_of_escaped_plugin;
 my %escaped_plugin;
 
@@ -1315,8 +1316,9 @@
 
     ### ソースエスケープ - "&" や "<" などを置換し pre を付ける
     $num_of_escaped_src = 0;
-    $$strp =~ s!\[src\](.*?)\[/src\]!
-	$escaped_src{++$num_of_escaped_src} = $1,
+    $$strp =~ s!\[src(\s\w+)?\](.*?)\[/src\]!
+	$escaped_src{++$num_of_escaped_src} = $2,
+	$escaped_src_type{$num_of_escaped_src} = $1,
 	$escaped_src{$num_of_escaped_src} =~ s/&/&amp;/g,
 	$escaped_src{$num_of_escaped_src} =~ s/</&lt;/g,
 	$escaped_src{$num_of_escaped_src} =~ s/>/&gt;/g,
@@ -1336,7 +1338,7 @@
     $$strp =~ s|\x7\x13(\d+)\x3|eval($escaped_plugin{$1})|ge;
     ### ソースアンエスケープ - pre 追加
     # todo(SyntaxHilighter)
-    $$strp =~ s|\x6\x13(\d+)\x3|<pre class="brush:plain;">$escaped_src{$1}</pre>|g;
+    $$strp =~ s|\x6\x13(\d+)\x3|"<pre class=\"brush:".(length $escaped_src_type{$1}? $escaped_src_type{$1}: "plain").";\">$escaped_src{$1}</pre>"|eg;
     # <p>は使ってないので
     #$$strp =~ s|\x6\x13(\d+)\x3|</p><pre>$escaped_src{$1}</pre><p>|g;
     ### HTML アンエスケープ
こんな感じで。

んで、Changelogの方は
(src)
コード
(/src)
となってるのを
(src perl)
コード
(/src)
とか書けばオーケー
※ ()は実際は[]

まぁ簡単にいっちゃえば、/ foo/ があれば brush:foo、無ければ brush:plain に置換するための保持用変数とコードを追加。
というか、既存Changelogへの自動種別追記なんかできないから、全部手作業で追記したぞ(笑)

このエントリまで含めた時点での統計

全ソース指定
% grep "^.\[src" ChangeLog | wc -l
915

手作業で言語指定
% grep "^.\[src " ChangeLog | sed -e "s/[][]//g" | awk '{print $2}' |lv | wc -l
218

言語指定ランキング
% grep "^.\[src " ChangeLog | sed -e "s/[][]//g" | awk '{print $2}' |lv | sort | uniq -c | sort -r
    102 perl
     64 cpp
     19 bash
     13 xml
     12 diff
      5 js
      2 html
      1 java

やっぱperl多いな。cpp(というかC)が意外な多さだ。
というか、コマンド実行とかconfigが大半だったから、全体からすれば少ないけど。

あと、lispスタイルも欲しかったな…

というか、sed/awk/sort/uniq使ったの何年ぶりだろ。
Referrer (Inside): [2011-06-16-1]

tarオプション/書庫追加(追記)
2011-01-23-1 / カテゴリ: [linux][command] / [permlink]

% tar xf foobar.tar.gz
で展開できるんだな。
いまだに xzvf って叩いてしまうよ・・・

ついでに[2004-08-06-2]の書庫にファイル追加をちょっと修正。
2011-01-22 Sat (他の年の同じ日: 2006)

mod_rewriteを有効にするためのAllowOverrideの設定は本当にAllで良いの?
2011-01-22-1 / カテゴリ: [Apache] / [permlink]

[2011-01-20-1]でmod_rewriteを(.htaccessで)有効にするためにゴニョゴニョしたけど、その際にググってでてきた野良サイトでは全部
AllowOverrideを(Noneから)Allにする
とあったけど、本当にAllにしなければならないのかな?

AllowOverrideディレクティブ / core - Apache HTTP サーバ
というわけで、最小限の設定は
AllowOverride FileInfo
が正解のはず。

とはいえ、RootDocumentみたいな、サーバワイドの設定と.htaccessの設定のメンテナがどちらも自分なら、そう問題ないかな。
UserDirみたいに、自分以外のユーザへの設定の開放の場合は気をつけるべき。
2011-01-20 Thu (他の年の同じ日: 2005 2006 2008)

twitterを始めてみたり
2011-01-20-2 / カテゴリ: [diary] / [permlink]

去年のホークス優勝でソフトバンクモバイルが「この期間に新規契約/機種変更した方にお父さんストラッププレゼント」なんてやってたわけで、Android携帯に機種変してみた。
1ヶ月ほど使って、「スマートフォン便利!」と言ってる人がなぜ便利に感じているかは、端末自体が良いというより、各種オンラインサービス(という言葉はまだ有効?クラウド?)の利便性のことを言ってるのではないかと思った。

てことで、(11月の終わりごろに)twitterなんか始めてみた
Android,プログラミングなんかツイートしてるつもり。日常系も多少。春になったら野球が増えるかも。

それにしてもソフトバンクユーザでAndroid(非iPhone)って異端なのかな…

1エントリ1ページにしてみたけど誘導用mod_rewrietは不可だった
2011-01-20-1 / カテゴリ: [ubuntu][Apache][chalow] / [permlink]

[2011-01-18-1]chalowを設定変更して、今までは1日複数エントリ日記を書いても1ページに詰め込んでて居たのを、1エントリ1ページにして
古いURLの YYYYmmdd.html#YYYYmmdd-x をmod_rewriteあたりで新URL(YYYYmmdd-x.html)へ誘導
なんて書いてたわけだけど、mod_rewrite だと、うん、それ無理。

続きを読む
Referrer (Inside): [2011-01-22-1]
2011-01-19 Wed (他の年の同じ日: 2005 2006)

Pukiwikiのソースコードハイライトプラグインおぼえがき
2011-01-19-1 / カテゴリ: [PHP] / [permlink]

いくつか試してみたのでその機能比較をメモ
geshicodehighlightcodeprettifysh
エンジンGeSHigoogle-code-prettifySyntaxHighlighter
行番号×
コピペ×(行番号が入る)
検索(pukiwiki)×(検索のハイライト用のhtmlソースが表示される)
特定コードの問題-Javaのジェネリックが消える--
特定コードの問題は、あらゆるコードのあらゆる構文を試したわけでもないので、ちょっとわからないけど。
というか、プラグインの全ての機能を使いこなした上のメモでも無いですが・・・

Javaのジェネリックは
ArrayList<BasicHeader> reqHeaders = new ArrayList<BasicHeader>();
みたいなコードの "<BasicHeader>" 部分がなぜか表示されなくなる。

自分でphpの読み書きできれば手っ取り早いんだけども。
2011-01-18 Tue (他の年の同じ日: 2005 2006)

SyntaxHighlighterでハイライト
2011-01-18-1 / カテゴリ: [JavaScript][chalow] / [permlink]

(ついでにchalowを1.0rc6から1.0へVerUpしてxhtmlできるだけ対応して1エントリ1ページ形式へ変更、とか)

ASCII.jp : 技術系サイトに必需品!ソースコードは鮮やかに
など。
プログラミング系のブログなどでコードがハイライトされてるのをずっとカッコイイなーと思ってて、最近pukiwikiのコードハイライトをちょっとイジったときにほしい物にたどり着いたので組み込んでみた。

続きを読む
Referrer (Inside): [2011-01-20-1]
2011-01
前の月 / 次の月 / 最新

2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2013-05-02 16:12