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

  • いまさら聞けない「Javadoc」と「アノテーション」入門

    いまさら聞けない「Javadoc」と「アノテーション」入門:【改訂版】Eclipseではじめるプログラミング(22)(1/4 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipseとJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります 注釈とコメントで開発しやすくしよう 開発者がソースコードにコメントを自由に記述すると、統一性がなくなり、同じ内容をさまざまな表現で書いてしまいます。これを防ぎ、重要な情報について統一的な表現で記述したいときは、「アノテーション(annotation、注釈)」を使うことを検討してみましょう。 Javaではアノテーションをプログラムのソースコードへプログラムのメタデータとして記述できます。また、プログラムにア

    いまさら聞けない「Javadoc」と「アノテーション」入門
    takaken1123
    takaken1123 2016/07/07
    [2016-07-07 10:28]
  • Scalaのパッケージ、アクセス修飾子、オブジェクト継承

    前回のおさらいと今回の内容 前回の記事「Scalaのクラスとオブジェクト、パターンマッチ」では、Scalaのクラス/オブジェクトの基礎を紹介しました。今回はそれらの知識を踏まえ、Scalaにおけるパッケージの扱い方を紹介し、その後オブジェクトの継承とそれに付随するいろいろな機能を紹介します。 なお、記事ではオブジェクト指向自体やクラス、継承の概念、それらに関連した基的な事柄は詳細に説明しません。 オブジェクト志向の基礎を確認したい方は、以下の記事などをご覧ください。

    Scalaのパッケージ、アクセス修飾子、オブジェクト継承
    takaken1123
    takaken1123 2016/07/04
    [2016-07-04 12:22]
  • Scalaの抽象型と暗黙の型変換/引数、パラメータ制約

    Scalaの抽象型と暗黙の型変換/引数、パラメータ制約:スケーラブルで関数型でオブジェクト指向なScala入門(9)(2/3 ページ) 暗黙の型変換の基ルール ここで暗黙の型変換の基ルールを説明します。 implicitが付与された定義のみ、暗黙の型変換に使用される 変換用関数にimplicitキーワードが付与されていなければ、暗黙の型変換でその関数が使用されることはありません。 暗黙型変換は単一の識別子としてスコープ内にあること implicit関数が定義されていたとしても、それがスコープ内になければ適用されることはありません。 例えば、上記dateToString関数がどこかの別パッケージや別オブジェクト内に定義されている場合、単一の識別子(dateToString)として使えないので、そのままでは適用されません。そういった場合はimportで単一の識別子として使用できるようにする

    Scalaの抽象型と暗黙の型変換/引数、パラメータ制約
    takaken1123
    takaken1123 2016/07/04
    [2016-07-04 11:59]
  • まずはここから! 基本的なSELECT文から始めよう

    まずはここから! 基的なSELECT文から始めよう:Webブラウザで気軽に学ぶ実践SQL講座(3) 前回は、SQLの実験環境であるOracle Application Express(APEX)を使う準備をしました。今回からいよいよSQLの解説に入ります。最初に解説するのはSELECT文です。簡単なようで奥が深いので、心してかかってください。(編集部)

    まずはここから! 基本的なSELECT文から始めよう
    takaken1123
    takaken1123 2016/07/01
    [2016-07-01 23:36]
  • Dockerfileとdocker buildコマンドでDockerイメージの作成

    前回の「ついに1.0がリリース! Dockerのインストールと主なコマンドの使い方」では、Docker EngineのインストールからDockerコンテナーを作成し、Dockerイメージに保存するところまでを紹介しました。 Dockerは開発のスピードが速く、7月3日にはバージョン1.1.0がリリースされています。詳細はブログ「ANNOUNCING DOCKER 1.1.0」を参照してください。 今回は、Dockerコンテナーの構成とDockerイメージの作成を一括で行う、「Dockerfile」ファイルと「docker build」コマンドの利用方法を紹介します。 docker run/docker commitコマンドによるコンテナー作成の限界 前回はDockerコンテナーを「docker run」コマンドで起動し、コンテナー内でソフトウェアのインストールやサービス起動など自由に構成で

    Dockerfileとdocker buildコマンドでDockerイメージの作成
    takaken1123
    takaken1123 2016/06/25
    [2016-06-25 18:42]
  • 「OAuth」の基本動作を知る

    いまWebの世界では、さまざまなWebサービスが提供するプラットフォームと、サードパーティが提供するアプリケーションがAPIを中心に結び付き、一種の「APIエコノミー」を形成しています。この連載では、そこで重要な役割を果たす「デジタル・アイデンティティ」について理解を深めていきます。(編集部) (2/2)

    「OAuth」の基本動作を知る
    takaken1123
    takaken1123 2016/06/25
    [2016-06-25 0:44]
  • Scalaのトレイトでプログラマをミックスインしてやんよ

    トレイトで重要な指定順序 ここで、もう1つトレイトを重ねてみましょう。仕事を半分の時間で終わらせることができる、Agilerトレイトを定義してみます。 trait Agiler extends Engineer{ println("trait Agiler constructor") abstract override def work(time:Int) = { println("Agiler#work start") super.work(time / 2) println("Agiler#work end") } } scala> val p = new Person with Programmer with Agiler class Engineer constructor class Person constructor trait Programmer constructor

    Scalaのトレイトでプログラマをミックスインしてやんよ
    takaken1123
    takaken1123 2016/06/25
    [2016-06-25 0:44]
  • 5分で絶対に分かるOpenFlow

    0分 - ソフトウェアでネットワークをプログラミング! 今までコンピュータのネットワークは、どちらかといえば“静的な”存在でした。組織変更や新しいサービスの投入に合わせてネットワーク構成の変更が必要な場合には、ネットワーク管理者が関連する機器それぞれの設定変更をマニュアル操作で行っていました。 しかし、サーバ仮想化やクラウドの登場により、現在はこうした静的なネットワークの在り方が根から見直されてきています。 例えば、サーバ仮想化のおかげで、何台ものサーバが突如としてネットワーク上に現れたり、「ライブマイグレーション」によって、突然サーバがネットワークのある部分から別の部分へ移動したりといったことが起きるようになりました。ネットワークも、これらに適応した柔軟かつ迅速な構成変更が求められるようになっています。 あるいは、クラウドの登場によって、1つのデータセンター内で複数の顧客の通信をそれぞ

    5分で絶対に分かるOpenFlow
    takaken1123
    takaken1123 2016/06/15
    [2016-06-15 20:31]
  • SDNの基本動作とアジャイルな開発が可能なSDN実装、「Trema」

    SDNの基動作とアジャイルな開発が可能なSDN実装、「Trema」:TremaでSDNを手のひらに(1)(1/2 ページ) IT関連イベントや勉強会などで注目を浴びたSDN/OpenFlow。この記事では「Trema」を例に、自分の手で実際にOpenFlowを「いじってみる」のに必要な情報を解説していきます。 SDN/OpenFlowとはどんなモノか IT関連イベントや勉強会などで万能の釜(聖杯)のように語られ、注目を浴びたSDN/OpenFlow(もっとも近頃では、日でのSDN/OpenFlow注目度のカオスさは収まり、落ち着きが出てきましたが)。いったいSDN/OpenFlowとはどんなモノなのでしょうか。 「SDN/OpenFlow」と記載していますが、まずはSDNとOpenFlowを分けて紹介していきます。 SDNとはざっくり言うと、「ソフトウェアからネットワークを制御しよう」

    SDNの基本動作とアジャイルな開発が可能なSDN実装、「Trema」
    takaken1123
    takaken1123 2016/06/15
    [2016-06-15 20:31]
  • 1台のPCでできるOpenFlow開発環境

    今回は、実際にTremaの環境を導入し、リピータハブとして動作する簡単なOpenFlowコントローラを作成する方法を紹介します。 前回「SDNの基動作とアジャイルな開発が可能なSDN実装、『Trema』」ではSDN/OpenFlowの概要と、OpenFlowのプログラミングフレームワーク「Trema」の特徴を中心に紹介しました。今回は、実際にTremaを利用し、簡単なOpenFlowコントローラを作成する方法を紹介します。 1台のPCでできるOpenFlow開発環境 これから「アジャイルなOpenFlowプログラミングフレームワーク環境」を、種も仕掛けもないPC1台だけで当に開発してみます。 まず初めに、PCを1台用意してください。もちろん、普段利用しているPCでも構いません。Tremaを動作させるOSはLinuxですが、用意できるPCWindowsマシンならば仮想PC環境(VMwa

    1台のPCでできるOpenFlow開発環境
    takaken1123
    takaken1123 2016/06/15
    [2016-06-15 20:31]
  • 「クラウド、HTTP/2、常時TLS時代に最適化されたHTTPサーバーを目指す」:Nginxより高速、HTTP/2サーバー「H2O」 - @IT

    Nginxより高速、HTTP/2サーバー「H2O」:「クラウド、HTTP/2、常時TLS時代に最適化されたHTTPサーバーを目指す」 「クラウド、HTTP/2、常時TLS時代に最適化されたHTTPサーバーを目指す」というHTTPサーバーのバージョン1.6がリリースされた。前バージョンのベンチマークではNginxより性能が高い場面も見受けられる。 HTTP/2サーバー「H2O」のバージョン1.6が2015年12月4日にリリースされた。 H2Oは現在ディー・エヌ・エーに勤める奥一穂氏を中心に、2014年から開発されているWebサーバー。プロジェクトの目的として、「クラウド、HTTP/2、常時TLS時代に最適化されたHTTPサーバーを目指す」としている。H2OはMITライセンスを採用したオープンソースプロダクトで、ソースコードはGitHubで公開されている。 H2Oは、HTTP/1.0、1.1に

    「クラウド、HTTP/2、常時TLS時代に最適化されたHTTPサーバーを目指す」:Nginxより高速、HTTP/2サーバー「H2O」 - @IT
    takaken1123
    takaken1123 2016/06/12
    [2016-06-12 16:33]
  • Gitter(ギッター)の使い方(2):チャット編

    連載目次 「GitHub(ギットハブ)」と連携して使えるチャットツール「Gitter」のトリセツ、今回はチャット機能の使い方を解説します。 Gitterはシンプルに「チャット機能」だけを追究したWebサービスです。どこをクリックすればよいのか悩むことなく、直感的に使えます。まさにGitterが掲げる「Talk smarter(会話をスマートに)」ですね!

    Gitter(ギッター)の使い方(2):チャット編
    takaken1123
    takaken1123 2016/06/09
    [2016-06-09 16:03]
  • 基本的なパターンマッチとScalaで重要な“関数”

    的なパターンマッチとScalaで重要な“関数”:スケーラブルで関数型でオブジェクト指向なScala入門(4)(1/3 ページ) 前回のおさらいと今回の内容 前回の記事「Scalaの基的なコレクション4タイプと制御構文・例外」では、Scalaのコレクションクラスの基的な使い方、条件分岐や繰り返しなどの制御構文やScalaで例外を扱う方法を紹介しました。 今回は、まず前回紹介しきれなかった「パターンマッチ」から紹介し、次にScalaの重要な機能である「関数」を紹介します。 第1回記事では、Scala標準のREPLとScala IDEで動作を確認してみました。今後記事のサンプルコードは、どちらで確認しても問題はありませんが、対話的に実行でき、1文ごとにコードの結果が分かって便利なので、基的にはREPLを用いて説明していきます。 Scala IDEを使用する場合、第1回記事の『Scal

    基本的なパターンマッチとScalaで重要な“関数”
    takaken1123
    takaken1123 2016/06/09
    [2016-06-09 4:05]
  • Scalaのクラスとオブジェクト、パターンマッチ

    補助コンストラクタと「this」キーワード クラスに複数のコンストラクタを定義しなければならない場合もありますが、そのような場合、「補助コンストラクタ」を定義できます。補助コンストラクタの構文は、以下のようにします。

    Scalaのクラスとオブジェクト、パターンマッチ
    takaken1123
    takaken1123 2016/06/07
    [2016-06-07 18:49]
  • Scalaのクラスとオブジェクト、パターンマッチ

    Scalaのクラスとオブジェクト、パターンマッチ:スケーラブルで関数型でオブジェクト指向なScala入門(5)(3/3 ページ) オブジェクトのパターンマッチと抽出子「unapply」メソッド 連載第4回の「基的なパターンマッチとScalaで重要な“関数”」では、複数の選択肢から1つを選ばせるパターンマッチを紹介しました。そのときは文字列や数値など、基的なパターンマッチの紹介でしたが、オブジェクトに対してもパターンマッチができます。 「Option」型とは オブジェクトのパターンマッチを紹介する前に、「Option」クラスと、そのサブクラスである「Some」クラスと「None」クラスについて説明します。 Javaの場合、オブジェクトの参照先がない場合には変数に「null」を代入します(Rubyの場合は「nil」)。nullはオブジェクトではないので、nullに対してメソッドを呼び出そう

    Scalaのクラスとオブジェクト、パターンマッチ
    takaken1123
    takaken1123 2016/06/07
    [2016-06-07 18:49]
  • Scalaのトレイトでプログラマをミックスインしてやんよ

    前回のおさらいと今回の内容 前回の記事「Scalaのパッケージ、アクセス修飾子、オブジェクト継承」では、オブジェクト指向言語ではとても重要な機能であるクラスの継承と、Scalaのパッケージについて紹介しました。今回は、Scalaのオブジェクト指向を構成するもう1つの重要な機能、「トレイト」を紹介します。 なお、記事ではオブジェクト指向自体やクラスやインターフェイス、継承の概念、それらに関連した基的な事柄について詳細な説明は行いません。 オブジェクト指向の基礎やインターフェイスについて確認したい方は、以下の記事をご覧ください。 第1回記事では、Scala標準のREPLとScala IDEで動作を確認してみました。今後記事のサンプルコードは、どちらで確認しても問題はありませんが、対話的に実行でき、1文ごとにコードの結果が分かって便利なので、基的にはREPLを用いて説明していきます。 S

    Scalaのトレイトでプログラマをミックスインしてやんよ
    takaken1123
    takaken1123 2016/06/07
    [2016-06-07 18:49]
  • Scalaの基本的なコレクション4タイプと制御構文・例外

    Scalaの基的なコレクション4タイプと制御構文・例外:スケーラブルで関数型でオブジェクト指向なScala入門(3)(1/2 ページ) 基構文は、まだまだある 前回の記事「Scalaプログラミングで知っておきたい基構文まとめ」では、Scalaの構文ルール、基データ型と配列型の使い方、さらに演算子について紹介しました。今回はScalaのコレクションクラスの基的な使い方、条件分岐や繰り返しなどの制御構文やScalaでの例外の扱い方について紹介します。 第1回記事では、Scala標準のREPLとScala IDEで動作を確認してみました。今後記事のサンプルコードは、どちらで確認しても問題はありませんが、対話的に実行でき、1文ごとにコードの結果が分かって便利なので、基的にはREPLを用いて説明していきます。 Scala IDEを使用する場合、第1回記事の『Scala IDE for

    Scalaの基本的なコレクション4タイプと制御構文・例外
    takaken1123
    takaken1123 2016/06/07
    [2016-06-07 9:09]
  • 「コンテナ、SDN、NFVは要素」、ジュニパーが2016年のInteropで見せる新発想

    2016年6月8~10日に、千葉・幕張メッセで開催される「Interop Tokyo 2016」。ジュニパーネットワークスの展示する全ての製品は、今のネットワーク、セキュリティに求められる新発想を具現化したものだ。 Interop Tokyo 2016のテーマは「THINK OUT OF THE BOX」、つまり既成概念にとらわれず、新しい発想をするということだ。ジュニパーネットワークスは、まさに新発想のネットワークを実現する多数の製品群をInterop Tokyo 2016で披露する。 キーワードの一つは「コンテナ」だ。データセンターにおいて進むコンテナ技術の利用を支えるネットワーク機能、そしてコンテナで動くセキュリティ機能の双方で、同社は新しい取り組みをしている。 セキュリティ機能をコンテナで動かせる「cSRX」 セキュリティでまず注目されるのは、2016年4月下旬に米国で発表されたば

    「コンテナ、SDN、NFVは要素」、ジュニパーが2016年のInteropで見せる新発想
    takaken1123
    takaken1123 2016/06/05
    [2016-06-05 16:19]
  • 5分で絶対に分かるSDN

    サーバやストレージ分野における仮想化技術の普及にともない、長らく「物理的な箱」の形で構築されてきたネットワークにも、新しい変化が起ころうとしています。この記事ではそのキーワード「SDN(Software Defined Network)」について分かりやすく説明します。 サーバやストレージ分野における仮想化技術の普及にともない、長らく「物理的な箱」の形で構築されてきたネットワークにも、新しい変化が起ころうとしています。この記事ではそのキーワード「SDN(Software Defined Network)」について分かりやすく説明します。 1分-サーバやストレージは仮想化するのに、ネットワークはそのまま? 最近、「SDN(Software Defined Network)」というキーワードをよく目にするようになった。先駆的なベンダや調査機関などからは、「2013年がSDN市場元年となる」とい

    5分で絶対に分かるSDN
    takaken1123
    takaken1123 2016/06/05
    [2016-06-05 16:19]
  • 5分で絶対に分かるデスクトップ仮想化/VDI入門

    1分――デスクトップ仮想化/VDIの概要と歴史 デスクトップ仮想化とは、クライアントPCデスクトップ環境をサーバー上で稼働させる仕組みです。「クライアント仮想化」や「VDI(Virtual Desktop Infrastructure)」と呼ばれることもあります。 デスクトップ仮想化を使うと、クライアントPCの環境を別のPCやタブレット端末に映し出せるので、いつでもどこでもデスクトップ環境を実行できる利便性の高さに注目が集まっています。 デスクトップ仮想化技術は2008年ごろから存在していますが、近年この技術を支えるサーバー/ネットワークの技術が大幅に進展したことにより、投資対効果の高い技術として急速に普及しています。 シンクライアントとデスクトップ仮想化の違い デスクトップ仮想化が登場する以前のシンクライアントは、Windows Serverの標準機能を利用したターミナルサービス方式が

    5分で絶対に分かるデスクトップ仮想化/VDI入門
    takaken1123
    takaken1123 2016/06/05
    [2016-06-05 16:19]