start.TweetShareEditブログを作る(6)2016-09-26Tech自分のサーバにデプロイして、外から見えるようになった。実はRubyKaigiの初日くらいにデプロイしてたんだけど、新規記事の作成ができなくなっていて、ちょっと間が空いてしまった。pushを忘れていて修正前のものがデプロイされていたのだった。それとは別にSinatraのloggerがログを記録してくれない?という現象があり、原因を把握するのが大変だった。Sinatraのログについては別途記事を書く。TweetShareEditブログを作る(5)2016-09-07Techなんか色々やった。ブログらしくなってきたと思う(見た目的にはまだまだだけど、機能として)。この装飾がなさすぎる感じ、逆にいいかもという気分になってきた。redcarpetでmarkdownをレンダリングするようにしたので、リストとかはちゃんと使えている。タイムゾーンについて現在はDBにはUTCで保存していて、設定ファイルでユーザ(書き手)の好きなタイムゾーンを設定できるようになっている。いう構成なので、日付を扱うときはつねにタイムゾーンについて考慮する必要がある。今日ちょっと問題になったのは、編集画面のdatetime入力欄。前回決めたように各記事がdatetime(記事の日付と、ソートのための時刻)をもつのだけど、これを入力するのにTime.parseを使うと、「2016-09-07」とだけ書いたときにどうなるだろうか?答えは「デプロイしたサーバのタイムゾーン設定の影響を受ける」で、このままだとトラブルの予感がひしひしとするので、設定ファイルのタイムゾーンと見なしてパースさせたい。調べてみると、ActiveSupportにTime.zone.parseというそのものずばりなメソッドがあったので、それを使うようにして解決。TweetShareEditブログを作る(4)2016-09-03Techそういえば日付の扱いについてちゃんと考えてなかったが、思ったより複雑っぽい。post.dateユーザが入力する記事のURLに含まれるpost.published_at記事が最初に一般公開状態になったときに設定し、変更はしないフィードのpublished欄に使用post.updated_at(ActiveRecordによって)自動的に設定される(more...)Editブログを作る(3)2016-08-24Techこれは3番目の記事である。一応、管理画面ができて、記事を書けそうな感じになってきた。それはいいけど、管理画面の実装とRSpecによるテストとあれやこれやを一度にやってたらdiffがぐちゃぐちゃになってしまった。一人プロジェクトだし最序盤だからモノリス的コミットになってしまうのは別にいいといえばいいんだけど、現状が把握できなくなると急速にやる気が失われていくという問題があって、それはとてもまずい。趣味プロジェクトであっても、モチベーションを維持していくためにはちゃんと「やることリスト」みたいなものを作った方が良いのかもしれない。すれば「いま何の作業をしているのか」が明確になるし、達成感もより短いスパンで得られるようになるはず。日付を入力する欄がないことに気づいたので次はそれだな(この記事は2016年8月24日に書かれた)TweetShareEditブログを作る(2)2016-08-16Tech前回からちょっと間が空いてしまった。これは二番目の記事である。記事を書く機能を優先して作ったほうが良さそうだ。前回と同じくこの記事もviews/index.slimに直書きしている。このままでは単なる日記になってしまう。記事の保存先はRDBにする予定だ。jekyllなどのように静的ファイルをコンパイルすることも考えたけど、「ブラウザ上で記事を書きたい」という要件があるので、普通にActiveRecordでやるのが実装が一番簡単だという結論になった。TweetShareEditブログを作る2016-08-11Tech自分のためのブログエンジンを作ろう、と思ってどれくらい経っただろうか。少なくとも数年はくだらないはず。二度ほどチャレンジしては途中で放置した記憶がよみがえる。「やろう」という気持ちに手が追いつかないことが多くて困ってしまう。否、本当はそれほど困っていないからこそのこの体たらくなのだろうけど。「やろう」を「やった」に変えるためには、兎にも角にも手を付けないことには始まらない。いうことでこのpostを書いているのである。前回前々回の失敗は、記事を用意せずにブログエンジンを作り始めたことにあるように思う。記事が無くてもブログエンジンは作れるが、ブログには記事が必要なのだ。ブログエンジンは今のところ名前だけ決めていて、nlog2という。記事を書く機能がないので、この記事はviews/index.slimに直接、文章をベタ書きすることによって執筆された。ブログの公開はある程度機能ができてからにするつもりだったけど、とりあえず表示はできているのだから、このまま公開してしまうのも面白いかもしれない。authorTwitterGitHub。