データ分析

5分で分かる!確率統計「nCr」の計算方法

数学の確率の問題で出てくる nCr は、組み合わせの数(Combination)を表す記号です。高校の数学で学ぶはずなのですが、学生時代あまり勉強熱心ではなかった私には、例えば 4C2 = 6 となるのがよく理解できませんでした。統計学では当たり前のようにこの nCr 記号が出てきますので、とても困ります。そこで今回は、nCr の意味と計算方法をまとめてみました。
Linux

Apache ネットワーク転送量を計測

最近のレンタルサーバやVPSは、ネットワーク転送量無制限のサービスがほとんどのため、あまり転送量を気にすることが少なくなりましたが、ネットワーク転送量で従量課金するAWSや、CDN、クラウド型のロードバランサーを利用する際に、費用見積のため、転送量を調べたい場合が時々あります。そこで今回は、Apacheのアクセスログから、ネットワーク転送量を計測する方法をまとめてみました。
Linux

Apache HTTP/2 + PHP7 のパフォーマンスを測定

前回の記事「Apache HTTP/2+PHP7+MySQL5.7 インストールメモ」で構築したサーバの、パフォーマンス(レスポンスタイム)を測定してみました。HTTP/1.1+PHP5.4 の環境と比較してみると、大幅にパフォーマンスが向上しています。当然の結果かと思いますが、あまりに劇的だったのでメモとして残しておきます。
Linux

Apache HTTP/2+PHP7+MySQL5.7 インストールメモ

2015年もあと少しになりました。今年を振り返ってみると、HTTP/2 の標準化と主要WEBサーバへの実装、2倍以上の性能向上やメモリ使用量を低減した PHP7 のリリース、Let's Encrypt によるSSL/TLSサーバー証明書の無料化、パフォーマンスが飛躍的に向上した MySQL5.7 のGA版リリースなど、2015年はWEBに関する技術が、大きく変化した年だったと思います。そこで今回は...
クラウド

KeyCDN が Let's Encrypt に対応したので使ってみた

2015年12月14日 KeyCDN が 無料SSL/TLSサーバー証明書の Let's Encrypt に対応したそうです。Let's Encrypt のパブリックベータ公開から、わずか10日での対応になりますね。これまでは、独自ドメインで、HTTPS(SSL/TLS)な CDN を設定する場合は、別途サーバー証明書を取得する必要がありましたが、この対応により、KeyCDN 側で Let's E...
Linux

CentOS 7.2 (1511) LAMPサーバインストールメモ【CentOS7.2.1511+Apache+MySQL+PHP】

2015年12月14日 CentOS7.2 (1511) がリリースされました。RHEL 7.2 (11/19)から約1ヶ月でのリリースになります。そろそろ、CentOS 7系への移行を検討されている方もいらっしゃるのではないでしょうか。さっそく、CentOS7.2 で LAMP構成をインストールする手順をメモしておきました。
Linux

Let's Encrypt サーバー証明書の取得と自動更新設定メモ

Let's Encrypt は、自分が所有しているドメインのSSL/TLSサーバー証明書を、無料で発行してくれる認証局(CA)です。この認証局は、Mozilla、アカマイ、シスコなどが参加するISRGというカリフォルニア州の公益法人が運営しています。 Let's Encrypt は、証明書にまつわる作業の「自動化」を目指しているため、わずか1行のコマンドを実行するだけで、証明書が取得できます。ただ...
Linux

GitLab 8.2 + HTTPS 設定メモ(CentOS7)

GitLab は、GitHubのようなリポジトリ管理システムを、自前のサーバに構築できるオープンソースです。公開してかまわないソースコードであれば、GitHubを利用するのが簡単ですが、お仕事でのソースコードは、公開できないことが、ほとんどではないでしょうか? GitHub Enterprise を使えば、非公開の環境にできますが、なかなかのお値段ですので、導入が難しい場合もあるかと思います。一方...
Linux

Apache 2.4.17 + mod_http2 インストールメモ【HTTP/2】

クラウド

KeyCDN が HTTP/2 に対応したので使ってみた

KeyCDN が HTTP/2 に対応したそうなので、早速使ってみました。既に運用中の Zone でも、設定ひとつで簡単に HTTP/2 を有効にできます。
データ分析

dimple.js 積上げ棒グラフの作り方

dimple(ディンプル)は、さまざまなグラフを簡単に作成できる JavaScript ライブラリです。データ可視化ライブラリの定番 D3.js と合わせて使います。D3.js は柔軟性が高く、複雑なデータを可視化することが得意ですが、グラフの描画処理を自分で作成する必要があります。描画処理のコードを書くのは、なかなか大変ですが、この dimple ライブラリを使えば、複雑なグラフを、わずか数行の...
データ分析

5分で分かる!「標準偏差」の使い方

標準偏差は、データの「ばらつき」を表す値です。データ分析をする上で、とても重要な値なのですが、私のように統計学に馴染みがない人にとって、この標準偏差は、大変とっつきにくい存在ではないでしょうか? そこで今回は、標準偏差の意味や使い所を、できるだけ分かりやすくまとめてみました。
Linux

SysBench で MySQL の性能測定(ベンチマーク)

SysBench は、CPUやメモリ、ディスクI/Oなど、さまざまなシステム性能を測定することができる、ベンチマークツールです。中でも、MySQLなどのデータベースのトランザクション処理の測定ができるのが特徴です。そこで今回は、SysBench を使って、MySQL のベンチマークテストをしてみたいと思います。
Zabbix

Zabbix MySQLスレーブサーバ(レプリケーション)の監視設定メモ

MySQLを、マスター/スレーブ構成で運用している時に、監視しておきたいのが、レプリケーションが正常に動作していることです。マスターサーバになにか障害が発生した場合は、即座にサービスに影響が出るため、すぐ気が付けますが、スレーブサーバでレプリケーションが停止していたり、遅延が発生していることは、なかなか気が付けないことが多く、データ不整合が発覚して、はじめて気づくこともあります。そこで今回は、Za...
Linux

MySQL 5.6 マスター/スレーブサーバの設定メモ

MySQL のレプリケーションを使うと、負荷分散、ホットスタンバイ、データのバックアップといったことが、簡単に実現できます。MySQLの中でも特に人気のある機能ではないでしょうか。この便利なレプリケーションを使うには、そこそこの設定が必要です。そしてよく忘れます(^^;) そこで今回は、マスターサーバの設定から、スレーブサーバを構築するまでの手順をメモしておきました。
Linux

nmcli コマンドで DNSサーバを変更できない時の対応方法(CentOS7)

NetworkManager の nmcli コマンドで、DHCPにより設定されたDNSサーバを削除できないため、参照先のDNSサーバを変更できない場合があります。これはコマンドを1行打てば回避できます。ついでに NetworkManager が /etc/resolv.conf を書換える挙動を少し調べてみましたので、メモしておきました。
Linux

CentOS 6.7 LAMPサーバ インストールメモ【CentOS6.7+Apache+MySQL+PHP】

RHEL6.7から16日で CentOS 6.7 がリリースされました。今回のリリースでは、システム管理やセキュリティなどの機能が強化されています。さっそく、CentOS 6.7 で LAMP構成をインストールする手順をメモしておきました。
Zabbix

PHP 5分でわかる! Zabbix API の使い方(ホスト一覧の取得)

Zabbix API を使うと、プログラムやコマンドラインから、ホストを追加したり、監視データを取得することが出来ます。自動化ツールの Chef 等と組み合わせれば、サーバの監視設定までもを自動化することが可能です。API と聞くと少し難解なイメージがありますが、Zabbix API は JSON-RPC 2.0 のシンプルな仕様に準拠しているため、比較的簡単に使えるようです。そこで今回は、PHP...
プログラム

Twitter API search/tweets で 100件以上のツイートを取得する(PHP)

Twitter のツイート検索API(search/tweets)で、取得できるツイート数の上限は 100件 です。分析用途で使うには、ちょっと件数が少ないですね。そこで今回は、Twitter API で 100件 以上のツイートを取得する方法をご紹介します。
Linux

Redis と php-pecl-redis のインストールメモ(CentOS7.1.1503)

Redis(レディス)は、メモリ上でデータの高速な読み書きを可能にする、キーバリューストアを構築するためのソフトウェアです。キーバリューストアの代表格 Memcached と比べると、Redis は高機能で、データの永続化や、データ構造のサポート、データレプリケーション機能など、便利な機能が色々あります。そこで今回は、Redis と php-pecl-redis のインストール手順と、Redis ...
Linux

ownClowd 8.1 + HTTPS + Memcached の設定メモ(CentOS7.1.1503)

ownCloud は、ドロップボックスのようなオンラインストレージを、自分のサーバ上に構築できるオープンソースソフトウェアです。クライアントは、WEBブラウザさえあれば、ownCloud で、ファイルを共有することが可能です。 さらに専用のクライアントソフトをインストールすれば、PC上に、自動で ownCloud と同期するフォルダを作成できます。iOS/Androidアプリも用意されているので、...
データ分析

TWKEY について

TWKEY(ツイッキー)は、ある検索ワードで Twitter ツイートを検索して、ツイートに含まれる単語の出現回数をランキング表示する、簡易的なテキストマイニングツールです。もしかしたら、この TWKEY を使って「ビールとおむつ」のような、関連するキーワードを見つけられるかもしれませんよ。
データ分析

PHP 政府統計 API の使い方メモ(e-Stat)

政府統計の総合窓口(e-Stat)の API 機能 では、各府省が公表する統計データを、APIを使って簡単に取得することができます。以前は各府省ごとに、統計データを公開していましたが、近年この、政府統計の総合窓口サイトの1つにまとめられ、昨年からは API 機能の提供も開始されました。 政府統計 API の使い方はいたって簡単なのですが、統計データの種類、量ともに膨大なため、データ取得までの流れが...
データ分析

5分で分かる!相関係数の求め方

相関係数は、体重と身長など、2つの値の関係の強さを示す数値です。相関係数を使えば「Aの商品を買っている人は、Bの商品を買うことが多い」のような傾向を、見つける事が出来るかもしれません。統計学を使ったデータ分析で、まず初めに使ってみたくなるのが、この「相関係数」ではないでしょうか? そこで今回は、相関係数の求め方を、出来るだけ分かりやすくまとめてみました。
Linux

MeCab システム辞書への単語追加(mecab-ipadic-neologd)

MeCab 辞書には、以前の記事でご紹介した「ユーザ辞書」と「システム辞書」の2種類があります。ユーザ辞書への単語の追加は、手軽な反面、解析速度が落ちるといったデメリットもあります。そこで今回は、MeCab の「システム辞書」に単語を追加する方法をご紹介します。また、最近話題の新語辞書 mecab-ipadic-neologd もシステム辞書に追加してみました。
プログラム

PHP 5分で出来る!Twitter API アプリケーション認証(Application-only authentication)

ツイッター API の、アプリケーション認証 (app auth) を使うと、15分あたりのAPI利用上限を、ツイート検索が 180回 から 450回 に、タイムライン取得は 180回 から 300回 に増やすことができます。ツイート探索系のアプリを作るのには、ちょっと嬉しい仕組みですね。 そこで今回は、PHP から Twitter API アプリケーション認証を行い、ツイート検索をする方法をご紹...
Linux

MeCab ユーザ辞書への単語追加

MeCab を使って、文章を単語に分割した時に、複数の単語が含まれる複合語などが、思ったように分割できない事があります。例えば「焼肉定食」は「焼肉」と「定食」の2つの単語に分割されてしまいます。MeCab には「最小単位の単語に分割する」という基本ルールがあるので、この分割は正しいのですが、実際に文章を解析する時は、1つの単語として扱いたくなります。そこで今回は、MeCab の辞書に単語を追加して...
Linux

NFS サーバ/クライアント設定メモ(CentOS7.1.1503)

NFS(Network File System)は、複数のホストから、同じファイルを共有することができる、分散ファイルシステムです。NFS の歴史は古く、30年近く使われているそうです。ファイル共有のプロトコルは、FTP や SMB をよく耳にしますが、NFS は、その仕組みのシンプルさから、ロードバランサー配下のWEBサーバなどでよく使われています。
Linux

RPMのコンパイルオプションを変更してインストールする方法

RPM は、CentOSなどRedHat系のOSで使われている、パッケージ管理システムです。実際には RPM の依存関係を考慮して、インストールなどをしてくれる yumコマンド を使って、RPM パッケージを扱うことが多いかと思います。 RPM パッケージに含まれる、ソフトやライブラリはコンパイル済なので、ソースファイルからコンパイル(ビルド)する手間を軽減できます。便利な仕組みなのですが、稀にコ...
プログラム

MeCab と php-mecab のインストールメモ(CentOS7.1)

MeCab は、日本語の文章を解析して、単語に分割してくれるソフトウェアです。WEBサービスを作るにあたって MeCab を PHP から使う必要があったので、今回は php-mecab もインストールしました。MeCab(めーきゃぶ)の名称は、開発者さんの好物「めかぶ」にちなんで付けられたそうです。ふと、めかぶをつまみに一杯やりたくなりました。(^^)