並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 109件

新着順 人気順

javascript setintervalの検索結果1 - 40 件 / 109件

  • JavaScriptがブラウザでどのように動くのか | メルカリエンジニアリング

    実際にコードを用いてスタック領域とヒープ領域の概念を説明します。 person オブジェクトを宣言した時、JavaScript エンジンはオブジェクトの実体をヒープ領域にメモリ割り当てを行い、ヒープ領域にある実体への参照をスタック領域にメモリ割り当てを行います。 const person = { name: 'Taro', age: 24 }; 次のように新しい変数(newPerson)に再代入をすると参照がコピーされ、newPerson も person もヒープ領域に割り当てられた同じ実体に対する参照を持ちます。 const newPerson = person; Object.assign を使って新しいオブジェクトを生成するのは、参照コピーをしないための方法の一つで、よく使われる手法の1つです。 function getName(person) { return person.na

      JavaScriptがブラウザでどのように動くのか | メルカリエンジニアリング
    • setTimeout を完璧に理解する

      setTimeout は、指定された時間以降に指定されたコードを実行する JavaScript の API です。ブラウザでも Node.js でも広く使われているのですが、実装はまちまちで、色々と特殊な条件も多く、挙動を完璧に理解している人は少ないと思います。この記事では、そんな setTimeout を可能な限り深堀りしてみようと思います。 先に書いておきますが、ものすごくニッチで細かい話ばかり並びます。突然私が、ただ純粋に setTimeout について調べたくなったので、その結果をまとめただけのものです。普通に開発している人には必要のない情報が多くなるでしょう。この記事は基礎から setTimeout を学ぼう、という方には全然向かないと思います。 また、JavaScript のイベントループについてある程度理解していることを前提とします。その詳しい理解には、@PADAone さん

      • 実装例から見る React のテストの書き方 - Cybozu Inside Out | サイボウズエンジニアのブログ

        2024/04/17: 更新 内容を更新した記事を書きましたので、よかったらこちらも併せて、ご覧ください。 zenn.dev こんにちは!フロントエンドエキスパートチームの@nus3_です。 kintone のフロントエンド刷新プロジェクト(フロリア)では、品質を保ったまま開発を加速させるためにフロントエンドのテストを積極的に行っています。 今回はそんなフロントエンドのテストの実装例をいくつか紹介します。この記事がフロントエンドのテストを行う上での参考になれば幸いです。 テストに使用する主なパッケージ コンポーネントのテスト 補足: Testing Library の記法をチェックしてくれるeslint-plugin-testing-library カスタムフックのテスト 補足: React v18 では @testing-library/react の renderHook を使う 参考

          実装例から見る React のテストの書き方 - Cybozu Inside Out | サイボウズエンジニアのブログ
        • イベントループと TypeScript の型から理解する非同期処理

          この本は、ブルーベリー本の 8 章からインスパイアされて、 TS の型が示す情報から Promise というものを理解してみる、というアプローチで書いたJSの非同期処理の解説です。 これらの資料と合わせて読むことを推奨します。 JSのイベントループのイメージを掴む JSでは中々意識することが少ないですが、正しく理解するには OS レベルのスレッドの視点で考え始める必要があります。 ブラウザや Node.js では一つのスクリプト実行単位を1つのスレッドに割り当てます。それをメインスレッドと呼んだり、ブラウザだったら UI スレッドと呼んだりします。 例えばブラウザでは、これは秒間60回、つまり 16.6ms ごとにループを呼び出します。(node だったらこれがもっと短いです) 仮に setTimeout の実装がなかったとして、それ相当の擬似コードを書くのを試みます。 let handl

            イベントループと TypeScript の型から理解する非同期処理
          • GitLabで1クリックアカウント乗っ取りが可能だった脆弱性から学ぶ、OpenID Connect実装の注意点 - GMO Flatt Security Blog

            はじめに こんにちは。株式会社Flatt Securityセキュリティエンジニアの森(@ei01241)です。 最近は認証や認可に際してOpenID Connectを使うWebサービスが増えていると思います。「Googleアカウント/Twitter/Facebookでログイン」などのUIはあらゆるサービスで見かけると思います。しかし、OpenID Connectの仕様をよく理解せずに不適切な実装を行うと脆弱性を埋め込むことがあります。 そこで、突然ですがクイズです。以下のTweetをご覧ください。 ⚡️突然ですがクイズです!⚡️ 以下の画面はOAuth 2.0 Best Practice上は推奨されないような実装になっており、潜在的リスクがあります。https://t.co/bXGWktj5fx どのようなリスクが潜んでいるか、ぜひ考えてみてください。このリスクを用いた攻撃についての解説記

              GitLabで1クリックアカウント乗っ取りが可能だった脆弱性から学ぶ、OpenID Connect実装の注意点 - GMO Flatt Security Blog
            • コンポーネントを小さく・きれいに設計しよう。Vue Composition APIを活用したコンポーネント分割術 - ICS MEDIA

              Vue.jsを使った開発でよく悩まされるのがコンポーネントの肥大化です。複雑なアプリケーションになると、1つのコンポーネントが<script>ブロックだけで数百行…なんてこともめずらしくないでしょう。従来、Vue 2までの標準的な書き方では、UIとしてのコンポーネントの細分化はできてもロジックの分割や整理には限界がありました。しかし、Vue 3のComposition APIを活用すると、はるかに柔軟な整理・分割が可能です。 「Composition APIは難しそうだからまだ使っていない」という方、あるいは「導入はしているけどイマイチメリットがわからない」という方は、この機会にぜひComposition APIを活用したコンポーネントの整理術を試してみてはいかがでしょうか? なぜ、Vueのコンポーネントは肥大化するのか? 簡単な例を見てみましょう。下のサンプルはミニマムなアナログ時計のコ

                コンポーネントを小さく・きれいに設計しよう。Vue Composition APIを活用したコンポーネント分割術 - ICS MEDIA
              • Ink を使って CLI アプリを React で書く

                Ink は CLI アプリを React で書くためのライブラリです。Flexbox レイアウトエンジンである Yoga を使用しているため、Web アプリケーションと同じような CSS を使って UI を構築できることが特徴です。Codex や Claude Code といったコーディングエージェントの CLI アプリが Ink で書かれています。 Ink は CLI アプリを React で書くためのライブラリです。Flexbox レイアウトエンジンである Yoga を使用しているため、Web アプリケーションと同じような CSS を使って UI を構築できることが特徴です。Codex や Claude Code といったコーディングエージェントの CLI アプリが Ink で書かれています。 プロジェクトを作成する 以下のコマンドで Node.js のプロジェクトを作成します。 mk

                  Ink を使って CLI アプリを React で書く
                • 主なNode.js独自API

                  // CommonJS Modules の場合 const fs = require("fs"); const fs = require("node:fs"); // ES Modules の場合 import fs from "fs"; import fs from "node:fs"; process のように、グローバル変数としても組み込みモジュールとしても提供されているAPIもあります。 global globalThisの別名です。Webブラウザでは window と self がglobalThisの別名として定義されていますが、Node.jsには window や self はなく、かわりに global が定義されています。 Buffer ArrayBuffer, TypedArray (Uint8Arrayなど), DataView はJavaScriptの標準機能です。

                    主なNode.js独自API
                  • その処理、 setInterval じゃなくてブラウザが暇な時にやっちゃえば?

                    こんにちは。ぬこすけです。 setInterval などで定期的にブラウザで実行させている処理があったりするでしょう。 例えば、定期的にアクセストークンが有効かチェックし、無効だったら新しいトークンを取得するなど。 ブラウザはページのコンテンツを表示するために JavaScript の実行や UI の更新で忙しいです。 もし定期実行している処理がコンテンツ表示にかかわらない優先度の低い処理なのであれば、 できるだけブラウザの重要なタスクに影響を与えないようにしたい ものです。 この記事では できるだけブラウザの重要なタスクに影響を与えずに定期的に処理を実行させる方法を、アクセストークンのローテーションを例に紹介 します。 実装する機能 この記事で実装する機能は次の通りです。 React の hooks を使って実装します。 ブラウザのアイドル中(暇なとき)にアクセストークンを有効かチェック

                      その処理、 setInterval じゃなくてブラウザが暇な時にやっちゃえば?
                    • JavaScriptの基礎と向き合う - iimon TECH BLOG

                      よろしくお願いします!エンジニアのideです。 こちらはアドベントカレンダー23日目の記事になります! 今年は体のあちこちに痛みを感じることが多かったので、来年こそは健康に過ごせる一年になるといいなと願っています。 さて、今回は今年やってきたことを振り返るのもいい機会だなと思い、特に触れる機会が多かったJavaScriptについてまとめてみることにしました。 結果的に基本的な内容が中心となりましたが、改めて理解を深める良いきっかけになったので、これはこれでよしとしています! それではよろしくお願いいたします! [目次] テンプレート文字列 スプレッド構文 分割代入 プロパティ名の短縮記法 オプショナルチェーン nullish(??)とfalsy(||)チェック ディープコピー アロー関数 Promise async/await forEachの中でasync/awaitが効かない おわりに

                        JavaScriptの基礎と向き合う - iimon TECH BLOG
                      • レベル別で紹介!オープンソースで挑戦できる120のプロジェクトアイデア集 - Qiita

                        はじめに 「オープンソースに挑戦したいけど、どんなプロジェクトを作ればいいかわからない…」そんな悩みを持っていませんか? 本記事では、初心者・中級者・上級者・達人 の4つのレベルに分けて、合計 120個のオープンソースプロジェクトアイデア を紹介します。 それぞれのアイデアの詳細については折りたたんであります。興味がある内容については広げてみて機能要件や実装のポイント、拡張機能、学べることを見てみてください! 自分のスキルレベルに合ったプロジェクトを見つけて、実際に開発に挑戦してみましょう! 初心者向けプロジェクトアイデア 1. ToDoリストアプリ 概要 ToDoリストアプリは、ユーザーがタスクを追加・編集・削除し、完了状況を管理できるシンプルなアプリです。 初心者でも取り組みやすく、プログラミングの基礎となる CRUD(Create, Read, Update, Delete) の概念

                        • 限界を極めた内定者が語る! Web Speed Hackathon 2022 戦略と秘訣 | CyberAgent Developers Blog

                          本記事は CyberAgent Developers Advent Calendar 2022  21 日目の記事です。 2023 年度入社予定の加藤 零(@cut0_) です。現在は株式会社 WinTicket で内定者アルバイトをしています。Web Speed Hackathon 2022 Public では 499.1 点を記録しました。 お疲れさまでした! 届かなかった残り 0.9 点を噛み締めて社会人エンジニアを迎えようと思います。 CDN 使わずに Heroku 単体でもここまで戦えます!!https://t.co/ikVmhml6iq #WebSpeedHackathon — レイ (@cut0_) November 27, 2022 本記事では、Web Speed Hackthon 2022 Public で取り組んだことに加え、これから Web Speed Hacktah

                            限界を極めた内定者が語る! Web Speed Hackathon 2022 戦略と秘訣 | CyberAgent Developers Blog
                          • ページ内検索したテキストはWebサイト運営者にバレる|TechRacho by BPS株式会社

                            はじめに 突然ですがこのページを開いてCtrl+Fのページ内検索を開き、 x y z のいずれかの文字を検索してみてください。 https://codepen.io/babatakao/full/bNeBOwr このように、検索した結果がalertで表示されます。 言いたかったこと このように、ページ内検索したテキストはコンテンツJavaScriptから検知できます。 選択したテキストや、フォームに入力したテキストが検知できるのは当然なのですが、ページ内検索テキストは今まで知りませんでした。例えば得体のしれない怪しいウェブサイトで「自分のメールアドレスが漏洩していないかな」とページ内検索、などはやっては駄目なことになりますね。気をつけましょう。 仕組み こんなHTMLとJavaScriptを仕込んでいました。 <p hidden="until-found" id="x">x</p> <p

                              ページ内検索したテキストはWebサイト運営者にバレる|TechRacho by BPS株式会社
                            • Web相互運用性JavaScriptランタイムコミュニティグループ

                              本日、CloudflareはVercel、Shopify、およびNode.jsとDenoの両方の中心的な個々のコントリビューターと協力して、Webブラウザではない、JavaScriptベース開発環境で標準化Web APIを相互運用できる実装に焦点を当てた、新しいコミュニティグループの設立を発表いたします。 W3CおよびWeb Hypertext Application Technology Working Group(WHATWG)は、開発環境としての標準化APIとWebの機能を、長い間先頭に立って開発してきました。fetch()、ReadableStreamおよび WritableStream、URL、URLPattern、TextEncoder などのAPIは、現代のWeb開発における馴染みの、そして貴重なコンポーネントになりました。ただし、これら既存グループは常にWebブラウザの特定

                                Web相互運用性JavaScriptランタイムコミュニティグループ
                              • 新しいR1で蒸留されたDeepSeek-R1-0528-Qwen3-8Bを試す

                                あ、ユーザーが日本語で挨拶してきた。 なんか良いですねw 生成し直してみても お、朝から日本語で挨拶が来た。ユーザーは多分日本の会社や学校関係かも? という調子なので、フランクな感じな味付けなんですね。 javascriptプログラミング 出力が長いこともあり具体的な内容は省略します。 テトリスを作成するには、以下のステップを考えます。 ゲームボードの作成: 通常は10列×20行ですが、テキストベースで表示するのではなく、HTML/CSSを使ってブロックを配置します。 テトロミノの種類と形状: 7つのテトロミノ(I, J, L, O, S, T, Z)とその回転形を定義します。 ゲームの制御: ユーザーがブロックを操作して落下させ、満タンした行を消去し、新しいブロックが床に当たるまで続ける仕組みです。 スコアリングとゲームオーバーの判定。 thinkタグ内は日本語で生成は14秒ほどと簡潔な

                                  新しいR1で蒸留されたDeepSeek-R1-0528-Qwen3-8Bを試す
                                • JavaScriptの非同期処理について - Qiita

                                  ~ deno run timeandpromise.js [A] 🦖 MAINLINE: Start [M] 🦖 MAINLINE: End [L] 👦 MICRO: then [B] ⏰ TIMERS: setTimeout[0ms] [C] 👦 MICRO: Resolved value: 1st Promise [D] 👦 MICRO: Next chain [I] ⏰ TIMERS: setTimeout[0ms] [J] 👦 MICRO: Resolved value: 3rd Promise [K] 👦 MICRO: Next chain [E] ⏰ TIMERS: setTimeout[0ms] [F] 👦 MICRO: Resolved value: 2nd Promise [H] 👦 MICRO: Next chain 当たった人、おめでとう🎉🎉🎉

                                    JavaScriptの非同期処理について - Qiita
                                  • Reactで作るアナログ時計

                                    Reactで作るアナログ時計以前よりReactの勉強がてら、1時間を40分で区切った36時間時計というのをモクモクと作っています。その中でReact Hooksの使い方などを学んでいるので、今回はよくあるアナログ時計を作りながら勉強メモとして残しておきます。 よくある時計ですね!個人的にはデジタル時計派なのですが、意外と需要があるようなので作ってみることに。ちなみにこれは別に React を使わなくても、素の JavaScript(Vanilla.js)で作成可能です!が、上記36 時間時計を作る中で React コンポーネントとして必要だったので今回は React で挑戦しました。 CSS でベースとなるアナログ時計作りアナログ時計自体は空の div にサイズや position の設定をして作成。時計の角度は rotate プロパティーを使いますが、CSS カスタムプロパティーで初期値

                                      Reactで作るアナログ時計
                                    • setIntervalの第2引数に気を付けろというだけの話

                                      この記事はtraP Advent Calendar 2023 14日目の記事です。 はじめに こんにちは。19Bの@kegraという者です。いつもゲーム開発とかWeb開発あたりをやってます。 今日はJavaScript(TypeScript)で最近やらかした割と初歩的なデカいミスを紹介したいと思います。 setInterval()による定期ポーリング 僕は今あるシステムを作っており、そのシステムではクライアントサイドが定期的にサーバーのAPIを叩いて情報を取ってくる感じになっています。いわゆるポーリングです。 クライアントサイドはWebフロントエンドで作っており、僕はこの実装でsetInterval()を使っていました。 setInterval(() => { updateData(); }, 5000); // 5秒おきにポーリング そこで本当にしょうもないのですが、第2引数を書き忘れて

                                        setIntervalの第2引数に気を付けろというだけの話
                                      • V8 JavaScript engineで寒い冬を暖かく過ごしたい - iimon TECH BLOG

                                        はじめに v8の概略 JavaScriptの処理ってどうなっているの? スタック領域とヒープ領域 コールスタック タスクキューとマイクロタスクキュー イベントループ v8で遊ぶ まとめ Appendix さいごに 参考 はじめに こんにちは! 株式会社iimonでエンジニアをしている「ひが」です! 本記事は iimonアドベントカレンダー5日目の記事です! 先日TSKaigi Hokuriku 2025で登壇してきました。 (唐突にすみません、、) https://hokuriku.tskaigi.org/talks/18 人生初の登壇でめちゃくちゃ緊張しましたがなんとかやり切って一命を取りとめました。 資料は下記で公開しているので、興味のある方はぜひ見ていってください!(宣伝です笑) 「denoとtypescriptの関係について改めて考えてみる」 https://speakerdeck

                                          V8 JavaScript engineで寒い冬を暖かく過ごしたい - iimon TECH BLOG
                                        • MinifyされたJavaScriptのコードをChatGPTで読みやすい形式に戻すことに成功

                                          チーム向けのチャットボットAIを提供しているGlama.aiのエンジニアであるフランク・フィーゲル氏が、容量削減のために変数名を短縮し、改行や空白を消す「Minify」が行われたJavaScriptのコードをChatGPTを使って読みやすい形式に戻すことに成功したと報告しています。 Using ChatGPT to reverse engineer minified JavaScript - ChatGPT for teams | Glama https://glama.ai/blog/2024-08-29-reverse-engineering-minified-code-using-openai フィーゲル氏が最初に注目したのは、以下のサイトで背景に表示されているアニメーションでした。このアニメーションは文字で構成されたアスキーアートが波打って目まぐるしく変化していくもので、フィーゲル

                                            MinifyされたJavaScriptのコードをChatGPTで読みやすい形式に戻すことに成功
                                          • 歴史を感じつつ、クロージャで遊んでみた(JavaScript編) - iimon TECH BLOG

                                            こんにちは!株式会社iimonでフロントエンジニアをしている「ひが」です! 本記事はアドベントカレンダー19日目の記事になります! 先日夢で「メリークロージャマス!!!」と叫んでスベる夢を見ました。 冬だからか、みなさん冷たかったです(現実では暖かいです) そのようなこともあり、思い切って記事にしてみようと思いました! どうか、暖かい目で見守っていただけると嬉しく思います!! 本題 本題ですが、みなさんはクロージャをご存知でしょうか。 MDNよりお言葉を借りると クロージャは、組み合わされた(囲まれた)関数と、その周囲の状態(レキシカル環境)への参照の組み合わせ です! 初見だと何言ってるかよくわからないですよね。 本記事でざっくり掘っていきますので、是非一緒に見ていただければ幸いです! ※ 本記事は基本的にMDNの内容に沿う形で進めつつ、たまに脱線したり小ネタを挟んだりします ※ コード

                                              歴史を感じつつ、クロージャで遊んでみた(JavaScript編) - iimon TECH BLOG
                                            • Service Worker がページをコントロールし始めるタイミングを skipWaiting と clients.claim から理解する - カミナシ エンジニアブログ

                                              こんにちは。カミナシでソフトウェアエンジニアをしております佐藤です。 先日、『カミナシ レポート 記録アプリ(Web)』の提供を開始いたしました。 現場帳票システム『カミナシ レポート』、マルチデバイスで記録ができるWeb版をリリース PWA として利用が可能であり、また、ネットワークが不安定な現場での使用も想定したオフライン機能も備えています。これらを実現する上では、Service Worker が重要な役割を果たしています。 『カミナシ レポート 記録アプリ(Web)』の実装には、VitePWA を利用しています。VitePWA では Service Worker の制御に Workbox が使用されています。 Workbox は Service Worker の扱いをよしなにやってくれる非常に便利なライブラリなのですが、正しく活用する上では、やはり、Service Worker その

                                                Service Worker がページをコントロールし始めるタイミングを skipWaiting と clients.claim から理解する - カミナシ エンジニアブログ
                                              • TSKaigi 2025「SignalとObservable ― 新たなデータモデルを解きほぐす」補足解説 | lacolaco's marginalia

                                                2025-05-31 TSKaigi 2025「SignalとObservable ― 新たなデータモデルを解きほぐす」補足解説 先日TSKaigi 2025で話した「SignalとObservable ― 新たなデータモデルを解きほぐす」についての補足解説をする。当日は時間の関係で端折った部分や、登壇後のAsk the speakerでいただいた質問に対する見解なども含めている。 Signalを解きほぐす 3部構成の初め、Signalについては以下のように論を展開した。 ECMAScriptへの提案からモチベーションを探る Signalと呼ばれる構造の基本的要素をカウンターアプリの例から理解する 基本的要素が既存のSignal実装にも共通することを確認する Signalと呼ばれるパターンがどのように成立してきたか系譜をたどる 現代のJavaScriptでSignalが求められている背景を

                                                  TSKaigi 2025「SignalとObservable ― 新たなデータモデルを解きほぐす」補足解説 | lacolaco's marginalia
                                                • Chrome拡張機能Manifest V3対応の勘どころ(?) - 風柳メモ

                                                  Chrome ウェブストアに登録している4つの拙作Chrome拡張機能のManifest V3への対応が先日ようやく完了しました。 Manifest V3対応のために当方が実際に行った作業の概要やハマった点などを備忘として残しておきます。 詳細でなかったり整理できていない点に関してはご容赦ください 何はともあれ、公式ページを見ておくべし Firefoxとコードを共通化したいんだけど? backgroundはService Workerに変更 Manifest V3では削除されてしまったAPIに注意 manifest.json上"permissions"の指定方法変更(ホスト指定の分離) Action APIについての変更(browser_actionとpage_actionの統合) content_scripts等から拡張機能内のファイルにアクセスしたい場合は?(Web-accessibl

                                                    Chrome拡張機能Manifest V3対応の勘どころ(?) - 風柳メモ
                                                  • The Two Reacts — overreacted

                                                    Suppose I want to display something on your screen. Whether I want to display a web page like this blog post, an interactive web app, or even a native app that you might download from some app store, at least two devices must be involved. Your device and mine. It starts with some code and data on my device. For example, I am editing this blog post as a file on my laptop. If you see it on your scre

                                                      The Two Reacts — overreacted
                                                    • A virtual DOM in 200 lines of JavaScript

                                                      In this post I’ll walk through the full implementation of a Virtual DOM in a bit over 200 lines of JavaScript. The result is a full-featured and sufficiently performant virtual DOM library (demos). It’s available on NPM as the smvc package. The main goal is to illustrate the fundamental technique behind tools like React. React, Vue and the Elm language all simplify the creation of interactive web

                                                      • MissAV | オンラインで無料ハイビジョンAV映画が見られる | 飽きるまで映画が存分に見られる

                                                        = 1024 }, isThreeColumns() { return document.documentElement.clientWidth >= 768 && document.documentElement.clientWidth < 1280 }, cdnUrl(path) { return `https://fivetiu.com${path}` }, itemUrl(item) { let dmPrefix = item.dm ? `/dm${item.dm}` : ''; let url = this.locale === 'zh' ? `${dmPrefix}/${item.dvd_id}` : `${dmPrefix}/${this.locale}/${item.dvd_id}` if (item.recommend_id) { url += `#${item.reco

                                                          MissAV | オンラインで無料ハイビジョンAV映画が見られる | 飽きるまで映画が存分に見られる
                                                        • partytown の Worker からの同期的メインスレッド操作を実装してみる

                                                          Partytown とは GitHub - BuilderIO/partytown: Relocate resource intensive third-party scripts off of the main thread and into a web worker. 🎉 今Partytownがヤバい。JavaScript Sandboxの未来はどっちだ? 要は 3rd party script を安全に隔離するため、 WebWorker + DOM の mock で動かす。 GitHub - ampproject/worker-dom: The same DOM API and Frameworks you know, but in a Web Worker. この DOM がすごい2018: worker-dom - mizchi's blog worker-dom との一番の違

                                                            partytown の Worker からの同期的メインスレッド操作を実装してみる
                                                          • kyju.org - Piccolo - A Stackless Lua Interpreter

                                                            Piccolo - A Stackless Lua Interpreter 2024-05-01 History of piccolo A "Stackless" Interpreter Design Benefits of Stackless Cancellation Pre-emptive Concurrency Fuel, Pacing, and Custom Scheduling "Symmetric" Coroutines and coroutine.yieldto The "Big Lie" Rust Coroutines, Lua Coroutines, and Snarfing Zooming Out piccolo is an interpreter for the Lua language written in pure, mostly safe Rust with a

                                                            • 大規模 Node.js サーバーに潜むパフォーマンス上のリスクを Event Loop から理解する

                                                              潜んでいるリスク、一番苦手なリスクです!どうも、whatasoda です。 モノリシックなサービスでは、サービスの成長とともに 1 つのアプリケーションの中にさまざまな性質の処理が混在するようになります。Node.js のようなシングルスレッドで処理が実行されるランタイムでは、複数の処理を走らせる場合に 1 つしかないスレッドを取り合う形で互いの処理を待機させ合うような振る舞いをすることがあります。 技術スタックを TypeScript に統一しているダイニーでは当然バックエンドの API サーバーを Node.js 上で実行しています。過去、「注文の受付」や「会計処理」といったリアルタイム性が求められる処理と、「売上の集計」や「CSV ファイルの生成」といったバッチ系の重たい処理が一部共存していたことがありました。 そういった環境で実行される処理同士が干渉し合うことで、レイテンシやエラー

                                                                大規模 Node.js サーバーに潜むパフォーマンス上のリスクを Event Loop から理解する
                                                              • メモリリークを検出するmemlabをAngularで試してみた - Taste of Tech Topics

                                                                アクロクエスト アドベントカレンダー 12月15日 の記事です。 こんにちは。 最近の趣味がAtCoderのmaron8676です。パズルを解くみたいに楽しめて、勉強にもなるので毎週コンテストに参加しています。 さて、2022/09にMeta社からmemlabというメモリリーク検出のためのフレームワークがリリースされました。 facebook.github.io 気になって調べたところチュートリアルを試していた方はいましたが、他にもスナップショットファイルの解析などmemlabが提供している機能があるようだったため、この機会に試してみた結果を書いていきます。 memlabとメモリリーク memlabの機能 Angularのメモリリークを検出してみる 検出対象のWebアプリ memlabを使った検出 memlabを使った原因調査 修正後の確認 まとめ 参考サイト memlabとメモリリーク

                                                                  メモリリークを検出するmemlabをAngularで試してみた - Taste of Tech Topics
                                                                • 単なるアニメーションにとどまらない!条件分岐やイベント待機など「Tween24.js」の新機能 - ICS MEDIA

                                                                  単なるアニメーションにとどまらない!条件分岐やイベント待機など「Tween24.js」の新機能 「Tween24.js」はメソッドチェーンで記述するのが特徴で、たった1行でアニメーションが実装可能なJavaScriptライブラリです。筆者が開発を続けており、今回の2021年8月アップデートでは条件分岐やイベント待機など、アニメーション作成をより柔軟にするための機能追加がメインとなっています。 基本的な使い方や導入方法は、記事「新感覚!メソッドチェーンでアニメーションがスラスラ書ける「Tween24.js」を作りました」をご覧ください。 今回のアップデート内容 新機能:トゥイーンを条件分岐させるifCase() 新機能:イベントを受け取るまで待機するwaitEvent(), waitEventAndFunc() 新機能:途中で次のトゥイーンへ移行するjump() 新機能:親トゥイーンを進める

                                                                    単なるアニメーションにとどまらない!条件分岐やイベント待機など「Tween24.js」の新機能 - ICS MEDIA
                                                                  • Node.js compatibility for Cloudflare Workers – starting with Async Context Tracking, EventEmitter, Buffer, assert, and util

                                                                    Node.js compatibility for Cloudflare Workers – starting with Async Context Tracking, EventEmitter, Buffer, assert, and util2023-03-23 Over the coming months, Cloudflare Workers will start to roll out built-in compatibility with Node.js core APIs as part of an effort to support increased compatibility across JavaScript runtimes. We are happy to announce today that the first of these Node.js APIs –

                                                                      Node.js compatibility for Cloudflare Workers – starting with Async Context Tracking, EventEmitter, Buffer, assert, and util
                                                                    • Neko - A brief history and porting to Javascript

                                                                      In the early 90’s, being a frisian kid obsessed with computers there weren’t a ton of ways to get access to new software or learn more about computers. The two main ways were exchanging 3.5” diskettes with friends, or go to the library. One book I remember more than others was “Windows for Kinderen” (“Windows for Kids”) by Addo Stuur. I must have been around 10 years old and was obsessed by this b

                                                                        Neko - A brief history and porting to Javascript
                                                                      • Font with Built-In Syntax Highlighting

                                                                        Syntax Highlighting in Hand-Coded Websites The problem I have been trying to identify practical reasons why hand-coding websites with HTML and CSS is so hard (by hand-coding, I mean not relying on frameworks, generators or 3rd party scripts that modify the DOM). Let's say, I want to make a blog. What are the actual things that prevent me from making—and maintaining—it by hand? What would it take t

                                                                        • プラグインに頼らないスライダーを素のJavaScriptで書いてみた

                                                                          この記事に辿り着いたという事は、プラグインやライブラリに頼らずにスライダーを書きたい、もしくはプラグインを使う事に抵抗はないけれど仕組みを理解しておきたいという方だと想定しています。 大前提 他人の書いたコードはクソ 今からお見せするのは「他人のコード」です。 (他人のコードといっても自分で書いてますが、読者からしたら他人だと思うので) 他人のコードは基本的に不正解だと思ってかかってください。私は正解を発表しているのではなく、アイディアの一つを投げかけているにすぎません。 もしかしたらバグが眠っているかもしれない、もっといい書き方があるかもしれないという視点を常に持ち、そしてにわかコーダー私にJavaScriptをご教示頂けたらと思います。 挙動 実装した機能 スライドの枚数に応じてスライダー内部のスタイル・ドットが自動で調整される(htmlを書き換えるだけでスライドの枚数を変更可能) ド

                                                                            プラグインに頼らないスライダーを素のJavaScriptで書いてみた
                                                                          • 【JavaScript】スクロールメーター 自動スクロール機能つき - Little Strange Software

                                                                            どうも!LSSです!! 2021年もまもなく終わる頃、またちょっと変わったものを作ってみました。 画面左下に表示されています コード 一部解説 あとがき 画面左下に表示されています 画面左下に、 ↑こんなものが表示されていると思います。 ページを開いた後、ちょっと画面をスクロールさせると画面左下定位置に出現します。 この黄緑が「現在このページをどこまでスクロールさせているか」を示しており、一番下までスクロールすると完全に黄緑の円になります。 また、自動スクロールスイッチを兼ねていて、クリックする毎に 「自動スクロールOFF」→「低速自動スクロール」→「高速自動スクロール」 が切り替わります。 コード <style> #scrlm{ position:fixed; bottom:50px; left:10px; border-radius:50%; width:50px; height:50

                                                                              【JavaScript】スクロールメーター 自動スクロール機能つき - Little Strange Software
                                                                            • 【JavaScript】ありきたりなマウスストーカーを作ってみました - Little Strange Software

                                                                              どうも!LSSです!! 昔、HTML4.0の頃に自分も作ってみた事はありましたが、ちょっと試しに「ありきたりなマウスストーカー」を作ってみました。 ※1/25追記。PC(Windows+Chrome)とiPhone7で動作確認していましたが、Androidスマホで動作しなかったため、一部コード修正しました。 コード コード解説 HTML部分 コード解説 CSS部分 コード解説 スクリプト部分 あとがき コード ^^) _旦~~ <style> #stalker{ position:absolute; pointer-events: none; transition:linear 0.1s; } </style> <div id="stalker">^^) _旦~~</div> <p> <script> stkx=0;stky=0; pntx=0;pnty=0; stks=10;//速度調整

                                                                                【JavaScript】ありきたりなマウスストーカーを作ってみました - Little Strange Software
                                                                              • Raspberry Pi PicoをJavaScriptで制御できるWeb開発環境「Kaluma」を使ってみた! -

                                                                                どうも、まさとらん(@0310lan)です! 今回は、Raspberry Pi Picoを純粋なJavaScriptで制御可能な無料のWebサービスをご紹介します。 OSやデバイスを問わずRaspberry Pi PicoをUSBに挿すだけで、あとはブラウザから専用のWebエディタにアクセスしてプログラミングできるのが大きな特徴です(Chromebookからも利用可能)。 Raspberry Pi Picoは、一般的にC/C++かPythonでの開発が主流なのですが、今回ご紹介するサービスを活用すればJavaScriptをフルに活用できるのでご興味ある方はぜひ参考にしてください。 【 Kaluma 】 ■「Kaluma」の使い方 それでは、「Kaluma」をどのように使えばいいのか詳しく見ていきましょう! 「Kaluma」は、簡単に言うとマイコン向けのJavaScriptランタイムを提供す

                                                                                  Raspberry Pi PicoをJavaScriptで制御できるWeb開発環境「Kaluma」を使ってみた! -
                                                                                • 位置情報 AR にスマホのブラウザだけでチャレンジ - 虎の穴ラボ技術ブログ

                                                                                  虎の穴ラボおっくんです。暑い夏、いかがお過ごしでしょうか? この記事は、虎の穴ラボ 夏のアドベントカレンダーの14日目の記事です。 今回のアドベントカレンダーも引き続き「見た目でわかるビジュアルネタ5連発」の第4弾となります。 13日目は、A.M.さんによる「【Go言語】アスキーアートでダンジョンから脱出するゲームを作ってみた」が投稿されました。 15日目は、Mさんによるビジュアルネタ「🔴サーバーにエラーが起きた時にVSCodeを真っ赤にしよう🔴」が公開されますこちらも御覧ください。 発端 去る 2022 年 5 月 11 日 Google I/O で、Geospatial API という位置情報を使用した AR に利用する API が公開されました。 しかしながら ARcore 向けの API なので Chrome で扱えるものではないわけです。 悔しい実に悔しいので、ブラウザででき

                                                                                    位置情報 AR にスマホのブラウザだけでチャレンジ - 虎の穴ラボ技術ブログ