mizdra's poem

雑なこと (日記/技術ポエム/メモ/…) を書くブログです.

2018-11-24

鍋会

今日は鍋会というサークルの現役部員やOBが集まって鍋を食べる会があった. インターネットのアバターでしか認識できていなかった人と何人か話して, この人が〇〇さんなんですね, となったりしていた.

あと色々雑談している中で「良い動画がある」と紹介されてこれを見ていたのだけど, 開幕からぶっ飛んでいて良かったので共有しておきます.

www.youtube.com

お疲れモード

沢山話したせいか, 睡眠時間が足りなかったせいか, 賑やかな場所が合わなかったせいか, 水分をあまり摂取していなかったせいか, 頭を使いすぎたせいか, ここ数日の疲れが溜まったせいかよく分からないけど, 鍋会の頃にお疲れモードに突入していた. お疲れモードに突入すると, 何かものを考えようとすると頭が痛くなる, 眠いのだけどずっと頭がビジー状態にあって寝られない, ろれつが回らない, フラフラする, 文章が上手く書けない*1, といった症状がでるようになることが過去の数回の経験で分かっている.

仮眠を取ったら回復するかなと思って会場で少し寝ようとしたのだけど, 周りは賑やかだし, 脳は覚醒しているしで全然寝られなかった. 結局その後も全然回復する様子がなかったので, 軽く食べて素直に帰宅した. 帰路は意外と平和で, 電車も座れたし, 座ったら何だか落ち着いて寝られたので最寄りに着いた頃には頭もビジー状態から回復していた. ただ, ビジー状態から回復したといっても帰宅して家族と会話した際にろれつが回っていなかったので, 完全回復ではないみたい.

とりあえず明日はHTML5 Conferenceに参加するので, すぐに寝て元気になる必要がある. 9時間睡眠を取ると完全回復することが経験則から分かっているので, できれば9時間寝たいのだけど, イベント開始時刻は10時だし電車の移動には1時間くらい掛かるし厳しい. 体調優先, 元気そうだったら行く, みたいな感じでやっていくと良さそう. おやすみなさい.

*1:今この文章も「上手く書けないなあ」と思いながら書いている

2018-11-22

日記

以前更新してから暫く間が空いてしまった. ここ最近あんまり日記を書く気分にもなれなかったのが原因なのだけど, 結局のところその状態を良しとして放置すると「まあ今日も書かなくて良いかな…」みたいな心理が働いてしまいがち. そうした状態に陥ってしまうと, 日記を書く気分を高めるような行動をしたり, 気合を入れて記事を書いたりしない限りは中々脱却できない. 脱却できれば良いのだけど, まあそういう状態に陥らないことが一番なので, また日記を継続して書いていきたい.

調布祭

明日から弊学である電気通信大学の大学祭「調布祭」が開催されます. 美味しいものを食べたり飲んだり, 催し物を眺めたりできるそうです. 弊サークルではジャンク市という部員が持ち寄った「怪しいモノ」を購入できるお店屋さんみたいなことをやります. お暇でしたら足を運んでみて下さい.

きらら展

今年/平成/今世紀史上最高のイベントに行ってきた. 結論だけ言うととにかく最高なので, 皆さんも今すぐ行きましょう.

この日のために積もりに積もったタスクを処理し, 針の穴に糸を通すようなスケジュールを組んで準備万端いざ出陣みたいな状態で会場に足を運んだ. 会場に廃校になった学校?を利用しているようで, 何だか京都国際マンガミュージアムを思い出す.

きらら作品が好きな人にとっては開幕最高, 中程最高, 終わりも最高みたいな感じの内容だった. 展示ではきららの歴史を一通り扱っているので, 自分が好きな作品の展示を楽しむのはもちろん, 知らない作品の展示を見ることもできる. 実際に「こんな良さそうな作品があるんだ〜」みたいな場面が何度もあって, これが出会いかとなった.

じっくり見ると90分くらい掛かるかな〜と思って念の為2時間予定を空けておいたのだけど, 2時間フルで満喫してしまった. なんせ描き下ろしの展示だけでも80作品もあるので, 1作品に1分掛けるだけで80分経過してしまうことになる. 恐ろしい… 終始幸せな気持ちでいられる最高のイベントでした.

2018-11-08

今日の電車

  • 行き: 勝ち
  • 帰り: 勝ち

Netlify Functions

あるWebアプリでOGPのメタタグを動的に生成したくなったのでNetlify Functionsを使っているのだけど, 挙動が不穏すぎて頭を抱えている.

例えば, ある名前のlambda functionsにリクエストを投げると何故か同じ名前の以前のバージョンのlambda functionsにリクエストが届いてしまい, 全然違うレスポンスが返ってきたりすることがある. 常に古いfunctionsにリクエストが届く訳ではなくて, 確率で新しいfunctionsや古いfunctionsに届いたりする.

あとlambda functionsが吐いた標準出力をNetlifyのダッシュボードから見れる機能があって最初のうちは普通に問題なく動いていたのだけど, 突然ログページを開いてもローディング状態のまま止まってしまい, ログが表示されなくなる現象にも遭遇した. Netlify Functionsぶっ壊れてそうですね.

ともかくOGPのメタタグを動的生成したいという当初の目的はどうにかして達成したいので, Netlifyのサポートに連絡するなり, 他のサービスに乗り換えるなりするのが良さそう. 今日は消耗しまくったのでまた後でやろう...

2018-11-04

React

Dentoo.LT #21で発表するWebアプリをぼちぼち作っている. 今回はViewライブラリにReactを採用していて, 勉強がてらReact Hooksを使って書いている. Vue.jsみたいに簡単にreactiveなデータが扱えて結構便利. 何より今までClass Componentでないと書くのが難しかったことが, React以外のライブラリ(react-reduxやrecompose)に依存せずにFunction Componentでスッキリ書けるのが良い.

React Hooksの useState を使えばreactiveなデータとsetterは同時に用意できる. Class Componentのように, わざわざ自分でreactiveなデータのためのフィールドを記述して, それ専用のsetterを別に用意する必要がない. あるべき形に落ち着いたようで良さそう.

2018-11-01

Dentoo.LT

ポッキーの日にDentoo.LTやります. なんだか登壇希望者が少ないらしいのでネタを抱えているそこのあなた, 今すぐ登壇申請して下さい. とりあえず今この日記を見ている人が全員登壇申請すれば解決するはずです. 是非.

atnd.org atnd.org atnd.org

ちなみに僕も登壇申請していて「祝う2」というタイトルで話します. 気になる方は今すぐatndから参加登録して見に来て下さい.

11月

ノベンバー.

2018-10-28

今日の電車

  • 行き: 勝ち
  • 帰り: 勝ち

ポケモンGO

コミュニティデーでダンバル乱獲していた. 成果は3時間でダンバル202匹, 内6匹が色違いという感じ. 色違いは沢山手に入ったのだけど高個体値のダンバルがあんまり手に入らなくてちょっと残念.

共同編集対応エディタ

前に言ってた大学の課題で作っている共同編集対応エディタがほぼ完成した. 実装した機能はざっと以下の通り.

  • 1文字単位での文字の挿入, 削除に対応
  • 十字キーによる移動, カーソルを使った編集に対応
  • 改行, 折返しに対応
  • Operational Transformationに対応
  • 複数のクライアントからの接続に対応
  • 他のクライアントの挿入/削除によるカーソル位置のずれに対応
  • 移動できない位置にカーソルを移動しようとするとbeep音で警告する機能をサポート

動作の様子を動画で撮ってみた. 今回は遅延のある環境を再現するためにサーバ側でクライアントから操作を受け取るたびに0.5秒sleepする処理を入れている. 動画を見れば, 同じ文章を同時に編集しても想定外の位置に飛んだりすることなく, 操作者の操作はローカルに瞬時に反映され, 遅延してからサーバと他のクライアントに反映されている様子が分かると思う. Operational Transformationスゴイ.

youtu.be

時間が無くてOperation Transformation実装できないかもなーと思っていたのだけど, 以外と何とかなるもんですね. 普段こういう凝ったアルゴリズムをプログラミングで実装することはあまりないので, 良い体験ができた気がする. 提出日は明日なのでもうこれ以上機能を追加することはできないけど, もっと時間があれば共同編集者のカーソル位置の表示とかやってみたかった. ざんねん.