いっきのblog

技術とか色々

技術ブログ

Think Stats(第2版)を読む:2章

前回の続き。 kzkohashi.hatenablog.com 2章: ヒストグラム 分析する上で、データ全体の傾向だったり、方針を決める際には必ずと言ってやると思われるデータの可視化。その中で、データの分布をみるためのヒストグラムについて書かれた章。 ヒストグラムの表…

Laravelでメール送信する際にSendGridを使う

自社のサービス(Laravel)では、メールを送信する際にはSMTPの仕組みを利用している。 グーグルのメールアドレスなどもっていればLaravelのデフォルトの機能でサクッと作れるのだが、送信する際に毎回認証を挟んでいるので、処理に時間がかかったり、大量に捌…

LaravelにSentryを導入してアプリのエラー監視を楽にする

サーバーの監視をするためにMackerelを導入をして1ヶ月くらいたった。時折なるアラートになんだか嬉しさを感じつつ(ダメだけど)、そろそろアプリのエラー監視もしっかりやらないとと思ってSentryを導入した話。 kzkohashi.hatenablog.com Sentryとは? オ…

Think Stats(第2版)を読む:1章

最近、統計処理について詳しくなろうと考えていたところThink Stasをオススメされたので、メモがてら勉強した事を書いていこうと思う。(今回は1章のみ内容) Think Stats 第2版 ―プログラマのための統計入門 | Allen B. Downey, 黒川 利明, 黒川 洋 |本 | 通…

React + GoogleAnayticsでページトラッキングする

React+ GoogleAanayticsでトラッキングをするにはライブラリがあるのでそれを使う。 github.com スター数も1000超えてるし、React + GAでなら一番人気かと思う。 インストールする際のバージョンに注意 react-gaには2.3.4において、初回のイベント以外は送信…

LaravelでJSON Web Tokenを使った認証方法

Laravel + Reactでサービスを構築した場合に、APIによる認証方法としてJSON Web Token(JWT)を使った例を紹介しようと思う。 JSON Web Tokenとは? ネットわかりやすく書いてあったので引用させていただくと JWT(ジョット)とは JSON Web Token の略で、電子…

Laravel Meetup Tokyo Vol.10で「Laravelを始めてからDDDを実践するまで」について発表してきた

どうも、くずき(@kzkohashi)です。 先日「Laravel Meetup Tokyo Vol.10」で発表してきたのでその内容と他の方の発表について書いていこうと思う。 laravel-meetup-tokyo.connpass.com 発表資料 Laravelを始めてからDDDを実践するまでの過程について書いた内…

Laravelでバリューオブジェクトのみを実装する

どうも、くずき(@kzkohashi)です。 今回はDDDにおける、バリューオブジェクトをLaravelでどう表現するかについて書きたいと思います。 なぜバリューオブジェクト? DDDを学んでいる中で、実際にどうやったら実装に落とし込めるだろうか?って考えたときに、…

Laravelでリポジトリーパターンを実装して見た感想

どうも、くずき(@kzkohashi)です。 Laravelを使い始めて1年くらいたちそうなので、いくつか試している実装パターンの感想でも書こうと思う。 今回は、Repositoryパターンについて書く。 Repositoryパターンとは? Repositoryパターンとはビジネスロジックと…

LaravelのMacroを使ってBuilderに機能を追加する方法

どうも、くずき(@kzkohashi)です。 先日、正しいJSON APIのフォーマットにするために以下のライブラリを導入した。 github.com paginateは正しいクエリーパラメーターを取っていない 恥ずかしながら最近知ったのだが、Eloquentで使用しているpaginateは、完…

キカガクで機械学習を学んだことを振り返る(~機械学習における流派の違い~)

どうも、くずき(@kzkohashi)です。 知り合いのエンジニアが、去年からブログを毎月20くらい書いてて、フォロワーも何倍も増え、毎月のPVも1万くらいあるみたいで継続は力なりだなと思う今日頃ごろ。 2017年の4月ごろ、キカガクがやっている、機械学習の初級…

CircleCI2.0でDocker Composeをキャッシュする

どうも、くずきです。 以前、CircleCI2.0を試しました。 kzkohashi.hatenablog.com CircleCI2.0を使って見たものの、せっかく色々機能があるのに使えてなかったので、今回はWorkflowsを使ってDocker Composeのキャッシュを利用したいと思います。 目標 Workf…

Laravelで日ごとに変わるランダムなソートをする

どうも、くずきです。 こないだ、セールスの方からリストの表示をランダムでだせないのかというご要望がありまして、実装してみた話です。 DB側でランダムで出す 基本的にソートはSQL側で行なっているため、なるべくDB側でできないかな〜と思ってたらありま…

Pretty Result PrinterでPHPUnitのテストを見やすくする

どうも、くずきです。 今日は、PHPUnitを見やすくるPretty Result Printerを紹介したいと思います。 Pretty Result Printerとは そもそも今のPHPUnitは結果が見辛かったりします。 PHPUnit 5.7.26 by Sebastian Bergmann and contributors. ................…

LaravelでRedshiftにインサートする際にでるSQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "returning"の対処法

どうも、くずきです。 以前、LaravelでRedshiftを扱う方法について書きました。 kzkohashi.hatenablog.com 今回は、Redshiftにインサートする際にでる SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "returning" の対処法について。 Elo…

Azure Face APIとAmazon Rekognitionで性別判定を比べてみた

どうも、くずきです。 ユーザーの画像から性別を判定する方法は何かないかと思い、Amazon RekognitionとAzure Face APIを試してみたのでメモっときます。 結論を先に言うと本番環境ではAmazon Rekognitionを使って性別判定して、数十万ユーザーの識別をして…

pythonを使ってORBとPerceptual Hashで画像の類似度を比べてみる

どうも、くずきです。 今回はPythonを使って画像の類似度を求めました。 なぜやりたいのかというと、インスタグラムなどのSNSで画像を設定していない人を除外したい。つまり、 この画像か、近しい画像を設定している人が見つけ出せれば良い。 比較対象の画像…

LaravelでRedshiftを扱う

どうも、くずきです。Lineで「クリスマス」という単語打つたびに背景が変わってイライラしてます。 今回は、LaravelでRedshiftを扱う方法についてメモります。 使用しているライブラリは、 Laravel 5.5 php7.1.1 (phpenv + phpbuild) [準備] phpenv+php-buil…

RedashでTwitter APIを用いて、インフルエンサーの情報を可視化をする

どうも、くずきです。 今日は「Redash Advent Calendar 2017」12日目の記事として、RedashでTwitter APIを用いて、インフルエンサーのインサイト情報を可視化をすることをしたいと思います。 qiita.com インフルエンサーって何やねんって人はすごく簡単にで…

Redash + docker-composeでPythonデータソースを使うやり方と外部ライブラリを追加する方法

どうも、くずきです。 Redash + docker-composeでPythonデータソースを扱う場合に、Pythonのライブラリを追加する機会があったのでメモときます。 今回はid:kakku22が提供している、Redashのハンズオンをベースに構築している。 github.com Pythonデータソー…

LaravelのバッチをDiddagで運用したら少し幸せになった話

どうも、くずきです。 弊社の本番環境のバッチはスピード優先で作ったのもあって、処理ごとに分けてはいるものの連携を取ろうとすると以下のことをしなきゃいけない。 手動で1つ目のバッチを回す 1つ目が終わったら次のを回す それが終わったら次を回す・…

tmux + ssh + peco + direnvで複数のAWSのサーバーへログインするやり方

どうも、くずきです。 今回は自分がいつも使っているスクリプトについて紹介したいと思います。 (色々な方のスクリプトをパクってくっつけてるだけですw) tmuxの導入 github.com tmuxとは端末を多重化するツール(ソフト)。 これだけでも色々かけるんだけ…

Reactでテーブルをソートするやり方

どうも、くずきです。 Reactでテーブルをソートしようとした際に、View自体のソートはあるんですが サーバーと連動したやつがなかったので実装してみました。 やりたいこと 上記の画像はすでに完成品だけど、 ∧と∨の部分のようなソートボタンを作る ソート中…

HighCharts(React)でグラフをHoverした際に画像を表示する

どうも、くずきです。 以前HighChartsと呼ばれる、JSでのグラフ系ライブラリでかなり人気っぽさそうなやつを使った。 綺麗だし、簡単だしと良いところ盛りだくさんなライブラリだけど、商用利用の場合は有料のため注意。 Reactで利用するために以下のライブ…

Laravel + Reactで画像をs3にアップロードする

どうも、くずきです。 今回使用するバージョン ライブラリ バージョン react 15.6.1 Laravel 5.5.19 league/flysystem-aws-s3-v3 1.0.18 React周りはcreate-react-appのバージョン1.4.0を使って作成している。 kzkohashi.hatenablog.com Laravelでs3にアップ…

laravel-adminでパスワードの設定の仕方

どうも、くずきです。 こないだLaravel + ReactでWebサービスを構築した際に、社内の人間が使う管理画面も作ることになりました。 社内の人が使う管理画面なんて絶対に工数かけたくないので、調べた結果 qiita.com の記事で試していた、 github.com を使って…

react-jsonschema-formで外部バリデーションを使用する方法

どうも、くずきです。 こないだReactでフォームを作る際にreact-jsonschema-formと呼ばれる便利なライブラリを使ったんですが、外部からのバリデーション入れるのに詰まったのでその解決法を書きたいとお見ます。 react-jsonschema-formとは github.com Reac…

Reactでクエリパラメーターが変更された場合のリソースの更新する方法

どうも、くずきです。 Reactでクエリパラメーターが変更された際にどうやってリソースの更新をするかについて書きたいと思います。 当たり前だがreact-routerではhogehoge.comとhogehoge.com?sort=abcは同じコンポーネントと認識されるため、画面の再描画な…

ReactのEventEmitterで登録したリスナが削除できない問題の解決法

どうも、くずきです。 EventEmitterで登録したリスナが削除できない問題について解決した方法をメモしときたいと思います。 構成 EventEmitter ErrorStore(EventEmitterを継承したクラスをStoreとして利用) サーバーサイドから取得したエラーを登録したリス…

Docker Compose + LaravelをCircleCI2.0上でテストする

どうも、くずきです。 こないだ久々にCircleCIを使ったらバージョンが上がってたのとdocker-composeを使ったやり方が変わっていたので、とりあえずテストまでできたレベルメモっておきます。 各バージョン Dokcer(for MacOS) Docker version 17.03.1-ce, bui…