@ledsun blog

無味の味は佳境に入らざればすなわち知れず

2024-01-01から1年間の記事一覧

アーキテクトの教科書

アーキテクトの教科書 価値を生むソフトウェアのアーキテクチャ構築作者:米久保 剛翔泳社Amazon 大吉祥寺.pm - connpass にて著者の米久保 剛さんの講演を見ました。 何かの縁だと思って買いました。 どんな本? これからアーキテクトを目指す人向けに「アー…

ruby.wasmがビルドできない

ruby.wasmのビルドが通らなくなったので、環境を最新にします。 cd vendor/jco/ git reset --hard cd ../.. git submodule update します。 この手順が要るかはよくわかっていません。 雰囲気でやっています。 bin/setup に成功するまで bin/setupを実行する…

docker composeコマンドのcompose spec準拠はcompose-goモジュールを使って実現されている

WARN[0000] /home/ledsun/pubdictionaries/docker-compose.yml: version is obsolete というワーニングを追いかけたら 「docker composeコマンドのcompose spec準拠はcompose-goモジュールを使って実現されている」ことに気がつきました。 その記録です。 警…

ブラウザでruby.wasmのJS.evalしたときのスコープはなんなのか?

事の発端 tmtms さんが ruby-jp slack に面白いコードを投稿していました。 JS.eval <<~EOS A = 123 class B { } console.log(A) //=> 123 console.log(B) //=> class B {} EOS begin JS.eval <<~EOS console.log(A) //=> 123 console.log(B) EOS rescue => …

ベースの音の立ち上がりに関する所感

ここで言うベースはエレキベースとかウッドベースとか呼ばれる楽器のことです。 また、素人が適当に感想を述べているだけで、特に正確性がある内容ではありません。 ベースは音の立ち上がりが遅い楽器のようです。 弦の振動が安定するまでは、ベースに期待し…

園芸はマネージメントに似ている

似ているところ。植物に代わって、マネージャーが生長したり花を咲かせたり実を付けたりできない。花を咲かせたいとかきれいな樹形にしたいとか、本植物とは関係のないマネージャーのエゴの押し付けがゴールである。手を入れすぎても入れなすぎても枯れるか…

Ruby in Browser観察日記 その2

世の中でruby.wasmがどのように使われているのか観察して、どんな機能があったら便利そうか妄想するネタにします。 今日はtmtmsさんに教えてもらった MySQL Parameters にお邪魔します。 エントリポイントはlib/inti.rbです。 require 'js/require_remote' r…

Ruby in Browser観察日記 その1

世の中でruby.wasmがどのように使われているのか観察して、どんな機能があったら便利そうか妄想するネタにします。 yancyaさんに教えてもらった 2024 - やんちゃハウスでは次のように使われていました。 require "js" Window = JS.global[:window] Document …

Ruby in Browserへのモチベーション

2000年代後半にRubyistの間で「ブラウザでRubyが書ければいいのに」という冗談がありました。当時はDartもありませんでした。ブラウザに任意のプログラミング言語が組み込まれるアイデアが一般的ではありませでした。Google Chromeの中の人であれば、技術的…

#RubyKaigi2024 の思い出 その4

RubyKaigi 2024事後勉強会 - connpass に参加して思い出を噛みしめていました。 inaoさんの仕切りがすごかったです。 LTの発表者だけでなくて、コミッターやドラ係りまで巻き込んでしゃべらせて盛り上げてくのがすごかったです。 RubyKaigi初参加の方が楽し…

ruby_wasm gemをインストールしたい

bundle init bundle add ruby_wasm エラーが出ました。 thread 'main' panicked at /home/ledsun/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rb-sys-0.9.97/build/main.rs:64:59: called `Result::unwrap()` on an `Err` value: "Stable API is …

僕の脳内でイメージするRactorの絵

脳内でイメージするRactorの絵です。 Ractorを最初に知ったときは右のイメージを持ちました。 Threadの中に複数のRactorがあるイメージです。 RubyKaigi 2023でMaNyの発表を聞いて、間違いに気がつきました。 左に更新しました。 今日、Ractorの話をしながら…

WezTermでデフォルトシェルをWSLにする

WSL

結論 .wezterm.lua に次の行を書きます。 -- Start with WSL config.default_prog = { 'wsl' } 間違った方法 COMSPEC 環境変数に C:\Windows\system32\wsl.exe を設定します。 これをやるとバッチファイルが動かなくなります。 たとえばWindowsにインストー…

#RubyKaigi2024 の思い出 その3

Day 3 Ruby Committers and the World Rubyコミッターの皆さんの写真 shopifyさんは35人エンジニアがいて 8人がインフラ(?)チームで 4人がコミッターだそうです。 エンジニア数の少なさにびっくりします。 自社が40人くらいなことと比較して考えると、レ…

#RubyKaigi2024 の思い出 その2

Day 2 Leveraging Falcon and Rails for Real-Time Interactivity Samuel Williams さんの非同期に関する発表です。 具体的にはAsyncやFalconの話です。 GitHub - socketry/flappy-bird を動かす話です。 動くソースコードが公開されています。 git clone gi…

#RubyKaigi2024 の思い出 その1

Day 0 移動日でした。 生憎の雨でしたが、ホテルから那覇港船客待合所まで歩いて行きました。 夜の那覇はブレード・ランナーっぽさがあります。 埠頭近くのステーキ屋さんを遠くから撮った写真 永和システムマネージメントさん提供のクルージングに参加しま…

RubyKaigiで心の洗濯

RubyKaigiで自分よりすごい技術者、技術に真剣に取り組んで深い洞察を得ている技術者を、目の当たりにすると、自分の慢心に気がつきます。 会社では、それなりに上位の技術者です。色々な技術を少しずつ取り組んでは素早く判断をしている日々です。それはそ…

沖縄の人もダジャレが好き

RubyKaigi2024 0日目です。 夕方那覇に着いて、散策中に見つけたお店たちです。 愛魚人(あいうぉんちゅう) Ocean Boo 煙人(えんじん) 写真の向きがおかしいです。

一番の下手くそでいよう

情熱プログラマー ソフトウェア開発者の幸せな生き方作者:ChadFowler,でびあんぐるオーム社Amazon 情熱プログラマーにあるエピソードです。 僕はこの話はあまり好きではありません。 しかし、一理あるところもあるようです。 一つの会社の中で一番…

Dave Thomasのオシャレ英語

github.com I was reading the RDoc for Enumerable#inject and I felt it needed some love. I felt it needed some loveって素敵な言い回しですね。 自分が、日本語に訳そうとすると「愛が少し足りてない」みたいな否定型の言い回しになっちゃうのが難しい…

設計作業は見積もれない

設計作業はふたつの作業から成り立っています。 調査作業 アウトプットをまとめる作業 後半の「アウトプットをまとめる作業」はまあまあよい精度で作業時間を見積もれます。前半の「調査作業」は見積もりが大きく外れることがあります。 「設計作業」とひと…

JavaScriptを書くのがダルく感じた

TextAEの修正をしようとしたときに、ふと「JavaScriptで書くのダルいな、Rubyなら…」という思いを抱きました。 具体的にどの文法という話ではないし、難しい修正でもなくて、機能変更前の機械的なリファクタリングです。 TextAEもJavaScriptも長いこと触って…

ruby.wasmのビルド環境整備

最新のruby.wasmをビルドするために rake npm:ruby-head-wasm-wasi を実行したら次のエラーが出ました。 npx jco transpile --no-wasi-shim --instantiation --valid-lifting-optimization /home/ledsun/ruby.wasm/packages/npm-packages/ruby-head-wasm-was…

セーラー万年筆のインク吸入器コンバーターを組み立てる順番

インク吸入器コンバーターを洗って干しました。 組み立てやすい順番に並べて干していたつもりが、順番が入れ替わって良くわからなくなりました。 セーラーのコンバーターを分解して洗浄することに - 暮らしと手帳と万年筆 の写真の並び順を参考に組み立てま…

マネジメント入門 その3

最強リーダーの「話す力」誰から見てもリーダーらしく見える「話し方」の秘密作者:矢野香ディスカヴァー・トゥエンティワンAmazon マネジメント入門 その2 - @ledsun blog につづいて 管理職必読 順番に読むと理解が深まる「マネジメントの名著」11冊 | 日経…

JS.falsy?

ruby.wasmように値がJavaScriptのFalsyな値か判定する関数を実装しました。 https://github.com/ledsun/ruby.wasm/blob/19b8f245af9806ceb67601f851300d2df6ac5674/packages/gems/js/lib/js.rb#L98-L109 def self.falsy?(value) value == JS::Null || value …

orbital ring その1

ruby.wasmを使ってRubyでフロントエンドフレームワークをつくったらどうなるかを考えてみましょう。 テンプレートエンジンはERBを使うと良さそうです。 イベントハンドラーのバインドはRailsのルーティングっぽくなる良さそうです。 次のイメージです。 Orbi…

マネジメント入門 その2

できるリーダーは、「これ」しかやらない メンバーが自ら動き出す「任せ方」のコツ作者:伊庭 正康PHP研究所Amazon マネジメント入門 その1 - @ledsun blog につづいて 管理職必読 順番に読むと理解が深まる「マネジメントの名著」11冊 | 日経BOOKプラス で紹…

マネジメント入門 その1

離職率ゼロ!部下が辞めない1on1ミーティング!作者:竹野潤自由国民社Amazon 管理職必読 順番に読むと理解が深まる「マネジメントの名著」11冊 | 日経BOOKプラス で紹介されていた本です。 とりあえず一冊目を読んでみました。 マネジメントの本は経営者から…

開発チームの人数とふるまいイメージ

チームの自律性 お仕事でソフトウェアを開発するプログラマーチームに対して、僕が持っているイメージを整理しました。 人数 2 リードとサブ コンビ 3 リードとサブ x 2 コンビとサポート チーム 4 リードとサブ x 3 チームとサポート チーム 5 マネージャー…