タグ

ブックマーク / xtech.nikkei.com (14)

  • オブジェクト指向プログラミングを基本から理解する

    オブジェクト指向という考え方は,今のソフトウエア開発にはなくてはならないものになっています。分析設計といった前工程から,プログラミングまでの後工程まで,オブジェクト指向の概念は繰り返し登場します。しかも主要なプログラミング言語の大半がオブジェクト指向をサポートしています。もはやオブジェクト指向は,ソフトウエア開発者にとっての「必須科目」といってもいいでしょう。 ここでは確実にオブジェクト指向をマスターするために,Part1ではオブジェクト指向の基的な概念を,Part2とPart3でオブジェクト指向プログラミングの初歩を解説します。 Part1 オブジェクト指向を正しく理解する Part2 オブジェクト指向プログラミング,始めの一歩 Part3 オブジェクト指向プログラミングの三

    オブジェクト指向プログラミングを基本から理解する
  • 開発/実行環境としてのフレームワークを学ぶ

    品質・納期・コストへの要求が高まるにつれ,フレームワークをベースとしたアプリケーション開発が必須のものになっています。フレームワークという言葉は,ライブラリと混同して用いられることも多いものですが,両者の来の役割は大きく異なります。フレームワークがプログラムの中でどんな役割を果たすものなのかを理解することで,フレームワークそのものを学習する助けにもなりますし,フレームワークに基づいて作られたアプリケーションの構造を深く知ることにもつながります。稿では,フレームワークの概略について解説したうえで,.NETJava,スクリプト言語それぞれの言語環境における主要なフレームワークを一通り紹介します。 Part1 ソフトウエアのフレームワークとはなにか Part2 Java,.NET,スクリプト言語のフレームワーク

    開発/実行環境としてのフレームワークを学ぶ
  • 第4回 Catalyst(前編)---Perl向けWebアプリ・フレームワーク

    この記事は,日経ソフトウエア2006年9月号,連載「簡単実装で学ぶWeb技術2006」の第3回「Catalyst――Perl向けWebアプリ・フレームワーク」の再録です。記事は執筆時の情報に基づいており,現在では異なる場合があります。 こんにちは,結城浩です。今回はPerlのWebアプリケーション・フレームワーク「Catalyst」を解説し,簡単なメモ帳プログラムを作ります。 Catalyst(カタリスト)は,Perlで作られたWebアプリケーション・フレームワークです。Catalystを使うと,Webアプリを簡単に作成・テスト・配布することができます。catalystという単語のそもそもの意味は,「触媒」あるいは「促進させるもの」です。Perlのモジュール同士を触媒のようにうまく結びつけて,Webアプリ作成を促進させるという意味の名前なのでしょう。 Catalystのオフィシャルページは

    第4回 Catalyst(前編)---Perl向けWebアプリ・フレームワーク
  • Part1 正しいPerl/CGIの書き方:ITpro

    Shibuya Perl Mongers 2代目リーダーにして,ppencodeの作者。広島市立大学卒業後,大企業向けmod_perl製品の開発に従事。2005年よりサイボウズ・ラボ株式会社に入社。LL Ringに参戦。Namazu for Win32,Plagger,Ajajaのコミッターでもある。 CGIといえばPerl。そんな風にいわれていた時期もありました。レンタル・サーバーのCGIで手軽にPerlが使えたこともあり,ちょっとした掲示板のスクリプトやアクセス・カウンタなど,CGIプログラムの多くがPerlで書かれていました。このためPerlが爆発的に普及したのです。Perlは日のインターネット黎明期を支えたプログラミング言語として,広くその名が知られています。 その半面,Perlで書かれたプログラムの保守性に悩む声も聞かれるようになりました。事実,Perlのプログラミング経験が少

    Part1 正しいPerl/CGIの書き方:ITpro
  • データベースの内部動作を知る

    SQLのプログラミングは奥が深い。特にパフォーマンスの観点から、そう言えるだろう。 みなさんご承知の通り、同じ結果を出すプログラムでも、SQLの書き方次第で処理時間に何倍もの差が生じ得る。効率の悪いSQLを書いてしまう原因は、多くの場合、リレーショナルデータベースの内部動作やアプリケーションに関する理解不足である。両者をよく知った上で最適なSQLを書けるようになることは、システムエンジニアとしての重要なスキルの一つである。 特集『基礎から理解するデータベースのしくみ』では、リレーショナルデータベースの内部動作について、基的な部分を分かりやすく解説している。SQLプログラミングに役立つことはもちろん、SQLチューニングやデータベース設計のための基礎知識としても不可欠だ。 イントロダクション ブラックボックスのままでいいの? Part 1:SQL文はどのように実行されるのか SQL実行までの

    データベースの内部動作を知る
  • DIコンテナ【Dependency Injection Container】

    DIコンテナは,「DI(Dependency Injection:依存性の注入)」と呼ぶデザインパターンに基づいて作られたコンポーネント群を集中管理するためのソフトウエアです。 DIは,コンポーネント(クラス)間の依存関係をソースコードから取り除くことで,プログラムの実行時までコンポーネント同士が依存関係を持たないようにするデザインパターンです。 例えば,あるクラスAの中で別のクラスBのインスタンスを生成して利用しているとき,AはBに強く依存してしまっています。つまり,Bを別のクラスに差し替えたときなどにはAも変更しなければなりません。このような依存関係は,AとBを別の人が作っている場合などに特に困ります。 こうした依存性をクラスから取り除くのがDIパターンです。Bへの依存性をAから排除するには,まずBの機能を抽象化したインタフェースIを定義し,Iを実装したクラスとしてBを作ります。 Bの

    DIコンテナ【Dependency Injection Container】
  • まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro

    第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と

    まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro
  • ジェミナイ、分散KVS「Cassandra」を使ったリアルタイムログ解析システムをOSS化

    ジェミナイ・モバイル・テクノロジーズは2011年3月3日、リアルタイムログ解析システム「Flume-Cassandra Log Processor」をオープンソースソフトウエア(OSS)として公開した(配布サイト)。大量のシステムログを瞬時に分析して、グラフィカルなレポートを作成できる。ログ保存には、OSSの分散キー・バリュー型データストア(KVS)「Cassandra」を使用する。 Flume-Cassandra Log Processorでは、監視対象のサーバーで発生したイベントのログを、1秒以内にストレージであるCassandraに保存する。Cassandraは書き込みが高速な分散KVSで、サーバーの台数に比例して、ストレージ容量とI/Oを拡張できる。そのため、クラスターのサーバー台数を増やすことで、数百Tバイトのログの格納が可能になるとしている。ログの分析機能やレポート作成機能のほ

    ジェミナイ、分散KVS「Cassandra」を使ったリアルタイムログ解析システムをOSS化
  • Androidアプリ開発ノウハウ

    Androidアプリケーション開発コンテスト「Android Application Award (A3)2010-2011 Winter」のエントリー締切がいよいよ2月7日に迫った。開発者を応援するべく、ITproで掲載してきたAndroidアプリ開発ノウハウをまとめた。 あなたのAndroidアプリを“カメラアプリ化”する カメラアプリを作ろう 第1回 ボタン一つでアプリの背景をカメラ写真に変える 第2回 カメラ機能を加える Android ユーザビリティセミナー ユーザビリティ調査の極意を聞き、Flash/AIRによるAndroid開発の実際を見る AndroidアプリをJavaScriptAIRで作る AndroidアプリをJavaScriptAIRで作るツール 初めてのAndroidプログラミング Eclipseを導入して開発環境を整えよう 開発用PCAndroid端末の実

    Androidアプリ開発ノウハウ
  • “変なソフト”として進化する人気Android日本語入力「Simeji」

    語圏のAndroid搭載スマートフォン利用者にとって、最も知名度が高いアプリケーションの一つが日本語入力ソフトSimejiである(写真1、写真2、写真3)。日で発売されるAndroid搭載スマートフォンには日本語入力ソフトがあらかじめインストールされているが、それにもかかわらず“草の根”のソフトであるSimejiの人気は高い。Android Marketの表示によれば、記事執筆時点で5万~20万ダウンロードという実績を持つ。

    “変なソフト”として進化する人気Android日本語入力「Simeji」
  • 第11回 トランザクション処理に詳しくなろう

    富山県高岡市 株式会社イーザー副社長。昔は1月初旬に積雪がないと「いい正月やね。雪なーて」と富山弁であいさつしたものだが,現在は地球温暖化を目のあたりにするようで不気味だ。でも,会社まで公共交通機関はなく,雨やときおり雪が降るので車で通勤している。徒歩や自転車に変えなければと思うのだが,冬場はやはり億劫だ。 「トランザクション処理は関連する複数の処理をまとめて,一つのユニットとして実行する処理方式です」──データベースの入門書にはたいていこんな風に書いてあります。 説明用の最も多い図解が,図1のような銀行の口座間の振替処理ではないでしょうか。Aさんの口座から5万円出金した後で,何らかの原因でBさんの口座に入金することができなかったら,5万円が宙に浮いてしまいます。 トランザクションとして一つのユニットとして実行することで,更新処理をALL or Nothingの状態にできるので,中途半端な

    第11回 トランザクション処理に詳しくなろう
  • 10分で分かるアジャイル開発の基本

    ウォーターフォール型で重視する要素(価値)とアジャイル開発で重視する価値を対比。ウォーターフォール型の価値を否定しているのではなく、重要であることを認めつつ、新たな価値にも目を向けることを促している アジャイル開発の各手法の提唱者が合意した宣言で、アジャイルの根幹ともいうべき精神を表す。ウォーターフォール型開発で重視すべき要素(価値)を四つ挙げ、それぞれに対するアジャイルの価値を提示している(図1)。 新しい四つの価値が、あたかも既存の四つの価値を置き換えるように見えるがそうではない。これまでの価値の重要性は認めつつ、別の新しい価値に目を向けることを促している。 word2 自己組織化 アジャイル開発が目指す行動規範のこと。チームを構成する各メンバーは自分自身をコントロールして自律的に行動し、目標に向かってチームの成長に貢献する。この成長を「自己組織化」と呼び、変化への適応能力を高める上で

    10分で分かるアジャイル開発の基本
  • コピペで使える言語・コマンドリファレンス - ITproリファレンス:ITpro

    HTMLCSS、DynamicHTMLJavaScriptPerlWindowsコマンド、ネットワークコマンド、Linuxコマンドといった、Webサイト構築やアプリ開発に欠かせないプログラミング言語とコマンドのリファレンスマニュアルです。各項目のサンプルコードは、コピーし貼り付けてすぐに使えます。入門講座も用意しました。ぜひブックマークしてお役立てください。 HTML HTMLは、Webコンテンツを作成する上で、最も基礎となる記述言語です。各タグについての概要や属性などをサンプルを交えて説明します。 HTMLリファレンス(107項目) HTMLリファレンスの使い方 HTML入門 CSS CSSは、Webページのレイアウトなどといったコンテンツの見栄えを指定する記述言語です。各スタイルの概要や使い方を説明します。 CSSリファレンス(73項目) CSSリファレンスの使い方 CSSの基

    コピペで使える言語・コマンドリファレンス - ITproリファレンス:ITpro
  • 仮想化プラットフォーム,VMware WorkstationとVMware Serverの違い

    最初に何かをするというのは重要なことだ。現在,仮想化市場以上にこの言葉がぴったり当てはまる分野はほかにないだろう。Microsoftとその他多くの市場参加者は,必死になって巻き返しに出ようとしている。しかし,最初のx86仮想化製品を市場に出したのはVMwareであり,彼らが今でも他社をリードしているのは明白だ。 VMwareは,三つの仮想化プラットフォームを提供している。VMware Workstation 6.0,VMware Server 1.0.4,そしてESX Serverだ。ESX Serverは,ハイエンドの企業分野を対象としている。しかし,VMware WorkstationとVMware Serverは重複する機能が多いため,それぞれがどのような組織を対象としているのか,若干わかりにくい。そこで今回の記事では,読者の皆様が自分の環境にあった製品を選べるように,Worksta

    仮想化プラットフォーム,VMware WorkstationとVMware Serverの違い
  • 1