What is it, naokirin?

マイクロフロントエンド(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などを用いて、プロジェクトごとに複数バージョンを使い分けられるツールが定着してきています。 (言語そのもので…

AWS SAAの勉強・見直し用にチートシートを作った

最近は仕事がバタついているのと、モンハンに時間を取られてプライベートでプログラミングできていない…(後半は自業自得)。 さて、そんな中でAWSを活用していくために、AWS全体の知識見直しに向けて、AWS SAAの勉強をはじめました。ただ、勉強を進めている…

ポータブルなCI/CD Daggerを試してみる

基本的に継続的な開発を行っていく上で、CI/CDは避けて通れなくなっています。CI/CDといえば、これまでも様々なツールやサービスがありました。 クラウドの発展やインフラ環境の変化などもあり、個々の特性を生かした機能やサポートなどを持つツールやサービ…

Amazon SQSと互換性のあるElasticMQでローカルで完結できるようにする

AWSでアプリケーションを開発していると、複数システム間を疎結合にする目的でAmazon SQSを利用することがあります。 一方でこうしたSaaS系に分類されるサービスは、ローカルの開発環境で動作を完結できず、ローカルでの開発中も、開発用に個別にAWSのサービ…

Vue.js + TypeScriptのプロジェクトで循環参照などの問題のあるファイルを検知する

最近、個人開発ではVue.js + TypeScriptをちまちまと書いています。 フロントエンドをがっつり書いていると、開発によってファイル数が増えていくとともに、依存関係や宙ぶらりんなモジュールができたりと言ったことが起きてしまう場合があります。 そこで、…

Vue.jsのストアライブラリ Piniaを使ってみる

Piniaとは Vue.jsを使う場合に、特にSPAの開発をしていると、クライアント側でグローバルな状態を共有したいことが多々あります。 これまではVue.jsでこのような手段として、ストアライブラリのVuexが使われることが多かったかと思います。 一方でVuexは、v4…

簡単なAnsibleのモジュールを作成する手順

Ansibleでは数多くのモジュールが提供されており、大抵はモジュールの簡単な組み合わせで解決することが多いかと思います。また特定の設定をまとめていく場合、まずはロールを利用すると思います。 一方で、既存のモジュールの単純な組み合わせでは対処しに…

JestでMock、Spyを使ってみる

Jestは、JavaScriptのテスティングフレームワークです。 一般的にテスティングフレームワークは、モック機能は別ライブラリとなっていることが多いのですが、Jestには組み込みのモックライブラリが存在しています。もちろん他のモックライブラリを利用するこ…

TypeScriptで関数の戻り値の型を利用する

久々に小ネタ的な備忘。 タイトルの答えは以下です。 const func = () => { ... }; type FuncReturnType = ReturnType<typeof func>; ただし、 ReturnType が使えるのは TypeScript 2.8からです。 以下は雑記です。 ライブラリのFactory関数の戻り値に型をつけたい 最近、</typeof>…

経営理論まとめ(組織の経済学)

何冊か経営学の書籍を読んだのでまとめていく。 経営理論のまとめ記事一覧 主に世界標準の経営理論を元にする。 世界標準の経営理論作者:入山 章栄ダイヤモンド社Amazon 企業・組織の経済学 企業・組織における経済学として、主に3つの理論が存在する。 情報…

経営理論まとめ(ゲーム理論)

何冊か経営学の書籍を読んだのでまとめていく。 経営理論のまとめ記事一覧 主に世界標準の経営理論を元にする。 世界標準の経営理論作者:入山 章栄ダイヤモンド社Amazon ゲーム理論とは 相手の行動を合理的に予測しながら、互いの意思決定・行動の相互依存関…

経営理論まとめ

何冊か経営学の書籍を読んだのでまとめていく。 主に世界標準の経営理論を元にする。 世界標準の経営理論作者:入山 章栄ダイヤモンド社Amazon それぞれ個別の記事にしていく予定なので、各内容はリンク先に記載する。 経営理論まとめ(市場競争の型と競争戦…

経営理論まとめ(市場競争の型と競争戦略)

何冊か経営学の書籍を読んだのでまとめていく。 経営理論のまとめ記事一覧 主に世界標準の経営理論を元にする。 世界標準の経営理論作者:入山 章栄ダイヤモンド社Amazon 市場競争の型 競争の型 競争の型 IO型 チェンバレン型 シュンペーター型 前提のモデル …

PyO3でRustからPythonを呼び出してみる

Rustに限らず、静的型付き言語で実行時にスクリプトを読み込んで機能拡張できるようにしたいことがたまにあります。 今回はPyO3を利用して、RustでPythonを呼び出してみます。 なお、PyO3はPythonからRustを呼び出すこともできますが、今回はRustからPython…

2021年の振り返り

ついに2021年も終わりになりますね。 忘れないうちに、今年を振り返っていきたいと思います。 ブログ 1月〜6月: 6本 7月〜10月: 0本 11月〜12月: 13本 ブログですが、2020年はほとんど書けていない中、2021年前半〜中盤もあまり書けないままでした。 今年11…

Rustでvalidationを実行する

Webアプリケーションサーバのフレームワークなどでは、受け付けたリクエストのデータが適切かをチェックするためのバリデーション機能があります。 Rustでは汎用的なバリデーションのクレートとして validator が存在しており、こちらを使う機会があったので…