タグ

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

  • Google App Engine for Javaを使ってみよう! (1)Google Plugin for Eclipse

    2008年4月7日に発表されたGoogle App Engineが、ちょうど1年後の2009年4月7日にJavaに対応したことが発表されました。さらに、Java開発には必須のEclipse用のプラグイン「Google Plugin for Eclipse」が同時に発表され、Java利用者は簡単にGoogle App Engine用のプログラム開発とEclipse上からのデプロイができるようになっています。今回はそんな便利な「Google Plugin for Eclipse」の使い方を説明します。 はじめに 2008年4月7日、Googleのインフラでウェブサービスを展開できるという「Google App Engine」が発表され世界中が驚かされました。この時点では利用できる言語としてPythonのみがサポートされており、Pythonの開発者がGoogleの社員であることを考えると当然なの

    Google App Engine for Javaを使ってみよう! (1)Google Plugin for Eclipse
  • signalについて(前篇)

    はじめに シグナルはUNIXなどのOSにおける非同期イベントを通知する仕組みですが、「最古のプロセス間通信」「SysV系とBSD系で動きが違う」「昔のシグナルを使うと汎用性が無くなってしまう」「スレッドと相性悪し」といった理由からか、私の経験上、業務系アプリケーションではあまり使われていません。たまに使っているものを見ると、誤った使い方をしているものが多かったりします。 ところがこのシグナル、いろいろ調べていくと意外と奥が深く、有用に使えるのに、以外と情報が少ないことがわかりました。 今さらな感もありますが、ここでは私が知っている事や、調べた結果、今までの経験から得た知識などをまとめてみたいと思います。 ただし、環境によって動作が違うことが想定され、また一部のプログラムは環境に対し重大な影響を与えてしまうものもあります。プログラム等の使用に際しては十分に注意して頂き、ご自身の責任の範囲で行

    signalについて(前篇)
  • IBMのとがった人たち ~ 「IBM Japan Geeks」 勉強会レポート(前編)

    IBMにて2008年2月より毎月開催されている勉強会「IBM Japan Geeks」。40名以上の“Geek”が登録しているというこの会では、さまざまな言語や最新技術をディープに情報交換しています。そこで CodeZineがこの勉強会に参加し、これまで発表のあったもののうち、反響のあった4編をバージョンアップして再現していただきました。この会の模様を2回に分けてレポートします。 IBM Japan Geeksとは まず、「IBM Japan Geeks」(Geeks)発足の経緯から現在までの活動内容について、伊尾木氏から発表がありました。Geeks発足のきっかけは、2007年に社内で開催された「ITLMC RoR(Ruby on Rails)勉強会」だったと言います。この勉強会には”とがった”人がたくさん集まっており、このまま別れていくのももったいないということで、Geeksが発足しまし

    IBMのとがった人たち ~ 「IBM Japan Geeks」 勉強会レポート(前編)
  • ドキュメント作成に役立つ「日本語スタイルガイド」の紹介

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

    ドキュメント作成に役立つ「日本語スタイルガイド」の紹介
  • Amazon、超巨大ストレージサービス「Amazon Elastic Block Store」ついに公開

    Amazonは21日、新たなWebサービスAmazon Elastic Block Store(EBS)」を公開した。 EBSは、Amazonが提供するホスティングサービスAmazon EC2から使用するストレージサービス。高可用、高性能なブロックデバイスのストレージを、EC2のインスタンスから利用できる。既存のストレージサービス「Amazon S3」と異なり、API経由ではなく、実際の外部ストレージのようにアクセスすることができるため、EC2に障害が発生しても書き込まれたデータが失われない。 ファイルシステムをフォーマットし、マウントして利用することはもちろん、直接Rawデバイスとしてアクセスすることも可能。もちろん、EBSボリュームにMySQLなどのデータベースを作成することもできる。また、Amazon S3にスナップショットとしてデータをバックアップすることも可能となっている。 1

    Amazon、超巨大ストレージサービス「Amazon Elastic Block Store」ついに公開
  • マージ・ソート : 巨大データのソート法

    はじめに まずはともあれ腕試し、この問題を解いてみてくださいな: 【問1】 デタラメな順序で並んだ文字列の集合がテキストファイル「input.txt」に収められています。この文字列群を辞書順(昇順)に並び換えたテキストファイル「sorted.txt」を作りなさい。 ※各文字列は改行で区切られています。 プログラミング教の練習問題、あるいは学校の課題で出てきそうな“お馴染み”の問題です。ソート(整列)アルゴリズムの実装には配列/代入/条件分岐/ループなどなどプログラミングの基中の基となる構文を総動員するため、練習問題としてよく使われますね。 早速解いてみましょう、ソート・アルゴリズムにはこれまたお馴染みのバブル・ソートを使います。C#、VB.NETC++/CLIの3まとめて一気にいきますよ: using System; using System.IO; using System.C

    マージ・ソート : 巨大データのソート法
  • JMeterでWebアプリケーションのパフォーマンス測定を行う:CodeZine

    はじめに 筆者がこれまで見てきたWebシステムの中には、機能仕様を満たしているものの、パフォーマンスの点でユーザが大きな不満を抱えているケースが珍しくありませんでした。その理由として、負荷テスト(または、ストレステスト)がほとんど行われていない、または全く行われていないケースであることが多かったのです。不特定多数のユーザが利用するWebアプリケーションでは、どれほど便利な機能があったとしても、十分なパフォーマンスが出なければ、ユーザビリティを損なってしまいます。 そこで、稿では負荷テストツールであるJMeterを使い、Webアプリケーションに対して負荷テストを行う方法を解説します。対象読者 Webアプリケーションの開発を行っていて、JMeterを使った基的な負荷テストの方法を学習したい方。開発言語は問いません。環境必須環境 稿では、JMeterとテスト対象Webアプリケーションが正し

  • 【RubyKaigi'08】詳細レポート : 多様化するRuby(続):CodeZine

    基調講演とM17N 日Ruby会議 2008 初日午後のメインセッションでは、まつもとゆきひろ氏による基調講演に続いて、成瀬ゆい氏とMartin J. Durst氏によるRuby 1.9から取り入れられたM17Nについてのセッション(Ruby M17NRuby M17N)が行われた。

    defiant
    defiant 2008/06/27
  • 15万人が待っていた、「Google App Engine」一般公開:CodeZine

    Googleは28日、同社が持つインフラ上で自作のWebサービスを動かせるホスティングサービス「Google App Engine」を一般公開した。今年4月から会員数限定でプレビュー版を公開していたが、15万人以上がウェイティングリストに入っていたという。 Google App Engineは同社のWebサービスを支えるサーバ環境を提供するもので、Ajaxなどを利用した動的なWebサイトの構築や、「Bigtable」および「Google File System」によるストレージシステム、ユーザを認証してメールを送るGoogle APIなどを活用できる。 今年の後半まではプレビュー期間となっており、サービスを無料で利用することができる。その後、下記の料金体系に移行する予定。

  • 私がScalaを選んだ理由:CodeZine

    はじめに 最近自分の中でScalaという言語が熱い。RubyPython等のスクリプト言語や、JavaやC#等現在のエンタープライズ領域を支える言語、HaskellやErlangといった関数型言語もある。そんなにいっぱいいい言語がある中で、なぜ今Scalaなんだろう? そんな理由を解説してみたいと思います。Rubyの生産性 ここ数年LLブームで、とりわけ日でのRuby人気は目覚ましいものがあります。実は筆者もRubyはとてもお気に入りです。最初に触り始めた頃は、「Rubyはいいよ」という話だったので勉強がてら小さなサンプルを作って遊んでいたのですが、その頃は「楽しいな」「気持ちいい言語だな」という程度であまり熱心にやっていませんでした。なぜなら私は「仕事で使える」ということを非常に重視するタイプだからです。 その認識が一変したのがRubyによるWebアプリケーション開発のプラットフォー

  • 「Google Collections Library」でJavaのコレクションを補完する:CodeZine

    はじめに 何年も前のことですが、私が初めてJavaに興味を覚えた理由の1つは、Javaプラットフォームに標準でコレクションライブラリが組み込まれていたからでした。当時、C++の世界ではまだSTL(Standard Template Library)が定着しておらず、開発者たちは適当なコレクションライブラリを購入して利用するか(Rogue Waveが流行っていました)、自分の手でライブラリを書くしかありませんでした。正確な数は忘れましたが、私自身も、さまざまな目的でさまざまな種類のプリミティブやオブジェクトの連結リストを実装しました。さらに、もっと複雑なコレクションや平衡2分探索木、ハッシュテーブルなども自分で実装しました。そのようにしてソフトウェア工学の原理を絶えず意識することは決して無駄なことでありませんでしたが、生産性を考えるとそうとばかりも言えませんでした。 しかし、Javaによって

  • Perlを使って脆弱性を検証する:CodeZine

    はじめに 今回はXSSの脆弱性をチェックするPerlスクリプトを作成したいと思います。すべてのXSSによる脆弱性が回避できるわけではありませんが、テストコード作成のヒントになれば幸いです。 対象読者 Webアプリケーション開発者で、XSSのテストケースを作成したい方。 必要な環境 Perl 5.8以上が動作する環境。基動作の確認はMac OS Xを利用しました。次のPerlモジュールを利用するので、あらかじめインストールしておいてください。 Template::Toolkit Web::Scraper Test::Base またCGIを使用するので、ApacheなどのCGIが実行できるWebサーバを用意してください。 解説内容 ソースコード解説 まず最初にソースコードの解説をします。 xss.pl

  • GCの解析とチューニングポイント:CodeZine

    はじめに J2EEサーバの健康診断をする上で、GC(ガーベッジ・コレクション)の発生状況の把握は非常に重要です。GCの発生状況を監視することによって、メモリリークを発見したり、サーバの負荷状況を調べたりすることができます。 そこで、商用J2EEサーバとしてはシェアの高いWebSphere Application Serverを想定し、GCの解析方法とチューニングポイントを説明します。対象読者 WebSphere Application Serverを利用したシステム開発に携わる、開発者・アーキテクト。必要な環境サーバ:WebSphere Application Server 6.0以上解析用PC:IBM JDK 1.4.2以上がインストールされていること  IBM JDK 5.0は、developerWorksのWebページからダウンロードできます。Eclipseとセットになっています。W

    defiant
    defiant 2007/09/03
  • サーバサイドJava入門 ログイン処理とサイト攻撃対策の基礎:CodeZine

    はじめに 今回は、ブラウザに情報を保管するクッキーと、クライアントとの連続した接続を確保するセッションについて、その働きと使い方を学習します。また、ある程度プログラムが作れるようになってきたら、サイト攻撃への対応についても考えなければいけません。最も基とも言えるXSS攻撃関係の対応について簡単にまとめておきましょう。過去の記事第1回:TomcatとEclipse WTPの導入手順第2回:JSPを使ったサーバサイド処理の基第3回:サーバサイドJava入門 フォームデータの取り扱いとページ遷移の基 対象読者Javaの基(文法全般および基的なクラスライブラリの使い方程度)をマスターしている人。サーバサイド(JSP、サーブレット)について基礎から勉強したい人。Eclipse WTPを使った開発に興味がある人。 セッションとは何か? 前回までで、フォームを使ったデータのやり取りの基は大体

    defiant
    defiant 2007/06/28
  • Yahoo!、Flash版地図APIを公開 ルート再生機能も搭載:CodeZine

    Yahoo! JAPANは27日、Yahoo!デベロッパーネットワークを通じて「Flash版地図API」を公開した。アプリケーションIDを登録すれば誰でも自由に使用することができる。 地図はマウスドラッグによる移動や、マウスホイールによる縮尺の変更が可能。また、Shiftキーを押しながらマウスホイールすることで、地図を45度ずつ回転させることができる。 関数も用意されており、地図上にアイコンを表示や吹き出しを表示させることができる。さらにルート再生用のXMLファイル(POIX)を用意しておくことで地図上でルートを再生することが可能になっている。 Yahoo!デベロッパーネットワーク - Yahoo!地図情報 - Flash版地図API

  • 「ストレージ仮想化とは?」 SANmelodyが実現するTEV:CodeZine

    データコア・ソフトウェア株式会社は8日、都内で製品発表会を行い同社が掲げるTotal Enterprise Virtualizationについて説明をした。同社の製品は全世界で3000社以上の導入実績がある。 仮想化のトレンド データコア・ソフトウェア取締役の片山氏は、急速に普及する仮想化環境について、「当初、仮想化というとサーバの仮想化を意味し、5台のマシンが1台で済むとか、さまざまなOSを入れることで古いソフトが動作するとか、そういったことが注目されていた」と説明した。 しかし、今では運用面でのメリットが仮想化の目的となっている。これは、複数のハードウェアで動作していたものを一元管理することによる管理コストの削減や、フルパワーで使用されていないCPUやメモリを仮想化環境同士が共有することによるリソースの有効活用といった点が挙げられる。 ところがサーバの仮想化が進むにつれて問題が浮かび上

  • POJOベースのドメインアプリケーションをWebサービスとして公開する:CodeZine

    FindBugsを使うと、Javaの危険なバグを特定し、修正することができます。そのユニークな機能は、Javaの世界に数ある静的分析ツールのなかでも異彩を放っています。FindBugsのどこがどう特別なのか、この記事で解き明かすことにします。

  • システム構築企画や要求仕様のまとめ方:CodeZine

    システムを開発する際、「要求仕様文書」をいかにしてまとめるかが成功と失敗の分かれ道であるといえます。なぜなら、「要求仕様文書」によって新システムに盛り込むべき機能をユーザーと開発者の両者が理解できるようになるからです。これが十分でないと、品質、納期、コストの問題にはねかえってきます。 要求仕様をまとめきれないと、その影響は上流工程だけでなく、開発などの下流工程にも現れ、手戻りによる納期遅延やコスト超過などを引き起こします。さらには、システム導入後の品質の低さとして顕在化し、最悪の場合、取引ミスや不具合対応によるコスト増加や業務スピードの低下など、企業に大きなダメージを与えかねません。 最近、システム開発を取り巻く状況が次のように変化してきています。 従来の開発に比べ、期待される開発工期が相対的に短い 要求仕様が固まっていない状態で開発を始めねばならないケースが多い 要求の追加・変更が

  • MS、無償のWeb制作者向けIEプラグイン「Internet Explorer Developer Toolbar」正式版公開:CodeZine

    Microsoftは9日、IE用プラグイン「Internet Explorer Developer Toolbar」正式版をリリースした。以前からWeb開発者向けにリリースされていたプラグインだが、今回よりバージョン1.00の正式版となった(リリースされたのは、バージョン1.00.2188.0)。 Internet Explorer Developer ToolbarはMicrosoftのWebサイトより無償でダウンロードできる。IE7の場合、インストールするとブラウザの右上に小さなアイコンが現れ、これをクリックするとメニューが表示されるようになる。 Webサイトにおける画面デザインでは、HTMLのDOM構造やCSS適用内容、要素のサイズなど、実際にブラウザを通した表示を見ながら検証していく必要がある。Internet Explorer Developer Toolbarを使うと検証した

  • 日はまた昇る「Javaアプレット」をもう一度:CodeZine

    はじめに 「Javaアプレットなんて、もう誰も使っていない。いまさら何を…」と思ってはいませんか。 近年、Ajaxの発見によるJavaScriptの再評価は目覚ましいものがあります。コンピュータ言語学に詳しい技術者たちの間では、JavaScriptが高度なオブジェクト指向を備えている事実が知られていましたが、その能力を十分に活用した実装はほとんど見られませんでした。ところが、Ajaxが一般に周知されて以来、高度なJavaScriptライブラリも次々と登場し、多くの技術者がJavaScriptに再び注目しています。 余談になりますがLispのような古い関数型言語もまた、ここ数年で実用的な言語として再評価されるなど、このほかにも過去の技術が再浮上する例はいくつもあります。 稿を書くきっかけとなったのは、こうしたAjaxブームの中で再浮上したJavaScriptを目の当たりにして、かつてインタ

    defiant
    defiant 2007/05/21