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

  • インターネットサーバでのPthreadとepoll(1)

    連載ではシステムコールプログラミングの例も掲載していく予定ですが、記事ではLinuxに追加されたepollを採りあげ、インターネットサーバでのPthread利用と比較してみます。 はじめに マルチスレッドプログラミングが普及し、POSIX threadも制定され、Pthreadの利用は目新しいものではなくなりましたが、スレッドにまつわる迷信や誤った認識を、だいぶ減ったとはいえ、今でもたびたび耳にします。例として、 スレッドはプロセスよりも軽いので、多数作成しても軽快に動作する スレッドはプログラミングを簡単にしてくれ、1つの処理だけに集中できる などがあります。しかし、これらは常に真であるとは限りません。記事ではマルチスレッドの概念や入門を繰り返すのではなく、その利用方法をHTTPサーバのサンプル実装を基に考察します。更にLinuxに追加された独自機能のepollインタフェースを用い

    インターネットサーバでのPthreadとepoll(1)
    nishitki
    nishitki 2022/07/21
  • 3月新刊情報『ソフトウェアアーキテクチャの基礎』

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

    3月新刊情報『ソフトウェアアーキテクチャの基礎』
    nishitki
    nishitki 2022/02/10
  • O'Reilly Japan - GNU Make 第3版

    GNU Make 第3版 Robert Mecklenburg 著、矢吹 道郎 監訳、菊池 彰 訳 2005年12月 発行 304ページ ISBN4-87311-269-9 フォーマット Print 原書: Managing Projects with GNU Make, Third Edition

    O'Reilly Japan - GNU Make 第3版
    nishitki
    nishitki 2021/05/28
  • プロダクトマネジメント

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

    プロダクトマネジメント
    nishitki
    nishitki 2020/10/11
  • ゼロトラストネットワーク

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

    ゼロトラストネットワーク
    nishitki
    nishitki 2019/10/11
  • データ指向アプリケーションデザイン

    監訳者まえがき はじめに 第I部データシステムの基礎 1章 信頼性、スケーラビリティ、メンテナンス性に優れたアプリケーション 1.1 データシステムに関する考察 1.2 信頼性 1.2.1 ハードウェアの障害 1.2.2 ソフトウェアのエラー 1.2.3 ヒューマンエラー 1.2.4 信頼性の重要度 1.3 スケーラビリティ 1.3.1 負荷の表現 1.3.2 パフォーマンスの表現 1.3.3 負荷への対処のアプローチ 1.4 メンテナンス性 1.4.1 運用性:運用担当者への配慮 1.4.2 単純さ:複雑さの管理 1.4.3 進化性:変更への配慮 まとめ 2章 データモデルとクエリ言語 2.1 リレーショナルモデルとドキュメントモデル 2.1.1 NoSQLの誕生 2.1.2 オブジェクトとリレーショナルのミスマッチ 2.1.3 多対一と多対多の関係 2.1.4 ドキュメントデータベース

    データ指向アプリケーションデザイン
    nishitki
    nishitki 2019/07/18
  • Real World HTTP ミニ版

    TOPICS Web 発行年月日 2019年03月 ISBN 978-4-87311-878-9 FORMAT PDF EPUB 書は、2017年に発行し好評を得ている『Real World HTTP』のエッセンスを凝縮した、無料の電子書籍です。 HTTP/1.0、HTTP/1.1、HTTP/2と、HTTPが進化する道筋をたどりながら、ブラウザが内部で行っていること、サーバーとのやりとりの内容などについて、プロトコルの実例や実際の使用例などを交えながら紹介しています。 ミニ版のため、一部の内容を割愛していますが、「ウェブアプリケーション」に関する新章と、HTTPのステータスコードとヘッダーをまとめた付録を追加しています。 ミニ版の使用について ミニ版の図版やテキストは、著作権法で認められている引用の範囲に加えて、有志での勉強会、自社の社員向けの研修に用いるプレゼンテーション資料のために、

    Real World HTTP ミニ版
    nishitki
    nishitki 2019/03/13
  • O'Reilly Japan - 入門 監視

    あなたのシステムはきちんと動いていると言えますか? 書は、システムのどの部分をどのように監視すべきか、また監視をどのように改善していくべきかについて解説する書籍です。 前半で監視のベストプラクティス、デザインパターン/アンチパターンを示して、監視の基原則を詳しく説明し、後半でフロントエンド、アプリケーション、サーバ、ネットワーク、セキュリティの各テーマで強力な監視の基盤を設計して実装するための方法を示します。 監視対象が変化し、システムアーキテクチャが進化する中で、従来から変わらない監視の基を示しながら、時代に合った監視の実践を解説する書は、監視についての理解を深めたいエンジニア必携の一冊です。日語版では、松木雅幸(@songmu)氏による監視SaaSの導入や活用方法を付録として収録しています。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載して

    O'Reilly Japan - 入門 監視
    nishitki
    nishitki 2018/12/19
  • コンピュータサイエンス探偵の事件簿

    警察署で発生した書類盗難事件の解明を依頼された私立探偵フランク・ランタイム。さまざまなデータ構造と探索アルゴリズムを駆使して、事件の謎に迫る。事件を追ううちに、その背後にある国家転覆を謀る魔術師たちの存在に気づくフランク。彼は魔術師たちの陰謀を阻止し国の平和を守ることができるのか――。 探偵もののストーリーにのせて、コンピュータサイエンスの基、「探索アルゴリズムとデータ構造」を紹介。取り上げる探索アルゴリズムは、線形探索、二分探索、幅優先探索、深さ優先探索、並列探索、反復深化、最良優先探索、そしてデータ構造は、配列、スタック、キュー、二分探索木など。推理小説を楽しみながらコンピュータサイエンスの基を身に付けることができます。 1 探索問題 2 情報提供者の徹底的な洗い出し 3 無法者たちの牧場にある配列とインデックス 4 文字と隠されたメッセージ 5 密輸業者の船を二分探索で探し出す

    コンピュータサイエンス探偵の事件簿
    nishitki
    nishitki 2018/06/06
  • プロダクションレディマイクロサービス

    UberのSRE(サイト信頼性エンジニア、サイトリライアビリティエンジニア)として、マイクロサービスの番対応向上を担当していた著者が、その取り組みから得られた知見をまとめたものです。モノリス(一枚岩)を複数のマイクロサービスに分割した後に、安定性、信頼性、スケーラビリティ、耐障害性、パフォーマンス、監視、ドキュメント、大惨事対応を備えたシステムにするために必要な原則と標準に焦点を当て、番対応力のあるマイクロサービスを構築する手法を紹介します。書で採用している原則と標準は、マイクロサービスだけなく多くのサービスやアプリケーションの改善にも威力を発揮します。 はじめに 1章 マイクロサービス 1.1 モノリスからマイクロサービスへ 1.2 マイクロサービスアーキテクチャ 1.3 マイクロサービスエコシステム 1.3.1 レイヤ 1:ハードウェア 1.3.2 レイヤ 2:通信 1.3.3 

    プロダクションレディマイクロサービス
    nishitki
    nishitki 2017/08/30
  • SRE サイトリライアビリティエンジニアリング

    サイトリライアビリティエンジニアリング(SRE)とは、Googleで培われたシステム管理とサービス運用の方法論です。GoogleのSREチームの主要メンバーによって書かれた書は、ソフトウェアのライフサイクル全体にコミットすることで世界最大規模のソフトウェアシステムがどのように構築、導入、監視、維持されているのかを解説します。 はじめにリスク管理やサービスレベル目標、リリースエンジニアリングなどSREの行動の基礎となる原則について解説し、次にインシデント管理や障害の根原因分析、SRE内でのソフトウェア開発など大規模分散コンピューティングシステムを構築し運用するSREの実践について詳述します。さらにSREのトレーニングやコミュニケーションなどの管理について紹介します。 急速にスケールするサービスを高い信頼性で運用する方法を解説する書はエンジニア必携の一冊です。 書への推薦の言葉 監訳者

    SRE サイトリライアビリティエンジニアリング
    nishitki
    nishitki 2017/07/25
  • サーバーレスシングルページアプリケーション

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

    サーバーレスシングルページアプリケーション
    nishitki
    nishitki 2017/06/01
  • エラスティックリーダーシップ

    TOPICS Business/Essay 発行年月日 2017年05月 PRINT LENGTH 288 ISBN 978-4-87311-802-4 原書 Elastic Leadership FORMAT PDF 複雑で変化の激しい問題に取り組みながら成果を出すチームとは、学習するチームであり、自己組織化されたチームです。そうした状態へとチームを導くには、どのようなリーダーシップが求められるのでしょうか。書は「エラスティックリーダーシップ」というリーダーシップモデルをもとに、チームを学習する力のある自己組織化された状態へと育てる方法を解説します。 リーダーシップのスタイルをどのように使い分けるべきか。チームに学習することを学ばせるための時間の使い方とは。メンバーが真のコミットメントを示すための言葉遣いとは――。チームをより良くする実践的なヒントが詰まっており、チームリーダーやマネー

    エラスティックリーダーシップ
    nishitki
    nishitki 2017/04/20
  • GitHubツールビルディング

    書は、さまざまな言語とGitHub APIを使って、いろいろなツールを作るアイデアを紹介する書籍です。オープンソースのWikiであるGollumを使う画像整理ツール、PythonとSearch APIを使ってレポジトリを検索するGUIツール、Gist APIを使ったRubyサーバーを作成します。またJavaScriptのチャットロボットHubotを使ってGitHubの通知を行う方法、JavaScriptとGit Data APIを使ってGitHubにシングルページアプリケーションをホストする方法なども紹介します。多彩なGitHub APIを使いながらツールを作ることで、ワークフロー構築のアイデアを得ることができる一冊です。 目次 監訳者まえがき まえがき 1章 GitHub API 1.1 cURL 1.2 後続のAPIパスへの目印 1.3 JSON(JavaScript Object

    GitHubツールビルディング
    nishitki
    nishitki 2017/04/20
  • プログラマが知るべき97のこと

    人々のさまざまな思いを技術で形にするプログラマ。書は世界中で活躍するプログラマによる97のエッセイを収録した書籍です。プログラミングにおいてもっとも重要な事柄は何か、バージョン管理やテスティング、設計原則とコーディングテクニック、また腕を磨くための勉強法などについて、経験豊かなプログラマが自らの体験を踏まえて解説します。プログラマを勇気づけ、新たな気づきをもたらす一冊です。日語版では、小飼弾、関将俊、舘野祐一、まつもとゆきひろ、宮川達彦、森田創、吉岡弘隆、和田卓人による10の書下ろしを収録。 目次 監修者まえがき はじめに 01 分別のある行動 セブ・ローズ(Seb Rose) 02 関数型プログラミングを学ぶことの重要性 エドワード・ガーソン(Edward Garson) 03 ユーザが何をするかを観察する(あなたはユーザではない) ジャイルズ・カルバン(Giles Colbor

    プログラマが知るべき97のこと
    nishitki
    nishitki 2016/06/13
  • データ分析によるネットワークセキュリティ

    データ分析手法を取り入れた新しいアプローチによるネットワークセキュリティ対策を、書では紹介しています。従来の場当たり的な侵入検知やログファイル解析といった手法では、ネットワークのセキュリティを確保するのが不十分であるとの認識から、さまざまなデータを系統的に収集し多元的に分析した上で、適切な対策を講じようという、いままでにない視点で書かれています。ネットワークを監視し、分析し、その結果からネットワークセキュリティを強化、改善して、安全なネットワーク環境の実現を図るための基的な知識を解説し、SiLK、R、Pythonによるスクリプトなどの役立つツールを紹介します。系統立ったセキュリティ手法を身に付けることにより、場当たり的ではなく、継続的かつ計画的なセキュリティ対策を取ることが可能となります。 目次 はじめに 第Ⅰ部 データ 1章  センサーと検出器:入門 1.1 配置:センサーの設置位置

    データ分析によるネットワークセキュリティ
    nishitki
    nishitki 2016/05/31
  • O'Reilly Japan --『ウェブオペレーション―サイト運用管理の実践テクニック』

    TOPICS Web 発行年月日 2011年05月 PRINT LENGTH 278 ISBN 978-4-87311-493-4 原書 Web Operations FORMAT PDF ウェブアプリケーションは、もはや生活の一部であり、さらに速く・安全で・世界中どこからでも・常に利用可能であることが求められるようになっています。これを構築・運用・保守の面から支えるのが「ウェブオペレーション」です。 書は、ウェブオペレーションに携わるエキスパートたちの経験と知識を18のエッセイにまとめたもの。Yahoo!でさまざまなサービスを立ち上げたエンジニア、ソーシャルゲームの大手Zyngaのストレージマネージャ、Ganglia・Chef・Maatkitといったツールの開発者などが、インフラとアプリケーションのメトリクス・機能低下の人的要因・アジャイルインフラストラクチャ・NoSQL・継続的デプ

    O'Reilly Japan --『ウェブオペレーション―サイト運用管理の実践テクニック』
    nishitki
    nishitki 2016/04/21
  • 握力王 vs 日本男児 ヘルシーすぎるプログラマ対談(Part1)

    2016年1月、日のプログラマの中でも1、2を争う恵まれた肉体を持つ二人が、東京某所で会する機会がありました。お一人は、ブログ『漢のコンピュータ道』でおなじみの奥野幹也さん、もうお一人は、「握力日一の男」として知られ、かつ皆さんご存知「Web魚拓」を運営する株式会社アフィリティーの新沼大樹さん。 お二人にそれぞれのトレーニング法、そして健康なプログラマであることへのこだわりをたっぷりと語っていただきました。 新沼大樹 Web魚拓を運営する株式会社アフィリティーの代表取締役。握力王の異名を持ち、その鍛え上げられた肉体でTV、Web媒体など出演多数。バーチャロンの名プレイヤーとしても知られる 奥野幹也 某大手ソフトウェア企業で、データベースのスペシャリストとして活躍中。ブログ『漢のコンピュータ道』で知られる。TwitterIDは@nippondanji 挨拶代りの「トランプちぎり」 奥野:

    握力王 vs 日本男児 ヘルシーすぎるプログラマ対談(Part1)
    nishitki
    nishitki 2016/02/17
  • Go言語によるWebアプリケーション開発

    Goプログラミングについて一歩踏み込んだプロユースの解説書。読者はシンプルなコードを書きながら、実運用アプリケーションの開発で使うスキルとテクニックを学ぶことができます。書のサンプルプログラムはどれもシンプルですがとても実践的です。拡張性、並行処理、高可用性といったエンタープライズアプリケーションの開発で直面する現実的な問題に対するソリューションが含まれています。書を読めば、実際の業務に必要な技能――Goによる開発手法および関連技術の使い方――をマスターし、ツールやプログラムの開発スキルを迅速かつ簡単に向上できます。日語版では、監訳者の鵜飼文敏氏による巻末付録「Goらしいコードの書き方」を収録しました。 サポートページ(サンプルコードや正誤表) 監訳者まえがき まえがき 1章 WebSocketを使ったチャットアプリケーション 1.1 シンプルなWebサーバー 1.1.1 テンプレー

    Go言語によるWebアプリケーション開発
    nishitki
    nishitki 2016/01/05
  • メタプログラミングRuby 第2版

    書はRubyを使ったメタプログラミングについて解説する書籍です。メタプログラミングとは、プログラミングコードを記述するコードを記述することを意味します。前半では、メタプログラミングの背景にある基的な考えを紹介しながら、動的ディスパッチ、ゴーストメソッド、フラットスコープといったさまざまな「魔術」を紹介します。後半では、ケーススタディとしてRailsを使ったメタプログラミングの実例を紹介します。今回の改訂では、Ruby 2とRails 4に対応し、ほぼすべての内容を刷新。Rubyを使ったメタプログラミングの魔術をマスターし、自由自在にプログラミングをしたい開発者必携の一冊です。 『メタプログラミングRuby 第2版』目次 読者の声 序文 はじめに Ⅰ部 メタプログラミングRuby 1章 頭文字M 1.1 ゴーストタウンと市場 1.2 メタプログラマのボブの物語 1.2.1 ボブの最初の試

    メタプログラミングRuby 第2版
    nishitki
    nishitki 2015/12/04