タグ

2007年5月9日のブックマーク (9件)

  • Squeak Smalltalk で FizzBuzz - Smalltalkのtは小文字です

    コメント欄が「キミならどう書く? 〜いろんな言語で FizzBuzz 〜」状態…になっている Raganwald: Don't Overthink FizzBuzz より。当該エントリー中に提示されている Ruby で書かれたちょっと変わった実装の動きがよく分からなかったので、例によって Squeak Smalltalk で直訳気味に変換してから動きを調べてみることに。 …と、その前に。リンク先にある Ruby 版のように、ある種、難読化を施したものを考えたり読み解いたりするのもそれなりに愉しいことだけれども、やっぱり Smalltalk の真骨頂はコードの読み下しやすさ(誰です!? そこで首をかしげているのは? ムッキー!w)。なので、まずは読んで内容がすぐ分かるオーソドックスなものから。 よくあるように(あるいはコードゴルフ的に…)出力までを一気にまとめて書いてしまってもよいのですが、

    Squeak Smalltalk で FizzBuzz - Smalltalkのtは小文字です
  • どうしてプログラマに・・・プログラムが書けないのか?

    Jeff Atwood / 青木靖 訳 2007年2月26日 レジナルド・ブレイスウェイトが書いていることを読んだとき、私はそんなわけないだろうと思っていた。 私と同様、この著者は、プログラミングの仕事への応募者200人中199人はコードがまったく書けないということで苦労している。繰り返すが、彼らはどんなコードも書けないのだ。 彼が引用している著者というのはイムランのことで、彼は単純なプログラムも書けないプログラマをたくさん追い払っているということだ。 かなりの試行錯誤の末に、コードを書こうともがいている人たちというのは、単に大きな問題に対して苦労しているのではないことがわかった。やや小さな問題(連結リストを実装するというような)に対して苦労するということでさえない。彼らはまったくちっぽけな問題に苦労しているのだ。 それで、そういった類の開発者を見分けるための質問を作り始め、私が「Fizz

    miya2000
    miya2000 2007/05/09
    剰余を使わないって一般的にどうやるんでしょうか? javascript:(function(){var i=j=k=0,s=[];while(i++<100)s.push((++j==3?(j=0,'Fizz'):'')+(++k==5?(k=0,'Buzz'):'')||i);alert(s)})() あんまsmartじゃない/↑neokun それで2分切れたら逆にスゴイよw
  • vimで効率的にコードを書くための小技 - bonar note

    vimは使いこなしている人は超人のように使いこなしているのですが、「たまにconfファイルいじる時だけ使うよ。まあ、普段はemacsだけどね」という人は、vi時代の機能のみ使っているのをたまに見かけます。 そこで、通ぶって恐縮なのですが、僕が普段vimを使っていてとっても便利で効率が上がると思う操作を紹介したいと思います。また、僕自身が Mac OS X な環境なので、「外部コマンドとの連携」などでWindowsだと再現できないものがあるかもしれません。ごめんなさい。 用語の使い方や理解が間違っている部分があるかもしれませんがその場合はご指摘いただければと思います。あと、「これ抜かしちゃ駄目でしょ!」みたいなのがあればアドバイスお願いします〜。 それでは、 [あとで読む] vimの基操作 (知っていると思うので省略) 超概略 挿入モードと編集モード キー操作 内容 i 挿入モード突入(文

    vimで効率的にコードを書くための小技 - bonar note
  • 第21回 “使いやすいURI(URL)”の設計を考える(続編)

    使いやすいURI(URL)とは,覚えやすく,読んですぐにページの内容がわかるURIのことです。前回の記事では,使いやすいURIを設計するための11個のルールのうち,5番目までを説明しました。今回は残りのルールについて説明します。 改造しやすいURIにする 「改造しやすいURI」というのは,英語では「hackable」と表現されています。これは,URIを削ったり,文字を一部変えたりすることで,目的のページにアクセスできるURIにしよう,という意味です。 例えば,以下のようなブログ・サービスのURIがあったとします。 http://blog.example.com/entry/2007/04/20 これはおそらく,2007年4月20日に投稿された記事の一覧ページではないかと想像できます。それでは,2007年3月3日に投稿された記事のページにアクセスしたいとしたら,どうしたらいいでしょうか。 お

    第21回 “使いやすいURI(URL)”の設計を考える(続編)
  • こんなプログラムはいやだ: 負の剰余 - bkブログ

    こんなプログラムはいやだ: 負の剰余 知人から次の式の計算結果はどうなるかという問題を出されました。 -3 % 5 3 % -5 -3 % -5 降参して答えを尋ねたところ、問題を出した方も答えを知らないことがわかりました。そこで、いくつかの言語処理系で結果を調べてみました。手元の環境 (Intel Xeon 上の Debian GNU/Linux sarge) で調べると2つのグループに分かれました。 C (GCC 3.3.5) Java (Sun JDK 1.5.0_05) PHP 4.3.10-16 Emacs 22.0.50.2 Ruby 1.8.2 Python 2.3.5 Perl 5.8.4

  • 47NEWS(よんななニュース)

    「水俣病でなければ人並みの生活を送れた」…22日に国賠訴訟の熊地裁判決、鹿児島・熊の原告ら決起集会「救済まで闘い続ける」 熊・嘉島町

    47NEWS(よんななニュース)
    miya2000
    miya2000 2007/05/09
    リンクで逮捕というとFLマスクとか
  • 無線IP電話導入で再認識したDHCPの“癖”

    いまでは枯れているはずのDHCP。しかし、無線IP電話の導入で、そうではないことを再認識した。DHCPサーバーを冗長化したら端末に割り当てるIPアドレスが枯渇したり、少しの間、無線LANの圏外状態になると圏内に戻ってもIPアドレスが変わり通話が切れてしまったりとまだまだ難しいことが残されていた。その癖は、DHCPサーバーや無線LAN端末によって、さまざまである。 無線IP電話を利用する場合、端末のIPアドレスの割り当て/管理にDHCP(Dynamic Host Configuration Protocol)サーバーを用いることが多い。DHCPは、IPアドレスなどのネットワーク設定情報をサーバーで一元管理し、運用管理を効率化するための技術である。サーバーが端末の要求によって、IPアドレスを割り当てる(リース)してくれるので、ネットワーク・セグメントを移動しても端末の設定を手動で変更しなくて済

    無線IP電話導入で再認識したDHCPの“癖”
  • 西尾泰和のブログ @ Cybozu Labs: Python2.4以降での高速なソート

    どうも、ご無沙汰です。 このブログをはじめた当初は「1日1エントリー公開しよう」 などともくろんでいたのですが、はやくも2週間以上間が空いてしまいました。 今回の話はCPythonにバージョン2.4から追加された機能についてです。 みなさんは、例えば「タプルの入ったリストを、そのタプルの2番目の要素でソートしたい」とか 「Entryオブジェクトのリストを、その属性updateTimeの値に従ってソートしたい」という場合、 どうしていますか? まずは2.3以前から可能だった 「sortメソッドに比較用の関数を渡す方法」の実行にかかる時間を調べてみます。 # sortメソッドに比較用の関数を渡す方法 d.sort(lambda x, y: cmp(x[1], y[1])) 実行時間の測定にはtimeitモジュールを使います。 (10.10 timeit -- 小さなコード断片の実行時間計測)

  • 【レポート】ついにJavaにもクロージャ - James Gosling氏らJDK7へ導入提案 (1) Javaに来たるパラダイム変換クロージャ (MYCOMジャーナル)

    Java言語の主要アーキテクトであるGilad Bracha氏、Neal Gafter氏、James Gosling氏、Peter von der Ahé氏らは18日(米国時間)、Java言語において関数型やクロージャの導入を提案するホワイトペーパを公開した。現在、Javaには関数型やクロージャは用意されていない。同氏らの提案ではJDK7を目処にこれら機能を統合していきたいとしている。 関数型やクロージャは関数型言語やスクリプト言語には用意されていることが多い機能のひとつ。同機能をもった代表的なプログラミング言語にはPythonRubyPerlJavaScript、Common Lisp、Scheme、Smalltalk、Scala、C#などをあげることができる。もともとSmalltalkを使ってきたプログラマなどは、JavaにクロージャがないことをJavaに対する不満としてあげるこ