タグ

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

  • 配列とコレクション間の相互変換を行う

    複数要素で構成されるデータをJavaで扱う場合は、配列またはCollectionインターフェイスを持つクラスを使用するのが一般的です。Collectionインターフェイスを持つクラスには、java.util.ArrayListやjava.util.HashSetなどがあります。 配列は要素数が固定となりますが、使用メモリが少ないという特徴があります。他方、Collectionインターフェイスを持つクラスは配列よりも使用メモリが多くなりますが、要素を自由に追加・削除できるという特徴があります。プログラムを記述する際は、それぞれの特徴を考えてどちらを使用するか決定することができます。 しかし、ライブラリのメソッドに複数要素のデータを渡す場合、渡すべきデータを保持している型と、ライブラリのメソッドの引数の型が異なるため、型変換が必要になることがあります。稿ではそうした場合に対応できるよう、配列

    配列とコレクション間の相互変換を行う
  • Windowsのnetコマンドの使い方

    対象OS:Windows 2000 Professional/Windows XP Professional/Windows XP Home Edition/Windows 2000 Server/Windows 2000 Advanced Server 解説 Windowsネットワークのトラブルシューティングを行う場合、コマンド・プロンプトを開いて、netコマンドを使わなければならない場面が多くある。ここではnetコマンドの使い方について、簡単に解説しておく。 netコマンドは、Microsoft Windowsネットワークにおいて、ネットワーク関係の設定を行ったり、現在の状態を表示させたりするために使われるコマンドである。Windowsシステムの基的な設定を行うためには、現在ではコントロール・パネルなどを使うのが一般的であるが、開発された当初のMS-Networks(現在のWindo

    Windowsのnetコマンドの使い方
  • @IT:sshでパスワードなしにログインするには

    sshは、ssh-agentを使用するとパスワード認証なしにログインすることが可能だ。この方法は鍵交換方式を用いるので、あらかじめ鍵を作成しておく必要がある。ここでは、sshサーバ(例ではpandora)で鍵を生成し、リモートクライアントからsshサーバにパスワード認証なしにアクセスする方法を紹介する。 まず、sshサーバにログインして鍵を生成する(以前に鍵を作成している場合は、新たに作成する必要はない)。 $ ssh-keygen -t rsa ←RSA暗号方式の鍵を作成 Generating public/private rsa key pair. Enter file in which to save the key (/home/nori/.ssh/id_rsa): ←[Enter]キー Enter passphrase (empty for no passphrase): ←パス

  • RubyでHadoopをラップ、分散処理ツールキットが登場 - @IT

    2009/05/12 米新聞社大手のニューヨーク・タイムズは5月11日、Rubyによる大規模分散処理のツールキット「Map/Reduce Toolkit」(MRToolkit)をGPLv3の下にオープンソースで公開したと発表した。MRToolkitは、すでに稼働しているクラスタ上のHadoopと合わせて使うことでRubyで容易にMap/Reduce処理を記述することができる一種のラッパー。処理自体はHadoopが行う。すでにHadoopを使っているユーザーであれば、中小規模のプロジェクトに対して、すぐにMRToolkitを適用可能としている。 デフォルトで有用なMap、Reduceの処理モジュールが含まれていて、数行のRubyスクリプトを書くだけで、例えば膨大なApacheのログからIPアドレス別の閲覧履歴をまとめるといった処理が可能という。独自にMapやReduceの処理を定義することも

    slash_01
    slash_01 2009/05/13
    面白そう。やってみよ。
  • 生粋のハッカーに学ぶ、メールの攻め方守り方 - @IT

    宮田 健 @IT編集部 2009/1/5 スパム対策、ウイルス対策をすでに行っていたとしても、メールセキュリティに終わりが見えないのはなぜだろうか。2008年12月2日に開催された「メールセキュリティセミナー2008 in 大阪」での基調講演の様子をレポートしよう(編集部) メールを突破口にする攻撃者たちとの攻防戦 電子メールは最もビジネスで利用されているアプリケーションであり、すでにメールアドレスは全社員に割り当てられているだろう。それだけに、メールという手段は攻撃者にとって最も利用しやすく、間口の広い攻撃ポイントとなっている。 古くはメールに添付された悪意あるプログラムによってウイルスに感染させるなどの攻撃手法が取られていたため、「怪しい添付ファイルは開かない」が最大の防御であった。しかし現在は心理的なわなを仕掛け、たくみにユーザーの行動を促す受動的攻撃が主となっており、対処方法も変わ

  • 開発者に聞く、Google Chromeが目指すもの - @IT

    2009/03/30 「昔はWebブラウザの新バージョンのリリースには1年とか1年半かかっていました。しかし、われわれはWebブラウザの世界にも、Webアプリケーションと同じ速度で革新をもたらしたいのです」。こう語るのは、グーグルでシニアプロダクトマネージャーを務める及川卓也氏だ。及川氏は日グーグルGoogle Chrome開発に携わる1人だ。 東京・渋谷のグーグルの日オフィスで、Google Chromeに関する最新事情と技術的な取り組みについて話を聞いた。ここでは、Google ChromeがベースにしているオープンソースのWebブラウザ開発プロジェクトChromium」のWebサイトにある開発者向け情報と合わせてGoogle Chromeの現状と、高速化への取り組みに迫ってみたい。 矢継ぎ早のバージョンアップで機能強化と高速化 及川氏の指摘通り、グーグルGoogle Ch

  • Java SE コアAPI 使用コード例一覧 - @IT

    IT編集部 2009/3/24 最終更新: 2012/04/11 17:57 このページは、Java開発者/プログラマのための、Java SE(旧、J2SE)のコアAPIの使用コード例の記事へのリンク集です。パッケージごとに表でまとめてあります。メソッドやコンストラクタ、例外などAPIの使い方の参考にしてください。パッケージやクラスの並び順は、標準のJavadoc(「Java Platform, Standard Edition API 仕様」)と同様にしています。 すべてのクラス java awt(Abstract Window Toolkit) event image io(In/Out) lang(LANGuage) reflect math(MATHmatics) net nio(New In/Out) charset(CHARacter SET) rmi(Remote Meth

  • Cocoaの素、Objective-Cを知ろう - @IT

    Objective-C初心者のための入門連載です。Objective-Cとは何かの基礎知識から、さまざまな基構文/文法(変数、データ型、nil、配列、プロパティ、アクセサ、クラス、スーパークラス、ルートクラス、サブクラス、ポインター、メソッド、インスタンス、リンク、ラッパークラス、コンパイラディレクティブ、id、メッセージ式、文字列操作、forなどの繰り返し(ループ)、列挙子、ディクショナリ(連想配列)、高速列挙、オブジェクト指向、継承、プロトコル、多重採用、セレクター、クラスクラスター、カテゴライズ、カテゴリ、メモリ管理、ガベージコレクション、参照カウンターなど)を、書き方が分かる豊富なサンプルコードとともに解説します。

  • IT業界で楽しく仕事をするための10カ条 - @IT

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) 2009年、日の春は多くの学生さんたちが卒業し、また社会で活躍し始める時期です。 IT業界は3K、7Kなどと、いろいろネガティブな面も取り上げられます。けれども、「ものづくり」の楽しさや、人の役に立つ仕事として@ITで取り上げられるような業種で働こうと考えている人も多いことでしょう。 なんとなくIT業界を選択した人から、もしかしたらあまり気が進まないのに、IT業界に入ってしまった人がいるかもしれません。その一方、プログラミングやコンピュータに関する事柄がとても好きでIT業界に入ってきた人もいるでしょう。 記事では、IT業界を目指している学生さんや入社間もない新人に向けて、より楽しく

    IT業界で楽しく仕事をするための10カ条 - @IT
    slash_01
    slash_01 2009/03/13
  • Gaucheでテンプレートエンジンを作る

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 前回「GaucheでRDBプログラミング」に続き、Webプログラミングです。WebアプリケーションやGUIアプリケーションのように、人との対話があるアプリケーションは一般にMVCを採用しています。 MVCとは、計算やデータ処理部分のモデル、表示部分のビュー、全体の流れを制御する部分のコントローラにモジュールを分割して作る技法です。 MVCを採用すると、変更に強いメンテナンス性の高いソフトウェアになるといわれています。実際に、多数のWebアプリケーションフレームワークがMVCを採用しています。 前回のRDBプログラミングはモデル部分の中心になるものでしたが、今回はビューの部分を作っていきましょう。 HTMLの生成 Webアプリケーションでは、Webブラウ

    Gaucheでテンプレートエンジンを作る
  • RSpecを使ったテストコードを読もう

    RSpecを使ったテストコードを読もう:Railsコードリーディング~scaffoldのその先へ~(2)(1/4 ページ) 優れたプログラマはコードを書くのと同じくらい、コードを読みこなせなくてはならない。優れたコードを読むことで、自身のスキルも上達するのだ(編集部) 第1回「コードリーディングを始めよう」では、Railsアプリケーションの基であるCRUDのソースコードを読解しました。最低限の基の動きということで、ディレクトリ構造の説明すら割愛していたので、今回はディレクトリ構造の解説から行います。その後、今回のメインテーマであるテストコードのコードリーディングに入っていきます。 ここで扱うテストコードというのは、Javaの世界でいうとJUnitを使ったテストコードと同じ粒度、つまり、単体テストに近い粒度のテストケースを動くプログラムで表したものになります。Javaの開発者にとってのJ

    RSpecを使ったテストコードを読もう
  • GaucheでRDBプログラミング

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 皆さま、明けましておめでとうございます。年もよろしくお願いいたします。 さて、今回はGaucheを使って、より大きなプログラムを書いていきます。Lispプログラミングの例題として、パズルのような難しいアルゴリズムを使ったプログラムもありますが、多くの読者の方はリレーショナルデータベース(RDB)をベースにしたWebアプリケーションを作られていると思います。 そこで、今回と次回でWebアプリを書いてみたいと思います。今回はRDBプログラミングを中心に学んでいきます。 Gaucheのデータ型とオブジェクトシステム 今回の主題であるWebプログラミングに入る前に、少しGaucheの基的な事柄について学んでおきます。 GaucheはLispであり、関数が主

    GaucheでRDBプログラミング
  • @IT:連載 役に立つXMLツール集(3) Castorでデータバインディングに挑戦しよう

    XMLプログラミングでは、DOMやSAXといったAPIを使用すると単調なコードを繰り返し書くことになり生産性が上がらないものだ。連載では開発者が“楽をする”ために役立つXML関連ツールを紹介していく。(編集局) 前回のJAXBに引き続き、XMLモデルからオブジェクトモデルへのマッピングを行う、データバインディングツールを紹介します。今回、取り上げるのはCastorです。 CastorはExolab Groupが開発したオープンソースのデータバインディングツールで、無償で利用できます。この分野では最もよく使われているツールといえるでしょう。また、CastorはXML-オブジェクト間のマッピングだけではなく、SQLLDAPとオブジェクトのマッピングにも対応しています。今回の記事ではSQL/LADPは取り上げませんが、このようなところまでカバーしている多機能な点も人気の一因のようです。 現在

  • @IT:連載 役に立つXMLツール集(4) Relaxerでデータバインディングに挑戦しよう

    XMLプログラミングでは、DOMやSAXといったAPIを使用すると単調なコードを繰り返し書くことになり生産性が上がらないものだ。連載では開発者が“楽をする”ために役立つXML関連ツールを紹介していく。(編集局) 前回のCastorはいかがだったでしょうか。数あるツールのほとんどが輸入モノという昨今ですが、今回取り上げるデータバインディングツールは日発の技術、Relaxerです。 Relaxerは浅海智晴氏が開発したデータバインディングツールで、前回のCastor同様、オープンソース、無償で利用できるツールです。日発のツールなので、日語の資料や情報が充実していて、わざわざ英語のドキュメントを読む必要はありません。例えば、@ITにも「Relaxerで実現するJava開発の新プロセス」という、開発者である浅海氏の記事がありますが、このほか、メーリングリストや書籍、技術資料なども日語で大

  • Haskellプログラミングの楽しみ方 − @IT

    第1回 Haskellプログラミングの楽しみ方 山下 伸夫 株式会社タイムインターメディア 2008/10/29 関数型言語に分類されるHaskell。C言語などの手続き型言語とまったく異なるプログラミングの世界に踏み出してみよう(編集部) 連載は、Haskellプログラミングの初歩から始めて、日常的なスクリプティングやWebプログラミングをHaskellで楽しめるようになるまでのガイドである。 Haskellプログラミングのスタイル Haskellプログラミングに興味はある人でも、Haskellプログラミングの習得にはちょっとした障壁を感じることがあるのは間違いないようだ。小難しい概念や用語のせいでもあるが、それらはあまり重大な理由ではない。 障壁となるのはHaskellのプログラミングスタイルである。Haskellのプログラミングスタイルは関数プログラミングという系統に属する。一方、

  • Chromeはなぜ速いのか - @IT

    Chromeの動作が圧倒的に速いように感じている。Chromeがリリースされた当初、それがなぜなのかよく分からなかった。グーグルだけにできて、ほかのWebブラウザ開発者にできないことなどあるように思えないが、それにしてはあまりに速いように感じたからだ。 その疑問のほとんどは、Chromeのオープンソースプロジェクト版「Chromium」の公式ブログの解説で氷解した。ブログを読んで分かったのはグーグルエンジニアたちが信じられないほどのスピード狂であることと、そのスピードへのこだわりには2種類の“スピード”があることだ。 1つは処理速度、もう1つは応答速度だ。特に後者、ユーザーをできるだけ待たせない、イラつかせないということに対する徹底したこだわりは、すさまじい。その背後には「スピードとは、つまりお金だ」という洞察があるようだ。 0.5秒の遅延でユーザー離れ グーグル創業約1年後の1999年

  • Gaucheでプログラミング

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 今回は、Gaucheを初めて使ってみようという方に向けて、Gaucheのインストールと、簡単なプログラムを題材に、どうやってGauche(Lisp)流のプログラムを書いていくかを取り上げてみます。 Gaucheのインストール GaucheはApacheやRubyと同様にオープンソースのソフトウェアですので、自分でダウンロードしインストールする必要があります。 GaucheのWebサイトのダウンロードページから最新のソースを取得できます。現在のところサポートされているOSはUNIX系が中心で、Windowsではすべての機能を使うことができません。この連載でも、Mac OS Xを含むUNIX系のOSで動かす前提で進めていきます。 Gaucheのインストール

    Gaucheでプログラミング
  • ちょっと変わったLisp入門 - @IT

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 「Gaucheでメタプログラミング」と題して、これからGaucheを使ったプログラミングの連載を書かせていただきます吉田裕美です。よろしくお願いいたします。 Gaucheとは 今回の連載で取り上げるGaucheはハワイ在住の日ハッカー、川合史朗さんが作った、Lispの一種であるSchemeのオープンソース処理系です。 Gaucheの特徴は、PerlRubyのように気軽に使える軽い処理系だということです。Perl同様に正規表現や文字列操作が行え、ちょっとしたツールの作成にも使えます。しかし、非常に強力なCommon Lisp風オブジェクトシステムを持ち、Lispならではのマクロに加え、Webやグラフィックスなどの豊富なライブラリも持っているので実用

    ちょっと変わったLisp入門 - @IT
  • プログラミングは人生だ――まつもとゆきひろ ― @IT

    私がプログラミングを始めたのは中学校3年生のときでした。父が買ってきたシャープのポケットコンピュータ(PC-1210)でBASICを使うようになったのです。わずか400ステップしか入力できない小さなコンピュータでしたが、それでも自分の命令したとおりに動作するポケコンを見ていると、自分にはなんでもできるようなそんな「万能感」を感じさせてくれました。 それから四半世紀以上たちましたが、私がプログラミングから感じる「わくわく」は少しも減ることはありません。むしろ、どんどん増えているように感じます。長いプログラム経験を踏まえて、いま、感じるのは、 プログラミングは人生だ ということです。プログラムには人生のあらゆる側面が詰め込まれています。文字どおり、人生そのものといってもいい過ぎではないでしょう。……うーん、やっぱり、いい過ぎかな。 プログラミングはスポーツだ 皆さんの多くは若いときにスポーツに

  • 「eclipseで出た警告について」(1) Java Solution - @IT

    IT 会議室 Indexリンク Windows Server Insider Insider.NET System Insider XML & SOA Linux Square Master of IP Network Java Solution Security & Trust Database Expert RFID+IC リッチクライアント & 帳票 Server & Storage Coding Edge @ITクラブ Cafe VB業務アプリケーション開発研究 @IT SpecialPR