はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    参議院選挙2025

『zenn.dev』

  • 人気
  • 新着
  • すべて
  • Claude Codeのあるコーディング

    31 users

    zenn.dev/frontendflat

    Anthropicが提供するClaude Codeを使用して、TypeScript製のCLIツールをつくりました。Claude Codeのような自走力の高いAIエージェントとうまくやっていく方法を考えつつ、Notion MPCとの連携といったセットアップの方法を記事にまとめます。 プロジェクトの説明 今回はお試しでつくったのは「cowtodo」という、Markdownファイル内のTODOリストを解析して、cowsayで表示するCLIツールです。 主な機能 Markdownファイル内の - [ ] や - [x] の形式で書かれたタスクを解析 完了/未完了のタスクを分類して表示 cowsayライブラリを使用したアスキーアートによる表示 ファイル監視による自動更新 技術スタック TypeScript Node.js Ink (ターミナルUIの構築) meow (コマンドライン引数の解析) 開発

    • テクノロジー
    • 2025/05/14 00:14
    • 人工知能
    • あとで読む
    • ai
    • プログラミング
    • Conformで作るWeb標準なフォーム

      3 users

      zenn.dev/frontendflat

      Conformの概要 Conformは、RemixやNext.jsのようなフレームワークをサポートしており、クライアントサイドとサーバーサイドのフォームバリデーションを同じ記述で書くことができるライブラリです。RemixやServer Actionsの台頭により、ZennでもConformを紹介する記事がいくつか投稿されています。 今回は「Conformを使うとWeb標準なフォームを作ることになる」という別の観点でConformについて紹介します。ReactではJavaScriptでフォームの状態を管理することが当たり前になっており、仮にフォームのマークアップが正しくなかったとしても入力〜バリデーション〜送信まで機能を作ることができてしまいます。 SPA時代からエンジニアになった自分のようなエンジニアは、正しいフォームのマークアップを知らないことが多いかもしれません。Conformが生成す

      • テクノロジー
      • 2024/06/29 23:09
      • 言語とライブラリ/フレームワークの学習を並行して良いのか? - Reactの例

        3 users

        zenn.dev/frontendflat

        言語とライブラリ/フレームワークの学習を並行して良いのか? 昨今のフロントエンド開発の現場では、ReactやNext.jsなどのライブラリやフレームワークを使うことが当たり前になっています。つまりフロントエンドエンジニアになるためにはライブラリの習得が必須ということです。 そんな事情からライブラリの習得を目標に日々学習に励んでいる人も多いのではないでしょうか。 自分は4年ほどエンジニアとして働いてきて、さまざまなエンジニアを見てきましたが、やはり「ライブラリ/フレームワーク開発をやりたい!」というエンジニアは多いです。 しかしライブラリを正しく扱うためには、そもそも言語自体の深い理解が必要不可欠ということを忘れてはいけません。言語の理解が不十分な状態でライブラリに手を出すと、思ったように理解が進まず成長が鈍化するか、実力がともなっていないフロントエンドエンジニアが誕生します。 個人的には、

        • テクノロジー
        • 2024/02/11 00:36
        • Next.js App Router キャッシュの今

          24 users

          zenn.dev/frontendflat

          先日Vercelから「Next.js App Router Caching: Explained!」というタイトルの動画が公開されていたので、その内容をまとめることでNext.jsのキャッシュの今について整理しておこうと思います。 基本 まずNext.jsでは、静的レンダリングがデフォルトです。RSCを使用していても基本的にはビルド時にページが事前レンダリングされます。これはRoute Handlersも同様です。仮にビルド後にデータを更新してもリビルドしない限り表示は古いままであり、これは静的にレンダリングされていると言えます。 ただし、developmentとproductionでは挙動が異なります。ローカルではコードに変更を加えるたびにデータが再取得・レンダリングされるので、ローカルとビルド後の挙動に違いがあることを理解しておきましょう。 リクエストするたびに最新のデータを取得し表示

          • テクノロジー
          • 2024/01/27 06:57
          • Next.js
          • あとで読む
          • Next.jsの4つのキャッシュ

            3 users

            zenn.dev/frontendflat

            一つ目のReact Cacheは、後述する他の3つのキャッシュの説明のために必要なので紹介しますが、Next.jsの機能ではなくReactの機能です。React Cache以外のキャッシュはNext.jsの機能に当たります。 React Cache 一つ目のキャッシュはReact Cacheによるもので、同一レンダリング内における同じURLとオプションを持つリクエストをメモ化します。React Cacheの役割は、重複リクエストを排除し、リクエスト数を減らすことです。 Next.jsでは、fetchを利用するだけでこれを実現できますし、fetchを使えない場合はReact Cacheを直接使用することで実現できます。 具体的には以下のような挙動を取ります。 特定のリクエストが初めて呼び出される。キャッシュは存在しないのでデータソースへのリクエストを実行し、レスポンスをメモリに保存する。 同

            • テクノロジー
            • 2023/10/27 02:56
            • あとで読む
            • GSAPの基本的な記述をまとめる

              9 users

              zenn.dev/frontendflat

              はじめに JavaScriptのアニメーションライブラリ「GSAP」の基本的な記述や、よく使う機能をまとめたいと思います。 GSAPはとても高機能で基本の部分となる記述を抑えるだけでも、工夫次第でいろんな表現ができます。当記事では触れませんがSVGやcanvasなどと組み合わせるとアニメーションの幅が一気に広がります。また、scrollTriggerやMotionPathPluginなどプラグインもとても充実しています。 基本的な動きを組み合わせたイントロアニメーション ループやリピート制御を組み合わせたエフェクト 連続的な処理 応用:canvasと組み合わせたイントロアニメーション GSAPのインストール

              • テクノロジー
              • 2023/10/01 22:35
              • animation
              • JavaScript
              • css
              • Webデザイン
              • あとで読む
              • useCallbackのユースケース3選

                5 users

                zenn.dev/frontendflat

                自分がReactに入門した頃は、メモ化に対して漠然と難しそうなイメージを持っていました。 今思い返すと「メモ化を使うとキャッシュできるのはわかるけど、具体的にどういうときに使うのかわからない」ような感情をいだいていた記憶があります。 ということで今回はメモ化の中でも関数をメモするuseCallbackを対象に、useCallbackのユースケースは3つしかないという話をします。 memo化されたコンポーネントのpropsにわたす関数 useEffectやuseMemoの依存に含まれる関数 カスタムフック内の関数 ユースケースが3つしかないとわかれば、少なくとも「漠然と難しそう」という状態を脱することができるはずです。 1. memo化されたコンポーネントのpropsにわたす関数 コンポーネントをmemo化すると、propsが変更しないときに再レンダリングをスキップすることができます。 しか

                • テクノロジー
                • 2023/09/30 16:51
                • App RouterにおけるData FetchingとRenderingのバリエーション整理

                  3 users

                  zenn.dev/frontendflat

                  Next.jsでは、App RouterでServer Component(SC)とClient Component(CC)が区別されるようになってから、Data FetchingとRenderingのバリデーションが増えより複雑になりました。 今回はmicroCMSテンプレートを元に、各Data FetchingとRenderingの挙動を整理します。編集する対象ファイルはapp/articles/[slug]/page.tsxとします。 このテンプレートはmicroCMSにログインすることで誰でも使用することができるので、よかったら実際に手元で動作確認をしてみてください。 SCでSG 対象のファイルからrevalidateの記述を削除することで、SCでSGのような挙動を取ります。 export default async function Page({ params, searchPa

                  • テクノロジー
                  • 2023/09/24 11:01
                  • Reactにおけるイベントハンドラの命名規則

                    5 users

                    zenn.dev/frontendflat

                    Responding to Events では、イベントハンドラの追加方法だけではなく、その命名規則についても触れられているので良いですね。 今回はそれを紹介します。 基本的な命名規則 Have names that start with handle, followed by the name of the event. By convention, it is common to name event handlers as handle followed by the event name. You’ll often see onClick={handleClick}, onMouseEnter={handleMouseEnter}, and so on. By convention, event handler props should start with on, followe

                    • テクノロジー
                    • 2023/09/06 13:01

                    このページはまだ
                    ブックマークされていません

                    このページを最初にブックマークしてみませんか?

                    『zenn.dev』の新着エントリーを見る

                    キーボードショートカット一覧

                    j次のブックマーク

                    k前のブックマーク

                    lあとで読む

                    eコメント一覧を開く

                    oページを開く

                    はてなブックマーク

                    • 総合
                    • 一般
                    • 世の中
                    • 政治と経済
                    • 暮らし
                    • 学び
                    • テクノロジー
                    • エンタメ
                    • アニメとゲーム
                    • おもしろ
                    • アプリ・拡張機能
                    • 開発ブログ
                    • ヘルプ
                    • お問い合わせ
                    • ガイドライン
                    • 利用規約
                    • プライバシーポリシー
                    • 利用者情報の外部送信について
                    • ガイドライン
                    • 利用規約
                    • プライバシーポリシー
                    • 利用者情報の外部送信について

                    公式Twitter

                    • 公式アカウント
                    • ホットエントリー

                    はてなのサービス

                    • はてなブログ
                    • はてなブログPro
                    • 人力検索はてな
                    • はてなブログ タグ
                    • はてなニュース
                    • ソレドコ
                    • App Storeからダウンロード
                    • Google Playで手に入れよう
                    Copyright © 2005-2025 Hatena. All Rights Reserved.
                    設定を変更しましたx