Webブラウザは,開発者にとってもユーザーにとっても,もはや日常の一部となっているほど身近なソフトウエアですが,近年のブラウザはあまりにも高機能かつ巨大になってしまったため,その仕組みを詳しく理解することは困難です。そこで,シンプルなブラウザをRustを用いて実装することによって,ブラウザ上でWebサイトを開くまでに何が起きているのかを理解することを目的とします。さらに,作成したブラウザを,別冊で解説・実装している自作OSの上で動かすことによって,ブラウザと更にその裏側を理解していきます。
Webブラウザは,開発者にとってもユーザーにとっても,もはや日常の一部となっているほど身近なソフトウエアですが,近年のブラウザはあまりにも高機能かつ巨大になってしまったため,その仕組みを詳しく理解することは困難です。そこで,シンプルなブラウザをRustを用いて実装することによって,ブラウザ上でWebサイトを開くまでに何が起きているのかを理解することを目的とします。さらに,作成したブラウザを,別冊で解説・実装している自作OSの上で動かすことによって,ブラウザと更にその裏側を理解していきます。
2023年後半頃から、ブラウザの「戻る」ボタンを押すと、訪問したおぼえのないページが表示されることが増えた。そういうページは大抵、記事風の広告やサイト内の記事へのリンクが大量に並ぶという構成になっている。 こんなレイアウトになってることが多い。 この手法はブラウザバック広告とかブラウザバックレコメンド (あるいはレコメンデーション) とか呼ばれており、国内外の複数のWeb広告会社がこれを提供しているようだ。 たとえば、こちらはGMOアドマーケティングの “TAXEL” が提供しているブラウザバックレコメンド。 【新たな収益・回遊源が誕生!】ブラウザバックレコメンド サイトから離れてしまうユーザーに対し、広告やレコメンド記事を表示させることで、収益化や内部回遊に繋げることを目的としているフォーマットになります。 ……というのがセールスポイントらしいのだが、サイトから離れる人は、サイトから離れ
この記事について この記事は、スマートフォン時代のWebデザインスクール や Web制作の基礎から学べる「Webコーディングスクール」 の資料制作をお手伝いして頂いているemiさんによる寄稿記事です。 コーディングを始めたい、コーディングにVSCodeというものを使うということはわかってるけど、なぜこれを使うんだろう。VSCodeの何が便利なんだろう。と思っている初心者の方に特に読んでほしいと思い書いています。 VSCodeを使うようになったきっかけ コードエディタ難民だった自分がいくつか試したのちに、Adobeが開発していたコードエディタBracketsに出会いました。拡張機能も追加しやすくてテーマも選べるし、使いやすい。とBracketsで落ち着いていたのですが、ある時「サポート終了になる」ということを知りエディタは何を使おうか…となり、その当時使い始める人が少しずつ増えていたVSCo
皆様におかれましても、今年の確定申告に向けて申告書を鋭意作成中のことと思います。 すでに散々論じられていることとは思いますが、この度マイナポータル、e-Taxを使用して本当にストレスで禿げそうだったので備忘録と同様の辛さを味わう方を救いたいという目的でこれを残しておきます。 スマホアプリ「マイナポータル」がただのバナーである 普通アプリとして存在してたらアプリ内で操作してると思うよね!残念!Sarafiでした! スマホアプリ「マイナポータル」のQR"読取り"の位置が非常に分かりにくい 通常使用するユーザーの99%はそのままログインしてしまうのでは?"アプリ内(実際はブラウザだが)"をいくら探してもQR読取りマークがみつからない。ログインする前の起動画面の下にひっそりあるので探してみてください。 スマホで作成できると謳いながら、PC用画面で操作をさせられ続ける これは何かの試練ですか?お年寄
HTMLページのhead内に記述する最小限の構成、そしてmeta要素やlink要素、ソーシャルサービス用の要素、デスクトップ・スマホのブラウザ用の要素などがまとめられた「HEAD」を紹介します。 HEAD: A simple guide to HTML <head> elements 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 以前の版からいろいろと変更されています。 2016年版: head内に記述する要素の総まとめ 2018年版: head内に記述する要素の総まとめ head内に記述する最小限の構成 head内の要素 meta要素 link要素 ソーシャル関連のhead内の要素 ブラウザ・プラットフォーム関連のhead内の要素 メモ head内に記述する最小限の構成 下記はシンプルなWebサイトで必須となるhead内に記
この記事は? それぞれが専門にしている領域に関わらず、Webエンジニアリングの基礎知識として知っておきたいと思う事を対話形式でまとめていく。知識はインプットだけではなく、技術面接や現場では、専門用語の正しい理解をもとにした使用が必要なので、専門がなんであれ理解できるようなシンプルな回答を目指したものになっています。解答の正しさはこれまでの実務と各分野の専門書をベースに確認してはいますが、著者は各技術の全領域の専門家ではなく100%の正しさを保証して提供しているものではないので、そこはご認識いただき、出てきたキーワードの理解が怪しい場合各自でも調べ直すくらいの温度感を期待しています。なお、本記事で書いている私の回答が間違っている箇所があったりした場合、気軽にコメント欄などで指摘いただけるとありがたいです。 Webエンジニアリングの基礎 この記事でカバーしている領域は、以下のような領域です。W
Intro Fetch API の実装が広まり、 IE もリタイアを迎えたことで、今後忘れ去られていくことになるだろう XMLHttpRequest について。 どのように始まり、どのように広まり、どのように使われなくなっていくのか。その間に残した多大な功績を残す。 XMLHttpRequest の始まり この名前は非常に長いため、通常 XHR と略される。 この API は、現在の Web API のように W3C/WHATWG による標準化を経て策定された API ではない。 Microsoft によるいわゆる独自実装の API として始まり、後追いで標準化される。 したがって、 Web API の中でもかなり異質な命名である XHR が、 XmlHttpRequest でも XMLHTTPRequest でもなく XMLHttpRequest である理由も、 Microsoft の命
こんにちは。転職ドラフトでWebアプリケーションエンジニアをやっている@iwtnです。 転職ドラフトでは自社開発企業に特化したエージェントサービスを始めました。 agent.job-draft.jp そこでサービスの申し込みフォームを作ったのですが、その中に生年月日の入力がありました。 生年月日ということは日付の入力。 ブラウザの実装もリッチになってきて、デフォルトでinputタグの type="date" を使うだけでカレンダーまで表示されます。素晴らしいですね! しかしこの実装の問題は多くの人が指摘しています。実際あまりよいUIとは言えません。 動作はバラバラ、特にスマホでは入力しにくい 実装はブラウザに依存します。なので統一したUIをユーザーに提供できません。 caniuse.com もちろん普段使っているブラウザで慣れていればそれがその人にとってのベストのUIにはなりえます。 しか
NASAの運営するAstronomy Picture of the Day(APOD)は6月19日、ブラウザゲーム『Super Planet Clash』をサイト上で公開した。 『Super Planet Clash』は、惑星系に天体を投入していくゲームだ。投入された天体は公転を始めるが、その軌道はほかの天体の引力による影響を受ける。そのため、考えなしに天体を投入していくとそれぞれの軌道が狂ってしまう。そして、天体同士が衝突する、またはひとつでも天体が軌道から離脱すると、ゲームオーバーとなる。プレイヤーは天体の軌道をなるべく維持しつつ、1000年続く星系を作ることを目指す。 天体は、星系内の任意の位置をクリックして投入可能。投入できる天体のサイズはEarthと、Ice giant/Giant planet/Brown dwarf/Dwarf starの計5種類。それぞれEarthと比べて1
IE終了により、webpackやbabelを使う必要がなくなるのか、フロントエンドからビルドステップを完全に消し去ることはできるのか。 そもそもなぜフロントエンドを「ビルド」していたのか そもそもなぜwebpackやbabelを使ってJavaScriptをバンドル(1ファイルにまとめる)していたのか 1. HTTP/1.1とモジュールシステムの相性の悪さ ブラウザにはES Moduleというモジュールシステムが導入されています。これはimport文で他のファイルを読み込むことができるシステムです。 HTTP/1.1については、ブラウザ側で同時接続数制限があります。これは、ファイルを多数読み込む必要があるES Modulesには不向きでした。 2. ブラウザのES Module対応率の低さ ES ModulesはIE非対応です。開発するWebサイトがIEをターゲットにしたい場合、ES Mod
6月16日、Windows用のWebブラウザである「Internet Explorer」(IE)が、ついに最後の日を迎えた。幾度も延期されてきた「サポート終了」の日がやってきたのだ。 IEはPCとインターネットの一般化とともに歩んだWebブラウザであり、誰もが一度はお世話になったことがあるだろう。 だが、使う人に愛された存在か、というとそうでもない。その功績と裏腹に、ある種、アンビバレンツな感情とともに存在しているのがIEという存在だ。 ここでは改めて、IEがどんな足跡をたどったWebブラウザなのかを振り返ってみたい。 IEはどうやって生まれたか IEは2022年で27歳。生まれたのは1994年のことだった。 当時のIEは完全にオリジナルのWebブラウザではなかった。今日的なWebブラウザの元祖といえる「NCSA Mosaic」のライセンス版の1つに過ぎなかった。 MicrosoftはWe
IE の功績を讃える ~ IE 卒業式に寄せて~ 2022/06/16 #IE卒業式 by Jxck
[注] この記事はすぐに陳腐化するはずの内容について扱っています。何年か経ってからこの記事を参照する場合、2022年3月に書かれた内容であることを留意の上お読みください。 はじめに IIJ DNSプラットフォームサービスにて、先日大きなアップデートと小さなアップデートがありました。大きなアップデートというのは、これまでのマネージドDNSサービスに加えてもうひとつ、IIJ DNSトラフィックマネージメントサービスという新たなサービスが追加されたこと。サーバの死活監視結果に応じて動的にDNSの応答を変えることができます。小さなアップデートは、従来のマネージドDNSサービスへの機能追加。HTTPSレコードに対応しました。 サービスの宣伝という意味では大きなアップデートの方を紹介した方がいいんでしょうけれど、ヘソ曲がりなのでここでは小さなアップデート、HTTPSレコードの方に焦点をあてます。 そも
はじめに 私の仕事は、新規サービスをまるっといい感じに開発するのを委託されることがほとんどです。最近はネイティブアプリを作ることよりもブラウザで動くWebサービスを開発することが多いのですが、案件の規模感や要求によって技術選定を少し変えるようにしています。「こういうときはこう」みたいに一概には言えないのですが、普段使う構成を紹介します。誰かの参考になれば幸いです。 2022/02/10 現在での内容です。 前提 開発を委託される場合の運用費をどうするの問題があります。クライアントにクレカ登録をしてもらうか、こちらで支払って毎月請求するかになります。僕は毎月やるのがめんどくさいのでできるだけ前者に倒している関係上、あまりいろいろなSaaSを組み合わせて作ることをなるべく避けています。 規模感によらず使っているもの 私の場合、以下が使えるとめちゃくちゃ効率よく開発できます。 GCP 好きだから
ブラウザから直接TCP・UDPで送受信する「Direct Sockets API」という仕組みが議論されています。 実験段階ですが、Chromeでは起動時にオプションを付けることでこの機能を有効にできます。今回はTCPの方で簡単に動作を見てみます。 Direct Sockets API Direct Sockets APIは、TCP・UDPで直接送受信可能にするAPIです。既存のアプリケーションプロトコル(SSHやIRC)、P2Pのような機能を実現可能になります。 もちろんセキュリティ上の問題もあるので、Chromeでは現状デフォルトでは有効になっていない機能です。 セキュリティ面についてはだいぶGithubリポジトリで議論されておりますので目を通すと良いでしょう。ローカルネットワークへの通信やSame-Origin-Policy(CORS)回避の話が上がっていますが、今回は細かくは紹介し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く