タグ

ブックマーク / gihyo.jp (21)

  • 2016年3月2日 安心してください、やっと死にました ─SCOがIBMと最終合意へ | gihyo.jp

    長かった法廷闘争がようやく当に幕を閉じた。2月26日(米国時間⁠)⁠、米ユタ連邦裁判所は2003年から続いていたThe SCO Group(すでに破産)とIBMの一連の係争への最終通告となる文書を公開、SCOからIBMに対する訴えのすべてを棄却するとの判決を両者が受け入れたことを発表した。2月9日にSCO側とIBMに対してなされた通告の回答期限が26日だったことを受けての発表となる。 Groklaw - SCO v. IBM 1162(PDFファイル) SCOが「IBMはSCOの知的財産(UNIXソースコード)を不当に開示して利益を上げている。GNUやLinuxはSCOの知的財産を不法に引用し、成長しようとしている」というトンデモ主張を勢いよく掲げ、SCOがユタ州の地方裁判所に最初の訴えを起こしたのが2003年3月のこと。以来、何度も「お前(SCO)の負け」という判決をつきつけられ、つい

    2016年3月2日 安心してください、やっと死にました ─SCOがIBMと最終合意へ | gihyo.jp
    naga_sawa
    naga_sawa 2016/03/02
    SCO, まだ息が残っていたのか…
  • たのしいバイナリの歩き方

    2013年8月22日紙版発売 2013年8月22日電子版発売 愛甲健二 著 A5判/320ページ 定価3,058円(体2,780円+税10%) ISBN 978-4-7741-5918-8 ただいま弊社在庫はございません。 Amazon 楽天ブックス 丸善ジュンク堂書店 ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle 楽天kobo honto このの概要 「シューティングゲームをチートから守るには?」 「リバースエンジニアリングされないためには?」 「脆弱性を見つけ,権限を奪取するには?」 普通のプログラミングだけでは意識しない低レイヤーの世界は,コンピュータを自在に操れる楽しさでいっぱい。アセンブラの読み方から最新の応用事例まで,技術と考え方が実例を通じてわかります。 こんな方におすすめ コンピュータの仕組み/低レイヤーに興味が

    たのしいバイナリの歩き方
    naga_sawa
    naga_sawa 2013/07/26
    これ買う
  • 第1回 Android Studio、そしてベースとなる「IntelliJ IDEA」とは何か? | gihyo.jp

    Android Studio最速入門~効率的にコーディングするための使い方 第1回Android Studio、そしてベースとなる「IntelliJ IDEA」とは何か? はじめに 5月15日にサンフランシスコで開催された米Google Inc.のイベント「Google I/O 2013」にて、Android向けの統合開発環境(以下、IDE)「⁠Android Studio」が発表されました。Android Studioは、今までEclipseのプラグインとして提供されてきたADT Plugin(Android Development Tools)とは異なり、新たに「IntelliJ IDEA」をベースに作り直した全く新しいIDEです。 Android Studioのニュースは瞬く間に国内外に知れ渡り、そのニュースと共にIntelliJ IDEAという言葉も多く目にしたと思います。 Int

    第1回 Android Studio、そしてベースとなる「IntelliJ IDEA」とは何か? | gihyo.jp
    naga_sawa
    naga_sawa 2013/07/15
    Android Studio解説
  • Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    Javaはどのように動くのか~図解でわかるJVMの仕組み 記事一覧 | gihyo.jp
    naga_sawa
    naga_sawa 2013/07/15
    JavaGCの動作
  • 第12回 【Trema編】動画放送局をIPマルチキャストで作ってみよう! | gihyo.jp

    はじめに グー⁠ーッモーニング、ベトナー⁠ーー⁠ーーム! 『グッドモーニング、ベトナム』(⁠バリー・レヴィンソン) 今回はOpenFlowでミニ放送局気分を味わってみましょう! 動画を配信するしくみの1つにマルチキャストがあります。これはNTT東/西の「ひかりTV」などで実際に使われているしくみで、動画などのデータを多くの視聴者に対して効率的に配信できるという特徴があります。このマルチキャストを使った動画配信をTremaで実現してみます。 観たい人にだけ届けるマルチキャスト マルチキャストを使った動画配信の動作を簡単に説明しておきましょう(図1⁠)⁠。動画ストリーミングサーバが配信を始めると、マルチキャストネットワークが視聴者全員にパケットをコピーして転送します。ここでもし、動画を観ない人も含めた全員に動画を届けてしまうと、ネットワークの負荷が非常に大きくなってしまいます。そこでマルチキャ

    第12回 【Trema編】動画放送局をIPマルチキャストで作ってみよう! | gihyo.jp
    naga_sawa
    naga_sawa 2012/10/21
    IPマルチキャスト
  • 第8回 【Trema編】いよいよ本格的なOpenFlowプログラミングに突入! トラフィック集計スイッチを作ろう | gihyo.jp

    こんな夜中にOpenFlowでネットワークをプログラミング! 第8回【Trema編】いよいよ格的なOpenFlowプログラミングに突入! トラフィック集計スイッチを作ろう はじめに 「そろそろ頃合い」セイウチは言った 「あれやこれやの積もる話」 ルイス・キャロル 「⁠不思議の国のアリス」 今回は盛りだくさんです! まずは身近な例を使って、OpenFlowの動作モデルを説明します。これが理解できれば、OpenFlowの基概念はバッチリです。次に、「⁠トラフィック集計付きスイッチ」を実現するコントローラを実際に作ります。これはOpenFlowの重要な処理をすべて含んでいるので、応用するだけでさまざまなタイプのコントローラが作れるようになります。最後に、作成したコントローラをTremaの仮想ネットワーク上で実行します。すばらしいことに、Tremaを使えば開発から動作テストまでを開発マシン1台

    第8回 【Trema編】いよいよ本格的なOpenFlowプログラミングに突入! トラフィック集計スイッチを作ろう | gihyo.jp
    naga_sawa
    naga_sawa 2012/10/21
    トラヒックカウンタ
  • 第7回 【Trema編】新シリーズ始動! OpenFlow界のRailsことTrema入門 | gihyo.jp

    はじめに 効率とは賢く怠けることである (作者不詳) 無精:エネルギーの総支出を減らすために、 多大な努力をするように、 あなたをかりたてる性質。 (Larry Wall) 優れたプログラマが持つハッカー気質のひとつに「無精」があります。大好きなコンピュータの前から一時も離れずにどうやってジャンクフードを手に入れるか――普通の人からするとただの横着に見えるかもしれませんが、ハッカー達にとってそれはいつでも大きな問題でした。たとえば、ハッカーの巣窟として有名なMITAIラボにはかつて、UNIXのコマンド一発でピザをFAX注文するxpizzaコマンドが存在しました[1]⁠。また、RFC 2325として公開されているコーヒーポットプロトコルでは、遠隔地にあるコーヒーポットのコーヒーの量を監視したり、コーヒーを自動的に淹れたりするための半分冗談のインターフェースを定義しています。 こうした「ソフ

    第7回 【Trema編】新シリーズ始動! OpenFlow界のRailsことTrema入門 | gihyo.jp
    naga_sawa
    naga_sawa 2012/10/21
    Tremaのインストール
  • 基礎から学ぶNode.js 記事一覧 | gihyo.jp

    第7回Node.jsアプリケーションをWindow Azureで動かす 高橋俊光 2012-11-27

    基礎から学ぶNode.js 記事一覧 | gihyo.jp
    naga_sawa
    naga_sawa 2012/05/28
    node.js
  • こんな夜中にOpenFlowでネットワークをプログラミング! 記事一覧 | gihyo.jp

    第12回【Trema編】動画放送局をIPマルチキャストで作ってみよう! Trema プロジェクト,高宮安仁,@yasuhito,すぎょうかずし,千葉靖伸,鈴木一哉,小出俊夫,@effy55 2012-05-16 第11回【Trema編】実践あるのみ! 生活ネットワークをOpenFlowに移行しよう Trema プロジェクト,高宮安仁,@yasuhito,すぎょうかずし,千葉靖伸,鈴木一哉,小出俊夫,@effy55 2012-04-11 第10回【Trema編】Tremaプロジェクトの深層に迫る! Trema プロジェクト,高宮安仁,@yasuhito,すぎょうかずし,千葉靖伸,鈴木一哉,小出俊夫,@effy55 2012-03-14

    こんな夜中にOpenFlowでネットワークをプログラミング! 記事一覧 | gihyo.jp
  • 第3回 KVMのネットワーク構成 | gihyo.jp

    仮想ネットワークの全体像 今回はKVMの仮想ネットワークについて解説します。KVMではホストLinuxの仮想ブリッジ機能を利用して仮想ネットワークを構成します。仮想ブリッジは、ホストLinux上に仮想的なL2スイッチを構成する機能です。複数の仮想ブリッジを構成することも可能です。 図1は、仮想NICと仮想ブリッジの接続を表します。 図1 KVM仮想ネットワークの構成 仮想NICは、ホストLinux内部のTAPデバイスを経由して仮想ブリッジに接続されます。TAPデバイスは、Linuxがユーザプロセスと通信するための仮想的なNICを提供する機能です。KVMの環境では、ホストLinuxと仮想マシン・プロセスが通信するためのインターフェースとして機能します。ゲストOSが仮想NICで送受信するパケットは、ホストLinux側のTAPデバイスから送受信されることになります。同じ仮想ブリッジに接続された仮

    第3回 KVMのネットワーク構成 | gihyo.jp
    naga_sawa
    naga_sawa 2012/01/13
    ホスト上に仮想的L2スイッチを構成する方法
  • 第5回 クライアント側の実装 | gihyo.jp

    今回は、WebSocket APIについて解説と、WebSocketを使ったチャットアプリケーションのクライアント側の実装を行ないます。 WebSocketオブジェクト ブラウザのJavaScriptからWebSocketを利用するために、WebSocket APIがW3Cで策定中です。執筆時点のブラウザ(Safari及びChrome)は、最新のドラフト「Editor's Draft 27 July 2010」に対応していません。ここでは、現行のブラウザが対応しているWebSocketの仕様を解説した後、最新の仕様について説明します。 インスタンス化 WebSocketはインスタンス時、第一引数に「ws://」または「wss://」で始まる文字列で接続先を指定します。また、省略可能な第二引数にはサブプロトコルを指定できます。サブプロトコルについては後述します。 new WebSocket(

    第5回 クライアント側の実装 | gihyo.jp
    naga_sawa
    naga_sawa 2011/05/12
    Jetty を使った WebSocket アプリ / JavaScriptサイドの実装
  • 第4回 サーバ側の実装(後編) | gihyo.jp

    今回は、前回に引き続き、Jettyを使ったWebSocketに対応したチャットアプリケーションのサーバ側の実装を行ないます。 MyWebSocketServlet クライアントから接続要求があった時に、「⁠WebSocket」インターフェイスの実装クラスを返す「Servlet」を作成する必要があります。 以下のように新規クラスを作成してください。 ソース・フォルダー:WebSocketChat/src/main/java パッケージ:webSocketChat 名前:MyWebSocketServlet スーパークラス:org.eclipse.jetty.websocket.WebSocketServlet クライアントから接続があった時に呼ばれる「doWebSocketConnect」メソッドを、「⁠MyWebSocket」インスタンスを返すように修正します。 package webSo

    第4回 サーバ側の実装(後編) | gihyo.jp
    naga_sawa
    naga_sawa 2011/05/12
    Jetty を使った WebSocket アプリ / サーバサイドのWebSocket口の実装
  • 第3回 サーバ側の実装(前編) | gihyo.jp

    今回と次回を通して、WebSocketを使ったチャットアプリケーションのサーバ側の実装を解説します。 WebSocketプロトコル サーバ側の実装を行なう前に、WebSocket APIを使うにあたり知っておいたほうが良いと思われるWebSocketプロトコルの仕様について簡単に説明します。 リビジョンについて WebSocketはプロトコルもAPIもまだ策定中の仕様であり、リビジョンの違いにより問題が起こる可能性があります。最近の例では、リビジョン75と76では互換性がありません。両方のリビジョンに対応するため、片方の仕様で接続し失敗した時に他方で接続し直すサーバや、起動時にオプションでどちらを使用するのかを変更するサーバ等の実装があります。仕様策定中は特に、クライアントや中継サーバ等がどのリビジョンに対応しているかを考慮に入れ、サーバのライブラリのバージョン変更を行なう必要があります。

    第3回 サーバ側の実装(前編) | gihyo.jp
    naga_sawa
    naga_sawa 2011/05/12
    Jetty を使った WebSocket アプリ / サーバサイド実装
  • 第2回 バイナリプロトコルの扱い方 | gihyo.jp

    株式会社ミクシィの前坂です。第1回でmemcached 1.4の簡単な紹介をしました。今回は新しく正式導入されたバイナリプロトコルの扱い方をご紹介いたします。 バイナリプロトコルの扱い バイナリプロトコルを扱うには、アプリケーションのプログラミング言語に合ったバイナリプロトコル対応のクライアントライブラリが必要です。バイナリプロトコルは最近導入されたこともあり、ネイティブ対応していると報告されているクライアントライブラリはC言語のlibmemcachedとJavaのspymemcachedだけです(2009年8月時点⁠)⁠。ただし、世の中にはlibmemcachedをwrapした、さまざまの言語で記述されたクライアントライブラリがいくつかあり、それらを使ってバイナリプロトコルを扱うことが可能です。 今回の記事ではそれらのクライアントも含めて, C、JavaPythonPHPでのデモコー

    第2回 バイナリプロトコルの扱い方 | gihyo.jp
    naga_sawa
    naga_sawa 2010/08/01
    memcached 1.4 バイナリプロトコルを使うコード例/バイナリプロトコルとテキストプロトコルでの性能比較/微妙にバイナリが早いが16para程度では誤差
  • 第5回 APIの全体像とデータの投入 | gihyo.jp

    前回でCassandraへのアクセスするコードの基をおさえました。今回解説するのは以下の2点です。 CassandraのAPIの全体像 Cassandraにデータを投入するコードの詳細 3つの分類からAPIの全体像をおさえる 第1回でもご紹介しましたが、CassandraのクライアントAPIはThriftによって自動生成されます。APIは非常にシンプルなものが幾つかあるだけで、覚えるのもさほど難しくはありません。連載ではその中からよく使うものに特化してご紹介していきます。 以下にCassandraのAPIを、データ挿入系・データ検索系・認証/管理系の3つに分類してまとめてみました。まずはこれらにひと通り目を通してみてください。 データ挿入/更新/削除のAPI データ挿入、更新、削除のAPIは以下の表のとおりです。現実的によく使う中心的なAPIはbatch_mutate、removeの2

    第5回 APIの全体像とデータの投入 | gihyo.jp
    naga_sawa
    naga_sawa 2010/07/31
    CassandraのAPIの全体像とデータ投入コードの詳細
  • 第4回 JavaでCassandraにアクセスする | gihyo.jp

    キースペース、カラムファミリの設定は以上です。 他にも、レプリケーション数やレプリケーションをどのように行うかなどの指定がありますが、今回は割愛します。 コミットログとデータディレクトリを設定する 次はコミットログとデータディレクトリの設定を行います。 Cassandraは、書き込み時には操作をすべてコミットログに追加で書き込んでいき、その実体(Memtableといいます)はメモリ上にカラムファミリごとに展開していく仕組みになっています。Memtableはサイズの閾値等をもっており、その閾値に達するとディスクに書き出します。この操作のことを「フラッシュ」といい、ディスクに書き出す構造のことを「SSTable」といいます。SSTableは一度書き出されるとその内容は不変で、実際の物理データとしては以下の3つがセットで書き出されます。 インデックス ブルームフィルタ データファイル インデック

    第4回 JavaでCassandraにアクセスする | gihyo.jp
    naga_sawa
    naga_sawa 2010/07/31
    JavaでCassandraにアクセスする
  • 第3回 Cassandraのデータモデルを理解する | gihyo.jp

    前回までの説明でCassandraのインストールと動かすところまでいきました。今回はCassandraのデータモデルを理解して、実際にデータにアクセスしてみましょう。 データはすべて4次元または5次元の連想配列 Cassandraのデータは非常にシンプルなデータモデルを持っています。データはすべて4次元または5次元の連想配列のようになっています。 4次元の場合は以下の形で値にアクセスします。 [キースペース][カラムファミリ][キー][カラム] そして5次元の場合は以下の形でデータを特定します。 [キースペース][カラムファミリ][キー][スーパーカラム][カラム] Cassandraのデータモデルは以下の4つの概念で成り立っています。 カラム: データの最小単位。実際のキーと値、そしてタイムスタンプを持つ。 スーパーカラム: カラムの集合を扱う単位。 カラムファミリ: カラムまたはスーパ

    第3回 Cassandraのデータモデルを理解する | gihyo.jp
    naga_sawa
    naga_sawa 2010/07/31
    Cassandraのデータモデル
  • 第2回 Cassandraのインストールから起動まで | gihyo.jp

    前回はCassandraとは何かを簡単に説明しました。第2回では、Cassandraを実際にインストールして開発環境で動かしてみましょう。 Cassandraをインストールしよう 環境を確認する まずは環境の確認をしましょう。筆者の環境は以下のようになっています。 Windows 7 Professional Sun JDK 1.6.0_18 64bit Eclipse 3.5.1 この連載ではおもにWindowsでの環境を想定しています。ただ、CassandraはJavaベースなので、MacLinuxなど別OSでも同様に動くはずです。 Cassandraをダウンロードする 連載では現時点での最新版Cassandraha 0.6.1を使います。以下のサイトからダウンロードできます。 The Apache Cassandra Project URL:http://cassandra.ap

    第2回 Cassandraのインストールから起動まで | gihyo.jp
    naga_sawa
    naga_sawa 2010/07/31
    Cassandra インストール howto
  • memcachedを知り尽くす 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    memcachedを知り尽くす 記事一覧 | gihyo.jp
    naga_sawa
    naga_sawa 2009/05/17
    memcached の解説特集/内部構造の解説あり
  • 第6回 OpenSSHの公開鍵をLDAPで管理 | gihyo.jp

    公開鍵管理の概要 読者の皆さんの多くはリモートメンテナンスのために、各サーバでsshデーモンを動作させているはずです。しかしtelnetではなくsshにすればそれだけで安心安全、というわけではありません。共通鍵認証ではそれぞれの通信自体は暗号化されているとはいえ、近年では総当たり攻撃のターゲットとなっているケースも非常に多くセキュリティ的に安心できるものではないためです。皆さんはちゃんとRSAやDSAによる公開鍵認証を利用されていますか? 公開鍵認証のメリットは、共通鍵認証と比較して、より安全な認証を実現することができる点にあります。その一方、クライアント側には秘密鍵ファイルと多くの場合はパスフレーズが、サーバ側には公開鍵ファイルが必要になるため、デメリットとしてユーザ数が多いとそれらの管理も煩雑になることが挙げられます。 たとえば管理対象のサーバが100台あるとすれば、あるユーザの入社時

    第6回 OpenSSHの公開鍵をLDAPで管理 | gihyo.jp
    naga_sawa
    naga_sawa 2008/11/24
    SSH鍵認証ログインをLDAPで