もしあなたがプログラマだったら、プログラムを書いて10兆までの素数のリストを作ってみてほしい。情報システムの開発に携わる人であれば、10兆までの素数のリストを出力するシステムの見積もりを考えてみてほしい。費用はどれくらいかかるか、納期はどれくらいか、あなたはどんな答を出すだろうか。仕様書はうまく書けるだろうか。 記者がこんなことをいうのは、自分で10兆までの素数のリストを作ってみて、とても面白かったからだ。図1のプログラムを書いて出力が成功するまで約2週間、夢いっぱいの楽しいひとときを過ごせた。予期せぬ問題も発生したけれど、最後にはコンピュータがまだまだ発展する可能性を持つと感じられた。素数のリストを作る演習は、プログラミングと情報システムにおける有益な演習の一つである。 アルゴリズムの有効性が納得できる この演習の面白い点は、まずアルゴリズムの有効性を納得できる点だ。素数(prime)は
さて試験問題です。 内容は、壁とスペースで構成された迷路が与えられたとき、スタート地点からゴール地点に至る最短経路を求めよ、というものです。 たとえば、S:スタート G:ゴール *:壁 $:解答の経路 としたとき、 ************************** *S* * * * * * * ************* * * * * ************ * * * * ************** *********** * * ** *********************** * * G * * * *********** * * * * ******* * * * * * ************************** という入力に対し、 ************************** *S* * $$$ * *$* *$$*$ ************
Anarchy Golf This is a golf server. You can enjoy short coding here in several languages (115 languages). The purpose of this server is not serious competition. Joke problems are welcomed and you can speak freely about problems and can release spoilers. For serious competition with ranking, enter Code Golf. IRC channel for this golf server: #anagol in freenode. Please feel free to join the channel
HelloWorldやっても面白くねーんだよ!! 皆さんこんにちは。 Google App Engine (GAE)でJavaがサポートされ、 PythonはスルーしたけどJavaならやりたい!でもJava未経験! GAE/Jに手を出してみたけど、結局hello, world!のサンプルアプリを公開したまま 放置した状態になっていませんか? 僕はそうです! Java使えたら楽しいだろうなー Java覚えて仕事の案件こなしたいなー Java使えたらオブジェクト指向がもっとわかるだろうなー リア充へのあこがれ と、常々思っていつつも、Javaの最初の面倒臭さの前にいつもやる気喪失するんですよね。 HelloWorldひとつやるのにpublic static void main()書くなんて面倒臭すぎです コンパイルなんて面倒でやってられません eclipseの使い方憶えるのが面倒だし ecli
アラン・ケイ Is “Software Engineering” an Oxymoron? By Alan Kay (訳注: 以下の文章は、http://d.hatena.ne.jp/sumim/20080806/p1 に紹介されていたアラン・ケイの文章 -- Is “Software Engineering” an Oxymoron? -- を訳したものです。原文もsumim さんのサイトからダウンロードしました。最初に書かれたのは 1999年から2000年ごろと少し古いので注意してください。日本語で矛盾語法(oxymoron)とは聞き慣れない言葉ですが、ジーニアス英和大辞典によると an open secret (公然の秘密) や、living death (生き地獄) のような矛盾する二つの単語を組み合わせた熟語の事を言うらしいです。) 真のソフトウェア工学はまだ未来のものだ。一年と
やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置
はじめに こんにちは。hirataraです。 私が初めて正規表現を使ったのは、PerlによるCGIでの文字列処理でした。それから私はPerlを使い続け、今では正規表現なしのコーディングは考えられないほど、正規表現を当たり前の機能として日常的に使っています。昔は標準では正規表現をサポートしていなかったJavaも、今では正規表現をサポートするようになりました。Javaだけではなく、今日ではほとんどの高級言語にとって、正規表現はなくてはならない機能であると言っても過言ではないほどメジャーな機能となっています。 本記事では、この正規表現の舞台裏に光を当てます。一見すると作ることが難しそうな正規表現エンジンですが、その根底には数学的な概念があり、その概念さえ知っていれば基礎となる機能の実装はそんなに難しくありません。この連載ではその数学的な概念をPythonを使って表現しながら、実際に動作する正規表
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
« MySQL のクエリ最適化における、もうひとつの検証方法 | メイン | MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話 » 2008年06月09日 フレンド・タイムライン処理の原理と実践 MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話に続きます。 Twitter が注目されるようになって久しい今日この頃ですが、友人の投稿を時系列に並べて表示する、というのは、Twitter に限らず Mixi の「マイミクシィ最新日記」やはてなブックマークの「お気に入り」等、ソーシャルなウェブサービスにおいては一般的な手法です。ですが、この処理 (以下「フレンド・タイムライン」と呼ぶ) は、一見簡単そうに見えて、実装には様々な困難が伴います。本記事では、「フレンド・タイムライン」を実現する、プッシュ型とプル型の二種類の手法について、その原
community for sharing dotfiles like .bashrc, .vimrc, and .bash_profileWelcome! dotfiles.org is a place to upload, download, and share your dotfiles. Upload Sign up for an account, then upload any dotfile! Download dotfiles recognizes curl and wget, so to get a dotfile in your shell try: $ curl http://dotfiles.org/~willcodeforfoo/.bash_profile Share Face it: you're proud of that 204-line .bashrc, a
2008年04月13日06:00 カテゴリLightweight Languages タイプ・クラス・プロトタイプ - OOの語彙 その違いは微妙というにはあまりに大きいので、ここでおさらい。 駄文 - JavaScript と「クラス」と「コンストラクタ」と「プロトタイプ」って言葉の定義が難しいよなあ - IT戦記 JavaScript関数の実体は、Functionクラスのオブジェクトです。今回はFunctionクラスの機能を網羅的に解説します。 JavaScriptの関数オブジェクトを完璧に理解する - builder by ZDNet Japan 「Function クラスのオブジェクト」って言いますよねー。 僕もそういう風に言ったりするんですけど、本当は微妙ーに違うんですよね。 Type(型)って何? まず、タイプ=型から説明しよう。 型というのは、「どんなデータを、どう置くか」の
We are a small consultancy that has specialized in object-oriented programming. We are not now taking on new clients as our principals are busy doing other things. We have closed our office on SW 40th Avenue. We are happy to correspond by email at the contact address below. We continue to operate this site and are happy to provide its services to the community for the foreseeable future. We have a
Refactor :my => 'code' All Ruby PHP JavaScript ActionScript Java C C++ C# VB.NET Python Perl Lisp Erlang Bash Contoller refactoring Fastest way to get value of pi Exercise: Deaf Grandma Saving multiple models in one action Handling Keyboard Shortcuts in JavaScript How to extend a class properly? Object with Field names as resources How to DRY this up Easier way to do this? AJAX makeRequest Popular
UNIX 偏向文書 artu の中で "Measure Before Optimizing" と説く Raymond は, 同時にプロファイラの計測機構 (instrumentation) がもたらすノイズについて注意を促している. 私のプロファイラ信仰に不安が翳を落とす. gprof ノイズはさておき, そもそもプロファイラはどんな仕組みで速度を測っているんだろう. gprof のマニュアル によると, GNU 一族のプロファイラは次のように実装されている: まず "-pg" オプションつきの gcc でソースをコンパイルする. この指示を受けたコンパイラは各関数の冒頭に "mcount" という名前の関数呼出しを加える. リンクする C のランタイムも専用バージョン (gcrt0.o) に差し替わる. このランタイムは裏で profil() 関数を使いタイマを仕掛ける. そのタイマは発
IBM曰く、「特定のプログラマが平均の100倍の成果を上げた」と。 でも、平均的なプログラマが100人いたとしても多分その人と同じ仕事はできなかったんだろうな。つまりあれですよ、光電効果ですよ。電子を叩き出すには一定以上の振動数が必要なように、成果を叩き出すには一定以上のhackabilityが必要なんさ。そしてスパーハカーを呼んでくればその分潜在的な品質は向上するんさ。 だから、Hackは量子である。だからひとつ確かなのは、Hackは一定のところまで、やるところまでやらないと意味ないよ、と。そこに到達するために振動数を上げていくために、私たち凡人は日々Hackを心掛けよう。「いつでもできる」と思ってるだけだと、つまり振動数が低いままだと、多分何もできないよ、と。月並な教訓だね。 で、そうするとプランク定数にあたるのは何さ?
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く