$yuzu->log();

技術ネタなど。

【PHP】OpauthでLINEログインを簡単に実装する

PHPのSNSログインライブラリ、OpauthがLINEログインに対応しました! Opauthを使えば簡単にLINEログインも実装できます。 バグがあったらPRお願いします。 github.com PHPでLINEログインを実装してみる LINEログイン準備編 business.line.me ログイン後にア…

RubyのOmniAuthのPHP版、Opauthのコミッターになった。

諸事情により複数SNS連携ログインをPHPで実装しなくてはならなくなりました。 RubyのOmniAuthのPHP版と謳っていた、Opauthを使ってみたのですが、改良の余地が色々ありました。 なのでリポジトリ上で色々活動していたら、Opauthの管理者であり、Blockchain d…

【機械学習】サポートベクターマシン(SVM)を使用して、乳癌かどうか調べてみる

サポートベクターマシン(SVM)について サポートベクターマシン(以下SVM)とは、教師ありの機械学習の一手法です。 SVMは、現在知られている機械学習の手法の中で、認識性能が優れた学習モデルの一つです。 その理由は、未学習データに対して高い識別性能を…

【機械学習】ニューラルネットワークを利用して自分の好みの女性を学習させる

ニューラルネットワークとは? 脳内には多数のニューロンと呼ばれる神経細胞があります。それぞれのニューロンは、他のニューロンから信号を受け付け,他のニューロンへ信号を受け渡しています。脳は、この信号の流れによって、様々な情報処理を行っています…

カラーヒストグラムを利用した類似画像検索システムの作り方

最近Machine Learning(機械学習)を勉強することが多いのですが、そこに引きづられて類似画像検索について勉強する機会があったので、その内容についてまとめます。 画像検索ではクエリにテキストを入れてテキストに関連した画像を検索します。 一方、類似画…

【機械学習】ナイーブベイズ分類アルゴリズムを利用した迷惑メールフィルタ実装例

ナイーブベイズ分類器とは? ベイズの定理を利用した分類手法です。 ベイズの定理について知りたい方は下記の参照下さい。 yuzurus.hatenablog.jp ナイーブベイズ分類は文章をカテゴリ分けする際に、テキスト中の単語の出現率を調べます。 その際、その文章…

【機械学習】ベイジアンフィルタ

ベイジアンフィルタとは ベイジアンフィルタ (Bayesian Filter)とはナイーブベイズ分類を応用したもので、対象となるデータを解析・学習し分類する為のフィルタです。 現状では迷惑メールフィルタやスパム投稿などの判定で利用されています。 ベイズの定理 …

SEOの初心者にはおすすめな本「10年使えるSEOの基本」を読んだ感想

SEOの専門家におすすめされて、読んだ本。とても良かったので紹介します。 「10年使えるSEOの基本」の感想 SEOの専門家である土居くんと、SEOに詳しくないすずちゃんが対話形式で例を交えながらSEOの話をする本です。 特にSEOのテクニック的なところは出てこ…

ポケモンGo!のアンテナサイトを作った。技術仕様やアプリケーション仕様などなど

酔った勢いで、ポケモンGo!のアンテナサイトを作ってみました。 pokemongo-mtm.xyz こういうのって、スピードが大事ですよね。検索ボリュームが多い時にリリースできたのでよかったです。 1時間ぐらいでさくっと。 使用した技術 CentOS7 CakePHP 2.8.5 PHP 7…

エンジニア × 海外就職 × 英語で参考になりそうな記事まとめ

最近エンジニアの海外就職報告記を見かけるようになってきました。 エンジニアとしての技術力や英語力はどのぐらい必要だったのか、ビザはどうしたのか。 参考になりそうなものをまとめてみました。 kenzan100.hatenadiary.jp ベルリンでウェブエンジニアと…

FXシステムトレードフレームワーク Jiji をCentOS7にセットアップ

FXシステムトレードフレームワーク「Jiji」のセットアップメモです。 「Jiji」のドキュメントにはHeroku、AWS、Dockerの3つの方法が載っており、前者2つは詳細に説明が書かれていますが、3つ目の「Dockerにインストール」はパッケージインストールが省略さ…

iPhone7等の新製品を誰よりも早く予約する為に、予約サイトがオープンしたらSlackに通知する方法

Shell Script Advent Calendar 2015 8日目を担当させていただきます、@yudsuzukです。 今回は実用的なシェルスクリプトについて書きます。 GoogleのNexusやAppleのiPhone等の新製品の発表は、日本時間で深夜なため、起きているのが辛いし、いつ購入サイトが…

【PHP】たった1行コマンドを入力するだけでComposerを劇的に速くする方法【アジア圏限定】

PHPerで使っていない人はいないというぐらい、メジャーなPHPの依存管理ツールComposer。 ですが、動作が遅いという欠点があります。 Composerが遅い原因は主に下記だそうです。 packagist.orgが日本から遠い composerのアーキテクチャ的に、小さなjsonファイ…

Validation::notEmpty() is deprecated. Use Validation::notBlank() instead.

CakePHPをバージョンアップしたら以下のエラーが表示されるようになった。 Validation::notEmpty() is deprecated. Use Validation::notBlank() instead. 該当のソースコードには以下の記載があった。 /** * Backwards compatibility wrapper for Validation…

Node.jsのバージョンを管理するnodebrewを使ってみる

Node.jsを使う機会があったので簡単にNode.jsのバージョンを管理できるnodebrewを使ってみた。 自分の備忘録として。 nodebrewとは? nodebrewとはNode.jsのバージョン切り替えを簡単に行えるツールです。 最近フロントエンド開発でNode.jsを使うことが当た…

Vagrantの後継、Ottoを試してみた

HashiCorpの新プロダクトOttoはVagrantの後継と位置づけられていて、開発環境だけでなく本番環境のデプロイまで視野にいれたコンセプトとなっているようです。 試しに使ってみたので、そのログを以下に記します。 Ottoのインストール Ottoのダウンロードペー…

ISUCON5予選に参加してきました

ISUCON5の予選に参加してきました。 ISUCONとは? お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル、それがISUCONです。過去の実績も所属している会社も全く関係ない、結果が全てのガチンコバトルです。 メ…

Webコミュニティサイトを運営しているすべての人の読んでもらいたい本

Web Community CGMビジネス”成功請負人”たちの考え方 Webコミュニティでいちばん大切なこと。 Webコミュニティでいちばん大切なこと。 CGMビジネス“成功請負人”たちの考え方作者: 水波桂,平尾丈,片岡俊行,斉藤徹,古川健介,伊藤将雄,大迫正治,原田和英出版社/…

清水亮さんの新作『最速の仕事術はプログラマーが知っている』感想

「IPA 独立行政法人 情報処理推進機構」から天才プログラマー/スーパークリエイターと認定されている、清水亮さんの新作「最速の仕事術はプログラマーが知っている」を読みました。 ものすごくキャッチーなタイトルですねw 私もプログラマーの端くれなので…

PHPの名前空間( namespace )のセパレーターがバックスラッシュ"\"になった理由

PHP

PHPの名前空間(namespace)の区切り文字はバックスラッシュ"\"が採用されています。 最初はエスケープに見えてすごく違和感でした。 気になって調べてみるとバックスラッシュが採用されるIRCログを発見しました。 それによると理由は以下の5つだそうです。 セ…

Vagrant で作った仮想マシンから Box ファイルを作る方法

Vagrantで作った仮想環境を他人の環境でもまるまる使えるようにする方法です。 そんなのDocker使えばいいじゃんって言われそうですが、Vagrant使っているけどDockerは習得していないという人のために。 $ vagrant --version Vagrant 1.7.2 NIC のマッピング…

【池上彰】世界で起きている大問題を包括的に知ることが出来るオススメ本

ニュース解説番組にひっぱりだこな池上彰さん。 そんな池上彰さんの新作、「知らないと恥をかく世界の大問題6 〜21世紀の曲がり角。世界はどこへ向かうのか?〜」を読みました。 (角川SSC新書)" title="知らないと恥をかく世界の大問題6 21世紀の曲がり角。…

【CentOS】迷惑メール(スパム)扱いされない為の最低限設定しておきたい3つの設定【Postfix】

さくらVPSでCentOSの環境を構築し、localhost(ローカルホスト)からPostfixでメールを送信しても、なにも設定していないと高確率で迷惑メール(スパム)扱いされてしまいます。 Yahoo!メールは幾分か緩いですが、Gmailはほぼ100%迷惑メール(スパム)扱いされます…

【チュートリアル】最新フレームワークCakePHP3でブックマーカーを作ってみる その2

【チュートリアル】最新フレームワークCakePHP3でブックマーカーを作ってみる その1 - $yuzu->log();yuzurus.hatenablog.jp 前回の続きになります。 ログイン機能の実装 ログイン機能はCakePHP2同様AuthComponentを利用します。 AppContorollerに追加しまし…

【チュートリアル】最新フレームワークCakePHP3でブックマーカーを作ってみる その1

そろそろちゃんと最新フレームワークCakePHP3を触らないといけない気がしてきたので、チュートリアルとしてCakePHP3を使ってブックマーカーを作ってみます。 環境はMacOSXにVirtualbox+VagrantでCentOS乗っけてます。 インストール PHPのインストール PHPを…

【MeCab】マルコフ連鎖テキストを吐き出すPHPライブラリを作った。

yuzurus.hatenablog.jp 前回MeCabのインストール方法をご紹介しました。 そのMeCabを使ったマルコフ連鎖テキストを吐き出すPHPライブラリを作成しました。 Packagistにも公開したので簡単にインストール出来るようになっています。 インストール MeCabのイン…

格安SIM(MVNO)とRaspberry Pi(ラズベリーパイ)でモバイルルータを作った 〜初期設定から完成まで〜

最近ジワジワ人気になってきた格安SIM(MVNO)とRaspberry Pi(ラズベリーパイ)。 今回はこの2つを使ってモバイルルータを作ってみたいと思います。 格安SIM(MVNO)とは? 格安SIM(MVNO)は非常に低価格でモバイル通信できます。 安いものだと月額500円以下のプ…

マルコフ連鎖の実験のためにMeCabをCentOSにインストール

マルコフ連鎖の実験をしたいがために、 京都大学情報学研究科と日本電信電話株式会社コミュニケーション科学基礎研究所が開発しているオープンソースの形態素解析エンジン「MeCab」 (和布蕪 めかぶ)をインストールするためのメモです。 本体をインストール $…

jQueryで$(form).submit()でフォームが送信されない場合の対処法

jQueryで、$(form).submit()などを使っても下記のようなボタンにするとフォームが送信されない場合があります。 <input type="submit" id="submit" value="post" /> <input type="submit" class="submit" value="post" /> <input type="submit" name="submit" value="post" /> submitボタンのid,class,name属性に「submit」という名前を使用すると送信できないので、使わないようにしましょう。

jQueryを使ってフォームの二重送信を防止する方法 複数ボタンの場合編

前回1つのフォームに1つのボタンがあった場合のフォーム2重送信防止方法を記しました。 今回は1つのフォームに複数ボタンが有る場合の2重送信を防止する方法を記します。 <form class="multiBtnForm"> <input class="disableMultiBtn" type="submit" name="post" value="post"> <input class="disableMultiBtn" type="submit" name="back" value="back"> </form> <script> $('.disableMultiBtn').on('clic…