私が歌川です

@utgwkk が書いている

靴下を統一すると生活が楽になる

今まで持っていた靴下をぜんぶ捨てて1つに統一した。 靴下、このペアは実はないとか、タンスの奥底にある、みたいな出来事ばかりが発生していて大変だったけど、統一することで生活が楽になった。

靴下を履くとき

靴下の入ってるかごの先頭にある靴下を取って履けばよい。

靴下を洗濯したとき

靴下の入ってるかごの末尾に、洗濯して乾いた靴下を入れればよい。

今後の課題

新しく購入した靴下が、実はちょっとだけ柄が違った、みたいなことがあると破綻しそう。 そもそも、今まで使っていた靴下がこれから永久に購入できる保証はない。

靴下を買うときに既存の靴下をぜんぶ処分する運用が必要になると予想される。

4年前のハッカソンで書いたコードと向き合う

ふと4年前に作ったwebサービスにアクセスしてみたところ、エラーが出ていたので、いい機会だと思いコードの修正をすることにした。

github.com

hatena-bookmark-read-all.herokuapp.com

コードとwebサービスはこれ。はてなブックマークの「あとで読む」を一気に読めるwebサービスで、4年前に はてな×ドワンゴ合同ハッカソン@京都 で作った。

はてなブックマークAPIの仕様が変わっていてエラーを吐いていたので、とりあえず動くようにした。そのついでにコードをガリガリ書き換えていて、いくつか気づきがあった。

  • HerokuもはてなブックマークHTTPS対応してた
  • jQuery!!
    • かっこいい
    • $.ajaxとか登場してる
    • querySelectorとfetch APIで書き直したらjQuery不要になった
      • bootstrapが依存してるのでscriptタグは残す
  • sixを使ってるけど捨てる
    • Python2と3の非互換変更を吸収するライブラリ
    • HerokuがPython3対応してたので退役してもらう
  • requirements.txt使うのをやめてpipenvを使う
    • Herokuのstackをアップグレードしたら自然とpipenvを使うようになった
    • 現代的で良い
  • 状態がいろいろなところに散らばっている
    • ハッカソンで8時間ぐらいで書いたというのもあるけど全体的に雑
    • このころ設計とか知らなくてぜんぶ勘で書いていたと思う
      • 外部API呼び出す関数にいきなりcontrollerの処理が登場している
      • oauth っていう名前なのにOAuth関係ない処理が登場している
  • リクエストごとにAPI叩きまくって一気にデータを持ってきていてワイルド
    • ハッカソンじゃなかったらめっちゃ怒られてると思う
    • ひとまずAPI叩くの1回だけにしてページネーションできるようにする作戦
    • ぜんぶ既読にするボタンは最悪で、一気にリクエスト送ってる(!)
      • 1秒ずつwait入れるようにした
  • かっこよく書こうとして分かりづらいみたいな書き方がある
    • any(map(x.__contains__, ys)) って書いてあったらギョッとすると思う
  • 当然テストはない

これはハッカソンのコードですね、というところから、雑なwebサービスのコードですね、というところまで持っていくことができたと思う。 ページ遷移とくにないので、今やるならReactとかVue.jsとか使ってナウい感じに書くと思う。当時はMVVMみたいな概念は知らなくて、jQuery使ってDOMを直接いじってて手作り感がある。 まだ雑ではあって、認証失敗したらセッションをflushするのでもう一度ログインしてください、というモデルになっている。

みなさんも4年前に作ったもののコードを見直してみてはいかがでしょうか。4年経つとこうも変わるのかというのを感じられてお得だし、リファクタリングの練習になる。

VSCodeのLive Shareでペアプロしたら便利でおもしろかった

先日サークルのコーディング合宿*1に参加したのですが、そのときにサークルの後輩であるnosくんとペアプロをしました。

codecamp.kmc.gr.jp

ペアプロでやったことや感触はだいたいこのインタビューで話した通りで、この記事ではそのほかに思ったことを書きとめることにします。

そもそもLive Shareについて

VSCode拡張機能です。自分のVSCodeの設定を使いつつペアプロ・モブプロができます。導入方法は↓↓こちら↓↓を見てください。

docs.microsoft.com

Live Shareを開始すると共有リンクが生えて、それを踏むと参加できるという仕組みです。

感想

従来、ペアプロ・モブプロといえば周りからどんどん声を上げてコードをどんどん書いていく、というモデルだったと思うんですけど、そこに直接介入できるという路線が生えたのがおもしろかったです。 自分でコードを書くので意思伝達のロスがより少なくなります。

コメントで、今こういうことをやっていてじゃあこれをやりましょうとか、こういう書き方ができますみたいなのをスッと書けるのがよかったです。こういうことを無限に口で伝えていると時間がもっとかかっていたと思います。

エディタだけでなくターミナルも共有されるのが思ったより便利で、gitのコマンドでちょっと難しいことをするとなったときに、相手のGit Bashに入っておもむろにコマンドを打つ、という行いができたのですぐに解決しました。

横だけでなく遠隔でもLive Shareが使えるようになっていて、コーディング合宿に参加していない部員の名前が書いてあるカーソルが登場するなどしていました。

現代は道具がどんどんよくなっていて、人間の方が道具について行くというモデルになっていると思っています。コーディング合宿という場でエディタの新しい機能を試すことができたのがよかったです。普段やろうとしてもなかなか機会がつかめないことがあるので、こういう機会にどんどん試したいです。

*1:福井県の温泉街でひたすらコードを書いたり一日に何度も入浴したりする

昨日はデンエン、和知、デンエンという移動をした。デンエン1日に2回行ったの意外と初めてな気がする。

いろいろな店でキャッシュレス還元やってて、いろんなところに赤いポスターが貼ってあってかっこいい。

インターンの賞金で買ったもの

インターンの優勝賞金のAmazonギフト券25000円分を使い、10/1からの増税の直前に買いました。キャッシュレス還元が始まったけど見ないことにします。

靴下

家の靴下をぜんぶ捨ててこれに一本化しました。かご(後述)からpopするだけでよいので便利。

ねんどろいど 鳩羽つぐ

かわいい~

ビーズクッション

人をダメにするクッションです。部屋に対してサイズが大きいけどちゃんと入っていて、椅子代わりに使っています。油断すると寝てしまいます。

サンダル

100均のサンダルが壊れたので新しいのを買いました。

スマートリモコン

家の電灯とエアコンが操作し放題になりました。エアコンの操作はムズいので主にGoogle Homeで電気をつけたり消したりして遊んでいます。

商品埋め込みできてなかった、これです→https://www.amazon.co.jp/gp/product/B07TTH5TMW/ref=as_li_ss_tl?ie=UTF8&linkCode=ll1&tag=utgwkk-22&linkId=7b78f06a8625bf75e71b6e6c3e8b664a&language=ja_JP

かご

靴下を入れるのに使っています。

電気シェーバー

フィリップス 1000シリーズ メンズ電気シェーバー 回転刃 お風呂剃り可 S1041/03

フィリップス 1000シリーズ メンズ電気シェーバー 回転刃 お風呂剃り可 S1041/03

そろそろカミソリ脱却したいなと思っていたので買いました。

無線イヤホン

無線ヘッドホンは夏は熱くて蒸れるしかさばるので、もっと取り回しのいいものを買いました。音質よいわけではないけど普段使いにはまあいいかみたいな感じです。

リザルト画面

合計 25,021円 となりました。少しだけ足が出たけど誤差の範囲。

あわせて読みたい

utgwkk.hateblo.jp

靴を履くと足が荒れる問題

皮膚が弱く、靴を履くと足が蒸れてしまい荒れるという問題がある。

普段の外出では百均で買ったクロックスみたいなサンダルを使っていたのだが、先日壊れてしまった。

https://quyo.hatelabo.jp/items/5d80bda96c82530004000001quyo.hatelabo.jp

代わりになるサンダルを探している。増税前最後なので今日買うつもり。

最近は夢の中に電子機器が登場することが多い。Slackのワークスペースfrom:me in:#dream *1というクエリで探すと効率的に夢の記録を辿ることができる。

  • 他人のツイッターアカウントのアイコン画像を勝手に変えてしまったので、元画像を探す夢
  • 講師がLive2Dアバターを使っている微分方程式の講義を受ける夢
  • 東方の最新作(知らないやつ)の5面ボスを倒す直前でゲームオーバーになる夢
  • スマホにアプリがめちゃくちゃ入ってるので消す夢
  • キズナアイSIRENをやっているのを見る夢
  • 「夢の中でswarmにチェックインしたらどうなるんだろう」ってやって目が覚めてから確認したら、実家の近くにチェックインしてた夢
  • 「この曲は初めての人にこそ聞いてほしい」って言われてびっくり系動画を流された夢
  • 自分のパソコンでここが23900年の世界だと知る夢

SlackやLINEによくわからないことを書いていて、朝起きてログを見返すとそんなことはない、というのを何度もやっている。 ひどいときは夢の内容をSlackのチャンネルに書く夢を見ていて、起きたら当然そんな記録はなくて混乱する。

*1:夢の内容を記録するチャンネル