クラウド

IBM Cloud Watson API の使用状況を確認する方法

IBM Watson は、画像認識やテキストの読み取りなど、さまざまな AI機能を利用できるサービスです。IBM Cloud の API で利用することができます。ほとんどの Watson サービスにはライトプランという一定の使用量までは無料で利用できる仕組みがあるのですが、一定の使用量を超える場合は、プランを変更する必要があります。そこで今回は、Watson API の使用状況を確認する方法まと...
クラウド

AWS CLI バージョン2(Python依存なし!)インストールメモ

AWS CLI は、コマンドラインから AWS の各種サービスを管理するためのツールです。開発者にとって AWS CLI とても便利なツールなのですが、AWS CLI は Python で書かれているため、Python のバージョンに注意しなければなりません。うっかり Python をバージョンアップして AWS CLI が動かなくなることもままあります。AWS CLI バージョン2 は、Pyth...
クラウド

Amazon Transcribe の使い方 日本語音声をテキストに変換してみよう

Amazon Transcribe(トランスクライブ=書き起こし)は、音声をテキストに変換してくれる AWS の自動音声認識 (ASR) サービスです。オンラインストレージの Amazon S3 に保存した音声ファイルを Amazon Transcribe で分析することで、簡単に音声の書き起こしをすることができます。そこで今回は、日本語音声を Amazon Transcribe を使ってテキスト...
プログラム

2段階認証を実装するための記事まとめ(PHP+認証アプリ)

Google Authenticator などの認証アプリを使った2段階認証を、ご自分や自社の WEBサービスに導入するのは少しハードルが高いと思ってはいませんか? 実は、認証アプリを使った2段階認証は、RFC6238 Time-Based One-Time Password Algorithm というとてもシンプルな技術仕様で実装できるため、スマートフォンが普及した現在では、比較的簡単に導入する...
プログラム

PHP で otpauth URI(TOTP)を作成する方法

2段階認証でよく使われる TOTP(時間ベースのワンタイムパスワード)は、利用をはじめる時に Google Authenticator などの認証アプリに、サーバーで生成した秘密鍵を登録します。この登録する秘密鍵はQRコードで表示することが多いのですが、その際に秘密鍵などを otpauth URI という形式にしてQRコードに埋め込む必要があります。そこで今回は、PHP で otpauth URI...
プログラム

5分で出来る!PHPでQRコードを生成する方法

つい先日 PHPでQRコードを生成する機会があったので少し調べてみました。実装は大変かと思っていましたが、ありがたいことに QRコードを生成する PHPライブラリはいくつも公開されていて、簡単に QRコードを生成することができそうです。そこで今回は、endroid/qr-code を使って PHPでQRコードを生成する方法をまとめてみました。
WordPress

BackWPupエラーがジョブの開始方法をリンクにしたら解決した話

WordPress のバックアップで定番のプラグイン BackWPup のエラーが PHPのメモリ上限を調整しても、BackWPup の設定をいじくりたおしても、どうにもこうにも解消しなかったのですが、ふとしたことから BackWPup のジョブの開始方法を「リンク」にしたら解決しました。珍しいケースかもしれませんが、せっかくなので設定方法などを記事にまとめてみました。
Zabbix

Zabbix 4.4で追加されたWebhookでSlackに通知する設定メモ

Zabbix 4.4 ではメディアタイプ(障害などを通知する方法)に Webhook が追加されました。これまでは、Slack などのチャットサービスに障害通知を送信する場合は、外部スクリプトを作成する必要がありましたが、この Webhook を使えば、Zabbix の管理画面だけで外部サービスに通知するための JavaScriptコードの入力や編集がすることができます。そこで今回は、Zabbix...
Zabbix

Zabbix 4.4 インストールメモ(CentOS8)

2019年10月7日、Zabbix 4.4 がリリース されました。およそ半年ぶりのバージョンアップです。Zabbix 4.4 では、Go言語で書かれた新しいエージェント zabbix_agent2(現在はアルファ版)が導入され、メディアタイプ(通知の方法)で Webhook が使えるようになっています。そこで今回は、CentOS8(8.0.1905)に Zabbix 4.4 をインストールする手...
Linux

5分で作れる!Kubernetes(K8s)のローカル開発環境

Kubernetes は、コンテナ化されたアプリケーションを管理するための、オープンソースのシステムです。「クバネティス」や「クーベネティス」と呼ばれることが多く、略して「K8s」と表記します。これまでは、例えばWebサービスをリリースする場合、インフラエンジニアが手順書に沿ってサーバーを構築し、プログラマがその上にアプリケーションをデプロイ(配置)するのが一般的でしたが、Kubernetes を...
Linux

CentOS8 は CentOS7 よりもパフォーマンスが向上している話

つい前日、CentOS の開発者の方のツイッターで「CentOS8 は CentOS7 よりもパフォーマンスが優れている」旨のツイートを見かけました。最新バージョンのサーバーOSを採用するのに一番大変なのは関係者への説得です(^^;) パフォーマンスの向上という利点があれば説得もやりやすくなりそうですね。そこで今回は、実際に CentOS8 と CentOS7 のベンチマーク(UnixBench)...
Linux

CentOS 8.0 (1905) LAMPサーバインストールメモ【Apache2.4+MySQL8.0+PHP7.2】

2019年9月24日 CentOS 8.0(1905)がリリース されました。CentOS7.7のリリースを優先させたこともあり、5月のRHEL8.0のリリースから約4ヶ月半でのリリースになりました。待ちに待っていた方も多いのではないでしょうか。CentOS7.0(1406)のリリースからは約5年ぶりのメジャーバージョンアップです。CentOS 8.0 では PHP7.2 や MySQL8、Apa...
その他

Apple Watch Series 5 レビュー(Series2から買い替えて良かった点)

つい先日、約三年間使った Apple Watch Series 2 を、Apple Watch Series 5 に買い替えました。なかなかの出費になるので買い換えるかどうか悩みましたが、Apple Watch Series 5 にして大正解でした。そこで今回は、Apple Watch を買い替えようか迷っている方向けに、Series2から Apple Watch Series 5 に買い替えて良...
Linux

CentOS 7.7 (1908) LAMPサーバインストールメモ【Apache2.4+MySQL8.0+PHP7.3】

2019年9月17日 CentOS 7.7 (1908) がリリース されました。RHEL7.7のリリースから約40日でのリリースになります。前バージョンCentOS7.6(1811)のリリースからは約9ヶ月ぶりのバージョンアップです。今回のバージョンアップでは、Python3 が利用可能になりました。また、CentOS8のリリースが9月24日に予定されていますので、新規でインストールする場合は ...
Linux

Mattermost v5.14 インストールメモ(CentOS7)

Mattermost(マターモースト)は、Slack と同等の機能を備えるオープンソースのチャットツールです。Mattermost は、実行ファイルや Dockerイメージで提供されているので、自分で用意したサーバーにインストールして運用できることが大きな特徴です。そこで今回は、CentOS7 に Mattermost v5.14 をインストールする手順をまとめてみました。
プログラム

PHP + Google Authenticator(TOTP)2段階認証の実装方法

2019年7月、あるスマートフォン決済サービスが不正利用され多くの利用者の方が被害に遭われました。その決済サービスには、2段階認証やそれに準ずるセキュリティ対策を怠ったとして大きな批判が集まりました。高い安全性が求められるサービスでは、パスワード認証だけでは安全を確保することが難しくなっています。そこで今回は、PHP と Google Authenticator を使った2段階認証の実装方法をまと...
その他

Titanセキュリティキーの使い方(パソコンとiPhoneの場合)

Titanセキュリティキーは、Googleがファームウェアを設計した2段階認証用の物理的なセキュリティキーです。モバイル端末用の Bluetoothキー(写真左)と、USBキー(写真右)の2本がセットになっています。Titanセキュリティキーは、オンライン認証技術の FIDO(ファイド)標準に対応していますので、Google系のサービスだけでなく、AWSやTwitterなどのサービスの2段階認証の...
Linux

Apache httpd 2.4.41(TLS1.3対応)+ HTTP/2 + Brotli インストールメモ

その他

イヤイヤ期!魔の2歳児 兄がいる男の子への対処法(お父さんむけ)

2歳ころの幼児期にみられる第一次反抗期(いわゆる「イヤイヤ期」)は、特に自己主張が激しく、親の言うことをほとんど聞かなくなるため「魔の2歳児」とも呼ばれます。わが家にも、2歳の男の子と5歳の兄がいるのですが、2歳の男の子はこれぞ「魔の2歳児」のお手本ばかりに毎日自己主張を繰り返しています(^^;) イヤイヤの矛先は気の毒なことに母親に向くことが多いのですが、お父さんも出来ることはしなければなりませ...
プログラム

Python の勉強時間を取れない人に Pythonista は絶対オススメな話

最近注目のプログラミング言語 Python(パイソン)の勉強をしたいけれども、なかなか勉強時間を取れない方は多いのではないでしょうか? そんな方にオススメなのが Python のコードを iPhone や iPad で 簡単に実行できるアプリ Pythonista(パイソニスタ)です。そこで今回は、Python の勉強時間を取れない人に Pythonista をオススメする理由をまとめてみました。
その他

ITストラテジスト試験は、勉強法が他の報処理試験とは違った話

昨年、ITストラテジスト試験(経済産業省認定)を受験して、おかげさまで無事に合格しました。これまでに、色々な情報処理技術者試験を受験してきましたが、ITストラテジスト試験は、他の情報処理技術者試験とは少し勉強法が違ったのが印象的でした。そこで今回は、ITストラテジスト試験の勉強法の違いについてまとめてみました。
Linux

5分でできる!SSH + Google Authenticator 二段階認証設定(CentOS7)

ここ最近、在宅勤務やサテライトオフィスで仕事をする方が増えたためか、サーバーへの SSH接続を IPアドレスで制限することができないケースがよくあります。しかし、特に重要なサーバーの場合は、パスワード認証だけではちょっと心配ですね。そこで今回は、Google Authenticator を使って SSHログインに二段階認証(「二要素認証」とも言います)を導入する手順をまとめてみました。
PHP

PHP のセッションを使ったログイン認証はなぜ安全なのか?

PHP のセッションを使ったログイン認証後の処理は、上のように簡単なコードで実装できてしまいます。利用者の大切な情報を守るための、とても重要な処理なのですが、こんな簡単なコードで大丈夫なのかと不安になるのは私だけでしょうか(^^;) そこで今回は、PHP のセッションを使ったログイン認証がなぜ安全なのかを、PHP のセッションの仕組みをふまえて検証してみました。
クラウド

大手Webサービス10社のパスワードポリシーとリセット方法を調べてみた

つい先日、パスワードポリシーのチェックやパスワードのリセット方法など、サービス提供者として認証システムの仕様を検討する機会がありました。普段多くの Webサービスのお世話になっているのですが、認証にかかわる部分はあまり気にしたことがありませんでした。そこで今回は、パスワードに関するガイドラインと、大手Webサービス10社の実際のパスワードポリシーのチェックとリセット方法を調べてみました。
ディープラーニング

5分でわかる!活性化関数の実装方法(Python)

活性化関数には、中間層でよく使われる「シグモイド関数」や「ReLU(ランプ関数)」、出力層で使われる「恒等関数」や「ソフトマックス関数」があります。どれも聞きなれない名前が付いているので、いっけん難しそうに思えますが、実際にプログラムでこれらの関数を作ってみると、わずか数行のコードでできてしまうほど簡単です。そこで今回は、Python(バージョン3)での活性化関数の実装方法をまとめてみました。
ディープラーニング

活性化関数がディープラーニングに必要な理由

ディープラーニングやその基礎となるニューラルネットワークには「活性化関数」が欠かすことができません。この活性化関数を使うことにより、ニューラルネットワークは人間の脳のように複雑な表現ができると言われています。しかしなぜ、活性化関数を使えば複雑な表現ができるのでしょうか? そこで今回は、ニューラルネットワークやそれを応用したディープラーニングで「活性化関数」が必要な理由をまとめてみました。
ディープラーニング

5分でわかる!「行列」の計算方法

ディープラーニングでは、掛け算の合計をなんども計算する必要があるのですが、この時にとても役に立つのが「行列」(単なる数値をタテヨコに並べたもの)同士の掛け算です。しかし、いざ「行列を計算せよ!」と言われても戸惑ってしまいますね。そこで今回は、「行列」の計算方法をできるだけわかりやすくまとめてみました。
ディープラーニング

ディープラーニングの数学「スカラー・ベクトル・行列・テンソル」とは?

ディープラーニングの解説では「スカラー・ベクトル・行列・テンソル」という言葉がよく出てきます。これらは、数値をまとめてあつかうための数学の便利な仕組みなのですが、私をふくめ数学が苦手な方にとっては「〜をベクトルにして」とか「行列とスカラーを計算するには〜」と言われると、おそろしく難解なことに思えるのではないでしょうか? そこで今回は、「スカラー・ベクトル・行列・テンソル」についてまとめてみました。
ディープラーニング

5分でわかる!パーセプトロンの仕組みと実装方法(Python)

パーセプトロン(perceptron)は、今(2019年)から60年以上前にアメリカの心理学者フランク・ローゼンブラッド氏によって考案されたアルゴリズム(演算する手順)です。パーセプトロンは昔からあるアルゴリズムなのですが、ディープラーニングの大元となるアルゴリズムです。そのためディープラーニングを理解する上で、このパーセプトロンの仕組みを知っておくことが欠かせません。そこで今回は、パーセプトロン...
Zabbix

Zabbix 4.0 監視対象ホストの自動登録設定メモ

Zabbix で監視しているサーバーの台数が増えてくると、監視対象ホストを登録する手間が大変になり、設定ミスも発生しやすくなります。特にオートスケーリングなどで動的にサーバーの台数が増減する環境では、手作業の登録は難しいでしょう。そこで今回は、Zabbix の自動登録機能を使って監視対象ホストを自動登録する設定手順をまとめてみました。