Secret Staircase

Akira Ueda

Written by Akira Ueda. Twitter @akr

CloudFrontとLambdaを使ったサーバーレス画像最適化

Feb 16, 2020

CloudFrontとLambdaを使ったサーバーレス画像最適化 とあるシステムで、CloudFrontとLambdaを使ってサーバーレスで画像最適化処理を実現しました。ここで言う画像最適化処理とは、主に元画像をリサイズして最適なフォーマットに変換する処理です。 Web…

og:image用画像を生成するGatsbyプラグインを作った

Jan 31, 2020

用画像を生成するGatsbyプラグインを作りました。Qiitaの記事がTwitterでシェアされるときに使われる画像みたいなのを簡単に作れます。こういうのですね。 https://github.com/akr4/gatsby-plugin-og-image…

静的サイトをs3にデプロイするツールを作った

Jan 29, 2020

静的サイトを s3 にデプロイするツールを作りました。aws s3 sync は便利なのですがやなどのメタデータをファイル個別に設定できない(よね?)ので似たようなものを作りました。直接 S3 から或いは CloudFront…

iOS13とNFCタグでぬか床カレンダーを作る

Sep 20, 2019

iOS13.1 のショートカットアプリは NFC タグをトリガーにしてアクションを実行することができるようになりました。SUICA みたいに iPhone でタッチするだけで簡単にアクションを実行できます。 バックグラウンドで NFC…

CodePipelineの開始と終了時にSlackに通知する

Aug 18, 2019

CodePipeline の開始と終了時に Slack に通知する機能を Rust と Terraform で作りました。この手の話はググるとたくさん出てきますが、Rust で Lambda 関数を試してみたかったので作ってみました。 GitHub…

create-react-app利用時にservice workerをカスタマイズする

Jun 22, 2019

—2021年10月21日追記— 本記事は create-react-app v3 での方法を述べています。v4 から仕組みが変わり は生成されるものではなくデフォルトの実装が提供され自分で管理するようになりました。本記事で述べるようなパッチの必要はありません。 TL;DR…

Raspberry Piセットアップ

Jan 23, 2019

Raspberry Pi セットアップ スマートホーム用途で Raspberry Pi をセットアップしました。 初 Raspberry Pi であまり勝手がわからないので全部入りのこちらを購入しました。 Raspberry Pi3 B +コンプリートスターターキット(Basic…

スーヴィードでつくる湯豆腐 - 実践編

Feb 3, 2017

最近やたらと湯豆腐食べています。 スーヴィードでつくる湯豆腐 - 実験編 で湯豆腐に最適な温度と時間を検証し、65 ℃ 30 分が良さそうなことがわかりました。 実験のときは 1 切れずつ調理していたのを、今回は 65 ℃ 30 分で普通に…

スーヴィードでつくる湯豆腐 - 実験編

Jan 30, 2017

スーヴィードでつくる湯豆腐 では 70 ℃ 30 分で調理して美味しい湯豆腐ができました。 ためしてガッテンによれば 50 ℃ で甘味が、70 ℃ で食感がそれぞれ最高になるとのこと (http://www9.nhk.or.jp/gatten/articles/2008022…

スーヴィードでつくる湯豆腐

Jan 24, 2017

湯豆腐は基本豆腐を火にかけるだけのとてもシンプルなものですが案外火加減が難しいんですよね。 しっかり熱の入った豆腐はとてもやわらかくてスムースで美味しい、でも温度が高くなりすぎると豆腐が固くざらざらしてしまい食感が損われます。ためしてガッテンによれば表面が 70 ℃、中が 5…

ニトリの和紙テーブルランプ + Hue ライト

Sep 30, 2016

Hue 用のテーブルランプを探していてなかなかいいのが見つからなかったのですが、ニトリに安くてよさそうなのがあったので購入してみました。 和紙テーブルランプ https://www.nitori-net.jp/store/ja/ec/8320466s 95…

Philips Hue Tap スイッチ

Sep 22, 2016

Hue はスマートフォンアプリでコントロールできるのだけれど、さっとオンオフしたいときはやっぱりスイッチがあった方がいいです。Hue には Tap スイッチと Dimmer スイッチの 2 種類の製品があり、うちでは日本で販売しているこちらの Tap…

MacBook Pro のカバーに風呂敷を使う

Sep 18, 2016

MacBook Pro を鞄に入れて持ち歩く時用のカバーとして風呂敷を使っているのですが、最近お客さんとミーティングしたときにそのことを褒められてうれしかったのでブログに書いてみます。 MacBook Pro…

Philips Hue のセットアップ

Sep 5, 2016

今の部屋 (賃貸) は照明が天井直付けだったのですが管理会社さんと交渉して自費で引っ掛けシーリングに変更することができました。これでずっと欲しかった Philips Hue を導入できました! Hue にはこちらのスポットライトを合わせています。 NEC…

Gradle を使ってサーバ起動時にバージョン番号を出力する

Feb 21, 2014

Git の最新のタグをバージョンとしてサーバ起動時に出力する、ということを Gradle を使って実現しました。gradle-release-plugin あたりがこのへんも面倒見てくれるかなと思ったのだけれど、たいした手間でもないので自前で。 Gradle…

iPhone の実機でテスト環境に接続する

Jan 16, 2014

API サーバと通信するタイプの iPhone アプリ開発において、実機を使う必要があったので環境を構築しました。iPhone 実機上のアプリと Vagrant のゲスト OS 上で動作している API サーバを通信させます。 実現したいこと Vagrant のゲスト OS…

AppCode Night に行ってきました

Dec 18, 2013

2013/12/17 に開催された AppCode Night に参加してきました。僕からは「AppCode の基本」と題して発表しました。 AppCode の基本 実際に AppCode を使って、UIViewController…

シングルタブスタイル IntelliJ

Nov 14, 2013

IntelliJ 使ってるとタブがどんどん増えていって (上限があるけど)、どのファイルがどのタブで表示されているか把握できなくなって探すのに少し時間がかかってしまうことがよくある。 結局のところ、タブから探すのではなく IntelliJ の強力な Navigate…

Jekyll + S3 に引越しました

Oct 16, 2013

ブログを S3 に引越しました。いままでは Heroku で動かしていました (Jekyll と nginx 用の Heroku buildpack)。 jekyll-s3 で超簡単でした。

Gradle で JsTestDriver を使う

Jun 7, 2013

Gradle のタスクで JsTestDriver を実行する。 eriwen/gradle-js-plugin の issue を参考にして、ここでは JsTestDriver.jar を maven central repository…

Gradle で JSHint を使う

Jun 6, 2013

Gradle のソースコードに JSHint プラグインが含まれているのだけれど、公式ドキュメントには出ていない。フォーラムのコメントによれば eriwen/gradle-js-plugin を使うのがおすすめだそうだ。 こんな build.gradle を用意する。 で実行。

Gradle を使って Scala REPL を開く

Jun 3, 2013

Gradle を使って依存ライブラリをクラスパスに設定した Scala REPL を開く。Gradle タスクで開くことはできる (後述) のだけれど補完が効かないので普通に scala コマンドを使って開く。 scala…

Maven から Gradle への移行

May 30, 2013

既存の Maven プロジェクトを Gradle に移行してみる。 対象のプロジェクトは shibainu。SpringMVC と spring-data、QueryDSL を使った Web アプリケーションのテンプレートプロジェクト。このような pom.xml…

Gradle で Scala プロジェクトをビルドする

May 28, 2013

ふと思いたって Gradle で Scala プロジェクトをビルドしてみた。 こんな build.gradle を使う。 sbt が恋しくなる点 %% 記法がないので artifact ID に Scala のバージョン番号を含める必要がある (上の例の unfiltered…

Jekyll と nginx 用の Heroku buildpack

May 27, 2013

Heroku で Jekyll を使ってサイトを生成して nginx で動かすための buildpack を作りました。 https://github.com/akr4/heroku-buildpack-jekyll-nginx 作ったといっても nbudin/heroku…

ブログを Jekyll に移行

May 22, 2013

ブログを Jekyll に移行しました。 決め手は Markdown ファイルをローカルマシンで管理できること。 ひとまずは Heroku にデプロイしてある。レンタルサーバでも借りようかな。

Java テンプレートエンジンの比較

May 8, 2013

これまでにいくつかの Java 用のテンプレートエンジンを見てきました。今回はそれらを比較します。 対象 JSP (非 JSF) Velocity FreeMarker Handlebars.java Scalate (SSP…

某勉強会向け Scala スクリプト制作メモ

May 7, 2013

scala スクリプトでライブラリの依存性を解決して XML API を呼び出すということをやったのでメモ。 某勉強会の日程調整のために調整さん用の候補日を出力するスクリプトを作った。こんなのを出力する。 scalas スクリプトでライブラリの依存性を解決するために scalas…

Handlebars.java を使う

May 4, 2013

Handlebars.java は Handlebars の Java 実装です。 ここでは Template Inheritance 機能とデフォルト HTML エスケープの動きを中心に見てゆきます。 セットアップ方法 Handlebars.java…

Scalate を Java から使う

May 3, 2013

Scalate は Scala で書かれたテンプレートエンジン。Java から利用することも可能です。 Spring MVC から利用する Spring MVC 用の ViewResolver が提供されています。依存ライブラリを pom.xml…

Velocity でデフォルト HTML エスケープ

May 1, 2013

前回 は JSP でのデフォルト HTML エスケープを検証しました。今回は Velocity を見てみます。 デフォルトエスケープの設定 Velocity では ReferenceInsertionEventHandler を使ってデフォルトでの HTML…

JSP でデフォルト HTML エスケープ

Apr 30, 2013

JSP で HTML エスケープするには や を使うわけですが、いちいち書くの面倒だし付け忘れるもありがちです。付け忘れがないことを確認するにはコードを全部見たり、静的解析ツールを使ったり、サイトに対して XSS…

logback の設定ファイル内で条件分岐

Apr 15, 2013

環境に応じて設定をちょこっと変えたいなら logback.groovy で条件分岐してしまうのがお手軽。 システムプロパティに log.highlight=true があったときだけ logback の出力を色付けする の設定を有効にするならこんな感じ。

logback の出力を色付けする

Apr 14, 2013

logback は ANSI エスケープシーケンスを使った色付き出力をサポートしています。 http://logback.qos.ch/manual/layouts.html#coloring…

Jetty の起動速度を改善する

Apr 13, 2013

Jetty の起動が遅い! Jetty は起動の速さが売りのひとつですが、構成によっては起動時に次のメッセージをログ出力してしばらく固まります。数秒から十数秒、ググったら 45 秒なんて例もありました。 このとき Jetty は Servlet 3.…

apiary.io を使ってみた

Apr 4, 2013

簡単な DSL で REST API のドキュメントを書ける。手軽にキレイなドキュメントが作れて便利でした。 こんな ↓ DSL で作ったドキュメントがこちら。 http://docs.test159.apiary.io…

IntelliJ IDEA が起動途中でハングする場合の解決方法

Apr 1, 2013

ここのところ、スプラッシュスクリーンの途中で止まってしまって起動しないことが増えてきました。強制終了してやり直したらだいたいうまくいくんだけど、ついに全く起動しなくなってしまった。 Web…

backbone-cellar-play2

Dec 22, 2012

Backbone.js ワインセラーチュートリアル を Play2 プロジェクトにしてみました。 https://github.com/akr4/backbone-cellar-play2 Play2.1 RC1 + Slick です。

OSX ターミナルから IntelliJ IDEA を開く

Dec 21, 2012

ってしておいて で開く。 プロジェクト開きたいときは で OK。 複数プロジェクト開いてるときはアクティブなとこで開くようです。これは仕方ないか。 ※ いろんなバージョンの IntelliJ インストールしてる場合は の方がいいかも 元ネタ。 http…

Play2 でのアセット最適化方法を考える

Dec 13, 2012

Play2 で CSS、JavaScript、画像などアセットに対して以下の最適化を実現する方法を考えます。 URL にバージョンを付与する 長いキャッシュ期間を設定する CSS や JavaScript ファイルを結合する CSS や JavaScript を minify…

iCloud ブックマーク増殖の解決策

Aug 15, 2012

iCloud でブックマークを同期したら大量に複製されたときの対応方法 Windows の Safari でブックマークを削除すればよいです。 Windows Mac 版ともに Safari はブックマークを複数選択できませんが、Mac…

レーベンシュタイン距離を計算する

Mar 21, 2012

スタンフォードのフリーオンライン講義の Natural Language Processing をはじめました。 第 1 週の講義で出てきたレーベンシュタイン距離が興味深かったので距離を計算するプログラムを書いてみました。(※ 課題じゃないですよ) レーベンシュタイン距離は…

zip ファイルの diff を取る

Mar 20, 2012

zip ファイルの diff を取るプログラムを Scala で書きました。github にあります。 使用例: Ant -> Maven や Maven1 -> Maven2/3 移行時に同じ war…

Unfiltered と Scalate を Servlet で使う

Mar 13, 2012

Unfiltered と Scalate を組み合わせる方法として unfiltered-scalate があります。簡単に使えて便利ですがサーブレット環境に依存しないように作られているために ServletRenderContext…

ワンクリック勉強会@横浜

Mar 6, 2012

3/5 に横浜で開催されたワンクリック勉強会に参加してきました。 品川のときの資料だけどだいたい同じみたい。資料 仮想化技術やクラウドを有効活用 Jenkins 大活躍ですね Chef や Capistrano…

南禅寺の水路閣

Jan 28, 2012

この前行ってきた南禅寺の水路閣。ここ好きなんだよね。

Scala 用 StopWatch ライブラリ作りました

Jan 27, 2012

Scala 用の StopWatch ライブラリを作りました。 https://github.com/akr4/stopwatch 処理にかかった時間を記録する、とてもシンプルなライブラリです。 StopWatch パフォーマンスを測定するためのライブラリ はじめに built…

Sphinx on MBP チュートリアル

Jan 11, 2012

ちょいと需要があったので、Sphinx を使ったことのない人が MacBookPro に Sphinx 環境を構築してとりあえずドキュメントをビルドできるまでのチュートリアルを書きました。 Sphinx…

Sphinx と Twitter Bootstrap を組み合わせる

Jan 10, 2012

ちょっとしたドキュメントを Sphinx で書くのがよさそうだと思ったけどデフォルトのテーマがあまりかっこよくないんですよね。そこで今風な Twitter Bootstrap を組み合わせる方法を検索したら、ありました。 https://github.com/ryan…

xsbt-start-script-plugin の簡単な使い方

Jan 5, 2012

xsbt-start-script-plugin は main クラスの起動スクリプトを作ってくれる sbt プラグインです。 sbt run を使っても実行することができますが、main クラスが複数あるときにキー入力が必要なのが困るんですよね。 まず設定です。(sbt…

ブログ引越しました

Dec 19, 2011

はてなから Tumblr に引越しました 旧: http://d.hatena.ne.jp/akr4/ これからよろしくおねがいします