Skip to content

Blog

JavaScriptとTypeScriptの歴史の整理:バージョンとモジュールシステムの変遷

エンジニアとしてモダンなWeb開発(Next.jsやAstroなど)を行う上で避けて通れない、JavaScript(JS)とTypeScript(TS)の関係性や歴史的背景を整理します。

TypeScriptは、JavaScriptをベースに「型」の機能を追加した言語であり、 JavaScriptのスーパーセット(超集合) です。

  • JavaScript (JS): ブラウザやNode.jsで直接実行できる標準的な言語。
  • TypeScript (TS): JSの全機能を含みつつ、静的型付けなどの拡張機能を加えたもの。
  • 互換性: 有効なJSコードは、そのまま有効なTSコードとして扱えます。

Astro + Starlightブログにおけるタグ管理のベストプラクティス(Zodを使った表記揺れの防止)

AstroとStarlight(starlight-blog)を使って技術ブログを運用していると、記事が増えるにつれて気になってくるのが**「タグの表記揺れ」**です。

例えば、記事のフロントマターで以下のようにタグを指定していくと…

# 記事A
tags: [Git, Next.js, UI/UX]
# 記事B
tags: [git, nextjs, ui-ux]

サイト上では「Git」と「git」が別のタグとして扱われてしまい、タグ一覧ページが分散してしまいます。 毎回「大文字だっけ?記号は入れるんだっけ?」と過去の記事を確認しながら入力するのはミスが起きやすく、執筆体験もよくありません。

そこで今回は、Zodの transform 機能を活用して、システム側でタグの表記を自動的に正規化・統一するベストプラクティスをご紹介します。

WSL2環境でペット専用LoRAを訓練してStability Matrixで画像生成するまでのまとめ

この記事では、ペット(うさぎ)のクッキーの写真から専用のLoRAモデルを訓練し、Stability Matrixで画像生成するまでの全工程を解説します。

WSL2環境でのセットアップから、実際の訓練、そして画像生成まで、実際に遭遇したトラブルシューティングも含めて詳しく記録しています。

AIに追加学習させるための「軽量化技術」のことです。

元の巨大なAIモデル(数GB)をまるごと再学習させるのではなく、覚えさせたい特徴(今回ならペットのクッキー)だけの「差分データ」を作ります。 これにより、短時間(数分)かつ低スペックなPCでも学習が可能になり、出来上がるファイルサイズも非常に小さくなるのが特徴です。

Stripeアカウント閉鎖からGitHub Sponsors成功まで:AI画像サービスの決済問題解決記録

AI生成画像を無料で提供する「Free Images」を運営していたある日、Stripeから一通のメールが届きました。

カードネットワークパートナーの制限により貴社アカウントのサポート継続が困難となりました

この記事は、突然の決済手段喪失から、GitHub Sponsorsで支援を受け付けられるようになるまでの2日間の記録です。同じような問題に直面している方、特にAI関連サービスを運営している方の参考になれば幸いです。