タグ

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

  • [AI・機械学習の数学]確率分布の基本、ベルヌーイ分布、二項分布を理解する

    連載目次 前回までは、特定の事象(できごと)が起こる確率の取り扱いやベイズの定理などについて見てきました。ここからは「確率分布」について見ていきます。 確率分布とは、全ての事象に対する確率を洗い出して、それらの事象がどのような確率で起こるかを表したもの……いわば全体像を表したものと考えていいでしょう。といっても、抽象的すぎて何のことか分からないかもしれませんね。しかし、具体例を見れば「なんだそんなことか」と簡単に分かる話です。 ここでは「分布」とはそもそもどういうものか、ということから始め、今回は離散分布の例としてベルヌーイ分布と二項分布を、次回は連続分布の例として正規分布とベータ分布を紹介します。併せて次回、ごく簡単にではありますが、事前分布や事後分布など、ベイズ統計に関する話題についても触れます。具体的には、今回と次回で以下のようなトピックを扱います。

    [AI・機械学習の数学]確率分布の基本、ベルヌーイ分布、二項分布を理解する
  • 死活監視、ロギング、メトリクス――Kubernetesと監視の話

    第1回~第4回で、Amazon Web Services(AWS)が提供するマネージドKubernetesサービス「Amazon Elastic Kubernetes Service(EKS)」を用いた「Kubernetes」環境の構築や、Kubernetesを利用したアプリケーションの公開までを解説しました。この2つの能力があれば、ITサービスを通じてユーザーに価値を提供することができます。パン屋さんで例えるとパン(アプリケーション)を店頭で並べられるようになった(公開)といったところでしょうか。 パンを焼いて店頭に並べる一連の作業は、もちろん1回で終わるものではなく、毎日繰り返すものです。毎日繰り返すには、パンを焼くための道具や機械に不具合がないように定期的に点検して、機械が不調になったときはすぐに修理したり、一時的に代用できるものをあらかじめ準備しておいたりするなどの対策が必要です。

    死活監視、ロギング、メトリクス――Kubernetesと監視の話
  • 実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは

    ゲーマー向けの無料音声テキストチャットアプリケーション「Discord」を開発、提供するDiscordは2020年2月5日(米国時間)、アプリケーションを支える基盤サービスの一つである「Read States」をRust言語で再実装し、その結果サービスのパフォーマンスが大幅に向上したと公式ブログで明らかにした。 Read StatesサービスはこれまでGo言語で実装されていた。それにもかかわらず、なぜRead StatesをRustで再実装しようとしたのか、どのように再実装したのか、再実装によってどのようにパフォーマンスが向上したかを解説した。 Rustで再実装した背景とは Read Statesサービスの目的は、Discordユーザーがどのチャンネルのどのメッセージを読んだのかを追跡することだ。つまり、ユーザーがDiscordに接続したり、メッセージを送信したり、メッセージを読んだりする

    実装言語を「Go」から「Rust」に変更、ゲーマー向けチャットアプリ「Discord」の課題とは
    tossy_yukky
    tossy_yukky 2020/02/10
    『Rustチームと協力して』ってのがいいね。 あとこうなってくるとSlackとかの他チャットサービスとの技術スタック比較を見たくなってくる。
  • 完全マネージドな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」とは
  • AWSが「Amazon Linux 2」の正式版を公開、5年間の長期サポート(LTS)が付属

    AWSが「Amazon Linux 2」の正式版を公開、5年間の長期サポート(LTS)が付属:Amazon EC2に最適化、オンプレミスでの開発、テストにも使用可能 Amazon Web Services(AWS)は2018年6月26日(米国時間)、5年間の長期サポート(LTS)が付属する「Amazon Linux 2」の正式版を公開した。 Amazon Linux 2はAWSの最新Linuxディストリビューションで、2017年12月と2018年4月に「LTS Candidate」(長期サポート候補版)がリリースされていた。今回公開された正式版には、LTS Candidateに対するフィードバックが反映されている。 AWSはLTSとして、コアパッケージのセキュリティアップデートとバグ修正を5年間提供する。また、ユーザー空間のApplication Binary Interface(ABI)

    AWSが「Amazon Linux 2」の正式版を公開、5年間の長期サポート(LTS)が付属
  • NoSQLはRDBMSに取って代わるものなのか?

    注目を集めるNoSQLデータベース 数年ほど前から、分散KVS(Key-Value Store)や列指向(Column-Oriented)データベース、ドキュメント指向(Document-Oriented)データベースなどの新しいデータベース技術が注目を集めています。これらの新しいデータベース技術は、リレーショナルデータベース管理システム(RDBMS)とは異なる考えに基づいているので、よく「NoSQL」データベース(注1)と総称されています。 注1:「NoSQL」という言葉はもともと「近年登場している、RDBMS以外の(つまりSQLを使わない)データベース」を総称、表現したものであり、その後から「SQLは不要だ」というイメージを持つキーワードのようになってきました。データベース開発者の中には、このようなRDBMSに対するネガティブなイメージを好まず、NoSQLを「Not Only SQL

    NoSQLはRDBMSに取って代わるものなのか?
  • OpenIDをとりまくセキュリティ上の脅威とその対策 - @IT

    前回はConsumerサイトを実際に作る際のプログラミングに関してお話ししましたが、今回はOpenIDに関するセキュリティについて考えてみます。 今回取り上げるトピックとしては、 などを段階的に説明していきます。IdPの構築方法を知る前にOpenIDプロトコルのセキュリティに関して熟知しておきましょう。 OpenIDプロトコルにおける通信経路のセキュリティ ここまで詳細に解説してきませんでしたがOpenID認証プロトコルのフェイズにおいて、どのようにセキュリティ上の安全性を担保しているかを解説しましょう。 まずはassociateモードを正常に実行するSmartモードの場合です。 ConsumerはユーザーからのClaimed Identifierを受け取ると、associateのキャッシュが存在しない場合は新規にIdPに対してassociateモードのリクエストを行います。第3回で「as

    OpenIDをとりまくセキュリティ上の脅威とその対策 - @IT
  • AndroidでSQLiteのDB操作をするための基礎知識

    データベースの削除はエミュレータのManage Applicationsから行おう なお、アプリケーションをアンインストールするとファイルとして作成したデータベースも自動的に削除されるので、ご安心ください。また、削除はAndroid SDKのDDMS(Dalvik Debug Monitor Service)からではなく、Androidエミュレータの[Manage Applications]から行ってください。 DDMSからアプリの削除を行うと、アプリケーションが作成したデータベースやファイルは削除されませんので、注意が必要です。 検索はSQL文でも繰り返しバインドでも 最もよく使うSQL文は、INSERT文やDELETE文、UPDATE文、SELECT文ですが、既出のSQLiteDatabase#execSQL(String)では、SELECT文は使用できません。SQLiteStatem

    AndroidでSQLiteのDB操作をするための基礎知識
  • Drizzleプロジェクトの目指すもの、その先を読む(1/3) - @IT

    クラウドコンピューティング環境のような“massively concurrentな世界”で使えるデータベースを目指すDrizzle。その開発の方向性からこれからのWebシステムで求められるデータベースのあり方が見えるかもしれない。一足先にDrizzleに触れてみよう(編集部) Drizzleとは Drizzle とは、MySQLのもともとの目標である、使いやすさ、信頼性、そしてパフォーマンスに重点を置いたMySQLの派生プロジェクトで、Brian Aker氏(米サン・マイクロシステムズ CTO/Labs:元MySQL Director of Architecture)によって立ち上げられました。 MySQLと比較して機能面におけるDrizzleの大きな違いは、サーバアーキテクチャをマイクロカーネルにすることで、サーバ(MySQLでいうmysqld)には必要最小限の機能しか搭載せず、代わりに

  • 連載インデックス「Androidで動くJavaアプリ開発入門」 - @IT

    連載インデックス 「Androidで動くJavaアプリ開発入門」 初心者のための入門連載です。「Androidアプリとは何か」の基礎知識から開発環境の構築(Android Studio、SDK ToolsとEclipse ADT、NDK、エミュレーターなどのインストールや使い方)、Java言語で書くアプリ開発の基的なところから、最新版5の新機能までまとめて解説します。Activity、Intent、サービス、WebView、ゲーム開発、センサー、カメラ、位置情報/GPSBluetooth通信、NFC、Android Wearなど ※連載のアップデート版連載は「実業務でちゃんと使えるAndroidアプリ開発入門」として連載中です。 Javaでの常識が通用しないAndroidにおけるメモリ管理の注意点 実業務でちゃんと使えるAndroidアプリ開発入門(3) Androidアプリのメモリ

  • Google Android用携帯アプリ作成のための基礎知識 (1/5) - @IT

    Android”って何? 人造人間のこと? Androidは、Googleが発表した携帯電話のプラットフォームです。発表と同時にいろいろな媒体で紹介されましたから、ご存じの方も多いことでしょう。まだ、ご存じでない方は、ニュース記事「グーグルが「アンドロイド」SDK公開——動画デモも〜エミュレータも提供〜」が参考になるでしょう。 Linux 2.6カーネルをベースとしていて、アプリケーションの開発にはJavaを使うことができます。早速、SDK(ソフトウェア開発キット)をダウンロードして試用してみました。 携帯電話アプリ向けのJava MEとの互換性がない ところで、携帯電話などで動作するアプリケーション向けのJava Platformといえば、SunのJava ME(Java Platform, Micro Edition)があるわけですが、Androidで動作するJavaアプリケーション

    Google Android用携帯アプリ作成のための基礎知識 (1/5) - @IT
  • Mapインターフェイスの実装クラスの違いを知る

    JavaのコアAPIに含まれるjava.util.Mapインターフェイスは、キーと値とのマッピングを表すデータ構造のためのインターフェイスです。同パッケージに含まれるListインターフェイスとともに、Javaプログラミングでは非常によく使われるインターフェイスといえるでしょう。 コアAPIには、このMapインタフェース実装クラスがいくつも用意されています。マップというデータ構造は、常にキーを通して値へのアクセスを行うものです。そのため、キーが許容する値やその格納方法などが、個々の実装を特徴付けるポイントになります。 マップの利用頻度は非常に多いだけに、コアAPIで使えるマップの種類を確認しておくのは、効果的なプログラミングへとつながります。ここでは、java.utilパッケージに含まれる5つのMap実装クラス、Hashtable、HashMap、TreeMap、IdentityHashMa

    Mapインターフェイスの実装クラスの違いを知る
  • Eclipseで逆コンパイルを行う

    ソースコードを入手できないJavaプログラムを修正するときなど、クラスファイルから基になったソースコードの復元が必要になることがあります。このような方法は、ソースコードを「コンパイル」してクラスファイルを生成する通常の流れとは逆になるため、「逆コンパイル」と呼ばれています。この逆コンパイルを行えば、コンパイル時に失われる情報(コメントや定数同士の四則演算など)以外のソースコードを復元することができます。 Javaの逆コンパイルツールはいくつかありますが、稿ではJadとJadClipseというツールを使用して、Eclipse上で逆コンパイルする方法を紹介します。 操作手順 (1)JadとJadClipseのダウンロード Jadはコマンドラインで使用する逆コンパイラで、JadClipseというEclipseプラグインを利用すれば、Eclipse上から使用することができます。JadClipse

    Eclipseで逆コンパイルを行う
  • APIアクセス権を委譲するプロトコル、OAuthを知る - @IT

    クロスドメインでのデジタルアイデンティティを守る APIアクセス権を委譲するプロトコル、 OAuthを知る 作島 立樹 NRIパシフィック 2008/1/21 OAuthプロトコルを知る OAuthを使ったWeb APIアクセス権の委譲が実際にどのように行われるかはエラン・ハマー氏のブログに詳しいが、簡単に説明すると、2つのアプリケーションをマッシュアップさせたい「ユーザー」が、リソース(例えば、アルバムサイトにある写真など)を管理するサイト「サービスプロバイダ」が提供するAPIの接続許可証「トークン」を、サービスプロバイダを通じて、リソースを利用したサービスを提供する別のサイト(例えば、写真を現像するサイト)「コンシューマ」へ発行し、IDとパスワードの代わりにトークンを渡してサービスプロバイダ上のリソースへアクセスさせる、ということになる。

  • LVMによる自動バックアップ・システムの構築

    今回は、バックアップ計画立案に際して検討すべき点から、カーネル2.4の機能であるLVMを利用したバックアップ・システムの構築方法を解説する。これを参考に、確実にリストアできるバックアップ体制を整えてほしい。(編集局) バックアップ計画の立案 前回は、バックアップを実施するために必要なバックアップデバイスやツールの基的な操作について説明しました。では、バックアップを行うための計画を立案する際に、どのような点を考慮すればいいのでしょうか? バックアップに際して考慮すべき項目は多数存在し、当然ながらシステム環境や要件によって異なります。 バックアップ計画の検討事項 ●リストアが最終目的 バックアップ計画を検討する場合、リストアするときのことを第一に考えるべきです。バックアップの最終的な目的はデータを複製することではなく、何らかの障害が発生した際に「迅速に正しいデータをリストアすること」にありま

    LVMによる自動バックアップ・システムの構築
  • 名前解決の仕組みとゾーンファイルの設定

    今回は、BINDの設定を行う。ゾーンファイルの編集を行って正引き・逆引きが行えるようにするほか、MX、CNAMEなど各種レコードの使い方を紹介する。また、名前解決の仕組みについてもここで理解しておいてほしい。 BINDの基的な動作 前回、DNSサーバの代表的な実装であるBINDをインストールしました。今回は設定を行います。 しかしその前に、BINDの動作を簡単に理解しておく必要があります。そうせずに、単に資料の引き写しの設定ファイルを使う方法もありますが、予期せぬ動作をしたときに対処できなくなってしまいます。 前回、「DNSは分散型データベースである」と述べました。つまり、どこかにすべてのデータを持ったサーバがあるわけではなく、あちらこちらにサーバが分散しているわけです。問題は、どうやって目的のデータを持ったサーバを見つけだすかです。 さすがに手掛かりゼロではどうしようもないので、最初の

    名前解決の仕組みとゾーンファイルの設定
  • qmailによるSMTPサーバの構築

    # mkdir /var/qmail # groupadd nofiles # useradd -g nofiles -d /var/qmail/alias -s /bin/false alias # useradd -g nofiles -d /var/qmail -s /bin/false qmaild # useradd -g nofiles -d /var/qmail -s /bin/false qmaill # useradd -g nofiles -d /var/qmail -s /bin/false qmailp # groupadd qmail # useradd -g qmail -d /var/qmail -s /bin/false qmailq # useradd -g qmail -d /var/qmail -s /bin/false qmailr # userad

    qmailによるSMTPサーバの構築
  • DNSの仕組みの基本を理解しよう

    いきなりだが、2001年はDNSDomain Name System)にとっては、当たり年ともいえる年だった。ニュースなどでも取り上げられているが、「日語」や「多言語」ドメインという大きな構造変化がシステム全体に押し寄せ、ブロードバンド環境の広がりは、個人がドメインを取得して運用するための足掛かりともなった。 連載では、ドメインの運用など、これからDNSと付き合おうとしている方々を対象に「DNSの概念や運用の考え方」を明らかにしていこう。ただし「BIND」など、DNSに関する具体的な製品の設定方法については触れない。詳しくは以下の記事もぜひ参考にしてほしい。 DNSはなぜ必要か? 最初に、「DNSとは何か」を説明するために、「なぜDNSが必要になるのか」を考えてみよう。それには、歴史的経緯から考えるのが分かりやすい。 DNSはご承知のとおり、IPアドレスホスト名をマッピングして相互

    DNSの仕組みの基本を理解しよう
  • Praggerとnetpbmで作る画像→AA変換ツール(1/3) - @IT

    Rubyを使って何か面白いものを作ってみよう! 高倉 利明 株式会社ケイビーエムジェイ 2008/9/24 一般的な画像をアスキーアートに変換するツールを作ってみる。さらに出力にバリエーションを持たせてみよう(編集部) 記事では、Praggerとnetpbmという2つのライブラリを用いて、画像からアスキーアート(以下AA)を作成して出力するツールについて説明します。「Rubyを使って何か面白いものを作ってみよう!」という筆者の興味に基づいているため、作成したツールが実用的かどうかは度外視しています。 今回は以下の環境を前提としています。関連ソフトウェアについてはあらかじめインストールしておいてください。 ・OS Ubuntu 8.04 (i386) apt-get、aptitudeなどが使える状態が望ましいです。 ・関連ソフトウェア Ruby 1.8.6 Rubygems 1.2.0 S

  • 思いついた未来を軽量言語で実装してみよう - @IT

    プロトタイピングツールとしてのLL 佐藤 伸吾 株式会社ケイビーエムジェイ 2008/10/24 「あんなことができたらいいな」と思ったら、とにかくコーディング。軽量プログラミング言語をプロトタイピングツールとして使ってみよう(編集部) 私はプライベートにおいてHacker's Cafeというグループに参加しています。所属組織の枠を超えた緩いつながりの気楽な集まりです。主に土日などの休みを使ってメンバーが集まり、各自好きなコーディングなどを楽しんでいます。 この記事ではHacker's Cafeの活動から生まれたさまざまな成果物の紹介、およびその迅速な開発を可能にした軽量プログラミング言語(LL)のメリットについて解説します。 プロトタイピングツールとしてのLL PCからのハードウェア制御はそれなりの専門知識がないと気軽には試せない分野でした。しかし、現在ではGainerというI/Oモジュ