タグ

katsushのブックマーク (504)

  • Explore 3000+ Free UI Elements: CSS & Tailwind

    Open-Source UI elements for any projectCreate, share, and use beautiful custom elements made with CSS or Tailwind.Search

    Explore 3000+ Free UI Elements: CSS & Tailwind
    katsush
    katsush 2024/05/19
  • データベースでユニークキーにUUIDを使うメリットは何ですか?連番やタイムスタンプまたは複合などではいけないのでしょうか?どうも視認性が悪く使いにくく感じますし連番でも衝突しない気もします。

    回答 (7件中の1件目) まずはUUID及びその対案として用いられる連番(自動採番)のメリット・デメリットを整理します。 (タイムスタンプキーや複合キーなどもその効率性から設計上有用なシーンはありますが、比較から除外します。) * UUIDを使うことのメリット * * データベースにSQLを送信する前からアプリケーションレイヤーでIDを生成できる。 * * トランザクション処理を実装しやすい場合がある。 * IDを推測しにくい。リソースが列挙可能ではない。 * UUIDを使うことのデメリット * * レコード・インデックスサイズが増加する。 * * ...

    データベースでユニークキーにUUIDを使うメリットは何ですか?連番やタイムスタンプまたは複合などではいけないのでしょうか?どうも視認性が悪く使いにくく感じますし連番でも衝突しない気もします。
  • SQLアンチパターン:ENUMは使わない方がいいよ | Shiro's secret base

    どうも、シローです。 今回は、特定の文字列に限定した列を定義する方法について、アンチパターン「サーティワンフレーバー」も一緒に紹介します。 特定の値を持ちうる列とは 例えばユーザ(Users)の権限(管理者かメンバーか)を表したい場合、Usersテーブルにメンバーの権限を表すuser_roleという列を定義するとします。 このuser_roleには管理者の場合はadmin、メンバーの場合はmemberという値を持ちそれ以外の値は格納しない(できない)ようにするにはどうすれば良いのか アンチパターン「サーティワンフレーバー」について 先にアンチパターンについて紹介します。 サーティワンフレーバーと呼ばれる設計方法では特定の値を入れるために 列にCHECK制約を入れる(MySQL8.0以降) 列をENUM型にする という手法を取りうることです。 僕の環境はMySQL5.7なのでENUM型のカラ

    SQLアンチパターン:ENUMは使わない方がいいよ | Shiro's secret base
  • SQLアンチパターン感想その二ーENUM型を扱う

    今回はSQLアンチパターンの感想その二です。 以前のプロジェクトで何回か出会ったことがあり、一つのカラムに対して、いくつかの選択肢がある、という場合、ENUMタイプを安易に使ってしまいましたが、このを読んだら改めて反省しました。 解決したい問題とは 例えばブログポストのステータスというフィールドがあるとして、そのステータスには、DRAFT, PUBLISHEDといった値があります。ただ、ここはstatusフィールドに対して、DRAFTとPUBLISHEDのみに限定したいです。draftでも、newでも、挿入・更新できないように制限をかけたいところです。 アンチパターン:CHECKもしくはENUMを用いる CREATE TABLE Post ( -- ... status VARCHAR(20) CHECK (status IN ('DRAFT', 'PUBLISHED')) ); var

    SQLアンチパターン感想その二ーENUM型を扱う
    katsush
    katsush 2024/05/15
  • 令和のHTML / CSS / JavaScriptの書き方50選

    Web制作技術は日々進化しており、会社やプロジェクトによっては昨今の環境に適さない書き方をしているケースも時折見受けられます。 そこで今回は「2024年のWeb制作ではこのようにコードを書いてほしい!」という内容をまとめました。 質より量で、まずは「こんな書き方があるんだ」をこの記事で伝えたかったので、コードの詳細はあまり解説していません。なので、具体的な仕様などを確認したい方は参考記事を読んだりご自身で調べていただけると幸いです。 1. HTML 画像周りはサイトパフォーマンスに直結するので、まずはそこだけでも取り入れていただきたいです。また、コアウェブバイタルやアクセシビリティも併せて理解しておきたい内容です。 Lazy loading <img>にloading="lazy"属性を付けると画像が遅延読み込みになり、サイトの読み込み時間が早くなります。

    令和のHTML / CSS / JavaScriptの書き方50選
  • MySQL 5.7のオンラインDDLによるサービス無停止のカラム追加 - hacomono TECH BLOG

    プロダクト開発チームの田中と申します。(社内ではたなしゅんと呼ばれております) 先日新機能のリリースを行いまして、リリース時に既存テーブルに対してのカラム追加が必要だったのですが、カラム追加のALTER TABLEが中々終わらないという問題が以前のリリース時に起きていたこともあり、事前に問題なくDBマイグレーション(Railsを利用しているため、この記事ではALTER TABLEなどのDB操作をマイグレーションと呼びます)が実施できるように調査を行いました。 その際に調査した内容や工夫したことなどを共有したいと思います。 過去のリリース時に起きた問題 ALTER TABLEが終わらない メンテナンスタイム中にデータベースのマイグレーションができるのが理想ですが、hacomonoのサービスの特性上24時間運営の店舗様にもご利用いただいているため、頻繁にメンテナンスタイムを設けることが難しく、

    MySQL 5.7のオンラインDDLによるサービス無停止のカラム追加 - hacomono TECH BLOG
  • DjangoのマイグレーションとMySQL 5.6~でのオンラインDDLの副作用について - クロスマート Tech Blog

    まえがき ちょっと待った。オンラインDDLって何よ? DDLについて オンラインDDL オンラインDDL実行で起こりかけた問題 ロックを取得する じゃあどうすればいいのさ DDLを流す時にメンテを入れる TO値を設定する あとがき まえがき こんにちは。バックエンドエンジニアの@mobojisan と申します。 この時期は当にカンファレンスが多いですね! 個人用GitHub上にSSGを利用したブログ基盤があるのですが、それが使いにくかったので、今流行りのsupabaseでブログ基盤をおっ立て、カンファレンスに参加した時の感想記事でも載っけようかと画策していました。 しかし、作業がカンファレンスの開催スピードにとても追いつかず、カンファレンスのメモが無情にもnotion上に溜まっていきます。 もはやメモをブログとして世に出す頃には来年のカンファレンスが開催されているんじゃないか…?と思いな

    DjangoのマイグレーションとMySQL 5.6~でのオンラインDDLの副作用について - クロスマート Tech Blog
  • MySQL 8.4 LTS登場!!

    記事を書くのが遅くなってしまったが、先日MySQL 8.4シリーズが登場したので紹介をしておこうと思う。新機能の解説については機会を改めて書くとして、今回は主にアップグレードにまつわる重要なポイントを書き記しておく。 LTS = Long Term Support 以前の記事でも紹介した通り、MySQL 8.4はLTS = Long Term Supportのバージョンとなっている。長期間サポートするために互換性を最大限保証するバージョンである。前のメジャーバージョンであるMySQL 8.0シリーズのように、シリーズの途中で互換性が破壊されるような変更が入ることは基的に無い。「バグ修正のためにどうしても仕様を変えなければならない」というような事態が生じる可能性はゼロではない。なので絶対に互換性が保たれるとは言い切れないところであるが、基的には仕様変更はない方向で今後リリースされていくこ

    MySQL 8.4 LTS登場!!
  • 入力欄のプレースホルダーって結局どうなの - Qiita

    入力欄のプレースホルダーの話をします。プレースホルダーというのは、フォームの入力欄で、ユーザーが入力するまでの間に表示されているテキストのことです。 書籍「Webアプリケーションアクセシビリティ1」では、「3.1 ラベルと説明」のところで、紙版にして約1.5ページの分量を割いて、フォーム入力欄のプレースホルダー(<input> 要素や<textarea> 要素の <placeholder> 属性)の問題点を指摘しています。 こので指摘されているプレースホルダーの問題点は以下の3つです。 プレースホルダーの色が薄く視認しづらい プレースホルダーとフォームコントロールの値との区別がつかない フォームコントロールに値を入力したときにプレースホルダーの値が見えなくなってしまう Webアプリケーションアクセシビリティ さらに、Nielsen Norman Groupによる「Placeholders

    入力欄のプレースホルダーって結局どうなの - Qiita
  • HTML5 におけるアウトラインに関して簡単解説

    最近、ヨモツネットさんで 「HTML5 でのセクションの誤用にご注意」 なんて記事が出てたり、ちょうど HTML5 Doctor でも 「Document Outlines」 と題してアウトラインの解説記事が上がってたりするので、この 「アウトライン」 について簡単にまとめてみようと思います。解説って言うほど偉そうなものではありませんがなるべくわかりやすく書いてみようかと。 アウトラインを理解することは、HTML5 でマークアップする際にとても重要になりますので覚えておくとよいと思いますよ。 アウトラインとは? アウトラインとは見出し、フォームタイトル、テーブルタイトル、その他ラベル付けされた要素によって生成される文書構造のこと…なんて書くととても難しそうですが、従来の (X)HTML でも見出し要素のレベルを使い分けることで文書構造を示すというのをやっていたと思います。例えば、 俺の日記

    HTML5 におけるアウトラインに関して簡単解説
    katsush
    katsush 2024/05/11
  • 主題と副題のマークアップにはhgroupを使用する – TAKLOG

    主題と副題のマークアップの方法に関しては度々Xでも話題になっていて、例えば次のポストの返信やリポストを見ると、人によって以下のような様々なアプローチがあることがわかります。 参考:過去に話題になったポスト ポストを別枠で表示する 見出し要素(h1〜h6)の中に主題と副題の両方を含めるこの場合の副題はspanではなくstrongやsmallを使うと言った意見も見られる主題をh1要素でマークアップし、副題は隣接するh2要素を使う疑似要素とcontent:attr()を使って副題を表示するこのブログのトップページでも主題+副題が用いられていて、いくつかのマークアップ方法を検討した結果「hgroupの中に主題のh1要素と副題のp要素を含める」方法を選択しました。

    主題と副題のマークアップにはhgroupを使用する – TAKLOG
    katsush
    katsush 2024/05/11
  • 巷の「ReactとNext.jsの比較」はここがおかしい、というか比較すること自体が微妙 - honey32

    (WIP まとまったら Qiita とかに上げるかも) TLDR; 「ReactNext.js を比較」という記事で、 Next.js と比較できるのは「フレームワークなしで React を使うという選択肢」であって、「React そのもの」ではない。 ✅️ React を使うのに 「フレームワークあり」 vs 「フレームワークなし」 ❌️「React」 vs 「Next.js」 それはそうと、「create-react-app の機能・特徴」のことを、「React の機能・特徴」であるかのように書いてしまっている記事が多い create-react-app 自体が擬似的なフレームワーク(といえそう) そもそも、create-react-app は今は更新されてないので create-vite-app を使うべき フレームワークあり or フレームワークなし 【フレームワークあり】

    巷の「ReactとNext.jsの比較」はここがおかしい、というか比較すること自体が微妙 - honey32
  • ブラウザキャッシュの仕組みについてまとめた

    Web開発において、ページの読み込み速度は非常に重要になります。 そのためにもブラウザのキャッシュは効率的なWebサイト運営に不可欠な機能です。 ブラウザのキャッシュには次のHTTPヘッダを設定することができます。 Expiresヘッダ Cache-Controlヘッダ Last-Modifiedヘッダ ETagヘッダ これらのキャッシュには強いキャッシュと弱いキャッシュで分類が可能です。 「Expires」「Cache-Control」は強いキャッシュであり、「Last-Modified」「ETag」は弱いキャッシュに分類できます。 強いキャッシュと弱いキャッシュ 強いキャッシュは設定された期間内は完全にローカルキャッシュを利用して、サーバーへのリクエストを行いません。 一方で弱いキャッシュはキャッシュされたリソースの検証が必要であり、ETagやLast-Modifiedヘッダを利用して

    ブラウザキャッシュの仕組みについてまとめた
  • 「フレームワークで脆弱性対策されているのに現実のアプリケーションに脆弱性が減らないワケ」EGセキュアソリューションズ 徳丸 浩 | Forkwell Press | フォークウェルプレス

    日のテーマは「フレームワークでは脆弱性を担保する素晴らしい機能があるのにどうして脆弱性が残ってしまうのか?」です。先に答えを言ってしまうと、勝手に安全になるものと、フレームワークでは担保されておらず、開発者自身が意識しないといけないものがあるからです。開発者が意識すべき脆弱性を見ていきましょう。 『よくわかるPHPの教科書』を検証してみる 『よくわかるPHPの教科書』で紹介されているソースコードの一部を実際にデモで動かしてみます。 // ここまでで、認証済みであるこの検査が済んでいる $id = $_REQUEST['id']; // 投稿を検査する $sql = sprintf('SELECT * FROM posts WHERE id=%d', mysql_real_escape_string($id)); $record = mysql_query($sql) or die(mys

    「フレームワークで脆弱性対策されているのに現実のアプリケーションに脆弱性が減らないワケ」EGセキュアソリューションズ 徳丸 浩 | Forkwell Press | フォークウェルプレス
    katsush
    katsush 2024/05/02
  • ブラウザからDBに行き着くまでただまとめる

    はじめに あなたはブラウザからデータベース(DB)に情報が行き着くまでにどんな技術が使われているか説明できますでしょうか? どのようなプロトコルが用いられ、どの技術を駆使してサーバと通信しているのか、Webサーバでは何が行われ、どのようにして負荷が分散されているのか、トランザクションはどのように管理されているのか、そしてデータベースではシャーディングや負荷対策のためにどのような対策が取られているのか… なんとなくは理解しているものの、私は自信を持って「こうなっている!!」とは説明ができません。 そこで今回は「大規模サービス」を題材としてブラウザからデータベースに至るまでの、情報の流れとその背後にある技術について、明確かつ分かりやすく解説していきたいと思います。 対象としてはこれからエンジニアとして働き出す、WEB、バックエンド、サーバーサイド、インフラ、SREを対象としております。 1.

    ブラウザからDBに行き着くまでただまとめる
  • コンテナ要素に基づく相対的な CSS の単位(cqw, cqh, cqi, cqb, cqmin, cqmax)

    コンテナクエリ(@container)とは、親コンテナ要素に基づいてスタイルを定義できる CSS の機能です。メディアクエリ(@media)では画面全体の幅に応じてスタイルを変更する必要がありましたが、コンテナクエリでは任意の要素に基づいたスタイルを適用できるため、より柔軟なレイアウトの実現が可能です。 .card { display: grid; grid-template-columns: 1fr; } @container (min-width: 600px) { /* カードの親要素の幅が 600px 以上の場合、2 列に変更 */ .card { display: grid; grid-template-columns: 1fr 1fr; } } コンテナクエリを使用してスタイルを適用する場合、コンテナクエリ単位を使用できます。コンテナクエリ単位は、親コンテナ要素に対する相対的な

    コンテナ要素に基づく相対的な CSS の単位(cqw, cqh, cqi, cqb, cqmin, cqmax)
    katsush
    katsush 2024/04/22
  • 総務省、6月11日開講の「社会人のためのデータサイエンス入門」受講生募集を開始

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    総務省、6月11日開講の「社会人のためのデータサイエンス入門」受講生募集を開始
  • シン・Kafka / shin-kafka

    2024/04/10に行われたOCHaCafe Season 8-3「シン・Kafka」で使用したスライドです

    シン・Kafka / shin-kafka
  • &(アンドのマーク)は使わない|しじみ |デザインを語るひと

    ビジネスに使えるデザインの話ビジネスにデザインの知識はけっこう使えます。苦手な人も多いから1つ知るだけでもその分アドバンテージになることもあります。noteは毎日午前7時に更新しています。 欧文のルール日人は知らない欧文(主に英語)のルールというものがあります。これは英語の授業でも教えてくれません。それゆえか翻訳者からの原稿にも、このルールに則っていないものがすごく多くあります。 知っておくと何かとアドバンテージになるので少しずつご紹介していきます。ご紹介した欧文のルールはこちらのマガジンにストックしていきます。 「&」の正体正式にはアンパサンド(ampersand)と言います。日では「アンドマーク」と呼ばれていることが多いこの記号。正しい名前は“ampersand”(アンパサンド)です。日でも馴染みのある記号で、企業名などでもよく目にするのではないでしょうか。 情報通信・メディア系

    &(アンドのマーク)は使わない|しじみ |デザインを語るひと
  • 【中級者】書籍「ITプロジェクトの英語」より「知っておくべき英語での言い回し10選」

    ITプロジェクトに関わるプロジェクトリーダー、プロジェクトマネージャー向けの理解しておくべき英語の言い回しが紹介されています。プロジェクトのプロセスに合わせて、ポイントや例文を多数紹介しており、より具体的で活きた英文を学ぶことができます。工数や人日・人月などの表現から、契約締結、共通化、引き継ぎ、遅延、暫定対応、検収、口頭伝達などよく使う表現にポイントを絞って例文を紹介しています。企画、設計、開発から、保守、管理、評価まで、ITプロジェクト全体をカバーしているため、PLやPMの方はもちろん候補となるエンジニアのメンバーも抑えておくとよいでしょう。

    【中級者】書籍「ITプロジェクトの英語」より「知っておくべき英語での言い回し10選」