タグ

ブックマーク / gihyo.jp (32)

  • 第1回 ウェブブラウザとJavaScriptの未来 | gihyo.jp

    こんにちは、id:os0xこと太田昌吾です。今回から、クロスブラウザ対策を中心としたJavaScriptの初級から中級の方向けの連載を開始します。JavaScriptの基礎的な文法は理解されているという前提での解説となりますので、ご了承ください(間違いやすい、わかり難いと思われるところは適宜補足します⁠)⁠。初回である今回はJavaScriptやウェブブラウザの背景など盛りだくさんの内容でお届けします。 JavaScriptのイマ JavaScriptは2010年現在において、最も重要な言語となりつつあります。旧来はすべての処理をサーバーで行って、結果をウェブブラウザ上に表示するだけというのがウェブの一般的な姿でした。2005年に登場したGoogle Mapsを一つの契機として徐々にウェブブラウザ・クライアント側での処理が見直され始め、近年ではクラウドやSaas、そしてHTML5の流行によ

    第1回 ウェブブラウザとJavaScriptの未来 | gihyo.jp
  • 第8回 ファイルシステムAPI(その2) | gihyo.jp

    open()メソッドもopenAsync()メソッドも、READまたはUPDATEを指定してファイルをオープンすると、すぐにランタイム内部の入力バッファにデータを読み込み始めます。同期メソッドであるopen()の場合、バッファにすべてのデータが格納されてから次の処理に移りますが、非同期メソッドのopenAsync()の場合はバッファへの読み込みをイベントで監視して必要な処理を行います。 ファイルの読み込み では、UTF-8のテキストファイルを読み込んでみましょう。次のサンプルは、同期処理でファイルを読み書きする際の基的な流れです。ボタンをクリックするとデスクトップ上のsample.txtを読み込みテキストエリアに表示します。 <?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://ww

    第8回 ファイルシステムAPI(その2) | gihyo.jp
  • [動画で解説]和田卓人の“テスト駆動開発”講座 記事一覧 | gihyo.jp

    第16回プログラミング言語とTDDは、どちらを先にマスターすべきか? 和田卓人 2007-12-21

    [動画で解説]和田卓人の“テスト駆動開発”講座 記事一覧 | gihyo.jp
  • 第1回 Chrome ExtensionsのAPI#1 | gihyo.jp

    こんにちは、ALBERTの太田です。今回からChrome4のリリースまでの間、Google Chrome Extensionsの詳細を追っていきたいと思います。なおタイトルの通り、この連載は先取り! Google Chrome Extensionsの続編となっています。 まず、重要なお知らせがあります。前回の特集で何度か使用していたToolstripsとMoleがベータリリースまでに削除されることが決まりました。その代わりとして、今回解説するBrowser Actionsが利用できるようになります(Important: Toolstrips being removed in favor of browser actions⁠)⁠。また、Browser Actionsに合わせて、第3回で解説したPage Actions APIの新バージョンが提案されています。こちらも詳細は追って解説します。

    第1回 Chrome ExtensionsのAPI#1 | gihyo.jp
  • 第24回 Dwyane Wade - The Interview、Australian Coastal Watch、NAKANO QUEST | gihyo.jp

    いま、見ておきたいウェブサイト 第24回Dwyane Wade - The Interview、Australian Coastal Watch、NAKANO QUEST 紅葉の美しい日々も終わり、そろそろ年末の大掃除に向けて準備をしようと部屋を見まわし始めた今日このごろ、皆様いかがお過ごしでしょうか。今回も個人的に感じた、素晴らしいサイトの特徴をいくつかお話したいと思います。 “架空”と“実在” 『Dwyane Wade - The Interview』 NBA(National Basketball Association)のマイアミ・ヒートに所属するDwyane Wadeをフィーチャーした、Nikeのスポーツグッズブランド「Jordan Brand」のキャンペーンサイト『Dwyane Wade - The Interview』です。 図1 ユーザーは採用試験の面接官となる credi

    第24回 Dwyane Wade - The Interview、Australian Coastal Watch、NAKANO QUEST | gihyo.jp
  • 第3回 JSDeferredを用いたアプリケーション開発(その2) | gihyo.jp

    前回に引き続き、Wikipediaから緯度経度を取得しGoogle Maps上にプロットするアプリケーションを作っていきます。 今回は透過的なキャッシュの仕組みを入れるのと、geolocation APIを用いて、データのロードが終わり次第自分の近くのマーカーを表示させてみたいと思います。 完成コードは以下のようになります。 今回作成するサンプル(完成品) 透過的なキャッシュ キャッシュのための領域として、localStorageというものを使います。これはFirefoxやSafariなどで実装済みの、簡単にいってしまえば大容量のCookieみたいなものです。 localStorageは同期的に値を取得やセットをできますが、キャッシュするデータはXMLHttpRequestで取得される非同期なデータです。この二つの条件分けを最小限にして実装するために、JSDeferredを間に挟むことにし

    第3回 JSDeferredを用いたアプリケーション開発(その2) | gihyo.jp
  • 第6回 Firebug要らずなChromeのWeb Inspector | gihyo.jp

    こんにちは、太田です。今回はChrome拡張の開発時のノウハウとして、開発ツールの解説をお送りします。Google ChromeにはWebKit由来のWeb Inspectorというデバッグツールが搭載されています。以前にも少しだけ紹介しましたが、今回は具体的な使い方まで掘り下げて解説します。なお、今回のWeb Inspectorの解説はChrome拡張だけでなく、JavaScriptを使ったウェブアプリケーションの開発に一般的に役立つノウハウとなっています。 WebKitのWeb Inspector Chrome拡張の開発の必需品であるWeb Inspectorですが、こちらは元々WebKit(Safari)で開発されたもので、Google ChromeChromium)に搭載されているものはさらに機能が追加されています。FirefoxにはFirebugという定番ツールがありますが、そ

    第6回 Firebug要らずなChromeのWeb Inspector | gihyo.jp
  • 2009年12月第2週号 1位は、ミニマルなWebレイアウトを作るために必要なこと、気になるネタは、絶対に覚えたい iPhone+Google音声検索・10の技 | gihyo.jp

    週刊Webテク通信 2009年12月第2週号1位は、ミニマルなWebレイアウトを作るために必要なこと、気になるネタは、絶対に覚えたい iPhoneGoogle音声検索・10の技 ネットで見かけたWebテク(Webテクニック・Webテクノロジー)記事から、Webデザイナーの目で厳選したネタを週刊で紹介するこのコーナー。今回は、2009年12月7日~12月13日の間に見つけた記事のベスト5です。 1. How to project a minimalist layout? attention to the details | Your Inspiration Webhttp://www.yourinspirationweb.com/en/how-to-project-a-minimalist-layout-attention-to-the-details/ ミニマルなWebレイアウトを作るた

    2009年12月第2週号 1位は、ミニマルなWebレイアウトを作るために必要なこと、気になるネタは、絶対に覚えたい iPhone+Google音声検索・10の技 | gihyo.jp
  • 第7回 性能改善の鍵、インデックスの特性を知る~B-treeとハッシュ (3)結論 | gihyo.jp

    総評 以上、B-treeとハッシュという代表的なパフォーマンスチューニングのアルゴリズムについて見てきました。どちらの技術を採用するかは、業務要件に依存するところが大きいのですが、ここで目安として一般的な結論も述べておきましょう。 結論1:とりあえずB-treeインデックスを使って大敗することはない。 B-treeはバランスのとれたオールラウンダーですので、だいたいどんな要件にもそこそこ対応します。安心して使ってください。 一方、ハッシュについての結論は、こうです。 結論2:等値条件で性能を追求したいならハッシュを使いなさい。ただし大敗も覚悟しなさい。 ハッシュが効果を発揮するのは、等値条件(=)のときだけです。また、ソート処理の助けにもなりません。したがって、使う局面は非常に限られてきます。PostgreSQLのように、マニュアルに「ハッシュインデックスの使用は推奨しない」とはっきり書い

    第7回 性能改善の鍵、インデックスの特性を知る~B-treeとハッシュ (3)結論 | gihyo.jp
    mry
    mry 2009/12/19
  • 第1回 止められないシステムをどう作り、育てるか | gihyo.jp

    はじめに─あるコンテンツプロバイダの悩み はじめまして。 今回「使える!サーバ運用の実践テクニック」という題目での執筆依頼をいただきました。 まず、筆者が日々携わっているサイトですが、モバイル市場向けのCP(コンテンツプロバイダ)として、そこそこ大きなファイルのダウンロードサービスを提供しています。システム的にはよくあるSNSゲームコンテンツなどとは違った(と思われる)以下のような悩みを抱え、日々仕事をしています。 月額利用料を持たないため、商品購入のつど、課金処理を実施する。 これは、月額、広告収入などの収益モデルではなく、ECサイトのような収益形態を取った場合、サイト停止によって機会損失額に対するインパクトが大きい事を意味します。 対象ファイルは10Mバイトを超えるようなものがある。 このため、ダウンロードが終了するまでWebサーバ側にセッションが残ってしまう点などへの考慮が必要にな

    第1回 止められないシステムをどう作り、育てるか | gihyo.jp
  • 第1回 FTPでスループット計測するときの注意事項 | gihyo.jp

    皆さん、こんにちは。 このコラムでは、ネットワークエンジニアとして活躍されている方を対象として、資格試験だけでは得られない実践的な技術テーマについて取り上げていきたいと思いますので、よろしくお願いします。 突然ですが、私の知人が以下のような現象に遭遇しました。なぜ、このようなことが起きるのか、わかりますか? FTTHのインターネット接続サービスを使用しており、公衆FTPでスループット測定を行うと85Mbpsくらい出ている。 しかし、無線LANを使用すると20~30Mbps程度の速度しか出ていなかった。 そこで今回、新しく802.11n対応の無線LAN内蔵ルータを購入した まず、ルータにFTPサーバを直接接続し、無線LANを倍速設定にしてスループットを測定したところ、約100Mbpsくらいでており、「⁠さすがイレブンエヌだぜ」と期待が高まる ところが、実際にインターネット(FTTH)に接続す

    第1回 FTPでスループット計測するときの注意事項 | gihyo.jp
  • 第2回 JSDeferredを用いたアプリケーション開発(その1) | gihyo.jp

    JSDeferredの基的な読みかた JSDeferredを使ったコードを読むときには、next() という関数がキーになっています。 リスト1 // next() のチェイン Deferred.next(function () { // 最初の next は Deferred.next alert(1); }). next(function () { // これは Deferred.prototype.next alert(2); }). next(function () { alert(3); }); 前回すこしばかり例を出しましたが、このように next を繋げていくことで処理の流れを表現します。 Deferred.next() と Deferred オブジェクトのメソッドとしての next() があることに注意してください。Deferred オブジェクトのメソッドとしての nex

    第2回 JSDeferredを用いたアプリケーション開発(その1) | gihyo.jp
  • 第10回 今すぐできる!ユーザビリティを向上させるフォーム操作実践(2):プラグインを使わずにバリデーションを実装 | gihyo.jp

    もっと便利に!jQueryでラクラクサイト制作(実践サンプル付き) 第10回今すぐできる!ユーザビリティを向上させるフォーム操作実践(2):プラグインを使わずにバリデーションを実装 バリデーションをプラグインを使わずに実装する フォームは主にコンバージョンに直結する場合が多いと思いますので、ユーザビリティを向上させる、つまりユーザーに最後まで入力してもらえるようなフォーム作りはとても重要です。 どのような機能を持って使いやすくするのか、にはそのサイト自体のターゲットユーザー層を認識した上で盛り込む必要がありますが、どんな方法で使いやすくできるのかは知っておいて損はありません。 前回は、ラベル要素を利用して、直感的に分かりやすくする方法を紹介しましたが、今回・次回にかけては少し突っ込んでJavaScriptで行うバリデーション(※1)を実装してみたいと思います。 入力された文字列をチェックす

    第10回 今すぐできる!ユーザビリティを向上させるフォーム操作実践(2):プラグインを使わずにバリデーションを実装 | gihyo.jp
  • 新刊ピックアップ:ノーベル賞1世紀の背景と歴史 |gihyo.jp … 技術評論社

    2008年は日人科学者がノーベル賞を4人も受賞したという快挙の知らせで人々が驚き,その話題で盛り上がりました。ところでこのノーベル賞の背景と歴史はご存知ですか? ノーベル賞は,1901年に最初の授賞が行われて以来,すでに110年近い歴史を刻んでいます。その間,第一次世界大戦と第二次世界大戦,経済恐慌,数十年に及んだ東西冷戦など人間社会は幾度もの大きな混乱や低迷,緊張の時代を経験し,それはノーベル賞の歴史にも明暗さまざまな影響を及ぼしてきました。 そうした時代の変遷を踏まえて振り返ってみると,人間が成し遂げた業績に与えられる栄誉の象徴として,誰もが知るこの賞は,20世紀の最初の年から21世紀の現在に至るまで,科学および科学技術の発展の歴史と見事に重なり合っています。とりわけ物理学,生理学医学および化学の各分野に贈られてきたノーベル賞を追えば,過去1世紀あまりの科学史をそのまま跡づけることに

    mry
    mry 2009/12/03
  • 第1回 JSDeferredによる簡単非同期処理 | gihyo.jp

    どうもはじめまして、株式会社はてなのid:cho45です。これから数回に渡り、拙作のJavaScriptのライブラリであるJSDeferredの紹介と、それに関係するJavaScriptにおける非同期の技術に関して解説させていただきます。 JavaSciptにおける非同期処理 非同期処理とは まずは確認程度に、非同期処理がどういうものかを解説しておきます。先に乱暴にまとめてしまうと、以下の事柄が大切なところです。 非同期とは「あとで」という意味 同期処理はコードの見た目順に実行される/非同期ではそうならない JavaScript の非同期処理は絶対に同期処理にすることができない JavaScriptにおける非同期処理をいくつか例に出すと、以下のようなものが挙げられます。 リスト1 // XMLHttpRequest の例 var req = new XMLHttpRequest(); re

    第1回 JSDeferredによる簡単非同期処理 | gihyo.jp
  • 2009年11月30日 Ubuntuベースの初心者向きディストロ「Linux Mint 8」が登場 | gihyo.jp

    Linux Mint開発チームは11月28日(現地時間⁠)⁠、Linux Mintの最新バージョン「Linux Mint 8 "Helena"」の正式公開を発表した。Linux MintはUbuntuをベースにしたデスクトップLinuxディストリビューション。初心者にもやさしいLinuxをモットーに開発が続けられており、最も人気が高いディストリビューションのひとつ。ユニバーサルエディション(Universal Edition)では日語版も用意されている。 バージョン8では、最新のUbuntu 9.10(Karmic Koala)をベースにしており、Linuxカーネル2.6.31、GNOME 2.28、X.org 7.4が採用されている。多くの面で改善/改良が図られているが、とくに大きなものとしては OEMインストレーション パッケージアップデートの(意図的な)無視 メニューの改良 Sof

    2009年11月30日 Ubuntuベースの初心者向きディストロ「Linux Mint 8」が登場 | gihyo.jp
  • 第6回 SQLで木構造を扱う~入れ子区間モデル (1)もしも無限の資源があったなら | gihyo.jp

    はじめに 前回では、入れ子集合モデルという、リレーショナルデータベースで木構造を扱うための新しい方法論を紹介しました。このモデルは、RDBSQLと親和性の高い優れたものではあるのですが、挿入など更新時に、無関係のノードまで変更対象としなければならないのが大きな難点でした。 そこで今回は、上記の欠点を解消する進化版のモデルを紹介します。この方法を理解していく過程で、私たちはRDBと集合論の結び付きの深さを再確認することになります。 ふだんこの連載は、1回完結の読み切り形式なのですが、今回に限り、前号の内容を前提としています。未読の方は、前号を先に読むと理解が増すでしょう。 稼働環境 すべてのリレーショナルデータベース もしも無限の資源があったなら 座標に整数のみを使う場合の限界 入れ子集合モデルの大きな欠点は、ノードを挿入(追加)するときに、自分より「右側」にある無関係なノードをもっと右へ

    第6回 SQLで木構造を扱う~入れ子区間モデル (1)もしも無限の資源があったなら | gihyo.jp
  • 第21回 KiokuDB:マッピングが複雑すぎると感じたら | gihyo.jp

    Shibuya.pm #12連動企画 日開催のShibuya Perl Mongersテクニカルトーク#12のテーマは "No Perl, NoSQL, NoKVS" または "Not only Perl, Not only SQL, Not only KVS" ということなので、今回はそれにあわせてYAPC::Asia 2009でも紹介されていたKiokuDBについて簡単に取り上げてみます。 オブジェクトをまるごと保存する 牧大輔氏も『モダンPerl入門』のなかで、データベースをハッシュテーブルのようにとらえて、「⁠基的にプライマリキーからデータを持ってくる構成のみにすると、ORMを使用することによりキャッシュの導入も含めてチューニングが楽になります」と書いているように、Perlの世界では最近RDBMSやその上位層で頑張りすぎるより、モデリングの仕方そのものを工夫して実装や保守のしや

    第21回 KiokuDB:マッピングが複雑すぎると感じたら | gihyo.jp
  • 第9回 今すぐできる!ユーザビリティを向上させるフォーム操作実践(1) | gihyo.jp

    今回よりフォーム関連の実践 前回はタブパネルをプラグインとして利用することについての説明をしました。プラグインとして作ることで、様々なサイトで使いたい部分で使えるようにできるという点でも、とても便利です。今後もプラグインとして利用できるような作り方の説明も入れていきますので、みなさんもぜひ挑戦してみてください。 さて、今回より数回にかけて、フォーム(Form)関連の実践例についてご紹介していきます。フォームでは、ユーザーが使いやすいよう(入力しやすいように)に工夫することで様々な点において、利便性を向上させることができます。 今回はフォームの入力部分に入力例などを入れておき、フォーカスしたときにその入力例を消す仕組みを作ってみることにします。 入力例を入れておきフォーカス時に消す フォームの入力部分で、入力例を入れておくことで、その部分にどのような入力をしたらいいのか明示しておくことができ

    第9回 今すぐできる!ユーザビリティを向上させるフォーム操作実践(1) | gihyo.jp
  • 2009年11月第4週号 1位は、CSS3の新機能をデザインに活かす方法、気になるネタは、THE NORTH FACE タッチパネル対応のグローブを発売中 | gihyo.jp

    週刊Webテク通信 2009年11月第4週号1位は、CSS3の新機能をデザインに活かす方法、気になるネタは、THE NORTH FACE タッチパネル対応のグローブを発売中 ネットで見かけたWebテク(Webテクニック・Webテクノロジー)記事から、Webデザイナーの目で厳選したネタを週刊で紹介するこのコーナー。今回は、2009年11月16日~11月22日の間に見つけた記事のベスト5です。 1. How to bring CSS3 features into your design ≪ WelcomeToTheSkyhttp://welcome2thesky.com/2009/11/13/how-to-bring-css3-features-into-your-design/ CSS3の新機能の使いどころを、実例とコードで案内しています。 特定の領域を拡大したり、リンクメニューがロールオー

    2009年11月第4週号 1位は、CSS3の新機能をデザインに活かす方法、気になるネタは、THE NORTH FACE タッチパネル対応のグローブを発売中 | gihyo.jp