6月
12
2010
2

TwitAPI.js Ver 0.1.0 公開

TwitterAPI.js の後継にあたる、OAuth 認証対応版、Twitter API 用 JS ライブラリ、TwitAPI.js を公開しました。

まだまだ荒削りなバージョンですが、とりあえず基本的な動作は可能になったので Ver 0.1.0 として公開です。
当面は完成度の向上を行って、いずれは TwitMgrSplitwit を OAuth 化させていきたいですね。

TwitAPI.js はインターフェースを一から設計し直したので、旧版にあたる、TwitterAPI.js と互換がありません。
そのあたりは専用のラッパを書く予定なので、そこがすんなりと実装できれば、TwitMgr と Splitwit もあっさりと対応完了するはずなんですけどね。

Written by Otchy in: Development | タグ: , ,
6月
02
2010
2

選択反転すると画像が出てくるジェネレータ

【微18禁】 なにげないテキストに隠されたアート… – IDEA*IDEA ~ 百式管理人のライフハックブログ っていう記事で紹介されている選択反転で絵が出てくるのが面白かったので、勢いでジェネレータを作ってみました。

中身のテキストが変えられないのでとりあえず暫定公開。

Select Art – 選択反転すると画像が出てくるジェネレータ

【2010-06-03 追記】

  • デザインを整えた
  • 中身のテキストを変えられるようにした
  • タイトルも付けられるようにした
  • 変換結果を保存出来るようにしてパーマリンクも作った

というわけで完成!

【2010-06-04 追記】

  • フォントサイズを可変にした (ver 1.0.1)
  • 「人気のアート」欄付けた (ver 1.1.0)

とりあえずこんなもんです。実装のアイディアは出し切りました。

Written by Otchy in: Development |
3月
21
2010
2

これまでに読んだ技術書レビュー

大学に入学して IT に触れて以来これまで、多くの技術書を読んできました。
常時接続が当たり前になった現代、新しい知識を得るために何でもウェブで済ます事も可能ですが、体系的に新しいことを知るために書籍という媒体は未だ有効です。

やはり最初に何かを学ぶ時は、書籍を使うのが一番早いと思います。
そこで、後述の理由もあって、これまでに読んだ技術書の書評を作りました。
だいぶ古い本も含まれているので、その後改版されていないかも調べた上で、一覧にしてあります。

改版「あり」となっている本は、古い内容を元にしたレビューですので、その点割り引いて読んで欲しいです。書籍タイトルのリンク先は amazon の最新版です。
とはいえ今回、書評を書くにあたって、パラパラとめくってみましたが、普遍的な内容は今もまだ色褪せないですね。

レビュー

タイトル カテゴリ コメント 改版
新 C++ 入門 C++ ★★☆
いわゆる入門本。プログラミング初心者でも読める。独習 C++ が既読だったので、自分で買う本としてチョイス。可もなく不可もない。
プログラミング言語 C++ 第3版 C++ ★★★
C++ の全てが書いてあると言っても過言ではない。いわば C++ の仕様書。難しくて分厚いので、初心者にはお勧め出来ないが、ある程度 C++ を理解した後なら、言語仕様のみならず、プログラミングとは、オブジェクト指向とは、といったトピックについて、1段とばしで駆け上がることが出来る名著。
STL標準講座 C++ ★★★
最近の C++ 事情は知らないのだけど、今もまだ STL って有用だ…よね?であれば、知っとけ。という内容。STL を知ったら、STL 以前の C++ には戻れなくなるはず。
Direct3Dプログラミング入門 C++ ★☆☆
DirextX7 時代の本。さすがに今はもうどうかと。
DirectX 実践プログラミング C++
独習Java Java ★★☆
Java 初学者向け。もちろん、プログラミング初心者でも読める。手持ちの本は版が古いせいか、Vector とか Hashtable とか、臆することなく使うので、他の情報で補足した方がよい。
あり
JavaAPI 実用リファレンス Vol.1 Java ★★☆
元々他言語を使っていて、これから Java を始める人にお勧めしたい。標準 API で概ね何が出来るかが網羅されている。ざっと目を通して何があるのか把握したら、後は辞書的に使える。言ってみれば紙の JavaDoc だけど、サンプルソースと大きなクラス図がついているのが嬉しい。JDK 1.4 が対象なので星1つマイナス。
JavaAPI 実用リファレンス Vol.2 Java
JavaAPI 実用リファレンス Vol.3 Java
JavaAPI 実用リファレンス Vol.4 Java
サーブレット/JSP プログラミングテクニック Java ★★☆
Java におけるウェブ開発の土台となっている技術。最近は、高機能なフレームワーク上での開発が主流となって、ある意味不要な知識なので、星1つマイナス。そりゃもちろん知っておいた方がいいと思うが、「サーブレットも知らずにフレームワークを語るな」「C も知らずに Java を(ry」「アセンブラも知らずに C を(ry」以下ループ、という意味で、あんまり言うと老害。
あり
Java 言語で学ぶデザインパターン入門 Java ★★★
デザパタはいきなりそれだけ覚えようと思っても、覚えられるようなものではない。色んな API を見て、色んなライブラリを触って、それからこの本を読むと、妙に納得感が高いはず。あの API のロジックにはこういう名前が付いていたのか!という感じ。
あり
Effective Java Java ★★★
難しくてためになり、時に (いい意味で) 変態的。一通りの Java を理解したら、その先の落とし穴にはまらないために知っておきたい知識が色々と。
あり
PHP パーフェクトリファレンス PHP ★☆☆
言ってみれば辞書代わりだけれども、今時はウェブを使うから要らないか。ただ、ぱらぱらと眺めていると、苦労したあの処理が実は 1 行で出来たのか!みたいなことがある。
PHP 実践のツボ セキュアプログラミング編 PHP ★★☆
前半には特筆すべき部分はないけれど、後半のセキュリティを扱った部分は、これだから PHPer は…と言われないためには知っておきたいセキュリティの基本知識。最低限このくらいは、という水準だが、それすら出来ていない人が多いのは悲しい事実。セキュリティに関しては、他の言語でも通用する内容が多い。
今日から使える PHP 4 サンプル集 PHP ★☆☆
あくまで PHP 4 なので、全面的に支持出来ないけれども、具体的なサンプルが羅列されているので、スニペット集として捉えてちょっとここだけ拝借。みたいな使い方はあり。
あり
CGI レスキュー実践 Perlプログラミング Perl ★☆☆
だいぶ古い Perl の本。もちろん全て今でも使えるが、今から Perl をやるならモダンな Perl を身につけるべし。
実用UNIX Perlハンドブック Perl
Perl 5 デスクトップ リファレンス Perl ★★☆
Perl をコマンドラインツールとか、シェルスクリプトとして使うなら、1冊置いておくと便利に使える。超薄い。今で言うところのチートシートの趣。
かんたん UML 開発工程 ★★☆
UML の初歩の初歩について解説されている。…が、中小の開発会社とかであれば、UML についてはここで解説されている程度の知識で十分なのでは。
あり
SEを極める50の鉄則 開発工程 ★★☆
日本における開発工程ではプログラマの上位職とされている SE の話。あくまで日本における…の話ではあるが、日本の普通の開発会社で普通に開発をしていくなら知っておきたい知識。
ソフトウェア開発201の鉄則 開発工程 ★★☆
プログラミングにおける格言集という感じ。従って、案外当たり前の事が書いてあるけれども、納期が迫ってくると、ついついね…。という自戒を込めて読みたい。仕事としてプログラミングをしないならそこまで重要ではない事が多いけれども、初めてそういうプログラミングをするなら、むしろ先に読むのが吉。
ヤフー!グーグル SEO 対策テクニック その他 ★★☆
SEO の世界は、日進月歩 (正確に言えば検索エンジンの進化が日進月歩) なので、今も全てが通用するとは限らないが、普遍的な SEO について正しく触れられている良書。巷に溢れるエセ SEO に騙されないためにも知っておきたい知識。ちゃんと改版されていた。
あり
Illustrator 8.0J ポケットリファレンス その他 ★☆☆
フォトショとイラレのキーボードショートカットを覚えると、作業が超早くなるよ。っていう事に気づいた本。それだけだったり。
Photoshop 5.0J ポケットリファレンス その他
エキスパートから学ぶ XML 実践プログラミング その他 ★★★
XML について知識が曖昧だな、ちゃんと理解した上で使った方がいいと思うんだけど…。という人にお勧め。XML の基本から始まり、XML を正しく理解出来るようになる。実際に XML を読み書きする時に遭遇するエラーとかも読み解ける知識が身に付く。
実践 PostgreSQL その他 ★★☆
PostgreSQL にフォーカスしている本ながら、PostgreSQL は標準 SQL への準拠率が高いので、そのまま SQL を学ぶための本として通用する。対象としている PostgreSQL のバージョンが 7 系で古いので、星1つマイナス。SQL 初心者にとっては、今も色あせない知識がほとんどなので、辞書代わりにも使える。

そもそも何でこんなエントリを書いたかというと…

いま、自宅の机の周りをかなり根本的に片づけていて、もう読まなくなった技術書がたくさん出てきました。
「片づけること=捨てること」なので、どっさり捨ててしまおうかとも思ったのですが、全部買ったら結構な額になるのでそれももったいない。
それで色々考えた挙げ句、お世話になった大学のサークル (神楽坂一丁目通信局) に寄付してみるのはどうかと思い立ちました。

とはいえ、正直に言ってだいぶ古い本も含まれます。
自分が後輩の立場なら、「ゴミ捨てにくんなよ!」って思うような本も混ざってそうです。
なので、このリストの中から必要なものだけ選んでもらえればいいかなと思います。
残念ながら選ばれなかった本には、古本としての価値もなさそうですし、天寿を全うしてもらいましょう。

books1
books2

Written by Otchy in: Development, Technology |
3月
08
2010
7

テーブルのヘッダを固定してスクロールする jQuery プラグイン

Excel のウィンドウ枠の固定のように、テーブルのヘッダや左側を固定して、残りの部分をスクロールさせるための jQuery プラグインを書きました。
マークアップはシンプルで、普通にテーブルを書いたら、jQuery の作法でプラグインを呼び出すだけです。

jQuery のおれおれプラグインはいくつか書いた事がありましたが、こうやって公開するのは初めてです。ごてごての機能が欲しいんじゃなくて、単に既存のテーブルを固定スクロール化したいだけの時に、いいのが見つからなくて書いたので、けっこうニーズがあるんじゃないかと思ってます。

下記は簡単なサンプルです。詳細は専用ページを見てみて下さい。

HTML

<table id="tablefix">
    <thead>
    <tr>
        <th rowspan="2">ヘッダA</th>
        <th rowspan="2">ヘッダB</th>
        <th colspan="2">ヘッダC</th>
        <th rowspan="2">ヘッダD</th>
        <th rowspan="2">ヘッダE</th>
    </tr>
    <tr>
        <th>ヘッダ C-1</th>
        <th>ヘッダ C-2</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>データ</td>
        <td>データ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
    </tr>
    <tr>
        <td>データ</td>
        <td>データ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
    </tr>
    <tr>
        <td>データ</td>
        <td>データ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
    </tr>
    <tr>
        <td>データ</td>
        <td>データ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
    </tr>
    <tr>
        <td>データ</td>
        <td>データ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
        <td>データデータデータデータデータデータデータデータデータデータデータデータ</td>
    </tr>
    </tbody>
</table>

JavaScript

$(function() {
    $('#tablefix').tablefix({width: 500, height: 200, fixRows: 2, fixCols: 2});
});

実行結果

ヘッダA ヘッダB ヘッダC ヘッダD ヘッダE
ヘッダ C-1 ヘッダ C-2
データ データ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ
データ データ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ
データ データ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ
データ データ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ
データ データ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ データデータデータデータデータデータデータデータデータデータデータデータ


Written by Otchy in: Development | タグ: , , ,
2月
25
2010
3

Zen Coding の Perl 実装書きました

今、最高にアツい Zen Coding (ソースは自分) の Perl 実装を書きました。
これがあれば、(今すぐではありませんが) 手に馴染んだ任意のエディタ全てで、Zen Coding を使用することが出来るようになります。
何故かって…?

その種明かしはちょっと後に回しておいて、とりあえずどんなことが出来るモジュールなのかを紹介します。

こうやって実行すると…

use SSSCoding;

print SSSCoding::expand('div') . "\n";
print SSSCoding::expand('a') . "\n";
print SSSCoding::expand('a:mail') . "\n";
print SSSCoding::expand('div#id.class1.class2') . "\n";
print SSSCoding::expand('#head+#body+#foot') . "\n";
print SSSCoding::expand('div#id>ul>li') . "\n";
print SSSCoding::expand('ul>li#id$*5') . "\n";

こう出力されます!

<div></div>
<a href=""></a>
<a href="mailto:"></a>
<div id="id" class="class1 class2"></div>
<div id="head"></div><div id="body"></div><div id="foot"></div>
<div id="id"><ul><li></li></ul></div>
<ul><li id="id1"></li><li id="id2"></li><li id="id3"></li><li id="id4"></li><li id="id5"></li></ul>

本来の Zen Coding には色々な機能がありますが、とりあえず CSS っぽい記述を HTML に展開する機能のみ実装しています。
というか、自分が使いたいのがそこだけなので。

サポートしている識別子は、id を指定する “#”、class を指定する “.”、繰り返しを指定する “*”、繰り返し回数を出力する “$”、子エレメントを指定する “>”、兄弟エレメントを指定する “+” です。
評価順を指定する “()” については実装が面倒だったので未サポートです。書くと変な感じになります。
後述の目的のため、改行などを入れて整形する機能もないので、”()” を使うほど大袈裟な利用はしないだろう、という目論見でもあります。
今後使ってみて、必要を感じたら実装するかも知れません。

また、文法エラーのチェックはしていないため、誤った文法を渡すとメチャクチャな結果になりますが、そこは了承の上で使って下さい。

任意のエディタで Zen Coding を使う

さあ、ここが本来の目的です。
種明かしをすると、この Perl モジュールを使って、ATOK のプラグインを作ればいいのです。
そうすれば、任意のエディタで Zen Coding が利用可能になりますね。

br とか a とか頻繁に使うタグを、辞書登録したことがある人は多いんじゃないでしょうか?
それを動的に行う、超強力版といったイメージです。

もちろんエディタのみならず、ブラウザのテキストエリアでも使えるので、ブログを書く時とか便利かも知れません。
その気になれば、Word でだって Excel でだって利用可能です。

そんなわけで、最終目的は ATOK プラグイン化なのですが、実はまだ出来ていません。
とりあえず Perl 単体で動く状態になったので公開しようと思った次第です。
プラグイン化が完了したらまたアップしたいと思います。

まだ ATOK 16 を使っていてプラグインが使えないので、まずは ATOK のバージョンを上げないと…。

ダウンロード

SSSCoding.pm

ライセンス

ライセンスは MIT License (日本版 wikipedia の項) で公開します。

その他

Perl で実装しているので CGI にもしやすいかと思います。ウェブサービスを作ってみてもいいですね。
あるいは PHP とか、他の言語への移植も簡単では無いでしょうか。ニーズはさておき。

SSSCoding.pm の中で、閉じタグを使わないエレメントは、%SSSCoding::SINGLES で、各エレメントに追加する属性については、%SSSCoding::ATTRS で定義されています。
必要に応じて修正して使って下さい。

モジュール名について

Zen Coding を名乗るには実装が中途半端ですし、名前がぶつかって何らか問題になるのも嫌だったので、モジュール名自体は全く別の名前にしました。
“Style Sheet” Style Coding の略で、SSSCoding としています。

Written by Otchy in: Development | タグ: ,

Powered by WordPress | Aeros Theme | TheBuckmaker.com