タグ

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

  • Linux 5.5におけるBPF(Berkeley Packet Filter)の新機能

    Linux 5.5におけるBPF(Berkeley Packet Filter)の新機能:Berkeley Packet Filter(BPF)入門(7) Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載。今回は、Linux 5.5で導入されたBPFに関する主な新機能について。 Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載「Berkeley Packet Filter(BPF)入門」。 2020年1月26日にLinux 5.5がリリースされたので、今回は通常の連載内容を中断して、Linux 5.5で導入されたBPFに関する主な新機能を紹介します。 BPF Trampoline BPF Trampoli

    Linux 5.5におけるBPF(Berkeley Packet Filter)の新機能
    komlow
    komlow 2020/02/18
  • クレジットカード処理を担う「ISO8583」とは? Go言語でパーサーを開発したエンジニアが中身と苦労を明かす

    キャッシュレス決済の一環として、クレジットカード決済の利用がまた広がっている。その裏でやりとりされるデータは、多くの人が想像するJSONやXMLではなく「ISO8583」という規格にのっとって行われている。1980年代に策定されたこの標準規格、扱いはなかなか一筋縄ではいかないようだ。 Go言語でISO8583のパーサーを書いたというカンムのバックエンドエンジニアである佐野裕章氏は、2019年8月29~31日に開催された「builderscon tokyo 2019」のセッション「クレジットカードの通信プロトコル ISO8583 と戦う」で、その過程で得られた知見を紹介した。 クレジットカード業界のエコシステム クレジットカードというと「Visa」「Mastercard」といった「ブランド」のイメージが強いが、決済処理にはもっと多くの登場人物が関わっている。加盟店、いうなれば「使う場所」を増

    クレジットカード処理を担う「ISO8583」とは? Go言語でパーサーを開発したエンジニアが中身と苦労を明かす
  • Kubernetes、オープンソースとチャイナパワー

    政治的なノイズも聞こえてくるが、オープンソースの精神を推進しているLinux Foundationに感謝したい」。2019年6月下旬に中国の上海で開催されたコンテナとオープンソース関連のカンファレンス、「KubeCon + CloudNativeCon + Open Source Summit China 2019」で、Huawei Technologiesの戦略/事業開発責任者、イバン・シャオ(Evan Xiao)氏は、自らの講演でこう話した。「オープンソースソフトウェア(OSS)なら活用し放題だ」ということではない。OSSを通じて、世界にリーダーシップを発揮していけることを感謝したいのだという。 米国政府の意向がどうであるかにかかわらず、OSSの世界における中国の企業・組織や個人開発者の存在感が増している。中国といえば、OSSに関しては「消費国」としてのイメージが大きかった。しかし、

    Kubernetes、オープンソースとチャイナパワー
    komlow
    komlow 2019/07/03
  • QEMU脆弱性を利用したVMエスケープ攻撃の検証:ヒープベースのオーバーフロー脆弱性編

    連載「OSS脆弱性ウォッチ」では、さまざまなオープンソースソフトウェアの脆弱性に関する情報を取り上げ、解説する。今回は、「QEMU」の脆弱性を悪用したVMエスケープ攻撃に関する事例のうち、ヒープベースのオーバーフロー脆弱性(CVE-2015-7504)を紹介する。 連載「OSS脆弱性ウォッチ」では、さまざまなオープンソースソフトウェア(OSS)の脆弱(ぜいじゃく)性に関する情報を取り上げ、解説しています。 前々回から数回に分けて、OSSのプロセッサエミュレータである「QEMU(キューエミュ)」の脆弱性を悪用したVM(仮想マシン)エスケープ攻撃に関する事例を、セキュリティ技術の会の佐藤が紹介しています。 前回は、VMエスケープ攻撃に使われた2つの脆弱性のうち、メモリ情報漏えいの脆弱性(CVE-2015-5165)について解説しました、今回は、ヒープベースのオーバーフロー脆弱性(CVE-20

    QEMU脆弱性を利用したVMエスケープ攻撃の検証:ヒープベースのオーバーフロー脆弱性編
  • 約60TBの商品画像で社内サーバが満杯に ZOZOTOWNが約9日でクラウドに移行できた理由

    約60TBの商品画像で社内サーバが満杯に ZOZOTOWNが約9日でクラウドに移行できた理由:「解決したときのストレージの空き容量は1%でした」(1/2 ページ) アマゾンウェブサービスジャパンは2018年10月30日~11月2日に「AWS Dev Day Tokyo 2018」を開催。ZOZOテクノロジーズの柴田翔氏は、ファッションECサイト「ZOZOTOWN」で使われる数億枚の商品画像をオンプレミスからクラウドに移行した方法について説明した。 アマゾンウェブサービスジャパンは2018年10月30日~11月2日に「AWS Dev Day Tokyo 2018」を開催した。稿ではZOZOテクノロジーズ 開発部 柴田翔氏の講演「ZOZOTOWNの膨大な画像ファイルを移行したときの過程の話(オンプレミスからクラウドへ)」の内容を要約してお伝えする。 柴田氏は、ZOZOTOWNで利用する数億枚

    約60TBの商品画像で社内サーバが満杯に ZOZOTOWNが約9日でクラウドに移行できた理由
    komlow
    komlow 2019/01/08
  • BFF(Backends For Frontends)実践における3つのアンチパターンと、その回避策

    BFF(Backends For Frontends)実践における3つのアンチパターンと、その回避策:マイクロサービス/API時代のフロントエンド開発(終) マイクロサービス/API時代のフロントエンド開発に求められる技術の一つ、Backends For Frontends(BFF)について解説する連載。最終回は筆者の経験に基づいて、3つのBFFアンチパターンと、その回避策を紹介します。 実案件にBFFを複数回導入した筆者の経験に基づいて原因と回避策を解説 マイクロサービス/API時代のフロントエンド開発に求められる技術の一つ、Backends For Frontends(BFF)について解説する連載「マイクロサービス/API時代のフロントエンド開発」。前回はBFFに関する5つのユースケースを紹介しました。 BFFはアーキテクチャのパターンの一種ですが、どんなときでも当てはまるものではあ

    BFF(Backends For Frontends)実践における3つのアンチパターンと、その回避策
    komlow
    komlow 2018/09/03
  • 完全マネージドなKubernetesサービス、「VKE」とは

    主要パブリッククラウドベンダーが軒並みマネージドKubernetesを提供する中、VMwareが「VMware Kubernetes Engine(VKE)」を発表した。完全にマネージドであることと、マルチクラウドが大きな特徴という。 VMwareは2018年8月26日、年次イベントVMworld 2018で、マネージドKubernetesサービスの「VMware Kubernetes Engine(VKE)」を発表した。β版の提供を開始したという。主要パブリッククラウドベンダーが軒並みマネージドKubernetesを提供する中、VKEを選択する理由はどこにあるのだろうか。 VKEはVMwareがパブリッククラウド上で提供するサービス。現在はAmazon Web Services(AWS)上で動いている。一般提供開始時には、US-West-2(オレゴン)、US-East-1(北バージニア)

    完全マネージドなKubernetesサービス、「VKE」とは
  • どのようにデータ基盤を作ったのか?「俺の考えた最強のデータ基盤」は使われない

    どのようにデータ基盤を作ったのか?「俺の考えた最強のデータ基盤」は使われない:開発現場に“データ文化”を浸透させる「データ基盤」大解剖(3)(1/2 ページ) 「ゼクシィ縁結び・恋結び」の開発現場において、筆者が実際に行ったことを題材として、「データ基盤」の構築事例を紹介する連載。今回は、「データ基盤」の開発プロセスについてお伝えします。 「使われるデータ基盤」を構築するために筆者が取り組んだ試行錯誤を紹介する連載『開発現場に“データ文化”を浸透させる「データ基盤」大解剖』。前回はデータパイプラインを支える基盤システム設計について解説しました。第3回となる今回は開発プロセスについてお伝えします。 なお、技術要素としてはPythonやBigQuery、ツールとしてGitHubやJIRAを扱いますが、他の手段でも代替可能な内容です。細部にとらわれずにご自身の担当する業務や組織に当てはめながら

    どのようにデータ基盤を作ったのか?「俺の考えた最強のデータ基盤」は使われない
    komlow
    komlow 2018/08/08
  • Cloud FoundryとKubernetes、クラウドネイティブに向けた2つのアプローチ

    Cloud FoundryとKubernetes、クラウドネイティブに向けた2つのアプローチ:吉瀬淳一氏が解説(1/2 ページ) Cloud Foundry(Cloud Foundry Application Runtime)とKubernetesをどう考え、それぞれをクラウドネイティブなアプリケーション開発でどう生かすべきなのか。双方に精通するHewlett Packard Enterpriseの吉瀬淳一氏が、中立的な立場から解説する。 開発効率を高めるクラウドネイティブアプリケーションプラットフォームとしては、Cloud Foundryが知られてきた。一方、最近では複数のコンテナプラットフォーム、特にKubernetesが存在感を高めており、これにアプリケーションプラットフォームとしての期待をかける人が増えてきている。Cloud Foundry(Cloud Foundry Applic

    Cloud FoundryとKubernetes、クラウドネイティブに向けた2つのアプローチ
  • PostgreSQLを遅くしている犯人はどこだ?

    出力内容を追いかけろ 実際に実行してみてどれだけの時間がかかったかは「actual time=」で表示される数値を追いかけることで確認可能です。例えば、前ページのリストの1行目に出力されている「actual time」だけを取り出すと、次のようになります。 ↓最初の1件目を取得するまでにかかった時間 (actual time=9006.586..9011.968 rows=16842 loops=1) ↑最終的に結果行全体を取得するのにかかった時間 特に、右側の数値である「最終的に結果行全体を取得するのにかかった時間」では、そのSQLの処理開始からの累積時間で表示されます。このため、当該行の処理が完了するまでにどれだけの時間がかかったかを確認できます。 これを基に、SQLの中でどの処理に最も時間がかかっていたのかを確認していきましょう。 Total runtimeが9022.840msであ

    PostgreSQLを遅くしている犯人はどこだ?
  • React/Redux/Node.jsのSSR/SPAを速くする6つのチューニングポイント

    React/Redux/Node.jsのSSR/SPAを速くする6つのチューニングポイント:大規模ブログサイト表示速度改善 大解剖(終)(1/3 ページ) 2004年から続くブログサービス「アメブロ」が2016年9月にシステムをリニューアル。連載では、そこで取り入れた主要な技術や、その効果を紹介していく。今回は、React/Redux/Node.jsを使ったIsomorphic JavaScript特有のパフォーマンスチューニング手法や実際にあった問題および、その解決方法について。 2004年から続くブログサービスである「アメブロ」は、2016年9月にシステムをリニューアルしました。連載「大規模ブログサイト表示速度改善 大解剖」では、そこで取り入れた主要な技術や、その効果を紹介しています。 アメブロのリニューアルでは、React/Reduxを採用し、サーバサイドとフロントエンド両方での

    React/Redux/Node.jsのSSR/SPAを速くする6つのチューニングポイント
  • まだまだ広く深い、暗号の世界――匿名認証や電子投票に利用される「ブラインド署名」「グループ署名」「ゼロ知識証明」

    まだまだ広く深い、暗号の世界――匿名認証や電子投票に利用される「ブラインド署名」「グループ署名」「ゼロ知識証明」:クラウド時代の暗号化技術論(8)(1/4 ページ) 最終回となる第8回では、匿名認証などに用いられるデジタル署名である「ブラインド署名」や「グループ署名」、相手に情報を与えずに自分が情報を持っていることを証明する「ゼロ知識証明」を紹介します。 連載目次 最終回となる今回は、狭い意味での暗号ではないのですが、暗号プロトコルを作るときに重要な「デジタル署名」(以下、署名)や「ゼロ知識証明」について紹介します。これらは、ある情報が正しいかどうかを確認するために使われます。 署名とは 署名とは、「あるメッセージを作ったのが、確かに自分であること」をメッセージの受領者に確認してもらうための技術です。他人が自分になりすまして署名を行ったり、偽の署名を作ったりすることはできません。また、署名

    まだまだ広く深い、暗号の世界――匿名認証や電子投票に利用される「ブラインド署名」「グループ署名」「ゼロ知識証明」
  • Linuxファイルシステム技術解説

    XFSは、巨大ストレージでの利用を視野に入れた64bitファイルシステムである。膨大な領域を効率的に利用するため、XFSにはさまざまな仕組みが組み込まれている。(編集局)

    Linuxファイルシステム技術解説
  • Netflixが採用するCassandra/マルチテナントのコンテナ型DBとしてのSAP HANA

    Netflixが採用するCassandra/マルチテナントのコンテナ型DBとしてのSAP HANA:Database Watch(2014年12月版)(1/2 ページ) ハードコアな負荷テストツールを公開したことでも知られる「Netflix」が採用するデータベースとは? インメモリDB「SAP HANA」のマルチテナント対応についても紹介。 連載バックナンバー 最近分散データベース管理システム「Cassandra」が東京でミートアップイベントを行うなど活気づいてきています。どのような仕組みでしょうか。SAP HANAは最新版SP9が出ました。キーワードは「シンプル化」です。 全てのノードが等価、Cassandraは「爆速で拡大中」 NoSQLの一つであるCassandra。「前に聞いた気がするけど……」という方もいるかと思います。数年前に話題になり、近年は少し注目が下火になっていましたが、

    Netflixが採用するCassandra/マルチテナントのコンテナ型DBとしてのSAP HANA
  • Node.jsのStream APIで大量プッシュ通知を高速化するテクニック

    連載目次 プッシュ通知を秒間1万4000ほど送るには 前回の「大量データ処理時に知っておきたいAmazonDyamoDB活用テクニック4選」では、Pusna-RSのデータ永続化に使っているDynamoDBの活用テクニックについて解説しました。今回は、そのDynamoDBからAPNs/GCMへのデータ送信までを高速化させた方法を紹介します。 Pusna-RSの配信機能とは 連載第1回「プッシュ通知の基礎知識&秒間1万を超えるプッシュ通知基盤のアーキテクチャと仕組みとは」の際に概要をお伝えしましたが、配信機能はPusna-RSの中で実際にプッシュ通知を行うための機能で、以下の【3】に当たる箇所です。 Pusna-RSではこの一連の流れを最適化させるためにNode.jsのStream APIを活用しています。今回は、このStream APIの活用について紹介していきます。 あらためてNode.j

    Node.jsのStream APIで大量プッシュ通知を高速化するテクニック
  • Linux Storage Filesystem/MM Summit 2014からの便り

    Linux Storage Filesystem/MM Summit 2014からの便り:Linux Kernel Watch(1/2 ページ) お久しぶりです、Linux Kernel Watchが帰ってきました。3月に行われた「Linux Storage Filesystem/MM Summit 2014」の主なトピックを紹介します。 皆さん、お久しぶりです。私は今ボストンで、米レッドハット常駐という立場でRed Hat Enterprise Linux(RHEL)開発に携わっています。 今回はサンフランシスコ近郊のナパバレーで2014年3月24~25日に行われた「Linux Storage Filesystem/MM Summit 2014」(以下LSF/MM)の中から面白かったトピックをピックアップしてお届けしたいと思います。 LSF/MMはLinux Foundation主催で行

    Linux Storage Filesystem/MM Summit 2014からの便り
    komlow
    komlow 2014/04/24
  • Linuxメモリ管理の最先端を探る(1/2) - @IT

    小崎 資広 2008/5/22 この記事では、Linux Kernel Watchの番外編として、Linuxの最近のメモリ管理周りの動きと、その背景のモチベーションについてお伝えしたいと思います。 メモリ管理は変更時のインパクトが大きいため、通常、Stable Tree(安定ツリー)ではあまり変更はなされません。しかし、Linuxカーネルメーリングリスト(LKML)の議論では「もうカーネル2.7は出ない」ともいわれており、十分なテストがなされたものであれば、アグレッシブなパッチでも受け入れられるようになっています。 また、メモリの急速な大容量化により、いままで問題にならなかった部分にスケーラビリティ上の問題が発生したという報告もちらほら出てきました。それを解消するためのさまざまな改善が提案されています。 こうした背景により、2007年から2008年にかけては相当面白いパッチが出てきました。

    komlow
    komlow 2014/02/27
  • PlayアプリをPostgreSQL対応してHerokuにデプロイ&自動テスト

    PlayアプリをPostgreSQL対応してHerokuにデプロイ&自動テスト:Javaの常識を変えるPlay framework入門(終)(1/4 ページ) サーブレット/JSPを基にする重厚長大なJavaのWeb開発のイメージを変える軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載。最終回は、作成したアプリを簡単にWeb上に公開する方法とPostgreSQL対応、テスト環境の構築と自動テストの実行の仕方を解説します。 前回の記事「Playの充実したテスト環境で行う5種のテスト」では、Play frameworkを使ったアプリのテストを紹介しました。今回はJavaを使ったPlay framework開発の入門連載の最終回として、作成したアプリを簡単にWeb上に公開する方法を紹介します。 アプリの公開には、「Heroku」というサービスを利用します。 フ

    PlayアプリをPostgreSQL対応してHerokuにデプロイ&自動テスト
    komlow
    komlow 2014/01/23
  • エンジニアとして進化し続けるには

    ITゆかりの方々、カッコいいエンジニアの皆さんにお話を伺うシリーズ、今回は日米で活躍する開発者 増井さんに、エンジニアが進化し続けるために必要なマインドセットについて解説してもらう いまエンジニアとして働いている人の中には、管理職などにならず一生エンジニアとして生きていきたいと考えている人もいるでしょう。その場合、次々と育っていく若いエンジニアに負けないために、年を重ねるとともにエンジニアとして進化し続けていかなければなりません。そのためには何が必要か考えてみましょう。 短期の「チャレンジ」と長期の「目標」を考えよう エンジニアとして進化し続けるためには、常に勉強し続けることが求められます。しかし新しく面白そうな技術が次々と生まれている今、漫然と新しいことを勉強していても、一線のエンジニアとして長く生き残ることは難しいでしょう。 必要なのは、正しいタイミングに正しい方向で努力していくこ

    エンジニアとして進化し続けるには
  • Play2+nginx/Akka/WebSocketで高速双方向通信

    前回の記事「Play2(+JavaScript)アプリを高速化、最適化する4つのテクニック」では、キャッシュの利用方法や非同期通信を行う手法、クライアントサイドでJavaScriptをうまく扱うテクニックについて紹介しました。 今回はPlay framework 2.x(以下、Play2)を既存のWebサーバーと連携させる方法、並列処理や双方向通信を行う方法を紹介します。 WebサーバーとPlay2の連携 Webサーバーと連携する必要性 連載第2回記事「Play 2.0のアーキテクチャとディレクトリ構成の基礎知識」で解説をしましたが、Play2では「Netty」というHTTPサーバーを内包しており、それを使用してリクエストを処理します。そのため、Play2の起動ポートを80番に設定すれば通常のWebサーバーと同じようにアクセス可能です。 単純なWebアプリケーションの場合はこれで問題はない

    Play2+nginx/Akka/WebSocketで高速双方向通信