技術書出版
ラムダノート株式会社

世界中の技術者と研究者の「専門知識をわかりやすく伝える」をお手伝いします。

全商品一覧はこちら。

お知らせ

『研鑽Rubyプログラミング』β版が更新されました(β3)

『研鑽Rubyプログラミング』β版が更新されました(β3)

いつもご来店ありがとうございます。 お待たせいたしました。Jeremy Evans著、角谷信太郎訳『研鑽Rubyプログラミング』β版の最終形となるβ3をリリースいたしました。通常の書籍と同様にしてカートに入れてお求めいただくと、各ページへのフィードバックが可能な電子書籍(PDF)をダウンロー...
『徹底解説 v6プラス』の販売を再開しました

『徹底解説 v6プラス』の販売を再開しました

ご来店ありがとうございます。 在庫切れでご迷惑をおかけしていた『徹底入門 v6プラス』の販売を再開しました。v6プラスのサービス提供会社であった日本ネットワークイネーブラー株式会社(JPNE)が、2023年1月より株式会社JPIXへと社名変更されたことに伴い、今回の発売分(第3刷)から書籍中の...
『プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するか』 発売のお知らせ

『プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するか』 発売のお知らせ

ご来店いただきありがとうございます。新刊『プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するのか』発売開始のお知らせです。 ほぼすべてのソフトウェア開発者がお世話になるコンピューターの最重要パーツ、CPU。「演算をする」というざっくりした役割は知っているし、も...

『研鑽Rubyプログラミング(β版)』

原則を学んで腕を磨き、さらなる高みを目指す

本書の目的は、中級から上級のRubyプログラマーが従うべき有用な原則を伝えることです。 解決策をどのように実装するかだけではなく、さまざまな実装方式と、それらの間のトレードオフ、ある方式が特定の状況下ではなぜ有効なのかといった観点も重視します。 原則を伝えることが本書の主な目的ですが、Rubyプログラミングの発展的な技法について説明することもあります。(本書β版「はじめに」より)

β版についての注意

  • 完成前の状態でいち早くお読みいただけて、フィードバックが可能なPDFの商品です。現在(β3)は制作中の本文全体をお読みいただけます
  • すでにβ版をお持ちで、ユーザー登録済の方は、マイ本棚に新しいバージョン「β3」が追加されています
  • 次回の更新にて、正式版と同じ内容のPDFをお読みいただける予定です(ユーザ登録が必要です)
  • 各ページに、フィードバック送信用のURLへのリンクがついています
  • β版には紙書籍はありません。紙書籍が必要な場合には、別途正式版の発売後にお求めをお願いします
  • β版は、将来発売される予定の正式版とは別の商品になります(カバー等も異なります)。もし、正式版の発売後に正式版のPDF書籍が必要な場合には、別途正式版の発売後にお求めをお願いします

プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するか

そのプログラム、CPUの性能を引き出せますか?

ソフトウェアの価値は、ハードウェアで実行されることにより、現実のものになります。そのために不可欠なのがCPUです。したがってソフトウェアの価値は、CPUの性能、すなわち「できるだけ高速にソフトウェアを実行すること」にかかっているとも言えるでしょう。

現代のCPUの性能は、「メモリとやり取りしながら命令を実行していく」というCPUの原理的な仕組みを知るだけでは説明できません。ソフトウェアを高速に実行するためにCPUシステムが備えているパイプライン化スーパースカラ化の挙動をはじめ、アウトオブオーダー実行分岐予測キャッシュTLBといった高速化のためのハードウェア機構、さらにはI/Oシステムコールなどの例外・割り込み系がCPUの動作に及ぼす影響について、幅広く知る必要があります。

さらに、現在では広く利用されているマルチプロセッサのCPUシステムにおいては、複数のキャッシュの一貫性を制御するための仕組みがソフトウェアの実行性能に与える影響や、複数のCPUからのメモリアクセス順序を強制したり不可分操作を実現したりする仕組みをソフトウェアで明示的に利用することによる影響を考慮しなければならない場合もあります。

本書では、豊富な図説と簡潔なコードを交えながら、CPUが備える高速化のためのさまざまな仕組みとその動作を阻む要因、さらにはソフトウェアで可能な対策について、ハードウェア技術に馴染みがないプログラマーでも十分な直感を得られるように解説していきます。

本書は『n月刊ラムダノートVol.3, No.1(2021)』に掲載された記事「CPUは如何にしてソフトウェアを高速に実行するのか」を基に、同記事では概要のみ触れていた各部について掘り下げると同時に、理解を深めるためのアセンブリコードを各章に追加し、さらにマルチプロセッサに関する話題を大幅に加筆して書籍として刊行したものです。

『事業をエンジニアリングする技術者たち ― フルサイクル開発者がつくるCARTAの現場』

フルサイクルエンジニアによる「アフターDX」の世界がここにある

コードを書くだけでなく「事業」そのものをエンジニアリングする「フルサイクルエンジニア」の生々しい声を和田卓人氏が編纂し、ITエンジニア本大賞2021年技術書部門大賞に輝いた『Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち』。あれから2年。同書に収録された6つの事業へのインタビューはそのままに、各事業の「それから」と、新たな2つのプロジェクトをめぐるインタビューを追加した改題改訂版をお届けします。

さまざまな事業を展開するIT企業のエンジニアたちが、常に変化し続けるソフトウェア開発の潮流の中で自分たちの事業にどう向き合い、レガシーを乗り越え続けているか。本書を通して語られるのは、まさに「企業がDXを達成した後に待っている世界」です。

本書の制作にあたっては、株式会社CARTA HOLDINGSから制作費を出資いただいています。

『ピアリング戦記 ― 日本のインターネットを繋ぐ技術者たち』

「ネットワークのネットワーク」って、こういう意味だったんだ!

  • 小川晃通 著
  • 150ページ
  • A5判
  • ISBN:978-4-908686-14-6
  • 2022年7月13日 第1版第1刷 発行
  • 正誤表

いまや世界中のあらゆる社会を支えるインターネットは、特定の国家や組織が管理・運営しているわけではありません。インターネットは、TCP/IPという技術の仕様にしたがって作られた機器やプログラムであれば自由に接続できる、オープンなネットワークです。

とはいえ、だれもが勝手気ままに自分の機器やネットワークを繋ぐだけでは、世界中を相互に接続するようなインターネットは実現できません。その裏では、さまざまな組織や人により、お金を伴う競争と協調の世界が繰り広げられています。

技術的な仕様の解説だけでは語れない、人と人を繋ぐネットワーク技術だからこそ立ち現れる生々しい舞台裏を、2020年代の日本のインターネットの大規模構造に影響をもたらした当事者たちへの取材とインタビューをとおして解き明かします!

検索システム ― 実務者のための開発改善ガイドブック

「情報検索」×「データサイエンス」×「全文検索エンジン」

  • 打田智子・古澤智裕・大谷 純・加藤 遼・鈴木翔吾・河野晋策 共著
  • 360ページ
  • A5判
  • ISBN:978-4-908686-13-9
  • 2022年5月2日 第1版第1刷 発行

大量のデータから必要な情報をすばやく見つけ出したい。その要求をコンピューターで叶えるための「検索システム」を実現するためには、「情報を見つけたい」という漠然とした要求をどうやって定式化すればいいか、それに合致する情報を膨大なデータから効率的に取り出すためのデータ構造とアルゴリズム、そうして見つかった複数の情報を提示する方法や順序などなど、考慮しなければならない課題がたくさんあります。

検索システムの実現に伴うさまざまな課題に取り組む鍵は情報検索です。情報検索は、コンピューターを利用するものに限っても、すでに数十年に及ぶ理論の蓄積がある研究分野です。さらに近年では、「ユーザーが検索したいものを定式化できていない状態での検索」(探索的検索)や、検索結果を提示する際の順序決定(ランキング)において、機械学習をはじめとするいわゆるデータサイエンスの知見が強力な手段として活用されています。

本書は、情報検索とデータサイエンスを見据えつつ、主に全文検索エンジンを利用した検索システムの構築を考えている人、もしくはすでに運用している検索システムの改善を考えている人のためのガイドとなるべく書かれました。利用者はもちろんシステムを提供する側にとっても「よい検索」を実現するために必要になるさまざまな知識や考え方を整理してお伝えするものです。

Goならわかるシステムプログラミング 第2版

実はよく知らなかったコンピューターのこと全部

  • 渋川よしき 著
  • 424ページ
  • A5判
  • ISBN:978-4-908686-12-2
  • 2017年10月23日 第1版第1刷 発行
  • 2022年3月23日 第2版第1刷 発行
  • 2023年3月1日 第2版第2刷 発行

OSやメモリのこと、もう少しだけ詳しく知っておきたい!

でも何から手を付けたらいいかわからない。教科書を読んでみても、ふだん書いているコードと違いすぎていまいちピンとこない……。

そんな方々のために、アプリケーションのコードから降りていくことで俯瞰的かつ具体的に低レイヤを自分の糧にできる、たくさんのエンジニアに読まれた名著の改訂版です。

第2版では、シェルプロセスが実行されるまでといった「経験的になんとなく知っているけど……」というトピックの解説が章単位で追加されるなど、初版よりさらにボリュームが増しています。

Goで書かれた「ふつうのアプリケーションのコード」から始めることで、「身近なコードの世界」と「メモリやCPUの世界」との間の巧妙で豊かなつながりが見えてきます!

本書は、2016年9月から2017年8月にかけてアスキーjpの「プログラミング+」コーナーで連載された大好評のWebコンテンツを、さらにわかりやすく紙版の書籍として編纂した初版を改訂したものです。 

『プロフェッショナルIPv6 第2版』

IPv6対応が気になるすべてのITエンジニアのための改訂版

    • 小川晃通 著
    • 488ページ
    • B5判
    • ISBN:978-4-908686-11-5
    • 電子書籍の形式:PDF
    • 2018年7月20日 第1版第1刷 発行
    • 2021年12月20日 第2版第1刷 発行

      IPv4なら何となく知っているし、アドレスが長くなるだけだから、いまさら500ページ近い本を読む必要はない」という方にこそ頭から読んでみてほしい、IP層として必要な機能をすべて取り込んだ複雑で高機能なIPv6プロトコルの全体像。プライベートアドレスやNATを前提として運用されているIPv4と、それらがないIPv6の両方を深く知ることではじめて説明できる、リアルな現在のインターネットの姿。NTT NGNにおけるIPv6インターネット接続についても付録にて詳解。

      本書は2018年7月に発行した『プロフェッショナルIPv6』の改訂版です。

      n月刊ラムダノート

      計算機好きのための技術解説情報誌

      n月刊ラムダノート(エヌゲッカンラムダノート)は、nヶ月ごとに刊行される計算機好きのための技術解説情報誌。コンセプトは「いろんなIT系技術書から1 章ずつ選んできた解説記事の集まり」です。毎回3~4つの記事が掲載されて1500円。
      本誌の紙書籍については、配送料当社負担でお届けします。副作用として、n月刊ラムダノート(紙版)と一緒に他の書籍をお買い上げいただくと、注文全体の配送料負担が無料になります(PDF版n月刊ラムダノートの同時購入では通常の配送料がかかります)。

      バックナンバー

       Vol.3, No.2 (2021)

      • #1 ネットワーク自動化の歩き方(土屋太二)
      • #2 ゲームエンジンでGPUをどう扱うか ― Ebitenの設計から学ぶ(星一)
      • #3 情報幾何からの眺め(平岡和幸・堀玄)

       Vol.3 No.1(2021)

      • #1 検索エンジンのしくみ(打田智子)
      • #2 「継続」のひみつ(遠藤侑介)
      • #3 CPUは如何にしてソフトウェアを高速に実行するのか(takenobu.hs)

       Vol.2, No.1 (2020)

      • #1 パケットの設計から見るQUIC(西田佳史)
      • #2 dRubyで楽しむ分散オブジェクト(関将俊)
      • #3 Biscuitで学ぶ、GoならわかるOS実装(渋川よしき)

      Vol.1, No.3 (2019)

      • #1 代数的データ型とパターンマッチの基礎(κeen)
      • #2 パターンマッチ in Ruby(辻本和樹)

       Vol.1, No.2 (2019)

      • #1 LISP 1.5の風景(川合史朗)
      • #2 計算機科学から見たディープラーニング(今井健男)
      • #3 Q#で始める量子プログラミング(田中孝佳)

       Vol.1, No.1 (2019)

      • #1 TCPの再送制御機構(西田佳史)
      • #2 「 コルーチン」とは何だったのか?(遠藤侑介)
      • #3 MLOps の歩き方(有賀康顕)