タグ

jay-esのブックマーク (2,147)

  • アジャイル開発とデータベース設計 - 変化に対応するシンプルな実装のために必要なこと - Agile Journey

    はじめまして。そーだい(@soudai1025)です。私は普段は技術コンサルティングや受託開発を請け負う合同会社HaveFunTechの代表として、また、予防治療の自社サービスを展開する株式会社リンケージのCTOという二足の草鞋を履き、日々、さまざまなWebサービスの開発に携わっています。 これまでの開発経験のなかで、データベース設計に関わるさまざまな問題に遭遇してきましたが、稿ではとくに、アジャイル開発時に発生しやすい問題とその対処についてお伝えしたいと思います。開発の現場で目にしやすい実装におけるアンチパターンを示しつつ、アジャイルという指針を維持しながら、対処となるデータベース設計についてご紹介します。 会員登録のアンチパターンと処方箋 イージーな実装とシンプルな実装 Userと言う名の罠 拡張と破綻 データベースは変化に弱い 仕様変更とテーブル変更 Addで変化に追従する 正規化

    アジャイル開発とデータベース設計 - 変化に対応するシンプルな実装のために必要なこと - Agile Journey
    jay-es
    jay-es 2024/02/27
    正規化のコツ: 事実だけを保存する・重複がない・不整合がない・nullがない #DB_findy
  • 開発者のためのSQLパフォーマンスの全て

    前書き - インデックスの作成はなぜ開発者のタスクなのか インデックスの 内部構造 - インデックスは何に似ているか インデックス リーフノード - 二重連結リスト 検索 ツリー(Bツリー) - バランス木 遅いインデックス パートI - インデックスを遅くする2つの原因 where 句 - 検索のパフォーマンスを改善するためにインデックスを作成 等価 演算子 - 一致するキーの検索 プライマリキー - インデックスの使い方を確認 複合インデックス - 複数列に対するインデックス 遅いインデックス パートII - 前の問題点が再び 関数 - where句の 中での関数 大文字・小文字を区別する 検索 - UPPERと LOWER ユーザ定義 関数 - 関数インデックスの制限 インデックスの作り過ぎ - 冗長性の排除法 パラメータ化 クエリ - セキュリティとパフォーマンスのために 範囲 検

    開発者のためのSQLパフォーマンスの全て
    jay-es
    jay-es 2024/02/27
    開発者のためのSQLパフォーマンスの全て #DB_findy
  • Databases, SQL Server, and Data Models Examples

    Welcome to our repository of data models. Check out the older data models created by Barry Williams over the years, we are trying to continue what he started many years ago. Welcome to our database design community! Discover how to build MS Access databases, SQL Server design, and explore data models from many different industries. You will learn how to organize and structure data, optimize your b

    jay-es
    jay-es 2024/02/27
    #DB_findy
  • 表示順という属性を別テーブルに分ける - そーだいなるらくがき帳

    最近、この説明を複数回したので記事にする。 要約 普段は 今北産業 派なのだが、3行考えるのが面倒なため、今後は大人の表現を使う。 「今北産業」をスタートアップ語にすると「マジ価値サマリー」になるらしい ちなみにここだけの話ですが、大人語にすると「要約」になります pic.twitter.com/Q8SflvBX7c— ところてん (@tokoroten) 2022年1月24日 画面に表示したい順(以下、表示順)は振る舞いの属性なので分ける 似たような振る舞いに関わる属性は別テーブルにわけると良い 普通に正規化しましょうって話。 表示順をカラムを追加して表現する よくあるテーブルは画面情報と合わせて表示順カラムがあるパターン。 こういうテーブルを作って SELECT * FROM items ORDER BY display_order_number; で表示順に取り出すパターン。 表示順

    表示順という属性を別テーブルに分ける - そーだいなるらくがき帳
    jay-es
    jay-es 2024/02/27
    振る舞いの属性はテーブルを分ける #DB_findy
  • 【徹底比較】Vue.js と React でレンダリングされる値、されない値

    *1. 画面に表示されるがコンソールにエラーが出る。 Warning: Received NaN for the `children` attribute. If this is expected, cast the value to a string. *2. 画面には表示されずコンソールにワーニングが出る。 [Vue warn]: Invalid VNode type: undefined (undefined) *3. Chrome だと以下の形式(実行環境によって異なる可能性あり)。 Mon Jan 01 2024 00:00:00 GMT+0900 (GMT+09:00) *4. ランタイムエラー。 Uncaught Error: Objects are not valid as a React child (found: object with keys {}). If you

    【徹底比較】Vue.js と React でレンダリングされる値、されない値
    jay-es
    jay-es 2024/02/26
    Vue.js と React でいろいろな値をレンダリングするとどうなるか、という記事を書きました
  • 新しい UI テストの手法を提供するテストライブラリ SafeTest

    新しい UI テストの手法を提供するテストライブラリ SafeTest 2024.02.25 SafeTest は Playwright と Jest/Vitest を組み合わせた UI テストライブラリです。特定のライブラリに依存せず、React, Vue, Angular, Svelte などのフレームワークに対応しています。SafeTest は単体テストと Playwright を使った E2E テストの手法を組み合わせることで、それぞれの手法が抱える欠点を補うことを目指しています。 SafeTest は Playwright と Jest/Vitest を組み合わせた UI テストライブラリです。特定のライブラリに依存せず、React, Vue, Angular, Svelte などのフレームワークに対応しています。 従来のフロントエンドのテストの手法は Testing Libra

    新しい UI テストの手法を提供するテストライブラリ SafeTest
    jay-es
    jay-es 2024/02/25
    解説ありがたい。モックのための処理をプロダクションコード側に書くやり方なのは賛否ありそう
  • Storybookの実力をフル活用するChromatic

    ビジュアルリグレッションテストツール4選!ユーザーが語る各ツールのメリット https://trident-qa.connpass.com/event/308664/ X https://twitter.com/__sakito__

    Storybookの実力をフル活用するChromatic
  • Storybook Test ruuner で安定した Visual Regression Testing を行う

    はじめに 株式会社ナレッジワーク Engineering Division のわだまる(@wadackel)です。 ナレッジワークの Web フロントエンド開発では、Storybook を活用したコンポーネント開発を行っています。そして、昨年末により良いコンポーネント開発の基盤整備を進めるべく @storybook/test-runner(以降 Storybook Test ruuner)を導入しました。導入目的としては主に、各 Story に対するスモークテスト、play 関数を活用したコンポーネントテストを行うことです。 さらに、ナレッジワークでは前述した通常のコンポーネントテストに加えて、reg-suit と storycap を利用した Visual Regression Testing(以降 VRT)を行っています。 これまでは Storybook を活用したテストは VRT の

    Storybook Test ruuner で安定した Visual Regression Testing を行う
  • 【初学者にこそ伝えたい】Vue.js コミュニティ入門

    💡 ヒント: コミュニティとはグラデーションである 🚩 序 こんにちは。Vue Beginners (の管理人) です。 すでに多くの方に記事を見ていただけていてとても嬉しく思います。感謝しています。 今回はソースコードは 1 行も出てきません。 ひょっとすると、Vue.js の勉強法や使い方などを求めている方にとっては多少つまらない内容かもしれません。 ですが少し早まらず、是非とも一緒に考えてほしいです。🙏 今日の話は、これからあなたが Vue.js について学び、使っていく際にとても重要な話だと筆者は信じています。 🤔 あなたがコミュニティの一員であるかどうか 回答: それはわかりません。 ・ ・ ・ 「自称だからでしょ?」と思う方もいるかもしれませんが、そういう話ではありません。 あなたがいくら自称したところでこの答えは決まりません。 というのも、いくらあなたが「私はコミュニ

    【初学者にこそ伝えたい】Vue.js コミュニティ入門
    jay-es
    jay-es 2024/02/19
    "コミュニティとはグラデーションである"
  • エッセイ: React with React Compiler は "Just JavaScript" であるか · Ubugeeei/work-log · Discussion #429

    Twitter で散らかしてしまったので軽くまとめておく. 序・前提 まず前提として、コンパイラを使った最適化を行うという方針については私はとても賛成である. インターフェースを崩さずに DX を改善するにあたってこのアプローチはしばしば有効的であるし、私自身もそれを全面に押し出すフレームワークを使っている. ただし、コンパイラが介入するにあたってのメンタルモデルの変更(または統一 1) についていくつかの疑問がある. 私は普段から React を書いているわけでもなく専門家でもないので、これから話すことは React に対する意見というより、「React を使っている人は、この点どう感じているのだろうか?」という好奇心からくるもので、その是非に対するものではない. 何度も言うが私は 賛成 している. また、これらは https://react.dev/blog で React Compi

    エッセイ: React with React Compiler は "Just JavaScript" であるか · Ubugeeei/work-log · Discussion #429
    jay-es
    jay-es 2024/02/17
    React Compiler(旧 React Forget)が導入されると "Just JavaScript" ではなくなりそうだが、それを根拠に支持していた人たちの反応が気になる、という話
  • 毒の沼地を歩く☠️|KMAT

    こんにちは。 iCAREのクラウドPdMチームのKmatです。 今年こそ数年ぶりにデンマークに飛ぼうかなとコペンハーゲンへの直行便を調べたら、、、2名で70万円超でそっ閉じしました。エコノミークラスとは⁉︎ さて、今回はプロダクトのUXに関する話です。(社内で日報に書いてたものを整理がてら転記編集) 毒の沼地を歩く=インタラクションコスト 先日、社内で仕事へのモチベーションについて話しているときに、モチベーションは日々下がるもので「毒の沼地を歩く」ようなもの。だから上げることより、ダメージの軽減もだいじ!という例えを出してふと思い出しました。 (そういえばこれ、昔、別の場面で挙げたことがあるな…🤔) …数年前、ToCのサービスを作っているときにUXリサーチをしていて「information-foraging theory」をベースに「インタラクションコスト」について考察したことがあります

    毒の沼地を歩く☠️|KMAT
    jay-es
    jay-es 2024/02/17
    インタラクションコストはユーザーの HP を削る。toC サービスの場合はライフがゼロになると離脱してしまう。「毒の沼」な UX を排除しないといけない。流入元によって最大 HP は異なる
  • GitHub - mieszkosabo/correttore: A proof of concept of a tree shakable Zod alternative. This library aims to have a 1:1 Zod compatible API, but with fine grain control over the final bundle size. This was done by a combination of Proxies and type-level pr

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - mieszkosabo/correttore: A proof of concept of a tree shakable Zod alternative. This library aims to have a 1:1 Zod compatible API, but with fine grain control over the final bundle size. This was done by a combination of Proxies and type-level pr
    jay-es
    jay-es 2024/02/16
    ツリーシェイク可能な Zod 代替、の PoC。各メソッドを個別にインポートし(ここまでは Valibot と同じ)、init 関数を使用してそれらをメソッドチェーンできるようにする
  • gridless.design

    historydesignersdevelopersaboutget rid of grid“Blasphemy, I need structure and order!” The web is good at these things, just not in the ways that designers have been accustomed to working. We'll take a look at how we got here and how we might change our perspective. Let's think outside of the grid and allow other guidelines to provide a comprehensive layout. History of the design grid Back to top

    gridless.design
    jay-es
    jay-es 2024/02/16
    Web デザインにおけるレイアウトグリッド(n 列グリッドや n ピクセルグリッドなど)やブレークポイント排除の提案
  • SSGにNext.js以外を使わなくてもいい時代に、私は、Vikeを使いたいのです

    SSGにNext.js以外を使わなくてもいい時代に、私は、Vikeを使いたいのです2024/02/14 「なぜSSGにVikeを使うのか」というタイトルにしたかったんですが、ゼクシィのCM構文が流行っているような気がして、乗っかってみました。あの雑誌を読んだことがないので、どういった層をターゲットに作られているのかかなり気になっています。 Vikeについてここでは紹介しないので、適宜 https://vike.dev を見てください。いつの間にか vite-plugin-ssr が名前を変えてマイティ・ソーになっていました。 なぜSSGにVikeを使うのか簡素よくある Next.js is too much for us というモチベです。 fetchのキャッシュまで望んでいなかったり、案外作りたいものはfile based routingさえ枠組みがあれば他は自分で組みたいし、複雑なもの

    SSGにNext.js以外を使わなくてもいい時代に、私は、Vikeを使いたいのです
    jay-es
    jay-es 2024/02/15
    ファイルベースルーティングだけ欲しい、というの分かる
  • 【JavaScript】ここがしんどかったよTauri開発【Rust】 - Qiita

    2024年2月2日にTauri 2.0がβ版となりました。昨年から個人的にいくつかTauriの1系でデスクトップアプリケーションを開発してきたのですが、ここが辛かった!というのを列挙してみました。 因みに公開しているのは以下となります。 Iron Beads Editor(Mac OS版) String Scouter(Mac OS版)(Windows版) 尚、Iron Beads Editor(以下IBE)に関しては元々Vanilla.jsでweb側を作っていて、それの機能追加版となります。 なぜTauriを選択したのか? まずTauriを選択する前に以下のプラットフォームを検討しました。 Platform 所感とか

    【JavaScript】ここがしんどかったよTauri開発【Rust】 - Qiita
  • GitHub - kolodny/safetest

    Playwright Integration: Run your tests on real browsers using Playwright. Safetest automatically handles browser management, so you can focus on just writing tests. Screenshot diffing via jest-image-snapshot Video recording Trace Viewer Full control over network layer Powerful overrides for complex test cases Jest Integration: Safetest leverages the Jest test runner. Write your tests using familia

    GitHub - kolodny/safetest
    jay-es
    jay-es 2024/02/14
    Netflixのテスティングフレームワーク
  • Introducing SafeTest: A Novel Approach to Front End Testing

    by Moshe Kolodny In this post, we’re excited to introduce SafeTest, a revolutionary library that offers a fresh perspective on End-To-End (E2E) tests for web-based User Interface (UI) applications. The Challenges of Traditional UI TestingTraditionally, UI tests have been conducted through either unit testing or integration testing (also referred to as End-To-End (E2E) testing). However, each of th

    Introducing SafeTest: A Novel Approach to Front End Testing
    jay-es
    jay-es 2024/02/14
    Netflix の新しいフロントエンドテストツール SafeTest の紹介
  • TypeScript の変性(共変・反変)を 5 分で理解する

    type User = { name: string } type Admin = User & { permissions: string[] } const user: User = { name: "user", } const admin: Admin = { name: "admin", permissions: [], } User は名前だけを持つ型で、Admin は名前と権限を持つ型です。また、それぞれの型の変数も用意しています。 この後のコード例は極力シンプルにするため、やや不自然なコードになっていますがご了承ください[1]。 サブタイプとスーパータイプ Admin 型の変数は name プロパティを持ち、User 型の条件を満たしています。そのため、User 型の変数には Admin 型の変数を代入できます。 その逆は型エラーになります。User 型の変数には perm

    TypeScript の変性(共変・反変)を 5 分で理解する
    jay-es
    jay-es 2024/02/13
    TypeScript の共変・反変についての記事を書きました
  • GitHub - 1111mp/nvm-desktop: Node Version Manager Desktop - A desktop application to manage multiple active node.js versions.

    jay-es
    jay-es 2024/02/10
    Node.js バージョンを管理するデスクトップアプリ。Electron + React ベース。コアのコマンド部分は Rust で作られている
  • Detect Caps Lock with JavaScript

    Anyone is capable of having their caps lock key on at any given time without realizing so. Users can easily spot unwanted caps lock when typing in most inputs, but when using a password input, the problem isn’t so obvious. That leads to the user’s password being incorrect, which is an annoyance. Ideally developers could let the user know their caps lock key is activated. To detect if a user has th

    Detect Caps Lock with JavaScript
    jay-es
    jay-es 2024/02/10
    キーボードイベントの getModifierState メソッドを使うことで CapsLock などの状態を検知できる