better_errorsがやたら遅いときは最新版にアップデートするとよい

better_errorsが入ったRailsプロジェクトを最近触っているのですが、エラー画面の表示がやたら遅く、コンソールが使い物にならない状態になっていました。 Puma 3系で発生しており、リクエスト・レスポンス変数内のpuma.configのサイズが非常に大きく、通信に時間がかかってしまっているからのようです。 この対策として、最新バージョンの2.4.0(2017年10月リリース)でサイズの大きいインスタンス変数をフィルタする機能が追加されていました。フィルタ設定はデフォルトで有効なので、最新版にアップデートすればいい感じになります。 config/initializers/better_errors.rb # This will stop BetterErrors from trying to render larger objects, which can cause # slow loading times and browser performance problems. Stated size is in characters and refers # to the length of #inspect's payload for the given object. Please be aware that HTML escaping # modifies the size of this payload so setting this limit too precisely is not recommended. # default value: 100_000 BetterErrors.maximum_variable_inspect_size = 100_000 最近ではweb-consoleがあるのでbetter_errorsをやめることも検討したのですが、これで快適に使えるようになりました。

Scrapboxでリアルタイム共同日報をやってみた

この記事はGMOペパボ Advent Calendar 2017の17日目……になる予定だった記事です。 担当日に風邪を引いてしまって穴を空けてしまいましたが、なんとか年内に投稿してギリギリセーフの雰囲気を出していこうと思います😇 朝会の機能不全 どのようなチームでも、人数が増えてくると「誰が何やってるのかわからない」という状況は起こるのではないかと思います。そのための情報共有の場として朝会はよく実施されていますが、自分のチームでは有効に機能していない状態でした。

ImageMagickで画像処理に入門する

この記事は、ImageMagickと画像加工について発表したときの資料を文章に起こして加筆修正したものです。 ImageMagickとは 画像加工といえばこれという有名ライブラリ メジャーからマイナーまでさまざまな画像形式に対応 機能が多すぎて脆弱性もたびたび発見されるくらい… Cで実装され、多くの言語でバインディングがある Ruby:rmagick, mini_magick gem PHP:Imagick拡張モジュール Go:gographics/imagick インストール Mac Homebrew $ brew install imagemagick Debian / Ubuntu

Herokuはスケーラブルなアプリ養成ギプス

社内勉強会でHerokuでの本番運用について発表しました。 いま携わっているSUZURIはHerokuで運用しており、個人でもHerokuで運用しているアプリがあります。その中で経験したことや知見を話しました。 Herokuで本番運用する技術 目次を見るとわかるようにテーマは多岐にわたっており、ざっと&ゆるめに発表しようという趣旨です。 Herokuはスケーラブルなアプリ養成ギプス Herokuのいいところといえば、マネージドで手軽に使えること、開発者にとって便利な機能が豊富なこともそうですが、アプリケーション設計に良い影響を与える点もあります。

新卒エンジニア研修の座学でImageMagickと画像加工の話をした

ペパボの新卒エンジニア研修では、メニューのひとつとして「座学」を行っています。 メインの研修ではWeb開発・Webオペレーション・モバイルアプリ開発に順番に取り組んでいきますが、座学では知識と興味を広げることを目的として、社内のエンジニアにお願いして1時間自由に発表してもらっています。 たとえば、テストやチーム開発、モバイルの開発手法といった研修内容に関連した話や、あるいは3DCGのシェーダーやReactive Extensionsといった、研修では触れないような技術の話まで様々です。研修の内容については、ペパボの新卒エンジニア研修2017 Vol.1 - ペパボテックブログを見ると雰囲気がわかるかと思います。

DockerでcronしたいときはBusyBox crondが便利

Dockerコンテナでプログラムを定期実行したいとき、それぞれの言語で実装されたタスクスケジューラを使うほか、手っ取り早くcronを使ってしまう方法もあります。しかしDockerで使うにはやや面倒な点があります。 cronで実行するプログラムにコンテナに設定した環境変数を渡したい 環境変数が独立しているのはcronのよくあるハマりどころですね ファイルに書き出して読み込んで、とやるのは面倒 ログは標準出力・標準エラー出力に書き出したい 標準出力に出せばdocker logsで扱えるし、ファイルだとローテートが面倒 このようなとき、BusyBoxに含まれるcrondを使うと、以上の課題を解決してシンプルに定期実行することができます。

ブログをHexoで作り直してNetlifyにデプロイした

ようやく重い腰を上げてブログを作り直しました。 以前のブログはとりあえずWordPressでやっていたのですが、普段のエディタでMarkdownを書きたい…Git管理したい……となったので移行しました。 静的サイトジェネレータ 静的サイトジェネレータとしてはHexoを採用しました。 当初はGo言語製のHugoを使おうとしたのですが、投稿ごとにアセット用のディレクトリを切って管理できるPost Asset Folder機能など、ディレクトリ構成の柔軟性や機能の充実度を考えてHexoにしました。

コーディング規約チェックを日常に〜無理なくチーム全員で取り組める仕組みを作ろう

この記事はpepabo Advent Calendar 2016の4日目です。 3日目は@r_takaishiさんの「IIJmioのクーポン残量をAWS LambdaとMackerelでプロットしてみよう」でした。 コードレビューでよくある風景 突然ですが、コードレビューを行っていると、このようなコメントを一度はする・されると思います。 インデントやスペースの抜け漏れといった、細かいコーディングスタイルに関する指摘ですね。 人力でフォーマットの指摘をするのは見逃しが発生しやすく、細かい部分を確認するコストがかかります。小言のようなコメントになってしまいがちで、開発者・レビュアー双方に負担が増えてしまいます。

2016年秋アニメ:1話の感想をざっと

7月までに急いで録画体勢を構築したのはよいのだけど、結局マジェプリ再放送しか見ていなかった夏アニメ。 秋はいっぱい見ようということでブルーレイレコーダーとソファを調達しました。ソファに寝っ転がりながらひたすらアニメを見る連休は最高だった。 テレビの録画機能はやっぱり簡易的なもので使いにくかったので、10月始まる前にレコーダー買ったけど今期は見るもの多そうで何より — Hiroshi Shimoju (@shimoju_) October 2, 2016 新しくデプロイされたソファに最高と言いながらひたすらアニメを見る連休を送っている — Hiroshi Shimoju (@shimoju_) October 10, 2016 というわけで、1話がほとんど出揃ったのでざっと感想を書いていこうと思います。 オリジナル作品も多いし、先が気になる1話が多くてレコーダー大活躍で何より。 見たやつ 終末のイゼッタ おもしろそう。戦争の中に現れた魔女、こういう世界設定好きですね。オリジナルは先の展開がわからないのがいいね WWW.WORKING!! 今回もWORKINGらしい。なんか安心して見ていられる 魔法少女育成計画 明るそうだけど全体的に不穏な…と思ったら、生き残りをかけて戦うダークファンタジーらしい(原作宣伝のCMで今後の展開を言われるとは…) 機動戦士ガンダム 鉄血のオルフェンズ(2期) 初めてのガンダムがオルフェンズなんだけどなかなか楽しい ビーム兵器がないから戦闘が泥臭くて、鈍器がぶつかりあう効果音がいい感じ SHOW BY ROCK!!# 2期のキーマンとなりそうなあいつら(名前がよくわからない)、設定がめちゃくちゃすぎて笑った 敵、お前かよって感じになった 刀剣乱舞-花丸- んー、見てはみるけど原作やってないとやっぱりわからんかなー 名前が、覚え、られない…… 審神者が描写されないのはちょっと気になる アイドルメモリーズ CM明けたらいきなり声優が出てきて録画間違ったかと思った。30分枠で半分声優番組をやるのは斬新 アイドルアニメ、個人的にはあんまりハマらないかも… ステラのまほう 割と本気でゲームつくる話っぽい? 硬派なおじさん絵が好きなのうけるな 学園ハンサム 独特な顔とゆるい絵がツボにはまった 装神少女まとい PVからゆるふわ系アニメかと思ってたら、こんな作風なのかよ!って感じ ユーリ!!! on ICE フィギュア描写すごい(大変そう) 先のドラマや展開の想像が膨らむ1話があると期待が高まるね フリップフラッパーズ 1話だけでは全然よくわからんかったけど、背景・美術が最高だった。さすがスタジオPablo。 おばあちゃんが久保田民絵さん 競女!!!!!!!! とても熱くアホらしくて全然エロくなくて笑った。主線が太い。最高。 Lostorage incited WIXOSS 俺待望のWIXOSSアニメ新作。相変わらず不穏。確かに男が入ると雰囲気がまた変わって締まる感じ。 前作のるう子とは違う、バトルは嫌なタイプを主人公にすえて、じゃあどうやって引きずり込むかを考えたときに、記憶を失うこととタイムリミットを設定するのはなるほど感 バトルフィールドや白窓の部屋が明らかに繭の世界の成れの果てだけど、つながりは描かれるのかなー。ピルルク(改め清衣)もどうなるか… クラシカロイド OPが布袋寅泰。 3月のライオン 演出がシャフトっぽいと思ったらシャフトだった 前半の落ち着いた雰囲気も浸れる 茅野愛衣さん、花澤香菜さん、久野美咲さんの3姉妹……なるほど OPもEDもバンプなんて贅沢 うどんの国の金色毛鞠 原作ものだったのね。最後のおまけアニメは一体なんだったんだ… 月曜日のたわわ ED編曲・劇伴が凪あすの出羽良彰さんで爽やかないい雰囲気。ただ、Twitterの一枚絵なら目立たなかったけどアニメになると按配間違えば色々と炎上しそうな気が / 月曜日のたわわ その1 https://t.co/GJ0ACGPv6i

研修で1週間でWebサービスをつくった話

「1週間でWebサービスをつくる」研修 「お産ウィーク」と呼んでいる 新卒エンジニア5人+デザイナー1人で2チーム 課題は旅行と料理の2つでどちらかを選ぶ 料理にした 料理は工夫の繰り返し 今日は〇〇を多く入れてみよう、強火にしよう、スパイスを変えよう、… でも結局どれがどのくらい美味しかったのか、自分の料理がどのくらい成長したのかがわからない! →料理の記録をふりかえって、自分の工夫を実感できるサービスを作ろう となった つかれた 何も出てこない 箇条書きで書く まず動くものを作れたことが第一 エンジニアの発想の限界 かなり素直、というか課題をそのまま作ったような感じ もう一工夫できた 自分たちでは限界がある、他人の視点大事 使ってみると楽しい 使ってみる/使ってもらうと改善点がいろいろ出てくる 最終的に自分が使いたくなるものを作れた 他人のレシピを見ると(ふざけてるのもあるけど真面目に書いてるのもあって)おもしろい やっぱりレシピ公開(共有要素)を入れてよかった そうするとユーザーネームいれたほうがよかった 最初は全部非公開で日記みたいになる想定だった 月額課金で収益を得る想定なので、WebPayを使って支払情報の登録をできるようにしておいた 「こうなる予定でした」と夢物語にならないようにはできた 新卒デザイナーがひとりなので、こっちのチームにはデザイナーがいなかった その割にはがんばった フレームワークを使ってそれなりに仕上げているだけ できることから考えてしまう癖 ユーザーにこういう経験をしてもらいたい→じゃあ具体的にこんなデザインにしよう→実装 という形ではなかった 自分の存在意義とは テスト書いたり本番環境で一連の操作をしてみるなど、検証まで含めて機能の完成 テスト書かなかったなー 発表1時間前に本番環境で一部の操作にエラーが出ることが発覚 突如ISUCONが開催された 落ち着いてログを見てエラーを潰せたのはちょっと経験値が上がった? 作りたい機能が5個あるけど時間が足りないとなったとき、検証を省いて5個作るんじゃなくて、3個に減らしてそこまでは確実に機能するものをつくる 動かなければないものと同じ 優先順位や「やらないことリスト」 自分たちのやりたいことに最低限必要なものは何なのか(MVP) 自信を持って減らせる 公開したい 使いたいし改善したい 会社のプライベートクラウドにデプロイしているのでアドレスさえわかれば見れる状態 ログイン制なのにSSLじゃない テストも書いてないし手動の検証も不足しているので、プライベートなものが本当にプライベートになっているかよくわからない