DoCoMoの場合は端末ID、SoftBankの場合はユーザID、AUの場合はサブスクライバIDを返すというもの。 CPAN漁ってみたところ、一応HTTP::MobileAgent::Plugin::ExtensionやSledge::MobileGate::Mobileとか携帯のIDを取得できるヤツはあった。 だけど、HTTP::MobileAgent::Plugin::ExtensionはSoftBankのときにUAから取得できるシリアルナンバーしか取れない。あとDoCoMoのis_utnの判定がhtml_version取得できない場合に未対応になるのがどうにもいけてない。 一方Sledge::MobileGate::MobileはユーザID取れるには取れるんだけど取得できなかった場合にシリアルナンバー返すんでちょい微妙。というかどっちにしろSledgeしからしか扱えないのでもっと汎用
Peter Norvig / 青木靖 訳 先週、2人の友人(ディーンとビル)がそれぞれ別個にGoogleが極めて早く正確にスペル修正できるのには驚くばかりだと私に言った。たとえば speling のような語でGoogleを検索すると、0.1秒くらいで答えが返ってきて、もしかして: spelling じゃないかと言ってくる(YahooやMicrosoftのものにも同様の機能がある)。ディーンとビルが高い実績を持ったエンジニアであり数学者であることを思えば、スペル修正のような統計的言語処理についてもっと知っていて良さそうなものなのにと私は驚いた。しかし彼らは知らなかった。よく考えてみれば、 別に彼らが知っているべき理由はないのだった。 間違っていたのは彼らの知識ではなく、私の仮定の方だ。 このことについてちゃんとした説明を書いておけば、彼らばかりでなく多くの人に有益かもしれない。Googleの
プログラマの方、もしくはプログラミングに興味のある方に質問です。web上の文章でこれは読んでおいた方がよい、あるいはこの文章は面白いという文章を教えてください。文学、エッセイ、哲学、宗教、経済、科学、コンピュータ等、分野は問いません。 例:http://cruel.org/freeware/hacker.html
javascriptのprototypeはなかなか理解してもらえないですねぇ。 ここ1年間でマジマジと実感しました。 特に、大規模開発をしているとこだと、いろんな知識が入り乱れていて(ホームページ時代からAjax本を読んだ人とか)が、javascriptが単なる関数型列挙な言語(語弊があるけど)という見方が大多数を占めているように見えます。 そんな中で "String.prototype.trim" みたいなコードを見せても、説明下手なのか中々上手く伝わらないですねぇ。 ということで(?)、僕がjavascriptのprototypeを身に着けるまでやったこと、とか。これも備忘 prototype.jsのソースコードを眺める Array.mapとかEnumerable, Hashは勉強になりますねー。 ただ、prototype継承されすぎて、ちょっと多すぎなこともあります。 var
Jeff Atwood / 青木靖 訳 2006年8月24日 企業は開発者に給与として60-100kドル支払いながら、ひどい作業環境と汚い使い古しのハードウェアによって彼らを損なっている。信じられない話だ。そんなのはビジネス的に理屈に合わない。ところがそういうのをどこでも目にする。ソフトウェア開発者が成功するために不可欠なものを与えていな い企業がいかに多いかは驚くばかりだ。 そこでプログラマの権利宣言を採択し、成功に不可欠な基本的なことを否定する企業からプログラマの権利を守ることを提案する。 すべてのプログラマは2つのモニタを持つ権利を有する 下落する液晶ディスプレイの価格と、遍く存在するデュアル出力ビデオカードのことを考えるなら、開発者を1つのディスプレイに制限するのはばかげた話だ。ディスプレイを2つにすることによって得られる生産性の利益については、今では十分に説明されている。開発者の
「"All I really need to know about pair programming I learned in kindergarten", Communications of the ACM, Volume 43, Issue 5 (May 2000) Pages: 108 - 114」という論文を読みました。 幼稚園(もしくは保育園)で習うような社会生活の基礎から、ペアプログラミングを遂行するときに注意すべき点を論じています。 ペアプログラミングは、二人で一緒にプログラムを書くという手法です。 XP(eXtreme Programming)などで利用されています。 面白かったので一部を抜き出して要約してみました。 さらに興味のある方は論文をご覧下さい。 何でも分け合うこと ペアプログラミングでは一つのものを二人が作り上げます。 片方がプログラムを書き、相方がレビューを続
2007年04月09日16:15 カテゴリLightweight LanguagesTips perl - パッチなしでパッチする Perlに限らず、動的に名前空間を書き換えることができる言語ならコンセプトはパクれるはずのtips. 状況 人様が書いたモジュールにバグ発見! バグ直した パッチも送った でも作者が$VERSION++してくれない さあどうする? オレバージョンのモジュールをつなぎでつかう? でも標準でないものをイントールするのはいやん サブクラス作ってメソッドをオーバーライドする? でも問題のモジュールが継承をサポートしているとは限らないし そもそも問題のモジュールOOじゃなかったりもするし 代替モジュールを書いてCPANにうp? -- i.e. JSON::* でも元々のモジュールがあまりによく使われているし うpは簡単でもサポート大変そうだし.... 実例 See Al
図1に示すHTML形式のテキスト・データ(以下,HTMLデータ)があります。このHTMLデータをブラウザに表示させたときに「表示される文字列」と「その文字列に対して有効なタグ名」を対応付けるアルゴリズムを考えてください。結果は配列に格納して,画面に表示させるものとします(図2)。 見わたせば,世の中はアルゴリズムだらけです。私のようなプログラマは,日常生活でも「締め切り順に仕事をソートしてごらん」「仕事のスタックがたまっているからてんてこまい」など,いま置かれている状態をアルゴリズムやデータ構造になぞらえて会話することがよくあります。前回紹介した再帰処理と言えば,落語の演目の一つ,「頭山」です。自分の頭に生えた桜の木を引っこ抜いて,その跡にできた池に自分自身が身を投げる,という不思議な話ですが,これこそ再帰処理をよく言い表していると思います。 このように世の中には,ハッシュだってスタックだ
google-code-prettifyとは? 統合開発環境や高機能エディタでは、編集するソースコードやテキストファイルの種類に応じてテキストがハイライト表示されることが多い。ハイライト表示はきれいで見やすくなるし、コーディング上の問題を発見しやすくなるという実用上の利点もある。 となるとWebで掲載するソースコードも、ぜひともハイライト表示させたいところだ。Web掲載するソースコードやテキストのハイライト表示化の方法はいくつもあるが、ここではGoogleで公開されている「google-code-prettify」を紹介したい。 google-code-prettifyはApache License Version 2.0のもとで公開されているシンタックスハイライトモジュール。JavaScriptモジュールとCSSファイルの2つから構成されたシンプルな成果物で、HTML文書内に直接記述され
またまた続けて軽いネタで。「○○するための○ヶ条」「××しないための×つのルール」のように、何かに関するアドバイスを箇条書き形式でまとめたエントリはアクセスが伸びる……という経験則についてはどっかで書いた気がするのですが、それを極めたエントリを発見。なんと、「『プログラミングに関する10ヶ条』のベスト6」だそうです: ■ Top 6 List of Programming Top 10 Lists (Coding Horror) リストのリスト、なので「メタリスト」と呼べるでしょうか。とにかく、プログラミングに関するアドバイス集を集めたエントリです。10ヶ条が6つ集められているので、10×6で60個のアドバイスが。こうなるともう、どのアドバイスから実践すればいいか逆に分からなくなると思うのですが……。 しかし「まとめサイト」が役立つことって意外と多いですし、こういう「リストのリスト」という
僕は、1 日に少なくとも 3,000 行程度、多く書くときで 10,000 行以上のプログラムを書くことができる。その結果、多い月で 10 万行 / 月くらいである。なお、言語は書くソフトウェアの性質上、大半が C 言語である。 また、プログラミングにはバグが付き物だが、ここ 2、3 年の間は、発生するバグの数を極めて少なく保つことに成功している。 とても大きく複雑で、かつレイヤ的に OS に近い処理をたくさんやるプログラムを書く場合は、プログラミングをするときでも、事前の設計が極めて重要となる。設計をうまく行わないと、後になって全面的に書き直しをしないといけなくなったり、パフォーマンスが低下したりする原因となり、開発者の苦痛の原因となる。 当然のことながら、これまで書いたいくつかの大きく複雑といえるソフトウェアの大半の設計も、自分で行った。いかなる場合でも、設計は、最初の 1 回目で確定
2007/03/19 FlashやHTML(Ajax)、PDFなどWebベースの技術を使ってクライアントアプリケーションを開発できる、米アドビ システムズのウィジェット技術「Apollo」の開発者向けアルファが、3月19日にアドビのWebサイトで公開された。「脱Webブラウザ」を標榜するApolloはどのような技術なのか。アルファ版をダウンロードし、サンプルアプリケーションを試してみた。 アドビが公開したのは、Apollo対応アプリケーションを稼働させるためのランタイムと、Apolloアプリケーションを開発するためのSDK。ApolloはWindows、Linux、Macで稼働するクロスプラットフォームが特徴だが、今回のアルファ版ではWindows版とMac版のみを用意している。Linux版は今後の対応になる。 SDKはFlashやHTML、PDFなどで作成したデータをアプリケーションにま
株式会社はてなで開発を担当している伊藤直也です。今回はデスクトップ百景ということで、恐れ多くも私のデスクトップを使って、開発者の使うデスクトップの様子をご紹介いたします。 ■ 何もないデスクトップ これが私のデスクトップ画面です。ご覧の通り、普段はごみ箱しかないという状態で、デスクトップそのものはこのコーナーの他の方々に比べて恐ろしくシンプルです。画面を広く使いたいので、タスクバーも普段は隠しています。画面のOSはWindows XPですが、MacOS Xも併用しています。 シンプルにしている理由というのは特にないのですが、1つ挙げるとすれば、仕事に集中できる状態を目指していたらこうなったといったところでしょうか。 私の職業はプログラムを書く人、すなわちプログラマーです。プログラムを書く仕事では長い集中時間が必要になります。長い時間考えて、考えた結果をプログラム言語によってソフトウェアとい
Zshを使おう! 前回紹介したWebアプリケーション開発における三種の神器。GNU Emacs、GNU screenと紹介してきましたが、締めくくりはZshです。ZshはBashやtcshなどと同じUNIXのシェルですが、プログラマー向けにさまざまな機能を搭載した高機能シェルといえます。Bashやtcshと比較して、機能的に大きく違うわけではありませんが、細かな使い勝手でほかのシェルにはない便利さが感じられると思います。 またわたしがほかのどのシェルよりもZshを推薦するのには理由があります。 Bashにしてもtcshにしても、シェル上で実行したコマンドをさかのぼる際にはCtrl+Rキーを押して、履歴のインクリメンタルサーチを行うのが便利です。例えばBashでは、
最近、OpenCVを使った顔認識が流行っているようです。 顔認識ができるということは、アレができるわけです。 「顔にモザイク!」 Web上で写真を公開するときは、プライバシーを守る必要があるため、顔は隠しておいた方が良い場合があります。 そんな時に、「顔にエフェクトをかけるWebサービス」があれば便利です。 例えば、こんな風に… (spiritlooseのはてなダイアリーさんの写真を使わせてもらいました) というわけで、今回は「顔にエフェクトをかけてプライバシーを守るWebサービスの作り方」をまとめてみます。 1.OpenCVインストール 2.Image::ObjectDetectインストール 3.OpenCV、Image::ObjectDetectのインストールにつまいたとき 4.Imagerを使いこなす 5.顔を塗りつぶすサンプルプログラム 6.顔に特定の画像を貼り付けるサンプルプログ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く