タグ

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

  • 信頼性の高い機械学習

    Cathy Chen、Niall Richard Murphy、Kranti Parisa、D. Sculley、Todd Underwood 著、井伊 篤彦、張 凡、樋口 千洋 訳 TOPICS System/Network 発行年月日 2024年10月 PRINT LENGTH 388 ISBN 978-4-8144-0076-8 原書 Reliable Machine Learning FORMAT Print PDF EPUB 書では、ソフトウェアシステムの信頼性と安定性を保つことに優れたアプローチであるSRE(サイトリライアビリティエンジニアリング)の原則を適用し、信頼性が高く、効果的で、責任のある機械学習システムを構築し運用するための方法を紹介します。毛糸を販売している仮想のオンラインストア「yarnit.ai」を例に用いつつ、番環境でのモデルモニタリングの方法から、製品開

    信頼性の高い機械学習
    sek_165
    sek_165 2024/09/29
  • スタッフエンジニアの道

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

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

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

    脳に収まるコードの書き方
    sek_165
    sek_165 2024/05/20
  • 効率的なGo

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

    効率的なGo
    sek_165
    sek_165 2024/01/31
  • ソフトウェア設計のトレードオフと誤り

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

    ソフトウェア設計のトレードオフと誤り
    sek_165
    sek_165 2023/05/10
  • ロバストPython

    Pythonはシンプルな構文で読みやすいプログラミング言語ですが、コードをロバストにする機能も備わっています。書では、Python 3.5から導入された型ヒントを使って、ロバストなPythonコードを記述する方法にアプローチします。全4部構成のうち、Ⅰ部とⅡ部ではPythonにおける型ヒントの位置づけや組み込み型について基的な事柄をしっかりおさえ、ユーザ定義型を使う方法、部分型、プロトコル、pydanticによる実行時型チェックなど、Pythonの型システムを最大限に活用する方法を詳しく説明します。Ⅲ部は依存関係や設計手法について、Ⅳ部はセーフティネットとして高度なテスト手法を扱います。書の内容を理解すれば、クリーンで保守しやすいPythonコードが書けるようになります。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の

    ロバストPython
    sek_165
    sek_165 2023/03/09
  • リーダーの作法

    リーダーシップは一部の人だけに与えられる天職であり、複雑で膨大なリーダーシップの哲学を実践しなければならないと思われがちですが、そんなことはありません。ささいな行動を日々繰り返すことで、お互いを尊敬し、信頼し合うチームを作ることができます。 Netscapeでマネージャー、Appleでディレクター、Slackでエグゼクティブを経験した著者が、それぞれの立場のリーダーに必要な振る舞いを30のエッセイで紹介します。 1on1での傾聴、信頼関係の築き方、仕事の任せ方、メンバーのほめ方、チーム内のうわさ話への対応、組織の文化の作り方など、マネジメントの場面で出会うさまざまなテーマをとりあげ、リーダーとしての具体的な行動や考え方を解説します。 書への推薦の言葉 序文 はじめに エッセンス 第I幕 Netscape:マネージャー 1章 誰からでも学ぶことがあると考える 2章 会議ボケ 2.1 抱えす

    リーダーの作法
    sek_165
    sek_165 2022/06/03
  • ソフトウェアアーキテクチャの基礎

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

    ソフトウェアアーキテクチャの基礎
    sek_165
    sek_165 2022/02/18
  • Googleのソフトウェアエンジニアリング

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

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

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

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

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

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

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

    プロダクトマネジメント
    sek_165
    sek_165 2020/10/12
  • 1