タグ

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

  • グーグルのソフトウェアネットワークロードバランサー「Maglev」の仕組み

    グーグルのソフトウェアネットワークロードバランサー「Maglev」の仕組み:Google Cloud PlatformのNFV実装 グーグルはソフトウェアネットワークロードバランサー「Maglev」の詳細を現在開催中のNSDI ‘16で発表することを明らかにし、公式ブログでこの技術を解説した。 米グーグルは2016年3月16日(米国時間)、自社で開発したソフトウェアネットワークロードバランサー「Maglev」の詳細を「NSDI '16」で発表することを公式ブログで明らかにした。 NSDI '16は2016年3月16~18日に米カリフォルニア州サンタクララで開催されるシンポジウム「13th USENIX Symposium on Networked Systems Design and Implementation」の略称。グーグルのIaaS(Infrastructure as a Serv

    グーグルのソフトウェアネットワークロードバランサー「Maglev」の仕組み
  • 最終回 過去に受信・保存したメールをGmailに移行・集約する

    Gmailでメールを一元管理するには、新着メールや送信メールだけではなく、過去に受信したメールもGmailに集約すべきだ。PCのメーラーを利用してGmailに過去のメールを移す方法を解説する。 連載目次 前回は、メール送信をGmailに集約するために、送信時の差出人を「~@gmail.com」以外のメールアドレスに変更する方法を説明した。ここまでの連載でメール送受信についてはGmailに集約できるようになったので、最終回の今回は、過去に受信してアーカイブなどに保存したメールをGmailに移行・集約する方法を説明する。移行する際には、Windows上で利用できるメーラー(メールクライアント)を利用する。第2回(新着メールの集約)や第3回(送信メールの集約)と同様、原則としてスマートフォンではできない(あるいは効率が非常に悪い)作業であることを留意していただきたい。 メーラーを使ってGmail

    最終回 過去に受信・保存したメールをGmailに移行・集約する
  • プッシュ通知機能の「Google Cloud Messaging」、Chromeでも提供

    プッシュ通知機能の「Google Cloud Messaging」、Chromeでも提供:帯域幅の節約にも 米Googleは5月9日、Androidアプリや拡張機能のユーザーにメッセージをプッシュ配信できる「Google Cloud Messaging」(GCM)がChromeでも利用できるようになったと発表した。 米Googleは5月9日、Androidアプリや拡張機能のユーザーにメッセージをプッシュ配信できる「Google Cloud Messaging」(GCM)が、これまでのAndroidに加えて、Chromeでも利用できるようになったと発表した。ただし対象は、Chrome Web Storeで配布されるWebアプリケーションに限られる。 イベントページでは、特定サイトのナビゲーションやタイマーといった各種のイベントにアプリや拡張機能を反応させることができる。しかし例えば、ニュース

    プッシュ通知機能の「Google Cloud Messaging」、Chromeでも提供
  • Androidの画面の大きさの違いを解決するFragments

    スマートフォン向けとタブレット向けで、Androidのバージョンがフォークしてしまった最大の要因は画面サイズにあります。Androidのコンセプトである「1つのActivityが画面を占有する」という振る舞いは、タブレットの大き過ぎる画面にはマッチせず、3.xでは考え直さざるを得なかったわけです。 待たれる「Ice Cream Sandwich」 このスマートフォン向けとタブレット向けで使用されるOSが異なるという状況は、次期Android OSである「Ice Cream Sandwich」で統合して解決される見込みです。Ice Cream Sandwichは画面サイズに応じてアプリの画面がスケールし、スマートフォン向け、タブレット向けに同一のアプリで対応できるようになります。 Android 3.0新機能「Fragments」と「Android Compatibility Package

    Androidの画面の大きさの違いを解決するFragments
  • 一見読みにくい記法もシェルスクリプトの流儀

    パターン指定で変数の中身の一部を削除 nextboot(8)を読んでいくと、次のようなコードも見られる。 先に、変数を指定して、その中身をパターン指定に使わせる変数展開という手法を紹介した。変数展開では、変数が格納している文字列の内容を切り取って表示するということもできる。指定方法は4種類。「${変数名%パターン}」「${変数名%%パターン}」「${変数名#パターン}」「${変数名##パターン}」だ。分かりにくい記述方法だが、シェルスクリプトではこの方法で文字列を編集することが少なくない。 上に挙げたサンプルの変数展開の部分を解説しよう。「${2%\"*}」の部分は、変数${2}に入っている文字列から「"*」に一致する部分を末尾から探し、そこから末尾まで削除するという意味になる。例えば、変数${2}に入っている文字列が「 "-s" 」なら、「${2%\"*}」とパターンを指定すると、結果は

    一見読みにくい記法もシェルスクリプトの流儀
  • 一見読みにくい記法もシェルスクリプトの流儀

    前回に引き続き、今回もOS付属のシェルスクリプトを読んでいく。「当にこれでいいのか?」と思うような読みにくい記述も見つかるが、よく読むとシェルスクリプトならではの流儀を学ぶことができる(編集部) とにかく何か作ってみろ シェルスクリプトはお世辞にも読みやすいプログラミング言語とは言えない。ほかの言語にはない特有のルールがあるので、あまり経験がない人がちょっと複雑なシェルスクリプトを読むと嫌になってしまうかもしれない。 その半面、シェルスクリプトにはちょっと書いてすぐに試せるという良い点がある。シェルスクリプトの解説書やソースコードを読みながら「なんだかよく分からない」「マニュアルを読んでもよく分からない」という人には、短くてもいいからとにかく何かシェルスクリプトを書いて、試してみることを強くお勧めする。 これはどんなプログラミング言語にも言えることだが、習得しようと思っても、解説書を読ん

    一見読みにくい記法もシェルスクリプトの流儀
  • サーバ上でVimを使用することを考えた設定

    前回までは、ユーザー自身のPCVimを使うことを前提にして、解説を進めてきました。今回は、sshでサーバにログインし、そのサーバ上でVimを使うことを考えた設定ポイントを解説します(編集部) sshでサーバにログインしてVimを使う アプリケーション開発に使うメインエディタをVimと決めている開発者は、今でも少なくない。PCが十分な処理能力を持つようになり、EclipseやVisual Studioなどの統合開発環境(IDE:Integrated Development Environment)の機能が充実し、数々の便利な機能を備えるようになった。 しかしIDEを便利に活用できる環境が整っている今でも、メモリをあまり消費せず、軽快に動くVimは、開発者の支持を集めている。自分の好きなように自由にカスタマイズできる柔軟さを評価している開発者も多い。Vimを使う多くの開発者は、より便利に使う

    サーバ上でVimを使用することを考えた設定
  • OSに付属するシェルスクリプトを読んで技術を盗む

    今回から、OS付属のシェルスクリプトを読んでいく。多くの人が使っているスクリプトを読むことで、シェルスクリプトならではの書き方、テクニックを身に付けることができるはずだ(編集部) 他人の技術を盗まなければ進歩はない 外国語をマスターするにも、楽器の演奏を覚えるにも、上達するにはただ練習するだけではダメだ。素晴らしいお手を見つけて、よく観察し、何度もまねることが必要だ。お手から技術を「盗む」ことが大切だということだ。 プログラミングでも同じことが言えると思う。文法を覚えて、ただひたすらプログラムを書くだけではなかなか上手にならない。スキルのある人のコードを見て、技術を盗もう。開発チームのメンバーそれぞれが書いたコードを持ち寄って、お互いに批評し合う「コードレビュー」に参加している、あるいはリーダーとして主催しているという人は多いと思う。このコードレビューも、人から技術を盗む良い機会と言え

    OSに付属するシェルスクリプトを読んで技術を盗む
  • システムコールと標準ライブラリ関数の違いを知る

    前回解説したように、システムコールは魔法の関数でもなければ、不思議なものでもなく、カーネルに正直に処理を依頼するものです。今回は、標準ライブラリ関数との違いについて解説します。(編集部) システムコールを使ってみる前に 今回から簡単なシステムコールプログラミングを通じて、いわゆる「システムコール」がどういったものであるかを紹介していこうと思う。システムコールに触れるための環境をどう構築するかという点については、連載:いまさら聞けないVim 第8回「Vimをプログラム開発環境にしてしまおう」に詳しくまとめてある。こちらを参考に環境を構築してほしい。 先に挙げた記事では、FreeBSDとUbuntuを例として環境構築法を解説している。ほかの環境(Mac OS X Lion、Ubuntu 11.10、Solaris 11)を使われている方のために、使用するコマンドをそれぞれの環境で置き換える方法

    システムコールと標準ライブラリ関数の違いを知る
  • 攻撃者が侵入後に行うバックドアの設置例

    ※ご注意 他社および他組織のWebサイトなどへのポートスキャンおよびデータの取得などの行為で得た情報を侵入などに悪用するか、または同じ目的を持つ第三者に提供した時点で違法となります。ご注意ください。 稿の内容を検証する場合は、必ず影響を及ぼさない限られた環境下で行って下さい。 また、稿を利用した行為による問題に関しましては、筆者および株式会社アットマーク・アイティは一切責任を負いかねます。ご了承ください。 「第3回 侵入者の攻撃手法とその対策」では、対象サーバ内への侵入に成功した。稿では、攻撃者が侵入後によく行う、バックドアを仕掛ける手法について説明する。 バックドアとは 対象サーバへの侵入に成功した攻撃者は、対象サーバ上でさまざまな不正行為を行うだろう。そして、その不正行為の目的によっては、対象サーバに何度も侵入する必要があるかもしれない。そういったときに攻撃者がよく行うのが、対象

    攻撃者が侵入後に行うバックドアの設置例
  • 連載記事 「仕事で使える魔法のLAMP」

    LAMP環境、自分で作りませんか? 連載:仕事で使える魔法のLAMP(1) Webアプリケーションの開発・実行環境として高い人気を誇るLAMP。ソースコードからビルドしてみませんか?

  • configureの設定を変更してみる

    configureを実行するときに、どのような項目を設定できて、どこまで自由に変更できるのかを説明します(編集部) configureでどんなことを設定できるか 前回は、ソースコード配布パッケージに入っているconfigureスクリプトを使って、Makefileを生成するということを解説しました。Makefileはパッケージには含まれず、自動的に環境の違いを吸収した上で生成することで、さまざまな環境でビルドできるようになっています。configureスクリプトの役割の1つは、「ほかの環境に移植しやすくする」ということがあるのです。 もう1つの役割は、ビルド時にユーザーが設定を変更できるようにすることです。こういった設定は、Makefileやソースコードに埋め込むものです。環境の差異による設定も、これらのファイルに記述するわけですから、configureスクリプトで同時に済ませるのは合理的で

    configureの設定を変更してみる
  • ダイナミックリンクとスタティックリンク

    前回は「ビルド」という作業の中身を解説しました。今回は、その中でも「リンク」に焦点を当てて、その作業の内容を解き明かします(編集部) 再利用可能なソフトをまとめたものがライブラリ 前回はビルドとは一体どういう作業なのかということを解説しました。ざっと復習すると、ビルドとはコンパイルとリンクを実行して、ソースコードから実行可能な形式のファイルを作ることです。コンパイルにはコンパイラ、リンクにはリンカというツールが使われるのでした。 リンカへの入力は、2種類あります。1つはソースコードをコンパイルした結果であるオブジェクトファイル。これは前回解説しました。もう1つはライブラリです。 ライブラリとは一般に、再利用可能なソフトウェアの集合を指します。汎用性の高い処理はライブラリにしておけば、次に必要になったときに、もう一度作らずに済むというわけです。世界には多種多様なライブラリが存在しています。A

    ダイナミックリンクとスタティックリンク
  • 配布パッケージの中身と、configureの役目を知る

    配布パッケージを展開してみる 前回からGNU Helloを例に、実際にビルドの手順を追いながら解説をしてきました。フリーソフトウェア、オープンソースソフトウェア(以下FOSS)のソースコード配布パッケージの入手、そのパッケージが物であることの確認までが終わりました。 GNU Helloのソースコード配布パッケージは無事入手できましたでしょうか。まだの方は前回を参照しながら入手してください。物かどうかの確認は、ついついおろそかにしがちですが、習慣としたいものです。FOSSのサイトがクラックされた例も過去にはあるのですから、習慣付けておいて損はありません。 それでは入手した配布パッケージを展開し、中に何が入っているか見てみましょう。 $ tar zxvf hello-2.7.tar.gz $ cd hello-2.7 $ ls -p ABOUT-NLS ChangeLog.O NEWS a

    配布パッケージの中身と、configureの役目を知る
  • @IT:PPPoEでインターネットに接続するには(CUI編)

    NTTのフレッツなどをはじめとするADSLやFTTHによるインターネット接続では、PPPoE(Point to Point Protocol over Ethernet)というプロトコルを使用してプロバイダに接続する。それを実現するのがPPPoEのクライアントソフトウェアで、Red Hat LinuxやTurbolinux、Vine Linuxなどの場合はRP-PPPoE(http://www.roaringpenguin.com/pppoe/)が採用されている。 最近では、ブロードバンドルータがPPPoEによる接続機能をサポートしているため、接続はルータに任せるケースが多いが、Linuxをルータ兼用にしたり、クライアントPCとしてADSLモデムやFTTHの回線終端装置にPCを直結する場合には、PPPoEクライアントによるダイヤルアップ接続が必要だ。ここではCUIでPPPoEを設定して、回

  • @IT:/procによるLinuxチューニング [後編]

    の4つがあります。kernel配下にはカーネル全般にかかわるパラメータ、fs配下にはファイルシステム関連のパラメータ、vm配下には仮想記憶関連のパラメータ、net配下にはネットワーク関連のパラメータが置かれています。 /proc/sys/kernelディレクトリ まずはkernel配下のパラメータを見ていきましょう。/proc/sys/kernel配下のパラメータを使うと、パフォーマンス・チューニング以外のさまざまな設定も可能です。 ctrl-alt-del、cad_pid ctrl-alt-delは、おなじみの[Ctrl]+[Alt]+[Del]キーシーケンスの有効(1)/無効(0)を設定するファイルです。同時に、cad_pidには[Ctrl]+[Alt]+[Del]キーを押した際にシグナルを送信するプロセスを指定します(注)。 domainname、hostname これらのファイルに

  • @IT:/procによるLinuxチューニング [前編](1/2)

    /procによるLinuxチューニング [前編] ~ /procで理解するOSの状態 ~ Linuxの状態確認や挙動の変更で重要な役割を担うのが/procファイルシステムである。前編では/procの概念や/procを利用したOSの状態確認方法を理解していただきたい。(編集局) 遠田 耕平 2002/12/10 稿では、/procファイルシステムによるカーネルチューニングを紹介します。カーネル2.4.19をベースに説明していきますが、カーネルのバージョンによって内容が異なる場合があります。また、ディストリビュータが独自の拡張を施しているものもあります。従って、これから説明する内容がすべて当てはまるとは限りません(端的にいうと説明の対象が存在しなかったり、説明されていない機能が追加されていることがあります)。 /procファイルシステムとは /procは、Linuxシステムの/(ルート)に「

  • VFSとファイルシステムの基礎技術

    ローカルファイルシステムは、システムの起動時にVFSに登録される。このときに「ext2」「ext3」といった「ファイルシステムタイプ」(file_system_type)がVFSに設定される。VFSは、この「ファイルシステムタイプ」の中に設定されている固有の命令をVFSの統一的な命令に置き換える作業を行う。例えば、open()という命令は、ext2_open_file()といったext2固有の命令に変換される。このため、VFSはトランスレータとも呼ばれる。 super_block、inode、dentry、fileなどのオブジェクトは、プロセスとファイルシステムを結び付けたり、ディレクトリやスーパーブロックの管理情報を保持する役割を果たす(これらの解説は後述する)。 iノード VFSの抽象化の仕組みの基単位として提供されているのが、「iノード」である。fsckを実行するとiノード情報が表

    VFSとファイルシステムの基礎技術
    sudoemacs
    sudoemacs 2010/04/07
  • Linux起動の仕組みを理解しよう[init/inittab編](1/2)

    Linux起動の仕組みを理解しよう[init/inittab編]:Windowsユーザーに教えるLinuxの常識(10)(1/2 ページ) カーネルが呼び出されてからログインプロンプトが表示されるまでの間に、一体どのような処理が行われているのか。これを理解するには、この部分の全般をつかさどるinitとその設定ファイルであるinittabがカギとなる。 Linuxが起動するまでの流れや、起動に際して使用されるファイルについて知っておくことは有益でしょう。そこで、今回と次回の2回に分けて、Linuxの起動の仕組みを紹介します。説明の都合上、用語の説明が多少前後するところもありますがご了承ください。 Linux起動の流れ まず、Linuxが起動するまでの大まかな流れを概観しておきましょう。 マシンの電源をオンにすると、BIOSが起動して制御をハードディスクのMBRなどに移管します。Linuxの場

    Linux起動の仕組みを理解しよう[init/inittab編](1/2)
  • @IT Special PR:PV急増で美人時計がさくらインターネットと組んだワケ

    美人? 好み? そうでもない? 見る人によってビミョーに意見が分かれつつも、つい見入ってしまう、いやし系のカワイイ女性たち。そんな“美人”たちが「18:43」などと時刻を大書きしたボードを手にした写真が次々に画面を彩る、話題のサービス「美人時計」。美人時計はどうやって生まれたのか、人気のヒミツと現場の苦労を中の人に聞いてみた! 「広告を作る人も見ている人も、みんなが楽しめる、今までになかったものを作りたかった」。こう語るのは株式会社美人時計取締役でプロデューサーの中屋優大氏だ。新しい広告表現を模索するにあたって最初に目指したものは、広告を見る人も喜んで見続けるようなもの。そのためにアナログとデジタルの融合や、時間による変化を取り入れた「4次元広告サイト」という新しいビジネスモデルを模索したという。 「便利で高度な機械に対しても、ぼくは人の温もりや癒しを求めてしまいます。同じような感覚を持っ