35歳からの中二病エンジニア

社寺・鉄道・アニメを愛でるウェブ技術者の呟き

技術

RailsでDevise使用時にメール認証をスキップする

Deviseでconfirmableを設定していると、管理対象のモデルを保存する際にメール認証が挟まれる。だが、場合によってはメール認証を飛ばしてメールアドレスを保存したい場合があったため、方法を調べてみた。 なお、ここでは便宜上Devise管理対象のモデルをUse…

EIZO EV2785にディスプレイの未来を見た

仕事道具に拘れない職場へ行くとやる気が7割減になるaikawameです。ごきげんよう。 はじめに 今の仕事ではUSB-C搭載のMacBook Proを使っていて、自宅でもリモートワークで使うのだけれども、今までは電源アダプターとHDMIアダプターを毎度持ち運びしていて非…

Chaliceでハマらないために

サーバーレスでAPIを作りたくて、Chaliceを使ってみた。非常にシンプルで、爆速でAPIを開発できそうだけれども、幾つか留意しておきたいポイントがあったので記しておく。なお、Chaliceについては他の記事で詳しく説明されているので、そちらを参照されたい…

ChatWork向けIncoming Webhooks的なものを作った

ウェブサービスでアイコンがデフォルトのアカウントはみんなじゃがいもだと思っているaikawameです。ごきげんよう。 はじめに 僕の勤めている会社では、社内チャットにChatWorkを利用している。「ChatWorkが許されるのは小学生までだよねー」とかSlack派に煽…

キーバインド 復活のKarabiner

JISキーボードを見ると半角/全角キーにセメダインを流し込みたくなるaikawameです。ごきげんよう。 はじめに macOS Sierraになってから、IMEのトグルやEmacsキーバインドを設定していたKarabinerというツールが動かなくなってしまった。当時は暫くEl Capitan…

Mac使い向けのはかどるGUIツール10選

自分の使っているツールが会社のメンバーに意外と知られていなかったので、紹介してみたら好評だった。そこでこちらでも紹介してみることにした。 Alfred マカーな開発者にはお馴染みのイケてるランチャー むしろ使っていない人を知りたい さらにはかどるWor…

OpenShift難民が自分用PaaSを作った話

個人ウェブサービスをOpenShift v2で無料運用していたのだが、残念ながら2017年9月でサービス終了の運びとなった。v3やHerokuではコスト的に複数サービスを回すのが辛いので、これを機会に自前のPaaSを構築することにした。 やりたいこと 小規模な個人サービ…

Ansibleでカーネルチューニング

LinuxのカーネルパラメーターやPAM limitsの設定は、大規模なサービスで抜けが発生すると大変な事になるので、Ansibleで一気に適用してしまいたい。最近のバージョンではどちらも専用のモジュールが用意されているため、備忘録がてら記載しておく。 カーネル…

GDの画像圧縮率と処理速度

よくPHPのGDは重いと言われるが、重い中でも圧縮率の設定次第で大きくパフォーマンスが変わるという落とし穴にハマってしまったので、備忘録がてら綴っておきたい。 何が起こったのか 商用サービスにおいて、アバターの合成・圧縮処理にGDの imagepng() 関数…

JMS Serializerのデバッグ設定でハマる

JMS SerializerはPHP標準のシリアライザーよりも強力なため重宝している。ただ、開発時にデバッグ設定にしたにも関わらずキャッシュが作成されてしまう現象に遭遇したので、備忘録がてら記載しておく。 ダメな例 以下は、キャッシュが作成されてしまう例であ…

Laravelのルーティングをアノテーションで指定する

Laravelのルーティングは、設定ファイル(routes.php)に記述するのが標準のやり方である。だが、僕は個人的にルーティングに関しては「設定より規約」でやりたい質である。そこで、わざわざ設定ファイルを見に行く、或いは作るという事をやらずに済むような…

LaravelのORMとしてDoctrineを使う

新規サービスでLaravelを採用するにあたり、標準のORMであるEloquentを学習しようかとも考えたが、Doctrineに載せ替えればアノテーションでスラスラとスキーマ定義できるし、DDDとの親和性も高いので、うまく導入できる方法を調べてみた。 Laravel Doctrine …

Laravel DebugbarをAPI開発でも使う

Laravelのデバッグツールとしては、Laravel Debugbarがよく使われている。ただ、これは情報をHTML上に描画しているため、API開発でレスポンスがJSONとなる場合などは表示されなくなる。そこで、Chrome/Firefox拡張であるClockworkを導入することによって、レ…