タグ

ブックマーク / thinkit.co.jp (27)

  • [Think IT] 【深きプログラミング言語】言語仕様とオブジェクト指向

    京都産業大学コンピュータ理工学部教授。ソフトウエア開発手法、深層暗号などに関する研究を行う。オブジェクト指向とは20年以上の付き合いで、Mac OS X、iPhoneのアプリケーション開発も手がける。主な著書に「詳解 Objective-C 2.0」(ソフトバンク)。信州生まれだが関西暮らしが長い。 http://www.kyoto-su.ac.jp/

  • [ThinkIT] 第8回:Cookieとセッション情報 (1/3)

    サーバ/クライアント間の通信を担当するHTTPは、ステートレス(状態を管理しない)なプロトコルです。このように表現してしまうと難しく聞こえるかもしれませんが、要するに「複数のページ間で情報を保持することができない」ということです。 例えば、ページXとページZという2つのページがあったとします。ページXを処理したあとにページZを呼び出したとしても、ページZはページXで入力された内容や処理結果、さらにページXのあとに呼び出されたということも知ることはできません。 HTTPにおいては、リクエスト/レスポンスの一往復が完結された処理と見なされるので、次に発生したリクエストはまったく別物と認識されるからです。 しかし、JSP&サーブレットアプリケーションを構築する場合、複数のページ間で情報の保持が必要になるケースは少なくありません。例えば、認証を必要とするアプリケーションを想定してみてください。トッ

  • DWRでAjaxプログラムをかんたん作成!

    DWRを使おう! 「第1回:ActiveWidgetsでAjax!」ではコンボボックスやグリッドなどのActiveWidgetsコントロール表示について解説しました。今回はサーバーリモーティングライブラリDWR(Direct Web Remoting)を使用してサーバー通信を行い、サーバーから受信したデータを使用してグリッド表示を行います。 DWRとは、AjaxクライアントとサーバーサイドJavaの構成で使用されるJavaScriptJavaの連携用フレームワークです。 図1はDWRを使用したシステム構成です。図のようにサーバーサイドはサーブレットとJavaBeansで構成されますが、主に次のような3つの特徴があります。 1つ目がサーブレットはDWRサーブレットと呼ばれる専用のサーブレットが使用されるということです。したがって、ユーザーがサーブレットを記述する必要はなく、JavaBean

  • andLinuxとは?

    Windows上でのLAMP開発 いわゆるLAMP(Linux、Apache、MySQLPHPPerlあるいはPython)環境の開発は、近年すっかりおなじみとなりました。読者の中にも業務あるいは趣味で携わっている方もいるでしょう。 しかし、その中でもクライアント環境自体もLinuxを使っているという人は案外少ないのではないでしょうか。多くの人は、日常使い慣れたWindows上で開発を行い、コードなどがある程度できた段階でLAMP環境に転送して動作確認をしているのではないでしょうか。 実際に稼働する番環境にて、開発したシステムの最終的な動作確認をすることは当然必要ですが、開発の途中で番環境に転送して確認するのは、手間が掛かります。そこで開発しているWindows上で何とかLAMP環境が動かないものかと思っている人や、あるいは最近急速に普及しつつある仮想化技術を用いてすでにWindo

  • もう悩まない!ブラウザ互換

    幅広いスキルが必要とされるWebデザイン制作 Webサイトの日々の技術進歩とともに、Webデザイン制作では幅広いスキルが必要とされるようになってきました。Webデザインという広い役割の中でも特に重要視されるのは次の3つのスキルになるでしょう。 1番目は、いわゆる絵を作るデザインのスキルです。この中にはもちろん見た目の美しさもありますし、Webサイトとしての使いやすさのユーザビリティ、情報へのアクセスしやすさのアクセシビリティ、またFlashコンテンツであれば軽快な動作やインタラクションなどといったものもあります。 2番目は、HTMLCSSのコーディング技術が挙げられます。以前であれば、見た目のデザインを忠実に再現するコーディングが重視されていましたが、最近ではSEOの観点からも、Web標準に基づいたHTMLの文書構造化ができるマークアップ技術が不可欠になっています。 3番目は、プログラミ

  • 差がつく!オートデモ作成ツール

    文章での説明が不要になる? 現在、ビジネス上でのコミュニケーション手段として、最も多いのがEメールのやり取りではないでしょうか。約束事の取り決めや、確認事項のチェック、添付ファイルでデータを受け渡すこともあるでしょう。Eメールは非常に便利で手軽な面がありますが、その一方で相手に的確に説明し、なおかつ平面的にならないよう慎重に文章を練って考える機会が増えたと思います。 筆者は、Web制作の傍ら、スクールでWebデザインの講師をしています。そんな中、講義後に生徒から質問のメールが届き、それに対してメールで返答することがあります。 例えば、質問の内容がソフトウエアの操作だったりすると、メールという形式で、動作の説明を文章に置き換える作業にとても手間がかかります。「ツールバーの○○ボタンを押して、ステージのこの領域をクリックして…」など説明しながら文章を書いていると、自分でもなかなか伝えにくいと感

  • WebデザイナーもFlexを使おう!

    Flex Builder 3ってWebデザイナーでも使えるの? Flex Builder3は、AIRと併せてWebデザイナー向け雑誌で多く取り上げられ、話題になっています。しかし、WebデザイナーはFlash CS3を使っていますので、あまり必要性を感じていない方も多いのではないでしょうか。今回は、その辺りを検証しながら進めていきたいと思います。 「第1回:Flex Builder 3って何ができるの?(http://www.thinkit.co.jp/article/102/1/)」では、文字表示だけの簡単なSWFファイルをFlex Builder 3で作成しました。その際、「デザインモード」で作業したように、Flex Builder 3ではデザインを確認しながら作業を行うことができます。 作業を行うためのモードですが、この「デザインモード」コードを編集するための「ソースモード」の2種類

  • 表示の概念

    コア表示クラスと継承 前回はActionScript 3.0の概要を中心に解説しました。今回は、Flashの根幹ともいるコア表示クラスについて紹介します。コア表示クラスとは、Flash Playerで表示できるビジュアルオブジェクトのクラスであり、主にflash.displayパッケージに含まれているDisplayObjectクラスを継承したサブクラスのことをいいます(一部、staticText、TextField、およびVideoはflash.displayに含まれないクラスですが、DisplayObjectクラスを継承しています)。 継承とは、既存のクラスを元に新しいクラスを開発する手法のことで、既存のクラスを"スーパークラス"または"基クラス"と呼びます。反対に、新しく継承するクラスのことを"サブクラス"と呼びます。継承を使うことで、既存のコードを維持したまま、コードの再利用が可能

  • ActionScript 3.0の概要

    ActionScript 3.0とは アニメーションを簡単に制作したり、サウンドや動画を組み込むことができて、そのすべてが制御できるインタラクティブ(対話性)でステキなものと言えば、あなたはまず何を思い浮かべるでしょうか? Adobe Flash CS3 Professional(以下Flash)は、米国アドビ システムズ社(旧Macromedia社、以下Adobe)が開発したコンテンツ制作ソフトです。 ActionScriptとは、Flashコンテンツにおけるアニメーションの制御やインタラクティブなコンテンツを開発するためのスクリプト言語です。Flash IDEの進化に伴いActionScriptも進化し、2006年にはActionScript 3.0が発表され、より厳密にECMAScript(ECMA-262)規格に準拠したクラスベースのオブジェクト指向言語として生まれ変わりました。そ

  • [Think IT] 【これならわかる!JavaScript/Ajax】Ajaxライブラリ入門 第5回:Ajax開発の未来 (1/3)

    もうHTMLCSSをゼロから書くことはない? JavaScriptのライブラリは、各ブラウザ間のバグや仕様の違いを吸収することで、開発者の負担を激減することを可能としました。しかし、JavaScriptの仕様の違いと同時にCSSレイアウトのバグや仕様の違いも、Web開発者の大きな悩みの1つでした。そんな中、最近ではCSSのフレームワークも出てきたので、その中でも注目度の高い2つを紹介します。 1つ目は、blueprintcss(http://code.google.com/p/blueprintcss/)です。blueprintcssは柔軟にグリッドの設定ができるCSSフレームワークです。最新バージョンは0.7です。印刷時のCSSも用意されており、印刷時も適切なレイアウトで表示されます。また、非常に細かくグリッドの設定(http://files.bjorkoy.com/blueprint

  • 第2回 JSONを使ってみよう! | Think IT

    JSONを使ったAjaxアプリケーション 前回はJSONの概要と記法、そしてJavaScriptでの利用方法について説明しました。連載2回目となる今回はAjaxアプリケーションでのJSONの利用方法を、サンプルを作成しながら紹介していきます。 なお、記事のサンプルを実行するにはApacheなどのWebサーバが必要になります。また、記事の後半ではPHPを用いた動的なJSONの生成方法にも触れますので、Apache上でPHPが利用できる環境を用意してください。環境の構築方法については割愛します。 prototype.jsについて prototype.js(http://www.prototypejs.org/)はさまざまなJavaScriptライブラリの中でも最も初期に登場したもので、多くのAjaxアプリケーションで利用されています。 DOMの操作などAjax以外にも便利な機能を備えていま

  • 簡単な図を描いてみよう!

    パスという概念を理解して、直線を書こう! 前回では矩形(四角形)を描くstrokeRectメソッドやfillRectメソッドを紹介しました。これらは、呼び出すだけで矩形の線を描いたり、塗りつぶした矩形を描いたりすることができ、非常に分かりやすいメソッドでした。しかし、これらのメソッドはCanvasにおいて例外的といっても良いでしょう。 通常、Canvasではパスという概念を使って図形を描きます。今回は、このパスの使い方について詳しく解説していきます。まずは、直線を書いていきましょう。 白い紙に鉛筆を使って線を描くシーンを想像してください。最初に、頭の中で線を描こうと考えますよね(beginPathメソッド)。次に、書き始める場所に鉛筆を置きます(moveToメソッド)。そして鉛筆を動かします(lineToメソッド)。これで線が描かれます。Canvasでも、これによく似たことをメソッドの呼び

  • 図解からユースケース抽出する!

    ビジネス寄り視点からシステム寄り視点への転換 前回は、SBVA法の5つのプロセスのうち、「1. 記述」と「2. 総合」までの作業の流れについて具体的な例を交えながら解説した。今回は残りの分析プロセスである「3. 編集」から「5. 構成」までを詳しく解説していく。 ここで、「2. 総合」までの分析プロセスを簡単におさらいしておこう。まず、非技術者にとっても扱いが簡単な自然言語により、As-Isの業務の流れをシナリオで記述する。次に非常に単純な記法とルールにより、記述したシナリオから業務全体を鳥瞰できる図解を得る。 「3. 編集」から「5. 構成」では、業務鳥瞰図における作業要素の粒度を調整して業務を理解しやすくし、鳥瞰図上でシステム境界を決定してユースケース図を導出するという流れになる。 SBVA法において、この「3. 編集」が一番のキモとなる。業務を一覧できるこの図の編集を通してドメイン全

  • プロ直伝のコーディングテクニック

    柔軟性のあるコーディング Webサイトの制作業務を請け負っていると、制作の途中でデザインが変わることは少なくありません。コーディングもいきなり仕様が変わったり、新しい機能やカラムが追加になるといったことがしばしば発生します。 要素を追加するため、ソースコードに無理な変更や複製を行うと、ソースコードはどんどん劣化していきます。最悪の場合は、今後の拡張性を考えると作り直しをした方が作業時間を短縮できるのではないかと思われるものまであります。しかし、納期や予算に余裕があれば作り直しをすることもできますが、大抵の制作現場ではその時間もなく、なかなか理想のコードが作れないことが現状です。 このようなソースコードの劣化や作り直しを防ぐためにも、柔軟性を持ったコーディングをするテクニックが必要です。今回は、ソースコードを劣化させないコーディングのコツを紹介していきましょう。 秘伝の3つのコツ 第1のコツ

  • シーケンス図とステートマシン図を学ぼう

    シーケンス図とステートマシン図とは 「はじめようUML!」と題してお送りしている連載も、今回がいよいよ最終回となります。最後は、シーケンス図とステートマシン図による振る舞い設計を見ていきましょう。 シーケンス図とステートマシン図は、13あるUMLの図(ダイアグラム)の中でも、システム内部の振る舞いを表現するための代表的な図です。シーケンス図は相互作用図の一種で、主に、ユースケースごとにシステム内部のオブジェクト同士のやり取りを設計するために使われます。一方、ステートマシン図では、ユースケースを跨ったオブジェクトごとの状態遷移を設計します。 シーケンス図とは まずはシーケンス図から見ていきましょう。シーケンス図は、オブジェクト間のメッセージのやり取り(相互作用)を時系列に沿って表現するダイアグラムです。シーケンス図での時間は、ライフラインに沿って上から下に進みます。 シーケンス図は、詳細設

    arktks00
    arktks00 2008/04/22
  • 現場のプロが「これ、推薦します!」

    プロはこんなを読んでいる! 4月の特集「伝わる!モデリング」では、モデリングの基礎知識から現場で使えるノウハウまでを網羅的に紹介する。 連載「土日に買って勉強したい『モデリング』」の第2回の今回は、現場で活躍するプロたちにこれまで読んできた書籍を実体験を交えて熱く語っていただく。今回は、スパークスシステムズジャパンの河野 岳史氏からコメントをいただいた。 「はじめまして。スパークスシステムズジャパンの河野と申します。今回このコーナーを担当させていただくことになりました。 スパークスシステムズジャパンは、UMLモデリングツールの『Enterprise Architect』や要求管理ツール『RaQuest』、ソフトウェア資産の再利用支援ツール『ARCSeeker』を開発・販売している会社です。あ まり知られていませんが、『RaQuest』と『ARCSeeker』はスパークスシステムズジャ

  • [Think IT] 第3回:クラス図とオブジェクト図を学ぼう! (1/3)

    【伝わる!モデリング】はじめようUML! 第3回:クラス図とオブジェクト図を学ぼう! 著者:株式会社テクノロジックアート 山下 智也 公開日:2008/04/15(火) クラス図とオブジェクト図 「第2回:ユースケース図を学ぼう!」では要求分析でユースケース図を使用する方法を説明しました。今回は、クラス図およびオブジェクト図を用いて、システムの静的な構造を設計する方法を見ていきましょう。 クラス図はUMLの中でも最もよく使用される図の1つです。オブジェクト指向のプログラミング言語においては、クラス図から実装(ソースコード)に変換することができます。このためシステム開発においては他のUMLダイアグラムを作成しようとも、それは最終的にはクラス図の作成に結びつけられることが多く、このような性質からもクラス図はシステム開発において中心となる図であると言えます。 オブジェクト図は、システムが動作して

    arktks00
    arktks00 2008/04/15
  • [Think IT] 第2回:ユースケース図を学ぼう! (1/3)

    【伝わる!モデリング】はじめようUML! 第2回:ユースケース図を学ぼう! 著者:株式会社テクノロジックアート 照井 康真 公開日:2008/04/08(火) ユースケース図とは 前回は、UMLに関する全般的なお話から、業務分析でアクティビティ図を使用する方法を説明しました。今回は、要求分析でユースケース図を使用する方法を説明します。 ユースケース図は、UMLの生みの親であるスリーアミーゴスの1人、ヤコブソンがOOSEという方法論から取り入れた図です。システムが、外部から求められる機能的な要求を表現します。開発工程の中では主に要求分析段階で、開発者がユーザに機能的な要求を確認するために記述されることが多い図となります。図1は、最もシンプルな表記によるユースケース図の例です。 「サブジェクト」は、書いても書かなくてもそれほど違いはありませんが、ここでは後の説明のしやすさのために記述しています

    arktks00
    arktks00 2008/04/08
  • [Think IT] 第1回:これがハイブリッドカーのモデリングだ! (1/3)

    【伝わる!モデリング】アレのモデリングが見たい! 第1回:これがハイブリッドカーのモデリングだ! 著者:日テレロジック株式会社 石田 雅人 公開日:2008/04/04(金) モデルを使ってシステムエンジニアリング Think ITの2008年4月の特集「伝わる!モデリング」では、さまざまな角度からモデリングを取り上げています。 日では「モデリング」とは、文字通り「何かを組み立てて作る」という意味で使われています。モデリングを使って、分析時に考えたモノや設計時に考えたモノを抽象的に組み立ていくことで、プロジェクトに関わる人間の間でより正確に情報をやり取りすることができるようになります。 連載では、身近なアノ製品のモデリング方法を紹介していきます。第1回と第2回では、なんと「ハイブリッドカー」を題材にその中身を徹底解剖していきます。 ハイブリッドカーと一口で言っても、中身はとても複雑で

  • [ThinkIT] 第1回:アジャイル開発を問い直す (1/3)

    XP(エクストリーム・プログラミング)の登場により、アジャイル開発は熱病のように様々な場面に取り上げられるようになってからすでに久しくなります。そのため、アジャイル開発はブームとしての取り上げられることはなくなりましたので、巷から聞こえる成功事例や失敗事例からアジャイル開発について問い直す時期にきているといえるでしょう。 とはいえ、従来の開発手法・開発プロセスによるデスマーチは続いていますので、アジャイル開発の恩恵が開発現場に行き届いているとは思えません。そこで今、原点に戻ってアジャイル開発について基礎から考えてみます。 アジャイル開発という言葉が取り上げられる際に、「いきなり実装する」「ペアプログラミングする」「Javaだ」などといわれることがありますが、当にその言葉はアジャイル開発の特長をあらわしているのでしょうか。筆者は少し違うように思います。 まずはアジャイルとは何かということに