タグ

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

  • Java入門ブックガイド(オブジェクト指向編) オブジェクト指向の基本

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

    Java入門ブックガイド(オブジェクト指向編) オブジェクト指向の基本
    lizy
    lizy 2010/09/09
    新しくプログラミングを学ぶ人は、どういう本でOOPを学ぶんだろう
  • Java入門ブックガイド(入門編) よりよき入門書と出会うために

    連載の目的 Javaの入門書だけでも多くのがあります。大きな書店に行けば入門書が山ほどあり、どれを買ったらよいか迷うのではないでしょうか。 最近はネットでの購入が増えてきていますが、店頭のように実際に手にとって内容を確認できません。一部のネットショップでは、目次や冒頭の章を閲覧できたり、他の人のレビューを読んだりすることもできますが、やはりそれだけで買うのは少し勇気が要ります。特に不景気な昨今、全部まとめてという買い方は到底できませんし。また、お薦めリストのようなものもネットには存在しますが、根拠に乏しいという感が拭えないのが現状です。 このような経緯があり、購入に役立つ具体的な情報を提供できればという思いでブックガイドを作成しました。 蛇足になりますが、入門編以外にも、マルチスレッド編、コレクション編、Web編などや英語の入門編も企画しています。 対象読者 連載は、ボリュームの関

    Java入門ブックガイド(入門編) よりよき入門書と出会うために
    lizy
    lizy 2010/09/09
    記事には関係ないけど、ブックマークコメントが妙な感じの物が多いような
  • 格安VPSサーバで実用的なRuby on Railsアプリ運用環境を構築する

    はじめに Virtual Private Server(VPS)とは、一台のサーバー上で仮想サーバーを何台も起動させることで、個々のユーザーに対して管理者権限を付与し、専用サーバーのような環境を提供するサービスのことをいいます。VPSのユーザーはサーバーのリソースを自由に使用でき、CGI実行環境のカスタマイズや大規模データベースの利用などが可能です。 ServersMan@VPSは、そのVPSを格安で提供するサービスの一つ。例えば、ServersMan@VPSの「Entryプラン」では、HDD容量10GB、メモリー容量256MBのVPSが、初期費用無料、月額490円で利用できます。 また、料金の安さだけではありません。申し込んでからすぐ利用できる、VPS環境を簡単にリセットできる、マニュアルや管理ツールが充実しているというメリットもありますので、試験的な開発や個人的な開発でサーバーのチュー

    格安VPSサーバで実用的なRuby on Railsアプリ運用環境を構築する
  • Struts 2入門(5)~Viewレイヤーの仕組み~

    はじめに 「Apache Struts」(以下、Struts)とは、サーバサイドJava開発のデファクトスタンダードとしてあまりにも有名な、オープンソースのWebアプリケーション・フレームワークです。連載では、そのStrutsの次世代バージョンであるStruts 2を、実際に動作するアプリケーションと共に解説していきます。 第5回目の稿は、MVCモデルで言うところの「V」iewレイヤーについて説明することにします。Viewレイヤーとは、アプリケーションの処理結果を表示するレイヤーにあたります。 対象読者 サーバサイドJava(JSP&サーブレット)について基的なことは理解している方を対象とします。 Result処理 Struts 2のViewは、URIリクエストから実行されたActionクラスの処理結果や状態を出力するレイヤーです。デフォルトでは、JSPファイルをテンプレートとして、

    Struts 2入門(5)~Viewレイヤーの仕組み~
  • Visual C++ 2010に追加されたSTLアルゴリズム

    この記事が公開される頃にはVisual Studio 2010のパッケージ販売が始まっているでしょうか。MSDN Subscriptionでは先行提供されていますし、各言語のExpress版が公開されていますから、初物(?)の好きなミナサマは早速遊んでいらっしゃることと思います。 C++屋の僕にとって一番嬉しかったのはVisual C++ 2010(vc10)でC++0xに(完全ではないにせよ)準拠してくれたこと。特にlambda式にはドキドキさせられました。lambda式のサポートにより、より明快でコンパクトな表現が可能になりました。正規表現(regex)や配列(array)、賢いポインタ(shared_ptr/weak_ptr)などなど、サポートが待ち望まれていたクラス群が追加されています。稿ではvc10で新たに追加されたSTLアルゴリズムを一気に紹介します。 以降、プロトタイプと説

    Visual C++ 2010に追加されたSTLアルゴリズム
  • インテルTBB 3.0によるパイプライン処理

    オープンソースのマルチスレッドライブラリ、インテルTBB(Threading Building Blocks、以下TBB)がversion 3.0となりました。Visual C++ 2005(vc8)、2008(vc9)に加え、2010(vc10)にも対応しています。TBBのインストール・ディレクトリを環境変数TBB30_INSTALL_DIRにセットしておけば、インクルード/ライブラリディレクトリの設定はVS2010 IDEのプロジェクト・プロパティでそれぞれ次のようになります。 インクルード: $(TBB30_INSTALL_DIR)\include ライブラリ: $(TBB30_INSTALL_DIR)\lib\ia32\vc10 さらにTBBのDLLが$(TBB30_INSTALL_DIR)\bin\ia32\vc10にありますから、ここにPATHを通すか、DLLをPATHの通った

    インテルTBB 3.0によるパイプライン処理
  • Javaで軽快に使える「軽量フレームワーク」特集 ~アプレットベースのRIAフレームワーク「Apache Pivot」(4)

    はじめに RIAと言うとJavaScriptを利用したフレームワークが非常に多いのですが、こうしたものはAjaxでデータの取得を行うため、Javaプログラマにはどうもなじまないやり方を強いられることがあります。しかし、Pivotはアプレットですから、Ajaxとはまったく違った形で外部からデータを取得します。 Webでは、実際にクライアントに表示されているWebページから、いかにしてサーバーと連携し必要なデータをやり取りするかというのは非常に重要です。そこで、さまざまなデータの扱い方について考えていくことにしましょう。 対象読者 Javaで手ごろなフレームワークを探している技術者。 最近のフレームワークをごくざっと理解しておきたい方。 Web開発の手法がどうも気に入らない、と常々考えているJavaプログラマ。 外部データを表示するTableView 静的な表示だけでなく、ダイナミックにデータ

    Javaで軽快に使える「軽量フレームワーク」特集 ~アプレットベースのRIAフレームワーク「Apache Pivot」(4)
  • 400万行のコードを15分で見える化! プログラム解析ツール『Understand』で開発効率アップ

    システムの多機能化により、プログラムの内容が複雑化している。テクマトリックスの『Understand』は、プログラムの構造を可視化することで、ソースコードの解析時間を大幅に削減できる開発支援ツール。今回は同社の福永一寛氏に、Understandの機能や特徴について聞いた。 システムの多機能化により、プログラムの内容は複雑化している。既存コードの改修や多人数での開発における情報共有のためには、プログラム構造の理解が必須だが、ドキュメントと実装内容とが乖離している場合も多く、解析自体に工数がかかることもある。テクマトリックスの『Understand』は、プログラムの構造を可視化することで効率的なソフトウェア開発をサポートするソフトウェア開発環境。「組込みシステム開発技術展(ESEC)」にて、同社の福永一寛氏にその特徴を聞いた。 ソースコードの解析作業時間を大幅に削減する『Understand』

    400万行のコードを15分で見える化! プログラム解析ツール『Understand』で開発効率アップ
  • Google App Engine/JavaでのScala/Liftアプリケーション開発(後編)

    はじめに 前回の「Google App Engine/JavaでのScala/Liftアプリケーション開発(前編)」では、Google App Engine(GAE)JavaでLiftアプリケーションを利用する基的な方法を解説しました。 後編である稿では、前回作成したイベント管理アプリケーションに機能追加を行いながら、Googleが提供するemailサービスやスケジュールサービス(cron)、TaskQueue(非同期バックグラウンド処理)などを利用してアプリケーションを構築する方法について説明します。 また、これまで説明していなかったLiftViewによるテンプレートを利用しないレスポンスの生成や、カスタムディスパッチで任意のURLの処理を行う方法も紹介します。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味が

    Google App Engine/JavaでのScala/Liftアプリケーション開発(後編)
  • glibライブラリに潜む脆弱性をつぶすパッチ

    はじめに 2009年末から6回にわたりセキュアコーディングに関する連載をさせていただきましたが、今回からは少々構成を変え、実際に公開されているライブラリやアプリケーションなど、脆弱性が発見されたコードを題材にして新しい連載を進めていきたいと思います。 今回の連載では、最初に問題のあるコードを示します。まずはこのコードだけを見て、どこに問題があるのか、考えてみてください。 コードの後には、コードに含まれる脆弱性を見つけるためのヒントや、コードが行おうとしていることを理解するために役立つ背景知識などを説明します。コードを見ただけではどこに問題があるのか分からない、といった場合は、これらの説明を手がかりに考えてみてください。 どこに問題があるのか分かったら、次にどのように修正すべきかを考えましょう。修正方法は一通りとは限りません。むしろ、複数の修正方法が考えられることが多いと思います。 最後に、

    glibライブラリに潜む脆弱性をつぶすパッチ
  • Silverlightで実装するデータ処理の応用

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

    Silverlightで実装するデータ処理の応用
  • 「Google Buzz API」本格スタート 外部サイトやアプリケーションにも対応

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

    「Google Buzz API」本格スタート 外部サイトやアプリケーションにも対応
  • Javaで軽快に使える「軽量フレームワーク」特集 ~アプレットベースのRIAフレームワーク「Apache Pivot」(2)

    はじめに アプレットで最初に覚えるべきは「基的なコンポーネントの使い方」です。Apache Pivot(以下、Pivot)にも、さまざまなコンポーネントが用意されています。それらの中から、最も基となるものをピックアップし、使い方を見ていくことにしましょう。 コンポーネントの使い方といっても、「ただインスタンスを作って組み込んで表示できればOK」というわけではありません。入力関係は、入力された値を取り出して処理する手順も知る必要があります。また、例えば多数のコンポーネントをフォームとしてレイアウトし配置することも重要でしょう。またテキスト入力に関しては、入力された値をチェックするバリデーションについても知って置く必要があります。こうした「基的なコンポーネントを普通に利用できるための基礎知識」について説明していきましょう。 Pivotの基礎知識・導入などについては第1回の記事を参照してく

    Javaで軽快に使える「軽量フレームワーク」特集 ~アプレットベースのRIAフレームワーク「Apache Pivot」(2)
  • Javaで軽快に使える「軽量フレームワーク」特集 ~アプレットベースのRIAフレームワーク「Apache Pivot」(1)

    はじめに RIA(Rich Internet Application)という言葉が登場して既に数年が経過しました。「よりリッチなGUIによるWebアプリケーションの開発」という目標を掲げ、さまざまな陣営が新しい技術を世に送り出しました。Javaの世界でも、「JavaFX」などの新技術が生まれたのは記憶に新しいところです。 が、こうした新しい技術というのは、一朝一夕に広まるものではありません。JavaFXにしろSilverlightにしろAdobe AIRにしろ、思ったよりも苦戦しているように見えるのは、やはり「新技術が浸透するにはそれなりの時間が必要だ」ということなのでしょう。ならば発想を転換し、「既に普及している旧(?)技術を使って、最も新しいRIAという技術を構築」したら意外に誰もがすんなりと受け入れるのではないでしょうか。 今回取り上げる「Apache Pivot」(以降、Pivot

    Javaで軽快に使える「軽量フレームワーク」特集 ~アプレットベースのRIAフレームワーク「Apache Pivot」(1)
  • Silverlightが持つ強力なデータバインド機能

    はじめに 前回までの記事で、データが画面(コントロール)上に表示されましたが、単に取得して表示したに過ぎません(一部フォーマットの部分はバインドを使用しました)。 今回の記事では、Silverlightアプリケーション上で取得したデータをもう少し掘り下げて取り扱ってみます。XAMLがもつ強力なデータバインド機能を用いて、データサービスから取得したデータをどのように扱うべきかのポイントを紹介します。 また、この連載はサンプルシステムをベースに説明を行います。以下のサイトからサンプルコードや実行ファイルを入手して、確認しながら読み進めていただけると、より一層理解が深まると思います。 サンプルアプリケーションの公開サイト Code Recipe -.NET 開発サンプル コード集 Silverlightアプリケーションのデータバインド データバインドとは、データソースとターゲットを文字通りバイン

    Silverlightが持つ強力なデータバインド機能
  • 新たな関数型言語「F#」

    はじめに F#とは、マイクロソフトリサーチが開発しているOcaml(Objective Caml)互換の関数型プログラミング言語(以降、関数型言語)です。他の.NET Framework対応言語と同じくVisual Studio(以降、VS)に統合される予定で、現在マイクロソフトから提供されているVS2010のベータ版にも搭載されています。 マルチコアプロセッサが主流になり、従来の科学やその他の学術研究分野に限らず、金融業、製造業など幅広い分野においてHPC(High Performance Computing)が普及してきました。それに伴い、並列処理や分散プログラミングを得意とし、高演算処理能力を発揮する関数型言語への期待は急速に高まりつつあります。関数型言語はその長所にもかかわらず、他言語との相互運用性の乏しさもあって長い間ごく限られた一部のデベロッパーにしか学習されていませんでした。

    新たな関数型言語「F#」
  • 今からでも遅くない JPAを学ぼう!(前編) O/Rマッピングフレームワークへの招待

    JPAとは JPA(Java Persistence API)とはオブジェクトの世界からリレーショナルの世界へ、あるいはその逆への変換を行うためのAPIです。 それでは何もJPAを使わずともHibernateやiBatisを既に使っているから必要ないのではと考えられた方も多いかと思います。確かに既にそれらのO/Rマッピングフレームワーク(以降、O/Rマッパー)を利用されているのであれば特に必要ないのかもしれません。 そう思った方も少し待ってください。データベース製品の多様性を隠ぺいするためにJDBCが考えられたように、あるいはMOM製品の多様性を隠ぺいするためにJMSというAPIが考えられました。ところがO/Rマッパーの違いを隠ぺいするためのAPIは存在しなかったのです。iBatisを使用されている方にはあまり嬉しくないかもしれませんが、JPAの仕様作成の中心人物こそHibernateプロ

    今からでも遅くない JPAを学ぼう!(前編) O/Rマッピングフレームワークへの招待
    lizy
    lizy 2010/04/28
    簡単なことを簡単にやるのには便利だけど、複雑になるにつれて(SQLと比較して)加速度的に面倒になる気がする<ORM
  • 仮想ネットワーク実装でTCP/IPを学ぼう(5) ― アプリケーション層の勘所

    はじめに この連載では仮想的なLANを実装することにより、目に見えないTCP/IPプロトコル群を、手を動かして目で実際に確認しながら習得することを目的としています。 ただし、TCP/IPのすべてを解説するのは分量上不可能ですし、余計に読者を混乱させてしまいますので、筆者が重要と考えている部分だけ解説します。またサンプルコードや記事に出てくるIPアドレスMACアドレスについては架空のものであり、実際にそのIPアドレスを取得した組織などを意識したものではありません。あらかじめご了承ください。 今回はアプリケーション層のプロトコルとそれに関係する事柄について解説します。 アプリケーション層の概要 この層の役割は、IPアドレスと名前のマッピング・電子メール・ファイル転送・時刻同期などのTCP/IPアプリケーションの仕様を規定することです。仕様を決定することにより、異なるプラットフォームでも同様

    仮想ネットワーク実装でTCP/IPを学ぼう(5) ― アプリケーション層の勘所
  • JavaScriptベンチマークテスト 「SunSpider 0.9.1」公開

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

    JavaScriptベンチマークテスト 「SunSpider 0.9.1」公開
  • 「Memcached 1.4.5」リリース ビルドの不具合やドキュメントを修正

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

    「Memcached 1.4.5」リリース ビルドの不具合やドキュメントを修正