ORM v0.32.1 release improved indexes API and typings support for limit 0 array and notInArray accept empty [] Community highlights • drizzle.run ships schema visualizer 👀 • sst dev & drizzle studio update • Hono + Drizzle headless CMS • TypeScript based down migrations Drizzle Kit goes open-source 🎉 • 2hrs release stream on Jul 30th • added programmatic access • v0.23.1 release with bugfixes Lan
最近、週末の趣味プロジェクトとして Cloudflare Workers(と Vercel Edge Functions)向けの Slack アプリ開発フレームワークを作りました。 私は普段 Slack の Developer Relations Engineer として Qiita の Slack チームの公式な記事を書いているのですが、この Cloudflare Workers 向けのものは業務で開発した公式ツールではなく、完全に個人プロジェクトなので、Qiita の Org ではなく Zenn に個人的な記事として書くことにします。 ・・・そして、書き終わってみると、随分と長い記事になってしまいました。興味のあるところだけでもぜひ読んでみてください。 この記事で説明するもの この記事では、Slack アプリ開発の基本と、以下のライブラリの使い方について解説していきます。 「Slack
TypeScriptの関数は1値のみ返却できます。ですが実際は複数の値を返したくなる時もあります。そんな時は配列に返したいすべての値を入れて返すことがあります。 次の関数の戻り値は定数になっていますが、実際は演算した結果だと解釈してください。
2022年4月に著書『プロを目指す人のためのTypeScript入門』が発売された鈴木僚太さん(https://twitter.com/uhyo_)。QiitaやTwitterでは「うひょ(uhyo)」さんとして、TypeScriptやフロントエンドの話題を中心にウェブ技術に対する踏み込んだ解説でも知られています。 著書ではあえて触れられなかったという「TypeScriptでウェブアプリケーションをどう書くか」という観点へのヒント、なぜそれを書かなかったのか、そして仕様や原理に立ち返って自ら考えることの楽しさについて、株式会社一休CTOの伊藤直也さん(https://twitter.com/naoya_ito)が聞き出します。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてな
コピーこれらのクラスは、walkメソッドを持つ点で似ています。このようなとき、Person型とDog型は「互換性がある」とみなすことができるでしょうか。それとも、まったく異なる型として扱うべきでしょうか。 こうした問題を扱うために、プログラミング言語はさまざまな型システムを採用しています。どのように型を区別すべきか、また、どのように型同士の互換性を判断するべきか、このような観点から型システムの仕様を考える必要があります。TypeScriptでは、「構造的型付け」という型システムが採用されています。構造的型付けがどのように型を区別し、逆にどのように型同士に互換性があると判断するのか、こうした言語仕様を知ることは、よいコードを書くために役立ちます。 型の区別に関する2つのアプローチプログラミング言語における型の区別や互換性の判定には、主に次の2つのアプローチが存在します。 名前的型付け構造的
Enum の代わりに union 型を使おうという風潮があるらしい TypeScript v3.4 から使えるconst assertionを用いると、使い勝手を損なわず Enum の代わりに union 型が使えるらしい Enum とは 列挙型とも呼ばれる TS にはあって JS には無いもの、他の言語(C、C#、Java とか)にもある 定数をひとまとめに定義できる enum Card { Clubs, // 0 Diamonds, // 1 Hearts, // 2 Spades, // 3 } const card: Card = Card.Hearts; console.log(card); // 2 上記のように値には連番が振られる 意味のある分かりやすい値をもたせたい場合は、文字列や任意の数値を設定することもできる enum Card { Clubs = "clubs", D
graphql-codegen と Nominal Typing(Branded Type) で Custom Scalar をちょっといい感じにする GraphQL では標準で用意されてる Int や String 以外にも、自前で Scalar を定義することができます(ここでは Custom Scalar と呼びます)。よくある用途としては日付を表す Date や日時を表す DateTime でしょうか。 type Profile { birthday: Date } scalar DateCustom Scalar をうまく使えば GraphQL スキーマでドメインを表現する力がかなり高くなるので、みんなで育てる共通言語としてはどんどん活用していきたいです。 一方で、Apollo CLI や GraphQL Code Generator(以下 graphql-codegen)で C
Usage Requirements In order to use this GraphQL Codegen plugin, please make sure that you have GraphQL operations (query / mutation / subscription and fragment) set as documents: … in your codegen.yml. Without loading your GraphQL operations (query, mutation, subscription and fragment), you won’t see any change in the generated output. This plugin generates React-Query Hooks with TypeScript typing
この記事は GraphQL Advent Calendar 2020 8日目の記事です。 前回の記事は @mtsmfm さんの GraphQL アンチパターン - 孫煩悩 - でした。 概要 TypedDocumentNode は、 GraphQL Code Generator を使って TypeScript のコードを生成するときの出力先のひとつで、 2020年7月に登場しました。 GitHub GraphQL Code Generator 公式ドキュメント 出力結果はただの DocumentNode オブジェクト(gql 関数にクエリを渡して得られるもの)ですが、 TypeScript のジェネリクスを使って型が定義されているのが特徴です。 リリース記事 には以下のように書かれています。 2016: Manual Typings 2017: Generated Types 2018:
現在、TypeScriptの重要性は、フロントエンド開発を中心としてますます増すばかりであります。それだけに、TypeScriptをどのように使うべきかという問題については多様な意見が見られます。 これまで筆者はTypeScriptの使い方に、特にコンパイラオプションの使い方について意見を散発的に発信してきましたが、このたび記事にまとめました。この記事では、特に次のような意見に対しての反対意見を述べます。 厳しいコンパイラオプションは型パズル愛好者のためのものであり、普通の人は細かいことを気にせず緩い設定でよい。熟練のJavaScript使いにはTypeScriptは必要ない。例え話最近はTypeScriptを補助輪に例えたりするのが流行っていますので、この記事でも例え話をしてみます。筆者の考えでは、TypeScriptというのは例えるならば料理人が使う包丁のようなものです。コンパイラオプ
Blog /tooling /Apollo Codegen /TypeScript GraphQL Code Generator – Generate GraphQL Types with Apollo Codegen Tutorial Back to Blog April 1, 2021TypeScript GraphQL Code Generator – Generate GraphQL Types with Apollo Codegen Tutorial Don Norman, the author of “The Design of Everyday Things” has a philosophy for what he believes constitutes good design. Don says that good design is primarily discove
Conditional Types TypeScript 2.8 introduces conditional types which add the ability to express non-uniform type mappings. A conditional type selects one of two possible types based on a condition expressed as a type relationship test: The type above means when T is assignable to U the type is X, otherwise the type is Y. A conditional type T extends U ? X : Y is either resolved to X or Y, or deferr
TypeScriptの世界を知る 前書き Node.jsエコシステムを体験しよう TypeScriptの書き方 変数 プリミティブ型 複合型 基本的な構文 基本的な型付け 関数 その他の組み込み型・関数 クラス 非同期処理 例外処理 モジュール console.logによるログ出力 中級のテクニック ジェネリクス ジェネリクスの書き方 ジェネリクスの引数名 ジェネリクスの型パラメータに制約をつける 型パラメータの自動解決 ジェネリクスの文法でできること、できないこと 型変換のためのユーティリティ型 オブジェクトに対するユーティリティ型 オブジェクトと属性名に対するユーティリティ型 型の集合演算のユーティリティ型 関数のユーティリティ型 クラスに対するユーティリティ型 any や unknown 、合併型との違い まとめ 関数型指向のプログラミング クラス上級編 リアクティブ 高度なテクニッ
JavaScriptの配列操作。 調べるのがいつも面倒なので、利用頻度の高いものをまとめました。 「もとの配列を変化させない」ことがポイント。 https://t.co/EXU0EoTK8L
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く