タグ

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

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

    Mark Seemann 著、吉羽 龍太郎、原田 騎郎 訳、Robert C. Martin まえがき TOPICS 発行年月日 2024年06月 PRINT LENGTH 312 ISBN 978-4-8144-0079-9 原書 Code That Fits in Your Head FORMAT Print PDF EPUB ソフトウェアは複雑さを増すばかりですが、人間の脳は限られた複雑さしか扱えません。ソフトウェアが思い通りに動くようするには、脳に収まり、人間が理解できるコードを書く必要があります。 書は、拡張を続けても行き詰ることなくコードを書き、複雑さを回避するための実践的な方法を解説します。最初のコードを書き始めるところから機能を追加していくところまでを解説し、効率的で持続可能なペースを保ちながら、横断的な問題への対処やトラブルシューティング、最適化を行なう方法を説明します

    脳に収まるコードの書き方
    kknsd
    kknsd 2024/05/21
  • 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コマンドライン
    kknsd
    kknsd 2023/11/07
  • プログラミング文体練習

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

    プログラミング文体練習
    kknsd
    kknsd 2023/05/30
  • 5月新刊情報『ソフトウェア設計のトレードオフと誤り』

    『ソフトウェア設計のトレードオフと誤り ―プログラミングの際により良い選択をするには』 Tomasz Lelek、Jon Skeet 著、渋川 よしき、山田 智子、田 健悟、辻 大志郎、宮永 崇史、小橋 昌明、柏木 祥子、岸 卓也、後藤 玲雄、棚井 龍之介、原木 翔、山 力世 訳 2023年5月25日発売予定 472ページ(予定) ISBN978-4-8144-0031-7 定価4,180円(税込) 「プログラムを設計するときに行った技術的な判断や選択が、後日大きな制約となる」これはプログラマなら誰しも経験したことのあることでしょう。書は、そんなプログラミングにおける各種の設計上の選択について、トレードオフの内容やそれがどのような誤りを招きうるのかという点を踏まえて紹介する書籍です。 コードの重複、エラーや例外処理、柔軟性と複雑性のバランスのようなコードレベルの選択から、APIの設

    5月新刊情報『ソフトウェア設計のトレードオフと誤り』
    kknsd
    kknsd 2023/04/19
  • 進化的アーキテクチャ

    現代におけるエンタープライズアーキテクチャは、もはや静的な計画をあてにすることはできなくなっています。そしてソフトウェア開発エコシステムは、ツールやフレームワーク、技術イノベーションの流れと共に絶え間なく変化しています。こうした状況の中で、いったん構築したシステムを成長させていくには、さまざまな変化に適応しながら進化するアーキテクチャをシステムに組み込む必要があります。書は、そうしたアーキテクチャを「進化的アーキテクチャ」と名付け、その構築に必要な考え方や技術、実践方法などについて解説するものです。 ThoughtWorksの3人のスペシャリストから現代のソフトウェアアーキテクトに向けられた書は、絶え間ない変化を支える進化的アーキテクチャを構築するために必要なすべてを提供する実践的なガイドです。 書への推薦の言葉 訳者まえがき マーチン・ファウラーによる序文 はじめに 1章 ソフトウ

    進化的アーキテクチャ
    kknsd
    kknsd 2018/08/02
    表紙のキショい物体なんなの…
  • 実践 パケット解析 第3版

    定番書の改訂第3版。TSharkについての詳しい解説が追加されたほか、大幅な加筆・修正が全編にわたって行われています。書ではWiresharkで実際に取得したパケット情報の実例を使って問題やトラブルの解析方法を詳しく解説します。パケットのキャプチャファイルはWebからダウンロードでき、初心者も実際に試しながら理解を深めることができるので、ネットワーク管理の初心者に好適です。日語版ではWin10PcapやUSBPcapについての解説を巻末付録として収録しました。Wireshark 2.x対応。 関連ファイル キャプチャファイル(原著者) 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持

    実践 パケット解析 第3版
    kknsd
    kknsd 2018/06/18
  • カンバン仕事術

    チームの仕事や課題を見える化する手法「カンバン」について、その導入から実践までをイラストでわかりやすく解説する書籍です。カンバンの原則や流れの管理などの入門的な事柄から、サービスクラス、メトリクスの使用、プロセスの改善など、一歩進んだ応用的な話題までを網羅的に解説します。カンバンを一から学びたい、組織で使ってみたい方に最適な一冊です。 序文 はじめに 書について 第I部 カンバンの学習 1章 チーム「カンバネロス」のはじまり 1.1 イントロダクション 1.2 ボード 1.3 ワークフローのマッピング 1.4 作業項目 1.5 コイン渡し 1.6 仕掛り作業 1.7 特急項目 1.8 メトリクス 1.9 見送り 1.10 まとめ 第II部 カンバンの理解 2章 カンバンの原則 2.1 カンバンの原則 2.2 すぐに始める 2.3 まとめ 3章 作業の見える化 3.1 ポリシーの明示 3.

    カンバン仕事術
    kknsd
    kknsd 2017/10/09
  • Fluent Python

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

    Fluent Python
    kknsd
    kknsd 2017/09/22
  • Javaによる関数型プログラミング

    書はJava 8で追加された新機能のうちラムダ式とStream APIに焦点を絞り、これらを使った関数型プログラミングについて解説します。今までのJavaには存在しなかったこの新しいパラダイムに踏み込むことで、冗長さを排し、より簡潔なプログラミングを実現します。しかし、これを使いこなすためには、従来のJavaにおける考え方を一旦捨て去り、新たな考え方をもってプログラミングを行わなければなりません。 書では、従来の手法と対比させつつ、APIの使用方法や設計手法を詳解し、基礎を固めます。遅延評価や再帰、そして並列化についてもサンプルコードを使って詳しく解説します。日語版ではJava Championである櫻庭祐一氏による「日語版まえがき」を収録。Java 8の特性を十分に生かしたプログラミングを行う技術者必携の一冊です。 まえがき はじめに 1章 Hello、ラムダ式! 1.1 考え方

    Javaによる関数型プログラミング
    kknsd
    kknsd 2017/06/22
  • 退屈なことはPythonにやらせよう

    関連ファイル サンプルコード(日語版) サンプルコード(原著者) 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。 正誤表 訳者まえがき まえがき 第Ⅰ部 Pythonプログラミングの基礎 1章 Python入門 1.1 式をインタラクティブシェルに入力する 1.2 整数、浮動小数点数、文字列型 1.3 文字列の連結と複製 1.4 変数に値を格納する 1.4.1 代入文 1.4.2 変数名 1.5 最初のプログラム 1.6 プログラムを分析する 1.6.1 コメント 1.6.2 print()関数 1.6.3 input()関数

    退屈なことはPythonにやらせよう
    kknsd
    kknsd 2017/05/19
  • アンダースタンディング コンピュテーション

    書は計算理論をRubyでわかりやすく紹介する書籍です。コンピュータサイエンスの主要なテーマである「計算とは何か」という問いに対して、難しい数学の知識を利用をせず、Rubyを使って実際にプログラムを作りながら解説します。さらに、なぜこれらのアイデアが大切なのか、そしてそのアイデアは我々の日常的なプログラミングにどう関係していくのかを解き明かしていきます。日語版ではまつもとゆきひろさんによる「日語版まえがき」を収録。プログラミングの根底にある理論を学ぶことで、より広く深くプログラミングを考えたいプログラマ必携の一冊です。 監訳者によるサポートページ 目次 日語版まえがき はじめに 1章 Rubyひとめぐり 1.1 対話型 Rubyシェル 1.2 値 1.2.1 基データ 1.2.2 データ構造 1.2.3 Proc 1.3 制御フロー 1.4 オブジェクトとメソッド 1.5 クラスと

    アンダースタンディング コンピュテーション
  • バッドデータハンドブック

    TOPICS Data Science , Database 発行年月日 2013年09月 PRINT LENGTH 310 ISBN 978-4-87311-640-2 原書 Bad Data Handbook FORMAT PDF 値の欠落、形式から外れたレコード、エンコーディング形式が不明な文字列。「バッドデータ」と聞いた時に思い浮べる典型例です。しかし、これら以外にも「そもそもデータにアクセスできない」「消えてしまった」「昨日と違っている」「データはあるが形式が処理に適していない」など、データを収集・分析するエンジニアは、これらの「バッドデータ」と正面から向きあわなければならないことが多々あります。書では、これらの問題のあるデータのパターンを紹介し、その対処法を解説しています。 19人のデータ分析の専門家が、自らの経験を通して得た、さまざまな教訓、実践的な方法論等を詳述した書は

    バッドデータハンドブック
    kknsd
    kknsd 2013/09/12
  • コード・シンプリシティ

    Bugzillaプロジェクトの主任設計者の実体験に基づいた、ソフトウェアの簡潔性を保つさまざまな知見をまとめた書籍。「なぜ簡潔性が大事なのか」「変更の価値を計るための方程式」「コードの簡潔性と複雑性」といったトピックについて、事実、法則、ルール、定義などを示しながら解説します。直接的なコードの書き方だけでなく、ソフトウェアプロダクト全体にわたるコードの健全性を保つためのヒントとなるでしょう。なお書はEbookのみの販売となります。 まえがき 1章 はじめに なぜ簡潔性が大事なのか ソフトウェアデザイン 2章 なぜソフトウェアを作るのか 実際のアプリケーション 3章 未来 ソフトウェアデザインの方程式 デザインの品質 見えない結末 4章 変更 プログラム変更の実例からわかること 3つの間違い インクリメンタルな開発とデザイン 5章 不具合とデザイン 故障でなければ…… 何度も同じことを繰り

    コード・シンプリシティ
  • Making Software

    ウォーターフォールモデルは間違いだったのか?コピーペーストは悪なのか?バグの総数は予測できるか?正確に見積もるためには?パーティションは不要か?大勢でのコードレビューは無駄なのか?ペアプログラミングの効用は?プログラマの生産性は測れるか?――ソフトウェア開発における数々の疑問に、バリー・ベーム、スティーブ・マコネルをはじめとする著名なソフトウェア工学研究者、アーキテクトたちが答える珠玉のエッセイ集。納期遅延、コスト超過、品質低下といった負の連鎖を断ち切り、プロジェクトを成功に導くためのヒントがここにあります。 目次 「アーキテクティング:いつ、どれだけ?」を巡って(推薦のことばに代えて) 訳者まえがき まえがき 第Ⅰ部エビデンスの探究と利用に関する一般的原理 1章 有力なエビデンスを求めて(ティム・メンジース、フォレスト・シュール) はじめに エビデンスを巡る現状 信ずるべき変化 コンテキ

    Making Software
    kknsd
    kknsd 2011/09/10
  • エレガントな問題解決

    どのように問題を捉え、解決すればよいのか――その取り組み方を示し、問題解決のセンスを養うとともに、その面白さ、楽しさ、美しさを伝えます。一見、どこから手をつけてよいかわからない難問も、著者の手にかかれば、視点を少し変えるだけで驚くほど簡単に、美しく解けてしまうのです。柔軟な発想で数学の問題を解くことを通じ、他の場面でも応用できるような問題解決能力が身に付きます。日常生活で起こる問題や仕事上の問題を解決する上でも、多くのヒントを与えてくれるエレガントな解法と柔軟なアイデアが満載です。 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。

    エレガントな問題解決
    kknsd
    kknsd 2010/12/13
  • デコンパイリングJava

    知的財産を守るために、ソフトウェア技術者にはJavaのバイトコードやJVMについての深い知識が求められます。書では、Javaデコンパイラの構築を通して、Javaのバイトコード、オペコード、クラスファイルの関係やJVMの内部仕様について詳しく解説します。逆コンパイラや難読化ツールの特徴と限界についても著者の見識を惜しみなく提供しているので、難読化ツールを使うことによりコードの安全性がどのくらい高まるのかを知ることができます。日語版では、ClassToXMLのJava6への対応方法、現在でも利用可能なオブファスケータについての補足情報を加筆しました。/ART/OF/REVERSINGシリーズ第2弾。 関連ファイル 原書のサンプルアーカイブ 付録Bのコード(.zip) 付録Bのコード(.lzh) 正誤表 ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下

    デコンパイリングJava
  • Rubyベストプラクティス

    書は、Rubyでのソフトウェア開発経験者を対象に、プログラミングの実践的なテクニックとアイデアを、実際に使われているライブラリやコードを題材に解説します。テキスト処理やファイル管理から、テスト駆動開発、API設計、関数型言語的機能の利用、多言語化やデバッグ、保守に到るまで幅広いトピックを網羅。付録ではRuby 1.8と1.9の両対応の手法やワーストプラクティスを取り上げるなど、より優れたコードを書くための力を身につけることができます。Ruby1.9に完全対応。 ケーススタディに基づいて学ぶ書は、より良いコーディングについて学びたいRubyプログラマ必携の一冊です。 まえがき 訳者まえがき はじめに 1章 テストでコードを駆動する 1.1 テスティングフレームワークについて 1.2 テストできるように設計する 1.3 テスティングの基礎 1.3.1 焦点をしぼったテスト 1.3.2 例外

    Rubyベストプラクティス
  • プロダクティブ・プログラマ

    TOPICS Programming , Business/Essay 発行年月日 2009年04月 PRINT LENGTH 284 ISBN 978-4-87311-402-6 原書 The Productive Programmer FORMAT PDF 生産性の高い人はそうでない人に比べ、同じ時間でより多くの仕事をし、より多くの成果を上げることができます。書は、ソフトウェア開発におけるプログラマの生産性についての書籍です。プログラマ個人が、どのような意識を持ち、どのようなツールを使えば、単位時間当たりの仕事量を増やすことができるかについて示します。書は2部からなり、「I部 技法編」では、作業を自動化するためのツールや集中を維持する方法など、開発に必要な作業の生産性を向上するテクニックとツールを解説します。「II部 実践編」では、テスト駆動開発や、メタプログラミングなど、生産性を

    プロダクティブ・プログラマ
    kknsd
    kknsd 2009/04/07
  • 付録A 『ディベート:リナックスは時代遅れだ』

    Linux is Obsolete.(Linus Tanenbaum Debate) 『ディベート:リナックスは時代遅れだ』 Translation by Akira Kurahone この付録には、Andrew Tanenbaum教授とLinus Torvaldsの(comp.os.minixへの)投稿を軸にインターネット上で展開された、あの有名な「Linuxは時代遅れだ」という題で開始されるTanenbaum対Linus論争を記載しておこう。1992年の初めのころ、Andrew Tanenbaum教授は、オペレーティングシステムとOSの設計に関して非常に優れた現実的な考えを持ち、研究者として一目置かれている存在であった。教授は、ネットニュースで繰り広げられている話題がLinuxに移り変わっていたのに気づくと、いまがLinuxに関してコメントを述べる時期だと感じ、投稿を開始した。 確かに

  • エンジニアのための時間管理術

    ……筆者が言いたいのは、システム管理が仕事ではないということです。それはライフスタイルなのです。私たちのライフスタイルを私たちの言葉で述べ、私たちの問題を解決するタイムマネジメントのが必要なのです。(「はじめに」より) 書はシステム管理者、ネットワーク管理者を中心にしたエンジニアのための実践的な時間管理術を紹介する書籍です。著者が考案した「サイクルシステム」と呼ばれる方法を使って、作業リスト、スケジュール、さらに仕事とプライベート双方の長期的な目標を管理する方法を解説します。長期的に行うプロジェクトとすぐに行う必要がある割り込み作業の優先順位を整理し、ストレスの少ない、充実した一日を送ることを可能にすることでしょう。上司とのコミュニケーション、文書化の進め方、作業の自動化などシステム管理者が必要としているノウハウを紹介していることも特徴です。 はじめに 謝辞 1章 タイムマネジメントの

    エンジニアのための時間管理術
  • 1