並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 233件

新着順 人気順

javascript switch breakの検索結果1 - 40 件 / 233件

  • Just fucking use HTML

    Hey, dipshit! You know what loads faster than your bloated, overengineered mess? Plain, unadulterated HTML. And you know what doesn't break every motherfucking Tuesday? HTML that just fucking works. Why the fuck are you overcomplicating things, you masochistic fuck? You're out here acting like you're building the next goddamn moon landing when all you need is a button and some text. Newsflash, ass

      Just fucking use HTML
    • 4 ステップでモダンな tsconfig.json を作る - mizdra's blog

      tsconfig.json を使うと、型チェックを緩く/強くしたり、また出力する JS の形式を変えたりできる。しかしいくつかの事情から、正しく書くのが難しい。 オプションの数が非常に多い その数なんと 133 個 *1 オプションの意味や役割が理解しにくい 公式ドキュメントは丁寧にかかれているが... JavaScript や TypeScript の仕様、型の知識、歴史的経緯などを知らないと理解しづらい 推奨されるオプションが変わっていく 言語やエコシステムの進化/変化によって変わる 最近だと Node.js の TypeScript サポートで変わった 「オプションの細かい意味とかは一旦いいから、モダンで最小限の tsconfig.json がすぐに欲しい!!!」。そうした声に応えて、id:mizdra がオススメする「4 ステップでモダンな tsconfig.json を作る方法」

        4 ステップでモダンな tsconfig.json を作る - mizdra's blog
      • プログラミング言語オタクとして改めてC#を語りたい

        皆さんはC#、使っていますか? 世界的には人気の言語であるC#ですが、残念ながら日本ではあまり流行っていないというのが現状です。というわけで色々なプログラミング言語をかじっている身としては、ちゃんとC#の良さを知ってもらいたい!ということで改めて筆を取った次第です。 C#だけでなくGoやRust、Swiftなどの様々な言語の話を盛り込んでいるので、普段からC#を使っているという方もそうでない方も、是非一度この記事に目を通してもらえると嬉しいです。 この記事を書いたきっかけ 私がこの記事を書き始めたのは、何縫ねの。さんによる下の記事がきっかけだったりします。 内容に関してはC#に関わるあらゆる良さが語られていて非常に良い記事なので、是非とも一読することをお勧めします。特に事前知識: C# と .NETあたりの項目はこの記事では前提知識として説明を省略しているため、.NETが何かをよく知らない

          プログラミング言語オタクとして改めてC#を語りたい
        • 【PoC編】XSSへの耐性においてブラウザのメモリ空間方式はLocal Storage方式より安全か? - GMO Flatt Security Blog

          はじめに こんにちは。 セキュリティエンジニアの@okazu-dm です。 この記事は、Auth0のアクセストークンの保存方法について解説した前回の記事の補足となる記事です。前回の記事の要旨をざっくりまとめると以下のようなものでした。 Auth0はデフォルトではアクセストークンをブラウザのメモリ空間上にのみ保存するin-memory方式であり、XSSへの耐性のなさ等の理由でlocalStorageで保存することを推奨していない しかし、XSSでアクセストークンを奪取できるのはin-memory方式でも同じのはず(検証は行いませんでした)。localStorage方式を過度に忌避する必要はないのではないか なお、Flatt Securityの提供するセキュリティ診断はAuth0に限らずFirebase AuthenticationやAmazon CognitoなどのIDaaSのセキュアな利用

            【PoC編】XSSへの耐性においてブラウザのメモリ空間方式はLocal Storage方式より安全か? - GMO Flatt Security Blog
          • 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
            • Deno で 学ぶ React のサーバサイドレンダリング - 30歳からのプログラミング

              Deno で React のサーバサイドレンダリング(以下、SSR)を実現する方法をハンズオン形式で書いていく。 自分が調べた範囲では、単に JSX で HTML を構築して終わり、という記事が多かった。それではあまり実用的ではないので、この記事ではハイドレーションまで行う。 また、React で SSR する方法を調べたところ、ほとんどの記事が Next.js を前提としていた。確かに Next.js を使わずに SSR するケースはあまりないだろうし、記事としても需要がないのだと思う。 しかし、Next.js のようなフレームワークが裏側で何をやってくれているのかを知ることで、SSR に対する理解を深めることができる。 事実、私は SSR をほとんど使ったことがなかったが、この記事を書くことでかなり考えを整理することができた。 Deno のバージョンは1.11.2で動作確認している。

                Deno で 学ぶ React のサーバサイドレンダリング - 30歳からのプログラミング
              • 防衛省サイバーコンテスト 2025 writeup - st98 の日記帳 - コピー

                2/2に12時間というちょうどよい競技時間で開催された。21時終了だったけれども、11時45分ぐらいに最速で全完して1位🎉 第1回以来4年ぶりの優勝だ。昨年大会の第4回ではヒントの閲覧数で優勝を逃してしまって悔しい思いをしたので、雪辱を果たすことができ嬉しい。開始直後からずっと1位を独走できており、510名のプレイヤーがいる中で圧勝だったのも嬉しい。 昨年度や一昨年度はバルクが作問を担当していたが、今回はAGESTが担当していた。これまでの問題と比較すると全体的に易化したように思うが、解くにあたって発想の大きな飛躍を必要とするいわゆる「エスパー要素」のある問題はごく一部を除いて存在しておらず*1、よかったと思う。また、昨年度・一昨年度に引き続きwriteupは公開可能というのもよかった。 戦略というほどの戦略は立てていなかったけれども、とりあえずWebを見た後は全カテゴリを上から見ていき

                  防衛省サイバーコンテスト 2025 writeup - st98 の日記帳 - コピー
                • 自作したRISC-V向けCコンパイラでセルフホストまでこぎつけた - 詩と創作・思索のひろば

                  低レイヤを知りたい人のためのCコンパイラ作成入門 まさに低レイヤのことが分かっておらず、以前から気になっていたこの本。取り掛かってみたところ思いのほかスイスイ進められて、勢いに乗ってセルフホスト(自分が書いたコンパイラで自分自身をコンパイルするところ)までいけたので記念に書いておく。正確には C コンパイラのサブセットです。 GitHub - motemen/mocc 全体的な進め方は、 上記の本の通りに進めていく。 それ以降は自作の 8queen が普通に書けるように機能を強化。 それ以降はセルフホストを目標に進める。 プリプロセッサやリンカは作らず、C からアセンブリまで。 という感じ。自分は手を動かさないと進んでる気がしないので、まずは書いてみつつわからない所があれば調べる、というスタンスでいく。 あと、せっかくなので RISC-V の勉強もしたかったのでこれ向けに書く。なので実行は

                    自作したRISC-V向けCコンパイラでセルフホストまでこぎつけた - 詩と創作・思索のひろば
                  • TypeScriptの条件分岐をスマートに記述するためのTips - Nealle Developer's Blog

                    はじめに こんにちは、ARCH チームの立川です。 今回が初めてのテックブログになります。 先日、社内で「条件分岐をスマートに評価する」というテーマで、TypeScript(JavaScript)における条件分岐の書き方について発表する機会がありました。古いコードに触れる中で、見通しの悪い記述を多く見かけることがあったため、発表に至った経緯があります。 この記事では、その発表内容をベースにコードの可読性を高める条件分岐のテクニックをご紹介します。基礎的な内容ではありますが、少しでも役立つヒントがあれば幸いです! 三項演算子をよりスマートに使うためのヒント 三項演算子は非常に便利ですが、状況によってはもっとシンプルで読みやすい代替手段があります。ここでは、等価な三項演算子と比較しながら、それらの方法を紹介します。 null 合体演算子( ?? )を活用する null 合体演算子は、左辺が n

                      TypeScriptの条件分岐をスマートに記述するためのTips - Nealle Developer's Blog
                    • AI エージェントがインタラクティブな UI を返すことを可能にする MCP UI

                      TypeScript SDK を使用して MCP UI を実装する MCP UI では TypeScript と Ruby の SDK が提供されています。ここでは TypeScript SDK を使用します。サーバー向けの SDK とブラウザ向けの SDK がそれぞれ提供されています。 @mcp-ui/server - npm: MCP の Resource を実装するためのヘルパー関数を提供する @mcp-ui/client - npm: インタラクティブな UI コンポーネントを提供する. React コンポーネントと Web コンポーネントの両方が提供される。 まずはサーバー側の実装から始めましょう。MCP サーバーの実装として Cloudflare が提供する agents パッケージを使用します。agents パッケージは Streamable HTTP を使用したリモート M

                        AI エージェントがインタラクティブな UI を返すことを可能にする MCP UI
                      • DevTools の Web 技術でできている部分を覗き見る - polamjaggy

                        この記事ははてなエンジニア Advent Calendar 2021 の 22 日目の記事です。 昨日の記事は id:shimobayashi さんの アジャイル推進活動にここ1年で吉兆がみえてきた要因について - 下林明正のブログ でした。 Chrome の DevTools の UI 部分は Web 技術でできています。Web 技術でできているので、DevTools を DevTools で inspect することもできます。 example.com を inspect している画面を inspect している様子 このことを知ったのは、10MB くらいある JavaScript ファイルにブレークポイントを貼りつつデバッグしていたら DevTools が固まるようになってしまい、ブレークポイントを解除しようにもその前に DevTools がフリーズしてしまうので詰んだ……、という出

                          DevTools の Web 技術でできている部分を覗き見る - polamjaggy
                        • Goでダブルポインタを知った話 - カミナシ エンジニアブログ

                          こんにちは。カミナシ ソフトウェアエンジニアのAomanです。 最近ちょこちょこアルゴリズムやデータ構造、Goのキャッチアップしています。 そんな中、go.devのブログ Go blog のとある記事でダブルポインタを使用するコードに出会いました。筆者は今まで、RubyやJavaScript/TypeScriptなどの言語を多く触っていたためか、お恥ずかしながらダブルポインタを使うコードを初めて見たので「なんなのだこれは…」と戸惑いました。本記事ではそんなダブルポインタが使われていたコードについて、簡単にご紹介したいと思います。 そもそもダブルポインタとは? その名の通りポインタのポインタのことなのですが、わからない方は下記の記事がわかりやすくまとまっており参考になると思います。 daeudaeu.com ダブルポインタと聞いて、まずはじめに思った感想は「そんなもの必要?」です。今まで使っ

                            Goでダブルポインタを知った話 - カミナシ エンジニアブログ
                          • HTTP/1.0 From Scratch

                            Introduction In our previous exploration, we delved into the simplicity of HTTP/0.9, a protocol that served as the web’s initial foundation. However, as the internet evolved, so did its needs. Enter HTTP/1.0, a landmark version released in 1996 that laid the groundwork for the web we know today. HTTP/1.0 was a game-changer, introducing features that revolutionized web communication: Headers: Metad

                              HTTP/1.0 From Scratch
                            • Why We're All-In on MCP - Mastra Blog

                              Tool integration for AI agents is a mess. Even for developers building agents every day, it's frustrating to navigate the fragmented ecosystem. Finding high-quality tools is difficult - search for "MCP Calendar integration" and you'll find ten different implementations with no way to know which one is best. If you've ever tried to integrate tools with an LLM, you know this pain. Tool discovery, in

                                Why We're All-In on MCP - Mastra Blog
                              • MCP におけるインタラクティブな UI を標準化する拡張機能 MCP Apps の提案

                                MCP Apps は MCP の拡張機能として、AI エージェントがインタラクティブな UI コンポーネントを返すための標準化された方法を提供します。この記事では MCP Apps の概要と実装方法について解説します。 ChatGPT の Apps SDK や MCP-UI のように AI エージェントがチャット形式の対話だけでなく、インタラクティブな UI を通じてユーザーとやり取りできる仕組みが注目されています。AI エージェントが UI を返すことで、会話の流れの中で以下のような体験を提供できます。 「おすすめのランニングシューズを探して」と尋ねると、複数のシューズの画像と価格が表示され、ユーザーは気に入ったものをクリックしてカートに追加できる ホテルの予約を依頼すると、利用可能な部屋のリストが表示され、ユーザーは日付や人数を選択して予約手続きを進められる 希望にあった賃貸物件を探す

                                  MCP におけるインタラクティブな UI を標準化する拡張機能 MCP Apps の提案
                                • JavaScript 第7版

                                  JavaScriptは最も多くのソフトウェア開発者に使用されているプログラミング言語です。JavaScriptを包括的に解説する本書は、第6版から大幅に加筆および更新し、全面改訂しました。 はじめにJavaScript言語仕様の基本的な構文と機能について豊富なサンプルコードを使って学習します。そしてJavaScript標準ライブラリを詳述し、Webブラウザで使われるクライアントサイドJavaScriptやNode.jsで使われるサーバサイドJavaScriptについてわかりやすく説明します。またNode形式と標準形式のモジュールの使い方、イテレータとジェネレータ、async/awaitやPromiseなどの非同期プログラミングの新しい構文、クラスの定義方法などを紹介し、さらにツール群や言語拡張機能、理解の難しいJavaScript特有の動きなどについても学ぶことができます。 Webプラット

                                    JavaScript 第7版
                                  • 新しい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を試す
                                    • Next.js 13 vs Remix: An In-depth case study — Prateek Surana

                                      When it comes to building web applications, React has been at the forefront for a while now, and its adoption continues to grow. Among the most common approaches to building web applications with React, Next.js stands out as one of the most preferred options. Next.js has also been in the limelight since last year when they released their biggest update to the framework ever with the app router. Th

                                        Next.js 13 vs Remix: An In-depth case study — Prateek Surana
                                      • TypeScript's Migration to Modules - TypeScript

                                        One of the most impactful things we’ve worked on in TypeScript 5.0 isn’t a feature, a bug fix, or a data structure optimization. Instead, it’s an infrastructure change. In TypeScript 5.0, we restructured our entire codebase to use ECMAScript modules, and switched to a newer emit target. What to Know Now, before we dive in, we want to set expectations. It’s good to know what this does and doesn’t m

                                          TypeScript's Migration to Modules - TypeScript
                                        • モーダルやツールチップで役立つ! HTMLのcommandとinterestfor属性を使って、JSを減らすスマートなUI開発 - ICS MEDIA

                                          モーダルやツールチップで役立つ! HTMLのcommandとinterestfor属性を使って、JSを減らすスマートなUI開発 HTMLとCSSは進歩していますが、以前はJavaScriptが必須だった機能も、今ではHTMLとCSSだけで実現できることも増えています。HTMLの新属性command属性とcommandfor属性、そしてinterestfor属性を使うとダイアログやポップオーバーをHTMLのみで操作できます。本記事ではHTMLからコマンドを宣言してUIを操作するという新しいアプローチも紹介します。 command / commandfor属性とinterestfor属性を使ってJavaScriptなしで操作する まずはcommand属性およびcommandfor属性、そしてinterestfor属性を使ってJavaScriptなしで実装できるようになった、ダイアログとポップオ

                                            モーダルやツールチップで役立つ! HTMLのcommandとinterestfor属性を使って、JSを減らすスマートなUI開発 - ICS MEDIA
                                          • M1RACLES: An Apple M1 Vulnerability

                                            M1RACLES (CVE-2021-30747) is a covert channel vulnerability in the Apple Silicon “M1” chip. Executive Summary A flaw in the design of the Apple Silicon “M1” chip allows any two applications running under an OS to covertly exchange data between them, without using memory, sockets, files, or any other normal operating system features. This works between processes running as different users and under

                                              M1RACLES: An Apple M1 Vulnerability
                                            • Inkbase: Programmable Ink

                                              With pen and paper, anyone can write a journal entry, draw a diagram, perform a calculation, or sketch a cartoon. Digital tablets like the iPad or reMarkable can adapt pen and paper into the world of digital media. In doing so, they trade away some of paper’s advantages like cheapness and tangibility. In exchange, we get new computational powers like nondestructive editing and ease of transmission

                                                Inkbase: Programmable Ink
                                              • HTTP/3 From A To Z: Core Concepts — Smashing Magazine

                                                After almost five years in development, the new HTTP/3 protocol is nearing its final form. Earlier iterations were already available as an experimental feature, but you can expect the availability and use of HTTP/3 proper to ramp up over in 2021. So what exactly is HTTP/3? Why was it needed so soon after HTTP/2? How can or should you use it? And especially, how does it improve web performance? Let

                                                  HTTP/3 From A To Z: Core Concepts — Smashing Magazine
                                                • TypeScript 向けの AI フレームワーク TanStack AI を試してみた

                                                  TanStack AI は TanStack チームが開発する TypeScript 向けの軽量な AI フレームワークです。LLM プロバイダーのインターフェイスを抽象化し、ツール呼び出しやチャット機能を提供します。この記事では TanStack AI の概要と基本的な使い方を紹介します。 AI エージェントの開発をする上で LLM の API 呼び出しを抽象化してくれるフレームワークは欠かせないものと言えるでしょう。OpenAI や Anthropic などの主要な LLM プロバイダーはそれぞれ公式 SDK を提供していますが、それぞれ異なるインターフェイスを提供しているため複数の LLM モデルを切り替えながら開発する場合には煩雑さが増してしまいます。 この差異を吸収してくれるフレームワークとして TypeScript なら AI SDK、Python なら LangChain が

                                                    TypeScript 向けの AI フレームワーク TanStack AI を試してみた
                                                  • Branded Typeから小さく始める型安全なエラーハンドリング - カミナシ エンジニアブログ

                                                    はじめに TypeScriptで開発していると、エラーハンドリングの難しさに直面することがあります。 定番のResult型やEither型などの素晴らしいアプローチもありますが、これらは導入コストが高く、チーム全体に浸透させるのが難しいこともあるでしょう。 本記事では、小さく始められてチームに浸透させやすい、Branded Typeを使って型安全なエラーハンドリングを実現する方法を紹介します。 自己紹介 カミナシ StatHackカンパニーの かわりくです! 普段は食品表示ラベルをAIで検査するプロダクトを開発しています! kaminashi.jp note.kaminashi.jp TypeScriptの例外処理の問題点 1. catchブロックのerrorはunknown型になる const invalidJson = '{"name": "John",}'; try { const

                                                      Branded Typeから小さく始める型安全なエラーハンドリング - カミナシ エンジニアブログ
                                                    • An introduction to WebAssembly for JavaScript Developers

                                                      If you transmit a number whereas an integer encoded on 64 bits is expected you will get an exception: let run = async () => { try { let bytecode = await fetch("add/add.wasm"); let wasm = await WebAssembly.instantiateStreaming(bytecode); console.log(wasm.instance.exports.addInt64(1,2)); } catch(e) { console.error(e); } }; > run().then(); TypeError: wasm function signature contains illegal type Call

                                                      • Replit — How to train your own Large Language Models

                                                        Learn how Replit trains Large Language Models (LLMs) using Databricks, Hugging Face, and MosaicML IntroductionLarge Language Models, like OpenAI's GPT-4 or Google's PaLM, have taken the world of artificial intelligence by storm. Yet most companies don't currently have the ability to train these models, and are completely reliant on only a handful of large tech firms as providers of the technology.

                                                          Replit — How to train your own Large Language Models
                                                        • Slack Agents & AssistantsとMCPを組み合わせてNotionデータベースを操作するAIエージェントを作ってみた - ジパンク Tech Blog

                                                          こんにちは、株式会社ジパンクCTOの太田です! 社内のタスク管理にNotionを使っている場合、Slackから直接タスクの作成やステータス変更ができると便利ですよね。 昨年末頃からSlackで「Agents & Assistants」という新機能が利用できるようになり、対話的なUIでいろいろな操作を実現しやすくなりました。 そこで今回は、Slack Agents & AssistantsとMCPを組み合わせた、Notionデータベースの操作をしてくれるAIエージェントの構築方法をハンズオン形式で紹介します。 最終的にAWS Lambda Functionにデプロイし、実際の社内アプリケーションとして動かすところまでカバーするので、AIエージェント活用に興味がある方はぜひ参考にしてみてください! この記事が、SlackをインターフェイスとしたAIエージェントとの協働の第一歩となれば幸いです。

                                                            Slack Agents & AssistantsとMCPを組み合わせてNotionデータベースを操作するAIエージェントを作ってみた - ジパンク Tech Blog
                                                          • Turing Machines

                                                            ALAN M. TURING 23 June 1912 – 7 June 1954 F | | P(T) R P(u) R P(r) R P(i) R P(n) R P(g) R P( ) R P(M) R P(a) R P(c) R P(h) R P(i) R P(n) R P(e) R P(s) R -> B B | | L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) L P( ) -> F 2024-12-20 Translations: English, Spanish In 1928, David Hilbert, one of the most influential mathematicians of his time, aske

                                                              Turing Machines
                                                            • Sublime Text 4

                                                              The first stable release of Sublime Text 4 has finally arrived! We've worked hard on providing improvements without losing focus on what makes Sublime Text great. There are some new major features that we hope will significantly improve your workflow and a countless number of minor improvements across the board. A huge thanks goes out to all the beta testers on discord and all the contributors to

                                                                Sublime Text 4
                                                              • CVE-2024-4367 - Arbitrary JavaScript execution in PDF.js - Codean Labs

                                                                This post details CVE-2024-4367, a vulnerability in PDF.js found by Codean Labs. PDF.js is a JavaScript-based PDF viewer maintained by Mozilla. This bug allows an attacker to execute arbitrary JavaScript code as soon as a malicious PDF file is opened. This affects all Firefox users (<126) because PDF.js is used by Firefox to show PDF files, but also seriously impacts many web- and Electron-based a

                                                                  CVE-2024-4367 - Arbitrary JavaScript execution in PDF.js - Codean Labs
                                                                • Welcome to Wildebeest: the Fediverse on Cloudflare

                                                                  The Fediverse has been a hot topic of discussion lately, with thousands, if not millions, of new users creating accounts on platforms like Mastodon to either move entirely to "the other side" or experiment and learn about this new social network. Today we're introducing Wildebeest, an open-source, easy-to-deploy ActivityPub and Mastodon-compatible server built entirely on top of Cloudflare's Super

                                                                    Welcome to Wildebeest: the Fediverse on Cloudflare
                                                                  • Reimagine Atomic CSS

                                                                    [[toc]] This post will be a bit longer than usual. It's quite a big announcement to me, and there are many things I want to talk about. I'll be appreciated if you take the time to read through it. The table of contents is hidden on the left if you are on a desktop. Hope you enjoy :) 中文 Chinese Version What is Atomic CSS? Let's first give a proper definition to Atomic CSS: From this article by John

                                                                      Reimagine Atomic CSS
                                                                    • JavaScriptの識別子

                                                                      JavaScriptの識別子として使えるもの・使えないものに関して整理しました。 識別子、予約語、キーワード ECMAScriptでは識別子、予約語、キーワードを以下のように使っています 識別子 (identifier) とは、ざっくり言うとローカル変数名に使える名前のことです。が、この定義は細かいことを言うと状況によってぶれがあり複雑です。これを細かく見ていくのが本記事の主眼です。 例: foo 規格上は Identifier がこれに相当しますが、様々な例外を勘案するとこれをそのまま使うのが自然とは言えないため、以降では微妙に異なる定義を採用します。 予約語 (reserved word) とは、識別子と同じ形式であるにも関わらず識別子としては使えないもののことです。 例: if, public (strict modeの予約語だが、使い道はない) 非例: async (識別子として自

                                                                        JavaScriptの識別子
                                                                      • New Suspense SSR Architecture in React 18 · reactwg/react-18 · Discussion #37

                                                                        Overview React 18 will include architectural improvements to React server-side rendering (SSR) performance. These improvements are substantial and are the culmination of several years of work. Most of these improvements are behind-the-scenes, but there are some opt-in mechanisms you’ll want to be aware of, especially if you don’t use a framework. The primary new API is renderToPipeableStream, whic

                                                                          New Suspense SSR Architecture in React 18 · reactwg/react-18 · Discussion #37
                                                                        • Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl

                                                                          Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl Birgitta is a Distinguished Engineer and AI-assisted delivery expert at Thoughtworks. She has over 20 years of experience as a software developer, architect and technical leader. This article is part of “Exploring Gen AI”. A series capturing Thoughtworks technologists' explorations of using gen ai technology for software development.

                                                                            Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl
                                                                          • Hypershell: A Type-Level DSL for Shell-Scripting in Rust | Context-Generic Programming

                                                                            Discuss on Reddit, Lobsters, and Hacker News. Summary I am thrilled to introduce Hypershell, a modular, type-level domain-specific language (DSL) for writing shell-script-like programs in Rust. Hypershell is powered by context-generic programming (CGP), which makes it possible for users to extend or modify both the language syntax and semantics. Table of Contents Estimated reading time: 1~2 hours

                                                                              Hypershell: A Type-Level DSL for Shell-Scripting in Rust | Context-Generic Programming
                                                                            • 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

                                                                              • State of JavaScript 2025

                                                                                When the long-awaited Nintendo Switch 2 recently came out, it had been eight years since the original Switch. Can you imagine what that must've been like for those poor game developers? Eight long years having to develop for the same platform, with no new APIs, no new capabilities, no new bugs, no new versions that break your build… Those poor souls! Thankfully that's something we won't ever have

                                                                                  State of JavaScript 2025
                                                                                • WebKit Features in Safari 17.0

                                                                                  Sep 18, 2023 by Jen Simmons and the Safari / WebKit Team Today’s the day for Safari 17.0. It’s now available for iOS 17 and iPadOS 17. [Update September 26th] And now, Safari 17.0 is available for macOS Ventura, and macOS Monterey, and macOS Sonoma. Safari 17.0 is also available in the vision OS Simulator, where you can test your website by downloading the latest beta of Xcode 15, which supports t

                                                                                    WebKit Features in Safari 17.0