並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 42件

新着順 人気順

JavaScriptの検索結果1 - 40 件 / 42件

  • Webサービス公開前のチェックリスト

    個人的に「Webサービスの公開前チェックリスト」を作っていたのですが、けっこう育ってきたので公開します。このリストは、過去に自分がミスしたときや、情報収集する中で「明日は我が身…」と思ったときなどに個人的にメモしてきたものをまとめた内容になります。 なお、この記事では各項目の解説はあまり入れていません。2024年7月10日のClassmethod Odysseyで少し詳しく話そうと思っているので、よかったら聞きにきてください。オンラインなので無料です。 セキュリティ 認証に関わるCookieの属性 HttpOnly属性が設定されていること XSSの緩和策 SameSite属性がLaxもしくはStrictになっていること 主にCSRF対策のため。Laxの場合、GETリクエストで更新処理を行っているエンドポイントがないか合わせて確認 Secure属性が設定されていること HTTPS通信でのみC

      Webサービス公開前のチェックリスト
    • 生成AIに疑似コードで指示すると自然言語よりも効率的にプログラムが生成できるというアイデアから生まれた、生成AI用の疑似言語「SudoLang」

      生成AIに疑似コードで指示すると自然言語よりも効率的にプログラムが生成できるというアイデアから生まれた、生成AI用の疑似言語「SudoLang」 ChatGPTやCopilotなどの生成AIを用いてコードを生成しようとすると、多くの場合プロンプトを自然言語で書くことになるでしょう。 しかし自然言語で的確にプログラムの内容を表現するのは、ときに面倒だったり、あいまいさを排除することが難しかったりします。 一方で、プログラマが自分でコードを書こうとするとき、あるいは他のプログラマとコードの内容を議論するときに、自然言語をプログラミング言語のような構文で書く、いわゆる「擬似コード」を使うことがよくあります。 例えばこんな風に自然言語をコードっぽくホワイトボードに書いたことのあるプログラマの方は多いのではないでしょうか? 入力値を処理するための関数(A、B){ Aは数字かどうか確認する Bは日付か

        生成AIに疑似コードで指示すると自然言語よりも効率的にプログラムが生成できるというアイデアから生まれた、生成AI用の疑似言語「SudoLang」
      • チュートリアル: Yjs, valtio, React で実現する共同編集アプリケーション - ROUTE06 Tech Blog

        Yjsは、リアルタイム共同編集を実現するためのアルゴリズムとデータ構造を提供するフレームワークです。Notion や Figma のように、1 つのコンテンツを複数人で同時に更新する体験を提供することができます。 Y.Map, Y.Array, Y.Text といった共有データ型を提供し、それらは JavaScript の Map や Array のように利用できます。さらにそのデータに対する変更は他のクライアントに自動的に配布・同期されます。 Yjs は Conflict-free Replicated Data Types (CRDT) と呼ばれるアルゴリズムの実装であり、複数人が同時にデータを操作してもコンフリクトが発生せず、最終的に全てのクライアントが同じ状態に到達するように設計されています。 クイックスタート Y.Map がクライアント間で自動的に同期されるコード例を見てみましょ

          チュートリアル: Yjs, valtio, React で実現する共同編集アプリケーション - ROUTE06 Tech Blog
        • Google広告費の影響を受けない新たなWebブラウザが必要だと、スクラッチからWebブラウザを開発する「Ladybird Browser Initiative」、元GitHub創業者らが立ち上げ

          Google広告費の影響を受けない新たなWebブラウザが必要だと、スクラッチからWebブラウザを開発する「Ladybird Browser Initiative」、元GitHub創業者らが立ち上げ スクラッチから新たにWebブラウザの開発をオープンソースとして行う非営利団体「Ladybird Browser Initiative」の設立が発表されました。 Ladybird Browser Initiativeは、Webブラウザ「Ladybird」およびそのためのレンダリングエンジン「LibWeb」、JavaScriptエンジン「LibJS」などの開発を行います。 Web開発の資金源が広告であるべきではない Ladybird Browser Initiativeを設立したのは、元GitHub創業者兼CEOのChris Wanstrath氏と、NokiaおよびAppleでWebKit開発チーム

            Google広告費の影響を受けない新たなWebブラウザが必要だと、スクラッチからWebブラウザを開発する「Ladybird Browser Initiative」、元GitHub創業者らが立ち上げ
          • MySQL 9.0登場。 JavaScriptストアドプログラムが利用可能に、ベクトル型もサポート

            オラクルはリレーショナルデータベース「MySQL」の新バージョンとなる「MySQL 9.0」をリリースしました。 MySQLは現在、数カ月ごとにリリースされ積極的に新機能が追加されるイノベーションリリース(Innovation Release)と、長期で安定して利用されることを想定して2年ごとにリリースされる長期サポート(LTS:Long Term Support)版の2つに分かれてリリースされています。 現在のLTS版は今年(2024年)4月に登場したMySQL 8.4です。 そして今回リリースされたMySQL 9.0はイノベーションリリースに該当します。最新機能をいちはやく試したい開発者やユーザーのためのリリースです。 MySQL 9.0の主な新機能 MySQL 9.0のドキュメント「What Is New in MySQL 9.0」から、新機能「JavaScriptストアドプログラム

              MySQL 9.0登場。 JavaScriptストアドプログラムが利用可能に、ベクトル型もサポート
            • Node.jsでTypeScriptのコードを実行できるようになるかも - hiroppy's site

              module: add --experimental-strip-types by marco-ippolito · Pull Request #53725 · nodejs/node It is possible to execute TypeScript files by setting the experimental flag --experimental-strip-typ... 💁‍♀️ まだマージされてない点に注意してください --experimental-strip-typesというフラグを実行時に付けることにより、Node.jsでTypeScriptのコードを実行できるようになるPRが出てきました。 背景 TC39でも型注釈の話題(議事録を読むとブラウザとの兼ね合いもあり道のりは長そう)が存在するほどJSのコードにおいて、型は当たり前となっています。 Node.jsと同

                Node.jsでTypeScriptのコードを実行できるようになるかも - hiroppy's site
              • Google、Google Sheetsの計算エンジンをWebAssemblyに最適化し、2倍の性能を実現したと発表

                Google、Google Sheetsの計算エンジンをWebAssemblyに最適化し、2倍の性能を実現したと発表 GoogleはWebブラウザ上でスプレッドシート機能を提供する「Google Sheets」の計算エンジンの性能をWebAssembyで実装し、従来のJavaScriptによる実装と比較して性能を2倍に向上させたことを明らかにしました。 これにより単純なSUM計算から複雑なクエリまで、シート上でのあらゆる計算を始め、ピボットテーブルの作成、条件付きフォーマットなどさまざまな処理が高速になるとのことです。 この性能向上は、JavaScriptで構築されていた計算エンジンをWebAssemblyに最適化したことで実現していると説明されており、そのためにWebAssemby GC(ガベージコレクション)機能を用いたとのことです。 そのため現時点ではChromeとMicrosoft

                  Google、Google Sheetsの計算エンジンをWebAssemblyに最適化し、2倍の性能を実現したと発表
                • GPT-3.5ベースのChatGPTのコーディング能力は「古い問題には有効も新しい問題では困難に直面する」ことが明らかに

                  GoogleやMistral AIなどからプログラミングに特化したAIツールが登場しており、大手テクノロジー企業のCEOが「AIがコードを書くのでもうプログラミングを学ぶ必要はない」と発言するなど、AIによるプログラミングは注目を集めています。そんなAIによるプログラミング能力を分析した研究が公開されており、AIモデルがトレーニングされたタイミングによっては困難に直面することがあることが判明しました。 No Need to Lift a Finger Anymore? Assessing the Quality of Code Generation by ChatGPT | IEEE Journals & Magazine | IEEE Xplore https://ieeexplore.ieee.org/document/10507163 ChatGPT Code: Is the AI

                    GPT-3.5ベースのChatGPTのコーディング能力は「古い問題には有効も新しい問題では困難に直面する」ことが明らかに
                  • エッジは誰のもの? - ゆーすけべー日記

                    CDNの文脈でいうエッジコンピューティングはフロントエンドのものとされることが多い気がするけど、そうじゃない。フロントエンドの技術を使ったバックエンドである。 フロントエンド? ユーザーに近いところで実行されるという意味ではフロントエンドかもしれない。あと、VercelのNext.jsのように、フロントエンドフレームワークのファンクションがエッジで動くからフロントエンドでしょというのはある。そしてエッジのファンクションはたいていフロントエンドで使われているJavaScriptもしくはTypeScriptで書く。そうするとツールチェーンも、例えば「Vite」と聞いてそれが何であるか?を答えられる人はフロントエンドやってる人の方が多いだろう。 2つのユースケース エッジには2つのユースケースがある。 CDNの機能を拡張する。オリジンありき。 サーバーレスコンピュート。オリジンそのものになる。

                      エッジは誰のもの? - ゆーすけべー日記
                    • ChatGPT Artifactsができた? GPT-4oでもClaudeみたいな楽しいプロンプト開発ができるのだ(CloseBox) | テクノエッジ TechnoEdge

                      この問題を解決するにはどうしたら良いか? ChatGPTにもGeminiにも毎月お布施をしているし、彼らも同レベルの機能を持っているのだから、Claudeの休眠期間中はそっちを使えばいいのではないか。 そう考えていたところ、良い助け舟が。 ChatGPTにArtifacts機能を追加しますよ、というソフトの開発者からメンションが飛んできました。 このソフトはGitHubで公開されているので、普段使っているM1 iMacにインストールしてみました。git cloneしてNode.jsをインストールしてという、自分にとってはなかなかハードルの高いインストール方法でしたがなんとか動くようになりました。 使うにはOpenAIのAPI Keyが必要です。つまりChatGPT-Artifactsという名前ではありますが、実際はAPIで呼び出しているわけです。ChatGPTっぽいプロンプト操作でGPT-

                        ChatGPT Artifactsができた? GPT-4oでもClaudeみたいな楽しいプロンプト開発ができるのだ(CloseBox) | テクノエッジ TechnoEdge
                      • Modern Emacs Typescript Web (React) Config with lsp-mode, treesitter, tailwind, TSX & more - Ovi Stoica

                        Table of Contents Introduction Part 1: Treesitter for Typescript & TSX LSP Support Completion setup Linter setup LSP Setup Eslint (Optional) Tailwind LSP Server LSP Performance Emacs LSP Booster Structural editing Formatting buffers with Prettier Other resources Conclusion Introduction I've worked within the JS ecosystem for the past 8 years using editors like Webstorm and VSCode, I started using

                        • Polyfill.io事件まとめ - Qiita

                          概要 Polyfill.ioという広く利用されているJavaScriptライブラリにマルウェアを混入される事件が発生しました。このPolyfill.ioは、ウェブサイトが異なるブラウザで正しく動作するための互換性を提供するコードを提供しています。 事件の概要 買収とマルウェアの注入: 2024年2月、Polyfill.ioのドメインとGitHubアカウントが中国の企業Funnullに買収されました。その後、このライブラリにマルウェアが注入されました​。 影響: マルウェアは、cdn.polyfill.ioから提供されるスクリプトに含まれ、これを利用している約100,000のウェブサイトに影響を及ぼしました。ユーザーがこれらのウェブサイトを訪れると、マルウェアが実行され、データ盗難や不正なリダイレクトなどの被害が発生する可能性がありました​。 検出と対応: セキュリティ企業のSansecやそ

                            Polyfill.io事件まとめ - Qiita
                          • Web Performance Guide | SpeedCurve

                            New to the world of web performance? Welcome! Here's everything you need to know to master website monitoring, analytics, and diagnostics. Learn how to deliver a fast, joyous experience to all your users. Business Success Making your pages faster isn't just for the web performance geeks in your organization. Site speed affects every business metric you care about – from bounce rate to conversions

                              Web Performance Guide | SpeedCurve
                            • Webページ用UIフレームワーク「Svelte」とは? プレーンで軽量なJavaScript生成を体験しよう!

                              「Svelte」はWebページ用UIフレームワークで、コンパイル時にプレーンなJavaScriptを生成するといった特徴があります。本連載ではSvelteの活用方法を順を追って説明していきます。初回となる今回は、Svelteの概要と特徴を説明するとともに、実際にプロジェクトを作成して実行させ、Svelteを体験します。 はじめに WebページのUIを構築するためのライブラリやフレームワークは、ReactやVue.js、Angularといったさまざまなものが存在します。本記事で取り上げるSvelteも、そのようなフレームワークの1つです。 図1 Svelteの公式ページ 他のライブラリやフレームワークでは、それ自体のコードがブラウザーに読み込まれて実行されるのに対して、Svelteでは、Svelte自身のコードを含まないプレーンなJavaScriptをコンパイルで生成するため、実行ファイルサ

                                Webページ用UIフレームワーク「Svelte」とは? プレーンで軽量なJavaScript生成を体験しよう!
                              • Object.groupBy で作られるオブジェクトの prototype は null - Object.create(null)

                                おさらい: prototype JavaScript のオブジェクトはみんな prototype というのを持っていて, この prototype からプロパティを継承, より正確には, プロパティアクセス時にそのプロパティがオブジェクトに存在しなければ prototype を辿って見つけにいくことになっている. あるオブジェクトを prototype とした別のオブジェクトを作るには Object.create を使う (あるいは new 演算子や __proto__ を使っても良い). const x = {}; x.foo = "foo"; const y = Object.create(x); y.bar = "bar"; const z = Object.create(y); z.baz = "baz"; console.log(z.foo); // => "foo" conso

                                  Object.groupBy で作られるオブジェクトの prototype は null - Object.create(null)
                                • 【React】useMediaQuery は最終手段にしよう

                                  こんにちは、エンジニアです。 本記事ではuseMediaQueryを使うべきではない理由を説明します。 useMediaQueryとは window.matchMediaの判定結果を取得するカスタムフックを指します。 window.matchMediaはCSSでできるメディアクエリの判定をJavaScriptでも可能にするブラウザAPIです。それをReact Hooksと組み合わせることで、宣言的に判定を行えるようなカスタムフックとなります。 過去にuseSyncExternalStoreを使って実装する記事を書いたので参考にしてみてください。 上の記事ではuseSyncExternalStoreの使い道を説明するのが目的だったのですが、Reactのフックとしてメディアクエリを使える、使っても良いと捉えられてしまったようで、題材選びを少し反省しています(?) 以下はユーティリティ系ライブラ

                                    【React】useMediaQuery は最終手段にしよう
                                  • 2024年|CANARY Web の技術スタック

                                    はじめに こんにちは。カナリーでソフトウェアエンジニアをしている @yoshi-jr です。 私たちは 【もっといい「当たり前」をつくる】 をミッションに掲げている不動産テックカンパニーです。弊社では、現在下記のプロダクトを運用しています。 「Canary」: BtoC の部屋探しポータル(アプリ/Web) 「Canary Cloud」: BtoB SaaS(不動産の仲介会社様向けの顧客管理システム) この記事では、 CANARY のウェブ版(以降 CANARY Web)で利用している技術スタックをまとめています。 この記事を読んでわかること CANARY Web について技術スタックの全体像・概要が理解できる 話すこと CANARY Web のアーキテクチャ CANARY Web で利用しているモジュールとその歴史 話さないこと CANARY Web 視点以外でのアーキテクチャ 各モジュ

                                      2024年|CANARY Web の技術スタック
                                    • Ruby研究シリーズ1: メソッド定義構文はどう決定され、どう進化したか(翻訳)|TechRacho by BPS株式会社

                                      概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: The design decisions and evolution of a method definition - Ruby case study 原文公開日: 2024/06/14 原著者: zverok 日本語タイトルは内容に即したものにしました。また、主にRuby以外のユーザーに向けたサイドストーリー的なパラグラフは囲みスタイルにしています。 本記事は、新シリーズ記事のパート1であり、おそらく書籍の一部として収録されることが見込まれています。Rubyプログラミング言語が設計されたときのさまざまな決定事項と、それらが時とともにどのように進化したか、より広い文脈ではどのように捉えられるかについて研究します。 今回はメソッド定義(method definitions)、つまりメソッド定義の一般的な形と、引数の指定方法を扱います

                                        Ruby研究シリーズ1: メソッド定義構文はどう決定され、どう進化したか(翻訳)|TechRacho by BPS株式会社
                                      • What's coming next for ESLint - ESLint - Pluggable JavaScript Linter

                                        When we released ESLint v9.0.0 in April, it was the first major release in 30 months and formally introduced the new configuration system. ESLint v9.0.0 also made some rule API changes to prepare the core for what’s coming next. After the release, we spent a lot of time creating compatibility utilities, a configuration migration tool, and a rule API transform utility to help the ecosystem move to

                                          What's coming next for ESLint - ESLint - Pluggable JavaScript Linter
                                        • ESModules プラットフォームとエコシステムの狭間で | poteboy

                                          一定の規模以上のWebアプリケーションにおいて、JavaScriptを開発時のままの形で配信することは滅多にありません。webpackやRollupなどのバンドラを使用して、ファイルをまとめた上で配信することが一般的です。 ESModulesが普及しバンドル工程なしでも主要ブラウザがJavaScriptのモジュールを直接解釈できるようにはなりましたが、我々は依然としてバンドラを使用してWebアプリケーションを開発しています。一体なぜでしょうか? いくつか理由はありますが、その内の1つに importのコストが高い ことがあげられます。 これはv8チームが公開しているベンチマーク測定を見ても明らかです。モジュールの読み込みに時間がかかると当然ページの読み込み速度が遅くなり、ユーザー体験が悪化します。 出典: ES Module loading importのコストを削減するためにエコシステム

                                            ESModules プラットフォームとエコシステムの狭間で | poteboy
                                          • ONCE: Writebookのソースコードを調べた - laiso

                                            once.com Writebookについて Writebookは、https://37signals.com/books のようなオンラインブックを構築できるツールです。 これは37signalsのONCEというモダンなパッケージインストール型ソフトウェアを再考したものの一部で、37signalsのポッドキャストでたびたびコンセプトが言及されています*1。ブログ世代としてはMovable Typeを彷彿させます。 Writebookを無料にしている理由は、これをゲートウェイとしてCampfireにも流れていくことを期待しているようです。 セットアップ https://once.com/writebook にアクセスし、登録を行うと、ライセンスキーとインストールコマンドが書かれたメールが送られてきます。 セットアップは、手順に従ってダウンロードしたonceコマンドを使用して行います。このo

                                              ONCE: Writebookのソースコードを調べた - laiso
                                            • Webページ用UIフレームワーク「Svelte」とは? プレーンで軽量なJavaScript生成を体験しよう!

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

                                                Webページ用UIフレームワーク「Svelte」とは? プレーンで軽量なJavaScript生成を体験しよう!
                                              • 技術力の証明と知名度向上の両輪で進め。技術発信をキャリアに活かす戦略とは

                                                フロントエンドエンジニア うひょ TypeScriptとReactが得意なフロントエンドエンジニア。株式会社カオナビ所属。ウェブ上の技術記事や雑誌を通じて技術的な情報発信を続けている。実はJavaScript歴19年。 著書『プロを目指す人のためのTypeScript入門』(技術評論社) X(@uhyo_) 個人サイト(uhy.ooo) 皆さんこんにちは。前々回、前回までのコラムでは、技術発信に興味がある方に向けて、技術記事や登壇資料を作る際の考え方やテクニックをお伝えしてきました。 今回のテーマは、技術発信とキャリアの関係についてです。というのも、私のキャリアはまだそこまで長いものではないですが、それでも技術発信のよい影響を受けてきました。それがなぜなのか、技術発信をキャリアに活かす戦略とはどのようなものなのか考えてみましょう。 もっとも、「好きこそものの上手なれ」とはよくいったもので、

                                                  技術力の証明と知名度向上の両輪で進め。技術発信をキャリアに活かす戦略とは
                                                • Googleの公表はウソだった? 「Chrome」の拡張機能が危険な理由

                                                  Google Chromeには便利な拡張機能が多数ある。だが、研究によればChrome ウェブストアからインストールした拡張機能はそれほど安全ではなく、数億人のユーザーがマルウェアに感染した可能性があるという。 「Google Chrome」(以下、Chrome)に不足している機能を補うには、「Chrome ウェブストア」から拡張機能をダウンロードすればよい。 しかし、ここに問題がある。マルウェアが含まれている可能性があるからだ。スタンフォード大学の研究チームはChrome ウェブストアで配信されている拡張機能を網羅的に調べ、マルウェアなどのリスクがどの程度なのかを確認した。何が分かったのだろうか。 実は危険だったウェブストア 同大学のシェリル・シュー氏とマンダ・トラン氏、オーロア・ファス氏の3人は、まず、Chrome ウェブストアの利用規約やプライバシーポリシーに違反している拡張機能やマ

                                                    Googleの公表はウソだった? 「Chrome」の拡張機能が危険な理由
                                                  • ANY.RUN、64bit版Windows 10の仮想マシンを全ユーザーに提供 マルウェア分析をより強化

                                                    ANYRUN FZCOは2024年7月4日(現地時間)、64bit版「Windows 10」の仮想マシンを全てのユーザーに提供すると発表した。これによって全てのANY.RUNユーザーが最新のOSを使用して脅威分析が可能になる。 ANY.RUNはサンドボックス型のマルウェア分析ツールだ。ユーザーは仮想マシンでマルウェアの挙動をリアルタイムで観察し、分析できるように設計されている。 全てのユーザーで使用可能、64bitマルウェア分析が向上 これまでANY.RUNのコミュニティープランユーザーは32bit版「Windows 7」の基本的な仮想マシンしか利用できず、64bitシステムでの検出率が期待通りに向上しないという課題があった。今回のアップデートで全ユーザーが64bit版Windows 10を利用できるようになり、脅威の検出と分析機能が大幅に向上することが期待されている。 64bit版のWi

                                                      ANY.RUN、64bit版Windows 10の仮想マシンを全ユーザーに提供 マルウェア分析をより強化
                                                    • 未経験からフィヨルドブートキャンプを卒業して、エンジニアになりました! - すずかのプログラミング勉強記

                                                      はじめに 6月半ばに自作サービスのリリースをもって、フィヨルドブートキャンプ(以下FBC)を卒業しました。 加えて並行して行なっていた就職活動で、第一志望の企業より内定をいただくことができ、7/1よりWebエンジニアとして働きはじめました。 この記事では、FBCでの生活や就職活動の振り返りを書きます。 FBCに入会を検討している方、現在学習中の方に読んでいただけると嬉しいです。 はじめに 自己紹介 フィヨルドブートキャンプとは? 入会まで 入会時の状況 FBCに入った理由 プログラミング歴 卒業までにかかった期間 カリキュラムについて Linux Ruby データベース Sinatra Rails JavaScript React チーム開発について 自作サービスについて 楽しかったこと ブートキャンプの開発に関われた ブログやLTでアウトプットできた 仲間ができた 大変だったこと 学習内

                                                        未経験からフィヨルドブートキャンプを卒業して、エンジニアになりました! - すずかのプログラミング勉強記
                                                      • Apple シリコンの macOS で “Docker Desktop vs OrbStack” を検証してみた - PLAY DEVELOPERS BLOG

                                                        こんにちは。今年の4月に入社したプラットフォーム技術部の杉森です。データ分析基盤の構築を行っております。 弊社のとあるアプリケーションの開発環境として Docker を使用しているのですが、 Apple シリコンの macOS での開発環境の立ち上げに多くの時間がかかっており、その問題を改善できないか調査したのでご紹介します。 問題 原因 解決策 “Rosetta 2 の使用” Docker Desktop “Rosetta for Linux” OrbStack 試してみる Docker Desktop “Rosetta for Linux” OrbStack 結論 “Docker Desktop vs OrbStack” おわりに 問題 開発環境の立ち上げプロセスにおいて現在最も時間がかかっているのは webpack によるフロントエンドアプリケーションのビルドです。 Apple シリ

                                                          Apple シリコンの macOS で “Docker Desktop vs OrbStack” を検証してみた - PLAY DEVELOPERS BLOG
                                                        • Exploring biphasic programming: a new approach in language design

                                                          I’ve noticed a small but interesting trend in the programming languages space. I’m not sure how novel it is, but this pattern, which I’ll refer to as “biphasic programming,” is characterized by languages and frameworks that enable identical syntax to express computations executed in two distinct phases or environments while maintaining consistent behavior (i.e., semantics) across phases. These pha

                                                          • TypeScript 5.5で導入されたisolatedDeclarationsは、JavaScriptエコシステムを大きく変えるゲームチェンジャーかもしれない

                                                            7月7日、Denoの開発者マーヴィン・H氏が「JavaScriptエコシステムを加速する(Speeding up the JavaScript ecosystem)」と題した記事を公開した。この記事では、TypeScriptの新機能「isolatedDeclaration」が、JavaScript / TypeScriptエコシステムを変革する可能性について詳細に紹介されている。本記事ではその内容を簡単に紹介する。 本記事は、以下のエキスパートの皆様に監修していただきました: 古川陽介さん(Japan Node.js Association代表理事) うひょさん(株式会社カオナビ フロントエンドエンジニア) npmパッケージングの問題点 現在npmでのパッケージングプロセスは相当に複雑である。モジュールをnpmに公開しようとする開発者は、CommonJS対ESMの問題や、多くの設定調整を行

                                                              TypeScript 5.5で導入されたisolatedDeclarationsは、JavaScriptエコシステムを大きく変えるゲームチェンジャーかもしれない
                                                            • Railsフロントエンド: ViewComponent+Tailwind CSS+Hotwireの便利技8つ(翻訳)|TechRacho by BPS株式会社

                                                              概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Quicktips for ViewComponent with Tailwind CSS/Hotwire | Rails Designer 原文公開日: 2024/01/22 原著者: Rails Designer -- Railsフロントエンド関連記事に加えて、ViewComponentとTailwind CSSを用いた美しいUIコンポーネントを販売しています 日本語タイトルは内容に即したものにしました。 フロントエンドのコードは、歴史的に少々軽く見られていました。「HTMLは本物の言語じゃない!」「CSSはサイテー!」「JavaScriptもそうだ!」。嘆かわしい話です。Railsは1個人だけの開発チームに、すべてが完全に揃った製品を構築できる本物のスーパーパワーを与えてくれるのですから。 Railsアプリ作成がさらに楽し

                                                                Railsフロントエンド: ViewComponent+Tailwind CSS+Hotwireの便利技8つ(翻訳)|TechRacho by BPS株式会社
                                                              • The sad state of property-based testing libraries

                                                                The sad state of property-based testing libraries Posted on Jul 2, 2024 Property-based testing is a rare example of academic research that has made it to the mainstream in less than 30 years. Under the slogan “don’t write tests, generate them” property-based testing has gained support from a diverse group of programming language communities. In fact, the Wikipedia page of the original property-bas

                                                                • セキュリティ ヘッダーのクイック リファレンス  |  Articles  |  web.dev

                                                                  この記事では、ウェブサイトを保護するために使用できる最も重要なセキュリティ ヘッダーについて説明します。ウェブベースのセキュリティ機能について理解し、ウェブサイトへの実装方法を理解するのに役立ちます。また、リマインダーが必要になったときの参考にもなります。 ユーザーの機密情報を扱うウェブサイトに推奨されるセキュリティ ヘッダー: コンテンツ セキュリティ ポリシー(CSP) Trusted Types すべてのウェブサイトで推奨されるセキュリティ ヘッダー: X-Content-Type-Options X-Frame-Options クロスオリジン リソース ポリシー(CORP) クロスオリジン オープナー ポリシー(COOP) HTTP Strict Transport Security(HSTS)高度な機能を持つウェブサイトのセキュリティ ヘッダー: クロスオリジン リソース シェア

                                                                  • ポートフォリオサイトの公開と公開手順【GitHub Pages】

                                                                    はじめに Hello World...!! 平(@tairanobuhiko)と申します。 プログラミングスクールを卒業し、もうすぐ早2ヶ月が経とうとしてます。 エンジニア転職に向けて、少しでも自己アピールすることができれば、という思いでポートフォリオサイト制作をしました。 この記事では GitHub Pages でホスティングを行い、カスタムドメインを設定するまでの流れを備忘録的に記していきます。 GitHub Pagesとは... 静的なサイト(データベースを伴わないHTML / CSS / JavaScriptのみで構成され、リクエストに対して常に同じコンテンツを返すサイト)を無料で公開できるサービスです。 GitHub の github.io ドメインまたは独自の カスタムドメイン でサイトを公開できます。 対象のリポジトリの設定画面から数クリックで公開できる超便利なホスティングサ

                                                                      ポートフォリオサイトの公開と公開手順【GitHub Pages】
                                                                    • Google翻訳の拡張機能を装った北朝鮮のサイバースパイ活動を確認

                                                                      Zscalerは2024年6月27日(現地時間、以下同)、北朝鮮政府が支援する脅威アクター「Kimsuky」(別名:APT43、Emerald Sleet、Velvet Chollima)が「TRANSLATEXT」と呼ばれる悪意のある「Google Chrome」(以下、Chrome)の拡張機能を使ったサイバースパイ活動に従事していると報告した。 Google翻訳の拡張機能を装いインストールを誘導か Zscalerによると、これらのスパイ活動によって、電子メールアドレスやユーザー名、パスワード、Cookie、Webブラウザのスクリーンショットなどが窃取される可能性があるという。Kimsukyによる犯行であることは、コマンド&コントロール(C2)サーバの特徴などから中程度の確信があるとしている。 Kimsukyは2013年に観測された脅威アクターだ。韓国のシンクタンクや政府機関、学術部門な

                                                                        Google翻訳の拡張機能を装った北朝鮮のサイバースパイ活動を確認
                                                                      • jQuery Attack Hits NPM and GitHub; Can Extract Web Form Data

                                                                        A trojanized version of jQuery has been spreading on the npm JavaScript package manager, GitHub and elsewhere, for use in a jQuery attack, security researchers have discovered. Phylum researchers said they have been monitoring the “persistent supply chain attacker” since May 26, initially on npm, “where we saw the compromised version published in dozens of packages over a month. After investigatin

                                                                          jQuery Attack Hits NPM and GitHub; Can Extract Web Form Data
                                                                        • application/json形式のAWS WAF Bypass

                                                                          はじめに 技術部の桜です。 今回は、application/jsonにおけるAWS WAFのバイパスを試してきました。 この記事ではまず、 RFC 8259(The JavaScript Object Notation (JSON) Data Interchange Format)を読む過程でWAF Bypassに使えそうだなと思った事を検証しています。 次に、上記の検証を経て気になったことを検証しています。 環境 上記のような構成で、セキュリティグループにより自宅IPからのHTTP, SSHアクセスのみを許可しています。 また、EC2上でDockerを使用し、Nginx、Express×Node.js、PostgreSQLを動かしてXSSを意図的に埋め込んだ脆弱なアプリケーションを構築しています。 (Nginxを動かす必要はないとは思いますが、勉強を兼ねて動かしています。) 検証について

                                                                            application/json形式のAWS WAF Bypass
                                                                          • モノレポで JavaScript のローカルパッケージをいい感じにできる『tamashii』というツールを作った話

                                                                            こんにちは。dinii の whatasoda です。モノレポで JavaScript のローカルパッケージをいい感じにできる『tamashii』というツールを作ったので作るに至った背景や機能についてまとめました。 モノレポとローカルパッケージ dinii では開発に用いる言語を TypeScript に統一しています(こちらでご紹介いただいています!)が、ほぼ全てのプロダクトのソースコードをモノレポで管理しているという特色もあります。 dinii が提供している MO-POS-CRM サービスは 10 近くのプロダクト群から出来上がっているため、モノレポであることは一人のエンジニアがプロダクトを横断して機能開発を行いやすい環境を実現するために非常に重要な意味を持ちます。ここでは深堀りはしませんが、プロジェクト間でバージョンの管理をする際の手間が省けることで開発がしやすかったり、リリースを

                                                                              モノレポで JavaScript のローカルパッケージをいい感じにできる『tamashii』というツールを作った話
                                                                            • GitHub - quickjs-ng/quickjs: QuickJS, the Next Generation: a mighty JavaScript engine

                                                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                GitHub - quickjs-ng/quickjs: QuickJS, the Next Generation: a mighty JavaScript engine
                                                                              • Visual Studio Code June 2024

                                                                                Version 1.91 is now available! Read about the new features and fixes from June. June 2024 (version 1.91) Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the June 2024 release of Visual Studio Code. There are many updates in this version that we hope you'll like, some of the key highlights include: Preview: Incoming/Outgoing changes graph -

                                                                                  Visual Studio Code June 2024
                                                                                • jQueryは時代遅れなのか? - Qiita

                                                                                  はじめに おはようございます、しなもんです。 jQuery、使われていらっしゃいますでしょうか。 最近では、Vue.jsやReactなどが登場したことにより やれ「jQueryは時代遅れだ」だの「いや、まだ使えるから学ぶべき」だの、 様々な意見があるライブラリだと思います。 なのでこの記事では、結局jQueryは時代遅れなのか?という問に沿って様々な視点でまとめていこうと思います。 今一度jQueryについて知る jQueryとは、JavaScriptを簡単に扱えるライブラリとして2006年にリリースされました。 当時は使いにくかったJavaScriptのAPIを簡略化するだけでなく、短いコード量で動くこと、当時バラバラだったブラウザによる挙動の違いを吸収できることとして人気を博しました。 現代ではどうか? 先程述べた通り、jQueryは2006年にリリースされています。 当時はまだJav

                                                                                    jQueryは時代遅れなのか? - Qiita