じぶん Release Notes (ver 0.37.11)

makicamel(Ver 0.37.11)がリリースされました。
更新内容は以下のとおりです。

概略

たんたんと物を作ったり調べ物をしたりと開発・勉強意欲が捗った月でした。
このままインプット・アウトプットを増やしていきたいと思います。

技術

  • Rails Routes Navigator という VSCode の拡張を作った

    https://gyazo.com/50e4ada5ac229201923c21549f5711c2.gif

    RubyMine に Railways という拡張があると聞いて欲しくなったので作りました。
    製作期間は 2 週間ほどでした。ドキュメントもやってみた系記事も多く、思いついたらすぐ作れるエコシステムがよかったです。TypeScript で書けるのも体験がよかった。
    苦労したのはロゴで、他の Rails の拡張と区別がつけばよいという低い志で作り始めたのですが、イメージを形にするのも難しいし、フォントや少しの線の太さの違いでイメージが大きく変わるし、世のデザイナーさんへの尊敬の念が強まりました。

  • Full stack open を始めた
    「Learn React, Redux, Node.js, MongoDB, GraphQL and TypeScript in one go!」という全部入りお得パックみたいなサービス(カリキュラム)です。
    Nest.js + Next.js でアプリをひとつ作ろうと思ったのですが、Node.js どころか Next.js も React も JavaScript も何もわからないことに気づいて始めました。
    基礎から手を動かしながら学びつつ、歴史の話がたまにあったりするのも楽しい。

  • CircleCI に入門した
    rspec のジョブが完了したら教えてほしい」「通知には成功 / 失敗のステータスを含めたい」「rspec はパラレルで実行しているが成功通知は 1 件だけほしい、失敗通知は複数でも可」というような Slack 通知がほしかったので CircleCI に入門しました。
    ドキュメントが充実していて(日本語もある)入門しやすかったし、 orb がべんりで感動したり、インターネットにあるべんりワークフローを見てきゃっきゃしたりしていました。

生活

  • 肝臓の稼働日を設けた
    今までは仕事終わり 1 分でカシュっとやっていたのですが、肝臓の稼働日を週 2 日に決めて、それ以外の日は飲まないことにしました。
    お酒を飲まないとものづくりや勉強が捗ることに気づいてしまい衝撃を受けました。

  • 観葉植物の植え替えをした
    春が近づいてきたので家の植物たちの植え替えをしました。アボカドは 1 年 10 ヶ月でわたしの身長を越えてしまったので、そろそろ剪定をしようと思っています。

    f:id:makicamel:20220401073306j:plain
    シノブも新芽がぴょんぴょん出ていて可愛い

  • マットレスを買った
    ここ数年間は床に寝袋を直置きで寝る生活をしていましたが、マットレス を買いました。
    アプリで見ても睡眠の深さが改善され、体感としても夜中に目が覚める回数が減りました。
    厚みがある一方折りたためるので日中はコンパクトになるところも気に入っています。

年目標

  • 日常をやる
  • 頑張らないで回るしくみをつくる
  • 運動を毎日やる
  • 日記を毎日つける

じぶん Release Notes (ver 0.37.10)

makicamel(Ver 0.37.10)がリリースされました。
更新内容は以下のとおりです。

概略

先月調子を崩し、現在病院通いなどしていますが、調子を取り戻しつつあります。
このまま自分を労りながら無理のない範囲でやっていきたいと思っています。

年目標

今年になってから今年の目標を決めました。

  • 日常をやる
    元々ひきこもり体質ですが、ミートアップにも行かなくなり(そもそもオンライン)、フルリモートワークになり、 VR を始めて加速しました。
    自分の選んだもので生活が構成されていてセレンディピティもなく、ストレスを感じづらい一方新しいわくわくを感じることも減っていました。
    食事やカフェに行ったり映画を見に行ったり本屋に行ったりしようと思っています。

  • 頑張らないで回るしくみをつくる
    継続が苦手という自覚があります。
    例えば闇雲に言語を勉強するではなく個人開発をするとか、すぐ個人開発するではなく自分がほんとうにほしいものを念入りに考えるとか。進捗を目に見えやすく、達成感を感じやすくするとか。完璧にやろうとせずほどほどでやめるとか。
    そういった継続のしくみを意識してつくっていこうと思っています。

  • 運動を毎日やる
    去年からの継続目標。自分の場合、体調や気分が やや 優れない程度だと運動が却っていいとわかってきたので継続したい。

  • 日記を毎日つける
    日記に限らずですが、自分の心を整える習慣を身につけたいと思っています。

運動・日記は Pixela で草を生やしてもよいかもしれない。

生活

  • 家電
    2022 年に入ってホットクック、ドラム式洗濯機、自動食洗機を買いました。
    さして不便には感じていなかったのですが、導入してみるととても便利になりました。
    とくにホットクックの体験がよいです。一人暮らしで料理するモチベーションがなかったのですが、ひと(機械)が自分のために仕上げてくれるのがよい。
    マンネリ回避に最近は 無印良品の鍋の素 シリーズを楽しんでいます。

  • 模様替え
    本棚を拡充したり、家具や観葉植物の位置を変えたりしました。
    今の部屋は窓が大きいところが気に入っていて、机に向かっていてその景色が見えるようになったところが気に入っています。

  • その日やることを書く
    「xx の API を叩いてみる」「植木鉢を動かす」「スーパーで買い物」など、その日やりたい小さなことを朝にメモするようにしました。
    小さな単位で、多くてもみっつ程度に留めることで、だいたいその日に達成できています。
    以前似たことをしていた時はノートに書き留めていましたが、毎日新しい紙片に書いて目に触れるところに置き、翌日捨てる、というのが性に合っているようです。

勉強・開発

  • Redis
    Redis 入門 を読んで雰囲気をつかめてきたのでいったん pending。ライブラリ のリライトは気持ちが乗った時に一息にやろうと思っています。

  • Node.js
    ハンズオン Node.js を読みつつ、 NestJS を触りつつ入門しています。
    勤務先で @tricknotes さんに「知っている手数が増えると取りうる選択肢が増えるので、別言語をやるなどもよいかも」「maki さんの興味的に(クライアント JS に興味が薄いので)サーバサイド JS がよいかも」とアドバイスをもらって始めました。
    イベントループすごい、モジュールシステムいい、とか、NestJS と Rails や Flutter との共通点や違いを楽しんでいます。

grep どうしてる?

自分が grep する際によく使うもののメモ。

  • ツール
    • VSCode
      VSCoder なのでそのまま検索バーに打ち込むことが多い。大文字小文字区別、単語区切りがボタンひとつでトグルできるのがよい
    • git grep
      結果をターミナルやファイルに書き出したいときによく使う
    • fd
      grep ではないがファイル名一覧を出したいときは fd を使う。
    • rails routes -g
      お仕事の routes が異常に複雑なので rails routes -g の結果を grep に渡して # でヒットなどもよくやる。 rails routes -g foo/bar/baz | grep baz# のような雰囲気。baz_controllerbaz_hoge_controller がたくさんあるので。
  • 正規表現
    • .*
      • メソッド呼び出し箇所を調べたい時
        Author#books のメソッド呼び出しは author.books a.books note.authors.map(&:books) かもしれない。 author.*books a.*books のようにして結果を見ながら調整する
      • 雑に検索したい時
        • クラスメソッドを検索したいが def self.foo def foo のどちらの可能性もある時は def .*foogrep する
        • Author::Awesome::Books Author::Cool::Books Author::Books のいずれもヒットさせたい時は Author::.*Booksgrep する
    • \b
      • 単語区切りを明確にしたい時
        notification を抽出したくて notifications は要らない時は notification\b と書く。super_users は不要で users のみ欲しい時は \busers と書く
    • grep とは関係ないがコマンド出力などをいい感じに整えたい時にも ,\n を置換したり(その逆も)もする
  • スクリプト
    検索結果が多い時や「Foo という名前空間のコントローラで」「bar というメソッドを呼んで」など検索条件が複数になる時はスクリプトを書く。 Ruby は文字列操作が柔軟にできるし Rails アプリのことは Rails に聞けば文字列操作よりもかんたんかつ正確にわかるのでとてもべんり

2021 年ふりかえり

2021 年をざっくり振り返ります。

作ったものとか

circuit_switch

github.com

Kaigi on Rails のプレイベントの LT 会で LT をしました。 speakerdeck.com

去年に引き続き 2 個目の自作 gem。
前回は開発用の gem だったけれど今回は本番用だったので、ドキュメントとかテストとか後方互換性とか使う人のことを考えるのが大変で面倒臭く楽しかった。
この間のエントリ でも書きましたが、使っているリポジトリで障害を起こしたので現在データストアを Redis に変えようとか API を根本的に変えようとか考えています。

というわけで Redis に入門 しています。
Redis 単体に入門というよりも、SortedSet のようなデータ形式や集合・並列処理について、 Ruby / Rails での扱い方などあれこれ寄り道しながら本を読んでいます。とても楽しい。

empty_example_cop

カスタム Cop を作りました。
お仕事で empty example に困ったことがあったので、それを取り締まる Cop です。
本体にパッチを送ろうと思いつつ忘れていてとりあえずで公開したもので、もし採用されたらアーカイブする予定です。

github.com

「今週何知った?」

@ken3ypa の「今週知ったことを共有する勉強会やりたいんですよね」という言葉がきっかけで 12 月に「今週何知った?」というゆるい会を始めました。
マークダウン形式で共有したいことを書いてきて(もこなくてもよい)、大体週次で、事前にお題は決めず、時間管理も笊で、「脱線するんですけど」が相次ぎ、お互い興味関心のある分野がまったく違って質問のハードルも低く、わからなかったらその場で調べる、という頑張らないゆるい会です。
「座ってるだけで知見がたまっていいっすね」という感想がまさしくで、また、人に話す方がモチベーションが続きやすく助かっています。
ツールは HackMD を利用していて、最後に GitHub に push しています。

「みんな xx 読んでる、読んでないの俺だけ」と思いがちだったんですが、「読まなきゃ」「通読しなきゃ」という焦りがなくなり、読みたい気持ちの高まりに任せて好きな時に好きなところを読むようになりました。
今年は通して読んだ本は 2 冊ほどでした。つまみ読みはあれこれしました。

仕事

保守をメインに後半は新規開発を少々やっていました。
またお仕事の合間にエラー監視とコード改善をやっていました。
gh pr list -A makicamel -S 'is:closed merged:>2021-01-01' を見ると 366 件の PR をマージしていたようです。

  • 非同期処理に入門して楽しかった
    ActiveJob でエラーに応じて自分でリトライするモジュールを書いたりした
  • 初めて Rack ミドルウェアを書いて楽しかった
    こういうパッチを書くと業務委託で参画されている @r7kamura さんがレビューで色々コメントしてくれてとても楽しい
  • 去年 に引き続きスクリプトリファクタリングをして、それを rake タスクにしたりした
  • @kei-s さんや短期業務委託契約で入られたある Rubyist の仕事ぶりに大いに触発された
    お二人とも共通して、ゴール・背景・取り組む理由を明らかにしたり、費用対効果や優先順位、面倒くさいや気持ちよさを大事にする仕草がとても印象的だった

そのほか

  • Oculus(Meta) Quest
    4 月に Oculus Quest を買って遊んでいます
    • BeatSaber で運動をしている
      ダンス譜面をやったり、最近は ★9.50 のランク譜面にチャレンジしたりしています
f:id:makicamel:20211231150417j:plainf:id:makicamel:20211231150432j:plain

目標振り返り

  • 100 Starred な Gem をつくる
    • gem は作ったけど、 10 starred でした。「役に立つものが作りたい」がモチベーションだったので star 数は足りないけど継続して開発してゆきたいので達成度は高そう
  • 新しい言語(Rust)をやる
    • 目標自体忘れていた(゚▽゚*)
  • こころおだやかに日々を過ごす
    • できたりできなかったりかな、 PMS がしんどいですね...
  • 毎日朝(ラン|バイク|ウォーキング)最低5分
    • 休む日もあるけど、運動習慣はだいぶんついた

総括

以前はすごい人達を見て漠然と憧れていたけど、自分の目指したい方向性とか好きなものが少しずつわかってきたような気がする年でした。
具体的には物を作るのがやっぱり楽しいし、そのために必要な知識と技術を身に着けていきたいという気持ちになってきました。
また、じぶん Release Notes 、途中でやめてしまったけど来年は書きたい。

来年の目標はまだ決まっていないけど来年考えます。

まったり製作中

Rubyist 近況 Advent Calendar 2021 の 12 月 9 日 の回です。昨日の近況 Rubisyt は @ukstudio さんでした。

最近感動した漫画はメダリストです。
近況ということでここのところ作っているものについて書いてみます。

gem

Kaigi on Rails _2021_ new_ が斜字に解釈されがち)の LT 会で発表した circuit_switch という gem を開発しています。機能追加・バグ修正・GUI の追加などしていました。
開発用に使う道具や自分だけが使う道具を作るのも面白いけど、 production で使う道具を作るのもめちゃくちゃ面白い。どんな人がどのように使ってるんだろう(実際に使ってくれている人はごくわずかだろうけれども)、この変更がユーザーさんにどんな影響を与えるんだろう、というのを考えて呻きながら変更しています。意思決定難しい。
パッチが送られてきて「これがソーシャルコーディング…!!」とうち震えたりもしました。
一方で API がうまくなくて使いにくいなぁ…なんかズレてる…と感じていた頃に障害を起こしたので、全面的に書き換えることにしました。
今は Redis のを読みながらインターフェースと設計について考えています。

Web 日記

心に澱を溜めていると感じていたところ、角谷トークを聞いて久しぶりに rails new しました。
朝型になったこともあり人と会う機会が減り、生活に仕事が占める割合が多くなってストレスが溜まりやすくなっていました。自分の感情とうまく付き合えていないことに気づいたのでプライベート用日記(日記は本来プライベートなものですが)を作っています。
作っているのですが、コードを書く自体が癒やしになっている部分もあります。

f:id:makicamel:20211208190302j:plain

ネガティブもポジティブもサイクルなので、自分の調子を整える習慣を作っていきたい。

3D アバター

今年の春先に Oculus Quest 2 (ロゴが Meta Quest になったんですね)を買って VR ゲームを始めました。やるからにはアバターがほしいけど ReadyMade は少し違う… 改変よくわからん…勉強するならイチから作るのが早そう、ということでアバターを作っています。
放置したり復活したりで根を詰めず数ヶ月かけてぼちぼちと。

f:id:makicamel:20211208184704p:plain

こだわりポイントはクリームパンな手。今ならもう少しクリームパンにできるのでもっとふかふかにしたい。

f:id:makicamel:20211205120821p:plain

こだわると終わらないので完成させてブラッシュアップしていきたい。

Blenderモデリングもゼロスタートで、主に zen さんの ワニでもわかるBlender+VRChat高部 さんの Mayaで始めるゲーム用ローポリキャラモデル を繰り返し見ながらやっています。
とくに zen さんのメッセージにモチベートされました。この言葉がなかったら人型アバターを作り始めていなかった。

「今回の動画を終わらせたあと、指とか作れるようになってるよ」って本当?
本当。大丈夫です。
やることとしては同じなんですよね、それの数が多くなっていく…みたいな。
好きな形を作れるようにどんどん挑戦していただければと思います!
今回学んだことの拡張!みたいなかんじだと思っていただければと

そんな近況でした。
明日の近況 Rubyist@sakahukamaki さんです。

じぶん Release Notes (ver 0.37.01)

makicamel(Ver 0.37.01)がリリースされました。
更新内容は以下のとおりです。

概略

大きくよいことも、大きくわるいこともない、変化の少ない月でした。
来月はアプリ開発に本腰を入れていきたいと思います。

読書

  • 先月「5 月は楽な気持ちで読んでみよう」と書いていたらさくっと読めてしまった
  • Flutter モバイルアプリ開発バイブル 南里 勇気
    • 丁度今興味があるところだけをつまみ読みした
    • 古い内容もあるものの、アプリ開発の基本がぎゅっとつまっていて良書だった
      • 他分野の開発の経験はあるがアプリ開発は未経験という人が基本を学ぶのに最適
      • 完全な開発初心者向きではない

開発・勉強関連

  • flutter create したところあまりに何も覚えていなかったので上記の本を読んでいた
  • ほしい API がなく車輪の再実装をしていると難しくて楽しい
  • 数年前に作ったライブラリを少し手直ししたくなった

運動

  • 継続して BeatSaber で遊んでいる
    • ほぼ毎日 1 時間前後の運動(汗だく)を行っている
    • ダイエット効果は微妙
      • 食事制限や筋トレを併せて行うと効果が出るのだろうけれども 🤔
  • 体力・筋力は向上したと思う
    • 未計測なのでよくわからないけれど
    • でも、自分の「成長」の指標はやっぱり技術なのだな、と思った

その他

  • BeatSaber の影響でダンスに興味が出てきた
    • 動画を色々見ている

イベント関連

  • どこにも行かなかった
  • 朝型生活になり、夜の活動を行いにくくなったのも大きい

ごはん系

  • 外食ができなくてひたすらさみしい
  • 母と電話中「元気が出ない時は肉を食べなさい」というお言葉を頂いた。肉

仕事関連

  • 誰のボールでもないものを拾う仕事をよくしている
    • 意義ある事と考えているけれどコードを書く量が減ってややストレスが溜まってきたので、バランスの調整が必要と感じている
  • 技術的に背伸びした PR をいくつか出した
    • コードレビューであれこれ指摘を頂いて非常に楽しかった

読了

今月

今年

途中

KPT

K

  • 毎日楽しく運動をしている
  • Flutter 楽しい
  • 読書に対する感じ方が変わった

P

  • 変化の小さい毎日
  • あまり成長を感じられていない
  • 夜に運動すると興奮して睡眠の質が下がってよくない

T

  • アプリの開発
  • 自分とむきあう
  • 昨年の総括 を毎月振り返るのは自分の足元を見つめる意味でよいかも

2021 年の目標

  • 100 Starred な Gem をつくる
  • 新しい言語(Rust)をやる
  • こころおだやかに日々を過ごす
  • 毎日運動最低 5 分

じぶん Release Notes (ver 0.36.12)

makicamel(Ver 0.36.12)がリリースされました。
更新内容は以下のとおりです。

概略

新しいガジェットを買って、おおいに楽しんだ月でした。
ゲームに触発されて作りたいものができたり、設計を考えてわくわくしたりしました。あとは作るだけ!

運動

  • 月初に Oculus Quest 2 を購入し、 VR ゲームで運動している
    • 最初 FitXR をやったが腕を痛めそうになったので BeatSaber をしている
      • 毎日 1 時間前後運動して汗だくになっている
    • 体感もスコア上も睡眠が改善した

開発・勉強関連

その他

  • 椅子 WR サイドチェア を買った
    雰囲気も座りごこちもよく、コーディング・食事・読書・リラックス・仕事とよく座っている

読書

  • 技術書はほぼ読んでいない
    • 「いつでもやめてよい、読みたくなったら途中から読めばよい」と言われた
    • 読みかけの本を積む罪悪感、習得・通読への義務感があったことに気づいた
    • 5 月は楽な気持ちで読んでみよう
  • 和風異世界ファンタジー小説 八咫烏シリーズ を読んでいる
    久しぶりにハマっている。技術書もこれくらい読めれば…と思ったりもする
  • ハーバードの心理学講義 ブライアン・R・リトル も読んでいる
    信頼性のあるセルフモニタリングテストとその結果を元に社会と折り合いをつける方法が書かれていてなるほどとなる

イベント関連

  • どこにも行かなかった
  • Wifi の調子が不安定で当日キャンセルなどもあった

ごはん系

  • 外食ができなくてひたすらさみしい

仕事関連

  • 環境が変わり、ようやく物事を動かせるようになって大分働きやすくなった

読了

今月

今年

途中

KPT

K

  • 毎日楽しく運動をしている
  • 睡眠が改善した

P

  • 技術書をほぼ読まなかった

T

  • アプリの開発
  • 気楽なきもちで技術書を読む
  • 自分とむきあう
  • 昨年の総括 を毎月振り返るのは自分の足元を見つめる意味でよいかも

2021 年の目標

  • 100 Starred な Gem をつくる
  • 新しい言語(Rust)をやる
  • こころおだやかに日々を過ごす
  • 毎日運動最低5分