タグ

ブックマーク / r7kamura.hatenablog.com (6)

  • モデルからJSON生成するときこうやってます2016 - ✘╹◡╹✘

    最近RubyReact.jsをよく利用していて、Rubyで扱っている値をJSONとして表現したいケースが増えてきた。こういうのどうやっていますかと人に聞きたいので、自分はこうやっていますよというのを説明のためにまとめておくことにする。 概観 自分の場合、次のような方法で実装することが多い。 JSONとして表現したいオブジェクトをコンストラクタで受け取るクラスを定義する クラスに #as_json を定義して適当なHashを返すようにする Object#to_json が再帰的に #as_json を利用するようにする (ActiveSupportがやってくれる) コード 具体的には、以下のようなクラスをつくっている。これは最近つくっている掲示板での例で、Megaboard::Resources::Comment はコメントのJSON表現のためのクラスである。いわばコメントのJSON表現に

    モデルからJSON生成するときこうやってます2016 - ✘╹◡╹✘
    progrhyme
    progrhyme 2016/10/03
  • 最終掲示板戦争 - ✘╹◡╹✘

    こんにちは、r7kamuraです。26年なにも考えずに生きてきて、レールに沿った人生を歩んできました。 さて、数日前からなんとなく気が触れてRuby on Rails掲示板をつくってみている。上の画像はいまつくりかけのもの。CSS全部手で書いてみてるからまだ見てくれがかなりショボい。最初に手を動かしはじめたきっかけは、2007年頃に「Railsを使って15分で掲示板をつくってみよう!」という記事を見たのを思い出したのがきっかけ。いまのところ10時間ぐらい経過している。15分はちょっと無理そう。2016年にもなって10時間以上かけて掲示板つくってるのは皮肉すぎる事実。もはや何故掲示板をつくっていたのか分からなくなってきつつある。とりあえず濁り切らない内に考えていることを書いておく。最近なんで掲示板つくってんのって聞かれることが増えてきたので、そのときにこの記事のURL出せると多分便利。 掲

    最終掲示板戦争 - ✘╹◡╹✘
    progrhyme
    progrhyme 2016/09/28
    どこを目指してるのかわからないけど面白いっす。
  • 非同期連絡手段ブレスト - ✘╹◡╹✘

    Slackで周知してもお知らせが流れてしまう Slackには受け取ったmention一覧があり便利 レスポンスが早く欲しい場合もある レスポンス速度と人事評価を結びつける 我々はコミュニケーションにおいてもレスポンスを200ms以内に返す 速度が落ちてくるとSlackにパフォーマンスエラーが出る PagerDutyでパフォーマンス監視 ステータスページ お知らせだけの場合とリアクションが欲しい場合がある リアクションが欲しいかどうかシステム的にわかると便利 リアクションしてほしいのかどうか分からないことが多い リアクションが終わったものと思っているかどうか分からない多い レビューとかでコメントついたときにそれでレビュー終わった感じなのかどうか分からない TODOリストを相手に送れるやつはどうか 「AさんがこのPull Requestのレビューをする」というタスクをつくる Aさんはレビューが

    非同期連絡手段ブレスト - ✘╹◡╹✘
    progrhyme
    progrhyme 2016/09/14
    オチわろたw
  • amakanでKindle Unlimitedの上位100件を集めた - ✘╹◡╹✘

    近年、Kindle Unlimited の日上陸により、我々の進捗はますますダメになっている。理想状態において、無限に漫画を読み続けることができれば、人は進捗を完全に停止させることができる。しかしこの仮定は、如何にして読みたい作品を発見するかという問題に我々を導く。 Kindle Unlimitedで作品を探す方法として、masawadaの日記 では「刊行数が少ない出版社順にタブを開く」「星4以上の書籍に限定する」「あとはがんばって全部みる」という手法が紹介されている。id:masawada はこの課題について新たな試みを行ったが、多くの人間はがんばる気概を持ち合わせていない。 先月から開発を始めた amakan.net では、それぞれの作品ごとに、漫画やラノベのシリーズ判定、Kindle Unlimited対応判定、読みたい・読んだの管理を行っている。そこで、このデータを利用して「

    amakanでKindle Unlimitedの上位100件を集めた - ✘╹◡╹✘
    progrhyme
    progrhyme 2016/08/07
    進捗を駄目にするリストか。しかし、Unlimitedなのに完結まで読めないシリーズもあるのね。。
  • Go言語のテスト用ライブラリとGospel - ✘╹◡╹✘

    先週初めてGo言語を触る機会があったので、テストの書き方を調べた。 要約すると、標準ライブラリのtestingが好きになれず他に調べても気に入ったものが見付からなかったので自分でつくった。 testing Go言語にはtestingという標準ライブラリが用意されていて、 「go test」コマンドを実行すると「*_test.go」という名前のテスト用ファイルがそれぞれ実行される。 具体的には、そのファイル内で定義されたTest*という名前のテスト用関数がそれぞれ実行されるようになっている。 公式サイトの例ではこういうコードが紹介されていた。 type doubleTest struct { in, out int } var doubleTests = []doubleTest{ doubleTest{1, 2}, doubleTest{2, 4}, doubleTest{-5, -10}

    progrhyme
    progrhyme 2016/08/06
    RSpec ライクにテスト書けるやつ。
  • WikiHubの開発意外と続いてる - ✘╹◡╹✘

    前回の記事 あのWikiHubが天下Wiki武道会に参戦 - ✘╹◡╹✘ で触れたけど、先月から WikiHub というWikiをつくっていて、趣味程度ではじめたものの結構な勢いで開発が続いてる。 最近の変更点 ここ最近の新機能として、 SSL対応 GitHubアカウントでのログイン エクスポート機能 ページテンプレート機能 Markdownでチェックボックスつけられるやつ HipChat・Slack連携 Webhook 二段階認証 などを実装してみたりしていた。CHANGELOG - WikiHub Help に変更点を書いていってあるので、ここ見るともっと詳しい様子が分かって便利。今日これやったぞーっていうのまとめて公開しておくとがんばった感が出るので、WebサービスとかでもCHANGELOGを書いて公開していくのは良い取り組みだと思いました。よく考えたらやってない感も出るので諸刃の剣

    WikiHubの開発意外と続いてる - ✘╹◡╹✘
    progrhyme
    progrhyme 2016/07/18
    なんか普通に使ってる人もいるようだ。ってか、使いやすそう。
  • 1