ありえんHip-Hopスマートフォン用の表示で見るありえんHip-Hopこの広告は、90日以上更新していないブログに表示しています。Phoenixはじめにタイトルは釣り。s/対抗/便乗あと、「作った」という表現は厳密には正しくなくて、以前作ったYayaka19サイトを”分散化した”というほうが近い。記事の目的いろいろと忘れてしまう前に記録しておくアナウンスメント連邦全体のユーザー数を5人くらい増やすサーバーが1つくらい増えたらすごい目的に記録が含まれているというのもあって結構余計なこととか書く。経緯Yayaka19もともと(Share)という名前で作り始めた。機能を足したり引いたりしているうちに今のような形に。Yayaka19という名前に変えることになったのは、利用者から「Shareという名前はググラビリティが悪いのでKOKOMINECOCONAみたいな感じのエントロピー高い名前にしてほしい」と言われたため。Socialのアカウントを持っていたため、OStatusについても知っていた。周りは「自分ならOStatusは実装したくない」という反応で、自分も実装したくなかった。時間をかける気は起きなかった。そんなところに、あの日本でのマストドン流行が起こった。少なくとも私の観測範囲では流行っていることを確認できた。Socialと違っていろんな界隈でたくさんのアカウントが作られていたし、Twitterでの投稿数が減少した人も見た。独自プロトコル(Yayakaプロトコル)を用いてYayaka19を分散SNS化することを思い立った。設計と実装とりあえず方針としてはサーバー同士をWebSocketで接続して、なにかあるたびにメッセージを送受信する。あるユーザーが外部サーバーのユーザーをフォローしていたら、タイムラインをロードする度に外部サーバーから投稿を取得する。他には、新しい投稿があったときに投稿者のフォロワーに外部サーバーのユーザーがいれば、新しい投稿を外部サーバーに送る。一応Yayakaプロトコルにする予定があるので、ある程度留意して設計した。実装するには、まず、WebSocketのサーバー側とクライアント側を作る必要がある。クライアント側だけ自作した。それはライブラリとして別に公開している(phoenixchannelclient)。SocketRegistryにはElixirのRegistryという比較的新しいモジュールを利用した。全体的に実装していて楽しかった。面白がってもらえている気がする。私以外が運営するサーバー(19.fubaiundo.org)が立ったので良かった。VMのプロセスの関係図を出した。真ん中の花火みたいなやつが多分HTTPのコネクションプール、左下のはRDBのコネクションプール、右側はフレームワークのやつ、という感じなので左上が実装した部分。タイムライン読み込みの状態errorとかtimeoutとかloadingとかになる。この表からRetryもできる。写真が暗いのはブラウザの拡張機能でページが黒くなってるから。Pluginsが流石にゴミ置き場すぎる最後に特になし。以前からお会いしたいと思っていたkuyさんに会って話...2017-02-19ReduxでのRoutingはこれでやっていこうと思います。入れた10万のラップトップに乗りかえたけど快適すぎる。一時停止リマインダーをやるためにグッズを作った。月別アーカイブ参加グループプログラミングはてなブログをはじめよう!ryo12redstoneさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。