ITエンジニアが読むべき技術書 2022年11月30日

ITエンジニアが読むべき技術書 2022年11月30日
目次

【書籍】「良いコード/悪いコードで学ぶ設計入門」の要約 📚

# はじめに

たまたま読む機会があり、本書を読んでみましたがとても参考になったので各章ごとに要点を自分なりにまとめてみました✍🏻
何度か繰り返し読んで、この記事も更新していきたいと思います。

> 本書では、開発力をおとしめ、ソフトウェアの成長を阻害する、設計や実装上 の問題を「悪魔」とたとえます。
本書は、ソフトウェア開発に潜む悪魔を知覚し、退治できるようになるための設計技術書です。

## 第 1 章 悪しき構造の弊害を知覚する

具体的な弊害

– コードを読み解くのに時間がかかる
– バグを埋め込みやすくなる
– 悪しき構造がさらに悪しき構造を誘発する

### 意味不明な命名


“`js
class MemoryStateManager {//技術駆動命名
・・・
}

class Class001 {//連番命名
・・・
}
“`

技術駆動命名(プログラミング用語などに基づいた技術ベースでの命名)や
連番命名(番号付けで命名)は、読み解くのに膨大な時間を要します。
意図や目的を表現した命名で構造を簡明にすべきです。

### 理解を困難にする条件分岐のネスト

元記事を表示

見ただけで情報を読み取れる命名を心がけよう

# はじめに
先日、「**名前設計**」についてに下記の記事を執筆しました。
界隈で有名な方が執筆するような大した記事ではないですが、名前を適切に設定することの重要性を私なりに解釈して執筆させていただきました。

https://qiita.com/bamboo_wood/items/d9a569147a6767827eb6

「センス良く、かつ適切な名前を設定する」って簡単に聞こえます。
ですが、実際の開発現場では変数や関数の命名に悩まされることが多々発生するように思えます。

その問題の手助けをしてくれる本が「**リーダブルコード**」という本です。
エンジニア界隈で一番有名な本と言っても過言ではないですね。

もしこの本を読んだことがないという方がいるのであれば、この記事を読むよりリーダブルコードを読んだ方が有意義な時間を過ごせるでしょう。

この記事はリーダブルコードの2章から3章の一部について書いていこうと思います。

– **2章 名前に情報を詰め込む**
– **3章 誤解されない名前**

# 目次
1. [名前に情報を詰め込む](#名前に情報を詰め込む)
1. [

元記事を表示

プログラムの命名は立派な設計行為

# はじめに
最近、技術書で「[良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方](https://gihyo.jp/book/2022/978-4-297-12783-1)」という本に出会いました。

自分に足りていなかった設計の考え方についてかなり勉強になりました。
本当に良かったので内容を忘れないようにQiitaに書き残そうと思います。またこれを機にアウトプットの習慣化ができればいいなと思っています。

動くプログラムは割と誰にだって書けると思いますが、良い構造へ改善するためのアプローチを知っている人は世の中に少ないのではないかと思います。
その少数派、価値の高いレイヤーに参加できる入門書が本書だと思いました。

その中でもまずは「**名前設計**」について執筆していきたいと思います。

# 目次
1. [意味不明な命名](#意味不明な命名)
2. [命名は省略を避けよう](#命名は省略を避けよう)
3. [変数の使いわましを避けよう](#変数の使いわましを避けよう)
4. [名前設計を怠ったプログラムの末路](#名前設計を怠ったプログラムの末路)

元記事を表示

【自分流】技術書などの保存について

# はじめに
子供は本が好きで絵本を「読んで~」とよく持ってくるのですが
最近私の技術書などにも興味をもちはじめ、
散らかしたり破壊したりしてきたので、対策として自分のやっていることをメモとして残します。

似たような悩みを抱えている方の参考となれば幸いです。

# 結論
ブックコートフィルムをかけます。
フィルムやフィルムのかけ方については以下にリンクを掲載いたしますので、
参考にしてください。
この動画が一番わかりやすかったです。

# 参考
私が購入しているフィルムのリンクを張っておきます。
これ以外にも種類はあるみたいなので、合わなかったひとは別の使うのも手です。

デビカ 製本テープ 図書館ブックフィルム A4ロール

# ブックコートフィルムのメリット
以下にブックコートフィルムを使用すること

元記事を表示

新卒エンジニアがリーダブルコードを読んでみた

## リーダブルコード
名著と言われており、多くのサイトで取り上げられています。

わかりやすいコードを書くための手法が数多く紹介されており、現場でコーディングするにあたって必要な知識が詰め込まれています。

そんな本を新卒エンジニアである私が読んでみて特に重要だと思った箇所をピックアップして整理してみました。

## 1章 理解しやすいコード
優れたコードとはかっこいいコードや短く表現されたコードではなく、理解しやすいコードを指す。

誰かが自分のコードを見た時に、いかに短い時間で理解できるかが重要。

コードを書くときは常に **「このコードは理解しやすいだろうか?」** を自問自答することが大切になってくる。

## 2章 名前に情報を詰め込む
名前は短いコメントのようなもので、情報を詰め込むことが大事。

短くても読み手に伝わる情報が入ってればOK。

### 2.1 明確な単語を選ぶ
空虚な単語は避けよう。例えば関数名`getPage`は良くない命名であると言える。「get」という単語だと、ページをどこから取ってくるのかが分からない。

インターネットから取得するなら`dow

元記事を表示

プロになるWeb技術入門を読んだ

読んだ感想:とても実践的でわかりやすい内容でした。古い本だから今でも通用するか心配していたが全く問題なくむしろ今まで読んだ技術書でトップレベルに読んでよかったと感じました。

例えばこんなことを学べますということをまとめます。

#### リクエストとは
Webサーバーに何かを要求することであり、レスポンスとはそれに対するサーバーからの返答である。

#### ステートフルとは
状態を持っていることである。反対にステートレスとは状態を持っていないことである。とりわけプロになるWeb技術入門では通信を例にこれらが説明されていた。例えばFTP通信は通信を開始してから、切断するまでお互いが繋がった状態である。明示的に通信を開始する、切断するとお互いに交信する必要がある。一方でHTTP通信は1回のリクエストに対して1回のレスポンスのみがあり、それ以降はお互いのブラウザとサーバーは通信状態ではなくなる。これは本に書いていないが、電話の同期通信とメールの非同期通信のようなものだ。

#### プロトコルとは

通信の約束ごとである。私たち日本人がコミュニケーションを取る時は日本語で話すという暗黙の

元記事を表示

機械学習って何から勉強すればいいの?という人向け必読の4冊

# はじめに
未経験からエンジニアになって、いつの間にか2年が経ちました。
今年に入ってからは機械学習の案件にも携わることになりましたが、
最初は学ぶべきものがたくさんありすぎて非常にあたふたしながら、必死にインプットをしてきました。

機械学習やAIというワードに惹かれて、エンジニアを目指そうと思った人もいると思います。
そんな方々にとって、何から学んでいこうかというヒントになればと思い、自分がこの1年くらいで読んで特に良かったなと思った技術書を紹介させていただきます。

どれも有名なので、既にご存知のものも多いかと思いますが、機械学習エンジニアという職に興味がある方は是非読んでみていただければと思います。

## [Kaggleで勝つデータ分析の技術](https://www.amazon.co.jp/Kaggle%E3%81%A7%E5%8B%9D%E3%81%A4%E3%83%87%E3%83%BC%E3%82%BF%E5%88%86%E6%9E%90%E3%81%AE%E6%8A%80%E8%A1%93-%E9%96%80%E8%84%87-%E5%A4%A7%E8%BC%9

元記事を表示

技術書典13ドタバタ出典記【パート2】〜アマゾンで紙の本を出版してみたはなし

# 概要

最近話題の(といっても1年くらい前ですが)アマゾン KDP ペーパーバックという、個人出版で紙の本が作れてアマゾンのサイトで売れるサービス(たとえば ImpressWatch の記事「[アマゾン、Kindleストアで“紙”の本を個人が出版できるサービス](https://www.watch.impress.co.jp/docs/news/1359923.html)」を参照してください)を使って、先日 (2022/9/10 ~ 2022/9/25) 開催された[技術書典13](https://techbookfest.org/event/tbf13)に出典した新刊『ZAM 季報 VOL.2』の紙の本を作ったはなしです。

* 技術書典13への執筆の経緯はこちら: [技術書典13ドタバタ出典記(オンライン)〜約2週間でサークル雑誌『ZAM 季報 VOL.2』を書いたはなし](https://qiita.com/kichiki/items/f6edaadb5e4ec20e8227)
* 約 2 年前に「技術書典9」に初参加したときの記録はこちら: [技術書典9ドタバタ出典記〜20

元記事を表示

技術を勉強したくても、頭に入らない人へ

僕が技術できるというわけでもないが、ハマったやり方です。

僕がやっているやり方を紹介します。

思い付きで書き出してみました。

## とりあえず “なんか作る”

何を勉強するかにもよりそうが、タイトルが入れられるだけのTODOアプリでも作ったらどうですか?

特にダメな理由がないなら、TODOアプリで決定します。

手を動かすことからスタートします。

## つぎはぎで “まず動かす”

チュートリアルを見ながら、とりあえず動かします。

ほんとうに最低限、TODOアプリを作るのに必要な分だけやります。

目的をもって読みます。

## 他の人と “比べる”

そこそこ動くものができたら、他の人と比べてみます。

GithubやQiitaを見ていれば、似たようなものを作っている人もいるでしょう。

自分ならこうする、というギャップが、勉強の起点になります。

## いけてない・不快だと思ったところを “調べる”=勉強する

どっちがいいの?みんなどうしているの?と思ったことを調べます。

Google検索なり、技術書読むなり、勉強会で聞くなり、、

この、ギャップを埋めて補完する

元記事を表示

【転職】未経験がWeb系自社開発企業の内定を得るまでにやったことすべて

## はじめに

どうも皆さんこんにちは![Web系エンジニアのとも](https://twitter.com/tomokn5)と申します。
僕は2022年1月~プログラミングを本格的に勉強し、ついに先日、**某Web系自社開発企業から内定**をいただくことができました。

ただ、転職成功までの道のりは決して平易なものではありませんでした。
ということで、9ヶ月前の僕と同じように

– 本当に未経験からWeb系エンジニアになれるのかな?
– どういうふうに学習すればいいんだろう?

と悩んでいる方向けに、僕が取り組んだすべてを紹介したいと思います。

## 時期別に紹介

### 1月~4月中旬:AP対策

まず、CSの基礎を固めるために、応用情報技術者試験(AP)を受験することにしました。
使った参考書は以下の2冊です。

– [ニュースペックテキスト 応用情報技術者 2022年度 (情報処理技術者試験)](https://www.amazon.co.jp/%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B9%E3%83%9A%E3%83%83%E3%82%AF%

元記事を表示

技術情報を発信したいエンジニアにお勧めしたい「継続的にアウトプットするコツ」とは?

# はじめに
https://techplay.jp/column/1609?utm_source=newPublishedGroupColumn&utm_medium=email&utm_campaign=tp_20220922

今回は、上記のイベントをもとにエンジニアの情報発信について、考えていきたいと思います。
実際にこちらのイベントに参加させていただいたのですが、この度、[TECH PLAY](https://techplay.jp/)にてこちらのイベントが公開されましたので、ご覧でない方はぜひ!

# 対象
・技術発信について悩んでいる方々

# イベント参加の経緯
私は、現在大学2年生で、プログラミングの勉強をしはじめたばかりです。まだまだ、技術発信ができるようなレベルではないのですが、この考え方のままだと永遠に発信することは無くなってしまうだろうし、単純に他のエンジニアの方の意見を聞いてみたいという思いがありました。また、技術発信をするべきか、その時間を勉強に費やした方がいいのか、どうするべきなんだ?という疑問もあり、イベントに参加しました。

# イベント内容
##

元記事を表示

名刺がわりの愛読技術書16冊

名刺がわりの愛読技術書16冊を紹介します。

「名刺がわりの技術書16冊」って書いたら、技術者なら自分で書いた本16冊っていう意味になる。そこで、「名刺がわりの愛読技術書16冊」という表題にさせていただいた。

(数字)は、最後に紹介する 「人生で影響を受けた本100冊」で取り上げた際の番号です。
自分が一部でも書いた本は3冊紛れ込んでいます。

# 1 エントロピー読本II
(49) 日本評論社, 1985, [宇井純](https://ja.wikipedia.org/wiki/宇井純)・菅井益・中茂・室田武・[伏見 康治](https://ja.wikipedia.org/wiki/伏見康治)・鶴見和子・ [槌田 敦](https://ja.wikipedia.org/wiki/槌田敦) ・河宮信郎・高木仁三郎・藤田祐幸・白鳥紀一・[玉野井 芳郎](https://ja.wikipedia.org/wiki/玉野井芳郎)
エントロピー.png技術書典13ドタバタ出典記(オンライン)〜約2週間でサークル雑誌『ZAM 季報 VOL.2』を書いたはなし

# 概要

今年 (2022 年) 9/10 ~ 9/25 にオンラインで開催されている「技術書典 13」に、久しぶりに新刊を出したドタバタ顛末記です。
(今回は、オフライン、つまりリアルのイベントも 9/11 の1日だけ開催されましたが、われわれ地方勢はオンラインのみでした。)

約 2 年前に「技術書典9」に初参加したときの記録はこちら: [技術書典9ドタバタ出典記〜20日で本『音楽と数理』を書いたはなし](https://qiita.com/kichiki/items/6d14c7bfea7ef95f4e1a)

PDF で書いた本をアマゾンで出版するはなしはこちら: [技術書典13ドタバタ出典記【パート2】〜アマゾンで紙の本を出版してみたはなし](https://qiita.com/kichiki/items/1d54e3ba66694ac26f49)

執筆の時間経緯を振り返りたい方は、そのままお読みください。
その他のトピックに飛びたい方は以下からどうぞ:
* [驚異の値段設定、電子、電子+紙とも 500 円について](#値段の設定など)
* [今話題の Stable Di

元記事を表示

未経験Androidエンジニアの1年を振り返る

## はじめに
未経験からAndroidエンジニアになって1年がたったので、ざっくりやったことを振り返っていく。

## 入社前

医療系の仕事をしていて、プログラミングとは無縁な環境。
趣味でAndroidアプリ開発をやってみたらドハマりして、休日は個人開発をしながらずっとコードを書いていた。
Androidアプリの仕事したいな~と思ってたら、幸運にもtwitter経由でAndroidエンジニアとして受け入れてくれる転職先が決まりました。

### 活動
– Android開発(6カ月)
– 個人アプリを3つ作成
– Android Jetpack等の基本的なライブラリを使える程度
– 競技プログラミング(2カ月)
– 転職前に暇だったのでやってみたがかなり面白かった
– 最初はpythonでやっていたけど、Kotlin大好きなのでKotlinで挑戦していた
– たくさんコードを書く機会を得て、論理的な考え方やコードの実装イメージが身についた
– A,B問題はスムーズに解けて、運がいいとC問題が解ける程度の実力
– Androidの実装スピードもか

元記事を表示

書籍購入制度を導入してもらった話

## はじめに
みなさまの会社には、『書籍購入制度』はありますか?

今をときめくIT企業にとっては、当たり前の制度ですよね。

しかし、私の入社当時、弊社には**書籍購入制度がありませんでした**:innocent:

今回の記事では、**書籍購入制度を導入してもらった経緯**について記述していきます。

もしお勤めの企業で書籍購入制度を提案されることがあれば、参考になるかもしれません。

## どう変わったか?
ではまず「書籍購入制度を導入してもらった結果、社内制度がどう変わったか?」について記載します。

はじめに、導入前からみてみましょう。

### 制度導入前
– 書籍購入制度
– なし
– 欲しい本は各自で買うしかない
– 「たかが1冊3,000円程度でしょ?」という人もいるが、年間で見ると結構な出費:cry:

エンジニアとしてはイマイチな環境ですよね。

これがどうなったかというと……

↓↓↓↓↓↓↓↓↓

### 制度導入後
– 書籍購入制度
– あり:clap::clap::clap:
– 年間の予算内であれば何冊でも購入O

元記事を表示

独習C# 第5版 を読んだレビュー

# はじめに

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/47146/35234935-0524-24cc-195d-3c19eb469358.png)

このたび、[独習C# 第5版](https://www.shoeisha.co.jp/book/detail/9784798175560)を著者の山田祥寛さんよりご献本いただきました。
今回はこちらの書籍についてレビューをしていきます。

# 書籍について

[独習C# 第5版](https://www.shoeisha.co.jp/book/detail/9784798175560)はタイトルのとおり、`C#`について解説されている技術書です。
`C#`の基礎となる`.NET`環境の解説からはじまり、基礎的な概念、制御構文、標準ライブラリ、踏み込んだ上級者向けの機能と網羅的に解説しています。

また最新の`C# 10`にも対応しており、`C#7`以降に登場した機能については目次や章題にそのことが明記してあります。
このため**す

元記事を表示

【知らないと損する】スッキリわかるSQL入門が良書すぎたのでオススメしたい

## はじめに
バックエンドエンジニアであれば関わるであろうSQLについて纏められた技術書
「[スッキリわかるSQL入門 第3版 ドリル256問付き!](https://amzn.to/3pefnqC)」が良書すぎたので
おすすめしたいと思います。
SQLはMySQLで扱ってましたが、腰を据えて学んだことがなかったので今回、技術書を使って知見を深めました。

## この記事の対象者
– SQLについて初めて学ぶ人
– SQLを実務で扱っているが理解が浅い人
– SQLについての理解を深めたい人
– テーブル設計ができるようになりたい人

## はじめてのSQL
この章では主にデータベースとは何かといった、基礎知識について纏められている。
ハンズオンとして [dokoQL](https://dokoql.jp/) を使って環境構築なしでSQL文を実行することができるようになります。

:::note
この章で学ぶこと
– データベースの概要
– SQLの概要
:::

## 基本文法と4大命令
章題の通り、基本文法についての説明が纏められている。
`SELECT`、`UPDATE`、`D

元記事を表示

SOFT SKILLSを読んで実生活に活きそうなことの備忘録

# はじめに
新卒の自分はまだまだ自分の所在が認識できていないので、
キャリアに対して不安を抱えながら仕事に喰らい付いてます。

ですので、今回はそんな不安を少しでも払拭できるように、
こちらの『SOFT SKILLS』という本についてアウトプットしていこうと考えております。

# 本の概要
副題の通り、「ソフトウェア開発者がキャリアを歩んでいくために必要な指針を示てくれる本」です。

キャリアや学習、さらには資

元記事を表示

「ネットワークはなぜ繋がるのか」読んでみたまとめ

# はじめに

ネットワーク系の中で有名な書籍を読んだのでアウトプットしていきたいと思います。結論から言うと、この本を読むとネットワークの基本的な流れが掴めるので、TCP/IP や HTTP 等がどのように関連しているのか体型付けた知識を得ることができます。

ウェブ系の開発をしていると当たり前にできているリクエストやレスポンスについて理解が生まれるので非常におすすめでした。

なので得た知識をこちらでまとめたいと思います。また、この本は図が非常にわかりやすいため気になった方はぜひ実際に読んでみることを勧めます。

# 筆者のレベル
参考までに私がどれくらいのレベル感のエンジニアなのかざっくり言っておきます。
– エンジニア業務歴1年
– Rails や React を使った開発はそこそこできる
– HTTP はプロトコルってことまではわかる
– TCP/IP の違いは説明できない
– イーサネットも聞いたことはあるレベル

この本を読む前の状態としてはこんな感じでした。ウェブ開発は基本的にできるけどネットワ

元記事を表示

クリーンコード本で腑に落ちた条件分岐の3つの簡単なTips

# はじめに
前回の記事、たくさんの方が見ていただき、とても嬉しく思っております。
見ていただいた方には、誠に感謝しております。
https://qiita.com/tkdayo/items/5701013735c667d4cf03

8月になりましたね。

もう働き始めて3ヶ月になりました。東京での一人暮らしにも、ようやく社会人の生活リズムにも慣れてきました。
と言いたかったのですが、コロナに罹患し基本的に社会から隔絶されてしまいました(現在自宅療養中)。
ただ当社で柔軟な働き方が取れているおかげで、なんとか元気に新人施策に励んでいます。

さて、私は社会人になって、きれいにコードを書くための本を2冊買って読み終わりました。

  1. 良いコード/悪いコードで学ぶ設計入門
    ―保守しやすい 成長し続けるコードの書き方
  2. リーダブルコード

2冊とも、命名規則やコメントなどの非技術的な要素から、
クラスのメタプログラミング的な設計など、とても勉強になりましたが、
よわよわエンジニアの自分には、中には難しくて「???」となった部

元記事を表示

OTHERカテゴリの最新記事