Lokka の管理画面をスマートフォン対応させた。携帯から記事を投稿したりスパムコメントを削除したいなと思うことがあっても Lokka の管理画面はモバイルフレンドリーではなくて非常に厳しかった。とても便利になったと思う。ドッグフーディング最高。
専業フロントエンダーではないのでマークアップと CSS コーディングは適当だけどこの様に寝床でごろんとしながらでも駄文を投稿できるようになって便利。 Lokka ご利用中の方はご活用ください。
Lokka の管理画面をスマートフォン対応させた。携帯から記事を投稿したりスパムコメントを削除したいなと思うことがあっても Lokka の管理画面はモバイルフレンドリーではなくて非常に厳しかった。とても便利になったと思う。ドッグフーディング最高。
専業フロントエンダーではないのでマークアップと CSS コーディングは適当だけどこの様に寝床でごろんとしながらでも駄文を投稿できるようになって便利。 Lokka ご利用中の方はご活用ください。
乗るしかない、このビッグウェーブに
、という感じで Let's Encrypt を使って無料の証明書をゲットし、ブログを https で公開するようにした。
証明書の設定とか難しそうで敬遠してたのだけど、実際やってみると思ったより簡単だったが、いくつかはまりポイントあったので書いておきます。
CSS やテンプレート内で http://hogehoge.com
となっているところを //hogehoge.com
に変える。本文中の画像の URL も 'https://' に書き換える。ちまちました作業。 Amazon の画像の URL も https に対応したドメインに変えないといけない。
画像は S3 から配信していて、独自ドメイン( resources.portalshit.net
)を当てて使ってたんだけど、ブログ本体を SSL にしたのに画像配信サーバーとの通信が非 SSL なので mixed content といって怒られる。
S3 単体で独自ドメインを使って SSL 通信することはできないので、 CloudFront を経由して CloudFront に Let's Encrypt で作った証明書を登録して使う。この S3/CloudFront 用の証明書の発行・登録のプロセスが若干面倒くさい。更新のときに手順忘れてそうで心配。 Let's Encrypt プラグインを使うようにした方がよさそう。
他、 Route53 で CNAME 当てて S3 に向けていたのを CloudFront を向くように変える必要もあり。
個人ブログごときで CloudFront を使うことになるとは思わなかった。
やっと mixed content の警告消えて記事を書こうとしたら、なんと管理画面が SSL 非対応でブログにログインできない。 Padrino の url
メソッドが protocol の指定を出来ないようだった。オーバーライドとか試してみたけどうまくいかなくて困ってたところ、 rack-ssl-enforcer
という gem を発見した。こいつを RACK_ENV=production
のときだけ use するようにして乗り切った。 'http://' となってるのを Rack 層でえいやっと 'https://' に書き換えてくれる。
Let's Encrypt 、本当に簡単で最高便利だと思った。オレオレ証明書発行するより楽っぽい。いい世の中になったと思う。ただ有効期限が短いので更新を忘れないようにしないといけない。更新の自動化までやってしまいたい。
ウェブサーバーを Nginx から H2O に変えるのとかまでは手が回ってないので自動更新と一緒にやりたい。
2015 年のアドベントカレンダー、こんだけ参加してる。
寺・神社とか面白そうなのあったのでひょっとしたらもっと参加するやつ増えるかもしれない。 12 月は睡眠不足になりそう。
また、今年初めて自分でもアドベントカレンダー作ってみた。
Mac のソフトネタ、昔はちょくちょく書いてたけど最近書いてないので、これを機会に久々に書いてみようと思ってこういうアドベントカレンダー作ってみた。
『 Evernote 徹底活用術』とか、『これは便利! 無料の Photoshop テクスチャ 10 選』、みたいなのじゃない記事が集まればよいと思う。
アドベントカレンダー、トピ主の人間力が問われていて、トピ主に知名度がなかったりネットで好かれてなかったりしたらなかなか書きたいという人が集まらない。全然書き手が集まんなくて、 2, 3 個しか記事が投稿されないアドベントカレンダーは寒いので、みんな何か書いてくれ頼む!!!、!!!、!、!!!
一時期に比べたら Lokka 使ってる人減ってて、 Jekyll/Octopress ブームのあとは Go lang 製のスタティックサイトジェネレーターかはてなブログに移っていってしまった。自分は自分で使うツールを自分でいじるのが好きなので Lokka 使い続けていきたい。ということでいろいろやった。
Lokka の master ブランチ、しばらくコミットされてなくて Travis CI のビルド 1 年半くらい走ってなかった。久々に Pull Request 出したらビルド成功しなかったので通るようにした。 Travis がコンテナベースの環境から Docker ベースに移行したぽくて、その影響で PostgreSQL がらみで bundle install がこけるようになってた。なのでテキトーに addon を追加しといた。
同じコミットでもうメンテナンスが終了している Ruby 1.9 系の CI をやめるようにした。
json 1.5.5 は Ruby 2.2 系では install に失敗するようなのでいろいろ bundle update した。 ActiveSupport も 3.1 ではエラーが出てしまうので bundle udpate して 3.2 の edge にした。
コメントで教えてもらったので直した。
ただ実はまだ完全には直せてないので近日中に直したいのだけどテンプレートをレンダリングする仕組みをまるっと変えないと直らなそうなので結構きびしい…。
具体的にはプラグインに同梱された CSS や JavaScript とテーマのやつをくっつけて配信したい。 Asset Pipeline 的な。
なんか遅い。このブログのトップページのレスポンス返すのに 1 秒くらいかかってるの改善したい。 DB にインデックス張るのとクエリのチューニングかな。
Fjord の皆さんで開発が続けられていたけど停滞しているっぽい。 DataMapper 、耐えられないほど不便なわけでもないし ActiveRecord にない便利な機能もあるのだけど、 N+1 起こらないという触れ込みなのに N+1 起こったり、ちょっと込み入ったクエリを投げたいと思ったときにやり方がわからないもしくは出来ないということがあるので、 Ruby エンジニアの皆さんが日常的に使ってる ActiveRecord を使うようにするのが良いだろうと思った。そもそもあまりメンテもされてないし、 DataMapper に引きずられて Lokka が停滞するのも残念だし。高速化のためにも ActiveRecord 化有効そう。
最近「仕事外でコードを書かないエンジニアは人間のクズだ」、「いやクズはそっちだ、エンジニアの業務時間外の学習に依存する会社こそ真のクソ」みたいな議論多いけど、自分で使うツールのメンテナンスくらいやらないと本当にプログラマー廃業しないといけない気がするし、自分がプログラミングに触れたの自体 P_BLOG の改造がきっかけだったので、プライベートを犠牲にして歯を食いしばりながら取り組んでいきたい。
セルフホストの個人のウェブログでも Twitter カード出てるサイトあることに気がついて個人でもできるぽかったのでやってみた。メジャーサイト感出る。
Lokka 用のプラグイン作っといた。
技術のことを書いてたブログ( tech.portalshit.net )を Amazon S3 で公開するようにした。9月くらいまでは EC2 の micro に置いてたんだけど EC2 micro でも高くて家族の理解を得られなくて terminate したので表示できなくなっていた。
やり方は以下の Qiita の記事を参考にした。jekyll-s3 という gem 入れればよかった。簡単だった。
手順ミスって US リージョンで公開することになったけど遅さとか感じないのでこれで良いかなと思う。
Jekyll 、なんか Liquid みたいな特殊なテンプレートエンジンだし、 Lokka の方が Rack アプリケーションの勉強になるし自分でつくった Syntax Highlighter 気に入ってるのでプログラミングっぽいこともここに書くようになってしまった。しかしそのうち気が変わってまたあっちに書き始めるかも知れないのでとりあえず公開できる状態にしておく。ちなみに tech.portalshit.net は最初、今はなき Mephisto という Rails 製のブログツールで構築してて、デザインは Mephisto 用のものを Jekyll に自分で移植して使ってる。
ポータルシットをリニューアルしようかと思ってます。ブログプラットフォームは2003年の時点で完成されてて、P_BLOGの提供する機能に不満なところはないんだけど、コメント欄を含むP_BLOGのMySQLのデータをうまい具合に移行して作り直したらいろいろ勉強になるだろうなと思って。目指してるのはRESTfulであることと、シンプルであること、Ruby製であること。RubyベースのCMSかRailsで置き換えようと思います。納期は未定。