並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 199件

新着順 人気順

WebKitの検索結果1 - 40 件 / 199件

  • プライベートでMac使うのやめた

    最近、自分のプライベートの開発環境を大きく変えたので紹介する。 先にまとめ プライベートではMacを使わなくなった 家にUbuntuが入ったミニPCを置いた 外からはThinkPad X1 CarbonからTailscale経由のSSHで家のミニPCに接続 購入まで まず、自分にとって最も大きな変化はプライベートでMacを使わなくなったことだ。2013年くらいにプログラミングを始めてからずっとメインのOSはMacだったので、約10年ぶり、ほぼ初めての非Mac環境である。 自分の普段の開発のユースケースは、Webアプリケーション開発とNode.js上で動くソフトウェアの開発、WebKitへのコントリビューション、たまにRustやGoやC/C++で自分専用ツールの開発、くらいなので別にMacで困っているわけではなかった。Web開発やNode.js上のソフトウェアの開発はまあ普通にMacで困らな

      プライベートでMac使うのやめた
    • 私のJavaScriptの情報収集法 2024年版

      個人的なJavaScriptの情報収集の方法についてまとめてみます。 JSer.infoなどをやっているので、JavaScriptの情報については色々な情報源を見るようにしています。 JSer.infoの範囲の中での情報源については、次の記事でまとめています。 JSer.info 13周年: JavaScriptの情報源を整理する - JSer.info この記事では、少しスコープを広げてJavaScriptの情報収集についてまとめてみます。 かなりスコープが広がってしまうので、万人向けの方法ではなく、個人的な情報収集方法としてまとめています。 この記事では、膨大な情報の中から見つけるというアプローチをとっているので、人によって向き不向きがあると思います。 情報収集の方法 情報の元となる情報源はさまざまなサイトや人になると思います。 しかし、そのサイトや人ごとに見ていくというのはかなり大変

        私のJavaScriptの情報収集法 2024年版
      • ブラウザの仕組み  |  Articles  |  web.dev

        序文 WebKit と Gecko の内部オペレーションに関するこの包括的な入門ガイドは、 イスラエルのデベロッパー Tali Garsiel 氏による多数の研究の結果です。1 ~ 2、3 ブラウザの内部構造に関する公開データをすべて確認し、 あまり時間を費やすことはありません。彼女は次のように書いています。 ウェブ デベロッパーとしてブラウザの操作の仕組みを学ぶ より適切な意思決定を行い、開発の背後にある正当性を理解するのに役立つ ベスト プラクティスをご覧ください。これはかなり長いドキュメントですが、Google に 時間をかけて調査を進めていきます。できてよかったね。 Chrome デベロッパー リレーションズ、Paul Irish はじめに ウェブブラウザは最も広く使用されているソフトウェアです。この入門編では 舞台裏で働きます「google.com」と入力するとどうなるかを確認し

        • なぜブラウザエンジンは 1 つではダメなのか? または Ladybird への期待 | blog.jxck.io

          Intro Ladybird は、他のブラウザエンジンをフォークせず、企業との取引に頼らず、寄付だけで作ることを宣言した新しいブラウザエンジンだ。 Ladybird https://ladybird.org/ これがいかに価値のある取り組みなのか、 Web を漫然と眺めてきた筆者による N=1 の妄言を書いてみる。 ブラウザエンジンとは ブラウザは、「ブラウザ UI」と「ブラウザエンジン」と、大きく二つの構成要素に分けて考えることができる。 ブラウザエンジンとは、いわゆる Web 標準の技術を片っ端から実装した、ブラウザの土台となるものだ。 ビルドすれば、入力した URL からネットワーク経由でリソースを取得し、パースしてレンダリングして表示できる。そのための IETF RFC や WHATWG HTML や ECMAScript が実装されている、標準技術の結集だ。 その上に、例えばタブ

            なぜブラウザエンジンは 1 つではダメなのか? または Ladybird への期待 | blog.jxck.io
          • 「0.0.0.0」へのアクセスを悪用してローカル環境に侵入できる脆弱性「0.0.0.0 Day」が発見される

            Chrome、FireFox、Safariといった主要ブラウザにおけるIPアドレス「0.0.0.0」の扱い方に問題があり、問題を悪用することで攻撃者が攻撃対象のローカル環境にアクセスできることが明らかになりました。問題を発見したセキュリティ企業のOligo Securityは、この脆弱(ぜいじゃく)性を「0.0.0.0 Day」と名付けて注意喚起しています。 0.0.0.0 Day: Exploiting Localhost APIs From the Browser | Oligo Security https://www.oligo.security/blog/0-0-0-0-day-exploiting-localhost-apis-from-the-browser Oligo Securityによると、主要なブラウザでは「『0.0.0.0』へのアクセスを『localhost (12

              「0.0.0.0」へのアクセスを悪用してローカル環境に侵入できる脆弱性「0.0.0.0 Day」が発見される
            • Apple によるブラウザエンジン規制の緩和 | blog.jxck.io

              Intro 以前から騒がれていた Apple によるサイドローディング周りの緩和について、正式な情報公開があった。 Apple announces changes to iOS, Safari, and the App Store in the European Union - Apple https://www.apple.com/newsroom/2024/01/apple-announces-changes-to-ios-safari-and-the-app-store-in-the-european-union/ ストアやペイメントの緩和もあるが、ここでは WebKit に関する部分だけを抜粋し、どのような条件があるのかをまとめておく。 筆者が公開情報を読んで解釈したものなので、内容は保証しない。 前提 iOS/iPadOS に入れられるブラウザには、 WebKit を用いる必要が

                Apple によるブラウザエンジン規制の緩和 | blog.jxck.io
              • iPadに18禁ゲームをインストールする(ためのWebアプリを作る)

                これをどう作ったかの解説。 PWA まず、上のスクリーンショットのアイコンはSafariの「ホーム画面に追加」で作られたものである。タップするとフレームなしのブラウザが立ち上がって、xsystem4(ゲームエンジン)のWebAssembly版が起動する。xsystem4のWebAssembly移植についてはこちらの記事に書いた。 この種のWebアプリはプログレッシブウェブアプリ (PWA)と呼ばれる。最近さっくり廃止されかかったりして、いつまで使えるかは少し心配でもあるが…。 iOS / iPadOS SafariにおけるPWA SafariのPWA対応は他プラットフォームのChromium系ブラウザと大きく違っている点が一つあって、SafariとインストールされたPWAはストレージを共有しない。つまり、例えばSafariでログインしたユーザーがホーム画面にサイトをインストールしてそちらを

                  iPadに18禁ゲームをインストールする(ためのWebアプリを作る)
                • 古いリセットCSSからはもう卒業! モダンブラウザに最適化された新しいリセットCSS -A (more) Modern CSS Reset

                  モダンブラウザをターゲットにしたWeb制作では、リセットCSS自体が必要ないかもしれません。とは言っても、設定しておきたいスタイルや一部のブラウザ用に設定しておきたいスタイルがあります。 現在のWeb制作に合わせて制作されたリセットCSSを紹介します。なぜそうするのか、なぜそれを使用しないのか、CSSの知見やテクニックも満載です! A (more) Modern CSS Reset by Andy Bell 他のリセットCSSが気になる人は、こちらも注目です。 A (more) Modern CSS Resetの前のバージョンも解説しています。 2023年、現在の環境に適したリセットCSSのまとめ 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに モダンブラウザに適切なデフォルトのリセットCSS 各リセットCSSの解説

                    古いリセットCSSからはもう卒業! モダンブラウザに最適化された新しいリセットCSS -A (more) Modern CSS Reset
                  • AppleがiOS 17.4のベータ版でPWAのサポートを削除していることが明らかに

                    Appleは長年にわたり、ウェブサイトをiPhoneのホーム画面に追加することでウェブアプリとして使用できる「プログレッシブウェブアプリ」(PWA)と呼ばれる機能を導入していました。しかし、iOS 17.4のベータ版において、PWAのサポートが削除されていることが報告されています。 Did Apple just break Web Apps in iOS 17.4 Beta (EU)? - Open Web Advocacy https://open-web-advocacy.org/blog/did-apple-just-break-web-apps-in-ios17.4-beta-eu/ iOS 17.4 seems to remove web app support in the EU https://9to5mac.com/2024/02/08/ios-17-4-web-app-e

                      AppleがiOS 17.4のベータ版でPWAのサポートを削除していることが明らかに
                    • jQuery 4.0.0 BETA! | Official jQuery Blog

                      jQuery 4.0.0 has been in the works for a long time, but it is now ready for a beta release! There’s a lot to cover, and the team is excited to see it released. We’ve got bug fixes, performance improvements, and some breaking changes. We removed support for IE<11 after all! Still, we expect disruption to be minimal. Many of the breaking changes are ones the team has wanted to make for years, but co

                      • ARM に存在する JavaScript 専用命令「FJCVTZS」を追う(ついでに V8 をビルドする)

                        前回の記事では、JavaScript の実行エンジン V8 の JIT 出力コードを読んでみました。記事は M1 Mac 上で動かした結果でしたので、ARM アーキテクチャのアセンブラを読むことになりました。 さてそんな ARM アーキテクチャですが、最近の ARM には FJCVTZS という JavaScript 専用の機械語命令があるのをご存知でしょうか?CPU に、特定の言語(それもコンパイラを持たない JavaScript)専用の命令があると知ったとき、私は大いに驚きました(過去にも Jazelle みたいなものはありましたが) 今回は、この FJCVTZS 命令について、実際にどれだけ効果があるのか、V8 をビルドしながら調べてみましょう。 FJCVTZS 命令とは? FJCVTZS 命令は、Arm v8.3 から導入された JSCVT 命令の一つで、JavaScript の言

                        • JavaScript エンジンの高速化

                          これらの JavaScript エンジンのうち、以下では特に JavaScriptCore を扱います。 最適化の基本戦略 JavaScript をはじめとする動的言語は、主にインタープリタにおいて実行されます。しかし、インタープリタはコンパイルされたコードと比較して実行に時間を要するという欠点があります。そこで、インタープリタの最適化では、バイトコードの JIT コンパイルが最初に行われます。 しかし、コンパイルには当然時間がかかります。少しでも高速化されたコードを生成するには、より多くの時間をコンパイルにかけなければなりません。コンパイルによる速度向上とコンパイルのレイテンシはトレードオフの関係にあります。 そこで、多くの JavaScript エンジンは、インタープリタと多階層の JIT コンパイラの組み合わせで構成されています。次の図は、主要な JavaScript エンジンの設計

                            JavaScript エンジンの高速化
                          • In 2024, please switch to Firefox

                            This December, if there’s one tech New Year’s resolution I’d encourage you to have, it’s switching to the only remaining ethical web browser, Firefox. According to recent posts on social media, Firefox’s market share is slipping. We should not let that happen. There are two main reasons why switching is important. “Red Panda” by Mathias Appel is marked with CC0 1.0. 1. Privacy Firefox is the only

                              In 2024, please switch to Firefox
                            • Secrets from the Algorithm: Google Search’s Internal Engineering Documentation Has Leaked

                              Watch Our Google Algorithm Leak Webinar Replay Google, if you’re reading this, it’s too late. Ok. Cracks knuckles. Let’s get right to the Google algorithm leak. Internal documentation for Google Search’s Content Warehouse API has been discovered. Google’s internal microservices appear to mirror what Google Cloud Platform offers and the internal version of documentation for the deprecated Document

                                Secrets from the Algorithm: Google Search’s Internal Engineering Documentation Has Leaked
                              • 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創業者らが立ち上げ
                                • Rust製ブラウザエンジン「Servo」搭載、新たなWebブラウザ「Verso」の開発プロジェクトが立ち上がる

                                  欧州を基盤にオープンでセキュアなインターネットの実現を支援しているNLnet Foundationは、Rust製ブラウザエンジン「Servo」を用いたWebブラウザ「Verso」の開発プロジェクトの立ち上げを発表しました。 Versoの開発は、Electron代替を目指すフレームワーク「Tauri」の開発チームが主導することが、下記のポストで示されています。 We've stopped waiting for other people to solve our problems with webviews and kicked off a browser+webview project called Verso (and we've already gotten a bit of funding from NLNET.)https://t.co/PMOV7YbGtE https://t.c

                                    Rust製ブラウザエンジン「Servo」搭載、新たなWebブラウザ「Verso」の開発プロジェクトが立ち上がる
                                  • Playwrightを使ったE2Eテストを導入した話 - Uzabase for Engineers

                                    はじめに こんにちは。ソーシャル経済メディア「NewsPicks」の QA/SET チームの海老澤です。 先日 弊社で E2E テスト実行するために Playwright を導入したため紹介させてください。 E2Eテストとは E2Eテスト(エンドツーエンドテスト)とは、ソフトウェア開発におけるテスト手法の一つで、アプリケーションが実際の運用環境と同様の条件下で正しく動作することを確認するためのテストです。 システムの開始点から終了点までを通じて、ユーザーの視点でアプリケーションのフローを追い、機能全体が連携して期待通りに動くかを検証します。具体的には、ユーザーが行うであろう一連の操作をシミュレートして、データがシステムを通じて適切に流れるかや、最終的なアウトプットが正しいかどうかを確認します。E2Eテストにより、部分的な単体テストや統合テストでは見逃されがちな問題を発見することができます。

                                      Playwrightを使ったE2Eテストを導入した話 - Uzabase for Engineers
                                    • HTMLとCSSでつくる! リンクテキストのホバー時アニメーション11選 - ICS MEDIA

                                      テキストをホバーしたときの変化やアニメーションをつくることは、どのようなサイトをつくっていてもほぼ必ず行う工程ではないでしょうか。 テキストがリンクであることをユーザーに伝えるという点では、ブラウザのデフォルトスタイルのような下線のみで十分な場合もあると思います。 しかしそれだけではなく、変化をつけてよりわかりやすくしたい場合や、サイト全体の雰囲気に合わせたい場合にちょっとしたアニメーションが効果的です。 今回はHTMLとCSSのみで作成できる、シンプルながら少し目を引くアニメーションをテーマに実装例を紹介します。 ▼今回紹介する実装例一覧 とくに、以下のようなデザイナー/エンジニアにとって参考になれば嬉しいです。 HTMLとCSSのみでどのようなホバー時のアニメーションができるのか知りたい 透明度の変化や、下線のつけ外し以外の実装例の引き出しを増やしたい ※今回の実装例では主にヘッダー/

                                        HTMLとCSSでつくる! リンクテキストのホバー時アニメーション11選 - ICS MEDIA
                                      • Electron代替を目指す「Tauri 2.0」リリース候補版が公開。Windows/Mac/Linuxに加えてiOS/Androidアプリ開発も可能に

                                        Electron代替を目指す「Tauri 2.0」リリース候補版が公開。Windows/Mac/Linuxに加えてiOS/Androidアプリ開発も可能に Electronの代替を目指すRust製のアプリケーションフレームワーク「Tauri」の開発チームは、「Tauri 2.0」リリース候補版の公開を発表しました。 Everyone assumes your dev environment and network are safe. Tauri doesn't assume that & protects you as a dev. Tauri 2.0 RC for Mobile and Desktop available right now. Read the announcement:https://t.co/SXv1tgNHGm — Tauri (@TauriApps) August

                                          Electron代替を目指す「Tauri 2.0」リリース候補版が公開。Windows/Mac/Linuxに加えてiOS/Androidアプリ開発も可能に
                                        • WebKitのコミッターになった

                                          WebKitのcommitterになった。僕はAppleやIgaliaやSonyの従業員ではなく、完全に趣味である。 I'm officially a WebKit (@webkit) committer! Thank you to the JSC reviewers who have been reviewing my patches. — sosuke (@__sosukesuzuki) August 18, 2024 WebKitの開発者のステータスのポリシーは https://webkit.org/commit-and-review-policy/ を参照してほしい。Committerよりも強い権限を持つreviewerという人たちもいる。人のパッチを正式に承認したり拒否したりすることはreviewerにしか出来ない。 2024年2月からパッチを投げ始めて、6月の半ばくらいにcom

                                            WebKitのコミッターになった
                                          • Rust製ブラウザエンジンの「Servo」、アプリに組み込み可能なクロスプラットフォーム対応WebView化を目指す。Electron代替を目指す「Tauri」への組み込み実現へ

                                            Rust製ブラウザエンジンの「Servo」、アプリに組み込み可能なクロスプラットフォーム対応WebView化を目指す。Electron代替を目指す「Tauri」への組み込み実現へ Rust製のWebブラウザエンジンとして開発が進められている「Servo」は、Servoをアプリケーションに組み込み可能なクロスプラットフォーム対応WebVeiwとする方向で開発を進め、それをアプリケーションフレームワークのTauriと協力してTauriがサポートする予定であることを発表しました。 TauriはElectronの代替を目指す、Web技術を用いてアプリケーションを開発するためのフレームワークです。 参考:Electron代替を目指すRust製フレームワーク「Tauri」がバージョン1.0に到達、Windows/Mac/Linuxに対応 現在のTauriは、UIのレンダリングエンジンとして、Windo

                                              Rust製ブラウザエンジンの「Servo」、アプリに組み込み可能なクロスプラットフォーム対応WebView化を目指す。Electron代替を目指す「Tauri」への組み込み実現へ
                                            • Appleが「iOS 17.4でのPWA廃止」を撤回すると発表

                                              2024年2月の頭頃から、AppleがiOS 17.4のベータ版で「プログレッシブウェブアプリ(PWA)」のサポートを廃止していることが明らかになっています。AppleはPWAのサポート廃止について、欧州連合(EU)のデジタル市場法に準拠するためと説明していたのですが、多くの批判にさらされた末、サポート廃止を撤回すると発表するに至りました。 iOS 17.4 won't remove Home Screen web apps in the EU after all - 9to5Mac https://9to5mac.com/2024/03/01/apple-home-screen-web-apps-ios-17-eu/ iPhoneは長らくPWAをサポートしており、これによりモバイルアプリと同じようにウェブ上のアプリをホーム画面に追加して利用することができるようになっています。iOSでのP

                                                Appleが「iOS 17.4でのPWA廃止」を撤回すると発表
                                              • AppleがついにChromeとFirefoxのフルバージョンをiPhone上で動かすことを許可

                                                AppleがiOS 17.4でWebkit以外のブラウザエンジンを許可し、ChromeやFirefox、OperaなどSafari以外のブラウザを完全に動作させることを可能にしたことが明らかになりました。これはEUのデジタル市場法(DMA)施行を受けての対応で、EU圏のユーザーにのみ適用されます。 Apple announces changes to iOS, Safari, and the App Store in the European Union - Apple https://www.apple.com/newsroom/2024/01/apple-announces-changes-to-ios-safari-and-the-app-store-in-the-european-union/ Update on apps distributed in the European U

                                                  AppleがついにChromeとFirefoxのフルバージョンをiPhone上で動かすことを許可
                                                • 「Operaは変わり果てたのでもう使うな」と有識者が語る

                                                  ノルウェー発のウェブブラウザのOperaは、「Opera最強伝説」で知られるなど、ニッチながら根強い人気に支持されているブラウザです。テクノロジージャーナリストのコービン・ダベンポート氏が、「素晴らしいウェブブラウザだったが見る影もなくなった」としてOperaや派生ブラウザのOpera GXを使うのをやめることを宣言し、その理由をブログを説明しました。 Stop using Opera Browser and Opera GX https://www.spacebar.news/stop-using-opera-browser/ ◆これまでのOperaの足取り Operaは1995年にリリースされたウェブブラウザで、当初は有料ソフトウェアだったということもあり、当時主流だったInternet ExplorerやNetscape Navigatorに比べてユーザーは少なく、全盛期でさえニッチ

                                                    「Operaは変わり果てたのでもう使うな」と有識者が語る
                                                  • URLシェアを支える技術 lz-string

                                                    WebアプリでURLシェアを実装する際に、URLにすべての情報を持たせてしまいたい場合があります。そのとき、情報をそのままクエリ文字列に渡してしまうとURLの文字数制限に引っかかってしまうかもしれません(厳密にはURLに上限はないようですが、現実はいつもブラウザ実装依存)。 そんなときURLセーフな文字列形式で圧縮してくれるライブラリがあります。lz-sringです。 変換の例 ライブラリで compressToEncodedURIComponent というAPIが提供されているのでこれを使用します。標準のencodeURIComponentでURLセーフな文字列に変換した場合とサイズ比較をしてみましょう。 import lzstring from "lz-string"; const rawData = "Lorem ipsum dolor sit amet, consectetur a

                                                      URLシェアを支える技術 lz-string
                                                    • GitHub Actions のみで、actions/cache も使わない最軽量の VRT

                                                      Web アプリケーション開発での VRT 導入は、ちゃんと運用するとなると以下のような多くの検討事項を伴います。 Storybook のストーリーベースで比較するか?それとも実アプリケーションの URL ベースで比較するか? CI 上でアプリケーションをビルドして dev server を立ち上げるか、それともデプロイ先のアプリケーションにアクセスするか? スクリーンショットの比較はどのように行うか?比較時の閾値はどのように設定するか? 比較元のスクリーンショットはどのように用意するか?例えば Amazon S3 などのストレージ や GitHub Actions の actions/cache を使用する場合など コミットハッシュを用いて比較元のスクリーンショットを特定する場合、マージ先のコミットハッシュに紐づくスクリーンショットが存在しない時の対応は? VRT の結果で差分が出たが、そ

                                                        GitHub Actions のみで、actions/cache も使わない最軽量の VRT
                                                      • input type=“date” の沼から、ライブラリを導入する意義を考える - Mirrativ Tech Blog

                                                        はじめまして!2023年7月からミラティブでフロントエンドインターンをしております、かずえもんと申します😺 今回は、インターンでの作業中にハマってしまった Safari のバグについて調査していたら、なんと10年モノの issue だったことが判明し、ライブラリを導入する意義について考える機会となった話を書いてみたいと思います。 Safari の日付入力欄に無効な日付を入れると起こるバグ onChange が正しく呼ばれないのは Safari が原因? Safari 17 以降で再現しないので原因は Safari で間違いなさそう Safari 17 以前での解決方法として DatePicker を使ってみる まとめ: ネイティブを補う存在としてのライブラリ We're Hiring!! Safari の日付入力欄に無効な日付を入れると起こるバグ 2023年8月、私はミラティブの管理シス

                                                          input type=“date” の沼から、ライブラリを導入する意義を考える - Mirrativ Tech Blog
                                                        • Playwrightでライブプレビューツールを実装する - ベースマキナ エンジニアブログ

                                                          こんにちは、yebis0942です。 先日、@basemachina/bm-view-previewというツールをnpmで公開しました。ベースマキナのビュー機能のソースコードをローカル環境で編集しながら、Next.jsのnpm run devのようにライブプレビューで動作を確認できるツールです。 ライブプレビューはPlaywrightによってコントロールされたChromiumで表示しています。PlaywrightをE2Eテストや自動化以外の用途で使うのは珍しい事例かと思いますので、その背景と実装の裏側についてご紹介します。 ビュー機能とは ローカル環境で開発したい bm-view-previewの内部構成 ライブラリとしてのPlaywright ブラウザを人の手で操作できるようにする ウィンドウを表示する ウィンドウのリサイズに対応する ダイアログを自動で閉じない できなかったこと アプリ

                                                            Playwrightでライブプレビューツールを実装する - ベースマキナ エンジニアブログ
                                                          • [Playwright]VScodeの拡張機能でらくらくブラウザ操作

                                                            はじめに こんにちは。スペースマーケットでWebエンジニアしてます、新卒のdumbled0reです。 4月に入社してから早2ヶ月経って、入社式が昨日のように感じています。時の流れは早い。 日頃、ブラウザ操作する時はPythonのライブラリであるSeleniumを使用していましたが、vscodeにあるPlaywrightの拡張機能を使用すれば非エンジニアの方でも簡単にブラウザ操作用のコードを書けたので紹介します。 Playwrightとは PlaywrightとはMicrosoftが開発したオープンソースのE2Eテスト自動化フレームワークです。 Chromium、Firefox、WebKitなどの主要なブラウザで対応しており、1つのコードで複数のブラウザ上で動作確認も行えます。 環境 node 20.9.0 playwright 1.44.0 拡張機能のインストール 今回使用するVScode

                                                              [Playwright]VScodeの拡張機能でらくらくブラウザ操作
                                                            • Appleが「iOS・iPadOS・macOS用に3つの異なるウェブブラウザが偶然『Safari』という名前で提供されている」というトンデモ主張でEUの規制を回避しようとしていた

                                                              AppleがEUのデジタル市場法による規制を逃れるために、「SafariのiOS版・iPadOS版・macOS版は、名前が同じだけで中身は異なるウェブブラウザであり、使用目的も違う」と主張したことが明らかとなりました。 CASES DMA.100013 Apple – online intermediation services – app stores, DMA.100025 Apple – operating systems and DMA.100027 Apple – web browsers (PDFファイル)https://ec.europa.eu/competition/digital_markets_act/cases/202344/DMA_100027_197.pdf To avoid regulation, Apple said it had three Safari b

                                                                Appleが「iOS・iPadOS・macOS用に3つの異なるウェブブラウザが偶然『Safari』という名前で提供されている」というトンデモ主張でEUの規制を回避しようとしていた
                                                              • URL.parse を Chromium で Ship するまで | blog.jxck.io

                                                                Intro Chrome 126 で筆者が実装した URL.parse が Ship された。 Chromium にコントリビュートしたことは何回かあったが、単体機能を Ship したのは初めてだった。 invalid URL の処理 new URL() によって、文字列の URL をパースすることができるようになって久しいが、この API は invalid な場合に例外を投げる。 例外処理をするよりも、先に URL としてパース可能かどうかを知るための URL.canParse() が提案され、先に実装が進んだ。 URL.canParse(str) // boolean しかし、これでは二回パースが必要になるため無駄が多い。 if (URL.canParse(str)) { // 1 回目のパース return new URL(str) // 2 回目のパース } そこで、失敗したら

                                                                  URL.parse を Chromium で Ship するまで | blog.jxck.io
                                                                • Apple・Google・Microsoftが自社ブラウザよりもFirefoxを冷遇するために設けている技術的問題点をまとめたページ「Platform Tilt」をMozillaが公開

                                                                  MicrosoftはWindows、AppleはiOSやmacOS、GoogleはAndroidやChromeOSといったPC・スマートフォン向けのOSを開発しており、Windows搭載PCではEdge、iPhoneやMacではSafari、Android端末やChromebookではChromeといった自社製ブラウザがプリインストールされています。こういったメーカーはサードパーティー製ブラウザよりも自社ブラウザを推奨するケースがあるのですが、それだけではなく技術的な問題を残しておくことで競合ブラウザを蹴落とそうとしているとFirefoxの開発元であるMozillaが指摘しており、関連情報をまとめた「Platform Tilt」というページを公開しています。 Platform Tilt - Mozilla https://mozilla.github.io/platform-tilt/ 記

                                                                    Apple・Google・Microsoftが自社ブラウザよりもFirefoxを冷遇するために設けている技術的問題点をまとめたページ「Platform Tilt」をMozillaが公開
                                                                  • メタクソ化するアップル――Macカルトと“アップル例外主義” | p2ptk[.]org

                                                                    Pluralistic 「Macカルト(Cult of Mac)」の基本的な教義は、時価総額3兆ドル企業から製品を購入すると迫害されたマイノリティの一員になれるということであり、したがってその企業へのあらゆる批判は民族的中傷ということになるらしい。 https://pluralistic.net/2024/01/12/youre-holding-it-wrong/#if-dishwashers-were-iphones これを「Apple例外主義」と呼ぼう。ビッグテック企業の中でAppleだけが善良であり、したがってその行動は善意のレンズを通して解釈されるべきだという考え方である。この美徳の源泉は都合よく曖昧なので、Appleの罪が明らかになったとて、Macカルトのメンバーはどこまでもゴールポストを移動させる。 Appleが「プライバシーを尊重している」という主張を考えてみよう。これは、A

                                                                      メタクソ化するアップル――Macカルトと“アップル例外主義” | p2ptk[.]org
                                                                    • モバイルアプリ上の WebAssembly 製ライブゲームで発生した例外を捕捉して計測する - Mirrativ Tech Blog

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

                                                                        モバイルアプリ上の WebAssembly 製ライブゲームで発生した例外を捕捉して計測する - Mirrativ Tech Blog
                                                                      • ZennのE2Eテスト基盤をリプレイスしました(開発体験向上、CI時間の短縮、Playwright移行)

                                                                        はじめに 2023年にZennチームにJoinしたdyoshikawaです。 このたびZennのE2Eテスト基盤をリプレイスしました。このような下回りの改善はユーザへの価値提供との距離が近い機能開発と比べてどうしても後回しになりがちな中、Publication Proという大きなリリースを迎えて少し開発が落ち着いたタイミングであり、E2Eテストを拡充できる土台を整えることで今後より安心して機能を追加していけるようにするために必要だということで実施しました。 各テストを独立実行可能にすることによる開発体験向上、CI(GitHub Actions)の実行時間短縮、そして将来を見据えてのCypressからPlaywrightへの移行を行いました。 本記事ではリプレイス前に抱えていた課題、それに対して打ち出した解決方針、そして具体的にどんなことをやったのかを紹介します。 抱えていた課題 前提として

                                                                          ZennのE2Eテスト基盤をリプレイスしました(開発体験向上、CI時間の短縮、Playwright移行)
                                                                        • エンジニアがデザインについて確認した方が良いこと - Qiita

                                                                          開発の流れとして、デザイン決定後にデザイン(Figma)が開発部隊に渡ってくることは多いと思います。 開発着手前にデザインについて確認しておいた方が良いことの備忘です。 サンプル画像はWebで作っていますが、内容としてはWebに限らず、iOS/Android Nativeなアプリも対象としています。 また、記載順をどうしようか迷ったのですが、特に体系だった説明もできないので思いついた順で書いています。 アイコン/画像について 画像の形式を確認しましょう 画像の形式はベクター画像(SVG)なのか、ラスター画像(PNGなど)か確認します。 アイコン系は基本的にベクターだと思いますので、SVGでExportできない場合はデザイン提供元に確認しましょう。 ラスター画像は要件上こだわりがなければ、開発側でWebP/JPEG/PNGなどの特性や稼働環境を鑑みて決定するで問題ないと思います。 スマホでは

                                                                            エンジニアがデザインについて確認した方が良いこと - Qiita
                                                                          • 6年を経てFloat16ArrayをStage 3にしてもらった - pixiv inside

                                                                            こんにちは。福岡オフィスエンジニアの @petamoriken です。趣味でFloat16Arrayのponyfill1を公開しECMAScriptに入れてもらうように活動していたところ、喜ばしいことに2023年5月のTC39会議にてStage 3となりました。折角なのでその経緯を書いていこうと思います。 ECMAScript excitement 😉@TC39 advanced these proposals this week 🎉 4️⃣ Atomics.waitAsync 4️⃣ RegExp v flag 4️⃣ Well-Formed Unicode Strings 3️⃣ Decorator Metadata 3️⃣ Float16Array 2️⃣ Base64 for Uint8Array 2️⃣ Promise.withResolvers 2️⃣ TimeZone C

                                                                              6年を経てFloat16ArrayをStage 3にしてもらった - pixiv inside
                                                                            • 3rd-party cookieの引退とブラウザのアドテック進出|AD EBiS マーテック研究会

                                                                              クッキーに代わる技術まとめシリーズ第1回「3rd-party cookieのない2年後のアドテックに向けた動きまとめ」からすでに3年経っていますが、3rd-party cookie廃止まではあと1年です。 廃止に向けてPrivacy Sandboxの名前で知られている代替技術は一般公開が進められています。Chromeを利用されている皆様はすでにユーザへの広告機能有効化の告知をご覧になり、「理解した」ボタンを押されたかと思いますが、ここで有効化したものを含めて、主要ブラウザの各種代替APIについて説明したいと思います。 Chromeのターゲティングや計測API有効化承諾画面ちなみにEUでは「理解した」と「設定」ではなく、「Turn it on」と「No Thanks」の選択になっています(しかもボタンの色が同じ)。 それでは2021年のシリーズ第2回の投稿から約2年ぶりとなる今回は、前回ご紹

                                                                                3rd-party cookieの引退とブラウザのアドテック進出|AD EBiS マーテック研究会
                                                                              • 最近は意図的にGitHub Copilotを無効にすることがある

                                                                                別にみんなそうするべきとは全く思わないのだけど、僕は最近GitHub Copilotを意図的に無効にすることがあるので、そのへんについて雑に書いておく。 あらかじめ言っておくが、僕はGitHub Copilotを有効にすることもある。この記事もGitHub Copilotおよびそのユーザーを批判する意図は全くない。 GitHub Copilot が便利な場面 僕がGitHub Copilotを使い始めて少なくとも一年以上は経ってる。自分が書こうと思っているコードに近いものが簡単に生成されていくことに最初は感動したし、便利な場面がはたくさんある。 具体的に便利な場面を思い返してみる。 僕は仕事ではNext.jsでフロントエンドを書いたり、NestJSでバックエンドを書いたりしているのだが、その用途では便利だった。僕は自分が関わっているプロジェクトのReactやNode.jsの書き方はある程度

                                                                                  最近は意図的にGitHub Copilotを無効にすることがある
                                                                                • AppleがiOSからPWAのサポートを削除したことを認める、デジタル市場法への対応で影響はEU圏のユーザーに限定

                                                                                  iOSでは「プログレッシブウェブアプリ」(PWA)と呼ばれる技術を用いることでウェブサイトをiPhoneのホーム画面に追加したり通知を受信したりできます。ところが、2024年3月に正式展開される予定のiOS 17.4のベータ版では、EU圏のユーザーを対象にPWAが削除されていることが判明しています。これについてAppleが、EUのデジタル市場法(DMA)に準拠するためPWAを削除したと公式に認めました。 Apple confirms iOS 17.4 removes Home Screen web apps in the EU, here’s why - 9to5Mac https://9to5mac.com/2024/02/15/ios-17-4-web-apps-european-union/ Apple confirms it’s breaking iPhone web apps i

                                                                                    AppleがiOSからPWAのサポートを削除したことを認める、デジタル市場法への対応で影響はEU圏のユーザーに限定