Amazon スマイルSALE    1/31(金) 9:00スタート
この商品に対するお客様のご意見を共有するには、携帯電話のアプリストアまたはGoogle PlayからAmazonアプリを開いてください。
¥3,665 税込
獲得予定ポイント: +111 pt (3%)

これらのプロモーションはこの商品に適用されます:

一部のプロモーションは他のセールと組み合わせることができますが、それ以外のプロモーションは組み合わせることはできません。詳細については、これらのプロモーションに関連する規約をご覧ください。

を購読しました。 続刊の配信が可能になってから24時間以内に予約注文します。最新刊がリリースされると、予約注文期間中に利用可能な最低価格がデフォルトで設定している支払い方法に請求されます。
メンバーシップおよび購読」で、支払い方法や端末の更新、続刊のスキップやキャンセルができます。
Kindleアプリのロゴ画像

無料のKindleアプリをダウンロードして、スマートフォン、タブレット、またはコンピューターで今すぐKindle本を読むことができます。Kindleデバイスは必要ありません

ウェブ版Kindleなら、お使いのブラウザですぐにお読みいただけます。

携帯電話のカメラを使用する - 以下のコードをスキャンし、Kindleアプリをダウンロードしてください。

KindleアプリをダウンロードするためのQRコード

著者をフォロー

何か問題が発生しました。後で再度リクエストしてください。

[作って学ぶ]ブラウザのしくみ──HTTP、HTML、CSS、JavaScriptの裏側 WEB+DB PRESS plus Kindle版

3.4 5つ星のうち3.4 14個の評価

(概要)

Webブラウザは、開発者にとってもユーザーにとっても、もはや日常の一部となっているほど身近なソフトウエアですが、近年のブラウザはあまりにも高機能かつ巨大になってしまったため、その仕組みを詳しく理解することは困難です。そこで、シンプルなブラウザをRustを用いて実装することによって、ブラウザ上でWebサイトを開くまでに何が起きているのかを理解することを目的とします。さらに、作成したブラウザを、別冊で解説・実装している自作OSの上で動かすことによって、ブラウザと更にその裏側を理解していきます。


(こんな方におすすめ)

・普段からブラウザを使用していて、その裏側に少しでも興味を持っている方


(目次)

第1章:ブラウザを知る──Webサイトを表示するアプリケーション

 ブラウザの役割❶──Webクライアントとしてのブラウザ

 ブラウザの役割❷──レンダリングエンジンとしてのブラウザ

 ブラウザの役割❸──JavaScriptエンジンとしてのブラウザ

 コアの役割を支えるためのさらなる機能

 マルチプロセスアーキテクチャ

 ブラウザのセキュリティ対策

 本書のゴール・注意点

第2章:URLを分解する──リソースを指定する住所

 URLとは

 URLの構文解析の実装

 ユニットテストによる動作確認

第3章:HTTPを実装する──ネットワーク通信を支える約束事

 HTTPとは

 HTTPクライアントの実装

 ユニットテストによる動作確認

 WasabiOS上で動かす

第4章:HTMLを解析する──HTMLからDOMツリーへの変換

 HTMLとは

 HTMLの字句解析──トークン列の生成

 ユニットテストによる字句解析の動作確認

 HTMLの構文解析──ツリーの構築

 ユニットテストによる構文解析の動作確認

 WasabiOS上で動かす

第5章:CSSで装飾する──CSSOMとレイアウトツリーの構築

 CSSとは

 CSSの字句解析──トークン列の生成

 ユニットテストによる字句解析の動作確認

 CSSの構文解析──CSSOMの構築

 ユニットテストによる構文解析の動作確認

 レイアウトツリーの構築

 ユニットテストによるレイアウトの動作確認

 GUI描画のための準備

第6章:GUIを実装する──ユーザーとのやりとり

 GUIとは

 GUIアプリケーションのウィンドウの作成

 ユーザーの入力を取得

 アドレスバーからナビゲーション

 ページの内容の描画

 リンククリックでナビゲーション

第7章:JavaScriptを動かす──ページの動的な変更

 JavaScriptとは

 JavaScriptの加算/減算の実装

 JavaScriptの変数の実装

 JavaScriptの関数呼び出しの実装

 ブラウザAPIの追加

 WasabiOS上で動かす

 おわりに
この本はファイルサイズが大きいため、ダウンロードに時間がかかる場合があります。Kindle端末では、この本を3G接続でダウンロードすることができませんので、Wi-Fiネットワークをご利用ください。

出版社より

自作ブラウザ ハンズオン Webブラウザ Rust

商品の説明

著者について

名古屋市立大学芸術工学部でデザインを学びながら、フロントエンド、バックエンドのウェブ開発を独学で学ぶ。名古屋大学大学院情報学研究科では、コンピュータを使って生命の謎に迫る人工生命の分野で研究。低レイヤーの分野に興味があり、趣味の時間でRISC-Vエミュレータを開発中。現在はGoogleでソフトウェアエンジニアとしてブラウザ開発に従事している。 --このテキストは、絶版本またはこのタイトルには設定されていない版型に関連付けられています。

登録情報

  • ASIN ‏ : ‎ B0DKDHR8BL
  • 出版社 ‏ : ‎ 技術評論社 (2024/11/9)
  • 発売日 ‏ : ‎ 2024/11/9
  • 言語 ‏ : ‎ 日本語
  • ファイルサイズ ‏ : ‎ 11511 KB
  • Text-to-Speech(テキスト読み上げ機能) ‏ : ‎ 有効
  • X-Ray ‏ : ‎ 有効にされていません
  • Word Wise ‏ : ‎ 有効にされていません
  • 本の長さ ‏ : ‎ 837ページ
  • カスタマーレビュー:
    3.4 5つ星のうち3.4 14個の評価

著者について

著者をフォローして、新作のアップデートや改善されたおすすめを入手してください。
土井 麻未
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

著者の本をもっと見つけたり、似たような著者を調べたり、おすすめの本を読んだりできます。

カスタマーレビュー

星5つ中3.4つ
14グローバルレーティング

この商品をレビュー

他のお客様にも意見を伝えましょう
とりあえずsabaコマンドを打ってみましょう
星5つ中5つ
とりあえずsabaコマンドを打ってみましょう
## 2024-11-09 20:04(追記)3章まで読み終わりました。HTTPClientを作ってWeb上からHTMLを取得する処理を自前で書いて、実際にexample.comなどにRequestをします。run_on_wasabi.shは相変わらずエラーな雰囲気に見えたのですが、とりあえずsabaコマンドを打ってEnterを押すと、無事にWasabiOS上でHTMLの取得ができたことが確認できました。テストだけ動かしてRustのコードやブラウザの裏側の雰囲気を体験できるだけでも楽しいですが、実際に動作するとやはり嬉しいです。これで安心して4章以降も楽しめそうです(総合評価を4から5に変更しました)。```[INFO] os/src/cmd.rs:54 : Executing cmd: ["wait_until_dns_ready"][INFO] os/src/cmd.rs:90 : DNS server address is set up! ip = 8.8.8.8[INFO] os/src/cmd.rs:54 : Executing cmd: ["nslookup", "example.com"][WARN] os/src/net/manager.rs:429: No route to 8.8.8.8. Sending ARP from all the interfaces.[ERROR] os/src/main.rs:147: Failed("Timed out")[INFO] os/src/executor.rs:147: Task completed: Task(os/src/main.rs:210): Ok(())saba[INFO] os/src/cmd.rs:54 : Executing cmd: ["saba"]...(中略)response:HttpResponse { version: "HTTP/1.1", status_code: 200, reason: "OK\r", headers: [ Header { name: "Accept-Ranges", value: "bytes", },(以下略)```## 2024-11-09 12:182024-11-09 0時にKindleの配信が待ち切れずPDF・Epub版を購入して2章まで読み進めた状態です。0章のrun_on_wasabi.shの実行でシェルからCloneしているWasabi OS内のエラーを拾っていたために処理がうまくいかず悩んでいたのですが、MacやUbuntuでコードが動作しているのでとりあえず先に読み進めています。Rust言語の扱い方を学べますが、言語の扱いに関する初歩の説明はなくすでに理解している前提で進みます。Appendixにも言語の入門などがない上で800ページ超の分量なので、事前に公式ドキュメントや書籍などでRust言語をある程度書ける状態にしておくことが望ましいです。Rustで何かを作ったり、ブラウザ自体を手作りで学べたりなどだいぶ攻めた内容で地道にコードを書きつつもワクワク感があります。ただ、万人に易しい内容でもないとは思いますので、Rust言語を楽しんで書いたり、環境構築で詰まっても自身で対処をしていく姿勢を持った上で本書籍を購入すると良さそうです。800ページを超えていて3章以降も分量があるのでゆっくり読み進めていきます。[ご参考]0章のrun_on_wasabi.shの実行時のログです。OS側でエラーをキャッチしてログを出力しているように見えましたが、コードの読み込みや環境の確認と検証に時間がかかりそうで0章でいきなり詰まりつつも諦めて先へと読み進めていきました。```[INFO] os/src/cmd.rs:54 : Executing cmd: ["wait_until_dns_ready"][INFO] os/src/cmd.rs:90 : DNS server address is set up! ip = 8.8.8.8[INFO] os/src/cmd.rs:54 : Executing cmd: ["nslookup", "example.com"][WARN] os/src/net/manager.rs:429: No route to 8.8.8.8. Sending ARP from all the interfaces.[ERROR] os/src/main.rs:147: Failed("Timed out")[INFO] os/src/executor.rs:147: Task completed: Task(os/src/main.rs:210): Ok(())```
フィードバックをお寄せいただきありがとうございます
申し訳ありませんが、エラーが発生しました
申し訳ありませんが、レビューを読み込めませんでした

上位レビュー、対象国: 日本

  • 2024年12月6日に日本でレビュー済み
    Amazonで購入
    Rustは初めて触りましたが、理解しやすい書き方を心掛けてくれているので特に苦にはなりませんでした。
    この本を読む前にインタプリタやコンパイラなど、言語処理系の学習を多少していたので字句解析、構文解析の辺りはすんなり理解できました。
    逆に、他のプログラミング言語の経験がない、言語処理系の予備知識もなかったらどうだったろう?と考えるとハードルが高いような気がします。
    それでも写経しながら書籍の通りに進めて行けばなんとなくブラウザの仕組みが理解出来る助けにはなると思います。
    良い本です。次は本書籍内でも触れられている、「作って学ぶOSのしくみ」に期待したいと思います。
    3人のお客様がこれが役に立ったと考えています
    レポート
  • 2025年1月21日に日本でレビュー済み
    何がしたい本なのかよく分からない
    仮説①: 別冊になっている自作OSの本を売りたい?→だがその本は2025/1/20時点でも未発売
    仮説②: 読者側のOSを指定したい?→バーチャルボックスかUTMをインストールさせればよいと思うのですが
    仮説③: OSの機能は最低限にしてブラウザ開発に集中して欲しい?→自分は自作OSのセットアップで割と時間取られました

    何がしたい本なのかよくわからないですね、、

    内容自体は自作OSで検索すれば出てくるような内容がより詳細に書いてあるといった感じなので、CS未修の方で字句解析等に興味がある方は買ってもよいかもしれない。

    あくまで作者が趣味でやったものを本にしました、というテイストで読むのが1番しっくり来る。そして自分は合わなかったので低評価にしました。
    2人のお客様がこれが役に立ったと考えています
    レポート
  • 2024年11月9日に日本でレビュー済み
    ## 2024-11-09 20:04(追記)

    3章まで読み終わりました。HTTPClientを作ってWeb上からHTMLを取得する処理を自前で書いて、実際にexample.comなどにRequestをします。run_on_wasabi.shは相変わらずエラーな雰囲気に見えたのですが、とりあえずsabaコマンドを打ってEnterを押すと、無事にWasabiOS上でHTMLの取得ができたことが確認できました。テストだけ動かしてRustのコードやブラウザの裏側の雰囲気を体験できるだけでも楽しいですが、実際に動作するとやはり嬉しいです。これで安心して4章以降も楽しめそうです(総合評価を4から5に変更しました)。

    ```
    [INFO] os/src/cmd.rs:54 : Executing cmd: ["wait_until_dns_ready"]
    [INFO] os/src/cmd.rs:90 : DNS server address is set up! ip = 8.8.8.8
    [INFO] os/src/cmd.rs:54 : Executing cmd: ["nslookup", "example.com"]
    [WARN] os/src/net/manager.rs:429: No route to 8.8.8.8. Sending ARP from all the interfaces.
    [ERROR] os/src/main.rs:147: Failed("Timed out")
    [INFO] os/src/executor.rs:147: Task completed: Task(os/src/main.rs:210): Ok(())
    saba
    [INFO] os/src/cmd.rs:54 : Executing cmd: ["saba"]
    ...(中略)
    response:
    HttpResponse {
    version: "HTTP/1.1",
    status_code: 200,
    reason: "OK\r",
    headers: [
    Header {
    name: "Accept-Ranges",
    value: "bytes",
    },

    (以下略)
    ```

    ## 2024-11-09 12:18

    2024-11-09 0時にKindleの配信が待ち切れずPDF・Epub版を購入して2章まで読み進めた状態です。0章のrun_on_wasabi.shの実行でシェルからCloneしているWasabi OS内のエラーを拾っていたために処理がうまくいかず悩んでいたのですが、MacやUbuntuでコードが動作しているのでとりあえず先に読み進めています。

    Rust言語の扱い方を学べますが、言語の扱いに関する初歩の説明はなくすでに理解している前提で進みます。Appendixにも言語の入門などがない上で800ページ超の分量なので、事前に公式ドキュメントや書籍などでRust言語をある程度書ける状態にしておくことが望ましいです。

    Rustで何かを作ったり、ブラウザ自体を手作りで学べたりなどだいぶ攻めた内容で地道にコードを書きつつもワクワク感があります。ただ、万人に易しい内容でもないとは思いますので、Rust言語を楽しんで書いたり、環境構築で詰まっても自身で対処をしていく姿勢を持った上で本書籍を購入すると良さそうです。800ページを超えていて3章以降も分量があるのでゆっくり読み進めていきます。

    [ご参考]
    0章のrun_on_wasabi.shの実行時のログです。OS側でエラーをキャッチしてログを出力しているように見えましたが、コードの読み込みや環境の確認と検証に時間がかかりそうで0章でいきなり詰まりつつも諦めて先へと読み進めていきました。

    ```
    [INFO] os/src/cmd.rs:54 : Executing cmd: ["wait_until_dns_ready"]
    [INFO] os/src/cmd.rs:90 : DNS server address is set up! ip = 8.8.8.8
    [INFO] os/src/cmd.rs:54 : Executing cmd: ["nslookup", "example.com"]
    [WARN] os/src/net/manager.rs:429: No route to 8.8.8.8. Sending ARP from all the interfaces.
    [ERROR] os/src/main.rs:147: Failed("Timed out")
    [INFO] os/src/executor.rs:147: Task completed: Task(os/src/main.rs:210): Ok(())
    ```
    カスタマー画像
    5つ星のうち5.0
    とりあえずsabaコマンドを打ってみましょう

    2024年11月9日に日本でレビュー済み
    ## 2024-11-09 20:04(追記)

    3章まで読み終わりました。HTTPClientを作ってWeb上からHTMLを取得する処理を自前で書いて、実際にexample.comなどにRequestをします。run_on_wasabi.shは相変わらずエラーな雰囲気に見えたのですが、とりあえずsabaコマンドを打ってEnterを押すと、無事にWasabiOS上でHTMLの取得ができたことが確認できました。テストだけ動かしてRustのコードやブラウザの裏側の雰囲気を体験できるだけでも楽しいですが、実際に動作するとやはり嬉しいです。これで安心して4章以降も楽しめそうです(総合評価を4から5に変更しました)。

    ```
    [INFO] os/src/cmd.rs:54 : Executing cmd: ["wait_until_dns_ready"]
    [INFO] os/src/cmd.rs:90 : DNS server address is set up! ip = 8.8.8.8
    [INFO] os/src/cmd.rs:54 : Executing cmd: ["nslookup", "example.com"]
    [WARN] os/src/net/manager.rs:429: No route to 8.8.8.8. Sending ARP from all the interfaces.
    [ERROR] os/src/main.rs:147: Failed("Timed out")
    [INFO] os/src/executor.rs:147: Task completed: Task(os/src/main.rs:210): Ok(())
    saba
    [INFO] os/src/cmd.rs:54 : Executing cmd: ["saba"]
    ...(中略)
    response:
    HttpResponse {
    version: "HTTP/1.1",
    status_code: 200,
    reason: "OK\r",
    headers: [
    Header {
    name: "Accept-Ranges",
    value: "bytes",
    },

    (以下略)
    ```

    ## 2024-11-09 12:18

    2024-11-09 0時にKindleの配信が待ち切れずPDF・Epub版を購入して2章まで読み進めた状態です。0章のrun_on_wasabi.shの実行でシェルからCloneしているWasabi OS内のエラーを拾っていたために処理がうまくいかず悩んでいたのですが、MacやUbuntuでコードが動作しているのでとりあえず先に読み進めています。

    Rust言語の扱い方を学べますが、言語の扱いに関する初歩の説明はなくすでに理解している前提で進みます。Appendixにも言語の入門などがない上で800ページ超の分量なので、事前に公式ドキュメントや書籍などでRust言語をある程度書ける状態にしておくことが望ましいです。

    Rustで何かを作ったり、ブラウザ自体を手作りで学べたりなどだいぶ攻めた内容で地道にコードを書きつつもワクワク感があります。ただ、万人に易しい内容でもないとは思いますので、Rust言語を楽しんで書いたり、環境構築で詰まっても自身で対処をしていく姿勢を持った上で本書籍を購入すると良さそうです。800ページを超えていて3章以降も分量があるのでゆっくり読み進めていきます。

    [ご参考]
    0章のrun_on_wasabi.shの実行時のログです。OS側でエラーをキャッチしてログを出力しているように見えましたが、コードの読み込みや環境の確認と検証に時間がかかりそうで0章でいきなり詰まりつつも諦めて先へと読み進めていきました。

    ```
    [INFO] os/src/cmd.rs:54 : Executing cmd: ["wait_until_dns_ready"]
    [INFO] os/src/cmd.rs:90 : DNS server address is set up! ip = 8.8.8.8
    [INFO] os/src/cmd.rs:54 : Executing cmd: ["nslookup", "example.com"]
    [WARN] os/src/net/manager.rs:429: No route to 8.8.8.8. Sending ARP from all the interfaces.
    [ERROR] os/src/main.rs:147: Failed("Timed out")
    [INFO] os/src/executor.rs:147: Task completed: Task(os/src/main.rs:210): Ok(())
    ```
    このレビューの画像
    カスタマー画像
    32人のお客様がこれが役に立ったと考えています
    レポート
  • 2025年1月3日に日本でレビュー済み
    タイトルからはわからないが、自作OSで自作ブラウザをうごかす。
    自作OSのせいでわかりにくい。ブラウザだけ作るのではダメなのか。。。
    5人のお客様がこれが役に立ったと考えています
    レポート
  • 2024年12月1日に日本でレビュー済み
    ブラウザの基本の仕組みやブラウザがどのようなプログラム部品で動いてるかを知るのにはいい本です。説明のところでは新しい話もかなり書かれているみたいだし、仕様との対応も書かれています。

    でもRustで書かれたシンプルなブラウザを作る本なのかというと自作OS前提だし、Rustが学べるという感じでもないです。Rust標準のライブラリは使わず、ネットワーク通信なども自作OSの独自クラスを使います。最初の設定でつまづく人も多そう。著者の方のこだわりなのでしょうが素直な環境で動くプログラムの本の方が読みやすかったかなとおもいました。
    26人のお客様がこれが役に立ったと考えています
    レポート

問題を報告


この商品には、不適切な内容が含まれていますか?
この商品は、著作権を侵害していると思いますか?
この商品には、品質または書式設定の問題が含まれていますか?