第16回プログラミング言語とTDDは、どちらを先にマスターすべきか? 和田卓人 2007-12-21
大人気「WEB+DB PRESS plus」シリーズを一斉電子化、先着500名様にオリジナルステッカーをプレゼント ──12月10日に20冊を同時刊行 株式会社技術評論社は、大人気シリーズ「WEB+DB PRESS plus」を電子化し一斉刊行することを発表いたします。 すでに発売されている『関数プログラミング実践入門 ──簡潔で、正しいコードを書くために』に続き、一斉刊行第一弾として下記20冊を電子書籍化して、12月10日に発売いたします(EPUB版は2015年1月末配信。PDF版ご購入の方には無償提供)。 Googleを支える技術 ──巨大システムの内側の世界 [24時間365日]サーバ/インフラを支える技術 ──スケーラビリティ、ハイパフォーマンス、省力運用 プログラマのための文字コード技術入門 Webを支える技術 ──HTTP、URI、HTML、そしてREST [We
株式会社技術評論社は、同社の技術専門誌『Software Design』『WEB+DB PRESS』の両誌のPDF版を、Gihyo Digital Publishingにて発売することを発表いたします。 『WEB+DB PRESS』は初の電子化となります(総集編を除く)。 本日2014年4月14日から年間定期購読受け付け開始 『Software Design』『WEB+DB PRESS』とも、本日より年間定期購読のお申込み受け付けを開始いたします。それぞれ、以下ページよりお申込みください。 『Software Design』 『WEB+DB PRESS』 最新号からは単品での購入も可能 なお、単品でのご購入に関しては、各誌最新号(『Software Design 2014年5月号』:4/18発売、『WEB+DB PRESS Vol.80』:4/24発売)から受け
はじめに 初めまして。NTTアドバンステクノロジの金城と申します。幸運にも記事を執筆させていただけることになりました。WebSocketという新しいウェブの規格についての連載を、全4回の予定でお届けします。 用語統一について WebSocketは「WebSocket」「WebSockets」、単語を切り離した「Web Socket」等、表記に揺れがあります。2009年12月22日のワーキングドラフトのタイトルは「The Web Sockets API」となっていますが、2010年4月26日のエディターズドラフトでは「The WebSocket API」となっています。この連載では、最新の仕様書に則り、用語を「WebSocket」で統一します。 HTML5とWebSocketの関係 WebSocketは、もともとHTML5の一機能として仕様の策定が進められていました。しかし、Web S
UNIXの基本的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 本稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。本稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要
Apatna Jaxerとは? サーバサイドJavaScriptとは、その名の通りサーバ側で実行するJavaScriptのことです。 JavaScriptはクライアントのブラウザ上で実行するもの、というイメージが強いので、サーバ側で実行すると言われても、ピンと来ない方も多いかもしれません。 サーバサイドJavaScriptのエンジンは、いくつかのプロダクトが登場しています。Javaによる実装のRhinoやCによる実装のSpidermonkeyは、その代表格になります。 先日、統合開発環境Aptana Studioで有名なAptana社が、サーバサイドJavaScriptを実現する"Ajaxサーバ"Aptana Jaxer(以下、Jaxer)を発表しました。 Ajaxサーバ、とは耳慣れない言葉ですが、Jaxerの特徴をずばりと言い表すために作った造語だと思います。Jaxerを利用すると、Aj
来る2008年8月,WEB+DB PRESS plusシリーズの新刊,『[24時間365日]サーバ/インフラを支える技術 ……スケーラビリティ,ハイパフォーマンス,省力運用』(伊藤直也,勝見祐己,田中慎司,ひろせまさあき,安井真伸,横川和哉)の発売が決定いたしました。 (株)はてな,KLab(株)の6名の執筆陣による新刊発売を記念して,下記の要領で勉強会を開催いたします。 今回の勉強会への参加お申し込みは,2008年7月24日(木)に受け付け開始の予定です。 ぜひご参加ください。 ※ 勉強会は終了しました。ご参加ありがとうございます。 ストリーミング配信のご案内 勉強会当日、以下のチャンネルで勉強会の様子を配信予定です。 http://www.ustream.tv/channel/24svr-techMTG (実施期間:2008年8月8日(金)18:30-21:00)
当日の講演資料と動画を公開です。 動画はニコニコ動画を利用して配信しています。ニコニコ動画のアカウントをお持ちでない方でも,gihyo.jp上で動画を再生できます(コメントの書き込みはできません)。 動画の最後でニコスクリプトを使ったアンケートを行っていますので,ニコニコ動画のアカウントをお持ちの方はご協力いただければ幸いです。動画をクリックすることでニコニコ動画の該当ページへアクセスすることができます(ニコニコ動画のマイリストはこちら)。 今回の動画公開にあたって,gihyo.jp用に新たなニコニコ動画プレーヤーを作っていただきました。この場を借りてニコニコ動画の方にお礼を申し上げます。 JavaScript Tips & Technique IT戦士amachangが最近のJavaScriptのテクニックやTipsについてご紹介します。
Shibuya.chumbiesのoverlastといいます。 chumbyはアメリカ生まれで、手の平サイズの可愛いガジェットです。 フォトフレームになったり、天気予報を教えてくれたりで、なかなか賢いヤツです。 私は2008年5月中旬に『chumby』というガジェットをアメリカから日本に大量輸入し、100人以上に配布しましました。 今、chumbyに関するブログ記事を書いている日本人が増えています。 今回から始まる連載では、この『chumby』を紹介します。 その際に「chumbyを日常生活で使うことの楽しさ」や、「自分でchumby用のウィジェットを作ることの楽しさ」など、 chumbyの「楽しさ」を、みなさんにお伝えしたいと考えています。 chumbyとは何か 『chumby』というガジェットをご存知ですか? 公にchumbyのプロトタイプの実物が披露されたのは、 2006年8月にア
今日は、CSSを使ってサイトを高速化するテクニック「CSS Sprites(CSSスプライト)」についてのお話をさせていただきます。 サイトの高速化というと、プログラムの最適化を行ったり、サーバのチューニングを行ったりというイメージがあるかと思います。実はCSSを上手に使うことによっても、サイトの高速化を行うことができます。しかも、かなりの効果が期待できるのです。 CSS Spritesとは? 通常、ウェブページを制作する場合、デザインファイル(psdやpngなどの画像)をスライスし、HTMLのimg要素として埋め込んだり、CSSの背景画像として指定していることと思います。 それらの画像を一つにまとめ、1度の読み込みでのリクエスト数を減らすテクニックのことを「CSS Sprites」と呼びます。 このテクニックは、以前からマウスオーバーメニューを実現する際にも使われていたものでもありま
はじめに「僕たちは今……」 人間の思考に、ことば――すなわち言語は欠かせないものです。考えごとをするときに、ことばを使っていない人はいないでしょう。 さて、僕達は今、コンピュータを身近に感じる世界にいます。 コンピュータというのは、ハードウェアとソフトウェアに大きく分けることができますが、ソフトウェアはさまざまなプログラミング言語を用いて書かれたプログラムで構成されています。 プログラムの重要さは、コンピュータのハードウェアを変更しなくても、中のプログラムを変えることによってコンピュータの用途を「計算」「文書作成」「ゲーム」「勤怠管理」「ショッピング」と変えることができることからもわかります。つまり、皆さんが「コンピュータって便利だね」と、言うときに指すコンピュータとは、プログラミング言語で書かれたプログラムのことなのです。 そのプログラミングの始まりは、チャールズ・バベッジが作成
はじめに はじめまして。大沢と申します。 この連載では、筆者が実装したCPANモジュールのClass::Componentを題材にしつつ、近代的なPerlでのプラガブル(拡張可能)なソフトウェアの実装方法を紹介します。 今回は、Class::Componentの概要を説明します。 本連載で使うサンプルアプリケーション 本連載では、プラガブルなモジュールを作製するという事を考えて、Gopperというサンプルアプリケーションを元に解説を行ないます。 GopperはCodeRepos上のsvnリポジトリに置いてあるので各自checkoutしてください。 svn co -r 271 http://svn.coderepos.org/share/lang/perl/Gopper/trunk Gopper サンプルアプリケーションは連載中にも頻繁にupdateされる事が予想されますので、毎回リビジョン
他のライブラリや、自分のコードと共存させるときは、これらの名前と衝突しないように気をつける必要があります。同じ名前を使ってしまうと、コードがロードされた順番によって挙動が変わる、というようなわかりにくい問題が発生してしまう場合が出てきます。 オブジェクト、クラスの使われ方 ライブラリ内では、上記の名前空間は大きく分けて以下のような使われ形をしています。 その下に別のオブジェクトを入れるための親名前空間として使う Class.create()を使って Prototypeライブラリ風のクラスとして定義する Object.extend()を使って他のクラス、オブジェクトから継承されることを前提とする関数を集める コードを簡潔に記述する為に短い名前の関数として使う 特に、Object.extend()を使って継承を実現している箇所が多く、最終的にどのオブジェクト・クラスにどのメソッドが定義されてい
2007/7/14にPHP4のメンテナンス終了日がアナウンスされ、通常のメンテナンスが2007/12/31まで、セキュリティフィックスが2008/8/8までと発表されました。本連載では、これを踏まえてPHP4.4からPHP5.2への移行について解説します。PHP5には便利な新しい機能が多く追加されていますがここではそれらには触れず、移行についてのみ解説します。PHP4からPHP5に移行する場合に必要のない項目はほとんど解説しません。PHP5の新しい機能についての解説は「はじめてのPHP言語プログラミング入門」(技術評論社)などのPHP5の入門書を参照してください。 特に記述がない場合、PHP4はPHP4.4.x、PHP5はPHP5.2.xを意味します。 PHP4とPHP5の違い PHP4とPHP5は言語仕様が異なる言語ですが、PHP5はPHP4の上位互換言語です。PHP4とPHP5両方で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く