ドットインストール代表のライフハックブログ
NAISTにてMeCabの作者としても有名な工藤拓さんの講演が行われました。Googleの開発体制とそれを支えるツールのお話です。 学校と拓さんの双方からブログへの掲載許可が得られたので、まとめを公開します。この講義はNAISTのソフトウェア開発管理講義の一環です。 iPhoneカメラしかなかったので、画像が荒くて済みません・・・。 会場は大入り! 工藤拓さん NAIST自然言語処理学講座出身 Googleに入社してから大規模開発やインフラを経験 MeCabを開発 NTTコミュニケーション科学基礎研究所に所属 その後Googleへ 研究より開発寄り Googleでの仕事 日本語のウェブ検索 「もしかして」機能 ダジャレサーチ エイプリルフールネタを1ヶ月かけて実装 何千人もの開発者が単一のソースコードリポジトリの上で開発を行っている 大規模開発をサポートするインフラが不可欠 Mondria
とりあえず思いついたもののまとめ。 まずは、ベーシックなものから。 変数のスコープをなるべく狭くしろ 他はグローバル変数を使うなとか、モジュール化と界面を意識せよなど。とにかくスコープは重要かつ意外と奥が深い。スコープに関係する機能は、モジュール(パッケージ)、クロージャ、ローカル関数、ローカルクラス、変数の種類、アクセス制御など。 同じロジックのコードを2度以上書くな 他はDRY原則、コピペをするななど。自分の場合、2度書く方がシンプルになる場合、2度書くこともある。特に、ifやswitchなどのロジックの中で同じコードが2度現れる場合、ちょっとしたコードでわざわざ別のところで関数やブロックにまとめて、それを参照するのは面倒。但し3度以上現れる場合は関数などにまとめるケースが多いかも。 汎用コード内で条件分岐コードを減らせ 他はifをポリモーフィズムによりなくせなど。条件分岐は汎用性を損
筆者がドワンゴに入社したのは2000年2月。当時19歳の高校生でした。2000年3月の卒業式には,会社の有給を取って参加しました。ニコニコ動画にかかわる前は,携帯向けコンテンツや,社内向けミドルウエアの開発などにかかわっていました。現在は,ニコニコ動画を開発するチームの統括をしています。 http://d.hatena.ne.jp/shinno/ プロトタイプ「ニワビデ」 話は2006年11月にさかのぼります。ある日,同じ会社*1で働くエンジニアの戀塚*2から,メッセンジャー*3でメッセージが届きました。内容は一つのURLです。送られてきたURLをWebブラウザで開くと,まるでYouTube*4のような,見るからに動画共有サイトという画面が表示されました。いくつかの動画がサムネイルで表示されて並んでいます。 筆者はサムネイルの中から,OK Goの「Here It Goes Again」*5
10 Most Sought-after Skills in Web Development - NETTUTS 1つは極めたい、需要の高いWeb開発に関する技術、ということでエントリがあがっていました。 MVC等、各種フレームワークの知識 JavaScript、Flashを使ったウィジェット作成の技術 独自のCMSテーマを作成する技術 CMSのカスタマイズやプラグイン作成を行える技術 PSDファイルをXHTMLに変換する技術 JavaScript開発技術、JavaScriptプラグインの作成技術 Facebook/Myspaceアプリの作成技術 iPhoneアプリケーション作成技術 Eコマースの導入技術 Flash&ActionScriptの技術 日本でも同じ状況かどうかは分かりませんが、スキルアップのためには何を学べばよいか?という方向性に迷っている方には1つの参考になりそうですね。
はじめに 皆様 JavaScript のスピード競争が激化し、 ECMAScript 3.1 の仕様の策定が進むなど、激動の JavaScript 時代をいかがお過ごしでしょうか。 さて今日は、今、ちまたで大ブレイクの兆しを見せている DOM Storage という仕様を紹介したいと思います。 DOM Storage とは何か まず、 DOM Storage とはどんなものなのでしょうか。 とても簡単に言ってしまえば、とてもたくさんのデータが保存できてサーバーに自動で送られない Cookie みたいなものです。 さらに、 Cookie とは違って JavaScript からとても扱い易く作られています。 では、この DOMStorage の具体的なソースコードを見てみましょう。 <!DOCTYPE html> <html> <head><title>DOMStorage の使い方</tit
恵比寿のIT関連の会社で営業マンをする今をときめく21歳。IT業界のえがちゃん♂こと永上裕之です。 いろんな人と話したんです!超気軽に連絡ください♪ TEL:090-2033-5444 メール:egachan★gmail.com Twitter:egachan Skype:hiroru123 メッセ:hiroru123@msn.com mixi:165462 NEW!!→→ラジオで喋って来ました(笑)ラジオ版:その1、その2 ニコニコ版:その1、その2←← サービスのコンセプトは全て統一 どうも、今をときめる21歳。IT業界のえがちゃんです(笑) 今回のテーマは『検索』でした。 具体的に6つのサービスをカテゴライズしつつ紹介します。 ●画像検索 画像in - サクサク画像検索しちゃう ●動画検索 YouTube2.in - サクサク動画検索しちゃう ●2
米Googleは米国時間2008年7月1日,Webアプリケーションの安全性を確認できるツール「ratproxy」をオープンソースとして公開した。同社のWebサイトから無償ダウンロード提供している。 同ツールは,これまで同社が社内でWebアプリケーションを試験する際に使っていた。プロキシ・サーバーとして作動し,クロスサイト・スクリプティングに悪用される恐れのあるコードや,情報漏えいにつながる問題などを調べられる。従来のセキュリティ・ツールと違い,意識することなく利用でき,オーバヘッドも小さいという。 ソフトウエア・ライセンスはApache License 2.0。現在のバージョンは「1.51ベータ」。Linux/FreeBSD/Mac OS Xと,Windows向け疑似UNIX環境Cygwin用に開発した。 [GoogleのMichal Zalewski氏によるブログ投稿記事]
※ 一部の画面はデモより Googleの高度なエンジニアリングを支える技術の一つにソースコードレビューがある。ソースの修正点について、レビューし、議論することでさらに良いコードができあがっていく。世界中にいるエンジニアのために、議論はネットを介して行うことになる。 ソースコードの行ごとにコメントが書ける そのためのシステムがMondrianだ。これを作ったのはGuido van Rossum氏、Python開発者でもある方だ。そしてこのMondrianをなんとかオープンソースとして公開したいと願ってきたRossum氏が実現させたのがこのソフトウェアだ。 今回紹介するオープンソース・ソフトウェアはRietveld、Google App Engineで作られたソースコードレビューシステムだ。 Rietveldは任意のリポジトリに対して、古い版と新しい版のソースの差分を表示し、レビューを行うこと
Railsでは、データベースの設定をMigrationファイルに書いていって、即反映させながら開発を重ねていく。そのため、幾人かで開発を行っていると、徐々にデータベース構造が複雑化し、最適化されていない構造になってしまう。これはRailsに限らず、システム開発では常に生じるものだろう。 メイン画面 初期の頃からすべてを想定して作り上げていくことは難しいが、あるタイミングで正規化していく必要が生じるだろう。その時に役立つのがこのソフトウェアだ。 今回紹介するオープンソース・ソフトウェアはMySQL Workbench、MySQLのデータベースデザイナーだ。 MySQL Workbenchはあるデータベースに関してテーブル、ビュー、ルーチン、SQLスクリプト等をビジュアル的に設計できる。ダイアグラムも作成でき、既に作成されているテーブルやビュー等をドラッグアンドドロップで配置し、そこに線を引い
プログラムの動作テスト用のダミーデータを簡単に大量作成できるソフト「プラデータ」v1.0が、4日に公開された。Windows XP/Vistaに対応するフリーソフトで、現在作者のホームページからダウンロードできる。なお、動作には.NET Framework 2.0が必要。 「プラデータ」は、プログラムの動作テスト用のダミーデータを簡単に作成できるソフト。CSV/TSV形式のファイルなど、テキスト形式のダミーデータを大量に作成できるので、各種テキスト形式での入出力機能をもつソフトの動作をテストしたい場合などに便利だ。 ダミーデータを作成するには、まず“定義”を作成する。たとえば、1番目は数字4桁からなるID、2番目は最大12文字の名前、などといったようにデータの構造を決めて、リストに記入しよう。“定義”のデータ型には、テキスト・数値・日時を選択可能で、数値の桁数や文字列の長さ、日時の形式など
記者という職業柄、これまで非常に多くのプレゼンテーションを見てきたが、プレゼンテーションの1枚目が半裸の女性モデルの写真だったのは初めてだった。 2月13日、14日の予定で東京・目黒で開催中の「デベロッパーズ・サミット2008」で講演したFog Creek Softwareの創業者でCEOのジョエル・スポルスキー(Joel Spolsky)氏のプレゼンテーション「Joel on Developers Summit――素晴らしいソフトウェアを作るということ」は、型破りに楽しく、なおかつソフトウェア開発者にとって示唆に富む内容だった。 スポルスキー氏は米マイクロソフトのExcelチームで、Excel用マクロ言語を、後にVBAと呼ばれることになるモダンなオブジェクト指向言語に置き換える仕事でプログラムマネージャを務めたことがあるなどソフトウェア開発のベテランだが、エッセイの書き手としても名を馳せ
2008/2/22: sotarok様より、連絡がありコードを一部訂正 参考1)http://d.hatena.ne.jp/odz/20080215/1203099900 参考2) http://d.hatena.ne.jp/cocoiti/20080221#1203611811 PHPでファイルをDLさせる際のPHPコード例 通常、PHPでファイルをダウンロードさせるとすると、次のようにシンプルにかけます。<?php header('Content-Type: application/octet-stream'); readfile("dl.zip"); ?> が、これだと、ダウンロード時に、保存名がアクセスしたphpでのファイル名になってしまいます(例えば、dl.php)。 そこで次のように Content-Disposition でファイル名をブラウザに通知することで、dl.zip
2008年02月09日00:05 カテゴリLightweight Languages 私の言語遅延学習法 - 三つのルール+1 つっこみが遅くなりました。 新しくプログラミング言語を覚えたいときに行うべき10の練習問題 | IDEA*IDEA 404の人とかが突っ込んでくれそうな気がするので気軽にいってみます。 いい機会なので、私の言語学習法をこの際披露することにしましょう。 私の場合、一番の特徴は、「必要を感じるまで学ばない」「本当の問題に出会った時に、それを全力で解く」「学ぶ時には『原典』に当たる」ということでしょうか。私はこれを「遅延学習」と呼んでおります。実はこのことはコンピューター言語に限った事ではないのですが、コンピューター言語の場合、このことが特に顕著です。これらの特徴について一つずつ解説してみましょう。 必要を感じるまで学ばない 私の場合、長らく「プログラマー」としてより「
このドキュメントは、Zend Framework に貢献してくださる開発者個人 (あるいはチーム) のためにコードの書式やドキュメント作成の指針を示すものです。 Zend Framework を用いて開発をする人たちにとってもこのコーディング規約は有用でしょう。 これに従えば、Zend Framework のコードとの一貫性が保てるからです。 そのためには、ここで完全なコーディング規約を示す必要があります。 注意: 詳細なレベルまでの設計指針を示すこと以上に、 それを標準規格として確立することが大切だと考えています。 Zend Framework コーディング規約の指針は、 これまで ZF プロジェクトでうまく回っていた方針をまとめたものです。 このライセンスのもとで、 そのまま使用するなり多少変更して使用するなりすることができます。 ZF コーディング規約では、次のような内容を扱います。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く