What is it, naokirin?

Ruby 3.3 の特殊変数

Rubyには、特殊変数、もしくは組み込み変数(Pre-defined variables)と呼ばれる $ から始まる変数が定義されています。 普段はほとんど使わないこともあり、忘れることも多いので、今回まとめてみます。 このページの内容は、Ruby 3.3.0での情報をもとにし…

Lean UXを読んだ

最近、チームでスクラムをやっていくにあたり、いくつかスクラムやLean関連の書籍を新規に読んだり、読み返したりしています。 その中で、発売時に読めていなかったLean UXを読んだので感想を書いておきます。 Lean UX 第3版 ―アジャイルなチームによるプロ…

GitHub ActionsでRails edgeでのテストを実行してみる

皆さんは、パッケージやフレームワークのアップデートに追われていたりしないでしょうか? 特に業務では、事業上や法務上の対応など、アップデート以外にも多数行うことがあり、残念ながらEOLギリギリで対応、もしくは超過してしまっていることも多いのでは…

デザインの七原則と個人的にプログラミングで考えていること

今回はプログラミングにおける、個人的に考えていることを「誰のためのデザイン?」で紹介されているデザインの七原則と対比して整理していきたいと思います。まだまだ整理しきれておらず、荒削りな部分もあると思いますが、ご了承ください。 「デザイン」と…

LEADING QUALITYを読んだ

LEADING QUALITYを読んだので、簡単に感想を書いておきます。 LEADING QUALITY作者:Ronald Cummings-John,Owais PeerKADOKAWAAmazon 自分たちは「品質」をどのように捉えているか LEADING QUALITYには3つのセクションがありますが、ひとつ目のセクションは、…

Kaigi on Rails 2023に参加しました!

Kaigi on Rails 2023に参加しました! 久しぶりに、オフラインのカンファレンスに参加したのですが、オンラインとは違って会場の雰囲気などもあって楽しいですね。 kaigionrails.org ここからは、カンファレンスで聞いた内容の感想を簡単に書いておきます。 …

レガシーコードからの脱却を読んだ

いまさらではありますが、「レガシーコードからの脱却」を読んだので感想を書いておきます。 「レガシーコード」とタイトルについていますが、「レガシーコード改善ガイド」とは異なり、どちらかといえば、レガシーコードを作らないための本といったところで…

ソフトウェアアーキテクチャ ハード・パーツを読んだ

GWということで、溜まっていた書籍の消化をしていましたが、そのうちの1冊です。 特にマイクロサービスアーキテクチャを考えるエンジニアやアーキテクトにとっては、整理された情報源としてかなり有用そうです。 ソフトウェアアーキテクチャ・ハードパーツ ―…

「スタッフエンジニア マネジメントを超えるリーダーシップ」を読んだ

スタッフエンジニアを読んだので、感想を少し書いておきます。 スタッフエンジニア マネジメントを超えるリーダーシップ作者:Will Larson日経BPAmazon まとめでいうと、すでにDevelopers IOなどにもあるので、今回は感想をメインに書きます。 dev.classmetho…

チーム、DDD、スクラム、そしてコンウェイの法則について

最近、ソフトウェアシステムのモデリングとしてドメイン駆動設計(DDD)、開発手法のフレームワークとしてスクラムの人気があります。 Web上でもこれらの情報は多く、またこれらの組み合わせについても議論されているので、難しいという話はあるものの、概ね…

スクラムを一枚にまとめてみる

今回は、以前スクラムマスターの研修を受けてからそこそこ経ったので、シートにスクラムのことをまとめるというのをやってみました。 早速ですが、作ったシートを貼っておきます。 個人的にはスクラムにおいてマインドセットの部分はすごく重要で、このマイ…

RailsからgRPCのリクエストをしてみる

今回は、RailsからgRPCのリクエストしてみたので、その方法を書き残しておきます。 必要なGemのインストール Railsプロジェクトの準備は済んでいるものとして、Gemをインストールします。 Gemfile に以下を追加して、 bundle install します。 gem 'grpc' ge…

Railsとrails_event_store で始めるイベントソーシング

こんにちは。 今回は、Railsで rails_event_storeを用いたCQRSとイベントソーシングの実装について試してみたので、イベントソーシングとその実装方法について紹介してみます。 Railsでのイベントソーシングについて検討する際の参考になれば幸いです。 なお…

イベントストーミングを一人で素振りしてみた

最近はプライベートですることが多くて、休日もあまりゆっくりできていませんが、その中でもやってみたことを備忘として残しておきます。 イベントストーミングとは イベントストーミングは、Alberto Brandolini氏が考案したビジネスモデルを協働して発見し…

「そのビジネス、経済学でスケールできます。」を読んだのでまとめておく

「そのビジネス、経済学でスケールできます。」という本を読んだのでまとめを書いておきます。 そのビジネス、経済学でスケールできます。作者:ジョン・A・リスト東洋経済新報社Amazon 「ビジネスのアイデア」がスケールしないパターン 偽陽性 初期データで…

マイクロフロントエンド(https://www.oreilly.co.jp/books/9784814400027/)を読んだ

マイクロフロントエンドを読み終えたので、感想と少し内容を整理して書いておきます。 マイクロフロントエンド ―マイクロサービスアーキテクチャの概念をフロントエンドに拡張し、信頼性、自律性の高いシステムを構築する作者:Luca Mezzaliraオライリージャ…

Rust + wasm-bindgen + trunk でWASMを実装して、サイトを作ってみる

みなさん、年末年始の休暇はいかがお過ごしでしょうか? 今回はそんな年末年始休暇にRustでWASMを実装してみました。 右から左に全国1474市区町村名が流れて、クリックすると、詳細を確認できます。 流れる SHI・KU・CHO・SON リポジトリは以下です。 GitHub…

Web+DB Press Vol.132 の「オブジェクト指向神話からの脱却」を読んだので、感想を書いておく

Web+DB Press Vol.132 に、「オブジェクト指向神話からの脱却」という特集記事が掲載されていました。 gihyo.jp この記事を読んで、なんだかんだオブジェクト指向と言われるプログラミング言語を使って仕事をしている身として、久々に「オブジェクト指向」と…

Ruby on Rails(ViewComponent)に Storybook を導入してみる

(個人的な観測範囲からですが)React界隈を中心にデザインシステムなどとともに、Storybookを導入している企業が増えてきているように思います。 自分は直近では、Ruby on RailsでSSRをメインに開発をしていることが多いため、導入がやや難しいと感じていま…

2022年の振り返り

2022年も終わるということで、去年に引き続き、今年も振り返ってみたいと思います。 仕事 今年は、現職で初めてマネジメント寄りの立場で1年間過ごした年になりました。 その中で、チームメンバーの成長や能力の発揮、既存プロジェクトの案件管理、新規プロ…

AWS Step Functions と Amazon EventBridge で、定時バッチを実行してみる

最近、定時バッチ実行をサーバーレスに移したいと思いながら、そこまで実行できていないので、AWS Step FunctionsとAmazon EventBridgeを用いて、定時バッチ実行を試してみました。 AWS Step Functionsとは AWS Step Functionsは、AWSが提供するワークフロー…

Typescript + vite_rails で Rails に Vite を導入してみる(Hot Module Replacementまで)

最近、フロントエンドは Vite で開発するのが主流になっていると思いますが、Railsの場合、なあなあでそのまま来ている場合も多いかなと思います。 開発体験の改善ができないかということを考える機会があり、RailsでViteを導入する際の手順を vite_railsを…

Flutterでアプリ開発してみたときに、採用するアーキテクチャを考えてみた

昨日の記事でも書きましたが、アプリをリリースしました(現在、Android向けのみ) play.google.com この際に、どのようなアーキテクチャを採用して開発をするか悩みました。 Web上を色々と見てみた感じでは、MVVMを採用しているのが主流っぽいです(あくま…

Flutterで個人開発したときに入れたパッケージを紹介してみる

最近、3ヶ月ほどでFlutterの学習&アプリ開発して、Google Play Storeにリリースしました。 play.google.com このときに利用したパッケージについて、簡単にまとめて紹介しておきたいと思います。 Dart、Flutterのバージョン 開発時のバージョンは以下です。…

簡単にGraphQLサーバーを建てられるHasuraを試してみた

複数のシステムからアクセスできるデータ基盤のような環境を作成しようとした場合、自前でのAPIの構築や認証/認可などの仕組みを整える必要があります。 一方で、データ基盤としては、最初はそこまでパフォーマンスチューニングや特別な機能を必要としてい…

RSM(Scrum Inc.認定資格スクラムマスター)の研修を受講 & 認定証を取得しました

少し時間が空いてしまいましたが、忘れないうちにRSM Training(Scrum Inc.認定スクラムマスター研修)について記載しておきたいと思います。 RSMとは scruminc.jp 日本語で正式には、Scrum Inc.認定スクラムマスター研修と呼ばれるものです。 英名ではRegis…

Moving Motivators を 1on1 でやってみた

最近、やや頭痛持ちが再発気味のnaokirinです。。。 個人的な話ですが、ここ数年すごく良かったのですが、また調子が悪くなってきてしまいました。 筋肉をほぐすストレッチなどもしつつ、調子を取り戻していきたいですね。 そんなことはさておき、今回は、チ…

Flutterでhttpパッケージでデータを取得すると文字化けするのを修正する

Flutter(Dart)でHTTPリクエストする場合には、httpパッケージを利用するのが便利です。 pub.dev こちらを利用して、以下のようなJSONファイルをHTTPサーバーから取得するコードを書きました。 import "package:http/http.dart" as http; Future<String> fetch(Stri</string>…

Flutterで、Freezed を使ってみる

最近、個人的にFlutterを使ってみているのですが、データを表現するクラスを作成する際にFreezedというパッケージが非常に便利だったので、紹介したいと思います。 pub.dev 確認したバージョンは以下です。 freezed 2.2.0 Freezedとは Freezedは、データを表…

Flutterバージョンを管理するFVMを使って、Flutterを始める

最近は開発の状況によって、同じマシン上でもプロジェクトによって複数の言語バージョンを使い分けることが多く、nodenvやrbenv、jenv、pyenvなどを用いて、プロジェクトごとに複数バージョンを使い分けられるツールが定着してきています。 (言語そのもので…