並び順

ブックマーク数

期間指定

  • から
  • まで

1841 - 1880 件 / 3650件

新着順 人気順

*JavaScriptの検索結果1841 - 1880 件 / 3650件

  • LiteFS+SQLiteでフルスタックNext.jsアプリケーションを作る

    なぜLiteFS+SQLiteか 「個人開発のコストはDB次第」でサーバーレス環境でコンピューティングリソースを節約できたけどマネージドDBはまだ高いよ(要約)ということを言っていたら「本番環境でSQLiteを使うといいよ」と何人かの人に教えてもらってLitestreamのことを知った。 LitestreamはDBを読み書きするプロセスを1つにして利用するので、サーバーレス環境でsqliteファイルをパスで参照できて、複数箇所から掴まないように構築すれば条件は整えることができる(Cloud Runのように並行に呼び出してもインスタンスが共有されるサービス+最大サイズを1にしておく、とか)。 Litestreamのみでも便利に使えていたんだけど、プロジェクトをウォッチしていたらその後サーバーを複数台にしてそれぞれのインスタンスで同じ結果を得られたり、書き込み先を適切にハンドリングするデザイン

      LiteFS+SQLiteでフルスタックNext.jsアプリケーションを作る
    • JavaScriptランタイムのBun、PostgreSQL/MySQLのDBクライアント機能を搭載

      オープンソースで開発されているJavaScriptランタイム「Bun」の最新版となる「Bun 1.2」正式版が登場しました。 Bun v1.2 is herehttps://t.co/m3Q4xJ7l88 — Bun (@bunjavascript) January 22, 2025 BunはNode.js互換のJavaScriptランタイム機能に加えてTypeScriptのランタイム機能も備え、さらにトランスパイラ、バンドラ、タスクランナー、npm互換のパッケージマネージャなど、JavaScript/TypeScriptのツールチェーンを統合したソフトウェアです。 Windows版、Linux版、macOS版が提供されています。 PostgreSQLクライアント機能を搭載 Bun 1.2ではPostgreSQLのデータベースクライアント機能が搭載されました。ライブラリやSDKに依存するこ

        JavaScriptランタイムのBun、PostgreSQL/MySQLのDBクライアント機能を搭載
      • 1600億円のピザ爆誕? ピザハット公式サイトで価格表示に不具合 同社「認知していなかった、修正する」

        1600億円のピザ爆誕? ピザハット公式サイトで価格表示に不具合 同社「認知していなかった、修正する」 日本ピザハット・コーポレーションの公式Webサイトで、ピザの価格が正しく表示されない不具合が生じている。ピザの注文ページで、一部のピザにトッピングを追加すると、代金が数億円と表示される。Twitterでは8月2日ごろから「代金が1600億円を超えた」といった声も出ている。ITmedia NEWS編集部が同社に詳細を聞いたところ「(編集部の問い合わせまで)認知していなかった。表示に不具合が出ているので、修正する」と答えた。 実際に記者が検証したところ、ピザのサイズをLサイズに変更し、トッピングを追加したとき、料金が正しく表示されなかった。例えば3410円のピザに480円のトッピングを追加しても3890円にはならず、「¥480,034,100」(4億8003万4100円)と表示された。この現

          1600億円のピザ爆誕? ピザハット公式サイトで価格表示に不具合 同社「認知していなかった、修正する」
        • PythonのコードをEXE化するには?PyInstallerやその他ツールの特徴や使い方

          PythonのコードをEXE化するPythonは、初心者でも簡単に習得できるプログラミング言語の1つです。インタープリター型であるPythonスクリプトのコード開発には、数多くの公開ライブラリが活用できます。 Pythonでは開発したスクリプトコードを配布して利用できますが、ターゲット環境にもPythonが必要であり多少の準備が必要です。コンパイラ言語のようにEXEファイルを配布したい場合もあるでしょう。 そこで、ここではPythonのコードをEXE化して利用する方法を解説します。 PythonのコードをEXE化するメリットですが、次の3点を紹介します。 1つ目は、ターゲットとなる実行環境にPythonが不要である点が挙げられます。ソフトウェア開発者はPythonの開発環境を用意している場合が多いですが、ユーザ環境やオペレータ向けの環境では開発環境を導入することができません。 この場合でも

            PythonのコードをEXE化するには?PyInstallerやその他ツールの特徴や使い方
          • Rustの知見を深めたい! 開発合宿でmackerel-agentを再実装してみた - Hatena Developer Blog

            はてなには、開発合宿というイベントがあります。有志で集ったメンバーが普段の開発から離れ、テーマを決めて集中して取り組むイベントです。 今回、私(id:dekokun)、id:Krouton、id:ne-sachirouの3人からなるチームで、はてなが提供するサーバー管理・監視サービスMackerelに必須であるmackerel-agentというプログラムを題材に、Rustでの再実装を試みました。 mackerel-agentは、監視対象のホストにインストールし、ホストの情報(メトリックやメタデータ)を集めてMackerelに送るプログラムで、Go言語で実装されています。なお、今回はあくまでRustの知見を得る材料として選択したもので、今後の実装を置き換えようとしているわけではありません。 Rustでmackerel-agentを再実装する狙い なぜRustなのか なぜmackerel-ag

              Rustの知見を深めたい! 開発合宿でmackerel-agentを再実装してみた - Hatena Developer Blog
            • JavaScriptでGPUを簡単に扱えるライブラリ「GPU.js」レビュー、並列処理で多次元の演算が爆速に

              GPUを用いた並列演算に利用されるプログラミング言語といえば、機械学習の研究などに利用されるPythonが一般的ですが、JavaScriptによるウェブアプリでもGPUを用いたい場合があるはず。オープンソースのJavaScriptライブラリ「GPU.js」を使うと、スクリプトを実行するコンピューターのGPUを利用して並列処理を行うことで、多次元の演算などを高速に行うことができます。 GPU.js - GPU accelerated JavaScript https://gpu.rocks 今回GPU.jsを動かすシステムは以下。CPUはIntel Core i5-4570、GPUはAMD Radeon RX480、OSはUbuntu 20.04、ウィンドウシステムはWaylandを使用しています。 カーネルバージョンは5.4.0-42 ロードしているドライバーはこんな感じ。Linuxに標準

                JavaScriptでGPUを簡単に扱えるライブラリ「GPU.js」レビュー、並列処理で多次元の演算が爆速に
              • シンプルなUIライブラリを使おう2023 - Qiita

                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 皆さんこんにちは。昨今の技術選定においては、「シンプルさ」が重視されることが良くあります。 特に「イージー VS シンプル」という対立軸が持ち出されることが多く、規模の大きなアプリケーションを作る際には「シンプル」側の技術を選定するほうが有利だという論調がよく見られます。 本当にそうなのか、あるいはそもそも「シンプル」とはどういう意味なのかについては皆さんそれぞれの考えがあるでしょうから、この記事では深入りしません。 代わりに、実際どのような技術がシンプルなのかが気になるところです。そこで、今回は筆者が比較的得意なWebフロントエンドの

                  シンプルなUIライブラリを使おう2023 - Qiita
                • Next.js の Zod 活用術

                  本年は Next.js + バリデーションライブラリの Zod をよく利用し、Zenn でもいくつかの関連記事を投稿しました。本稿では、この組み合わせならではの TIPS を紹介します。記事で紹介するサンプルは以下に置いています。 リクエスト検証に便利な Zod Next.js で getServerSideProps を使用すると、リクエスト検証をサーバーサイドで行えます。例えばセッションに保持している値の検証はバリデーションライブラリの Zod を使用して、次のようなコードで実現できます。 export const userSchema = z.object({ name: z.string(), email: z.string(), }); export const getServerSideProps = async (ctx) => { const sess = await ge

                    Next.js の Zod 活用術
                  • Next.jsとFirebaseで質問箱のようなサービスを作る

                    Next.jsとFirebaseを使って質問箱のようなサービスを作ってデプロイするまでを解説します。

                      Next.jsとFirebaseで質問箱のようなサービスを作る
                    • WordPressが技術負債になった話 / Coral Developers 20210525

                      インフラエンジニア歴2ヶ月の私がCDKを使ってECS(Fargate)環境を構築する話 / Coral Developers Night AWS LT

                        WordPressが技術負債になった話 / Coral Developers 20210525
                      • Pythonスキーマバリデーションライブラリ比較 (pydantic, marshmallow, attrs, cerberus) - Attsun blog

                        Pythonスキーマバリデーションライブラリ比較 (pydantic, marshmallow, attrs, cerberus) ウェブAPIの作成など、外部からやってくるデータを安全に捌く上で、スキーマ定義とバリデーションは非常に重要です。 また、特にPythonのような動的型付け言語において、内部でもレイヤをまたぐ場合はきちんと定義されたデータモデルを利用することで、知らない間にデータモデルが変わっていた、というようなケースを防ぐことができます。 Pythonには標準でスキーマバリデーションライブラリがないため3rdパーティのものを使うことになりますが、様々なライブラリがあるので比較してみました。 比較対象のライブラリ概要※Pythonバージョンは3.9.0を利用します。 lib                    versionGithub Star (2020/1/5)memo

                        • モバイルアプリ上の WebAssembly 製ライブゲームで発生した例外を捕捉して計測する - Mirrativ Tech Blog

                          こんにちは、エンジニアのちぎら(@_naru_jpn)です。ミラティブでは、配信中のゲームに視聴者が介入できるゲームとライブ配信が融合した次世代のゲーム体験を提供しており、この体験を ライブゲーミング と呼んでいます。 ライブゲーミングは、Unity から WebGL 向けにビルドされた WebAssembly 製のゲームを、アプリに配置したウェブブラウザ上で動作させることによって実現しています。*1 今回は UnityでモバイルWebGLゲーム開発を頑張る話 の「メモリリークによって発生するクラッシュ」にも書かれているような、捕捉は難しいがユーザー影響があるような例外の発生を捕捉して、計測をするための仕組み作りについて解説をします。 ライブゲームが動作する仕組み 例外を捕捉することを考える前に、ライブゲームがどのように動作しているのかを知る必要があります。 Unity の WebGL 向

                            モバイルアプリ上の WebAssembly 製ライブゲームで発生した例外を捕捉して計測する - Mirrativ Tech Blog
                          • Denoのフロントエンド開発の動向【2022年春】

                            半年程前に、以下のような記事を書きました。 Denoでのフロントエンド開発に関して、ここ半年程でまた大きな動きがあったため、改めてまとめていきたいと思います。 Aleph.js v1.0.0のアルファバージョンがリリース Deno製のフレームワークであるAleph.jsのv1.0.0 アルファバージョンが公開されました。 現在、v1.0.0のリリースに向けて積極的に開発が進められています。 Aleph.jsやesm.shなどの作者であるJe Xia氏がDeno社に加わったこともあり、ここ半年で大幅に開発が進んでいる印象です。 また、Aleph.jsは元々はNext.jsに影響を受けたフレームワークという位置づけでしたが、ここ最近ではRemixなどのフレームワークの影響も徐々に受けているような印象を感じています。 ここでは、Aleph.js v1に向けて行われている大きな変更などについて解説

                              Denoのフロントエンド開発の動向【2022年春】
                            • 76. モダンウェブフロントエンド(2022)に至る歴史 - React Server Component、SSR Streaming w/ morishin127 | fukabori.fm

                              MP3ファイルをダウンロード 内容紹介 2022年のモダンウェブフロントエンドまでに至る歴史、SPA、CSR、SSR、SSR Streaming、React Server Component などについて語っていただいたエピソードです。 出演者 話したネタ モダンウェブフロントエンド勉強会を開催しました そもそもWebページのダウンロードって、どう始まった? JavaScriptがマウスカーソルをキラキラさせていた時代 Ajaxの登場や、jQuery フロントエンドMVC、Backbone.js、Knockout.js Reactは何が革命的だったのか? 手続き型の実装は何が辛かったのか? SPA(Single Page Application) MPA(Multi Page Application) CSR(Client Side Rendering) サーバーサイドがJSONを返す時代

                                76. モダンウェブフロントエンド(2022)に至る歴史 - React Server Component、SSR Streaming w/ morishin127 | fukabori.fm
                              • 型安全にクエリパラメーターを扱う nuqs

                                型安全にクエリパラメーターを扱う nuqs 2025.01.25 フロントエンドの状態管理のパターンとしてクエリパラメータを信頼できる唯一の情報源(single source of truth)として扱うことがあります。ですが、クエリパラメーターの型が文字列であるため、型安全性が保証されないという課題があります。この記事では `nuqs` というライブラリを使用してクエリパラメーターを型安全に扱う方法について解説します。 フロントエンドの状態管理のパターンとしてクエリパラメータを信頼できる唯一の情報源(single source of truth)として扱うことがあります。つまり、useState などの React の状態管理フックを使用してメモリ上に保持した状態を使用するのではなく、location.search などでクエリパラメーターを取得し、それの情報を元に画面を描画するというこ

                                  型安全にクエリパラメーターを扱う nuqs
                                • コピペで簡単!ボタンやテキストリンク、アイコンで使えるCSSのさまざまなアニメーション -CSSeffectsSnippets

                                  ボタンやテキストリンク、アイコン、プリローダーなどで使えるCSSのさまざまなアニメーションがコピペで簡単に利用できるCSSeffectsSnippetsを紹介します。 CSSのエフェクトはスニペットに登録しておくと、すぐに使えて便利です。

                                    コピペで簡単!ボタンやテキストリンク、アイコンで使えるCSSのさまざまなアニメーション -CSSeffectsSnippets
                                  • 【レポート】コンテナだけどサーバーレス! AWS Lambda の最新機能をご紹介 #AWSSummit | DevelopersIO

                                    CX事業本部@大阪の岩田です。5月31日までアーカイブが視聴可能なAWS Summitですが、Developer Zoneという開発者向けの特設サイトが存在することをご存知でしょうか?公式サイトでは以下のように案内されています。 より多くの技術情報に触れたいとお考えの開発者の方向けに、エキスパートによるテクニカルトーク、ライブ解説付きのデモ、AWS Robot Delivery Challenge, AWS DeepRacer リーグなど、多彩なコンテンツを備えた特設サイト「Developer Zone」をご用意しました。 少しカジュアルな雰囲気の中、よりディープに AWS サービスを活用した開発のノウハウを知ることができます。テクニカルトーク、ライブ解説付きのデモでは、参加するお客様からのご質問にもその場でお答えしますので、ぜひご参加ください。 この記事はDeveloper Zoneのセ

                                      【レポート】コンテナだけどサーバーレス! AWS Lambda の最新機能をご紹介 #AWSSummit | DevelopersIO
                                    • Next.js公式examples集を分類(2021年1月版) - Qiita

                                      更新履歴 Next.js公式examples集を分類(2023年7月版) Next.js公式examples集を分類(2022年7月版) Next.js公式examples集を分類(2021年7月版) Next.js公式examples集を分類(2021年1月版) Next.js公式examples集を分類(2020年7月版) はじめに Next.jsの公式サンプルは前回(2020年7月版)から34本増えて合計268本あります。新たに追加されたサンプルには(new)がついています。(2021/01/10) しかし、このままではどれを見たらいいのかわからないので主観で分類してみました。 (基礎)Next.jsで基礎的な内容を扱っているサンプル。 (公式)公式ドキュメント で説明するのに使われているサンプル等。 ※今回の更新で一番目についたのはwith-mysqlで、その他DB関連も多く追加さ

                                        Next.js公式examples集を分類(2021年1月版) - Qiita
                                      • ブラウザとNode.jsで動く1kBのキーバリューストレージライブラリを書いた

                                        azu/kvsというブラウザとNode.jsで動くファイルサイズが小さいキーバリューストレージを作りました。 モチベーション ファイルサイズが小さくIndexedDBを使っていて、Node.jsでも透過的に同じAPIで利用できるライブラリが必要となったため作りました。 textlint-editorというアプリを書いていて、キャッシュストレージとしてlocalstorage-ponyfillを使っていました。 しかし、localstorage-ponyfillはブラウザとNode.jsで透過的に動くストレージライブラリですが、LocalStorageベースとなっています。 textlint-editorでは、スクリプトをWeb Workerで動かすため同期的なAPIであるLocalStorageは利用できません。 そのため、IndexedDBベースでシンプルなキーバリューストレージを扱える

                                          ブラウザとNode.jsで動く1kBのキーバリューストレージライブラリを書いた
                                        • モーダルを開いている時に背面コンテンツのスクロールを抑制する方法

                                          TAK(@tak_dcxi)です。 モーダルやドロワーメニューを開いている時に背面コンテンツが勝手にスクロールされるとヘイトポイント溜まりがちなので、ユーザビリティ向上のためにも背面コンテンツのスクロールは抑制しておきましょう。 結論 // ドキュメントの書字方向を取得し、縦書きかどうかを判定 const isVerticalWritingMode = (): boolean => { const writingMode = window.getComputedStyle(document.documentElement).writingMode return writingMode.includes('vertical') } // スクロールバーの幅を計算する const getScrollBarSize = (): number => { const scrollBarXSize =

                                            モーダルを開いている時に背面コンテンツのスクロールを抑制する方法
                                          • Honoを使い倒したい2024

                                            はじめに こんにちは、AI Shift バックエンドエンジニアの@sugar235711です。 この記事では、Honoの使い方をおさらいし、API開発を通じてHonoの実際の開発で役立つTipsを紹介します。 Honoの基本的なコンセプトや網羅的な実装例については、公式ドキュメントを参照してください。 更新情報 2024/7/29更新

                                              Honoを使い倒したい2024
                                            • あなたのUI/UXレベルを上げるニッチなPackageたち。

                                              仕事や個人開発で作っているプロダクトのユーザー体験を1つ成長させるPackageを紹介します。 「こんなpackageあります」とデザイナーに提案してみても良いかもしれません。 Progressive blurでぼかしをうまく溶け込ませる soft_edge_blur Progressive blurとはぼかし効果を段階的に変化させる技術です。 アプリライブラリなどで使われていますが、これによりアプリ一覧とApp barの境界線が溶け込んでいます。 そのためより画面が広く感じさせることができます。 こちらからDemoを体験できます。 progressive blurについてはこちらが参考になりました。 Rich Text Editorで書き心地体験をあげる Rich Text Editorとは太字や箇条書きを簡単に書けるエディターのことです。 例えばNotionやSlackなどは- と打つ

                                                あなたのUI/UXレベルを上げるニッチなPackageたち。
                                              • TypeScriptがJavaScript上で構築される方法を学ぶ、新TypeScriptハンドブックが正式版に

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

                                                  TypeScriptがJavaScript上で構築される方法を学ぶ、新TypeScriptハンドブックが正式版に
                                                • Pythonのセキュリティ関連ライブラリを試してみました。 - Qiita

                                                  # pip3 install pylint # pylint main.py ************* Module main main.py:10:0: C0301: Line too long (114/100) (line-too-long) main.py:97:0: C0305: Trailing newlines (trailing-newlines) main.py:1:0: C0114: Missing module docstring (missing-module-docstring) main.py:28:0: C0115: Missing class docstring (missing-class-docstring) main.py:32:0: C0116: Missing function or method docstring (missing-funct

                                                    Pythonのセキュリティ関連ライブラリを試してみました。 - Qiita
                                                  • テストコードのリファクタリングが目指すもの/DXD 2021

                                                    学生時代にソフトウェア工学を学び、オブジェクト指向分析/設計に傾倒。執筆活動や講演、ハンズオンイベントなどを通じてテスト駆動開発を広めようと努力している。 『プログラマが知るべき97のこと』(オライリージャパン、2010)監修。『SQLアンチパターン』(オライリージャパン、2013)監訳。『テスト駆動開発』(オーム社、2017)翻訳。『Engineers in VOYAGE』(ラムダノート、2020)編者。テストライブラリ power-assert-js 作者。

                                                      テストコードのリファクタリングが目指すもの/DXD 2021
                                                    • 無料で完結!個人開発力を高める 1 日勉強法 - izanami

                                                      そして、この一連の流れを限られた時間で実践することで、個人開発するための力が身につく! この方法は、Git の使い方も自然と学べるという利点もあるよ。完璧やろこれ。 この記事ガンガン、アップデートしていくから、 You ブクマ OK? それでは、今週の休日 1 日で以下をやってみましょうー!! Next.js インストール GO!! おはようございます!今日は休日ですね 「Next.js を活用した個人開発は、ウェブ開発を学ぶ上で最適な方法の一つ」っていうのは聞いたことあるよね? そんなこと、ワイは聞いたことないんやが、Next.js は個人開発に最適だと思うのよ。Yo, Yo create-next-app でプロジェクト作って、TypeScript、ESLint、Tailwind CSS など導入つっても意味分からんよな Next.js 15 のインストール方法はこれに詳しく書いてある

                                                        無料で完結!個人開発力を高める 1 日勉強法 - izanami
                                                      • 自分のはてなブックマークをChatGPTにつないだ - Lambdaカクテル

                                                        scrapbox.io から派生して、 blog.sushi.money こういうことが可能だとわかった。 はてなブックマークはAtom形式でのエクスポートが可能なので、 はてブにAtomを吐き出させる AtomをJSONに変換する あとは同じ というプロセスで、自分のはてブのコメントを知っている状態のChatGPTのモデルを作ってみた。 コード 一番元々の記事ではPythonで書かれていたコードが、 id:hitode909 のコードではRubyになり、自分のコードだとScala3になっていて面白い。 #!/usr/bin/env -S scala-cli shebang -S 3 // usage: batom2json.scala.sc ~/Downloads/Windymelt.bookmarks.atom > from_bookmark/Windymelt.json // You

                                                          自分のはてなブックマークをChatGPTにつないだ - Lambdaカクテル
                                                        • 2021年5月のWebサーバ利用シェア、「Nginx」が「Apache」を初めて上回る

                                                          Q-Successは2021年5月4日(米国時間)、Webサーバ技術の使用サイト数に基づく市場シェア調査結果を発表した。「Nginx」と「Apache」がともに33.8%を占め、わずかな差でNginxが首位、Apacheが2位となった。 2009年にWeb技術調査サービス「W3Techs - World Wide Web Technology Surveys」が開始されて以来、NginxがApacheを抜いて首位となったのは、今回が初めてだ。 2009年のシェアはNginxが3.7%、Apacheが73%超、Microsoftの「インターネットインフォメーションサービス(IIS)」が20%程度だった。Apacheのシェアは、1年前はNginxを6.6ポイント上回っていたものの、一貫して低下傾向が続いている。 調査対象のWebサーバ技術の数は現在、98に達しており、2021年5月4日付の市場

                                                            2021年5月のWebサーバ利用シェア、「Nginx」が「Apache」を初めて上回る
                                                          • BASEの日付ライブラリについて - BASEプロダクトチームブログ

                                                            自己紹介 こんにちは。BASE株式会社のフロントエンドチームの谷口です。 本日は、BASEのフロントエンドで使用している日付ライブラリについてお話しします。 BASEの日付ライブラリについて BASEでは、frontendという領域が出来始めた当初、最もメジャーな日付ライブラリであるmoment.jsを使用していました。 その後、デザインコンポーネントの開発など、frontend領域が成長していく中で より使い勝手の良い別の日付ライブラリが検討され、date-fnsが採用されました。 現時点で、ほぼ全てのコードがdate-fnsに移行済みです。 date-fnsについて date-fnsについて少し説明すると、公式にもありますが下記のような特徴が上げられます。 moment.jsやday.jsがDateオブジェクトをラップして扱うのに対し、純粋な関数を必要な分だけ読み込んで使用することが出

                                                              BASEの日付ライブラリについて - BASEプロダクトチームブログ
                                                            • Rustでブラウザを操作する「rust-headless-chrome」を試してみた | DevelopersIO

                                                              こんにちは。MAD事業部のきんじょーです。 最近Rustの入門書を読んだので、何かに使ってみようと模索していました。 その中で、Rustでヘッドレスブラウザを動かすライブラリを検証したのでこの記事にまとめます。 ヘッドレスブラウザとは ヘッドレスブラウザはGUIを持たないWebブラウザです。 一般的なブラウザと同じく、HTMLを解析しJavaScriptを実行できますが、GUIを持たないため、CLIやプログラム上から操作を行います。 主に以下のような用途で用いられます。 WebアプリケーションのE2Eテストの自動化 Webページのスクリーンショット取得 JavaScriptの自動テスト Webページで行うワークフロー処理の自動化 Webページのクローリング 古くはPhantomJSやCasperJSなどを用いていましたが、現在では主要なブラウザもネイティブでヘッドレスモードを搭載しています

                                                                Rustでブラウザを操作する「rust-headless-chrome」を試してみた | DevelopersIO
                                                              • JSのウェブフレームワークで高速なルーターを実装する方法

                                                                https://nseg.connpass.com/event/251366/ での発表資料です。

                                                                  JSのウェブフレームワークで高速なルーターを実装する方法
                                                                • WebGPU対応のThree.jsのはじめ方 - ICS MEDIA

                                                                  WebGPUは、ウェブ上で動作する新世代のグラフィックスAPIです。従来のWebGLに代わるものとして設計されており、より低レベルで効率的にGPUへアクセスできるようになっています。たとえば記事『WebGPUがついに利用可能に』で紹介したように、WebGLより高いパフォーマンスが期待できます。 Three.jsはウェブで3D表現を作るためのJavaScriptライブラリです。2010年代のWebGL黎明期からThree.jsが多くのウェブサイトで使われており、3Dの代表的なライブラリとも言えます。 Three.jsでは、WebGPU対応が進んでいます。WebGPU対応のレンダラー「WebGPURenderer」が存在し、従来のWebGLRendererとほぼ同じ使い勝手で利用できます。Three.js利用者は低レベルコードを書くことなく、WebGPUの利点を活かせるようになっています。We

                                                                    WebGPU対応のThree.jsのはじめ方 - ICS MEDIA
                                                                  • Next.js + SvelteによるnoteのフロントエンドApp分割|note株式会社

                                                                    ※ この記事は2021年6月21日に行われた「進化するフロントエンド2021 − 4プロダクトから学ぶSPA/PWAの技術と実践−」の登壇を文字起こししたものになります noteのフロントエンドの歴史 ではまず自己紹介をさせていただきます。フロントエンドエンジニアの山形と申します。よろしくお願いします。 去年の3月に入社したので、noteには1年3ヶ月くらいいます。趣味でコーヒーの焙煎とかやっています。 今回はnoteが抱えているフロントエンドの課題をどう解決していったのかを話していきたいと思います。 最初にnoteが今までどうやって実装されていたのか、その歴史を説明していきます。 初期のnoteはRuby on Railsのアセット上に構築されたSPAサイトで、フロントはAngularJSとCoffeeScriptで書かれていました。 この構成はかなりの問題を含んでいました。 1つ目はS

                                                                      Next.js + SvelteによるnoteのフロントエンドApp分割|note株式会社
                                                                    • zx + Datadog + GitHub Actions でフロントエンドのコードベースの健全性を可視化する

                                                                      フロントエンドのダッシュボードを作ってみたらいい感じだったので紹介です。 作ったもの zx と Datadog、GitHub Actions を使って以下画像のように、フロントエンドのコードベースの各指標を可視化するダッシュボードを作りました。 値はデモ用に書き換えています 現在、計測している指標はこちらです。 Vue SFCファイルにしめるTypeScriptの割合 Vue SFCファイルにしめるComposition APIの割合 strict: trueにした場合のType Errorの数(tsc & vue-tsc) Jestの各種カバレッジ 各指標は毎朝9時に更新していて、時系列での推移も確認できます。 なぜ作った? 技術的負債解消等コードベースのリファクタリングの活動は、機能追加に比べ進捗を把握しにくい、成果が伝わりにくいという問題があり、それを解消したいと考えたからです。 こ

                                                                        zx + Datadog + GitHub Actions でフロントエンドのコードベースの健全性を可視化する
                                                                      • 「TypeScript の型定義に凝りすぎじゃね?」の反応を眺める - Neo's World

                                                                        昨日書いた「TypeScript の型定義に凝りすぎじゃね?」という記事に対して、はてブコメや Twitter でのコメントがいくつかあったので、勝手に取り上げて補足する。勢いで書いた雑文が思いの外見られていて驚いた。みんなどうやってこんな辺鄙なサイト見つけたの?まずは読んでくれてありがとね。 ahuさんはTwitterを使っています 「自分は個人用のでも書き捨てのコードじゃないならTSを使うけど、TSはlintの延長でしかなくて型定義頑張りすぎてコストに見合ってなさそうというのはわかる https://t.co/7OhyTimsdU」 / Twitter TSはlintの延長でしかなくて型定義頑張りすぎてコストに見合ってなさそうというのはわかる TOEIC3点さんはTwitterを使っています 「TypeScript の型定義に凝りすぎじゃね? https://t.co/WuUKv9AJ

                                                                          「TypeScript の型定義に凝りすぎじゃね?」の反応を眺める - Neo's World
                                                                        • canvasで大量の円がランダムに動くパーティクルを実装してみよう! | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

                                                                          こんにちは、フロントエンドエンジニアのぜんちゃんです。 最近はアニメーション表現を増やすために、canvasの勉強を始めました。そこで、今回はcanvasやJavaScriptの基本技術を使って、円がランダムに動くパーティクルアニメーションを実装したいと思います。 今回作るアニメーションはこちらです。 円を作成・描画する canvas要素を作成し、そのcanvas内に円を作っていきます。 まずは一つだけ作りたいと思います。 <canvas id="canvas"></canvas> // キャンバス要素を取得 const canvas = document.getElementById('canvas'); // キャンパスに描画するコンテキストを取得 const ctx = canvas.getContext('2d'); // キャンバスサイズをwindowサイズに canvas.wi

                                                                            canvasで大量の円がランダムに動くパーティクルを実装してみよう! | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
                                                                          • C++からRustに移行して幸せになる人、そうならない人 その違いは?

                                                                            C++はRustが登場する前から成熟度の高い言語だった。開発者はC++からRustに切り替える必要があるのだろうか。必ずしもそうとは限らない。C++とRustの品質、両言語の相違点と類似点を調べて、どちらのプログラミング言語を選ぶかを決めたい。 C++はRustが登場する前から成熟度の高い言語だった。開発者はC++からRustに切り替える必要があるのだろうか。必ずしもそうとは限らない。 新たなプロジェクトに携わるプログラマーは、プログラミング言語の選択肢が不足することはない。プログラミング言語「C++」と「Rust」は、 ブラウザベースのソフトウェアからビデオゲームに至るまで、さまざまなプロジェクトに適しており、それぞれに利点がある。 C++は効率的で信頼性の高いプログラミング言語だ。信頼性、パフォーマンス、スケーラビリティの高さから開発者はC++を選ぶ。C++の標準テンプレートライブラリ

                                                                              C++からRustに移行して幸せになる人、そうならない人 その違いは?
                                                                            • データ取得のための React Hooks ライブラリ – SWR

                                                                              import useSWR from 'swr' function Profile() { const { data, error, isLoading } = useSWR('/api/user', fetcher) if (error) return <div>failed to load</div> if (isLoading) return <div>loading...</div> return <div>hello {data.name}!</div> } この例では、useSWR フックは key 文字列と fetcher 関数を受け取ります。 key はデータの一意な識別子(通常は API の URL)で、fetcher に渡されます。 fetcher はデータを返す任意の非同期関数で、ネイティブの fetch や Axios のようなツールを使うことができます。 このフッ

                                                                                データ取得のための React Hooks ライブラリ – SWR
                                                                              • Syntax - Tailwind CSS Documentation Template

                                                                                Syntax is a beautiful documentation template built with Tailwind CSS and Next.js, designed and built by the Tailwind CSS team. Powered by Markdoc, the new Markdown-based authoring framework from Stripe, it's now easier than ever to focus on writing great documentation, instead of the tooling around it. It’s production-ready and easy to customize, making it the perfect starting point for your own d

                                                                                  Syntax - Tailwind CSS Documentation Template
                                                                                • React の状態管理ライブラリ9選

                                                                                  はじめに 次から次へと登場する状態管理ライブラリですが、それだけ React (に限った話ではないが) において状態管理というのは大きなテーマであり、最も実装難易度の高いトピックの一つでしょう。適切な設計ができないとアプリケーションの規模が大きくなるにつれ負債は増え続けます。 状態管理の難しさをよく表した文章が Redux の公式サイトにあるためお借りしたいと思います。(Redux の公式サイトは読み物としても面白いです) JavaScript のシングルページアプリケーションの要件がますます複雑になるにつれて、コードはこれまで以上に多くの状態を管理する必要があります。この状態には、サーバーのレスポンスやキャッシュされたデータ、まだサーバーに永続化されていないローカルに作成されたデータなどが含まれます。UI の状態も複雑化しており、アクティブなルート、選択されたタブ、スピナー、ページネーシ

                                                                                    React の状態管理ライブラリ9選

                                                                                  新着記事