タグ

ブックマーク / zenn.dev/bs_kansai (9)

  • [K, U] extends [U, K] ← ナニコレ

    タイトルは初見時の自分の気持ちでした。内容は結構あっさりしたもので、5分あれば読めると思います。 「あーなるほどね」となった方はわざわざ読む必要がない記事っぽいです。 型の互換性チェック 一言で言ってしまえばそういうことです。KとUが互いに置き換え可能かどうかを確認しています。 これがKとUのままだと分かりづらいのですが、適当な型に置き換えてみると分かりやすいです。 type Test1 = [1, 1] extends [1, 1] ? true : false; // true type Test2 = [number, number] extends [number, number] ? true : false; // true type Test3 = [string, string] extends [string, string] ? true : false; // tru

    [K, U] extends [U, K] ← ナニコレ
  • Google I/O 2024で発表されたFirebase Data ConnectをVSCodeのエミュレーターで試してみた

    執筆時点でIDXを使った記事は見かけるものの、VSCodeを使ってローカルで試している日語記事は自分はまだ見かけていないので、おそらく日語では初の記事なんじゃないかと思います。 少なくともZennでは自分が最初の1人でした。 Firebase Data Connectとは Google I/O 2024で発表されたFirebaseの新機能です。 これを使うことで、GraphQLを介して、Cloud SQL For PostgreSQLへアクセスしデータのCRUDが可能になるようです。 Getting Start 記事執筆時点では限定公開プレビュー版なので、利用するためには限定公開プレビューへの申し込みが必要です。 申し込みはFirebaseプロジェクトの管理画面上から可能です。 ただし申し込み後すぐに使えるわけではなく、Googleさんの方で手続きをして頂いたのちに利用可能となります。

    Google I/O 2024で発表されたFirebase Data ConnectをVSCodeのエミュレーターで試してみた
  • <T, K extends keyof T> をちゃんと理解する

    TL;DR TypeScriptでライブラリなどを覗いているとよく見かける<T, K extends keyof T>について、問題を分解してきちんと理解する試みです。 extends この場合のextendsの役割は継承ではなく、制約です。 例えば以下のようなイメージ。 type StringOrNumber<T extends string | number> = T type A = StringOrNumber<string> type B = StringOrNumber<number> // Type 'boolean' does not satisfy the constraint 'string | number' type C = StringOrNumber<boolean> type User = { id: number; name: string; }; cons

    <T, K extends keyof T> をちゃんと理解する
  • Google I/O 2024で発表されたFirebase App HostingでNext.jsのSSRを試す

    先日のGoogle I/O 2024でFirebaseの新機能が発表されました。 これを読んでいて気になったのが、App Hostingという機能です。どうやらAngularNext.jsのSSRをサポートしてくれるようになったようです。 自分はboobyというOSSコントリビュートしやすそうなリポジトリを探せるサービスを過去にリリースしています。 これのホスティング先として最初に検討していたのがFirebase Hostingでした。が、「?SSRどうやって動かすんだ?」と思いながらデプロイのための調査をしていたところ、どうやらCloudRunなどのサーバーサイドランタイムも使いながらでなければ動かせないということに行きつきました。 これまでやってきたCSRのHostingと異なり色々と手間が増えるなという結論に至り、結果初期構築が楽なVercelにデプロイすることにしました。当時の奮

    Google I/O 2024で発表されたFirebase App HostingでNext.jsのSSRを試す
  • TypeScript 5.5からは関数からType predicatesの型推論が有効になるよ!

    去る2024年4月25日にTypeScript 5.5 ベータ版リリースの情報が発表されました。 どうやら今回の目玉機能は、『推論されたtype predicate』ということです。 この記事では、これまでとこれからでtype predicateがどのように変わるのかをお話ししたいと思います。 環境の用意 これまでの動作を確認するための環境は、既に用意していた別プロジェクトのランタイムを利用しました。バージョンは5.1.6です。 ベータ版環境は新たに用意します。公式のリリースノートにもありますが、以下のコマンドを実行するだけです。 これでベータ版の実行環境ができたのですが、VSCodeさんが最新版の仕様で型推論を行なってくれません。 ので、調教強制的にいうことを聞かせます。 やり方は、適当なtsファイル開いてshift + cmd + p → typescript:Select Types

    TypeScript 5.5からは関数からType predicatesの型推論が有効になるよ!
  • テックカンファレンスに「なんとなく」や「ただ楽しいから」で参加してない?

    この記事を書くきっかけ PHPカンファレンス小田原の参加レポートを書いたところ、武田さんからこんなフィードバックをいただきました。 こんなふうに褒めていただいて、恐縮です。 けど、これまで自分はオフラインのテックカンファレンス[1]に3回しか参加したことがありません。遠征かつ何泊かするのは今回が初めてでした。 にも関わらずこう言っていただけるような行動がきちんとできているようです。実際時間が凝縮されている感覚は自分でもあって、カンファレンスに参加すると2,3日くらいのできごとのはずなのに1週間分くらいの出来事に感じます。 では、「なんでそう感じるんだろう?」を考えてネタにしてみたら面白いんじゃないだろうか。そう思って筆を取ったのがこの記事です。自分は人に褒められたとき、「なぜ褒められたのか?」を振り返ります。詳しくはこの記事に。 そして自分のカンファレンスに対するスタンス「なぜカンファレン

    テックカンファレンスに「なんとなく」や「ただ楽しいから」で参加してない?
  • ここ1年間のはてなブックマーク数の多かった記事から、Zennでウケそうな記事の傾向を考える

    アウトプット自体は元々個人ブログで書いていたのですが、それも2年前くらいから始めたにすぎなかったはず。 個人ブログからZennに移ったのは、「やっぱり技術の情報を求めて人が集まっているところに情報を投下しないと見てさえもらえない」事実に気づいたからです。 そこからコツコツと0からアウトプットを続けた結果、LaravelのMiddlewareに関する記事を出したあたりから認知度が上がったように思います。 PHPer界隈で有名な方々の多くが記事を取り上げてくださったことが今振り返ると非常に大きかったです。 それからコツコツと記事を積み上げて来たわけですが、ようやくZennで記事を書き始めてから1年が経ったようです。体感時間的には3年前ぐらいから記事を書いてるような感覚でした。 そんな節目を機に、この1年で書いた記事の中で反響が大きかったものを振り返ってみようというのが今回の記事です。 「どうい

    ここ1年間のはてなブックマーク数の多かった記事から、Zennでウケそうな記事の傾向を考える
  • 2023年に読んでよかった技術書

    おそらく 2023 年に Zenn で出す最後の記事になるかと思います。 タイトルの通り、2023 年に読んだの中で、特に素晴らしかったものをご紹介します。 とはいえあまり今年は技術書を読んだ印象がなく… というのも、特定の xx(例えば Next.js、Ktor)といった部類に関しては公式のドキュメントを読むことがほとんどになり、書籍に求めるのは公式ドキュメントに書かれていない何かや誰かの経験・ノウハウになったからだと思います。 この記事を書くにあたって今年読んだを振り返ってみても、やはり十数冊程度(それでも月に 1 冊は読んでた)のでインプット:アウトプットの割合的には良いバランスではないかと思っています。 ただ、先に述べた通り公式ドキュメントに書かれていないなにかを売っているというのはどれも当の意味で価値があるものであり、皆さんにも当に意味のある情報にお金を使っていただける

    2023年に読んでよかった技術書
  • 勉強法について考え続けた自分が行き着いた『アジャイル勉強法』というひとつの答え

    🏃 はじめに 今度、このような勉強会が開催されます。 ここで、「もし自分が"勉強法"を説明するならどうするか?」をふと考えていると、観点が2つあることに気づきました。 学習のワークフロー 学習の方法それ自体 この二つの観点から自分の勉強法について言語化してみようと思います。ただし前提として、ソフトウェアエンジニア向けというのがあります。 📚 アジャイル勉強法Zenn Book になりました!! この記事で説明している以上に詳しい内容を Zenn Book の方には書かせていただいております! この記事を読んでみて、より詳しく知りたいとなった方はぜひ Zenn Book の方もよろしくお願い致します。 1 章は無料で読めます! ⏰ 学習のワークフロー サイクルはこんな感じです。 年間の計画を立てる タスクに細分化して GitHub Project に登録していく 週単位で消化するタス

    勉強法について考え続けた自分が行き着いた『アジャイル勉強法』というひとつの答え
  • 1