タグ

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

  • マンハッタン距離(Taxicab distance)/ユークリッド距離(Euclidean distance)、L1/L2ノルムとは?

    マンハッタン距離(Taxicab distance)/ユークリッド距離(Euclidean distance)、L1/L2ノルムとは?:AI機械学習の用語辞典 用語「マンハッタン距離」「ユークリッド距離」について説明。いずれも2点間の距離を計測する方法のこと。マンハッタン距離とは、碁盤の目状の道を縦に横にとタクシーが進むようにn次元の距離(=差)の絶対値を合計することで距離を計算する方法。ユークリッド距離とは、n次元の距離(=差)の二乗値を合計した値の平方根を求める(=ピタゴラスの定理を適用する)ことで直線的な最短距離を計算する方法を意味する。 連載目次 用語解説 数学/統計学/機械学習におけるマンハッタン距離(Taxicab geometry:タクシー幾何学、Taxicab metric、Manhattan distance)とは、2点間の距離を計測する際に、n次元の次元ごとに距離(=

    マンハッタン距離(Taxicab distance)/ユークリッド距離(Euclidean distance)、L1/L2ノルムとは?
  • PostgreSQLの“仕様”による、運用者にとって悩み深い脆弱性とは

    PostgreSQLの“仕様”による、運用者にとって悩み深い脆弱性とは:OSS脆弱性ウォッチ(6) 連載「OSS脆弱性ウォッチ」では、さまざまなオープンソースソフトウェアの脆弱性に関する情報を取り上げ、解説していく。今回は、2018年3月1日に公開されたPostgreSQLの脆弱性情報(CVE-2018-1058)を取り上げる。 「OSSセキュリティ技術の会」の面和毅です。連載「OSS脆弱性ウォッチ」では、さまざまなオープンソースソフトウェア(OSS)の脆弱(ぜいじゃく)性に関する情報を取り上げ、解説しています。 今回は、2018年3月1日に公開されたPostgreSQLの脆弱性情報(CVE-2018-1058)を取り上げます。 脆弱性概要 脆弱性の概要は、「A Guide to CVE-2018-1058: Protect Your Search Path」(英語)に詳しく載っています

    PostgreSQLの“仕様”による、運用者にとって悩み深い脆弱性とは
  • 従量課金制のPaaS型ECプラットフォームを24時間365日支えるエンジニアリングの舞台裏

    従量課金制のPaaS型ECプラットフォームを24時間365日支えるエンジニアリングの舞台裏:特集:「差別化」をリードする、アジャイル時代のプロジェクト管理(3) 従量課金モデルを採用したPaaS型の新しいタイプのECプラットフォームを提供するCommerbleは、Microsoft Azureを中心に、AWSやCIツール、プロジェクト管理ツール、ソースコード管理ツールを連携させることによって、継続的に進化を続ける質の高いECサービスの提供に成功している。その舞台裏を聞いた。 永続的に進化するECプラットフォームを目指す 「受注した注文数に応じて利用料金を支払うだけで、質の高いECサービスを利用できる」。読者の皆さんは、まさに「使った分」の料金を支払うだけで利用できる、新しいタイプのEC特化型PaaSプラットフォーム・サービスが提供されていることをご存じだろうか。 クラウドが普及する以前は、

    従量課金制のPaaS型ECプラットフォームを24時間365日支えるエンジニアリングの舞台裏
  • OSSのサーバ構築自動化ツール、4製品徹底検証 2016年版

    OSSのサーバ構築自動化ツール、4製品徹底検証 2016年版:実際に検証済み!OSS徹底比較(4)サーバ構築自動化【後編】(6/8 ページ) Itamaeはクックパッドの荒井良太氏を中心に開発されている製品である。GitHubにも「Configuration management tool inspired by Chef, but simpler and lightweight. Formerly known as Lightchef.」と記載されており、Chefを簡素化、軽量化する目的で開発されている。当初は「Light Chef」として提供されていた。2013年に最初のStable版がリリースされており、今回の4製品の中では非常に新しい製品となっている。 ライセンスはMIT Licenseで、現在の最新の安定バージョンは2016年4月7日にリリースされた1.9.6。製品の詳細について

    OSSのサーバ構築自動化ツール、4製品徹底検証 2016年版
  • IDS/IPS――サイバー攻撃の「検知」「防止」技術の基礎

    攻撃を「検知」「防止」する 典型的な社内システム環境を想定しながら、各種のセキュリティ技術のポイントを“総ざらい”する連載。第3回である今回は、攻撃を「検知」「防止」する技術について解説します。 一般に、企業のセキュリティポリシーでは、企業活動を継続するために必要な情報資産を定義しています。この情報資産に対する脅威を発見することが「検知」の役割です。さらに、検知した脅威に対してリスクの低減や回避を行うことが「防止」の果たす役割となります。 企業は「検知」技術により、脅威を“見える化”することで、脅威への対応を行いやすくなります。さらに、「防止」技術によりその対応をセキュリティ製品に任せることも可能になります。これにより、脅威への対応の迅速化が実現でき、インターネット外部からの攻撃やマルウェア感染などのリスクをさらに低減させることができます。 脅威を「検知」する方法には、主に「シグネチャ型

    IDS/IPS――サイバー攻撃の「検知」「防止」技術の基礎
  • CentOS 7のシステム管理「systemd」をイチから理解する

    CentOS 7のシステム管理「systemd」をイチから理解する:CentOS 7で始める最新Linux管理入門(2)(1/4 ページ) 「systemd」は、Linuxの起動処理やシステム管理を行う仕組みです。systemdはinitの限界を克服するために作られた新しいシステム管理アーキテクチャで、CentOS 7でも用います。では、何が違うのでしょう。これまで使われてきた「init」と比較しながら、基礎と課題を解説します。 連載バックナンバー 前回解説した「ここが変わった、CentOS 7のポイント」に続き、今回はより実務にLinuxの起動処理やシステム管理を行う「systemd」をあらためてイチから解説します。 CentOS 7では、これまで使われてきた「init」の限界を克服するために作られた新しいシステム管理アーキテクチャとして、このsystemdを使います。 まずはその特徴を

    CentOS 7のシステム管理「systemd」をイチから理解する
  • プログラマー“専用(?)”のメモ帳アプリ「Boost」登場

    Boostは、JavaScriptなどのWeb標準技術を使ってデスクトップアプリを作成できるフレームワーク「Electron」で開発。Electronは米GitHubが公開しているもので、「Visual Studio Code」などでも採用されている。 まずはMac OS X版から提供。追って他OSやデバイス連携機能の開発も進めるという。 関連記事 Visual Studio Codeの使い方、基の「キ」 Microsoft発のクロスプラットフォームなテキストエディタ、「Visual Studio Code」の使い方の基をまとめる(バージョン1.25対応)。 GitHub(ギットハブ)の使い方:issue(イシュー)編 ソフトウェア開発プロジェクトの共有WebサービスGitHub(ギットハブ)」を「日語で」分かりやすく説明するシリーズ、今回はコミュニケーションを図るための「issu

    プログラマー“専用(?)”のメモ帳アプリ「Boost」登場
  • IIJ、ビッグデータ蓄積・利用のワンストップサービスを正式提供開始

    IIJ、ビッグデータ蓄積・利用のワンストップサービスを正式提供開始:トレジャーデータとテーマは同じ IIJは2015年3月2日、ビッグデータの収集・蓄積・解析のための環境をワンストップサービスとして提供する「IIJ GIOストレージ&アナリシスサービス」を、正式提供開始した。 インターネットイニシアティブ(IIJ)は2015年3月2日、ビッグデータの収集・蓄積・解析のための環境をワンストップサービスとして提供する「IIJ GIOストレージ&アナリシスサービス」を、同日に正式提供開始したと発表した。トレジャーデータのサービスと同じ方向を目指していると考えられる。 IIJは、「IIJ GIOストレージ&アナリシスサービス」を、2014年11月以降、試験サービスとして提供してきた。これまではクラウドストレージサービスのみだったが、保存したデータをBIツールなどで活用できる「解析オプション」を追加

    IIJ、ビッグデータ蓄積・利用のワンストップサービスを正式提供開始
  • 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で大量プッシュ通知を高速化するテクニック
  • プッシュ通知の基礎知識&秒間1万を超えるプッシュ通知基盤のアーキテクチャと仕組みとは

    連載目次 プッシュ通知とは? なぜ開発者はアプリにプッシュ通知機能を搭載するのか スマートデバイスにおける「プッシュ通知」はアプリにとって欠かせない機能の一つであり、メールマガジンと同様に重要な集客ツールです(図1)。スマートフォンをお使いの方でしたら、一度はプッシュ通知を受け取ったことがあるのではないでしょうか。 プッシュ通知はユーザーがスマートデバイスを起動していなくても通知を送ることができる仕組みであり、以下の特徴があります。 開くと直接アプリを起動するためアクションにつながりやすい アプリをインストールしているユーザーのみに届くため開封率が高い 上記のような特徴から、プッシュ通知は以下の用途で使うことが多くなります。 リアルタイムな情報配信 直接アプリ起動につながるため、ニュースなどリアルタイム性の高い情報の配信に向く ユーザーのアクティブ率向上 開封率が高いため、定期的にアプリを

    プッシュ通知の基礎知識&秒間1万を超えるプッシュ通知基盤のアーキテクチャと仕組みとは
  • Redmine連携でチケットをチャットに通知&開発を楽しくするHubotスクリプト6選

    「サンプルアプリケーションに対して修正を行う」シーンを例に、Hubotと各ツールがどう連携するかを解説しながら進めていきます。 サンプルアプリケーションは「Spark」という、Rubyの軽量Webフレームワークである「Sinatra」を参考にして作られたJavaベースのフレームワークを使い、「Hello World!」と表示するだけの簡単なWebアプリケーションを作成しました。サンプルアプリケーションの中身については、次回解説します。 タスク管理は「Redmine」で行います。サンプルアプリケーションに機能を追加する前に、Redmineにチケットを作成します。チケットの作成や更新情報もチャットに流したいので、先に設定しておきましょう。 バージョン管理はGitHubそっくりなUIと機能を提供している「GitBucket」(Scala製)で管理し、ビルドやデプロイは「Jenkins」で行います

    Redmine連携でチケットをチャットに通知&開発を楽しくするHubotスクリプト6選
  • VXLANが登場した理由、他の実装との違い、特徴を整理しよう

    VXLANが登場した理由、他の実装との違い、特徴を整理しよう:VXLAN(RFC7348)を学ぶ(1/3 ページ) RFCとして仕様が公開されたVXLAN。なぜVXLAN? VLANではだめなんですか? という素朴な疑問から、仕様概要、VXLANを使ったネットワーク構成の勘所を紹介していきます。 2014年8月、VXLAN(Virtual eXtensible Local Area Network)がIETFのRFC7348として公開されました。2011年8月に提案されてから約3年で標準化したことになります。この連載ではあらためてVXLANの登場背景、動作、デザインのポイントなどについて3回にわたって紹介します。 第1回となる今回は、いままでVXLANに触れてこなかった方にも理解いただけるよう、「VXLANって何が嬉しいの?」「何がしたかったらVXLANを使うの?」という疑問を解消しながら

    VXLANが登場した理由、他の実装との違い、特徴を整理しよう
  • GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基本的な使い方

    近年、ソフトウェア開発を取り巻く環境が急激に変化してきています。ネットワークの整備や、コミュニケーションツールの進化に伴い、リモートワークやインターネット上での協業も盛んに行われるようになってきました。チームメンバー全員の住んでいる国が違う、といったこともあるかもしれません。 しかし物理的に離れた環境で働くと、今まで対面で行っていたコミュニケーションを別の手段で代替しなければなりません。SkypeやGoogleハングアウトなどのビデオ通話、HipChatやSlackなどのチャットアプリを利用することで仕事上必要なコミュニケーションは取れるようになりますが、ソフトウェア開発に関わる状況確認は別のツールを使う必要があります。 特にオペレーションは、いつ、誰が、どのような対応をしたか把握していたいですよね。 このような課題を解決する一つのスタイルとして、「ChatOps」があります。ChatOp

    GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基本的な使い方
  • 便利なGruntの弱点を補うgulp.jsのインストールと使い方

    詳しくは上記連載を見てもらえば分かりますが、GruntとはJavaScriptを使用してWeb開発に伴うさまざまな作業を自動化して効率良く行うためのビルドツールです。 このツールでは「タスク」と呼ばれる一連の処理を設定ファイルに記述していきます。Gruntの設定ファイル(Gruntfile.js)は、タスクに対してJSON形式でパラメーターを指定していくのですが、ここで少々問題があります。 シンプルなタスクであれば分かりやすいのですが、多くの拡張機能(プラグイン)を使用したり、タスクの制御を細かく行う必要が生じたたりした場合、Gruntfileの記述量が増えて冗長になり、タスク同士の関連やタスク実行結果も分かりにくくなってしまいます。 そんなGruntの問題点を解消することを目的として開発されたのが、今回紹介する「gulp.js」(以下、gulp)です。 gulpはGruntを継承しつつ、

    便利なGruntの弱点を補うgulp.jsのインストールと使い方
  • PXE+Kickstartで動かすVirtualBox+CentOS環境自動構築サーバーの作り方

    PXE+Kickstartで動かすVirtualBox+CentOS環境自動構築サーバーの作り方:新人インフラ技術者のためのサーバー構築/運用自動化入門(2)(1/5 ページ) サーバー構築の自動化で利用される技術、自動化ツールとして「Kickstart」「Puppet」を紹介し、構築から運用まで、システムライフサイクル全体にわたる運用管理の自動化についても解説する連載。今回は、PXEとKickstartを使い、VirtualBox+CentOS環境を自動でインストールするためのサーバーの作り方について。

    PXE+Kickstartで動かすVirtualBox+CentOS環境自動構築サーバーの作り方
  • システムテスト自動化の基礎知識とMonkeyTalkの使い方

    連載目次 システムテストの自動化とは テスト自動化ツールの紹介に先立って、連載で扱う「システムテスト」の位置付け、またシステムテストのうち、どのテスト(テストタイプ)を自動化していくのかについて説明します。 システムテストの定義 システムテストとは、ユニット(単体)テスト、統合(結合)テストをパスしたアプリを対象として実施するテストレベルであり、スマートフォンアプリでは以下の位置付けで行われるテストに当たります。 ビルドされたipa/apkファイルをシミュレーターもしくは実機にインストールしてUIを操作する サーバーと通信するアプリの場合、ステージングもしくはプロダクション環境に接続する 組織のQA担当者(独立したテストチーム)が実施する システム(アプリ)の基設計に基づき、その要件を満たしていることを実証する テストレベルの概念や、より一般的なシステムテストの位置付け、またそれを自動

    システムテスト自動化の基礎知識とMonkeyTalkの使い方
  • TDD/BDDにおける「振る舞い」の意味するところとは何なのか

    TDD/BDDにおける「振る舞い」の意味するところとは何なのか:いまさら聞けないTDD/BDD超入門(3)(1/3 ページ) 前回の「TDD/BDDの思想とテスティングフレームワークの関係を整理しよう」では、TDD/BDDについて、その思想と、それをサポートするテスティングフレームワークに分けて解説しました。その中で、TDD/BDDについては実際の熟練者の言葉を借り、テスティングフレームワークについては概要を触れて、その系譜をたどりました。 BDDはその名前に「Behavior」とありますが、「振る舞いとしてのテストコードを書く」とはどういうことなのでしょうか? 難しく考え過ぎる必要はありませんが、「それは振る舞いを書いていないよ」と指摘をする熟練者が何を考えているかを理解することはBDDを習熟していく中で重要な意味を持ってきます。 記事では「振る舞い」という言葉がどのような意味で使われ

    TDD/BDDにおける「振る舞い」の意味するところとは何なのか
  • ついに「OpenID Connect」仕様が標準化

    米OpenID Foundationは2014年2月26日、さまざまなWebサイトやモバイルアプリケーションの間で、適切な相手にデジタルアイデンティティ情報を流通させるための技術である「OpenID Connect」の仕様を最終承認した。これに合わせてOpenIDファウンデーション・ジャパンは、OpenID Connect仕様群の日語訳を公開している。 Webサービスやモバイルアプリケーションの普及に伴い、多様で便利なサービスを利用できるようになった半面、管理すべきIDとパスワードも増加した。その結果、エンドユーザーがさまざまな煩雑さを強いられたり、パスワードの使い回しによるセキュリティリスクが増大するといった課題も浮上している。 OpenID Connectは、こうした課題の解決を目指し、OAuth 2.0をベースにして策定されたAPI仕様だ。ユーザーとサイトが常に1対1で認証を行う代

    ついに「OpenID Connect」仕様が標準化
  • 華やかなスタートアップの裏に隠された真実

    「スタートアップはかっこいい」、そんな風潮がなんとなく身の周りで高まっている。最近では、スタートアップ企業が集まるイベントやワークスペースにも、多くの人が集まるようになった。そんな中、起業家であり投資家でもあるニルス・ジョンソン(Nils Johnson)氏は、強いメッセージを発信する――「スタートアップが『かっこいい』というのは、リクルーターによるブランディングメッセージにすぎない」。 7月2日、Open Network Spaceで行われたミートアップで、筆者はBeautylish共同創業者であり投資家のニルス氏に話を聞いた。 ニルス氏は、美容に関する商品やメイクアップ技術などを紹介する電子商取引サイト「Beautylish」を運営する一方で、投資家として立ち上げから間もない10社以上のスタートアップ企業へ出資も行っている。これまでに投資した企業は、Dropboxが買収したMailbo

    華やかなスタートアップの裏に隠された真実
  • ちょっと変わったSQLインジェクション

    IT編集部のセミナーに出てきました 3月2日に、@IT編集部主催の「@IT セキュリティソリューション Live! in Tokyo」にて、NTTデータ先端技術の辻さんとインターネットイニシアティブの根岸さんとともに、ランチセッションに出演してきました。辻さん&根岸さんのトークに絡ませてもらい、あっという間にランチセッションは楽しく終了しました。 事前の準備中はあれだけいろいろと話そうと思っていたのに、いざ始まると時間が足りないくらい盛り上がりました。ちょっと物足りないと思うくらいがいいのかもしれませんね。その会場で使った、2002年と2012年付近の出来事を示した資料がこちらです。 私はちょうど10年前の2002年にラックに入社しました。振り返ってみればあっという間の10年の社会人生活です。こうしてみると、いろんなインシデントがリアル世界とサイバーの世界で起こっていたんだなと懐かしくな

    ちょっと変わったSQLインジェクション