2018-01-01から1年間の記事一覧
ある日時フィールドstartについて、現在時刻より前かどうかを判定する必要があったが、そのフィールドがnilになる場合がある。 とりあえず正直に書いてみた。 def past? if start.present? start < Time.current else false end end これでプルリク出したら…
classのattrに対して下記のようなpublic_sendで値を設定できるらしい。 public_send("#{attribute_name}=", val) ということは、obj.hoge=の`hoge=`はメソッドなのか?と思って呟いていたら、attr_*はhoge フィールドとhoge= メソッドを定義するものだと教え…
ちょっと大量のデータを扱うことになったのでmongoDBのセットアップをした。 当初はGAS+スプレッドシートでササッとやるつもりだったが、調べていくとデータの件数が数十万件を超えることが発覚したのでGASではさばききれない*1ためDBを立てることにした。 m…
既存のmodelにカラムを追加するやり方 rails g migration クラス名 クラス名は通常「行なう処理+テーブル名」になる。例えば、AddAgeToUsers(またはadd_age_to_users)となる。 生成されたマイグレーションファイルのchange内にadd_columnを書けばいい。 …
技術書典5でGAS本を頒布します。 技術本はおろか、同人誌さえ出したことがないのでわからないことだらけで四苦八苦してます。 当初はGASを網羅的に扱った本にしようかと思ってましたが、なにかテーマを決めたほうがいいなと思ってTwitterとかで話してた結果…
Qiitaに投稿しました。 ソースと使い方はこっち。 主な内容はQiitaに書いたので開発時点の苦労話でも。 トークンについて いまひとつSlackのTokenの扱いがよくわからない。 もともと参考にしたやつではherokuにデプロイして各ユーザーのトークンを保存するこ…
7月に引っ越すにあたって引越し先の選定をしないといけないが、SUUMOで表示される内容を見やすく一覧で見るためにスクリプトを書いた。 ただしSUUMOにはAPIがないため、検索結果のURLを叩いて返ってきたレスポンスを解析するという手法を採っている。 そのた…
もうjavaは久しく触ってないですが。 togetter.com var (型推論)が導入されていろいろ物議を醸しているみたい。 C#では10年も前に実装され、散々され尽くしたであろう議論がまた行われてるのを見てるといろいろと考えてしまう。 そこそこよく見かけるjava…
嵌ったのでメモ。 POSTでform-dataを選び、keyの右側あたりにカーソルを当てるとTextと出るのでここをFileに変更。 するとファイル選択ボタンが出るのでここでファイルを選択。 keyはfileで良い模様。
Win + Ctrl + Cを押下すれば直る。 具体的にはWindows10のカラーフィルターのショートカットになっているので、再度ショートカットを入力してフィルターをオフにしてやればいい。 コピーしようとしたときにたまたま押下してしまって、ケーブルの接触とか疑っ…
日本のナンバープレートの入力を正規表現で検証してみる。 こちらはGoogleフォームの検証機能で使用した。JavaScriptと同じ仕様? Googleフォームで使用する場合は最初と最後の/を省く必要があるみたい。 これ↓ ^[\u30a0-\u30ff\u3040-\u309f\u3005-\u3006\u…