タグ

ブックマーク / www.oreilly.co.jp (27)

  • スタッフエンジニアの道

    キャリアアップを目指すシニアソフトウェアエンジニアには、2つの異なる道があります。一つは、管理職への道。マネジメントスキルを磨き、チームや組織を導く道です。この道については、多くの研究がなされ、スキルを向上させるための書籍も数多く存在します。もう一つは、技術専門職の道。エンジニアリングのスキルを極め、専門性を深めていく道です。近年、技術専門職のキャリアパスを用意する企業は増えてきているものの、まだ明確な指針が確立されているとは言えません。 書は、技術専門職としてのキャリア成長に必要な考え方やスキルを詳細に解説します。上級技術専門職に求められる役割、大局的な視点を持って自らの仕事に取り組む方法、大規模プロジェクトを成功に導く手法、自身の専門性を深めながらチームメンバーの成長を支援する方法を学びます。 技術専門職としてのキャリアを目指すエンジニア必携の一冊です。 書への推薦の言葉 序文 イ

    スタッフエンジニアの道
  • 脳に収まるコードの書き方

    ソフトウェアは複雑さを増すばかりですが、人間の脳は限られた複雑さしか扱えません。ソフトウェアが思い通りに動くようするには、脳に収まり、人間が理解できるコードを書く必要があります。 書は、拡張を続けても行き詰ることなくコードを書き、複雑さを回避するための実践的な方法を解説します。最初のコードを書き始めるところから機能を追加していくところまでを解説し、効率的で持続可能なペースを保ちながら、横断的な問題への対処やトラブルシューティング、最適化を行なう方法を説明します。自分のチェックリストからチームワーク、カプセル化から分解、API設計から単体テストまで、ソフトウエア開発の重要な課題に対する考え方やテクニックを紹介します。サンプルプロジェクトで使うコードは、Gitリポジトリの形で入手でき、試しながら学べます。 有効に機能するプロセスを選び、効果のない方法論から脱却する方法。チェックリストを使うこ

    脳に収まるコードの書き方
  • 効率的なGo

    書は、Goアプリケーションの効率やスケーリングに関する疑問に対して、実用的な答えを与えてくれる書籍です。 レイテンシー、CPU、メモリ資源についての知識、またOSやGoがそれらを抽象化している方法について、またソフトウェアの効率に関わるデータ駆動な意思決定を行う事の意味や、計算量解析の手法、最適化状況の例など、実用的なソフトウェアを開発する中での「効率」に関する知識を紹介します。 Goやその他のモダンな言語で書かれたプログラムを設計、作成、変更するソフトウェア開発者、また誰かが書いたソフトウェアを主に運用するDevOpsエンジニア、SRE、シスアド、プラットフォームチームなどの読者が、いつ、どのように効率最適化を適用するかという問いに答えるための知識を身に付けることができるでしょう。 関連ファイル 原著者による書のサンプルリポジトリ 正誤表 ここで紹介する正誤表には、書籍発行後に気づい

    効率的なGo
  • 初めてのTypeScript

    TypeScript格的な入門書。TypeScriptは、世界で最もよく使われ、かつ最も好まれているプログラミング言語の1つです。書では、JavaScriptの基礎的な知識のあるプログラマーを対象に、「型」や「型システム」の基から、明快かつ包括的にTypeScriptを解説します。TypeScriptはバグやタイプミスを防ぎ、コードを読みやすくするのに有用なだけでなく、JavaScriptがどのように動くべきかを宣言し、それを維持するのに役立つ優れたシステムです。読者は書を読むことで、TypeScriptの基礎と最も重要な機能をマスターできるでしょう。 賞賛の声 監訳者まえがき まえがき 第I部 TypeScriptの概念 1章 JavaScriptからTypeScriptへ 1.1 JavaScript歴史 1.2 バニラJavaScriptの欠陥 1.2.1 コストのかかる

    初めてのTypeScript
  • プログラミング文体練習

    レーモン・クノーの『文体練習』から着想を得て執筆された書は、1つの課題を異なるプログラミングスタイルで実装し、さまざまなスタイルの特性やスタイルが生まれた歴史的経緯などを解説します。家の『文体練習』は、「バスの中で起きた諍いと、その張人を後で目撃した」という内容を、公的文書風、宣伝風、業界用語風など、99の異なる文体で表現したものですが、書は、「単語の出現頻度をカウントして多いものから出力する」という課題を、40のスタイルで実装しています。リソース制約が大きかった時代の方法から、オブジェクト指向、純粋関数型、リフレクション、並行処理、ニューラルネットワークまで幅広いスタイルを扱い、マルチパラダイム言語Pythonの威力と魅力を感じられる構成となっています。 訳者まえがき 第2版 まえがき 第1版 まえがき 序章 第Ⅰ部 歴史的スタイル 1章 古き良き時代:アセンブリ言語 2章 Fo

    プログラミング文体練習
  • ソフトウェア設計のトレードオフと誤り

    「プログラムを設計するときに行った技術的な判断や選択が、後日大きな制約となる」これはプログラマなら誰しも経験したことのあることでしょう。書は、そんなプログラミングにおける各種の設計上の選択について、トレードオフの内容やそれがどのような誤りを招きうるのかという点を踏まえて紹介する書籍です。 コードの重複、エラーや例外処理、柔軟性と複雑性のバランスのようなコードレベルの選択から、APIの設計、時刻の扱い、データローカリティのようなシステム寄りの話題、またライブラリの選択、分散システムの一貫性と原子性、バージョニングのようなより抽象度の高い内容まで、さまざまなシチュエーションにおけるトレードオフの実態と、その失敗例をとり上げます。 書は日々のプログラミングにおける解決策のヒントを得るだけでなく、より幅広い設計上の知見を広める上でも役に立つでしょう。 正誤表 ここで紹介する正誤表には、書籍発行

    ソフトウェア設計のトレードオフと誤り
  • オブザーバビリティ・エンジニアリング

    書は、近年のクラウドベースのソフトウェアシステム開発における設計プラクティスなどにおいて触れられる概念「オブザーバビリティ(可観測性)」に関する書籍です。オブザーバビリティとは何か、どのように役立てるのかなど、登場の背景から実践方法、組織、企業への適用といった幅広い視点で解説します。今後、ソフトウェアシステムの開発においてオブザーバビリティが果たすであろう、より大きな役割についても触れています。さらにSlackのゲスト寄稿者により、テストとデプロイプロセスへのオブザーバビリティの適用と、パイプラインによるテレメトリー管理についてのケーススタディを紹介。書はソフトウェアに関わる多くの人々にとって今後より一般化するオブザーバビリティを知る第一歩となるでしょう。 書に誤植などを発見された場合は問い合わせ窓口よりご連絡ください。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更

    オブザーバビリティ・エンジニアリング
  • 詳解 システム・パフォーマンス 第2版

    書は、エンタープライズとクラウド環境を対象としたオペレーティングシステムとアプリケーションのパフォーマンス分析と向上について解説します。 主にLinuxベースのオペレーティングシステムに含まれるツールとその使用例を通じてシステムパフォーマンスを引き出す手法を説明します。システム評価のためのベンチマーク、キャパシティプランニング、ボトルネックの解消について解説しスケーラビリティを制限する要因を発見、分析し、解決する方法を学びます。 第2版では、perf、Ftrace、BPFの解説が加わり、Linuxとクラウドコンピューティングについての説明が充実しました。 システムのパフォーマンスを向上させ、コストを削減し、レイテンシの外れ値を減らすための方法を学ぶ書はエンジニア必携の一冊です。 まえがき 1章 イントロダクション 1.1 システムパフォーマンス 1.2 職種 1.3 作業 1.4 分析

    詳解 システム・パフォーマンス 第2版
  • 大規模データ管理

    TOPICS Database 発行年月日 2022年12月 PRINT LENGTH 372 ISBN 978-4-8144-0008-9 原書 Data Management at Scale FORMAT PDF EPUB データ管理と統合が急速に進化する中、複雑で緊密に結合したアーキテクチャから、現代のビジネスに対応できる、より柔軟なデータアーキテクチャへの移行が求められます。 書は、変化が激しい時代でも長期的に持続可能な方法で大規模なデータ管理を行い、さまざまなユースケースに対応できる統合アーキテクチャを紹介します。この統合アーキテクチャを構成する、膨大なデータ利用に向けた「読み出し専用データストアアーキテクチャ」、リアルタイムなアプリケーションのための「APIアーキテクチャ」、大容量のスループットを実現する「ストリーミングアーキテクチャ」を詳述します。また技術開発、法規制、プ

    大規模データ管理
  • ソフトウェアアーキテクチャ・ハードパーツ

    ソフトウェアアーキテクチャに絶対的な正解は存在しません。むしろ、さまざまな妥協点の中から選択を強いる難題、すなわち「ハードパーツ」が多く存在します。そのため、ソフトウェアアーキテクトには常にトレードオフを見極め、状況に合った選択をすることが求められます。書は、読者が自身のアーキテクチャ上の難題に対して効果的なトレードオフ分析を行い、より良い決定ができるようにするための書籍です。 書では、サービスの粒度やデータの所有権、コードの再利用やワークフローの調整、可用性や信頼性の実現といった現代のソフトウェアアーキテクチャの難題と、それに対するさまざまなアプローチやパターンを紹介します。そして意思決定を難しくするトレードオフについて、モノリスを分解しマイクロサービスアーキテクチャに再構築する例を通して詳しく説明します。 『ソフトウェアアーキテクチャの基礎』の著者らによる現代的なトレードオフ分析と

    ソフトウェアアーキテクチャ・ハードパーツ
  • カオスエンジニアリング

    ソフトウェアをはじめとするあらゆるシステムは、発展するにつれて必然的に複雑性が増していきます。 書は、カオスエンジニアリングの基となる理論と原則を説明し、組織が複雑性を受け入れながら、システムにおける弱点を発見するとともに、自信を持って障害に対処する力をつけるための実践方法を解説します。 ソフトウェアがビジネスの根幹を担う企業であるSlackGoogleMicrosoft、LinkedIn、Capital Oneでの事例を紹介し、ゲームデーを中心としたカオスエンジニアリングプログラムの実践、実験の選択や自動化にあたっての課題、継続的ベリフィケーションの設計と実施、さらにはデータベースやセキュリティ分野への応用例などについて説明します。 Netflixでカオスエンジニアリングチームを立ち上げた先駆者である著者に加え、さまざまな組織のリーダーたちがカオスエンジニアリングについて多角的に

    カオスエンジニアリング
  • 実用 Go言語

    業務プログラミングの現場でも採用されるようになってきたGo言語。文法はシンプルで学びやすいという特徴を持っていますが、複雑な要件を実現するには、プログラミング言語が提供する構成要素(文法やライブラリ)をさまざまに組み合わせる必要があります。 書は、そんなGoを使う上でのポイントを単なる文法詳解ではなく「よりGoらしく書くには」「実用的なアプリケーションを書くには」といった観点から紹介します。 構造体やインタフェースの使い方からJSON、CSVファイル、Excel、固定長ファイルの扱い方、またログやテスト、環境構築など現場に即した幅広いトピックについて、「Goらしいプログラムの書き方」をその背景と共に教えてくれる先輩のような書籍です。 まえがき 1章 「Goらしさ」に触れる 1.1 変数やパッケージ、メソッドなどに名前を付けるには 1.1.1 変数名 1.1.2 パッケージ名 1.1.3 

    実用 Go言語
  • システム運用アンチパターン

    上層部がDevOpsに理解のない組織で働き、組織構造を変える権限を持っていない開発者であっても、チームにDevOpsを導入するための現実的な方法を紹介します。 重厚な承認プロセス、可視化されていない運用、プロセスの最後でのみ行われるソフトウェアテスト、ノイズだらけのアラート、インシデントから学習しない習慣、時間外のデプロイ、情報のため込みなどを取り上げ、ソフトウェアシステムの開発運用が滞るチームや組織に共通してみられる陥りがちな状況や犯しがちな間違いをアンチパターンとして紹介します。そして管理職やマネージャでなく、エンジニアが実行し、繰り返すことで改善できる具体的な行動を解説します。 組織で必要とされる変化を、エンジニアが行動することで実現する書は、ソフトウェアシステムをよりよく開発運用したいエンジニア必携の一冊です。 目 次 序文 書について 1章 DevOpsを構成するもの 1.1

    システム運用アンチパターン
  • 4月新刊情報『システム運用アンチパターン』

    『システム運用アンチパターン ―エンジニアがDevOpsで解決する組織・自動化・コミュニケーション』 Jeffery D. Smith 著、田中 裕一 訳 2022年4月12日発売予定 352ページ ISBN978-4-87311-984-7 定価3,520円(税込) 上層部がDevOpsに理解のない組織で働き、組織構造を変える権限を持っていない開発者であっても、チームにDevOpsを導入するための現実的な方法を紹介します。 重厚な承認プロセス、可視化されていない運用、プロセスの最後でのみ行われるソフトウェアテスト、ノイズだらけのアラート、インシデントから学習しない習慣、時間外のデプロイ、情報のため込みなどを取り上げ、ソフトウェアシステムの開発運用が滞るチームや組織に共通してみられる陥りがちな状況や犯しがちな間違いをアンチパターンとして紹介します。そして管理職やマネージャでなく、エンジニア

    4月新刊情報『システム運用アンチパターン』
  • ソフトウェアアーキテクチャの基礎

    ソフトウェアアーキテクチャとは、ソフトウェアシステムの成功に欠かせない重要な土台です。そのためソフトウェア開発者には、効果的なアーキテクチャを実現するスキルが求められます。書は、そうした効果的なアーキテクチャを設計、構築、維持するアーキテクトになるために必要なスキルや知識を、現代的な視点から整理して包括的に解説する書籍です。 ソフトウェアアーキテクチャの定義から、アーキテクトの役割、モジュールや結合、アーキテクチャスタイルといったアーキテクチャ設計の基礎、チームやステークホルダーと効果的にコラボレーションしていくために必要なソフトスキルまで、さまざまなトピックについて実践的な例とともに説明します。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正

    ソフトウェアアーキテクチャの基礎
  • 3月新刊情報『ソフトウェアアーキテクチャの基礎』

    『ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ』 Mark Richards, Neal Ford 著、島田 浩二 訳 2022年3月8日発売予定 436ページ ISBN978-4-87311-982-3 定価4,180円(税込) ソフトウェアアーキテクチャとは、ソフトウェアシステムの成功に欠かせない重要な土台です。そのためソフトウェア開発者には、効果的なアーキテクチャを実現するスキルが求められます。書は、そうした効果的なアーキテクチャを設計、構築、維持するアーキテクトになるために必要なスキルや知識を、現代的な視点から整理して包括的に解説する書籍です。 ソフトウェアアーキテクチャの定義から、アーキテクトの役割、モジュールや結合、アーキテクチャスタイルといったアーキテクチャ設計の基礎、チームやステークホルダーと効果的にコラボレーションしていくために必要なソフ

    3月新刊情報『ソフトウェアアーキテクチャの基礎』
  • Googleのソフトウェアエンジニアリング

    Googleの現役ソフトウェアエンジニアたちが、超大規模ソフトウェアの開発と保守を長期的に支えてきたGoogle社内の多様なベストプラクティスを、文化、プロセス、ツールの側面からこの一冊に凝縮。時間と変化、規模と成長、トレードオフとコストという3つの基原理に沿って、コードを持続可能にする方法論を紐解きます。「謙虚、尊敬、信頼」、心理的安全性、ダイバーシティとインクルージョンなど公正を重んじる文化から、コードレビューやテスト構成法など人間の行動を規定するプロセス、継続的インテグレーションや大規模変更システムなど変化への対応を支援する自動化ツールの基盤技術まで、Googleが試行錯誤を経て獲得した教訓を余すところなく紹介しています。経済学、心理学、マネジメント論などを背景にした人間への深い洞察をふまえ、データ駆動かつトレードオフから導かれる、定量的かつ定性的な決定プロセスも解説。Google

    Googleのソフトウェアエンジニアリング
  • 段ボールで作る! 動く、飛ぶ、遊ぶ工作

    書は、子どもはみんな大好きで、しかもどんどん家に増えていく段ボールを中心に、紙箱や紙管(トイレットペーパーの芯など)を材料にして、実際に動かして遊べるおもちゃやゲームなどを作るための楽しい書籍です。紹介している作例は、マジックハンド、潜望鏡、ブーメラン、足踏みロケット発射装置、ゴムで飛ばすヘリコプター、パドルで進むボート、ビー玉ローラーコースター、風力トラクター、ストローで吹くサッカーゲーム、チェーンリアクションマシン、的当てゲーム、など。試行錯誤しながら改良を重ねることで、自然にエンジニアの考え方を身に付けることもできる、未来のエンジニアやプロダクトデザイナーにおすすめの一冊です。 1 エンジニアリングの科学 ボール紙や段ボールを使うワケ 身近な紙を集めて見てみよう ぶ厚い紙のじょうずな切り方 紙と紙のくっつけ方 便利なテクニックあれこれ 2 メカニズムの驚き ロボティクスとアニマトロ

    段ボールで作る! 動く、飛ぶ、遊ぶ工作
  • 計算できるもの、計算できないもの

    計算機による計算とは何か、計算できるものとできないものの境界はどこにあるのか―それを明らかにする計算理論は、計算機科学においてもっとも基的、かつ重要なものです。書では、概念の説明や、結果の証明にPythonプログラムを利用する実践的なアプローチにより、計算可能問題と計算不能問題、扱いやすい問題と扱いにくい問題があること、文章では簡単に表現できても計算機には解けない重要な問題が数多くあること、効率よく解ける問題と解けない問題があることなどを、計算理論の礎を築いたアラン・チューリングとリチャード・カープの論文の抜粋とともに解明します。チューリングマシン、有限オートマトン、万能計算、非決定性、チューリング還元、計算量クラス、NP完全性などのトピックをカバーしています。 謝辞 まえがき:教科書として使う方へ 全体像 1章 はじめに:計算できるもの, できないものとは 1.1 扱いやすい問題 1

    計算できるもの、計算できないもの
  • プロダクトマネジメント

    書は、顧客に価値を届けるプロダクトを作り出すプロダクトマネジメントについて学ぶです。プロダクトマネジメントを理解することで、企業がビジネス目標を達成しながら、顧客の課題を解決する方法を解説します。はじめにプロダクトマネージャーの役割と責任を定義し、優れた意思決定を促す戦略の立て方を紹介します。実験と最適化によって作るべきプロダクトを決めるプロセスを解説し、最後にプロダクト主導の組織を支えるための文化や方針を紹介します。 市場で競争力を維持するには、組織はアウトプットよりもアウトカム(成果)に焦点を当てた顧客中心の方針を採用する必要があります。アウトプットを重視してしまう企業は、顧客のニーズではなくスケジュールを優先し不要な機能をリリースする「ビルドトラップ」に陥ります。 このビルドトラップを避け、顧客の課題にフォーカスするプロダクトマネジメントの原則を解説する書は、規模の大小を問わず

    プロダクトマネジメント