カテゴリ別 2003年 | 2004年 | 2005年 | 2006年 | 2007年 | 2008年
知り合いサイト: よんだもの / 暴想 / Linuxでやる夫 / 新宿Vipper / 僕だけが幸せになればいいのに。
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /home/date/CVS/htmlsplit/htmlsplit-102.ebuild,v 1.1.1.1 2003/10/08 18:05:26 date Exp $
S=${WORKDIR}
DESCRIPTION="HTML Split Library. HTML to Array"
HOMEPAGE="http://www.moonwolf.com/ruby/htmlsplit.html"
SRC_URI="http://www.moonwolf.com/ruby/archive/htmlsplit${PV}.zip"
LICENSE="Ruby"
SLOT="0"
KEYWORDS="~x86"
USE=""
IUSE=""
DEPEND=">=dev-lang/ruby-1.6.8"
RDEPEND=""
src_install() {
local sitelibdir=`ruby -r rbconfig -e 'print Config::CONFIG["sitelibdir"]'`
insinto ${sitelibdir}
doins ${PN}.rb
}
htmlrepair-101.ebuildと htmlcompact-102.ebuildもついでに。
2003/11/16 読了しましたので「基礎から学ぶ Web データベースプログラミング」補足レビューです。第一部、第二部は「基礎から学ぶ」という人にとって必要十分な内容となっています。章立ての構造がきちんとしていますのでリファレンス的にも使えます。データベースごとに機能・実装が異なることに触れつつ SQL の説明がされているのは結構助かります。また、ウェブアプリケーションを作成する際に作りこみやすいセキュリティ上の欠陥について、症状・具体例・対処法を挙げているのはとても良いと思いました。
何気に Ruby 本などと上では書きましたが、あくまでも「Web データベースプログラミング」のための知識・技術を解説しており、実現するための道具として Ruby を使っているというスタンスなのだと感じました。これは一見 Ruby のコードが多い第三部がそうでして、Amrita などの便利なライブラリを使用して作ってみましょうではなく、このようなウェブアプリケーションを作成するのだが、Ruby とそのライブラリを使うとこういう実装になるという書き方です。残念なのは図版が少なくコードが多いので設計に関して分かりづらくなっていることです。もう少し、何故このような設計なのかを図版を使っての説明があると良いと思いました。
家の中でぶつけて右足の薬指の第一関節ちょっと上辺りにダメージを与えてしまいました。少しひびが入っているとのこと。確かにぶつけたときにバキっと音がした気はしましたが、よく足をぶつけるのでこれもそのうち治るだろうとあんまり深刻に考えずに出社したのでした。歩かなければ痛みません。全治一週間だそうです。
関係ないですが、足の写真だけではなんですのでついでにサイト紹介です。「How to shoot yourself in the foot...」という有名なコンピュータジョークがあります。プログラマならニヤリとさせられること請け合いです。
We're a record label. But we're not evil.Electronica ジャンルの曲をいくつか視聴してみました。悪くないです。インディーズの CD を買う気分で買えるサイトだと思います。 私はディスクやジャケットでアルバム=曲を記憶しているので(曲名は覚えられない……)、ダウンロードしたデータだけだと今一実感・所有感が沸かないというのがありますが。
HTMLSplit.new(string) は受け取った文字列をパースして、結果を格納した HTMLSplit オブジェクトを返します。さらに、HTMLSplit#document でパース済みオブジェクトの配列(Array)を得ることができます。あとはイテレータを使って各要素に対して順に処理をしけばよいという寸法です。さて、HTML のソースと出力結果とを比較していきます。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> → #<Declaration:0x40202b48 @text="DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\"">見ての通り文書型宣言は Declaration オブジェクトになります。
<html lang="ja-JP">
→
#<StartTag:0x40202634 @attr={"lang"=>"ja-JP"}, @name="html">
開始タグは StartTag オブジェクトになります。タグ名は StartTag#name で取得できます。また、属性は StartTag#attr[](name) で得られまので、上の例では以下のようになります。
<title>htmlsplit test html</title> → #<StartTag:0x40202120 @attr=nil, @name="title"> #<CharacterData:0x40201f54 @text="htmlsplit test html"> #<EndTag:0x40201c48 @name="title">タグとそれに挟まれた文字列の例です。テキスト部分は CharacterData オブジェクト、閉じタグは EndTag オブジェクトになります。属性のない StartTag オブジェクトの attr インスタンス変数は nil となることに注意してください。確実に属性があることが分かっていない場合には StartTag#attr が存在することを確かめてから値を参照する必要があります。つまり、すべての要素の id 属性の値を表示したいなどという場合には次のように書かなければなりません。
<a href='http://www.example.org' target=_blank foo_attr>example</a>
→
#<StartTag:0x401ffa60 @attr={"href"=>"http://www.example.org", "foo_attr"=>true, "target"=>"_blank"}, @name="a">
#<CharacterData:0x401ff984 @text="example">
#<EndTag:0x401ff81c @name="a">
属性はダブルクォーテーションで囲まれていても、シングルクォーテーションで囲まれていても、あるいは囲まれていなくてもきちんと属性としてパースされます。また、属性名=値 の形ではなく 属性名 だけの属性の値は true になります。
<hr></hr> → #<EmptyElementTag:0x401ff664 @attr=nil, @name="hr"> #<EndTag:0x401ff45c @name="hr">子要素を持たない空要素タグの例です。<hr> <br> などの空要素タグは EmptyElementTag オブジェクトになります。ですが htmlsplit は前後の文脈を判断するということは特に行いませんので、</hr> はそのまま EndTag オブジェクトとなります。
<hoge>not html tag</hoge> → #<StartTag:0x40200294 @attr=nil, @name="hoge"> #<CharacterData:0x40200154 @text="not html tag"> #<EndTag:0x401ffec0 @name="hoge">htmlsplit は文書の妥当性は検証しませんので、HTML で定義されていないタグも区別なくパースできます。
<div><span>Lorem ipsum.</div></span> → #<StartTag:0x401febec @attr=nil, @name="div"> #<StartTag:0x401fe994 @attr=nil, @name="span"> #<CharacterData:0x401fe854 @text="Lorem ipsum."> #<EndTag:0x401fe624 @name="div"> #<EndTag:0x401fe354 @name="span">さらにタグの入れ子関係が正しいかどうかも検証しません。
<hr/><hr />
→
#<StartTag:0x401fe124 @attr=nil, @name="hr/">
#<EmptyElementTag:0x401fdeb8 @attr={"/"=>true}, @name="hr">
XHTML の空要素タグの書き方には対応していません。/ は要素名の一部か属性として扱われます。
新時代のレーベル・Magnatune総合スレ / レス番号17とのことで今後に期待です。
今のところ
・本家で配布されている楽曲のダウンロード・ストリーミング再生
・楽曲へのコメント付け
が出来ます。
近日中に
・楽曲の評価(5段階評価式)
・ダウンロード数・評価を元にしたランキング
を実装するつもりです。



# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Id:$
DESCRIPTION="FXScintilla is an implementation of Scintilla for the FOX GUI Library."
SRC_URI="http://savannah.nongnu.org/download/fxscintilla/FXScintilla.pkg/${PV}/${P}.tar.gz"
HOMEPAGE="http://www.nongnu.org/fxscintilla/"
SLOT="0"
KEYWORDS="~x86"
LICENSE="LGPL-2.1"
DEPEND="x11-libs/fox"
RDEPEND=""
src_compile() {
./configure \
--prefix=/usr \
--mandir='${prefix}'/share/man \
--enable-shared || die
emake || die
}
src_install () {
make prefix=${D}/usr/ \
install || die
dodoc COPYING README INSTALL License.txt
}
日本語化 Mozilla Firebird 0.7 Win32 Intaller 版を WindowsXP にインストールし、Firebird を規定のブラウザに設定していると、explorer が死んでは生き返ってを激しく繰り返すという不具合に出会いました(会社で…)。とりあえずの回避策として、zip 版でインストールして規定のブラウザにしないようしました。
10/27 追記:この件に関しては、MozillazineJP のスレッド を参照してください。
アップル、ウィンドウズ向け『iTunes』を発表なかなか名言だと思います。
(略)
「われわれは違法ダウンロードと戦う。訴えるつもりも、無視するつもりもない。競争するつもりだ」とジョブズCEOは述べた。
消えゆくソフトウェアの保存活動に立ちはだかる著作権法の壁(上)特にゲームソフトは後世に残したいソフトウェアですね。この視点から考えると、ゲーム機エミュレータは燃えないゴミとして消え行くカートリッジや円盤からゲームソフトを解放する切っ掛けを作った功があるのかもしれません(ないかも)。
非営利団体『インターネット・アーカイブ』の創立者、ブルースター・カール氏(写真)は、古いソフトウェアは重要な文化遺産であり、本や映画など他のメディアと同様、保存すべきものであることを世界中の人に知ってほしいと考えている。
(中略)
そこで、カール氏とインターネット・アーカイブは米著作権局に対し、違法コピー防止技術の回避を取り締まる『デジタル・ミレニアム著作権法(PDFファイル)』(DMCA)に関する嘆願書を提出した。団体の活動を、著作権で保護されたソフトウェアの記録・保存を禁じる同法の適用対象から免除してほしいというものだ。著作権局がノーといえば、膨大な数のプログラムがいずれ永久に失われてしまうと、カール氏は懸念している。
アップル - iLife - iTunes - ダウンロードがーん。Windows2000 がクラッシュするバグでも潰してるのでしょうか……
iTunes for Windows日本語版ダウンロード開始日変更のお知らせ 10月21日にダウンロード開始をご案内しておりましたiTunes for Windows日本語版は、都合によりダウンロード開始の日時を変更させていただくこととなりましたので、ご案内申し上げます。 ユーザの皆様にはご迷惑をおかけしますことを、深くお詫び申し上げます。 ダウンロード開始日につきましては、近日中に改めてお知らせいたします。誠に申し訳ございませんが、今しばらくお待ちくださいますよう、お願い申し上げます。
仕事でソフトウェアをインストールしたりソースを解析したり自分で書いたりしているのですが、記憶の人フネスならぬ忘却の人ですのでやったことを片端から忘れていきます。ですので、備忘録&情報共有のために wiki (ソフトウェアとしては Hiki)を使っているのですが、なかなか使いこなせません。個々のページを書く分にはさらさら書けますが、関連性のある複数のページを構造化して把握しやすくするのが難しいです。
HTML で静的にウェブページを作成しているときにはディレクトリツリーを利用できますので、実際に適切か(同じカテゴリに属するページか)どうかはともかくディレクトリを作ってそこにウェブページ群を放り込むことができます。見るときには、同じディレクトリにあれば関連しているページなのだなと考えることが出来ます。wiki の場合は wiki ワード(≒ページ名)でのみページの意味・役割を記述しなければなりません(Hiki の場合にはカテゴリを付与することができますが)。(私に限ってかも知れませんが)ページを新しく作成する時点で適切な名前を付けることができるのは稀ですので、互いの関連性が分からないフラットなページ群ができあがります。後から名前を付け替えてページ間の構造を整理できる機能がほしいですね。
実はつまらないことに悩んでいて、正しい Wiki の書き方をお勉強したり、Wiki Way を読めば簡単に解決する話かしらん。
紙にラフスケッチを描くくらいの簡単さでデザインできたらもっと素晴らしいですよね。
以下、推敲無しでだらだらと書きます。。。お急ぎの方は下から二つ目の段落まで読み飛ばしてください。
事の発端。少し前に、「最近ウェブログというものが流行ってきてて、ウェブログ作成ツールを使うと簡単にホームページが作れるけどやってみない?」と妹に提案して Movable Type を設置、簡単な使い方を教えてエントリーを書いてもらいました。前から作りたいと言っていたのでホームページを作る環境を用意してあげようというのと、ウェブログ(ツール)なら3分間でホームページが作れるなんて謳われることがありますが、実際のところどうなんだろうというテストも兼ねてのことです。
Movable Type のデフォルトのデザインは真っ白で素っ気無いものなので、デザインも自分で自由に変更できるよと、Movable Type を使った色々なウェブログを見せました。しかし、実際にデザインを変更するとなると、例のテンプレートの編集から HTML テンプレートや CSS をちまちま修正するしかないので、「パソコンを使ってできること」 には興味があるが「道具である PC そのもの」には何ら興味がない妹には、わざわざ HTML や CSS を覚えてデザインするという意欲は湧かなかったようです。
それならと、数多くのテーマを選択できる tDiary を用意してあげたところ、それなりに気に入ったテーマが見つかったらしく、更新が続いているようです(プライベートなものなので非公開ですが)。ただ、お着せのデザインではなくて自分好みのものにしたい(彼女はデザインに関して割と自覚的なので文体・内容に合わせてデザインしたいと言ってます)という欲求はまだあるようです。
現在使える方法としては CSS ファイルを直接修正・作成するか、apend_css プラグインを使うかの二つがあります。しかし、彼女は(HTML や CSS に詳しくない世の多くの人同様に)おそらく紙にデザインのラフスケッチなら描(き|け)ますが、CSS は書(き|け)ません。
それなら(昔懐かし用語)WYSIWYG なツールがあれば良いのではってことになりますが、方法論はいくつかあると思います。
一つは HomePageBuilder や Dreamweaver などのホームページ作成ソフトのように、構成する要素を配置し、要素の属性を修正してデザインしていく方法です。これがごく一般的な方法だと思います。この方法で tDiary テーマを GUI ちっくに作成するプラグインがあればテーマ作者には重宝じゃないでしょうか。
あんまり現実的でない線でふと思いついたのは、Teddy のようなアプローチは使えないかということです。つまりマウスなりタブレットなりでアバウトなデザインを手描きしていくと、コンピュータがよきにはからって CSS に落とし込んでくれるという手法です。そうはいっても目に見えない要素もデザインに影響することを考えると、実装がやたら大変な割に便利でないかもしれません。
何気に TypePad のデザイン編集機能くらいで十分だという結論だったりして。
(ちなみに記事の書き方という点では Movable Type の方が分かりやすかったようです。tDiary は書き方の説明がコンピュータが分かる人向きだとか)


はうん。羞恥プレイは勘弁してください……
Matzにっき(2003-10-23) [Ruby]1.8.1正規表現エンジンを鬼車に、M17N のマージ、ブロックパラメータはローカル変数のみなどなどなどの変更だそうです。1.6 → 1.8 よりも本体の変更は大規模になる?
1.9ではみんなを「ぎゃっ」と言わせる変更をいっぱいしよう*1。
function TrimText(text){
var re = /^[\s ]*(.+[^\s ])[\s ]*$/;
var s = text.replace(re, "$1\n");
return(s);
}
function CenteringText(text){
var s = TrimText(text);
var padding = (79 - s.length) / 2;
for (var i = 0; i < padding; i++){
s = ' ' + s;
}
return(s);
}
function CenteringCurrentLine(){
var selection = document.selection;
selection.SelectLine();
var s = CenteringText(selection.Text);
selection.Text = s;
}
CenteringCurrentLine();
URL を見れば分かりますようにこのサイトは no-ip.com という DDNS サービスを使っています。昨夜、調子が悪くなっていたルータの再起動をしました。で、新しい IP アドレスに変更するのを忘れました。結果、約一日接続不能状態というわけです。実は以前も同じことをしています。何度も繰り返すのも馬鹿らしいので、更新作業の自動化をしようと思うけれども、月に一度くらいならいいかと先延ばしにする日々を送っていたのでした。そんなある日ふと gentoo-users を見ていたら、こんな怠惰な私に丁度いいパッケージを発見しました。 net-dns/noip-updater です。後で設定してみようと思います。
# emerge noip-updater # qpkg -l noip-updater net-dns/noip-updater-1.6 * CONTENTS: /usr /usr/sbin /usr/sbin/noip /usr/sbin/no-ip.sh /usr/share /usr/share/doc /usr/share/doc/noip-updater-1.6 /usr/share/doc/noip-updater-1.6/noip-updater-1.6 /usr/share/doc/noip-updater-1.6/noip-updater-1.6/README.FIRST.gz /etc /etc/init.d /etc/init.d/noip #/etc/init.d/noip start Answer the following questions about your no-ip account. Greetings! The no-ip dynamic DNS system requires a configuration file. The answers to the next five questions will build one. What is your email address for no-ip.com? (name@email.addr) > ******@********.ne.jp What is the password for the login account? (password) > ******** Are you using a groupname instead of a host.domain.name? (Y/N) Answer 'N' if you do not understand the question. > N What is the host.domain.name you are using? (host.no-ip.com) > dontstopmusic.no-ip.org Do you have a router which uses NAT/masquerading? (Y/N) > Y Configuration file [./no-ip.conf] created. * Starting noip... [ ok ] # cat /etc/no-ip.conf LOGIN = ******@********.ne.jp PASSWORD = ******** GROUP = ; HOSTNAME = dontstopmusic DOMAIN = no-ip.org DAEMON = Y PROXY = Y INTERVAL = 10 NAT = Y DEVICE = unused初めて /etc/init.d/noip start するときに、設定ファイル作成スクリプトの /usr/sbin/no-ip.sh が実行されて /etc/no-ip.conf が作成されます。私の場合はグループネーム無し、ルータで NAT を利用ですので上のような入力になりました。ちなみにパスワードは平文で保存されてます。デフォルトの 10 ですと 6 * 24 = 144 / day もアクセスしにいくので、INTERVAL の値はもう少し大きくした方がいいかもしれません。 ログを採りたい方は /etc/init.d/noip を適当に変更すると良いと思います。以下、例によって手抜きな例です。ずっと残すほどのものでもないので start の度にクリアです。
$ diff -Nru /etc/init.d/noip.orig /etc/init.d/noip
--- /etc/init.d/noip.orig 2003-10-30 01:20:33.000000000 +0900
+++ /etc/init.d/noip 2003-10-30 01:36:31.000000000 +0900
@@ -14,7 +14,7 @@
ln -s /etc/no-ip.conf /usr/lib/no-ip.conf >& /dev/null
fi
ebegin "Starting noip"
- noip -c /etc/no-ip.conf
+ noip -c /etc/no-ip.conf -d -l >& /var/log/no-ip.log
eend $? "noip did not start, error code $?"
}
起動時に自動的にデーモンを実行したいなら、rc-update します。
# rc-update add noip default * noip added to runlevel default * Caching service dependencies... [ ok ] * rc-update complete.
最近のコメント:
RSS
![]()
This work is licensed under a
Creative Commons License
(note: text only. w/o web design, citations, (re)distributed softwares).
_ 岩崎正則 [安部公房の本籍地は旭川。親類も沢山いらっしゃいます。 旭川の富貴堂書店で安部公房展を開いています。 公房の従姉妹に..]