並び順

ブックマーク数

期間指定

  • から
  • まで

761 - 800 件 / 2778件

新着順 人気順

*JavaScriptの検索結果761 - 800 件 / 2778件

  • フロントエンドパフォーマンスの変遷とNext.jsに見る次の時代

    こちらのイベントのLT登壇資料です。 https://ochacafe.connpass.com/event/308830/ 登壇後、資料内の論理展開を登壇者の判断で改善しております。以下は登壇時からの主な修正点です。 ・レガシーMPAについて、FCPのみに着目して初回表示が遅いとしてい…

      フロントエンドパフォーマンスの変遷とNext.jsに見る次の時代
    • 結局 useEffect はいつ使えばいいのか

      useEffectはReactの中でも扱いの難しいフックとして知られています。Reactで開発を行う中でuseEffectを検討するタイミングや適切な使い方について悩んだ経験のある方も多いのではないでしょうか。 本記事では、useEffectの目的を把握し、どのような場合にuseEffectの使用を検討すべきかについて考えていきたいと思います。 コンポーネントの純粋性と副作用 まずuseEffectについて考える前に、コンポーネントの純粋性について理解する必要があります。Reactにおいて純粋性は重要な概念の1つです。 前提として、Reactではすべてのコンポーネントが純関数であることを仮定しています。 Reactは、あなたが書くすべてのコンポーネントが純関数であると仮定しています。 参照:https://ja.react.dev/learn/keeping-components-pure

        結局 useEffect はいつ使えばいいのか
      • 書評:これからはじめるReact実践入門 - ナカザンドットネット

        明日、2023/9/28に発売する「これからはじめるReact実践入門」を献本いただきましたので、簡単に目を通した感想を書こうと思います。 これからはじめるReact実践入門 目次 目次 かなり網羅性が高い 足りない情報があったら プロを目指す人のためのTypeScript入門 Next.jsについて、次に読む本はありますか? 補足したいところ Create React Appを使わない選択肢もある Recoilさんは開発状況がちょっと心配 React Routerの知識が活きるアプリケーションフレームワークもある まとめ おまけ 2023.9.28 10:36追記 かなり網羅性が高い パラパラと読んでみて感じたのは、かなり手広く、それでいて一定の深みもある本だということです。出版社のサイトにある目次を見てみましょう。 Chapter 1 イントロダクション 1-1 ReactとJavaS

          書評:これからはじめるReact実践入門 - ナカザンドットネット
        • Pandasはもう古い?2026年のPythonデータ分析ライブラリを整理してみた - Qiita

          はじめに Pythonを使い始めてはや十数年。他の言語も覚えないと思いつつ、研究、PoC用途で使う、簡単な解析や簡単なシミュレーションに使ってきました。 表計算で広く使われるPandasですが、Pandasを最近あまり使わなくなったというSNSの投稿をみて、使用するライブラリが変化しているのかなと思い調べる事にしました。 現状困っていないのですが、早めに対応しておかないと後で困る事もあるかと、LLMを使いながら調べてみました。 最近は、LLMに聞けば使い方がすぐに出てくるので、新しいライブラリの参入コストも低くなってきていますよね。 単に整理しただけなので、速度比較はしていません。 ※【Python】Pandas/Polars/duckDB/NumPyで簡単なベンチマークテストをしてみたという別記事で簡単なベンチマークテストを行いましたので、気になる方は見てください。 結論としては、データ

            Pandasはもう古い?2026年のPythonデータ分析ライブラリを整理してみた - Qiita
          • Makefileの代わりにnpm scripts+zxを使う - 詩と創作・思索のひろば

            そこそこの規模があるプロジェクトで実行すべきタスクを定義するとき、初手として Makefile を使いがち。 Pros make は事実上どんな環境にもあることを期待してよい シェルで実行されるコマンドをそのまま書ける タスクの依存関係が明示できる Cons make では positional arguments が使えない 少し複雑なことをしようとすると Makefile 専用の文法を覚える必要がある 現代では、ファイルベースのタスクの依存関係は make が発明されたころほどは必要ではない Docker とか Go とか Webpack がよしなにしてくれることが多い 例: docker compose のラッパー ちょっとしたコマンドのラッパーを書きたいことがある。Makefile を書きはじめたらすべてのエントリポイントを make にしたい。ということで、以下のような Make

              Makefileの代わりにnpm scripts+zxを使う - 詩と創作・思索のひろば
            • 買ってくれるなら誰でもいいわけじゃない。梅宮アンナさんが「父の愛した家」を手放すまでの葛藤 - 【SUUMO】住まいの売却ガイド

              2019年12月に父・梅宮辰夫さんを亡くした梅宮アンナさん。「父が大切にしていた家を受け継ぐことが供養になる」と、東京の賃貸物件を引き払い、辰夫さんが35年以上前に建てた神奈川県真鶴町の別荘に移住しました。 ところが暮らし始めてみると、年間約190万円にのぼる維持費、快適に暮らすためのリノベーション代、終わりが見えない修繕にかかる費用など、厳しい現実があったといいます。 アンナさんの最終的な決断は「家じまい」。相続から家の売却という結論に至るまでの経緯、思い入れのある家を手放した今の気持ちを聞きました。 亡くなった後に“親の全て”を知ることへの葛藤 ――2019年12月に父・梅宮辰夫さんがお亡くなりになりました。相続は「悲しむ暇もないくらい大変だった」そうですが、振り返ってみて、どんな期間でしたか? 梅宮アンナさん(以下、アンナ):大変でしたけど、泣く時間もないことが結果として救いになった

                買ってくれるなら誰でもいいわけじゃない。梅宮アンナさんが「父の愛した家」を手放すまでの葛藤 - 【SUUMO】住まいの売却ガイド
              • 加速するコンポーネント設計入門 / Component Design as an Accelerator

                社内勉強会用 デザイナーとフロントエンドエンジニアの境界をなくし、UI開発を加速させるためのコンポーネント設計入門 ※フロントエンドエンジニア視点 [Keywords] - 共通認識としてのデザインシステム - 共通認識としてのコンポーネント設計

                  加速するコンポーネント設計入門 / Component Design as an Accelerator
                • ここんところのWeb界隈についての主観的記録

                  将来、当時(2026年当初)のWeb界隈ってこんな感じだったよな、というのを振り返られるよう残しておく備忘録です。あくまで一当事者が感じた主観的なことを綴っています(客観的なことは残りやすいと思うのであえて主観的なことを)。それってつまり私の感想です。 JSフレームワーク戦争はReactの勝利 React vs Vue.jsのJSフレームワーク戦争はReactの勝利に終わった。(Reactはフレームワークではなくライブラリと自称しているけども。) これからReactとVueどちらを勉強したらいいですか、と聞かれたら事情がなければReactを先に学びなさいと答える。Reactを使った案件も多いし、フロントエンドエンジニアとしても武器になる。 プロダクトとしてもReactを採用する方が扱える人や知見も集まるのでReactを採用した方が有利で、その結果としてエンジニアもReactを選択するので正

                    ここんところのWeb界隈についての主観的記録
                  • 共同編集アプリが作れる新しいJSライブラリ「Loro」を紹介 - ICS MEDIA

                    Google DocsやFigmaのような複数人が同時編集できるアプリケーションを作るためには「ロックフリー」な共同編集の技術が必要です。誰かが文字を入力するたびにサーバーの更新完了を待つわけにはいきませんが、だからといって各自が好き勝手にデータを書き換えてしまうとテキストが混ざったり他のユーザーのアイテムを消してしまったり、さまざまな問題が発生するためです。 この問題を解決するための代表的なアルゴリズムがCRDTで、CRDTをベースに共同編集機能を提供するメジャーなJSライブラリがYjsです。CRDTとYjsについては以前の記事『共同編集を支える技術とライブラリの活用』でも紹介しており、ICSではYjsを利用した開発も行っています。 このYjsの有力なライバルとして、2024年に正式リリースされたのがLoro(ロロ:スペイン語でオウム)です。後発だけに、これまで実装が難しかった便利な機能

                      共同編集アプリが作れる新しいJSライブラリ「Loro」を紹介 - ICS MEDIA
                    • Axios 使うのやめたらビルドサイズが 10 KB 減って、なんか知らんがパフォーマンスも良くなった話

                      この記事について Zenn では長らく通信処理に Axios を使っていました。 しかし、Fetch API が多くのモダンブラウザなどで普通に使えるようになった今、使う必要性があまり無くなったため、Axios を使っている処理を全て Fetch API に置き換えることになりました。 この記事では、その置き換え作業をどう進めていったのか、その結果どう良くなったのかを解説していこうと思います 🗽 解説より置き換えた結果を知りたいのよ私は!!! って方が居るかと思いますので、最初に置き換えたことで良くなった部分を紹介しようと思います。 まず一番良くなったところといえば、ずばりサイト全体のビルドサイズが 10 KB も減りました。( ちなみに、10 KB は圧縮時のサイズで、圧縮しない場合 100 KB になります 😇 ワーオ ) グローバルのビルドサイズが 103.35KB gzip 時

                        Axios 使うのやめたらビルドサイズが 10 KB 減って、なんか知らんがパフォーマンスも良くなった話
                      • 100秒で理解するPromise

                        そもそも非同期処理とは? Promiseについて知るためには、まず非同期処理について知っておく必要があります。 以下の動画で、非同期処理について100秒で解説しているので、そもそも非同期処理をよく知らないなぁという人はぜひ確認してみてください! Promiseとは では、本題です。 Promiseとは、ES2015で導入された、非同期処理の状態や結果を表現するオブジェクトのことです。 PromiseはES2015で導入された非同期処理の状態や結果を表現するビルトインオブジェクトです。 非同期処理はPromiseのインスタンスを返し、そのPromiseインスタンスには状態変化をした際に呼び出されるコールバック関数を登録できます。 jsprimer - 非同期処理:Promise/Async Function 例えば、出前アプリでピザを注文することをイメージしてみましょう。 ピザを注文すると、

                          100秒で理解するPromise
                        • ブラウザ用漫画ビューアーライブラリ「ToraViewer」を公開しました - 虎の穴ラボ技術ブログ

                          こんにちは。虎の穴ラボのはっとりです。 ブラウザ用漫画ビューアーライブラリ 「 ToraViewer 」 を公開したので紹介したいと思います。 https://www.npmjs.com/package/@toralab/tora-viewer github.com はじめに この記事では、ToraViewerの利用方法とToraViewerが利用している技術についてを紹介していきます。 ToraViewerで何ができるのか ToraViewerは漫画や写真集などの画像一覧を電子書籍のような形式で閲覧できるライブラリです。 デモページから実際の動作を確認することができます。 Tora Viewer デモ ToraViewerデモ 画面サイズにより自動的に1ページ表示と見開き表示が切り替わります。 また、利用ユーザーが歯車ボタンから任意のスタイルに変更できます。 ToraViewerの使い方

                            ブラウザ用漫画ビューアーライブラリ「ToraViewer」を公開しました - 虎の穴ラボ技術ブログ
                          • JavaScriptの非同期処理をじっくり理解する (4) AbortSignal, Event, Async Context

                            対象読者と目的 非同期処理の実装方法は知っているが、仕組みを詳しく知らないのでベストプラクティスがわからないときがある 実行順序の保証がよくわからないので自信をもってデプロイできない変更がある より詳しい仕組みを理解することでより計画的な実装をできるようになりたい という動機で書かれた記事です。同様の課題を抱える人を対象読者として想定しています。 目次 実行モデルとタスクキュー Promise async/await AbortSignal, Event, Async Context WHATWG Streams / Node.js Streams (執筆中) 未定 中止処理 並行処理ではしばしば実行中の処理を中止したい場合があります。 古典的なキャンセル処理 Webブラウザ/Node.jsともに、 setTimeout の中止が可能です。 const timeout = setTimeo

                              JavaScriptの非同期処理をじっくり理解する (4) AbortSignal, Event, Async Context
                            • 小さなゲームを作るとして、ターゲットデバイスと開発環境、何向けに何で作るのがいいんだろう - ABAの日誌

                              じゃあ小さなゲームを作ってみようか、と思ったときに、まず考えないといけないことの一つに、PC、スマホ、ゲーム機などなど、どのデバイスで動くゲームを作るかということがある。 特にこだわりがないのであれば、PCのWebブラウザ向けのゲームを作るのがおススメだ。今のブラウザは様々な開発環境で開発されたゲームを動作させるためのプラットフォームとして成熟しているし、他の人にプレイしてもらうにも、ネット上のURL告知からシームレスに遊んでもらえてお手軽だ。 ゲーム作りを楽しむ、という面では、どの開発環境・プログラミング言語・ゲームエンジンでゲームを作りたいか、から考える手もある。これについては小さなゲームだからどうこう、ということは特になくて、自分の好みで決めて良いと思う。ただ、重厚な3Dゲームを主なターゲットとしているUnreal Engineなどは小さなゲームを作るにはリッチすぎる、などは考慮して

                                小さなゲームを作るとして、ターゲットデバイスと開発環境、何向けに何で作るのがいいんだろう - ABAの日誌
                              • 今、React Nativeがアツいらしい

                                なんだか最近React Nativeに関する投稿が増えている気がしますね。 筆者も本投稿を準備していたところ、先に投稿が増えてきたので二番煎じ感が否めませんが、少し俯瞰的な整理としてご覧いただければと思います。 React Native界隈は近年盛り上がってきていて、特にExpo関連の進化を中心に、パフォーマンスも開発効率も大幅に改善されてきています🔥 具体的にどのように盛り上がっているのか、 React Conf 2024のKeynote(Day 2) がYoutubeで公開されており、非常に分かりやすくまとまっていました。 本記事はこの動画の流れに沿って、見どころをチャプターで切るように紹介しながら、関連情報やその後のアップデートの話もできればと思います。 ※React Conf 2024は5/15・16に開催されたものです 動画前半: React Nativeがいかに盛り上がってい

                                  今、React Nativeがアツいらしい
                                • JavaScriptライブラリ「Polyfill.io」にマルウェアが混入され10万以上のサイトに影響

                                  ウェブブラウザのバージョン間の違いを無効化するJavaScriptライブラリ「Polyfill.io」が、2024年2月のプロジェクトオーナー変更後、マルウェアが混入されてサプライチェーン攻撃に利用され、10万以上のサイトに影響が出ています。 Polyfill supply chain attack hits 100K+ sites https://sansec.io/research/polyfill-supply-chain-attack 「Polyfill.io(polyfill.js)」はアンドリュー・ベッツ氏が開発したJavaScriptライブラリです。ウェブブラウザのバージョン間で機能の違いがあると開発時に苦労しますが、Polyfill.ioを利用すれば、新しいバージョンにしかない機能を古いバージョンで利用できるようになるため、バージョンの違いを気にすることなく開発を進めること

                                    JavaScriptライブラリ「Polyfill.io」にマルウェアが混入され10万以上のサイトに影響
                                  • サクッと始めるウェブアプリ開発【Next.js / TypeScript】

                                    この本では、初心者・入門者の方に向けて、Next.jsの知識や使い方を体系的にまとめました。 【概要】 ・内容:HTML・CSS・JavaScriptとは?、Next.jsとは?、アプリを作る上での環境を整えよう!、Next.jsのプロジェクトを作ろう!、チャットアプリのパーツを作ろう!、オウム返しAPIを作ろう!、MUIを使ってリッチにしよう!、Vercelにデプロイしよう!、【余談】Joy.uiによるUIの変更 ・所要時間:約3時間 ・必須条件:HTMLの知識、CSSの知識、JavaScriptの知識 ・推奨OS:macOS / windows(WSL2) ・レベル:★★☆☆☆

                                      サクッと始めるウェブアプリ開発【Next.js / TypeScript】
                                    • CSSでスクロールバーの有無によるがたつきをなくす: Days on the Moon

                                      この記事はCSS Advent Calendar 2022の9日目の分です。 CSSのボックスモデルにおいては、ボーダーの内辺とパディングの外辺の間にスクロールバーが配置されます。最近はどのOSでもオーバーレイスクロールバー(スクロールバーが内容の前面に覆いかぶさるようなもの)が主流となり、スクロールバーが存在してもしなくても内容の幅が変わらないようになっています。一方、クラシックスクロールバー(スクロールバーが常に表示されるようなもの)が使われる環境では、overflow: autoな要素において内容がはみ出すときとはみ出さないときで内容の幅が変わってきます。 クラシックスクロールバーが使われる環境でも内容の幅を一定に保ちたいという場合は、scrollbar-gutterプロパティを使います。scrollbar-gutter: stableを指定すれば、スクロールバーが表示されないときで

                                      • JavaScript PrimerのNotebookLMが利用可能になりました!

                                        JavaScript PrimerのNotebookLMが利用可能になりました。 NotebookLMは、Googleが提供するAIを活用したノートブック環境で、登録したソースに対して質問をしたり、情報を検索したりすることができます。 次のリンクから、JavaScript PrimerのNotebookLMにアクセスできます。 📖 JavaScript Primer - 迷わないための入門書 - NotebookLM JavaScript Primer on NotebookLM JavaScript PrimerのコンテンツがNotebookLMに入ってることで、読者は書籍の内容についてNotebookLMに直接質問したり、Podcastとして音声で聞いたりすることができるようになります。 NotebookLMを活用することで、JavaScript Primerを読み進める中で生じた疑

                                          JavaScript PrimerのNotebookLMが利用可能になりました!
                                        • `*.d.ts` ファイルをコミットする前に知ってほしい4つのこと

                                          export type Bookmark = { id: number; url: string; comment: string; }; このファイルには型しか書いてありませんね。ということは、「型定義ファイル」として bookmark.d.ts という名前にするべきでしょうか。実はそうではなく、この場合は bookmark.ts とするべきです。 「型定義ファイル」とは、「どこか別の場所にある実装に型をつけるためのファイル」です。たとえば、以下のファイルは「どこか別の場所にある実装」に型をつけているから、 *.d.ts にするのは自然です。 いっぽう、 type Bookmark は別のどこかにある *.js の型を与えているわけではないので、 *.ts でよいです。 このように本来 *.ts であるべきものを *.d.ts にしてしまうことには問題があります。代表的な問題として型エラ

                                            `*.d.ts` ファイルをコミットする前に知ってほしい4つのこと
                                          • UUIDを短くするライブラリを作った

                                            のように、22文字の短くてスッキリしたIDに変換できます。 これを簡単に行うためのライブラリ「uuid58」を作成しました。 追記: また、これを簡単に試すためのウェブサイトも作成しました! 本記事ではuuid58を作った背景や使い方、特徴を紹介します。 動機 データベースの主キーにUUIDを使うことは多いですが、UUIDは36文字(ハイフン込み)と長く、URLに埋め込むと見た目も悪くなりがちです。 「短くしたい!」と思ってBase64エンコードを考える人も多いですが、Base64は/や+、=などURLで使いにくい文字が含まれてしまいます。 そこで、Bitcoinでも使われているBase58(視認性の悪い文字を除外したアルファベット)でエンコードすれば、 22文字に短縮できる URLセーフ 見た目もスッキリ 0とO、Iとlのような区別しづらい文字が除外されている ダブルクリックで選択可能

                                              UUIDを短くするライブラリを作った
                                            • Pythonの非同期処理でasync/awaitがつらい人はWoveを使ってみてはどうだろう? #こまPy|Atsushi Shibata

                                              Pythonの非同期処理でasync/awaitがつらい人はWoveを使ってみてはどうだろう? #こまPy みんなのPython 第5版発売中です!Pythonで非同期処理というと標準のasyncioを使ってasync / awaitなコードを書くことを思いつく人が多いと思います。ただasyncioには独特の「つらみ」があって、嫌いな人がいるのです。私もあんまり好きじゃない。この「つらみ」を解消しうるライブラリWoveを紹介します。最近バージョン1.0がリリースされたので、紹介したいと思います。なお、はてブでホットエントリ入りしたので(ブックマークしてくれたみなさん、ありがとうございます!)、他のasyncio様のライブラリを比較表を追記しました。 asyncはなぜつらいのか?Pythonのasyncioは、I/O待ちの多いプログラム(WebアクセスやDB通信など)を効率化する強力な仕組み

                                                Pythonの非同期処理でasync/awaitがつらい人はWoveを使ってみてはどうだろう? #こまPy|Atsushi Shibata
                                              • 初心者大学生が作った機械学習ライブラリがGitHubでスター数300を超えた話 - Qiita

                                                この記事について この記事では、プログラミング初心者の大学生である(であった)私が試行錯誤しながらなんとかスター数300越えのOSSライブラリを作った過程をまとめたものです。ライブラリ自体はまだまだ発展中のためこの記事も適宜更新してく予定です。ライブラリ自体の詳細というよりも、自作OSSの認知度を上げで他の人に使ってもらうために有用そうな知見をまとめていこうと思います。 ライブラリの概要 今私が作っているのは、AIJackという、機械学習モデルがもつセキュリティ・プライバシー上の脆弱性についての各種攻撃・防御手法を実験するためのPythonツールです。既存のライブラリの多くは特定の種類の攻撃や防御に特化したものが多く、複数のタイプの攻撃・防御を組み合わせて実験するためにはいくつものライブラリを組み合わせる必要がありました。そこでAIJackでは、できる限り統一的なAPIで様々な攻撃・防御手

                                                  初心者大学生が作った機械学習ライブラリがGitHubでスター数300を超えた話 - Qiita
                                                • 個人開発OSSが世界に勝てなかった話

                                                  ゆーすけべー氏の「OSSで世界と戦うために」にインスパイアされました。5年間pyserdeというOSSのライブラリを開発・メンテしてきた筆者が、ちょっとだけ世界と戦ってみたけど全然勝てなかったという話です。Honoとはプロダクトの規模も開発にかける情熱も全然違うけど、単純にポストモーテムは読み物として面白いかなと思ったので書いてみます。また、5年間の開発で学んだやってよかったことや失敗などもシェアできればと思います。 pyserde pyserdeは筆者が2019年から開発メンテナンスしているOSSで、RustのserdeというライブラリにインスパイアされたPython用のシリアライゼーションフレームワークです。 以下のようにクラスを定義すると、型アノテーションに基づいたデータ変換やバリデーションのコードが内部的に生成され、強い型付けのクラスを生成することができます。強い型付けのクラスはラ

                                                    個人開発OSSが世界に勝てなかった話
                                                  • 初心者が言語モデルを勉強するための本(2023年6月版) - ぱたへね

                                                    流行のLLMを勉強したくて沢山本を読みました。 この後もしばらくLLM(GPT)関係の出版が続きそうなので、現状の本でまとめてみました。 参考: nowokay.hatenablog.com まとめ。 Transformerの仕組みを知りたい人で、画像のDeep Learningなら分かるって人はVision Transformer入門 言語モデルをデータセットを作る所からやってみたい人には、作ってわかる! 自然言語処理AI とにかくすぐに動かしたい人には、機械学習エンジニアのためのTransformers ビジネス的に何ができるのかを知りたい人はBERT入門 Vision Transformer入門 Vison Transformerになっていますが、Transformerの説明がとても詳しくお勧めです。実際に写経してパーツパーツで動かせるのはこの本だけ。Transformer一点突破な

                                                      初心者が言語モデルを勉強するための本(2023年6月版) - ぱたへね
                                                    • JAXAが公開したMCPサーバーを触ってみる

                                                      JAXA第一宇宙技術部門のX(旧Twitter)アカウントから地球観測データを生成AIから呼び出せるようになったという投稿がありました。 公式ドキュメントを見ると、ローカルMCPサーバーを公開しているようです。 公式ドキュメントではpipを用いて環境を構築していますが、多くのMCPサーバーはuvで環境を構築している印象が個人的にあるため、この記事ではuvで動かしていきたいと思います。 ※ 個人的な備忘録として執筆しています。 想定している読者 Claude Desktopで一度はローカルMCPサーバーを使ったことある方 何だかよく分からないけど、Claude Desktopで地球観測データを呼び出してみたい方 → MCPサーバーやuvを用いた環境構築などは既に様々な記事があるので、そちらをご覧ください。 JAXA Earth APIとは? JAXA Earth API は、JAXAが公開し

                                                        JAXAが公開したMCPサーバーを触ってみる
                                                      • DHH氏がRails 8の新機能を解説。Redisなど不要になり、SQLite対応でよりシンプルな構成に。Rails World 2024

                                                        DHH氏がRails 8の新機能を解説。Redisなど不要になり、SQLite対応でよりシンプルな構成に。Rails World 2024 9月26日と27日の2日間、カナダのトロントで開催されたRails World 2024の基調講演で、Ruby on Rails(以下Rails)の作者であるDHH(David Heinemeier Hansson)氏が「Rails 8」の主な新機能を紹介しました。 The #RailsWorld 2024 Opening Keynote with @dhh is now online. Rails 8 beta shipped with Authentication, Propshaft, Solid Cache, Solid Queue, Solid Cable, Kamal 2.0, and Thruster. #NoPaaS needed in

                                                          DHH氏がRails 8の新機能を解説。Redisなど不要になり、SQLite対応でよりシンプルな構成に。Rails World 2024
                                                        • Tailwind.cssとAlpine.jsで作られた161ものUIやレイアウトを無償公開している・「Windstatic」 - かちびと.net

                                                          WindstaticはTailwind.cssとAlpine.jsで作られた161ものUIやレイアウトを無償公開しているWebサイトです。 UI、というかセクション単位でカテゴライズされていて、ヒーローイメージのブロック、特徴を紹介するブロック、フッター、CTAや値段表などに分けられ、それぞれにいくつかのレイアウトを用意、コードをコピーできるようになっている、という感じです。 スタイルは一貫したもので統一されているので自由に組み合わせても、見た目はある程度はチグハグにならず整えられたサイトが出来上がるかなと思います。 利用にあたりユーザー登録も不要で自由に利用できるみたいです。 Windstatic

                                                          • SSRで認証をどうするべきか?

                                                            既存プロジェクトにNext.js等のSSRを導入する場合は既存の認証機能を維持したり活かしたりする必要があります。しかしSSRの認証とCSR(SPA)の認証は同じではなく、簡単に共有できるものではありません。 ここでは複数のテックブログの事例を見ながら、この難しさと本物のウェブサービスで採用された解決策を見ていきます。 CSRとSSRの認証の違い まず最初に、CSR(SPA)とSSR[1]の認証の違いをざっくり紹介します。技術的制約を理解していただくことが目的です。 クライアント視点では、認証システムは突き詰めると、トークン(鍵)[2]を安全に保管し、必要時にサーバに渡す(鍵穴に差し込む) ことです。この2つに絞って解説します。[3] https://www.flaticon.com/free-icons/vault (by IYIKON) https://www.flaticon.com

                                                              SSRで認証をどうするべきか?
                                                            • 俺の管理画面 2023年冬 - KAYAC Engineers' Blog

                                                              面白法人カヤック技術部の谷脇です。私は元気です。 この記事は面白法人グループ Advent Calendar 2023の5日目のエントリーです。 というわけでこの記事では、現環境(私が取り組んでいる業務のこと)ベストの管理画面の技術選択について考えたことを書き連ねていきます。 前提知識 管理画面の定義 ここで読者と私の目線を合わせるため、この記事上での管理画面の定義をしておきます。 管理画面はサービスの運営上必要な操作やデータの閲覧をまとめたWebアプリケーションです。また、このWebアプリケーションは一般ユーザーには開放されておらず、サービス運営者側のみ閲覧と操作が可能となっている、とします。 管理画面を作る動機 ここではTonamelの管理画面について、考えて導入したことを書きます。 tonamel.com Tonamelはゲーム大会やイベントを開催するためのプラットフォームです。We

                                                                俺の管理画面 2023年冬 - KAYAC Engineers' Blog
                                                              • モダンなjQueryに挑戦してみよう

                                                                最初にこの記事を書いた時点では、jQueryでTypeScript, バンドラー, ES module, そしてmoduleを使ったビジネスロジックの分離を使ったものは現場で見たことはないと述べました。その後、これをすべて使っている現場があることも発見したので、本記事を修正しました。 用意したもの 例によって、デモコードをGitHubに公開しました。 今回作るのは下記のリンクにあるUIです。 電車の料金を計算するUIです 入力: ユーザが入力する項目 通常席かファーストクラスか 乗客の人数 割引率 出力: 画面で変化する項目 通常席かファーストクラスかのボタンの表示 単価 合計金額 jQueryが得意とするちょっとしたUIの動的アップデートではなく、ブラウザでステートとビジネスロジックを持たせるものを作っています。考えずに作るとスパゲッティーコード化しやすいものです。 複雑になりやすいUI

                                                                  モダンなjQueryに挑戦してみよう
                                                                • Qwen3 Coderがかなり使える件について

                                                                  はじめに 1週間くらい前にリリースされたQwen3 CoderがOpenRouterにてqwen3-coder:freeとして使えるので試してみた。 Hugging Faceでいえばこのモデル ちなみにQwenはAlibabaが開発しているオープンソースのLLMモデル。 結論から言うと相当使える、無料でこれ(ただしRate Limitあり)というのは単純にヤバい。 使い方 Claude-Code風に使いたい場合は、qwen-codeライブラリを利用する(このライブラリはちなみにまんまgemini-cliの実装を利用している) インストール方法

                                                                    Qwen3 Coderがかなり使える件について
                                                                  • フロントエンドテストにおける知見の宝庫を発見!「javascript-testing-best-practices」

                                                                    はじめに JavaScriptにおけるテストのベストプラクティスをまとめた「javascript-testing-best-practices」というGitHubレポジトリが大変勉強になったため、特に参考になった内容をまとめて共有したいと思います。 (補足)本レポジトリにはfrontendのみならずbackendのテストに関する情報もありますが、今回はfrontendに焦点を当てて共有します。そのため扱うSectionは以下の4つです。 Section 0: The Golden Rule Section 1: The Test Anatomy Section 3: Frontend Section 4: Measuring Tests Effectiveness 想定読者 フロントエンドの実装はできるが、テスト経験はない方 テストに対して解像度が低い方 これからテストを学びたいと思ってい

                                                                      フロントエンドテストにおける知見の宝庫を発見!「javascript-testing-best-practices」
                                                                    • ブラウザで動作する地理空間データ処理ライブラリとして DuckDB-wasm を使い、 SQL を TypeScript で管理する仕組みを作る - newmo 技術ブログ

                                                                      newmo では、地図データや地理情報を扱う場面が多くあります。 たとえば、タクシーやライドシェアでは、営業区域のような営業していいエリアといった地理的な定義があります。 また、乗り入れ禁止区域のようなタクシーが乗り入れてはいけないエリアといった定義も必要になります。 これらの地理に関する定義は GeoJSON のような地理情報を扱うデータ形式で管理されることが多いです。 しかし、GeoJSONなどの定義をテキストとして手書きするのは困難です。 そのため、地図上に区域を作図するエディタやその定義した区域が正しいかをチェックするような管理ツールが必要です。 管理ツールは、ウェブアプリケーションとして作った方が利用できる環境が広がります。 このような地理情報は一度に扱うデータが多かったり、空間的な計算処理が必要になるため、専用の仕組みを使うことが多いです。 このような技術を、地理情報システム(

                                                                        ブラウザで動作する地理空間データ処理ライブラリとして DuckDB-wasm を使い、 SQL を TypeScript で管理する仕組みを作る - newmo 技術ブログ
                                                                      • 土地家屋調査士は昔の人の尻拭いをしている 〜庚申待・第二夜〜

                                                                        江戸時代に流行した徹夜イベント「庚申待」をやってみるという記事の二話目です。土地家屋調査士の仕事は昔と今をすり合わせるという話と、仙川という街の話。 庚申待というイベントをやってみている 庚申待(こうしんまち)は、60日に一度ある庚申の日にみんなで徹夜をするという江戸時代に流行したイベントだ。 それが楽しそうだということで、みんなでJOYSOUNDのVIPルームを借りて、庚申待と称して一人ずつ話をしようということになったというのが前回の記事だ。 平安時代から続く徹夜イベント「庚申待」をやってみた ここまでの話の内容はこんなふうだった。 ・庚申待ちってそもそも何? ・民俗学者によるお酒の話 ・珍しい庚申塔コレクション 今回は、土地家屋調査士の話、そして東京にある仙川という街の話だ。会場は引き続きJOYSOUND 品川港南口店のVIPルームである。 小金井さんによる土地家屋調査士の話 左が小金

                                                                          土地家屋調査士は昔の人の尻拭いをしている 〜庚申待・第二夜〜
                                                                        • 古典ドメインモデルパターンの解脱

                                                                          古典的なDDD/クリーンアーキテクチャを採用したJava Webアプリケーションで生じる「モデル増殖」「詰め替え過剰」「ドメインモデルの肥大化」という問題を診断し、Always-Valid LayerとRaohによるデコーダ合成で解消する設計を解説する。本書は無料です。内容が役に立ったと感じたら、本書で使用しているライブラリ Raoh(https://github.com/kawasima/raoh)にスターを付けたり、実際のプロジェクトで試してみたりしていただけると励みになります。

                                                                            古典ドメインモデルパターンの解脱
                                                                          • 三井住友銀行のインハウスデザイナーにプロジェクト推進術を学ぶ。若いチームが大組織を動かすコツとは - ミーツキャリアbyマイナビ転職

                                                                            会社の中で新しい企画やプロジェクトを提案したものの、「前例がない」「うちでは難しい」などと一蹴されてしまった経験はないでしょうか? いつの時代も、組織は「過去」に支配されるもの。特に大企業ともなれば先例や慣習などの影響力が強く、何かを大きく変えることはなおさら困難に思えます。難攻不落の組織をどうすれば動かせるのでしょうか。 そのヒントになりそうなのが、三井住友銀行(SMBC)で2016年から始まった「インハウスデザイナー」たちの取り組みです。それまですべてのプロダクトのデザインを外部パートナーに委託していたSMBCが、初めて社員として3名のデザイナーを採用。しかし、当時は社内でデザインの価値が十分に理解されておらず、インハウスデザイナーがフルにパフォーマンスを発揮できる環境ではありませんでした。 そんな厳しい状況下でも、地道にデザインの価値を浸透させ、徐々に社内で信頼を獲得。2019年の三

                                                                              三井住友銀行のインハウスデザイナーにプロジェクト推進術を学ぶ。若いチームが大組織を動かすコツとは - ミーツキャリアbyマイナビ転職
                                                                            • 定番のコード規約とライブラリから学ぶJavaScriptの命名テクニック(初級編) - ICS MEDIA

                                                                              プログラミングをしているとき、変数名や関数名の命名に迷ったことはないでしょうか? 時間をかけて考えた変数名や関数名を後で見返したときに何の処理なのかわからないと思ったり、他の人が書いたコードを理解するのに時間がかかった経験は誰でもあると思います。 一般に、プログラマーはコードを書いている時間より読んでいる時間の方が長いと言われています。 わかりにくい命名はコードを読んでいる時間を長くしたり、バグを生む原因になってしまいます。 この記事ではGoogleやAirbnbといった企業が採用しているスタイルガイドや、世界中で使われているJavaScriptライブラリであるReactとVue.jsのコードを調査する中で見つけた、わかりやすい命名をするためのテクニックを初級編と上級編の2回に分けて紹介します。 初級編では、実際に仕事をする中でよく目にしたり自分でも使うことの多いものなど、すぐに使えるテク

                                                                                定番のコード規約とライブラリから学ぶJavaScriptの命名テクニック(初級編) - ICS MEDIA
                                                                              • React で Modal や Confirm の実装を簡単にする react-call というライブラリがアツい!!!

                                                                                タイトルの通り、めちゃくちゃ良さげなライブラリ react-call を見つけたので紹介するコーナー 実際の動きはわかりやすいデモページがあるので見てください👍 react-call とは react-call がもたらす効果は「ReactComponent を手続き的に処理できるようにする」というのが私の理解です。 これが何を意味するのかというと、Modal や Confirm のような「別のコンポーネントから任意のタイミングで呼び出したい(≒表示したい)」また「その結果(≒値など)を受け取りたい」というごく一般的な要件をシンプルに解決します🙌 詳しく見ていきましょう! window.confirm との比較 下記は README にある例です。

                                                                                  React で Modal や Confirm の実装を簡単にする react-call というライブラリがアツい!!!
                                                                                • エラーや非同期処理をより安全に扱うための TypeScript ライブラリ Effect-TS

                                                                                  Effect-TS(正式名称は Effect)は、開発者が複雑なエラーや非同期処理をより安全に開発できるようにすることを目的とした TypeScript ライブラリです。Effect System という概念を取り入れており、Scala や Haskell といった関数型プログラミング言語に影響を受けています。 TypeScript の型システムを活用して、本番のアプリケーションにおける実用的な問題を解決することを目指しています。Effect-TS は、以下のような特徴を備えています。 並行性(concurrency):Fiber ベースの並行モデルにより、高いスケーラビリティと低レイテンシを実現 コンポーザビリティ(composability):小さく再利用可能なパーツを組み合わせることで、メンテナンス性、可読性、柔軟性の高いソフトウェアを構築する リソースの安全な管理(resource

                                                                                    エラーや非同期処理をより安全に扱うための TypeScript ライブラリ Effect-TS

                                                                                  新着記事