技術用語の英語訳をWikipediaで探すアイデア

 さっきふと、文字列を文字参照(もぎゃみたいなの)形式に変換する関数を作ろうとして、
文字参照って英語でなんていうんだっけ、と思った。

 「文字参照 英語」とかでググってもなかなか答えは出ないけど、こういうときはWikipediaをみて…
wikipedia1.PNG
ここにあるEnglishをクリックすると、該当する用語の英語版にジャンプする。そこの見出しは、当然元の単語の英語訳になる。

wikipedia2.PNG
もちろん100%そうなるとは限らないけど、技術系の用語だとかなりいい確率で当るような気がする。

[ruby]DBI経由Mysqlのquoteメソッド

[ruby]DBI経由Mysqlのquoteメソッド
 DBIを経由してMysqlのquoteメソッドを呼ぶと、なぜかメソッドがないことになっている。
たとえばこんなコード。

irb(main):001:0> d = DBI.connect('dbi:Mysql:...', ...)
irb(main):001:0> d.quote('foo')
/usr/local/lib/ruby/gems/1.8/gems/dbi-0.4.2/lib/dbi/handles/database.rb:179:in `quote': undefined method `quote' for # (NoMethodError)

ググってみると、既に困った方がおられて。

dbh.quote name
みたいな事をやっていたんだけど、本番環境に乗せたら動かないので何かと思って調べた
ruby-dbiのquoteメソッド – 小柄な人

解決されていた。

言葉があってるのか微妙だけど、インスタンスのメソッドじゃなくてクラスのメソッドを直に使えば良かったみたい。

Mysql::quote name

おなじようにやれば解決するとはおもうけど、自分の場合、Mysqlクラスは直接呼びたくない事情があって、あまりこの解決法はとりたくありません。

要するに、なぜだかquoteメソッドがコメントアウトされたことが問題らしいので、適当なソースに下記を貼り付けてメソッドを最定義することにした。

# dbd-mysql (0.4.3)で quoteメソッドがなぜかコメントアウトされていて困るので再定義して復活させる
module DBI::DBD::Mysql
class Database < DBI::BaseDatabase
def quote(value)
case value
when String
"'#{@handle.quote(value)}'"
when DBI::Binary
"'#{@handle.quote(value.to_s)}'"
when TrueClass
"'1'"
when FalseClass
"'0'"
else
super
end
end
end
end

これで問題のコードは通るようになった。将来的に再度サポートされたら、上記コードだけ削除すればいいはず。

ボクが調べた限り、そもそもなぜコメントアウトしたのかはわかりませんでした。ご存じの方がいたらぜひ教えてください。

ググってこのページにたどり着いた方へ:
これを参考に同じ対処されるのは自由なのですけれど、
もし、セキュリティ上緊急の問題があってコメントアウトせざるを得なかったとかそんな理由だとすると、上記コードを貼り付けるのは、せっかく檻に入れた虎を自分で出してきていることになるので、自己責任でやってくださいね。

#postgressでも同じように困っている人がいる
RubyForge: Ruby/DBI: open-discussion

無料でWindows/Macの各種ブラウザの見え方チェックができるAdobeBrowserLabが便利

これは便利。

Adobe® BrowserLabは、ブラウザ上で、Windows/MacのIE,Firefox,safariなどの
ブラウザでサイトがどう見えるのかを見せてくれるツール。

同じような機能のものとしては、Browsershotsがあげられるのですが、
これに比べて圧倒的に早いのが特徴です。

URLを入力して数秒で結果が出ます。しかも無料(要ユーザー登録)

browesrLab1.jpg
こんな感じで見せてくれます。これは、http://mogya.com/をMacOSXのsafari3.0でみた様子。

browesrLab2.JPG
こんなふうに2ペインで見比べることもできます。

これはとってもありがたいですね。

ピョコタン先生に学ぶ節約生活術



ガジェット通信の記事がすごいおもしろかったので紹介します。
デビュー13年間いまだに売れない漫画家・ピョコタン先生インタビュー – ガジェット通信

編集部: 過去、『コロコロコミック』の別冊などには載っていましたよね。人気はどうでしたか?
ピョコタン: 人気があれば続くはずだから、ないに違いない。暗黙の了解だ。

 いきなり悟った話からはじまります。が、それは本題ではなくて。

編集部: 13年間も売れないのに漫画家として続けてこられたのはナゼでしょうか?
ピョコタン: 生活費を最低限に抑えて対して稼がないでも暮らせるようにしてきたから。

 ポイントはこれです。たくさん稼がなくても使う方を節約したら意外と幸せなのかもしれない。

ピョコタン: だから『モンスターハンター』とか、400時間くらいできるゲーム買ってあまりお金かけずに生活すればいいのだよ。

 あるあるw
ファントム・ブレイブのPS2版とか、アストロノーカとか、ワゴンセールで売られていたのに数百時間余裕で遊ぶことができました。コストパフォーマンス良すぎ。

#アストロノーカは、そのおいしさに気づいた人が増えているため、最近の中古市場ではとっても高いです。それでも、5000円なんて飲み会一回行ったら飛んでいくのだから、100時間遊べたら全然お得ですよね。

編集部: 美味しい寿司や焼肉を食べたいなどの欲望はないのですか?
ピョコタン: そういうのは出版社のパーティーに忍び込んで食べる。自宅ではメカブと納豆とご飯だけを食べている。たまにタイムセールで激安になるサンドイッチを買っているよ。210円のサンドイッチが、午後4時を過ぎると3つで430円になるんだよ。
編集部: サンドイッチ生活ですか……。それにしても、仕事してないのに出版社のパーティには呼ばれるんですね。
ピョコタン: 誰かのアシスタント枠という設定で知り合いの漫画家についていく。入口さえ抜ければあとは自由。あそこだけ勝負。

 この記事だとサンドイッチがポイントみたいに見えますが、食費節約のポイントは自炊です。
ハナマサとか業務スーパーといった業務用の大規模食材店で買いだめしつつ、商店街の特売日を押さえておけば3万円/月も夢じゃない。

避けた方がいいのはコンビニとスーパー。電子マネーが使えるようなお店は、その分のコストが商品に乗っかっているので、当然商店街とかより高くなります。
運良くシャッター街にならずに済んでいる商店街で、おじいちゃんおばあちゃんが経営しているようなお店は、人件費が安いので、とても安く食材を仕入れることができます。

スーパーの見切り品にしても、商店街の特売にしても、ポイントは時間が自由になることで。
自由な時間に自由なお店へ買い物に行ける立場になると、いろいろ激安商品を買えるので、生活費が激減します。

会社員であることは、それなりに安定収入が保証されるのは事実なのですけど、上記の理由で、じつはとっても割高な生活費を負担させられていると思うのです。
じつは多少実入りの悪いフリーランスでも、収支を考えるとあまり変わらないんじゃないかな。だったら、成功した時全部自分でいただけるフリーランサーという選択肢は悪くない。

#そういう意味で、節約の観点から行くとネットスーパーはあんまりオススメしないです。送料350円あったらモモが3個買えるw

編集部: 漫画家をやめて他の仕事をする可能性はありますか?
ピョコタン: もっと楽しいお仕事があればやる可能性はある。家でゲームしてて日給5万円とかあれば。
編集部: なんだ、やっぱりお金がほしいんじゃないですか。
ピョコタン: 楽してお金ほしい。苦労してまでほしくない。永久に王様気分で死を迎えたい。人生トータルで考えて、楽しい時間の割合を増やしたいの。そう思うでしょ?

 やっぱりphaさんみたいなこと言ってます。や、賛同しているボクだって同類ですけれど。

ピョコタン: 職業は限りなくニートに近いが、最近は兼業ニートと言うようにしている。職業欄にもそう書いている。

 わー。やっぱりニートっ!

というわけで、ニートとかフリーランサーとか引きこもり的な方々にはおもしろい記事だと思うので良かったらどうぞ。
デビュー13年間いまだに売れない漫画家・ピョコタン先生インタビュー – ガジェット通信

CentOSリーダー失踪事件の続報(の日本語訳)

CentOSのリーダーさんが音信不通ということで問題になっています。
CentOS、音信不通のプロジェクト管理者に公開書状 -INTERNET Watch

このブログも いいめもメイドめーるもみんなCentOSの上で動いているので、この件に関してはとても心配しています。

centos.orgのサイトで、リーダーの方と連絡が取れて、サービスを継続できそうだという内容の追記が発表されたので、日本語に訳してみました。なお、()の中は僕の補足です。

Open Letterへの追記

CentOS Development team は本日(8/1)、定例ミーティングを行ない、Lance Davis も参加しました。
このミーティングで、主な問題については即座に解決し、残った問題についても、締め切り付きの作業合意を作成することができました。
今後CentOSユーザーに対してインパクトが発生することはないはずです。
CentOS Project はCentOS.org とCentOS.infoドメインを管理下に置いており、CentOSディストリビューションに関するすべての商標や素材なども保持しています。
我々は、Lanceと今回の件に関する全ての合意をすみやかに実施していくつもりです。よりくわしい情報については、来週公開できると思います。
(August 1, 2009 04:34 UTC by Donavan Nelson が元になっています)

CentOSと例のOpenLetterに関する事実

CentOSは死んだりしていないし、どこかへ行ってしまったりもしません。
Open Letter に署名していた人たちは今も全力でCentOSプロジェクトにコミットしています。

(8/1に行なわれた定例会議で)多くの問題は解決しました。解決していない問題についても、期限付きのアクションプランが策定されました。
CentOS Project はCentOS.org とCentOS.infoドメインを管理下に置いており、サービスが中断する危険性はありません。

CentOSプロジェクトに寄付を申し出ていただいたみなさまへ:感謝します。ただ、寄付に対する新しいポリシーを我々が公開するまでは、ちょっと待っておいていただけるようにお願いします。

CentOSプロジェクトは今や完全なボランティアベースで進んでおり、我々は新しいマネジメントスタイルを必要としています。
我々は、現在、今回のような問題が再発しないように取り組んできましたし、今後もそうするつもりです。近日中に、いくつかの新しいポリシーを公開できると思います。
(Last Update: August 1, 2009 04:36 UTC by Donavan Nelson が元になっています)

[css]フォームの項目の折り返し

photo by taberandrew

 こういう、たくさん項目があって必要なものにチェックを入れてください、というフォームを作ることがあって。






このとき、何も指定していないと、ブラウザはこんなふうに、チェックボックスの後ろで改行されてしまうことがある。






これを避けるために、強制的に改行を入れる人がいて。

<div style="border:1px solid black;width:200px;padding:10px;">
<label><input type='checkbox' name='field[]' value='1' />山手線</label>
<label><input type='checkbox' name='field[]' value='2' />京浜東北・根岸線</label><br/>
<label><input type='checkbox' name='field[]' value='3' />中央線</label>
<label><input type='checkbox' name='field[]' value='4' />常磐線</label><br/>
<label><input type='checkbox' name='field[]' value='5' />東海道本線</label>
<label><input type='checkbox' name='field[]' value='6' />総武線</label>
</div>

より力ずくの例としては、テーブルにして行を切ってしまうとか。
そういう方法でも一応問題は解決するんだけど、後日路線が増えたら関係ないところまで直さないといけないし、フォントサイズを変えている人がいたら意味不明なところで改行される恐れもあって、できればこういうことはしたくないものですよね。

で、スマートにやる方法。

<blockquote>
<div style="border:1px solid black;width:200px;padding:10px;">
<label style="white-space:nowrap;"><input type='checkbox' name='field[]' value='1' />山手線</label>
<label style="white-space:nowrap;"><input type='checkbox' name='field[]' value='2' />京浜東北・根岸線</label>
<label style="white-space:nowrap;"><input type='checkbox' name='field[]' value='3' />中央線</label>
<label style="white-space:nowrap;"><input type='checkbox' name='field[]' value='4' />常磐線</label>
<label style="white-space:nowrap;"><input type='checkbox' name='field[]' value='5' />東海道本線</label>
<label style="white-space:nowrap;"><input type='checkbox' name='field[]' value='6' />総武線</label>
</div>
</blockquote>

こういう風に、改行されたら困る単位で”white-space:nowrap;”を指定してあげれば、それ以外の位置を見つくろって改行してくれるので、内容が変わってもフォントサイズが変わっても大丈夫なコードになります。

#ここでstyle=””を使っているのは、見やすさのためなので、本来はもちろんCSS上で適当なセレクタに”white-space:nowrap;”を指定しましょう。

当たり前の話なんだけど、なぜか強引に改行を挿入する人がいっぱいいるみたいなので書いてみた。

デザイナさんにメイドめーるのデザインを駄目出ししていただいた

プログラマの人が、デザイナさん10人に自分のサイトのデザイン、どこがダメなのかを指摘していただいたという話があって。

Geekなぺーじ : 10人のデザイナさんに駄目出しして頂きました

いいなぁ、僕も教えてほしいなぁ・・・・。

と思っていたので、先日のwebtekoのプレゼンの際に、メイドめーるのデザインを出して、「どうしてこんなに素人っぽいの?」と聞いてみました。

before.PNG

#一部で誤解されている方がおられたみたいですが、メイドめーるのデザインは、素人っぽさを狙ってこうなったのではなくて、僕が全力でデザインしてこうなっています。

メイドめーる デザインに関していただいたつっこみ@WEBTEKO

  • グラデーションを使うとそれっぽくなる
  • スペースの取り方がバラバラなのでまとまって見えない。その結果、読むペースが乱れてしまう
  • ロゴとキャッチが一体になっていてわかりにくい
  • 何を読ませたいのかを考えて制御する
  • ボタンが立体的にする
  • 今っぽいデザイン:
    →でっかいログインフォームと、小さな「登録する」
    大きくすればクリックしてくれるとは限らない
  • ボタン→対照色じゃなくてもいい。読めればいい。
  • 吹き出しつけたら?
  • ボタンの中にアンダーラインは変。ボタンなの?テキストなの?
  • コンテンツ量が少ないので、ajaxとかで1ページにまとめちゃってもいいのでは?

頂いた意見の中で、わりとすぐに対応できそうだったコンテンツ間隔の問題と、ボタンの作り方を修正したのが、今のデザインです。
あと、ちょっと落ち着かせる意味でロゴを小さくしてみた。

after.PNG

・・・多少はマシになった気がする。ボタンの色がまだ変かなぁ?

webteko8で、「プログラマがデザインをがんばってみた」というテーマでお話ししてきました

(2009-07-19 08:39:23) プレゼンテーションがうまく見えないみたいだったので、アップロードし直して差し替えました。

ウェブテコ第8回「デザインのあれこれ」で、「プログラマがデザインをがんばってみた」というテーマでお話しさせていただきました。

スピーカーとしてトークしながらデザインについて教えていただこうという目論見wにつきあっていただいたみなさま、どうもありがとうございました。

プレゼンで出てきた書籍と、プレゼンでは触れられなかったけど参考になった本のリンクです。

デザイン全般に関する書籍

レイアウトや配色について書いてある本です。一冊に全部書いてあるのでちょっと薄いですが、ざっと学ぶにはこれがいいかと。

配色に関する本

プレゼンで出てきたのが「カラーイメージスケール」、「配色基礎講座」の方は、理論の本です。

レイアウトに関する本

あと、レイアウトに関しては、このサイトも大変参考になりました。
デザイン勉強会の資料を公開します。 – Vox

[selenuim] target=”_blank”のリンクを開いて処理を続行する方法

photo by Enrico Capello

[selenium][warn] Link has target ‘_blank’, which is not supported in Selenium! – もぎゃろぐ
ということで、seleniumをつかって、target=”_blank”のリンクを開くことをごまかしてきたのですが、案の定、これではごまかせない話が出てきました。target=”_blank”のリンクを開いて更にその先でテストを続行したい場合にどうするか。

いろいろ考えた末、こんな手を思いつきました。

getEval s=window.document.getElementsByTagName('A');for(i=0;i<s.length;i++){s[i].target='_self';}

問題になるクリック処理の一個手前で、こんなのを実行します。
このコマンドは、JavaScriptを走らせて、全てのリンクのtargetを”_self”に書き換えてしまいます。
結果としてリンク先は同じウィンドウで開くので、そのままテストを続行することができます。