プログラミング/svelte の変更点

更新


[[公開メモ]]

* svelte や svelte kit を使いこなしたい [#o86663ca]

svelte や svelte kit は Web サイト構築用のライブラリ

Visual Studio Code を最大限活用するために作られた最新のエコシステムの恩恵を受けるために勉強してみよう

以下で学ぶこと:

- データベースの使い方を学ぶ (Prisma)
- フォームのバリデーション (SuperForms, Zod)
- サインアップ・ログイン・ログアウトのできる認証機能 (Lucia)
- その際にメールアドレスの確認を行う (nodemailer)
- css ライブラリを選定する (TailwindCSS, DaisyUI, svelte-french-toast)
- デプロイ方法を学ぶ (node build)
- テストを書く (Playwright, vitest)


* 目次 [#p0ab4c9c]

#contents

** いろいろ読んで勉強中 [#o6d339e1]

- SvelteKit+Superforms+Prisma+Luciaでログイン機能を爆速で実装する~
https://zenn.dev/gawarago/articles/f75f5113a3803d
- SvelteKitが正式リリースされたのでtRPCとPrismaを使ってWebアプリを開発してみた~
https://zenn.dev/kosei28/articles/d965f221a656fd
- Vitest / Playwrightを使ってSvelteのコンポーネントをテストする~
https://qiita.com/oekazuma/items/925ddbf48870fb999c19#vitest%E3%81%A8%E3%81%AF
- TypeScript 4.9のas const satisfiesが便利。型チェックとwidening防止を同時に行う~
https://zenn.dev/moneyforward/articles/typescript-as-const-satisfies
- コーディング不要でGraphQLサーバが作れるPrismaを触ってみて可能性を感じた - SMARTCAMP Engineer Blog~
https://tech.smartcamp.co.jp/entry/started-prisma
- worst password list~
https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/10-million-password-list-top-100000.txt
- 5歳娘「パパ、余分なpropsいっぱい書くんだね!」~
https://qiita.com/Yametaro/items/814f40d08e9d30584e20#5%E6%AD%B3%E5%A8%98%E3%83%91%E3%83%91%E4%BD%99%E5%88%86%E3%81%AAprops%E3%81%84%E3%81%A3%E3%81%B1%E3%81%84%E6%9B%B8%E3%81%8F%E3%82%93%E3%81%A0%E3%81%AD
-- svelte での書き方 → https://stackoverflow.com/questions/76285794/svelte-components-intrinsicelements-or-sveltehtmlelements-for-extending-with-ht

* いよいよやってみる [#s61d3616]

ここでの作業内容を収めた GitHub プロジェクト:~
https://github.com/osamutake/svelte-authtest

+ [[プログラミング/svelte/VSCodeの準備]]
+ [[プログラミング/svelte/テストの仕方を確認]]
+ [[プログラミング/svelte/Prisma と Lucia を使った認証システム]]
+ [[プログラミング/svelte/メールアドレスの確認を行う]]
+ [[プログラミング/svelte/認証機能のテストを追加]]
+ [[プログラミング/svelte/管理者権限を付与する]]
+ [[プログラミング/svelte/ブログ的なもの作り-投稿・表示・編集]]
+ [[プログラミング/svelte/コード配置の整理]]
+ [[プログラミング/svelte/記事の見た目をいじる]]
+ [[プログラミング/svelte/pukiwikiの記事を流し込む]]

* 関係ないけどメモ [#h0bd44ef]

** オブジェクトからプロパティを取り除いたものを返す [#y6a78792]

これでいいのか?

 LANG: ts
 function removeProperties<T>(obj: T, ...keys: (keyof T)[]) {
   const result = {} as Partial<T>;
   Object.getOwnPropertyNames(obj).forEach((k) => {
     if (!keys.includes(k)) result[k as keyof T] = obj[k as keyof T];
   });
   return result;
 }



Counter: 1166 (from 2010/06/03), today: 1, yesterday: 2