タグ

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

  • ソフトウェア設計のトレードオフと誤り

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

    ソフトウェア設計のトレードオフと誤り
  • ウェブ最適化ではじめる機械学習

    ウェブサービスの開発に携わるかぎり、ユーザにより良い体験を提供することは無視できない命題です。書は、ウェブサービスを成長させることを目的に、ユーザの行動を定量的に評価し、改善する手法を学ぶ書籍です。 シンプルなA/B テストを第一歩に、線形モデルの導入、メタヒューリスティクス、バンディットアルゴリズム、ベイズ最適化と、機械学習の知識を紹介しながら、ウェブサイトを最適化するという現実的な問題を解くための数理的な手法を解説します。 Pythonによるサンプルコードと、グラフィカルな図版で表現された数学的なモデルを組み合わせ、機械学習と統計学の基礎を丁寧に解説しています。ウェブ最適化の手法を学びたい、機械学習の基礎を知りたい読者に最適の1冊です。 内容見 まえがき 2章の冒頭部分 関連ファイル 1章のサンプルコード 2章のサンプルコード 3章のサンプルコード 4章のサンプルコード 5章のサン

    ウェブ最適化ではじめる機械学習
  • Real World HTTP 第2版

    TOPICS Web 発行年月日 2020年04月 PRINT LENGTH 496 ISBN 978-4-87311-903-8 FORMAT PDF EPUB 書はHTTPに関する技術的な内容を一冊にまとめることを目的とした書籍です。HTTPが進化する道筋をたどりながら、ブラウザが内部で行っていること、サーバーとのやりとりの内容などについて、プロトコルの実例や実際の使用例などを交えながら紹介しています。GoJavaScriptによるコード例によって、単純なHTTPアクセス、フォームの送信、キャッシュやクッキーのコントロール、Keep-Alive、SSL/TLS、プロトコルアップグレード、サーバープッシュ、Server-Sent Events、WebSocketなどの動作を理解します。 第2版ではHTTP/3の規格化など、初版の発行後に起きたウェブ技術への変化にともなう内容のアップデ

    Real World HTTP 第2版
  • Pythonではじめる教師なし学習

    教師なし学習はラベル付けされていないデータから学習する機械学習の一種です。現在の機械学習では大量のラベル付きのデータを用いる教師あり学習が主流ですが、ラベルを付けるには膨大なコストがかかります。現実世界に機械学習を適用していくためには、ラベル付けを必要としない教師なし学習の重要性が増してくると考えられます。書は実践的な視点から、データにある隠れたパターンを特定し、異常検出や特徴量抽出・選択を行う方法を紹介します。ラベルなしデータを有効に利用することで、機械学習の可能性を各段に広げる教師なし学習の質に迫ります。さらに、変分オートエンコーダ(VAE)や敵対的生成ネットワーク(GAN)、制限付きボルツマンマシン(RBM)などの生成モデルも紹介します。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書

    Pythonではじめる教師なし学習
  • プログラミングTypeScript

    プログラミング言語TypeScriptの解説書。TypeScriptの型に関する基礎的な内容からその応用、エラー処理の手法、非同期プログラミング、各種フレームワークの利用法、既存のJavaScriptプロジェクトTypeScript移行の方法まで、言語全般を総合的に解説します。書全体を通じて、TypeScriptの洗練された型システムを最大限活用するために、コードをどのように記述すべきか、なぜそうすべきかを学べます。 賞賛の声 監訳者まえがき まえがき 1章 イントロダクション 2章 TypeScript:全体像 2.1 コンパイラー 2.2 型システム 2.2.1 TypeScriptJavaScript 2.3 コードエディターのセットアップ 2.3.1 tsconfig.json 2.3.2 tslint.json 2.4 index.ts 2.5 練習問題 3章 型について

    プログラミングTypeScript
  • Kubernetesで実践するクラウドネイティブDevOps

    Kubernetesが標準プラットフォームであるクラウドネイティブの世界でアプリケーションを開発し運用する方法を解説する書籍です。 はじめに、Kubernetesの概要と背景、ソフトウェアの開発と運用にKubernetesがもたらす変化、コンテナの動作原理、コンテナの構築および管理方法、クラウドネイティブなサービスおよびインフラの設計方法などの基礎を紹介します。 そしてKubernetesアプリケーションの作成とデプロイ、Kubernetesクラスタの設定と運用、クラウドインフラの自動化、Helmなどのツールを用いたデプロイについてサンプルコードを使って学習します。ロールベースのアクセス制御(RBAC)をはじめとした、セキュリティ、認証、パーミッションなどに対するKubernetesのサポートや、番でコンテナとKubernetesの安全性を確保するためのベストプラクティスについても学びま

    Kubernetesで実践するクラウドネイティブDevOps
  • データサイエンス設計マニュアル

    書は広い視野からデータサイエンス全体を俯瞰し、問題を解決する上で重要なことは何か、その設計原則に焦点を当てた入門書です。データを収集、分析、解釈するためのシステムを構築するために必要な、確率・統計の基礎から線形代数、スコアとランキング、統計分析、データマンジング、可視化、数学的モデル、回帰、機械学習まで広範囲にわたってカバーするだけでなく、思考プロセスも重視します。著者は、ニューヨーク州立大学ストーニーブルック校で長年にわたりコンピュータサイエンス教育に携わってきた計算機科学者で、統計学と計算機科学の枠を越えた新しい学問としてデータサイエンスを捉え直し、著者独自のアプローチでデータサイエンスの質に迫ります。 1章データサイエンスとは 1.1 計算機科学、データサイエンス、リアルサイエンス 1.2 データについての興味深い問い 1.3 データの性質 1.4 分類と回帰 1.5 データサイ

    データサイエンス設計マニュアル
    y_yuki
    y_yuki 2020/01/15
  • インタフェースデザインのお約束

    デジタル製品のデザインに役立つ101の指針。製品のユーザビリティや性能を高める上で必須かつ基のツボ、マスターすれば時間を節約し顧客満足度をアップできるテクニックが101のコンパクトなルールにまとめられています。メッセージが明確で説明もわかりやすいので短時間で気軽に読むことができます。101のルールは、タイポグラフィ、コントロール、カスタマージャーニー、各種要素の統一、UX全般に関わるプラクティスに分類されているのでリファレンス的に読むことも可能です。「よくある落とし穴」を巧みに回避し、自信をもってユーザーのために闘い、すばらしいユーザーエクスペリエンスを提供するプロへと成長させてくれる一冊です。 ●翻訳者による「日語版のサポートページ」。 ●日語版独自の8つの追加ルールが収録された「訳者あとがき」のPDF(6MB)。 というわけで、この長すぎる「訳者あとがき」では、原著者があげなかっ

    インタフェースデザインのお約束
  • ゼロトラストネットワーク

    ゼロトラストネットワークとは、ファイアウォールやVPNに代表される従来型のセキュリティ(境界防御モデル)が通用しなくなった現状を踏まえ、すべてのトラフィックを信頼しないことを前提とし、検証することで脅威を防ぐというアプローチです。近年、クラウドサービスやモバイルの普及により、セキュリティで守るべき内外の境界があいまいになってきたことにより、強く注目を集めています。書は、ゼロトラストネットワークの概念と実装するために必要な知識が学べる解説書です。基的な概念の説明に始まり、デバイス、ユーザー、アプリケーション、トラフィックの信頼を実際にどのように確立していくかについて、詳しく紐解いていきます。また、Googleのゼロトラストモデル「BeyondCorp」を含む2つの詳細なケーススタディも収録しており、実装に役立つ知識を深めることができます。 はじめに 1章 ゼロトラストの基礎 1.1 ゼロ

    ゼロトラストネットワーク
  • Raspberry Piで学ぶコンピュータアーキテクチャ

    書は、未来のプログラマ、コンピュータ設計者のために書かれた、Raspberry Piを題材にコンピュータの「仕組み」、コンピュータサイエンスの基を学ぶ書籍です。Raspberry Pi開発者たちが、プロセッサ、メモリ、ストレージ、ネットワーク、オペレーティングシステム、プログラミング、3Dグラフィックス、オーディオ、そして入出力制御などについて、それらの歴史的な背景なども合わせて詳細に解説を行います。また、解説内容の一部は、実際にRaspberry Piで動かしながら学ぶことも可能です。 はじめに ケンブリッジ ここからが題 成長曲線の伸び悩むところ 将来に向けて 監訳者まえがき 1章 驚くべきコンピュータの姿 おいしくて果汁あふれるラズベリーの成長 SoC わくわくするクレジットカードサイズのコンピュータ Raspberry Piに何ができるか? Raspberry Piボードの紹

    Raspberry Piで学ぶコンピュータアーキテクチャ
  • 分散システムデザインパターン

    書は、コンテナを使った分散システムのデザインパターンについて解説する書籍です。コンテナとコンテナオーケストレーションを使うことで、分散システムの設計をパターン化でき、スケーラブルで信頼性の高いサービスをすばやく構築できます。 はじめにシングルノードパターンとして、分散システム内の個別ノード上に存在する再利用可能なパターンやコンポーネントについて説明し、次にWebアプリケーションのように継続的にサービスを提供するシステムを対象にしたマルチノードの分散パターンを紹介します。さらにイベント駆動処理、ワークフローの統合を含む大規模なバッチデータ処理の分散システムパターンを解説します。 可用性の高い分散システムの開発が効率的に行えるパターンを多数紹介する書は、開発及びインフラエンジニア必携の一冊です。 まえがき 1章 はじめに 1.1 システム開発の歴史概観 1.2 ソフトウェア開発におけるパタ

    分散システムデザインパターン
    y_yuki
    y_yuki 2019/04/04
  • O'Reilly Japan - Unityによるモバイルゲーム開発

    Unityによるモバイルゲーム開発の入門書。第I部でUnityの基を押さえたあと、第II部と第III部でAndroidとiOSモバイル端末向けの2Dゲームと3Dゲームを開発します。この2つのゲームを作ることで、初学者でも書を通してUnityによるモバイルゲーム開発の基を体系的に学べます。第IV部はUnityで開発するなら知っておきたい機能や情報源です。書の特長はなんと言ってもサンプルとして作る2Dと3Dの2つのゲームがとても格的ということです。「格的なゲーム」を2つ作る過程でUnityの機能を無理なく学べる書は、Unityの各機能を説明するためにサンプルゲームをただたくさん作る内容の書籍とは異なり、その先を見据えた格的な入門書です。日語版では、Unity Hubの使い方とVisual Studio 2017 Communityによるデバッグについての解説を巻末付録として収

    O'Reilly Japan - Unityによるモバイルゲーム開発
  • O'Reilly Japan - ベタープログラマ――優れたプログラマになるための38の考え方とテクニック

    プログラマとしてのキャリアをスタートすると、構文や設計を理解するだけでなく、その他の様々な事柄を理解し習得する必要があると気づきます。書は、優れたコードを作りだし、人々と効率的に働く生産性の高いプログラマになるための考え方とテクニックを38のテーマで紹介します。はじめに、コード1行1行の書き方、デバッグやエラー処理、コードの改善方法など開発現場でのコーディングを取り上げます。次にコードを単純に保つこと、コード変更やテスト、リリースなどソフトウェアを開発する際の考え方や心構えを扱います。個人的な活動として、継続的な学習方法と停滞を避けるための課題の見つけ方など、自らを成長させる方法も紹介。さらに組織の中で他の人とコミュニケーションを取りながら、効果的に働くための習慣を解説します。『Code Craft』の著者Pete Goodliffeが、自らの経験を元に「優れたプログラマ」になるための考

    O'Reilly Japan - ベタープログラマ――優れたプログラマになるための38の考え方とテクニック
  • Fluent Python

    一歩先行くパイソニスタを目指す人のためのPython解説書。Pythonはシンプルです。使い方を覚えるのも簡単で生産性を短期間で高めることができます。しかしこれは、Pythonに備わっている豊富な機能のほんの一部しか使っていないということでもあります。書では、とても有用なのにあまり使われていないPythonの特徴的な機能を活用し効果的で慣用的なPythonコードを書く方法について解説します。読者は、Pythonicな思考とコーディング手法を身につけ、コードをより短く、より速く、より読みやすくする方法を学べます。書では、どうすれば熟練のPython 3プログラマーになれるのかを徹底的に追及します。 賞賛の声 監訳者まえがき まえがき 第Ⅰ部 プロローグ 1章 Pythonのデータモデル 1.1 Pythonicなトランプ 1.2 特殊メソッドの使用方法 1.2.1 数値型のエミュレーショ

    Fluent Python
  • 初めての自動テスト

    Webシステムの自動テストを始めたい方を対象に、自動テストの考え方やフレームワークを解説する書籍です。テストのピラミッドやユーザーインターフェイステストの概念など、基礎的な事柄から、レガシーシステムへのUIテストの追加、RESTfulなWebサービスのテスト、ブラウザ上のJavaScriptの挙動をユニットテストでテストする方法など、実践的な事柄までを豊富なイラストとサンプルを使って分かりやすく解説します。さらにテストファーストやモックの活用法、テスターに向けた自動テストのためのプログラミング基礎知識なども詳述。自動テストを書くためのノウハウを網羅した書は、自動テストをマスターしたいエンジニア必携の一冊です。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では

    初めての自動テスト
  • サーバーレスシングルページアプリケーション

    Webアプリケーションにまつわる様々なリスクとコストを取り除くサーバーレスアーキテクチャをとり入れれば、強力なWebアプリケーションを素早く構築することができます。書は、実際に動くアプリケーションを作りながら、サーバーレスアーキテクチャの特徴について学びます。 S3でアプリケーションをすばやくデプロイする方法、CognitoでGoogleやFacebookなどのIDプロバイダと接続しユーザーIDを管理する方法、DynamoDBでブラウザから直接ユーザーデータを読み書きし、API GatewayAWS Lambdaでカスタマイズしたマイクロサービスを構築する方法などについて豊富なサンプルコードを使って解説します。サーバーレスアプローチのシングルページアプリケーションを設計、コーディング、テストして、再び設計にフィードバックする一連の流れを実践的に学べる書はエンジニア必携の一冊です。 正

    サーバーレスシングルページアプリケーション
  • 詳解 システム・パフォーマンス

    TOPICS System/Network 発行年月日 2017年02月 PRINT LENGTH 784 ISBN 978-4-87311-790-4 原書 Systems Performance FORMAT PDF EPUB 書はエンタープライズ環境とクラウド環境の両方を対象としたオペレーティングシステムおよびオペレーティングシステムのコンテキストにおけるアプリケーションのパフォーマンス分析と向上について解説します。主にLinuxとSolarisベースのオペレーティングシステムに含まれるツールとその使用例やチューニング可能パラメータの設定を通じてシステムパフォーマンスを引き出す手法を学びます。CPUやメモリ、ファイルシステムなど個別テーマごとに設けられた各章の前半では、用語、考え方、方法論について述べ、後半では実装の具体例を示しつつ、アーキテクチャ、分析ツール、チューニングなどを解

    詳解 システム・パフォーマンス
  • 実践 Appium

    Seleniumをベースにした、マルチプラットフォームかつネイティブ、ハイブリッド、モバイルWebをまとめて一つのツールで対応できるモバイル向けGUIテストツール、Appium。書はAppiumについて、基礎から応用までをまとめた包括的な解説書です。 Appiumを使い始めるための準備やインストールから、Appium GUIについて、Appiumがサポートする各種モバイルアプリ向けのスクリプトの書き方、実機上でのモバイルアプリのテストの仕方、さらにAppiumクライアントライブラリやモバイルジェスチャまでを解説します。モバイルアプリケーションテストの自動化に関心のあるエンジニア、および開発者必携の一冊です。 監訳者まえがき はじめに 1章 Appiumの概念と背景 1.1 Appiumアーキテクチャー 1.1.1 iOS内部でのAppium 1.1.2 Android上のAppium 1

    実践 Appium
  • Raspberry Piをはじめよう

    Raspberry Piは英国生まれでクレジットカードサイズの安価なコンピュータ。ARMプロセッサと豊富な入出力ポートを搭載し、Linuxが動作することが特徴です。書はこのRaspberry Piのコンパクトな入門書として、ハードウェアの概要、必要な周辺機器、Linuxの基礎、PythonScratchプログラミングの基を解説します。作例として、Arduinoとの連携、GPIOの使い方、ウェブカメラから取り込んだ画像の表示や加工、ウェブサーバからのデータのダウンロード、Raspberry Piをウェブサーバにする方法などが紹介されており、Raspberry Piの可能性を知ることができるでしょう。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに

    Raspberry Piをはじめよう
  • 入門 Androidアプリケーションテスト

    Android OSを搭載した携帯端末の種類はもはや数えきれないほどであり、複雑化するアプリケーションのテスト工数の増大はAndroidアプリケーションの開発者にとって喫緊の課題です。書は増え続けるテスト工数に対する対抗手段として、主に「必要なテストを必要な分だけ設計する方法」と「テストの自動化によってテスト工数を抑制する方法」について解説しています。開発者として知っておくべきテストの技法、コンポーネント別のテストコードの書き方、継続的インテグレーションへの統合方法など、実践的な内容も含まれています。書がAndroidアプリケーションをテストする全ての人々の一助になれば幸いです。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場

    入門 Androidアプリケーションテスト