タグ

ブックマーク / codezine.jp (17)

  • Rails開発者のDHH氏、Ruby on Rails開発の基本方針を「The Rails Doctrine」として文書化

    Ruby on Railsの開発者であるDavid Heinemeier Hansson(DHH)氏は、Ruby on Rails開発の基方針を「The Rails Doctrine」として1月19日(現地時間)に公開した。また、「The Rails Doctrine」の公開とともに、Ruby on RailsのWebサイトがリニューアルされたほか、ロゴも変更されている。 The Rails Doctrine 「The Rails Doctrine」は、Ruby on Railsにおけるもっとも重要な支柱となる、以下の8項目で構成される。 Optimize for programmer happiness Convention over Configuration The menu is omakase No one paradigm Exalt beautiful code Value

    Rails開発者のDHH氏、Ruby on Rails開発の基本方針を「The Rails Doctrine」として文書化
  • DeNA南場智子氏がサービス開発の悟りを講演「UXをまず作り込む。ビジネスモデルやマーケティングは後でいい」

    アプリ・サービスのUIデザイナーが集うコミュニティ「UI Crunch」は、若手が成長できる場の提供を目的として、25歳以下限定のコミュニティ「UI Crunch Under25」を設立。その第1回イベントを9月26日、東京・渋谷にある株式会社ディー・エヌ・エー(以下、DeNA)の社員堂「サクラカフェ」で開催した。基調講演には、DeNA会長の南場智子氏が登壇。「何故いまデザインなのか?」と題し、多くの失敗から導き出したという、いわばヒットサービスを開発するための「悟り」を披露した。開発者にも大変参考になる内容なので、稿でお伝えする。 【関連リンク】 UI Crunch Under25 | UI Crunch この日は若手デザイナーに向けてということもあってか、南場氏のトークは大変気さくでノリがよく、語り口はロックスターのMCのようであった。文字では伝わりにくいが、その楽しさ・雰囲気を少

    DeNA南場智子氏がサービス開発の悟りを講演「UXをまず作り込む。ビジネスモデルやマーケティングは後でいい」
  • HTML5で進化したフォーム機能 ここが違う!サンプルで見るHTML5(5)

    はじめに この連載では、今日のウェブ業界の流行語となっている「HTML5」をとりあげ、全6回に分けて、これまでの技術とどのような違いがあるのか、具体的にサンプルのコードを示しながら解説していきます。 過去の連載も読む 第1回:HTML5が注目を浴びる理由とは? 第2回:HTML4から変化したHTML5のマークアップ 第3回:HTML5で再定義された要素と属性 第4回:HTML5で実現できるマルチメディア系機能 新たに導入されたフォームコントロール これまでウェブにおける入力フォームコントロールは、非常に限られたものしかありませんでした。皆さんがよくご存じのテキスト(パスワード)入力フィールド、ラジオボタン、チェックボックス、セレクトメニュー、テキストエリア、ファイル選択です。お問い合わせフォームであれば、ほとんどのシーンで十分といえるでしょうが、ウェブアプリケーションにおいては、不足してい

  • PHPUnitでできる単体テスト

    はじめに 単体テストとは、システムの構成要素であるクラスやメソッド単位での動作を確認する作業のことを言います。 Webシステムは基的に不特定多数に公開するものであり、公開前にはきちんとテストを行っておくことが重要です。 PHPにはテストツールとしてPHPUnitという単体テストのツールがあり、PHPUnitを利用するとクラス内のメソッドに対してテスト用のクラスを自動で生成し、効率よくテストすることができます。 PHPUnitを利用して単体テストする場合のプロセスは テスト対象となるクラス、PHPプログラムの作成 1.で作成したクラスからPHPUnit内のクラスを用いてテスト用のクラスを作成 2.で作成したテスト用のクラスに目的に応じてテストメソッドの実体を記述 テスト実行、結果の確認 となります。 記事では、連載第4回『GPS携帯を使った口コミサイト構築』の逆ジオコーディング処理をテ

    PHPUnitでできる単体テスト
    deg84
    deg84 2010/08/23
    PHPUnitを使った単体テストの例
  • Javaで軽快に使える「軽量フレームワーク」特集 ~本格的なRoRスタイルフレームワーク「Play!」(1)

    はじめに 今やWebのフレームワークと言えば、そのほとんどが「RoRタイプ」です。RoR(Ruby on Rails)がWebの開発に与えた影響は非常に大きく、その後生まれたフレームワークの多くがその影響を受けています。 しかし、Javaの世界に関しては、RoRはなぜか素通りしてしまいました。既にStrutsというデファクトスタンダードがあったために新しいMVCフレームワークが割り込む余地があまりなかったのか、あるいはLL(ライトウェイト)言語でないとRoRなスタイルは作りにくかったのか。ともあれ、その後、長い間、Javaでは「いわゆるRoRタイプ」と言えるフレームワークは登場しませんでした。 その流れを変えたのは、Groovyです。Groovyの登場により、JavaでもLL言語のような小回りの聞くコーディングが可能となりました。そのおかげで、ようやくJavaの世界にも遅まきながら新しい世

    Javaで軽快に使える「軽量フレームワーク」特集 ~本格的なRoRスタイルフレームワーク「Play!」(1)
  • 世界は変わった。開発の現場はどうか? Developers Summit 2010

    講演資料の事後ダウンロードについて 講演資料は、slideshareを利用しております。 講師および所属団体の許諾をいただいた講演資料のみアップロードされます。 事務局では、講演資料のアップロード状況および、内容についてはご回答いたしかねます。 著作権等の理由から、当日に投影された資料とは一部異なる場合がございます。 講演資料のアップロードは講師および所属団体が随時行っております。 Developers Summit 2010 は終了いたしました Developers Summit 2010 は終了いたしました。 ご来場、誠にありがとうございました。

  • PHPで簡易デコメール/簡易アバター画像生成システムを作る

    はじめに 前回はImagickのインストール、画像サイズ変換について紹介しました。 今回は主に携帯サイトでブラウザ上から文字を入力して指定した画像の上に文字を描いたり、複数の画像を合成して1枚の画像を生成するアプリケーションの構築例を、Imagickの機能と共に説明します。 対象読者 PHPでのWEBアプリケーション開発について基的なことを理解している方を対象とします。 動作環境と開発環境 連載で紹介するサンプルなどで実行している環境は次のとおりです。 CentOS 5.3 Httpd 2.0.61 PHP 5.3 事前準備 前回説明した画像の読み書き/操作クラスのImagickに加えて、描画用クラスImagickDrawというクラスを利用します。ImagickDrawは、Imagickで読み込んだ画像や生成した画像に線や文字を描画したり、枠をつけたりという加工を行うメソッドを集約した

    PHPで簡易デコメール/簡易アバター画像生成システムを作る
  • テンプレートから学ぶ 受注する開発者のためのテスト仕様書

    1. はじめに ソフトウェア開発プロジェクトにおいてテストは極めてストレスに満ちています。「テストとは作った成果物に誤りがあるかどうかを見つける作業だ」という質的に不愉快な活動であることに加えて、プロジェクトの終わりにさしかかって時間も逼迫しているのに仕様変更を受けて再テストなどという、体力的にも精神的にもきつい作業であるからです。 稿では、さまざまなストレスを受ける立場の開発者が少しでも楽に「きちんとテストしました」と言うために、テスト仕様書のテンプレートを紹介します。このテンプレートは発注者に報告するための文書だけでなく、さまざまなテスト技法の紹介も含まれていて、いつどういうテストをすればよいのかという手引きにもなっています。 さて、はじめに、ソフトウェア開発プロジェクトと品質・生産性・納期の関係を見てみましょう(図1)。 お客様(発注者)はプロジェクトを起案する際、何を作るかを「

    テンプレートから学ぶ 受注する開発者のためのテスト仕様書
  • 最低限これだけ知っていればOK! Androidアプリ開発の基礎知識 ~速習! Androidアプリケーション開発(2)~

    Androidアプリケーション開発の基礎知識を身につけよう 前回で開発環境が準備できたので、今回は必要な基礎知識を身につけて開発の準備を整えていきましょう。 対象読者 連載はJavaおよびEclipseの基を理解している方を対象としています。 前回の記事 第1回 Androidの概要と開発環境の構築 Android独自の実行環境 AndroidのアプリケーションはJavaのVM上で動作しますが、日ごろ使用しているJava VMとは異なり、DalvikVMという低メモリ環境に最適化された独自のVM上で実行されます。 DalvikVMでは、Java標準のクラスライブラリのすべてがサポートされているわけではなりません。その結果、世の中に存在するJavaライブラリの多くはそのまま持ってきても使う事はできません。もし運よく、使いたいライブラリが非対応のAPIを利用していなければ使用できるので、A

    最低限これだけ知っていればOK! Androidアプリ開発の基礎知識 ~速習! Androidアプリケーション開発(2)~
  • Androidの概要と開発環境の構築 ~速習! Androidアプリケーション開発(1)~

    はじめに 私の会社はオープンソースを用いた業務システムの構築を得意としている会社で、私自身も約10年に渡りJavaで業務システムばかりを開発してきました。 Androidが登場するまでは携帯アプリにそれほどの興味を持つことはなかったのですが、Javaでオープンなプラットフォームで携帯アプリが作れるという事で、Androidを通じて初めて携帯アプリ開発に手を染めることになりました。 新たなプラットフォームでの開発のため、当初はかなり苦戦する事を予想していたのですが、開発環境も整っており、驚くほど簡単にMapGPS、センサーを利用したプログラミングを行う事ができました。そして、何よりも久しぶりに純粋にプログラミングを楽しく感じられる日々でした。 その後、社内でチームが立ち上がりましたが、JavaとEclipseで開発をしてきたエンジニアであれば2、3日もあればアプリケーションの開発ができるよ

    Androidの概要と開発環境の構築 ~速習! Androidアプリケーション開発(1)~
  • DAO generator for PHP and MySQLを使用する

    はじめに データアクセスオブジェクト(DAO)はデータベースへの抽象インターフェースを提供し、開発者がデータベーススキーマの詳細を知らなくても一般的なデータベース操作を行えるようにします。データアクセスオブジェクトは基的に、アプリケーションのビジネスロジック層とデータ層を分離するものです。この分離は重要です。この2つの重要なアプリケーション層がお互いのことをほとんど何も知らず独立して動作するようにしておけば、双方をいつでも別々に改訂できるからです。DAOを適切に使用すれば、ビジネスロジックが頻繁に変わる環境でも同じDAOインターフェースを使用でき、インターフェースが正しく実装されてさえいれば、永続ロジックに変更を加えてもDAOクライアントに影響を与えずに済みます。 DAO generator for PHP and MySQLMySQLデータベース用のDAOクラスの作成プロセスを自動化

    DAO generator for PHP and MySQLを使用する
  • Adobe Flexに関してありがちな10の誤解

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Adobe Flexに関してありがちな10の誤解
  • 言語別フレームワークの比較 ~Perl/Ruby/PHPユーザーのためのMVCフレームワーク入門~ (1/6):CodeZine(コードジン)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    言語別フレームワークの比較 ~Perl/Ruby/PHPユーザーのためのMVCフレームワーク入門~ (1/6):CodeZine(コードジン)
  • Webアプリケーションのロードバランス

    はじめに 拡張性のある企業Webアプリケーションを作るには、クライアント側とサーバ側の両方のコンポーネントをよく検討する必要があります。しっかりしたコードベース、厳正に実装されたキャッシュ、圧縮技術を用いたコンテンツアクセラレーションは、高いパフォーマンスを得るための最適な土台作りに役立ちます。この記事では、サーバ側に重点を置き、パフォーマンスと拡張性の観点から見たロードバランスの概念を紹介します。いくつかの一般的なロードバランス方式について概説すると共に、それがアプリケーションの拡張性とエンドユーザー側から見たパフォーマンスの維持・向上にどのように役立つかについて解説します。ロードバランスはそれだけでもかなり大きなテーマなので、この記事では、ロードバランスの具体的なセットアップ方法には触れません。詳しいセットアップ方法については専門に扱った書籍や文書が多数提供されているので、そちらをご利

    Webアプリケーションのロードバランス
  • ナビゲーションの実践的なスタイリング

    連載では、「クロスブラウザに対応したデザインテクニック」をテーマに、保守性や互換性に優れたXHTML+CSSの書き方を紹介しています。今回は前回に引き続き、より実践的なテクニックとして、「ナビゲーション」を例にクロスブラウザな表示を意識したスタイリング方法を紹介していきたいと思います。 はじめに 連載では、「クロスブラウザに対応したデザインテクニック」をテーマに、保守性や互換性に優れたXHTML+CSSの書き方を紹介していきます。 前回の記事では、ナビゲーションのマークアップに使われる代表的な要素として、a要素やリスト関連の要素(ul要素、ol要素など)を中心に取り上げ、これら要素のプレゼンテーションをコントロールする基的なテクニックを紹介しました。今回は、これらのテクニックを組み合わせ、「グローバルナビゲーション」や「パンくずリスト」などのナビゲーションパーツをスタイリングする方法

    ナビゲーションの実践的なスタイリング
    deg84
    deg84 2009/10/07
    liをfloatとするのはいいけど、clearしないと表示が崩れますね・・・
  • Android入門-開発環境構築編

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Android入門-開発環境構築編
  • Web 2.0時代のWebアプリケーションセキュリティー

    はじめに Ajax(Asynchronous JavaScript + XML)やマッシュアップ(Mashup)に代表されるWeb 2.0技術は、そのリッチで使いやすいユーザーインターフェイスや高速なレスポンス性から、現在のWebアプリケーション開発のトレンドの一つとなっています。現在注目を集めているクラウド・コンピューティングにおいても、雲(=インターネット)から提供されるサービスを使用したり連携するために、AjaxやJavaScriptはよく用いられます。しかし、セキュリティーの観点から見ると、これらWebアプリケーションやその主要な実行環境環境であるWebブラウザーには、さまざまなセキュリティー上の脅威が存在します。図1は、IBMのセキュリティ部門の一つであるISSが公開しているセキュリティ脅威のトレンドとリスクに関するレポート2008年版によるもので、ISSが検知したWebアプリケ

    Web 2.0時代のWebアプリケーションセキュリティー
  • 1