タグ

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

  • 脳に収まるコードの書き方

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

    脳に収まるコードの書き方
  • Efficient Linuxコマンドライン

    Linuxスキルをレベルアップする実用的な実践書。書では、コマンドを組み合わせて複雑なコマンドを作成することで、手動で行われているタスクを自動化するための方法を学びます。具体的には、パスワードの管理、大量のテストファイルの生成、テキストファイルを変換してデータベースのように扱う方法など、現実的なビジネスの問題を解決する方法を明らかにします。単なるテクニックではなく、背後で何が行われているかについても学べるので、Linuxのシェルに対する理解が深まります。それと同時に、Linuxコマンドに関するさらに上級レベルの知識とテクニックが身につきます。 賞賛の声 監訳者まえがき まえがき 第I部 主要な概念 1章 コマンドの組み合わせ 1.1 入力、出力、パイプ 1.2 コマンドラインに取り掛かるための6個のコマンド 1.2.1 コマンド① wc 1.2.2 コマンド② head 1.2.3 コマ

    Efficient Linuxコマンドライン
    yk5656
    yk5656 2023/11/07
  • ソフトウェア設計のトレードオフと誤り

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

    ソフトウェア設計のトレードオフと誤り
  • 退屈なことはPythonにやらせよう 第2版

    一歩先行くハイパフォーマンスなビジネスパーソンからの圧倒的な支持を獲得し、自作RPAの草分けとして大ヒットしたベストセラー書の改訂版。劇的な「業務効率化」「コスト削減」「生産性向上」を達成するには、単純な繰り返し作業の自動化は必須です。書ではWordやExcelPDF文書の一括処理、Webサイトからのダウンロード、メールやSMSの送受信、画像処理、GUI操作といった日常業務でよく直面する面倒で退屈な作業を、Pythonと豊富なモジュールを使って自動化します。今回の改訂では、GmailやGoogleスプレッドシートの操作、Pythonと各種モジュールの最新版への対応、演習等を増補しています。日語版では、PyInstallerによるEXEファイルの作成方法を巻末付録として収録しました。 訳者まえがき まえがき 第I部 Pythonプログラミングの基礎 1章 Pythonの基 1.1 

    退屈なことはPythonにやらせよう 第2版
  • 実用 Go言語

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

    実用 Go言語
    yk5656
    yk5656 2022/04/07
  • システム運用アンチパターン

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

    システム運用アンチパターン
  • ソフトウェアアーキテクチャの基礎

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

    ソフトウェアアーキテクチャの基礎
  • 2月新刊情報『ネットワーク自動化とプログラマビリティ』

    『ネットワーク自動化とプログラマビリティ ―次世代ネットワークエンジニアのためのスキルセット』 Jason Edelman, Scott S. Lowe, Matt Oswalt 著、土屋 太二 監訳、牧野 聡 訳 2022年2月24日発売予定 616ページ(予定) ISBN978-4-87311-981-6 定価4,290円(税込) 書はネットワーク自動化とプログラマビリティにフォーカスした解説書で、ネットワークエンジニアの業務を「より効率良く」「より生産的に」進化させるためのエッセンスが詰まったノウハウ集です。ネットワーク運用業務(ネットワーク装置のコンフィグレーションやトポロジー管理、サービス死活監視など)をどのように効率化・自動化させるかという観点から、次世代ネットワークエンジニアが知るべきすべての側面を網羅的に解説します。Pythonを用いたプログラミングの基から、Linux

    2月新刊情報『ネットワーク自動化とプログラマビリティ』
  • Googleのソフトウェアエンジニアリング

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

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

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

    段ボールで作る! 動く、飛ぶ、遊ぶ工作
    yk5656
    yk5656 2021/09/09
  • インタフェースデザインのお約束

    デジタル製品のデザインに役立つ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で学ぶコンピュータアーキテクチャ
  • O'Reilly Japan - 入門 監視

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

    O'Reilly Japan - 入門 監視
  • 『仕事ではじめる機械学習』&『前処理大全』著者対談(Part 1)

    今回より4回を予定して、書籍『仕事ではじめる機械学習』著者の有賀康顕さん、『前処理大全』著者の橋智光さんの対談をお届けいたします。ひょんなことから実現した今回の対談、今話題の機械学習を中心に、さまざまな角度からのお話しが飛び出します。まずはお二人の著書の話題から… 書籍の評判と執筆の苦労 (名刺交換をするお二人…) 有賀: そうか、CTOですもんね。 橋: CTOと言ってもエンジニアは僕入れて4人ですけどねw 有賀: よくあるスタートアップのCTOって最初のエンジニアで、みたいな感じで。だから4人いるんだったら、ハイアリングがもうできるようになったという。 橋: でも、いまAndroidエンジニアがいないから僕Androidアプリ書いてますよw もう少しすると入社する予定ですけれど。 有賀: スタートアップのCTOはできることは何でもやるということで。いやあ。ご活躍されていて。

  • 初めての自動テスト

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

    初めての自動テスト
  • ゼロから作るDeep Learning

    ディープラーニングの格的な入門書。外部のライブラリに頼らずに、Python 3によってゼロからディープラーニングを作ることで、ディープラーニングの原理を楽しく学びます。ディープラーニングやニューラルネットワークの基礎だけでなく、誤差逆伝播法や畳み込みニューラルネットワークなども実装レベルで理解できます。ハイパーパラメータの決め方や重みの初期値といった実践的なテクニック、Batch NormalizationやDropout、Adamといった最近のトレンド、自動運転や画像生成、強化学習などの応用例、さらには、なぜディープラーニングは優れているのか? なぜ層を深くすると認識精度がよくなるのか? といった“Why”に関する問題も取り上げます。 関連ファイル サンプルコード 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正

    ゼロから作るDeep Learning
  • 入門 Webゲーム開発

    TOPICS Web , Game , JavaScript 発行年月日 2014年03月 PRINT LENGTH 356 ISBN 978-4-87311-664-8 原書 The Web Game Developer's Cookbook FORMAT PDF 書は、JavaScriptライブラリとHTML5によるゲーム開発テクニックを解説するWebゲーム開発の入門書です。「HTML5ゲームエンジン」と称されるJavaScriptライブラリを、100種類を超える候補の中から厳選し、これらのエンジンと書で紹介するツールを使って、ブラウザで動作するゲームを“手早く”開発していきます。また、書の各章では、1つのゲームジャンルとそれを補助する1つのエンジンを合わせて解説しています。ゲームジャンルは主要な10種類を採り上げています。読者はエンジンの使い方を学ぶうちにそれらの共通点と相違点

    入門 Webゲーム開発
  • スタートアップ企業向けインフラ運用入門(1):監視 - O'Reilly Japan Community Blog

    スタートアップ企業等の少人数チームの場合、専任のシステム運用担当がいることは稀だと思います。記事では、そうした少人数チームの開発兼運用担当者を主な対象として、システム運用の重要な要素である「システム稼働状況の確認、障害対応」を省力化するための方法の一つとして「システムの監視」の方法について説明します。 少人数チームでのシステム運用 Retty開発担当の鹿島です。第1回で少し紹介しましたが、RettyはWebサイト、iPhoneアプリAndroidアプリの計3プラットフォームを、3人+αの開発者で開発を進めています。私は主にWebサイトの開発とインフラ全般を担当しているのですが、Webサイトの開発がメインのため、インフラ構築・運用に割ける時間はそれほど多くありません。 おそらく世間の小規模チームの大半では、我々と同様に専任の担当者がいないと思われます。今回の記事はそうしたスタートアップ企

  • 実践ハイパフォーマンスMySQL 第3版

    新しい情報を盛り込み、信頼性や正確さといった目標を重視するという前版からの方針に加えて、第3版では、MySQLの動作の仕組みに関する事実だけでなく、MySQLがそのように動作する原理を伝えたいと考えて執筆されている。そうした原理の実質的な効果を示す、より具体的なストーリーやケーススタディを盛り込んで、それらをベースとして、「MySQLの内部のアーキテクチャや処理がそうなっているとしたら、実際の使用状況で実質的にどのような効果が得られるのか」、「そうした効果はなぜ重要なのか」、「結果として、MySQLは特定のニーズにどのように適しているか、あるいは適していないか」という質問に答えている。MySQL管理者やアプリケーション開発者が求める必須の知識や手法を掘り下げて、問題や課題に対して実践的な考え方と解決の手法を示す。読者のMySQLについての理解と技術を一段高いレベルに引き上げる。改訂第3版。

    実践ハイパフォーマンスMySQL 第3版
    yk5656
    yk5656 2013/11/12