今週のQiita技術書まとめ
2021年11月21日配信
クラウドが好きな大学生が読んで良さげだった本を紹介する
前提 大学1年の終わり頃にプログラミング学習を始めて、ちょうど3年弱くらい経ちました。 数え切れないほどの技術書を読んできましたが、その中でも「これはよかったような気がする!」という書籍を載せておきます。 選出の観点は「面白さ」「わかりやすさ」「その知識が役に立ったか」の3つの観点から総合的に評価しています。 また、原則翻訳されたものがあればそちらを掲載しています。
Web開発者のための大規模サービス技術入門
大規模サービスを開発・運用する技術者のための入門書。OSや計算機の動作原理、DBの分散方法、実践的なアルゴリズムをシステムに組み込む実装、大規模データを料理する検索エンジンのしくみ、システム全体を見渡すためのインフラ設計の知識と、多方面にわたります。
Linuxプログラミングインタフェース
Linuxのmanページプロジェクト主催者によるLinuxプログラマ必携のリファレンス。Linux開発者(主にシステムプログラマとアプリケーションプログラマ)にとって、プログラミングする上で必要な情報を一冊で網羅。本書で扱う内容は広範囲にわたり一冊でLinuxプログラミングのほぼすべての情報を知ることができます。Linux/UNIX開発者のバイブルとなる一冊。
暗号技術入門 第3版
2008年の刊行以来、セキュリティ関連部門で長期間トップをキープしている『新版暗号技術入門』の改訂版です。 「対称暗号」「公開鍵暗号」「デジタル署名」「PKI」「PGP」「SSL/TLS」など、暗号技術の基礎を、たくさんの図とやさしい文章で解説しています。 今回の《第3版》では、 これまでの基本的な暗号技術の解説に加えて、 大幅な加筆修正を行っています。 ・現代の暗号技術に関するアップデート ・SHA-3のコンペティションとSHA-3(Keccak)の構造 ・POODLEなどのSSL/TLSへの攻撃 ・認証付き暗号の紹介 ・ビットコインと暗号技術の関係 ・楕円曲線暗号の紹介 セキ...
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版
日本中の現場で支持されたベストセラーが、最新環境にあわせて全面刷新+大増ページ! Webアプリケーションにはなぜ脆弱性が生まれるのか? 脆弱性を解消するにはどうプログラミングすればよいか? PHPサンプルへの攻撃を通して脆弱性が生まれる原理と具体的な対処方法が学べる! Webアプリ開発者の必読書、待望の改訂版! OWASP Top 10 - 2017対応 <主な改訂内容> ・HTML5の普及に対応してWeb APIやJavaScriptに関する解説を新設 ・OWASP Top 10 - 2017に対応して、XXEや安全でないデシリアライゼーションなどを解説 ・脆弱性診断に対する関...
SRE サイトリライアビリティエンジニアリング
大規模なサイトを運用・構築していくための手法「SRE」について詳述! Google社内で発展した、大規模なサイトを運用・構築していくための手法「サイト リライアビリティ エンジニアリング」について、様々な場面での実践的なストーリーを紹介します。
Infrastructure as Code
Infrastructure as Codeを定義づけし、さらに現代的なサーバインフラ管理のパターンやプラクティスを網羅的、体系的にまとめた本! 「Infrastructure as Code」とは、これまで手動で行ってきたインフラストラクチャの構成管理を、スクリプトや外部ファイルに記述し自動的に行う仕組みのことです。クラウドの発展により、開発環境と本番環境は限りなく同じ状態にすることが可能になり、ChefやPuppet、Ansibleなどのツールも数多く登場したことでエンジニアの間で注目をされています。本書はInfrastructure as Codeを定義づけし、さらに現代的なサーバ...
入門監視
今求められる「モダンなモニタリング」を解説 ! なぜモニタリングをする必要があるのか、どこから、どのように始めたらよいのかを起点に各テーマに沿って書かれているため、モニタリングについての深い知識を身につけることができます。
Kubernetesで実践するクラウドネイティブDevOps
Kubernetesを使った開発と運用(DevOps)の各フェイズについて実践的内容を詳述! Kubernetesの認証認可やPodsのより突っ込んだ設定など、アプリケーションをプロダクションで運用するための実践的な内容をまとめた書籍。Kubernetesを使ったサービス開発において、開発と運用(DevOps)の各フェイズで何を行い、どういう設定をすべきなのかを列挙し、そこで使えるツールや注意しなければならない事柄についてを解説。
形式的モデル化
ソフトウェアが正しく設計されているかを保証するための手法として,システムを数学的に厳密なモデルで記述し,仕様が満たされているかどうかを数理的に調べる,「形式検証」が注目されている. 本書では,モデル検査に代表されるように,現実のシステムにも適用可能になってきた形式検証を理解し,使いこなすための理論的背景について解説する. 離散事象システム,実時間システム,ハイブリッドシステムなど,さまざまなシステムに対する形式的モデル化手法と,その解析方法が網羅された1冊. ◆第1部 システムのモデル化 第1章 システムの概念 第2章 オートマトンと形式言語 第3章 ペトリネット 第4章 プロセス代...
A3RTさんのTalk APIをElixirで使ってみます
2021/12/24(金)の回です。 はじめに Elixir( A3RT(アート)( API( What is Talk API( ?
プログラミング Elixir(第2版)
プログラミング言語Elixirを学ぶ Elixir(エリクサー)は、並行処理を得意とするプログラミング言語ErlangのVM(エンジン部分)を基盤とし、Erlangよりもなじみやすい文法を採用したプログラミング言語です。 本書は、世界的なRubyプログラマであるDave Thomas氏が書いた、プログラミング言語Elixirの本格的解説書“Programming Elixir 1.6” (Pragmatic Bookshelf, 2018) の日本語訳です。 通常のプログラミングから、並行処理、さらなる応用へと順を追って進む構成になっています。本書を読むことで、Elixirらしいプログラ...
CPUからOSまで自作してみた話(ハードウェア編)
0-1. はじめに 少し前にCPUの自作を通して 「コンピュータが命令を実行する仕組み」 を学びました。 それによりハードウェア階層の話はある程度理解できたため、次はもう少しレイヤーが上のソフトウェア階層の話(機械語から高水準言語・オペレーティングシステムに至るまでの抽象化の階段)について学んでみたいなと思い、こちらの「コンピュータシステムの理論と実装」( <br <img src=" width…
CPUの創りかた
コンピューターの中核であるCPUという名のブラックボックス。その動作の「超」基本原理から具体的な設計例までを解説。アキバで手に入る部品だけで実際の製作も可能。
アドベントカレンダーに投稿し続けたことで巻き起こった出来事
2021/12/19(日)の回です。 はじめに Elixir( 「アドベントカレンダー初参加する人を応援したい、アドベントカレンダーに参加したきっかけアドベントカレンダー( 私は、 アドベントカレンダーのベテラン勢(2回以上〜投稿) に該当します。
「ない仕事」の作り方
「仏像ブーム」を牽引してきた第一人者であり、「マイブーム」や「ゆるキャラ」の名付け親としても知られるみうらじゅん。とはいえ、「テレビや雑誌で、そのサングラス&長髪姿を見かけるけれど、何が本業なのかわからない」「どうやって食っているんだろう?」と不思議に思っている人も多いのでは? 本書では、それまで世の中に「なかった仕事」を、企画、営業、接待も全部自分でやる「一人電通」という手法で作ってきた「みうらじゅんの仕事術」を、アイデアのひらめき方から印象に残るネーミングのコツ、世の中に広める方法まで、過去の作品を例にあげながら丁寧に解説していきます。 「好きなことを仕事にしたい」、「会社という...
Pythonデータ分析試験に合格したので勉強方法を残しておく
はじめに Pythonエンジニア認定基礎試験に合格した( Python 3 データ分析試験 初めに簡単な試験概要を公式サイトより引用します。 試験名称:Python 3 エンジニア認定データ分析試験
ゼロから作るDeep Learning 自然言語処理編を理解する Chap1
概要 本記事では,ゼロから作るDeep Learning 自然言語処理編( 「ゼロから作る」というだけあって,プログラムを組みながら学んでいきたいと思いますが,公開されていないプログラムまで引用するのは避け,本記事では割愛させて頂きます. 一方で,Githubに公開されているプログラムもある為,こちらdeep-learning-from-scratch-2( 今後の記事はこちらから
ゼロから作るDeep Learning 2
大ベストセラーの続編。さらに作る、さらに深くDeep Learningに迫る! コンピュータの専門書としては異例の大ヒットを記録した『ゼロから作るDeep Learning』の続編。第二弾の本書では、自然言語処理や時系列データ処理に焦点を当て、ディープラーニングを使ってさまざまな問題に挑みます。word2vecやRNN(リカレントニューラルネットワーク)、LSTMやGRU、seq2seqやAttention……ディープラーニングを支えるこれら最先端の技術を実装レベルでマスターできます。前作同様、平坦な言葉で分かりやすくをモットーに、高度に見える技術の裏側をじっくり説明し、実際に作ることで...
ループ処理、switch文、break文、continue文の組み合わせには要注意(迷子になるから)
まずは以下のプログラムを見ていただきたい。 ※このプログラム自体に意味はありません。参考用にサンプルで作ったものなので、ツッコミどころはいっぱいありますが、一応動きます。 php:sample.php <?php $dbData =
リーダブルコード
コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介する。名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明する。日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。
CSM研修の内容と学んだこと
認定スクラムマスター情報まとめ NTTドコモ サービスデザイン部の@dcmtakehiroです。 2021年10月に認定スクラムマスター(CSM)を取得して以下の3つをまとめました。 これからスクラムを学ぶ方や、CSMでどんなことを学ぶのかなどに興味がある方の参考になれば幸いです。 1. 重要だと感じたこと
転職を繰り返したエンジニアの末路: ソフトウェアエンジニアとして海外で働く(外資系のすゝめ)
注意 老害ポエムなので、大きな心を持った暇な方だけ読んでください。単なる自己満足で書いています。 はじめに キャリア相談をされることが実子・同僚・後輩などから増えてきた。大学院でキャリア授業のケースとして使われたこともある。「ジジイの話を聞いてくれるのは、最大の接待」 という言葉もある。自分も弁えているつもりだ。そんなんでも、エンジニアとして20-30年後の姿として参考にしてくれるのは嬉しいし…