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

  • いまさらアルゴリズムを学ぶ意味

    いまさらアルゴリズムを学ぶ意味:コーディングに役立つ! アルゴリズムの基(1)(1/3 ページ) 連載ではアルゴリズムを学ぶ、または学び直すことで、プログラミングのスキルを深めていきます。アルゴリズムは学問として取り扱われることが多いですが、この連載では開発の現場に役立つスキルを身に付けることを目的とします。初回は、アルゴリズムを学ぶ意義について。コンピュータに「3の倍数と3の付く数字」を判断させるにはどうしたらいいか。発想力を鍛えよう。 アルゴリズムを学ぶ意味 IT技術者である読者の皆さんなら、普段から何げなく「アルゴリズム」という言葉はよく使っていることでしょう。しかしあらためて「『アルゴリズム』とは何か」と問われて、すぐに明快に答えられるでしょうか。 また、IT技術者であってもアルゴリズムをきちんと勉強した人は意外と多くないのではないでしょうか。大学で学んだとか、入社後の新人研修

    いまさらアルゴリズムを学ぶ意味
  • ITちゃんのゲームをScratchで作りWeb上で共有しよう(1/4) - @IT

    マウスだけでもプログラミングできる!(終) - GUIベースの環境でプログラミングを始めよう - ITちゃんのゲームScratchで作り Web上で共有しよう 鳥人間 郷田まり子 2009/11/5 「枕投げ」ゲームを作りJavaアプレットとして書き出してコミュニティサイトで共有させよう。フィジカルコンピューティングへの広がりも 「ITちゃん」の「枕投げゲーム」を動かしてみよう 第1回の「非プログラマのためのプログラミング講座」と 前回の「Scratchプログラミングの二歩目、自由な動きを付ける」で、GUI(グラフィカル・ユーザーインターフェイス)とマウスだけでプログラミングができるソフトウェア「Scratch」の基礎と、さまざまな構文や変数の使い方、さらにはマウスやキーボードを用いたユーザーとの対話の手法などを扱いました。 最終回の今回は、これまでの内容を基に、簡単なゲームを実際に作り

  • Scratchプログラミングの二歩目、自由な動きを付ける(1/2) - @IT

    鳥人間 郷田まり子 2009/10/7 キーボードやマウスなどによるユーザーの動作に反応してみたり、さらには変数を使用して、プログラミングの自由度を上げていこう 前回「非プログラマのためのプログラミング講座」は、グラフィカルなプログラミング環境「Scratch」をインストールし、プログラミングの第一歩を体験し、さらに、繰り返し処理を行うための制御ブロックを使用してみたところです。 今回は、キーボードやマウスなどによるユーザーの動作に反応してみたり、さらには変数を使用してデータをスマートに扱ったりしながら、プログラミングの自由度を格段に上げていきます。 キーボード・マウス処理でインタラクティブに ユーザーの入力に対して相応の処理を行うことで、対話的(インタラクティブ)なプログラムを作ることができます。scratch では、「キーが押された」「マウスのボタンが押された」「スプライトがクリックさ

  • 非プログラマのためのプログラミング講座 - @IT

    鳥人間 郷田まり子 2009/9/10 非プログラマのためのプログラミング講座。MITが作った「Scratch」を使って、ねとらぼITちゃんに枕投げをさせるまでを解説する ITちゃんに枕投げの相手をしてもらうまで 「プログラミング」というと、皆さんはどのようなイメージをお持ちでしょうか。 便利そうだけど専門知識が必要なうえに英語だらけで、自分には無理。そう思われている方は下の図を見てください。 これはイギリスの小学生が、今回解説する「Scratch」というソフトで作った、立派な「目覚ましプログラム」です。 この短いプログラムには、どのプログラムにも共通する基礎が詰まっているのですが、全く予備知識のない方でも、これがどのような機能を持つか大体見当がつくと思います。 プログラムの基礎を理解し、コンピュータをより自由に操れるようになるということは、すべての人にとってとても大きな力となります。絵

  • これだけは知っておきたいアルゴリズム〜ハッシュ関数・公開鍵暗号・デジタル署名編 ― @IT

    これだけは知っておきたいアルゴリズム ~ハッシュ関数・公開鍵暗号・デジタル署名編:デファクトスタンダード暗号技術の大移行(4)(1/3 ページ) 前回の共通鍵暗号の紹介に引き続き、安全性・処理性能ともに優れていると国際的に認められ、米国政府標準暗号、欧州のNESSIEや日のCRYPTREC(Cryptography Research & Evaluation Committees)での推奨暗号、ISO/IEC国際標準暗号、インターネット標準暗号などで共通して選定されているハッシュ関数・公開鍵暗号・デジタル署名について紹介する。 共通鍵暗号ではアルゴリズムそのものを代替わりさせることによって、より安全でより高速なものへと移行することが可能である。これに対して、ハッシュ関数、公開鍵暗号、デジタル署名ともに、アルゴリズムそのものを代替わりさせるというよりも、基的にはほぼ同じ構成のままハッシュ

    これだけは知っておきたいアルゴリズム〜ハッシュ関数・公開鍵暗号・デジタル署名編 ― @IT
  • Coding Edge ― @IT

  • EclipseでJavaに強くなる

    EclipseでJavaのスキルを高めよう EclipseでJavaに強くなる(1) All-In-One Eclipseを使って入出力、例外、型、文字、ファイル操作などのJavaプログラミングの基スキルを高めていこう

    ocmagic
    ocmagic 2009/02/10
  • Cocoaの素、Objective-Cを知ろう - @IT

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

  • Sambaのユーザー認証とファイルアクセス権の設定

    連載は、Linux 認定試験 LPICに対応しています。一般的なLinuxユーザーレベルのトピックは省略し、システム管理とサーバ管理の内容を取り上げています。また、LPIC対策だけでなく、関連するトピックについて系統的な理解を問う問題も出題しています。連載の特徴は、対象となるプログラムのバージョンを可能な限り明記していること、比較的新しくまとまった解説がまだ少ないトピック、重要だが理解しにくいトピックを優先して取り上げていることです。問題を解き、その解説を読むことにより実践でLinuxを活用できる力を身に付けます。

    Sambaのユーザー認証とファイルアクセス権の設定
  • Firebugで探索アルゴリズムを見ていこう

    Firebugで探索アルゴリズムを見ていこう:コーディングに役立つ! アルゴリズムの基(6)(1/4 ページ) プログラマたるものアルゴリズムとデータ構造は知っていて当然の知識です。しかし、教科書的な知識しか知らなくて、実践的なプログラミングに役立てることができるでしょうか(編集部) 今回紹介するのは探索のアルゴリズムです。探索もアルゴリズムのテーマとしてはメジャーなもので、とても重要な用語や考え方が出てきます。 あるデータの集合があったとします。それぞれのデータには、個々を識別するためのIDが付いています。このIDをキーと呼びます。このキーに対応するデータを探すのが探索です。 データベースを知っている方なら主キーで検索する動作だと思ってください。例えば、商品のリストがあり、それぞれの商品に商品コードが付いています。商品コード「7100」に対応する商品データ「トマト」を検索するプログラム

    Firebugで探索アルゴリズムを見ていこう
  • @いう間にWebアプリを作れる「Struts 2」入門 (1/3) - @IT

    【特集】Strutsは“2”を使えば、サルでも幸せに ヤスダネットワーク 関川 晶子 2009/1/8 Strutsに“2”が存在することを知ってましたか? Strutsフレームワークの登場により、JavaによるWebアプリケーション開発は飛躍的に成長しました。いまでは、さまざまなフレームワークが存在しています。日発のフレームワークSeaserやサン・マイクロシステムズのJSFなどが有名です。 その中に、「Struts 2」というフレームワークが存在することをご存じの方は多いでしょう。ところが、日語の情報源がとても少ないのが現実です。その結果、なかなか日でブレイクするキッカケをつかめずにいます。 いまでも、多くの現場で使われているStrutsは、2001年に登場しました。来Strutsが目指したものは、メンテナンス性に優れた、チーム開発に適した土台を提供することにありました。その結

  • 連載記事 「Strutsを使うWebアプリケーション構築術」

    Strutsプログラミングの準備 Strtusを使うWebアプリケーション構築術(1) ステップ・バイ・ステップの解説で誰にも分かるStruts講座。効率の高いWebアプリケーション開発をマスターしよう

  • Javaプログラムからプロパティファイルを参照する

    Javaでは、定数やファイルパスなどの情報を「プロパティファイル」と呼ばれる、プログラムとは別のファイルにまとめておくことが推奨されています。こうすることで、汎用性の高いプログラムを作成できます。さらに、プロパティファイルを修正するだけで、再コンパイルをしなくても値の変更を反映させることができるので便利です。 プロパティファイルは「.properties」という拡張子を持つファイルで、キーと値のペアを「=」または「:」で区切った形式で記述します。また、行頭が「#」または「!」で始まる行は、コメント行として扱われます。以下は、円周率の値などを定義したサンプルのプロパティファイル「calculator.properties」です。 プロパティファイルを使用するには、JavaのコアAPIとして用意されているjava.util.Propertiesクラスを利用します。このPropertiesクラス

    Javaプログラムからプロパティファイルを参照する
    ocmagic
    ocmagic 2008/12/24
  • djUnit @IT:CoolなEclipseプラグイン(2)

    2.djUnit ソフトウェア開発において、テストを行う際に、テストがきちんと行われているかどうか検証する必要があります。テストの検証を行わないと、テスト漏れによりバグが発見できず、システム運用時に思わぬ不具合を引き起こす可能性があります。 そこで、テストの検証を行う手段として、カバレッジがあります。カバレッジはコード中のテストにより実行されたコード、もしくは、分岐の網羅性のことであり、カバレッジが100%であれば、すべてのコードがテストにより実行されたことになります。カバレッジを用いることにより、テストによりアプリケーションのコードが漏れなく実行されているかどうか確認することでテストの網羅性を検証することができます。また、テストによって実行されなかったコードを調査することにより、テスト漏れの原因を解析することもできます。djUnitを利用すると、JUnitで作成したテストのカバレッジを簡

    djUnit @IT:CoolなEclipseプラグイン(2)
    ocmagic
    ocmagic 2008/12/21
  • 【新人なるプログラマーへ】ソースコードを読みましょう

    教育界、技術者コミュニティでJava言語の教育と啓蒙に長年携わってきた筆者が、独自の視点からJavaの面白さを掘り下げていく。(編集部) 新しい年度になって、もうじき新人の皆さんが現場に行く時期になってきました。大きな会社であれば、新人研修があって、その後に配属となりますから、実際に現場で活躍するようになるまでには、まだまだ時間があるかもしれませんが、小さな会社であれば即戦力として期待され、早速開発に参加することになるのではないでしょうか。 ということで、今回は新人の皆さん向けに、プログラミング技術上達の方法として、「ソースコードを読むこと」について語ってみたいと思います。 ソースコードを読むのって、どんなとき? 新人の皆さんは、「ソースコードを読もう!」といわれたときに、どういうことを想像するでしょうか。「プログラムの参考書などを購入して、そこに掲載されているサンプルのソ−スコードを読む

    【新人なるプログラマーへ】ソースコードを読みましょう
  • Google Android用携帯アプリ作成のための基礎知識 (1/5) - @IT

    Android”って何? 人造人間のこと? Androidは、Googleが発表した携帯電話のプラットフォームです。発表と同時にいろいろな媒体で紹介されましたから、ご存じの方も多いことでしょう。まだ、ご存じでない方は、ニュース記事「グーグルが「アンドロイド」SDK公開——動画デモも〜エミュレータも提供〜」が参考になるでしょう。 Linux 2.6カーネルをベースとしていて、アプリケーションの開発にはJavaを使うことができます。早速、SDK(ソフトウェア開発キット)をダウンロードして試用してみました。 携帯電話アプリ向けのJava MEとの互換性がない ところで、携帯電話などで動作するアプリケーション向けのJava Platformといえば、SunのJava ME(Java Platform, Micro Edition)があるわけですが、Androidで動作するJavaアプリケーション

    Google Android用携帯アプリ作成のための基礎知識 (1/5) - @IT
  • @IT:連載 Strutsを使うWebアプリケーション構築術(1)

    アプリケーション・フレームワーク「Struts」 昨今、とみに「フレームワーク・プログラミング」という言葉が取りざたされることが多くなってきました。そして、稿のテーマでもあるStrutsもまた、「サーバサイドJava」――サーブレットベースで動作する「アプリケーション・フレームワーク」の一種です。 Strutsプログラミングの具体的な手続きを紹介していくに先立って、まずはこのアプリケーション・フレームワークとしてのStrutsについて、簡単に解説しておくことにしましょう。 ■アプリケーションの枠組み フレームワーク、それはアプリケーションを構築するうえでの「枠組み」であり、「ルール」であり、(語弊を恐れずにいえば)「制限」です。 昨今、アプリケーション構築におけるチーム開発の重要性がますますクローズアップされています。アプリケーションがますます大規模化し、また、基幹システムの一角をも担う

    @IT:連載 Strutsを使うWebアプリケーション構築術(1)
    ocmagic
    ocmagic 2008/12/03
  • Objective-Cは特殊な言語? - @IT

    Objective-Cは特殊な言語?:Cocoaの素、Objective-Cを知ろう(1)(1/2 ページ) iPhone用アプリケーション開発で注目を集める言語「Objective-C」。C++とは異なるC言語の拡張を目指したこの言語の基を理解しよう(編集部) 唐突ですが、皆さんは新たに1つのプログラミング言語を修得しようと思い立ったとき、最初に何をしますか。その言語の入門用サイトを見て回る、関連書籍を立ち読みする、サンプルを入手して取りあえず動かしてみる、といったところでしょうか。ちなみに私は書籍が好きで、しかも立ち読みではなく購入派です。 いずれにしても、まずはその言語のコードを目で見て、「いったいどんな言語なのか」というイメージをつかむのが最初の一歩となるでしょう。何かしらのプログラミング経験がある人なら、コードを眺めて、「ああ、あの言語に似ているな」とか「うわ、これはとっつきに

    Objective-Cは特殊な言語? - @IT
  • SubversionとTracでファイル管理の“迷宮”から脱出

    SubversionとTracでファイル管理の“迷宮”から脱出:ユカイ、ツーカイ、カイハツ環境!(2)(1/4 ページ) プロジェクトで修正/仕様変更が“迷宮”入りする理由 ソフトウェア開発を行ううえで、設計書やソースコードのバージョンをきちんと管理することは非常に重要です。構成管理(ファイル管理)を行っていないプロジェクトでは、例えば次のような問題が発生します。 2人以上の開発者が同時に成果物を編集した場合、後に編集を始めた開発者がすでに編集を行った開発者の編集内容を上書きしてしまう。結果として、修正したはずのバグや変更したはずの仕様が、設計書やソースコードに反映漏れするという事態が発生 設計書やソースコードのレビューを行って修正したはいいが、どこをどう修正したのか分かりにくく、レビュー内容の反映の確認を行っても修正漏れや修正誤りに気が付かない ソースコードを変更すると、動かなくなってし

    SubversionとTracでファイル管理の“迷宮”から脱出
  • 自分に自信が持てない人へ。まずは「小さな成功」から

    自分に自信が持てない人へ。まずは「小さな成功」から:心の健康を保つために(6)(2/2 ページ) セルフイメージを変えるための「心のつぶやき」 上記の過程で大きな役割を果たしているのが、「また駄目かも」「やっぱり自分は駄目なんだ」という、心の中のつぶやきです。 セルフイメージは、小さいころから親や先生に「おまえは~だね」とか「君は~だね」という言葉を掛けられることにより、「ああ、自分は~なんだ」とインプットされてつくられる部分もあります。 しかし、それだけではないのです。Sさんの心のつぶやきのように、自分が自分に語り掛ける言葉も大きな役割を果たすのです。 1人でいるときも、頭の中ではずいぶんたくさんの言葉を自分に語り掛けていると思います。どんな言葉を語り掛けるかで、その後の行動は大きく違ってくるはずです。「きっと駄目だよ」「無理だよ」と(自分に)いわれて、直後のプレゼンテーションがうまくい

    自分に自信が持てない人へ。まずは「小さな成功」から
    ocmagic
    ocmagic 2008/10/31