2009-01-01から1年間の記事一覧

WZR-HP-G300NH 使えなさすぎワラタ

これまで自宅ではNTT東日本から借りていたPR-200NEというルータを使ってインターネットをしていました。しばらくして無線LANが欲しくなったので、これにコレガのアクセスポイントをつないで使っていたのです。しかし、またしばらくしてひかりTVをつなぐよう…

これで良いのか「使用許諾」

インストーラを使ってソフトウェアをインストールするとき「使用許諾」というのが表示されることがよくあります。 大抵の人はよく読みもしないで「承諾する」をクリックしているのではないでしょうか? それが問題だ!というのが今回の話ではありません。 今…

Slim3 にタグライブラリがない理由

Slim3 の Online Demo のソースなどを見てみると、input タグなどはナマで使っていることがわかります。代わりに EL 関数が使われています。 なんかごちゃごちゃしてて見にくいなぁと、脊髄反射的に Twitter でボヤいていたら id:higayasuo さんに返信をいた…

こういう記事の書き方はどうかと思うよ

scala-tohoku 発の記事なんですが、 Scalaから datastoreへアクセスする方法として... とあげといて enhancerがscalaのclassファイルをサポートするまで待つ。 と書くのはどうなんでしょうか。scala-tohoku に限らず「○○されるのを待つ」みたいな解決方法を…

Ubuntu 9.10 ファーストインプレッション

Ubuntu 9.10 出ましたね。さっそく使ってみました。 全体的に軽くなった 起動が早くなったという話を聞いていたので楽しみにしていたのですが、意外と変わらない……と思いきや、一晩たって改めて見てみたら「はえぇぇ」。 Compizまわりもけっこう以前にも増し…

似て非なるメソッド定義

昨日の記事は何かを見間違えたらしく、まったく正確性にかけるものでした。お詫びいたします。 さて 以下のようなクラスがあったとします。 class Hoge { def foo(arg: String) = java.lang.Boolean.parseBoolean(arg) def bar = java.lang.Boolean.parseBoo…

String と java.lang.String は同じものなのか?

この記事は不正確です。無かったことにしてください。m(_ _)m Scala 2.7.5 で検証。 Scala で以下のようなトレイトがあったとします。 trait Hoge { def foo: String } それで、以下のような実装をすると怒られます。 // コンパイルが通らない class Fuga ex…

やっぱりJavaって層が厚いんだよね

「層が厚い」ってのは自分自身が積み上げたノウハウの厚さってだけで他の言語も厚いのかもしれないけど、とにかく今自分がJavaを中心とした開発でできていることを他の言語でやろうとするととてもじゃないけどやり切れないんですよ。 具体的な話をしますね。…

Whyも書け

重要なことなので何度だって言いますよ。 コンピュータシステムの仕様書を書くとき、以下の項目が文章として残されていますか? What - 何を(入力の形式) Where,Who - どこの誰が(どのコンピュータが) When - いつ(処理のタイミング。オンデマンド/バ…

再帰関数には @tailrec アノテーションを

Scala東北のMLに流れてきた記事です。後で読み返し易いようにここにもメモしておきます。 非関数型言語に慣れ親しんだ身としては、「while使わないで再帰関数使えよ」という関数型言語のスタンスを見ると真っ先に思いつくのが「言いたいことはわかるが、でか…

整数かどうかのチェックは見落としがち

Cubby の定義済みバリデーションクラスに NumberValidator というのがあります。これは、対象の値が少数であっても負の数でも数値と認識できれば OK というバリデータです。なので、正の整数だけ扱いたい場合はこれだけでは不十分だということです。 ところ…

Scala とよくあう Web アプリケーションフレームワークは?

Lift だろ常考。 なのでしょうか? Lift は Scala で作られているってだけで、そんなにいいものなのでしょうか? まだ駆け出しの私としては Lift は奇をてらいすぎてる感じがしてなりません(ORMは結構好きかも) ということで、Java の Web アプリケーショ…

本当に Scala は Java の半分のコーディング量で済むのか?

「Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)」(通称コップ本)の帯の背表紙のところに「コード量はJavaの半分以下」と書いてあります。 マジで? ということで、実験。 実験方法 みんな大好き Cubby の雛形プロジ…

Slf4J でロギング

Scala をやろうなんて尖った方は Java では Commons Logging + Log4J なんてとっくに卒業して Slf4J + LOGBack なんて構成を使っていたかと思います。 今回は、実はそれとはあんまり関係ない話で、Commons Logging でも使える話です。 Java でこんなコードが…

「より良い Java」としての Scala

「関数型言語とかって Java と違うパラダイムなら興味ないから」っていうあなた! そんなあなたも「より良い Java」として Scala を使うというのも良いと思いますよ。なぜなら Java の資産がすべて使える もちろん Java のクラスを継承することもできる Java…

関数型プログラミング脳を作るには

おそらく Scala(に限らずだと思うけど)を身につけるにあたって、Java プログラマが越えなければならない大きな壁の一つは「いかに関数型プログラミング脳を作るか」だと思います。 これは、手続き型プログラミングからオブジェクト指向プログラミング(OOP…

キモい! ……だがそれがいい

キャズムの向こう側(一般から見て)を突っ走ってる諸氏の間で最近、注目度が赤丸急上昇中の Scala。私もただいま勉強中です。↓この本が出たから俺も勉強はじめたぜ!って方も多いかと。Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programm…

すべてのものにはトリガー(引き金)がある

今、私が出入りしている会社で何やら新人研修的なものをやっているようなんです。Seasar2 を用いて何かのシステムを作っているようですが、トレーナーの語調からすると上手く行ってないようです。 それで、トレーナーの方が切々とトレーニーになにやら説明し…

久々に Web をそぞろみる

最近なかなか Web を閲覧できない状態でして、お盆休みを利用して久々に Web をそぞろみてます。 とりあえず、ようやっと Wicket 1.4 が正式リリースしたことを今更ながらに知りました。それから、Cubby 2.0 もリリースされていますね。 しかしながら、また…

ビギナー Web プログラマに一皮むけるためにやってほしい5つのこと

1. Web サーバの設定方法を覚えてほしい そんなに深くじゃなくてもいいんです。Apache でも IIS でも、なんだったら AN HTTPD だっていい(というか AN HTTPD って学習用にはかなりおすすめです)。それでどこにファイルを置くと外部からアクセスできちゃう…

そもそも「満員電車」なんかじゃない

満員電車を無くそう - xevraの日記 私は地方在住なので実害は被っていないのですが、長期出張で東京に行っていたときは常々思っていたことがあります。 このエントリでは「満員電車」って言っていますが、座席の数、つり革の数以上に人が乗っているというこ…

アドオンを入れるまでもなかった

前回のエントリの続き。アドオンを入れなくても対応可能でした。 アドレスバーに以下のように入力 about:config 自己責任だからね!と注意を受けるも、それをものともせず続行。 「general.useragent.extra.firefox」という項目に「Shiretoko/3.5」とあるの…

Ubuntu 9.04 で Firefox 3.5 を使いたければ User Agent を詐称するんだ!

Firefox 3.5 が出ましたね。Ubuntu 9.04 のデフォルトのリポジトリにはβ4があるだけなので、正式リリース版が使いたいという場合は PPA リポジトリを追加しなければなりません。その辺の手順は↓こちらが参考になります。 Ubuntu 9.04 の Firefox 3.5 と 3.5 …

Cubby 2.0 も(今のところ)GAE/J では使えない

悪いのは GAE/J で、バグらしい。 「2009-04-19」が詳しいです。 結構癖ありますねぇ、GAE/J。

GAE/J では Wicket のファイルアップロードは使えないかもしれない

GAE/J ではファイル出力が許されていません。ところが、Wicket では大きなファイルがアップロードされると一時的にファイルに溜め込むんですね。SessionStore みたいにこの辺も差し替えできないか(BigTable に突っ込んでしまうとか)考えてみたんですが、Mu…

Wicket + Maven なアプリを Google App Engine で動かす その2

昨日のエントリがあまりにも「動かすだけ」だったので、もうちょっとまともなアプローチを模索してみました。ポイントは Maven2 に GAE/J SDK 関連の依存性を追加 ロガーは java.util.logger を使いましょう ローカルで動かそう デプロイしよう Wicket のプ…

Wicket + Maven なアプリを Google App Engine で動かす

ミッションは、Wicket の QuickStart で作成した Maven プロジェクトにできるだけ手を加えることなく Google App Engine で動かすことです。 修正または作成しなければならない点は以下の 2 つです。 セッションストアを変更する。 appengine-web.xml を作成…

GIGAZINE が良いって言うから入れてみたら壮大な落書き集だったでござるの巻

Ubuntu をメインで使っている私は、ワープロは OpenOffice.org Writer を使うわけですが、クリップアートがいまいち貧弱です。なので、ググってみたら GIGAZINE さんの以下の記事を見つけました。 OpenOffice.orgのクリップアート数を劇的に増量する方法 - G…

人によってはほとんど見かけない Java 文法

独断と偏見でランクをつけてみました。 レア度 F : abstract よく IT ゼネコンさんが気にかける「一山なんぼのプログラマ」はほとんど見ることがないし、なんのためにあるのかもわからないでしょう。元 COBOLer でよれよれになりながら Java をやっている古…

20万〜30万円台のPCサーバってもっとも無意味なのではないか

というか、RAID 5 がついてる PC サーバって無意味な気がするのです。 この辺の価格帯のものって、零細〜小企業があたりが自社サーバ用に「奮発して」買うものというパターンが多いと思うのですよ。 でも、それが「町の SIer さんのすすめで入れました」ぐら…