タグ

ブックマーク / atmarkit.itmedia.co.jp (63)

  • Commons DBCPを超えるTomcat JDBC Poolとは

    Commons DBCPを超えるTomcat JDBC Poolとは:Tomcat 7の新機能で何ができるようになるのか?(番外編)(1/2 ページ) TomcatのDBコネクション・プールは2つある @IT読者の皆さんは「Tomcat JDBC Connection Pool」をご存じですか? 通常、TomcatのDBコネクション・プールといえばApache Commonsプロジェクトの「Commons DBCP」を想像するかと思います。しかし、Tomcatには「Commons DBCP」以外にもDBコネクション・プールの実装が存在します。それが、「Tomcat JDBC Connection Pool」(以下、Tomcat JDBC Pool)です。 Tomcat JDBC Poolとは、Apache Tomcatプロジェクトが独自に作成したDBコネクション・プールの実装のことです。

    Commons DBCPを超えるTomcat JDBC Poolとは
  • OpenJDKのデバイスI/Oプロジェクト「DIO」が始動

    米オラクルは6月4日、組み込み機器上の汎用周辺機器に接続するためのJavaレベルAPIを提供するOpenJDK傘下のプロジェクト「DIO」を発足させた。 米オラクルは2014年6月4日、OpenJDK傘下の低レベルデバイスI/Oプロジェクト「DIO」(Device I/Oの略称)を発足させたと発表した。 同プロジェクトでは組み込み機器上の汎用周辺機器に接続するためのJavaレベルAPIを提供する。例えばJava SE Embeddedを搭載したRaspberry Piのような機器が対象となる。 プラットフォームはJava MEとSEを対象とし、GPIO(汎用入出力)、I2C(集積回路間通信)、UART(汎用非同期送受信回路)、SPI(Serial Peripheral Interface)といったインターフェイスへのアクセス標準化を目指す。 DIOプロジェクトはCore Libraries

    OpenJDKのデバイスI/Oプロジェクト「DIO」が始動
    nobeans
    nobeans 2014/06/06
    肉の芽APIの標準化か/フリーズしても何か許せそう
  • TDD/BDDの思想とテスティングフレームワークの関係を整理しよう

    TDD/BDDの思想とテスティングフレームワークの関係を整理しよう:いまさら聞けないTDD/BDD超入門(2)(1/3 ページ) TDD/BDDの思想に触れ、フレームワークとしてxUnit、JBehave、xSpec、Cucumber、Turnip、TestDoxを紹介する。 前回の「テスト駆動開発/振る舞い駆動開発を始めるための基礎知識」でも紹介があったように、さまざまなテスティングフレームワークがあります。例えばTDD自体は、Kent Beck(ケント・ベック)氏が著書『テスト駆動開発入門』(ピアソンエデュケーション刊)の中で述べているように、「分析技法および設計技法であり、実際には開発全てのアクティビティを構造化するための技法」です。 TDD(テスト駆動開発)/BDD(振る舞い駆動開発)を実践することと、特定テスティングフレームワークを採用したり開発したりすることを分けて考えておかな

    TDD/BDDの思想とテスティングフレームワークの関係を整理しよう
  • JINSに不正アクセス、約1万2000件のクレジットカード情報流出の可能性

    メガネブランド「JINS」を展開しているジェイアイエヌは3月15日、同社が運営するオンラインショッピングサイト、「JINS ONLINE SHOP」のWebサーバに不正アクセスがあったことを明らかにした。顧客のクレジットカード情報、1万2000件あまりが流出した可能性があるとし、サイトの運営を停止し調査を進めている。 同社によると、異常に気付いたのは3月14日19時58分。クレジットカード情報を入力するためにWebサイトに用意されている入力フォームが改ざんされ、ユーザーが入力した情報が外部のデータベースに送信されてしまう状態となっていた。これを踏まえ同日23時6分、Webサイトを停止し、調査を開始したという。実際に何件の情報が外部に送信されたか(あるいはされていないか)、送信先サーバはどこかといった情報については、ログなどを基に引き続き調査中。 ジェイアイエヌは2月6日にサーバ移転作業を行

    JINSに不正アクセス、約1万2000件のクレジットカード情報流出の可能性
    nobeans
    nobeans 2013/03/15
    "入力フォームが改ざんされ、ユーザーが入力した情報が外部のデータベースに送信されてしまう状態"
  • MVVMパターンの常識 ― 「M」「V」「VM」の役割とは?(3/5) - @IT

    .NET開発者中心 厳選ブログ記事 MVVMパターンの常識 ― 「M」「V」「VM」の役割とは? 尾上 雅則 2011/05/18 ■ViewModel 一般的にViewModelは、C#などの汎用プログラミング言語で記述され、プレゼンテーション・ロジックとステート(=状態)を持ちます。ドメイン・エンティティをViewに表示できるように整形したり、ドメイン・ロジックが公開するメソッドを操作として公開したりする責務を持ちます。 Modelの公開するステートをいちいちラップしてViewに公開するのもViewModelの役目です。 また、Viewへアクションの指示を行うためのメッセージ・イベントを発行します(詳しくは後述するMessengerで説明)。 ViewModelは、Viewへの参照を持ったり、Viewの特定の実装を意識したりしません。しかしViewModelはまったくViewを意識しな

    nobeans
    nobeans 2013/03/04
  • 「使う」から「公開する」へ

    この連載では、オープンソースソフトウェア(OSS)を使うだけでなく、自ら公開することのメリットを紹介し、1人でも多くのエンジニアの方がOSS界へデビューしていただけるよう支援します。レッツ、OSS! はじめに――オープンソースソフトウェアは「使う」だけ? 今では考えにくいことですが、かつてオープンソースソフトウェア(以下OSS)は、「無料で公開されているソフトウェアにはどんなウイルスが紛れ込んでいるか分からない」「障害発生時に責任を担保できない」といった考えから、利用を敬遠する企業が少なくありませんでした。 しかし今では毎日のように、大規模なOSS利用事例や新しいOSS製品がニュースをにぎわせています。OSSは情報系/基幹系、B2B/B2Cを問わず、システムに欠かせないものとなりました。これは、OSSの進化やバグフィックスの早さ、コードが多くの目にさらされておりセキュアであること、コスト削

    「使う」から「公開する」へ
    nobeans
    nobeans 2012/11/27
  • 管理が困難―分散処理の常識はZooKeeperで変わる

    管理が困難―分散処理の常識はZooKeeperで変わる:ビッグデータ処理の常識をJavaで身につける(8)(1/3 ページ) Hadoopをはじめ、Java言語を使って構築されることが多い「ビッグデータ」処理のためのフレームワーク/ライブラリを紹介しながら、大量データを活用するための技術の常識を身に付けていく連載 分散処理の課題が「管理」なのは常識 複数の計算機上で動作(分散)するアプリケーション、ソフトウェアが多く存在します。分散ソフトウェアは複数の計算機で動作することで大量のデータを扱えたり、高負荷な状況に対処します。稿では、複数の計算機(クラスタ)で動作する各サーバを「インスタンス」と呼びます。 連載で紹介した分散Key-Valueデータベースである「HBase」は複数の計算機で動作する代表的なソフトウェアです。両ソフトウェアはともに「Apache ZooKeeper」(以下、Z

    管理が困難―分散処理の常識はZooKeeperで変わる
  • iOSで使えるVimが登場! その姿に迫る

    衝撃! App StoreからインストールできるVimが登場 新年早々、Vimユーザーにはたまらないニュースが飛び込んできた。iOS向けに移植したVimがApp Storeに登場したのだ。App Storeで「Vim」を検索すると図1のページが開く。ここで「INSTALL」ボタンを押せばiOS向けのVimをインストールできる。簡単かつ無料でインストールできるので、もう試してみた方もいるかもしれない。 すでにiOS向けのVimは存在する。ただし、インストールするにはiPhoneiPadに手を加えて、「Jailbreak(脱獄)」しておく必要があるので、気軽に使えると言えるものではなかった。App Store経由でインストールできるVimが登場したのはこれが初めてではないだろうか。 筆者も、iPadiPhoneに今回登場したVimをインストールし、どの程度便利に使えるのか試してみた。使いに

    iOSで使えるVimが登場! その姿に迫る
    nobeans
    nobeans 2012/01/31
  • Tomcat 7も対応したServlet 3.0の変更点 後編

    Tomcat 7も対応したServlet 3.0の変更点 後編:Tomcat 7の新機能で何ができるようになるのか?(2)(1/3 ページ) 前回の「Tomcat 7も対応したServlet 3.0の6つの主な変更点」では、「Tomcat 7」が実装したServlet 3.0の新機能のうち「Ease of Development(EoD、開発容易性)」「Pluggability and Extendibility(モジュール化と拡張性)」について紹介しました。今回はAsynchronous processing(非同期処理)、セキュリティSession Tracking、マルチパート対応を紹介します。 アノテーションによる非同期処理 Servlet 3.0から非同期処理が使えるようになりました。Servlet 2.5までは、Servlet上でスレッドを生成・起動し、リクエストやレスポンス

    Tomcat 7も対応したServlet 3.0の変更点 後編
  • Jenkinsの生みの親が語る、継続的インテグレーションの未来 - @IT

    2011/06/06 5月24日、日Javaユーザグループ(以下、JJUG)の主催による「JJUG Cross Community Conference(以下、JJUG CCC) 2011 Spring」が行われた。JJUG CCCはJJUGが年2回開催している定例イベントであり、Javaに関する最新の動向や活用事例などが紹介される。 稿では、オープンソースのCIサーバ「Jenkins」の生みの親である川口耕介氏による基調講演の様子をお伝えする。 「Jenkins」はソフトウェアプロジェクトのビルドやテストを自動化する継続的インテグレーション(CI:Continuous Integration)サーバの一種である。もともとは「Hudson」という名称で開発・公開されていたが、商標上の問題によってJenkinsに改名された。 JJUG CCCの基調講演は、その生みの親であり現在もプロジェ

  • Google CodeがGitではなくMercurialを採用へ - @IT

    2009/04/28 米グーグルは4月24日、ソフトウェア開発プロジェクトのホスティングサービス「Google Code」で、これまでのSubversionに加えて分散バージョン管理システム(DVCS)の「Mercurial」のサポートを開始すると発表した。現在はプレビューリリースで、一部のプロジェクト利用者に提供。一般リリースに向けて、いくつかの課題を解決していくという。Google Codeでは、Mercurialサポートのために、一般のMercurialがオブジェクトの保存に使うOSネイティブのストレージに代えて、グーグルの分散データベースシステム「BigTable」を使うように書き換えたという。 DVCSとしては、MercurialのほかにGitやBazaarが知られている。従来からある中央管理型のバージョン管理システムに比べて、分散開発がやりやすいことから、普及が進んでいる。例え

  • Rubyの魔術 数々の“スペル”で高度なプログラミング − @IT

    2010/09/13 元JavaプログラマのPaolo Perrotta氏は、Rubyを使い始めた頃のことを振り返り、こう話す。 「私はJavaの世界からRubyに来た当初、とてもハッピーなプログラマでした。Rubyっていいね、かっこいいじゃん! と。ところが、最先端のイケてるライブラリの中を覗いてみたら、分からないところだらけだったんです……」。 RubyKaigi2010で「A Metaprogramming Spell Book」(あるメタプログラミング魔術の書)と題した講演を行ったイタリア人プログラマのPerrotta氏は、Ruby on Railsのソースコードを覗いてみたときの驚きをこう表現する。 「例えばalias_method_chainというメソッドは、一体どこにあるんだと探しました。どこにあるか分からないんです。こんなことJavaではあり得ません。結局、テキスト検索で発

    nobeans
    nobeans 2010/09/13
    たまにはGroovyのことも思い出してやってください
  • @IT:/tmpのファイルがいつの間にか消えてしまう

    /tmpにコピーしておいたファイルは、毎日午前4時2分に行われる自動処理(午前4時になると激しいディスクアクセスが始まる参照)の1つによって消去される。具体的には、その処理を行っているのは/etc/cron.daily/tmpwatchだ。 Red Hat LinuxとVine Linuxの場合、/etc/cron.daily/tmpwatchは以下のようになっている。 /usr/sbin/tmpwatch 240 /tmp ←240時間アクセスされていない/tmpのファイルを削除 /usr/sbin/tmpwatch 720 /var/tmp ←720時間アクセスされていない/var/tmpのファイルを削除 for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do if [ -d "$d" ]; then /usr

    nobeans
    nobeans 2010/09/07
    /tmp配下はOS再起動しないと消えないと思ってたら、じわじわ消されてハマった例を今まさにみたなう
  • 単体テストを“神速”化するQuick JUnitとMockito

    単体テストを“神速”化するQuick JUnitMockito:ユカイ、ツーカイ、カイハツ環境!(16) Quick JUnitプラグインの3つの大きな特徴 近年、JUnitとHudsonを利用した継続的インテグレーション(CI)によるテストの自動化や、テスト駆動開発(TDD)の普及などにより、ユニットテスト(単体テスト)のテストコードの作成が重要視されています。 今回紹介する「Quick JUnit」プラグインは、JUnitによるテストコードの作成と実装を支援するEclipseプラグインです。Quick JUnitプラグインは石井勝さんにより開発されていましたが、石井さんが不慮の事故により死去後、Quick JUnitプラグインプロジェクトにより開発が継続されています。優れたオープンソースプロジェクトの模範のようなプロジェクトです。 訂正のお知らせ 故人のお名前について間違いがあり、修

    単体テストを“神速”化するQuick JUnitとMockito
  • Widnowsで8.3形式の短いファイル名を表示させる

    解説 Windows OSやMS-DOSなどで利用されているファイルシステムでは、空白や記号などを含む長いファイル名を利用できるが、当初のMS-DOSシステムでは、8.3形式の短い名前しか利用できなかった。8.3形式とは、ファイル名(ベース名)部分が最大で8文字、拡張子部分が最大で3文字という、非常に制限された形式のファイル名の規則のことをいう。例えばCOMMAND.COMやCONFIG.SYSはこの規則に合致した形式のファイル名の例である。 現在では、8.3形式ではなく、より自然な長いファイル名を利用できる。ただし互換性のために、(デフォルトでは)ファイルシステム中には長いファイル名と8.3形式の短いファイル名の両方が維持・管理されている(8.3で間に合う場合は片方しか保持していない)。そのため、ユーザーがどちらのファイル名を利用しても、同じように動作するようになっている。 例えば「C:

    Widnowsで8.3形式の短いファイル名を表示させる
  • あなたのWebを入力しやすくするjQueryプラグイン10選

    あなたのWebを入力しやすくするjQueryプラグイン10選:CSSの書き方も分かるjQueryプラグイン実践活用法(終)(1/5 ページ) jQueryと、そのプラグインの使い方を、UI効果(エフェクト)のテーマごとに紹介する連載。jQuery/JavaScript/HTMLコードだけではなく、CSSの書き方も解説することで、より実践的にjQueryプラグインを使うための参考ドキュメントになることを目指しています。 前回の「画像や動画を綺麗に回転/拡大するjQueryプラグイン」では、イメージを回転させたりズームインする「jCarousel」「Zoombox」プラグインの使い方を解説しました。今回は、フォームを使いやすくするための各種プラグインを、以下のようにチェックボックス/ラジオボタン、ドロップダウンリスト、テキストボックス/テキストエリア、フォームのカテゴリ別に分類して紹介します。

    あなたのWebを入力しやすくするjQueryプラグイン10選
  • 「人月・受託の限界を超えよ」SIerでSaaSを立ち上げる

    「人月による受託開発には限界がある」――SI企業で働いているエンジニアが考えた末に見出した「SaaSの新事業を立ち上げる」という道。社内SNSを開発、新規事業として社内ベンチャーを立ち上げた倉貫義人氏が「エンジニアとして自身が望む道」を語る。 社内ベンチャーという道 「社内ベンチャー」という言葉を聞いたことがありますか? 社内ベンチャーとは、新規事業の立ち上げや新規市場の開拓といった目的で、企業の中で擬似的に作られるベンチャー組織のことです。多くの場合、既存事業の延長線上では実施しにくい事業を推進するために作られます。つまり、社内ベンチャーは「イノベーションを期待された組織」といえます。 筆者が所属するSonicGardenは社内ベンチャーです。体の会社は、TISというシステムインテグレータ(以下SI企業)です。 TISは、お客さまの要求を満たすシステムを作って納品する、という受託開発の

    「人月・受託の限界を超えよ」SIerでSaaSを立ち上げる
    nobeans
    nobeans 2010/05/19
  • ここが大変だよ、JavaのGC/メモリ管理

    Webシステムを安定稼働させるには、考慮しなければならないことは数々存在する。システムの適切なサイジングを行うことも、その1つだ。 今回は、その中でもJavaVMのメモリのサイジング(見積もり)とGC(ガベージ・コレクション)に着目して説明する。 現象の見え方 今回は、以下の問題についての話だ。 メモリサイジングをミスした場合、業務ピーク時のGCの多発や長期化からこの現象に陥る場合がある。CPU利用率が100%に張り付いて性能が出ない場合は、GCが原因かを疑う必要がある。その場合、まずはGCログを参照し、GCの処理時間や発生頻度から1分ごとのGC処理の占有率を確認してみるとよい。 占有率が大きい場合、アプリケーションの処理やメモリのサイジングを見直す必要がある。以降では、GCを考慮したメモリのサイジングについて説明する。 JavaVMのメモリ空間はどうなっているのか 初めに、Cosmine

    ここが大変だよ、JavaのGC/メモリ管理
    nobeans
    nobeans 2010/05/19
    このURLを紹介してあげたら完結するかな
  • 脱Excel! TestLinkでアジャイルにテストをする

    図4-4-4の連携フローを見ると、実はバグ検証はかなり複雑なワークフローである。図4-4-4のように厳格に管理する理由は、結合テスト以降のバグの原因は要件漏れや設計漏れのような致命的な欠陥が多いからだ。 このときに使われる重要な成果物は障害報告票(例:Redmineチケット)である。例えば、筆者の場合、図4-4-4のフローを、障害報告票を使ったフローで説明すると下記の流れになる。 まず、障害報告票はテストケースが失敗したとき、障害報告票へバグの現象、バグが発生した機能、発生日時、担当者をテスターが記載する。障害報告票は、昔は決められた用紙かExcelだったが、最近ならバグ管理システム(BTS)へデジタル化して登録する。 バグが複雑でテスターが担当者を決定できないなどの場合は、管理者がいったん預かり、担当者を決定する。そのRedmineチケットは「新規」ステータスになる。 次に、担当者にアサ

    脱Excel! TestLinkでアジャイルにテストをする
  • 使って分かったAndroidとiPhoneの違い - @IT

    5月末から6月にかけて、米国出張で2週間ほどAndroid端末を使う機会があった。使ってみると、同世代のスマートフォンとして競争相手であるiPhoneとの違いにいくつか気付いた。ここでは、私が気付いた両者の違いをざっくり主観を交えてまとめてみたい。 Android端末とiPhoneは、ケータイ、あるいはスマートフォンという文脈で考えれば、違いより、むしろ似ているところのほうが多い。両者とも、主にPC向けとして進化したモダンなOSとWebブラウザを搭載していて、タッチパネルを生かしたUIも同様だ。アプリケーションプラットフォームが開放されており、個人でもアプリ開発が可能という点も同じだ。Windows MobileやSymbian OSでも個人開発者によるアプリ開発は不可能ではなかったが、SDKの入手のしやすさや取っつきやすさ、ポータル的なマーケットの有無など違いは大きかった。iPhone