読者です 読者をやめる 読者になる 読者になる

まっしろけっけ

めもてきなやーつ

開発

Treasure Data の job の状態を監視する mackerel plugin 作った

経緯 ペパボのデータアナリストの @zaimy が 何らかの原因で job が詰まって割当リソースを使い果たすと、該当のクエリ以外の job も巻き込まれて error になることがあり困った と言っていて mackerel とかで見れると嬉しいなと言ってたのでじゃなんかやっ…

Rubyエンジニアが語る、2016年の振り返りとこれからに登壇して来たよ

株式会社 Speee さんと自分が勤めるペパボが共同で開催した下記のイベントに登壇して来ました。speee.connpass.com 経緯 経緯としては、CTL になったし喋らない?って声をかけられたからなのですが、 個人的に昨年のアウトプットが圧倒的に少ないこと、 その…

MySQL の binlog について調べたメモ

MySQL の binlog について 実際に実行された更新系クエリの情報が記述されていてなんらかの理由によりデータが壊れた際の データ復旧とかにも役にたつ。binlog の format には以下の 3 種類ある フォーマットの種類 設定値(文字列) 設定値(数字) 備考 ステー…

Ruby と Google Cloud Platform の Cloud Vision API で画像を解析して貰う

Vision API is 何? 画像のさまざまな情報を解析してくれる API です。物体検知、有害コンテンツ検知、ロゴ検知、ランドマーク検知、OCR、顔検知、色検知等を行ってくれる。料金は下記に詳細が書いてありますが 1000 ユニット / 月 は無料で利用出来るので、…

Elasticsearch の勉強会を社内で行なった話

最近圧倒的インプットによって、圧倒的にアウトプットが減っている僕です。 ということでリハビリがてら 4 月の初めに Elasticsearch の勉強会を社内でやったのでそのことについて書いてみます。 そこまで技術的に深い話はないので期待しないでください。 勉…

WEB+DB PRESS Vol.92 「Web開発新人研修」の一部を書きました。

久しぶりのブログです。 4 月なのに 2016 年初ブログです。 本題 4 月 23 日発売の WEB+DB PRESS Vol.92 内の特集の一つである「Web開発新人研修」をペパボのエンジニアで寄稿させていただきました。 献本を頂いたのでざっくりと説明をしていこうと思います…

STF を使ってブラウザ上から Android をいじってみた

STF is 何 ? STF | Smartphone Test FarmCyberAgent 社がオープンソースとして公開しているブラウザ上から Android を操作できるようになるやつ。 ブラウザ上から apk を install させたりもたしかできたはず Android は様々な端末があり、 端末ごとに動作が…

Sidekiq の queue を眺める際に使用するコマンドを雑にまとめる

はじめに 前回書いたこの記事を書く際に実際に積まれている queue をあれこれ見ていたのですが、 その際に使ったコマンドを忘れそうだったのでまとめておく。 めんどくさくてまとめなかったわけでは…shiro-16.hatenablog.com redis-cli まずは基本的なこと r…

Sidekiq について基本と1年半運用してのあれこれ

はじめに 実際に運用していた時に非同期にしていた主な処理は下記のようなものがあります。 iOS Android の push 通知の送信処理 ログの作成 様々な外部 API の呼び出し 非同期で更新しても問題ないデータの更新 Sidekiq is なに sidekiqは非同期処理を実現…

RubyでStyleStatsをつくった

StyleStats is 何? StyleStatsの説明は下記をご覧いただくのが一番早いかと思います。自分の書いたコードが即座に解析できる「StyleStats」でCSSを測ろう!html5experts.jp簡単に言うと@t32kさんが作ったCSSを解析するツールです。 先週のYAPC::Asia Tokyo …

golangのフレームワークrevelを使用して掲示板っぽいものを作ってみる

はじめに 今回は golang の revel framework を使用して掲示板っぽいやつを作ってみる。 掲示板っぽいと言っても基本的には API で Json を返すことにする。 しかし html を返す場合もやることはほぼ変わらない。今回作成する API は一般的な掲示板でいうス…

PHPでmemcachedに保存されたセッション情報をRubyで扱う

経緯 PHPで作成されたシステムで発行されたsession idを元に Rubyからそのセッションに格納されている情報を知りたいかもしれないという状況が あるかもしれない。 無事社会復帰を果たした会社で話題になったので調べてみた。 前々職の際にPHPとmemcachedに…

golangのフレームワークkochaを使ってみた その2

golangのフレームワークkochaを使ってみた その1 - まっしろけっけshiro-16.hatenablog.com こちらの続き modelを作成する 今回はmysqlを使用します。 今回作成したtableは下記です。 CREATE TABLE `user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name…

golangのフレームワークkochaを使ってみた その1

経緯 golangを学習し始めて2週間〜3週間くらい、 ちょっとわかってきたので そろそろフレームワーク使ってみたいなと思い調べ始めた。 ちなみにgolangの学習は下記のページや書籍などA Tour of Go web上でさくっと出来るEffective Go — プログラミング言語 G…

画像の色解析を行うrmagick-image_colorsというgemを作った

経緯 色を扱うColorCodeというgemを作った - まっしろけっけshiro-16.hatenablog.comこちら経緯にもある通りデザイナーさんに言われたことを実現するため。rmagickというgemがあるのでそれの拡張的な感じで書ければいいなー と思い設計してみた。 概要 rmagi…

色を扱うColorCodeというgemを作った

経緯 デザイナーさんに「こんなことやりたいんですけど・・?できます・・?」と聞かれ ちょっと調べたら出来そうだったので「出来そうですよ!」と返事したらやることになった。実装方法を考えてたら今回作成したようなロジックを思いつき gemとして作れば…

初心者じゃなくても役に立つかもしれないRailsのroutingの記述方をまとめてみた

まとめようと思った経緯 Railsのネストしたrouting書く時に毎回調べてる気がするから自分のブログにまとめておきたい— shiro16 (@shiro166) January 5, 2015 まとめてあるブログもいくつかあるけど結局自分で書いた文章が一番分かりやすいっていうあたり前の…

Kibanaを3から4にしてみた

環境 環境は下記記事参照Fluentd + Elasticsearch +Kibanaを導入したので手順をメモ - まっしろけっけ fluentd + elasticsearch + kibanaを導入したので手順をメモ - まっしろけっけKibana3でしたがkibana4がリリースされたのでKibanaを4にしてみた。 事前情…

Rubyはじめて1年間+αで読んだ書籍や参考にしたサイト等

よくあるタイトルの記事 Rubyを仕事で使いはじめてやっと1年たったのでまとめてみる 書こうと思って数ヶ月経ってしまったので現在は経験1年半くらいRubyをお仕事で使う以前のお話は下記参照 PHP書いてたけどRuby書くことになって1年間でやったことてきな - …

fluent-plugin-record-reformerを使ってhostnameを追加してみた

以前下記の記事でFluentd + Elasticsearch + kibanaを導入して リアルタイムログ解析を行う方法をメモったその後。実際に導入してみるとhostnameが無いと結局調査を行うには どのhostに入って詳細な調査をすれば良いか分からないから片っ端から入ってみるみ…

gemのwheneverを導入してみた

wheneverとは? javan/whenever · GitHub 簡単に説明するとRubyのコードでcrontabの管理が出来るライブラリです。 導入以前 whenever導入前はbatchを実行するserverに入って「crontab -e」とかで編集する crontabメンテナンスおじさんが存在していた。 問題…

Ruby2.2.0のインストールがlibffi.a: could not read symbols: Bad valueで失敗した件

Ruby 2.2.0 Released素晴らしいクリスマスプレゼント!! twitter見ている感じだと開発者の皆さんは大変だったようでお疲れ様でした+ありがとうございます。 Let's Install install Rubyのversion管理はrbenv使ってます。rbenvでrubyのversion管理をするよ -…

初心者は役立つかもしれないRuby(Rails)のmethod名に「?」がつくmethodのまとめ

まとめようと思った経緯 題名の通りRuby(Rails)にはmethod名に「?」がつくmethodが多く存在します。 「空文字の場合はtrue/falseどっち返すんだっけ?」ってなってconsole等で確認することが良くあるので、 (自分が)よく使うものを一覧でまとめておいてみる …

PHP書いてたけどRuby書くことになって1年間でやったことてきな

久しぶりに雑談っぽい記事 よくあるようなタイトルでブログを書いてみる(実は4ヶ月前から下書きとして放置温めていた訳では・・・) Rubyをお仕事で使い始めて(ほぼ未経験の状態から)1年以上(1年4ヶ月くらい)たったので Rubyを使い始めて1年でやったこととか…

ActiveRecordでデータを更新後に任意のカラムのデータが更新されたかを知る方法

ActiveRecordで更新後に更新前の値を取得する - まっしろけっけ ActiveRecordで更新後に更新前の値を取得する - まっしろけっけ以前上記のブログで紹介した内容なのですが、 カラムのデータが更新される前の値が知りたいのではなく、 カラムが更新されたかを…

sidekiqを2から3にupgradeしたときにしたこと

最近rails applicationで使用しているsidekiqを2から3にupgradeしたのでその際にやったことをメモ Gemfile更新 まずGemfileを変更します。 Capistranoでのdeployを行っているのでcapistrano-sidekiqも追加します。 ※version指定はそれぞれの方針で行ってくだ…

Genymotionでunable to connect to your virtual deviceというエラーで起動しない時の対処

Genymotionは高速なAndroidのエミュレータのことです。 今回は起動時に「unable to connect to your virtual device!・・・」というエラーが発生したので インストールから解決方法までをメモしていきます。 インストール方法 Genymotionこちらからダウンロ…

Rails3から4へUpgradeしたお話

今回はお仕事で開発をしているweb applicationで使用しているRuby on Railsのversionを 3.2から4.1へUpgradeしたお話です。 その際の進め方や遭遇した問題をメモてきにまとめておきます。 Rails3のコードをRails4のコードにconvertする 今回はRubyKaigiでお…