タグ

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

  • 第1回 データベース設計とは:初めてのデータベース設計|gihyo.jp … 技術評論社

    かつては非常に高価なもので、手軽に導入できないという印象のあったデータベースですが、現在では、PostgreSQLMySQL、Firebirdなどといったオープンソースのデータベースが商用のものに引けを取らない機能、性能を備えるようになり、それほど規模の大きくないWebアプリケーションであっても、あたりまえのようにデータベースが使用されるようになりました。 特集では、Webアプリケーションを初めて開発するという方に向けて、データベース設計の基について説明していきます。なお、一言にデータベースといってもいろいろなものがありますが、いわゆるテーブルによってデータを管理するリレーショナルデータベースを対象とします。 今回は、データベース設計の全体的な流れについて説明します。 データベース設計とは、データベースによってデータを管理できるように、現実の世界を抽象化してデータモデルを作成していく

    第1回 データベース設計とは:初めてのデータベース設計|gihyo.jp … 技術評論社
  • 保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より | gihyo.jp

    保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発⁠⁠、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より 今回、Software Design 2022年3月号 第2特集「そろそろはじめるテスト駆動開発 JavaScriptでテストファーストに挑戦」の第1章「保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像」をサイトに掲載します。第2章以降については、誌『Software Design 2022年3月号』電子版(Gihyo Digital Publishing、Amazon Kindle)をご購読いただければ幸いです。 第1章では、混同されることの多い自動テスト関係の概念を、自動テスト、テストファースト、テスト駆動開発の3つの段階に分け、それぞれの効果や注意点を説明します。ソフ

    保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より | gihyo.jp
  • 第9回 検索エンジンの開発にあたって | gihyo.jp

    はじめに 前回までで、検索エンジンの基となる仕組みの大枠は説明しました。 今回は、復習を兼ねてこれまでの連載全体を見ていき、検索エンジンを作る上で説明が足りなかった部分を補足していこうと思います。連載では実際のコードはあまり載せられませんが、ぜひこの際に簡単な検索エンジンを作ってみることをお勧めします。 全体の構成 第2回で紹介した検索エンジンの構成をもう一度見てみましょう。 図1 検索エンジンの構成 検索エンジンは索引とその索引を構築する部分、そしてその索引を検索する部分の3つに分けられることを説明しました。連載では、索引に関しては第3~6回、構築方法に関しては第7回、そして検索方法に関しては前回の第8回でそれぞれ説明してきました。各項目をとても足早に説明してきましたが、一応全部の要素がカバーされていますので、これまでの知識を使って簡単な検索エンジンを作ることはできてしまいます。

    第9回 検索エンジンの開発にあたって | gihyo.jp
  • #3 大規模データ処理へようこそ! ……インターン第二週 | gihyo.jp

    前々回、前回に続き、レポートでは、(株)はてなはてなサマーインターン2009の第二週(2009年8月10日~13日)に行われた、エンジニア向け講義の様子を中心にお届けする。 第二週:6日め~9日め インターンシップの6日め~9日め(8月10日~8月13日の4日間)のテーマは「大規模化⁠」⁠。はてなのサービス開発で必要になる大規模な環境、大規模なデータへの基的なアプローチを学ぶ。第二週は、以下のテーマで講義が行われた。 第二週の講義: 6日め:id:naoya氏の「はてな流大規模データ処理」 7日め:id:motemen氏の「はてなのデータでアルゴリズムを実用化する」 8日め:id:r_kurain氏の「はてなのデータで検索エンジンを作る」 9日め:id:stanaka氏の「はてなのインフラストラクチャ」 いずれも、大規模なWebアプリケーション環境を稼動させる現場であるからこそ格的

    #3 大規模データ処理へようこそ! ……インターン第二週 | gihyo.jp
  • 第18回 Ruby on Railsで開発するSilverlightアプリケーション | gihyo.jp

    前回のおさらい 前回記事はSilverlight、IronRubyの基的な概念の説明と開発環境の紹介、動作確認までを行いました。今回は前回記事の最後で作成したHello Silverlightアプリケーションに簡単な修正を行い、基的な機能を紹介していきます。 箇条書きで簡単にセットアップの手順をおさらいします。 Ruby/Rails環境を準備(要rubyzipモジュール) SilverStarプラグインをインストール ./script/generate silverlight [name]を実行 viewにインターフェイス要素を記述(拡張子xaml) controllerでrender_silverlightを行う app/silverlight/xxxx.rbにrubyでマネージコード(制御コード)を記述 http://[host]/[path].xapにアクセスしてみる 準備 前回

    第18回 Ruby on Railsで開発するSilverlightアプリケーション | gihyo.jp
    takoashi_net
    takoashi_net 2009/08/29
    二つの融合でなにかよいものが生まれるのか?XAMLを自動生成するようになれば、もっと世界は広がる?
  • スタンフォード大学、iPhoneアプリ開発講座をiTunes Uで無料公開 | gihyo.jp

    米スタンフォード大学でのiPhoneアプリケーションのプログラミング講義を収めた動画と資料がiTunes Storeにて無料で公開されています(図1⁠)⁠。これは、「⁠iTunes U」と呼ばれる米国著名大学の講義内容を無料で配信する取り組みの一環です。講座は2009年4月4日よりスタートし、昨今のiPhone人気やAppleエンジニアが直々に講義を行っていたりすることから、非常に高い人気を得ています。講義は1回につき1時間程度で全18回を予定しており、最終講義は2009年6月の予定です。 図1 講義の模様 内容はかなり実践的で難易度も高いです。前提知識としてC言語の知識があれば問題ないとしていますが、実際に講義のペースに合わせて進めていくのであれば、予習や復習に加え課題にも取り組んでいかないと、途端について行けなくなってしまうでしょう。 第1回から第3回まではCocoa Touchや

    スタンフォード大学、iPhoneアプリ開発講座をiTunes Uで無料公開 | gihyo.jp
  • 第9回 デバイスでアプリを動かす | gihyo.jp

    今回は、アプリをiPhoneやiPod touchで動かす方法について学びます。 iPhone Developer Programへの登録 自作のアプリをデバイスで動かすためには「iPhone Developer Program」への登録(有償)が必要です。 まずはiPhone Dev Centerにログインします。 iPhone Dev Center 右側にある「iPhone Developer Program」の項目から「Apply now」をクリックして登録画面へ進みます。その後のページで「Learn More⁠」⁠→「⁠Apply Now」と進み、ログイン画面が表示されたら再度ログインを行って下さい。 登録ページ ログインすると、個人(Individual)での登録か、企業および団体(Company/Organization)での登録かを選択した後、金額の確認、ライセンス契約の確認

    第9回 デバイスでアプリを動かす | gihyo.jp
  • 第3回 スコープを意識したプログラミング―その2 変数のスコープ | gihyo.jp

    ローカル変数のスコープ ローカル変数とは、メソッド内などで宣言された一時的な変数のことです。JavaRubyなどのローカル変数は、宣言された場所からスコープが始まり、宣言されたブロックが終わるとスコープが終了します。リスト1の例でいうと、変数totalはスコープが大きく、変数nはスコープが小さいです。ある変数への依存を最小化し、プログラムの変更を行いやすくするために、「⁠ローカル変数のスコープは可能な限り小さくする」というのが大原則になります。 リスト1 ローカル変数のスコープ private void execute() { ... int total = 1;                  ┓変数totalのスコープ開始 ...                             | ...                             | for (int i =

    第3回 スコープを意識したプログラミング―その2 変数のスコープ | gihyo.jp
  • Yahoo! JAPANがyimg.jpドメインを使うのは、悪意あるFlashから自社ドメインのCookieを守るため | gihyo.jp

    濃縮還元オレンジニュース Yahoo! JAPANがyimg.jpドメインを使うのは、悪意あるFlashから自社ドメインのCookieを守るため SEOやユーザビリティに関するコンテンツを扱った「Web担当者Forum」にて「ヤフーの画像はなぜyimg.jpドメインなのか? サイト高速化の手法とヤフーの失敗例」という記事が公開されました。この記事では、Yahoo! JAPANのページはyahoo.co.jpドメインにあるが、画像ファイルはyimg.jpドメインにあることの理由として、「⁠Web表示のパフォーマンスを上げるため」「⁠不必要なクッキーによる通信量の増加を避けるため」を挙げています。そしてyimg.jpドメイン名のCookieが不要に送られており、無駄なデータ転送が発生していることを指摘しています。 今回取り上げたページでは、この記事に対して、画像サーバのドメインを分けている理由

    Yahoo! JAPANがyimg.jpドメインを使うのは、悪意あるFlashから自社ドメインのCookieを守るため | gihyo.jp
  • Google、C/C++コードをブラウザ上で動作させる「Native Client」プロジェクトを公開 | gihyo.jp

    濃縮還元オレンジニュース Google、C/C++コードをブラウザ上で動作させる「Native Client」プロジェクトを公開 Googleは2008年12月8日に、Webブラウザ上でx86 CPUのネイティブコード実行を可能にする「Native Client」をリリースしました。Google Codeにて、ランタイムやブラウザプラグイン、サンプルアプリケーションなどを含んだアーカイブを提供しており、現在は一般のPCで使われているx86のCPUを持つマシン上でのみ動作します。 ブラウザ上でリッチコンテンツを実現する技術にはJavaアプレットやFlash、Silverlightなどがありますが、Native Clientもその1つです。 Native Clientのサンプルアプリケーションにはグラフィックを多用したものが多くあります(図1⁠)⁠。ネイティブコードを実行しているため、他に比べ

    Google、C/C++コードをブラウザ上で動作させる「Native Client」プロジェクトを公開 | gihyo.jp
  • 第4回 Mojoの歴史と展望 | gihyo.jp

    MojoとHTTP::Engine ここまでMojoとそのサンプルフレームワークであるMojoliciousについて見てきましたが、国内でもYappoこと大沢和宏さんとtokuhiromこと松野徳大さんが中心となって、HTTP::Engineという同じような趣旨のフレームワークが開発されていることをご存知の方も多いと思います。今回はそのHTTP::EngineとMojoを比較しながら、Mojoの歴史や展望を見ていきましょう。 HTTP::Engineの誕生 HTTP::Engineも、もとをただせばMojoの作者ゼバスティアン・リーデル(Sebastian Riedel)氏が4年ほど前にリリースしたCatalystというフレームワークから派生したものです。だから、Mojoとは義理のおじ、あるいは いとこ・はとこ くらいの関係になるでしょうか。 CatalystもCPANモジュールをつなぐ「

    第4回 Mojoの歴史と展望 | gihyo.jp
  • 連載:目指せ!iPhoneアプリ開発エキスパート|gihyo.jp … 技術評論社

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    連載:目指せ!iPhoneアプリ開発エキスパート|gihyo.jp … 技術評論社
  • 第1回 はじめてのMojo | gihyo.jp

    mod_perlの教訓 一昔前まで、Perlである程度大規模なウェブアプリケーションを書くときはmod_perlと呼ばれるApacheモジュールを利用するのが一般的でした。 ところが、Apache、mod_perlともに大規模な改修が行われ、後方互換性が失われた結果、古いmod_perlのアプリケーションを抱えている企業は、リスクや不便を覚悟で古いApacheを使い続けるか、Apache、mod_perlともに新しい環境に移行するか、あるいはまったく異なる第三の道を模索するかの選択を迫られることになりました。 同じようなことは、もっと小規模なアプリケーションでも起こりえます。たとえば、昔ながらのCGI環境で実行していたものをもっと高速な環境に移行したくなったとき。たしかにmod_perlにはApache::PerlRunと呼ばれる互換モードもありますが、これまではアプリケーションそのものを

    第1回 はじめてのMojo | gihyo.jp
  • 第4回 コードの分割―その6 Step4:クラスに分割する | gihyo.jp

    Step4:クラスに分割する それではいよいよクラスの分割です。 まず、ここでは一時変数のrowIndexに注目します。先のリスト5 のbuildDocument メソッドを見ると、rowIndexは①で宣言されて、②③のループの中でインクリメントされながら使われています。変数が使用されている範囲はbuildDocumentメソッドの全体に渡っていて、その間XMLを生成するときに必要な現在行の状態を保持しています。このように、長い範囲で使用されるローカル変数があると、リファクタリングが行いにくくなるという問題があります。 たとえば、組織要素、ユーザ要素の追加を別メソッドにする場合、それぞれのメソッドでの行の増分をrowIndexに足したり、現在のrowIndexを渡したりする必要があります。つまり、メソッド呼び出し、戻しの際に「状態を引き継ぐ」必要が出てくるのです。 このような「状態を表す

    第4回 コードの分割―その6 Step4:クラスに分割する | gihyo.jp
  • 第4回 初めてのプログラミング | gihyo.jp

    今回からいよいよプログラミングを行います。最初のプログラミングはInterface Builder上で行います。 前回のおさらい 第3回では、Interface Builderを使った画面の作り方を学びました。実際に画面(View)に配置したパーツを再確認してみましょう。 Viewに配置されたパーツと名前 ユーザに何らかの文字を入力させるための「テキストフィールド」 ユーザにいくつかの選択肢の中からひとつを選ばせるための「セグメンテッドコントロール」 画面上に文字を表示するための「ラベル」 これらのパーツを配置しただけの状態では、アプリは何の役にも立ちません。そこでいよいよ「役に立つアプリ」にするために、プログラミングの作業へと入っていきます。 操作と処理を確認する まず、ユーザがパーツに対してどのような操作を行うかと、プログラムにどのような処理(動作)をさせるかについて確認しておきましょ

    第4回 初めてのプログラミング | gihyo.jp
  • 連載:良いコ―ドへの道―普通のプログラマのためのステップアップガイド|gihyo.jp … 技術評論社

    最終回 配列/コレクションを利用した抽象化―その5 Step4:配列/コレクション化して抽象化する 縣俊貴 2009-05-18

    連載:良いコ―ドへの道―普通のプログラマのためのステップアップガイド|gihyo.jp … 技術評論社
  • 第13回 LifeLogツール『PilePaperFile』 | gihyo.jp

    PA未踏ソフトウェアに採択された『PilePaperFile』のコンセプト 筆者は『PilePaperFile』を、LifeLogの重要なツールとして位置づけています。 LifeLogは、人間の生活するなかで発生するさまざまな身体行動情報をログとして記録し活用するシステムです。 ここでポイントになるのは、そういう連続する行為から生まれてくるきわめて細かい情報の記録を、「⁠だれ」が「いつ」するのかです。 人間は記録するために生活しているのではありません。総理大臣にでもなれば、生活の記録は官邸やマスコミがしてくれるかもしれませんけれど、一般人にはそういうのは程遠い。秘書を雇うのだってむずかしい。 時事通信による安倍晋三もと首相の一日 時事通信による安倍晋三もと首相の一日のLifeLog記録です。公務時間は分単位で記録されています。首相になると、LifeLogは他人がしてくれるのでした。 官邸に

    第13回 LifeLogツール『PilePaperFile』 | gihyo.jp
    takoashi_net
    takoashi_net 2008/12/15
    メールアドレスを書かずに、文章から誰宛かまで推論すると送信ミスがなくなるのでしょうか?
  • 第8回 たくさんでてきた意見を整理する(整理フェーズ) | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    第8回 たくさんでてきた意見を整理する(整理フェーズ) | gihyo.jp
  • 第3回 アプリ開発の第一歩 | gihyo.jp

    今回から、実際にiPhoneアプリを開発する手順や方法について解説します。 Xcodeプロジェクトの作成 いよいよ、Xcodeを使ってiPhoneアプリを作成します。Xcodeを起動し、プロジェクトを作成しましょう。Xcodeのメニューから「ファイル⁠」⁠→「⁠新規プロジェクト...」を選択します。 テンプレートの中から「View-Based Application」を選択 第2回と同様、ここでは「View-Based Application」を選びます。今回はApp Storeでも配布されている、価格を入れて割引率を 選ぶと自動的に割引後の金額を表示するアプリ「バーゲン教師」を作りますので、プロジェクト名は「BargainSale」としました。もちろん他の好きな名前でもかまいません。アプリ名はこれとは別に設定しますが、開発中はひとまずこの名前を使います。 保存が完了すると、選択したテンプ

    第3回 アプリ開発の第一歩 | gihyo.jp
  • BK通信 ―Bad Knowhow Tsushin―:#03 C++のバッドノウハウ|gihyo.jp … 技術評論社

    ソフトウェアなどを使いこなすために、ストレスを感じながらもしぶしぶ覚えなければならないようなノウハウ、「⁠バッドノウハウ」がテーマの連載、第3回の今回は極めてBKフル(バッドノウハウが多い)言語であるC++を取り上げたいと思います。 C++再考 いまどきのWebアプリケーションはPerlRubyなどのLightweight Languageで作られているものが多く、C++の出番は非常に少ないように見えます。ところが、知人などに話を聞いてみると、基的にPerlで作られているサービスでも、性能に効いてくる要所要所にC++が使われているという話をよく耳にします。 C言語ではなくC++を使うのは、オブジェクト指向言語ということもありますが、標準ライブラリに含まれる便利なコンテナ(string、vector、mapなど)を使いたいという理由も大きいようです。たしかに、一度これらのコンテナを使っ

    BK通信 ―Bad Knowhow Tsushin―:#03 C++のバッドノウハウ|gihyo.jp … 技術評論社
    takoashi_net
    takoashi_net 2008/12/04
    やばい。。先週boolの初期化忘れが発覚・・・