ITエンジニアが読むべき技術書 2020年06月13日

ITエンジニアが読むべき技術書 2020年06月13日
目次

【オブジェクト指向でなぜつくるのか 】利用されるようになった経緯とその効果

この記事は[オブジェクト指向でなぜつくるのか](https://www.amazon.co.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%A7%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%8F%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC2%E7%89%88-%E5%B9%B3%E6%BE%A4-%E7%AB%A0/dp/4822284654)をまとめたものです。

3章から4章までのプログラミングに関する内容だけまとめています。

## オブジェクト指向が主流になる以前
プログラミングの歴史は人間がどれだけ読みやすく、書きやすいプログラムを作れるかという目的のもと人間が努力し、考え続けていることである。

オブジェクト指向もその目的のために生まれ、採用された方法である。

以下ではオブジェクト指向が主流になる前の歴史と問題点をまとめていく。

### プログラミング言語の進化
元々は一部のスーパープログラマーが機械語そ

元記事を表示

新米エンジニアの私を導いてくれた素敵な本たち

## はじめに
この記事では、新米エンジニアの私が学んできた本を紹介します。

学びの道のりを表すために、時系列にそって記載します。しかし、必ずしもこの順番だったから良かったという意図ではありません。

記事の作成後に新たに学んだ本があれば、逐次追加していきます。

## この記事について
新米エンジニアの私を導いてくれた、とても素敵な本たちの紹介です。読書期間は2019年6月~2020年5月です。

これらの本のもつ豊かさについて、共感してもらえたり、あるいは、これらの本に触れるきっかけになれば、嬉しいです。

次項から、書籍名を見出しに、1冊ずつ紹介していきます。

## 『[Kotlinイン・アクション](https://amzn.to/3cvah0m)』
まずは文法を学ぼうという**軽い気持ちの私に、技術の広がりを見せてくれました**。

この先で紹介する、オブジェクト指向の世界に導いてくれる本たちを読んでからこの本に帰ってくると、私が読んだときより比べものにならないほど多くを学ぶことができると思います。私も改めて学びに帰ってきます。

## 『[増補改訂版 Java言語で学ぶ

元記事を表示

VSCodeとMarkdownで技術同人誌書いたので拡張機能とかまとめ

# 技術同人誌を書きました
できるだけ毎日続けるためのデイリーコーディング戦略 – @reona396 Products – BOOTH

「毎日クリエイティブコーディング作品をつくりたい!…けど、毎日つくるって大変だよね…」という方へ向けて、日々気負わずサクサクと制作と投稿に取り組むための戦略をガイドする技術同人誌を執筆しました。
BOOTHにてDL販売しておりますのでよろしくお願いします!

# 執筆環境
Mac + VSCode + Markdown
初の技術同人誌執筆だったので、サクッとやるためにMarkdownで書き上げました。

# 使用した拡張機能

## Markdown PDF
[Markdown PDF \- Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=yzane.markdown-pdf)

MarkdownをPD

元記事を表示

文系ド素人が Web エンジニアとして新卒入社するまでに読んできた本をまとめた

# はじめに

こんにちは。新卒 Web エンジニアの@sho-hata です。

この記事では、**人差し指タイピングをしていたレベル**の自分が、**「Web エンジニアになろう!」と決意してから入社するまでの一年半で読んできた本**を、振り返りもかねてご紹介したいと思います。

この記事を読んでくださった方の刺激になったり、少しでもお役に立てれば嬉しいです!

# 読んできた本

自分は、**「ブラウザって何?ホームページじゃないの?」「サーバー…?」**:thinking:といった程度の**ド素人**でした。

そのため、言語やインターネットについての基礎知識が身についていないにもかかわらず、難易度の高い本に手を出して撃沈するなど、この1年半は無駄が多くありました。

これから Web エンジニアを目指す方には、自分と同じ轍は踏んで欲しくないという思いがあります。
そこで、読んできた本からのみではありますが、

– **読む優先順位が高い本**
– **「この本だけはおさえたほうがいい!」と感じた本**

については**目印(★)**を付けました。

一つの参考にしていただ

元記事を表示

『アドレナリンジャンキー~プロジェクトの現在と未来を映す86パターン~』から考える開発プロジェクトの成功パターン

# はじめに
皆様、こんにちは!
佐久間まゆちゃんのプロデューサーの@hiroki_tanakaです。

以前書いた[『アドレナリンジャンキー~プロジェクトの現在と未来を映す86パターン~』から考える開発プロジェクトのアンチパターン](https://qiita.com/hiroki_tanaka/items/340afe34ba6b39677d83)という記事の成功パターン編です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/105636/2f601a2e-eaf1-6306-84c2-6206077bf66f.png)

# (再掲)『アドレナリンジャンキー~プロジェクトの現在と未来を映す86パターン~』とは
[『アドレナリンジャンキー~プロジェクトの現在と未来を映す86パターン~』](https://www.amazon.co.jp/dp/B00FS2X0P2/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)は2009年に出版されたソフト

元記事を表示

[WIP] きのこ本を勝手に電子書籍(epub)化

# [WIP] きのこ本を勝手に電子書籍(epub)化

## はじめに

* いわゆる「きのこ本」とよばれる書籍があります。「プログラマが知るべき97のこと」とかのシリーズものです。
* これらの書籍は CC-by-3.0 などでライセンスされているため、著作者名を明記することで、自由に使用することができます(改変もOK。商用もOK)
* そこで、きのこ本を勝手に電子書籍(epub)化してみました。紙の書籍は持っていますが、電子書籍は持ち運びが便利ですよね。
* GitHub: [きのこ本の電子書籍化](https://github.com/yoshi389111/kinokobooks)

![prog.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97350/ed42ff29-9c02-f347-80c9-00976569dc63.png)

* その際の作業メモとか思ったことなどを残しておきます。主に「プログラマが知るべき97のこと」での作業がメインです、それ以外の書籍についても含まれている

元記事を表示

『アドレナリンジャンキー~プロジェクトの現在と未来を映す86パターン~』から考える開発プロジェクトのアンチパターン

# はじめに
皆様、こんにちは。
佐久間まゆちゃんのプロデューサーの@hiroki_tanakaです。

私は新卒で大手独立系SIer入社し4年間、BtoB向けの大規模基幹システム構築プロジェクトにいくつか携わりました。
(今はWeb系スタートアップに移り、自社プロダクトの開発を行っています。)
それぞれのプロジェクトに特徴や個性はありましたが、全てに共通して言えることはどれも大変で計画通りの完璧なプロジェクトはありませんでした。
そんな中で[『アドレナリンジャンキー~プロジェクトの現在と未来を映す86パターン~』](https://www.amazon.co.jp/dp/B00FS2X0P2/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1)という有名なプロジェクト管理の本を読んだのですが、非常に参考になったのでまとめました。
(私のように開発現場で戦っている人の少しでも役に立てれば、と思っています。)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/

元記事を表示

『リーダブルコード』を読んで心に刺さったことをまとめてみた

##はじめに
エンジニア歴2年目のエンジニアです。
かの名著**『リーダブルコード』**を読んで、備忘録もかねて心に刺さったことを章毎にまとめました。

1.理解しやすいコード

“`
・コードは他の人が最短で理解できるように書かなくてはならない
“`

2.名前に情報を詰め込む

“`
・getやfetch,allowやdisallow,letなど、よりコードの意味が明確になる変数名を心がける
・変数名でコードの内容が推測できるのが望ましい
・具体的な名前を用いて、コードの機能を詳細に説明する
“`

3.誤解されない名前

“`
・名前が他の意味と間違えられないか何度も自問自答する
・最善の名前は誤解されない名前
“`

4.美しさ

“`
・改行等を揃える。
・関数が長い場合、意味ごとのブロックに分ける
・コードを段落に分割する。長いコードは誰も読む気になれない。
“`

5.コメントすべき事を知る

“`
・自分の考えを記録する
・「監督のコメンタリー」を入れる
・読み手の立場になって考える、質問されそうなことを想像する
“`

6.コメントは正確で完結に

元記事を表示

【JavaScript本格入門】グローバル変数とローカル変数

こちらの技術書のスコープについてのまとめです。

– [改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで](https://www.amazon.co.jp/%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88JavaScript%E6%9C%AC%E6%A0%BC%E5%85%A5%E9%96%80-%E3%83%A2%E3%83%80%E3%83%B3%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E3%81%AB%E3%82%88%E3%82%8B%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E7%8F%BE%E5%A0%B4%E3%81%A7%E3%81%AE%E5%BF%9C%E7%94%A8%E3%81%BE%E3%81%A7-%E5%B1%B1%E7%94%B0-%E7%A5%A5%E5%AF%9B/dp/477418411X)

## グローバル変数とローカル変数の違い
– 関数の外で宣言した変数 → グローバル変数
– 関数の中で宣言した変数 → ローカル変数

元記事を表示

【業務系】システム開発に役立つ書籍4冊

##業務知識・DB設計
###『グラス片手にデータベース設計 販売管理システム編 第2版』
業務知識とデータベース設計を関連付けての説明がある。
業務フローから、どのようなデータベースを論理設計するかを学ぶことができる。
業務系システムが例になっているので、
業務系システムのデータベース設計を学ぶことができる。

##システム設計
###『システム設計の謎を解く』
業務系システムを例に、システム設計の説明がされている。
システム設計について、体系的・網羅的な説明があるため、
標準的なシステム設計を学ぶことができる。

##プログラミング
###『プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則』
過去のプログラマが生み出した原理原則を集めて、解説されている。
抽象的な内容なので、実際のプログラミングで具体的に考えることで、
品質の良いコード作成につなげることができる。

##SQL
###『SQL実践入門』
SQLに関して、実行計画を読み解きながら、
パフォーマンス、可読性や保守性に対して焦点を当てた説明がある。
一通り、基本的なSQLを書けるように

元記事を表示

技術書典応援祭+技術書典8(+α)で買ったおすすめの技術系同人誌

自分が技術書典応援祭+技術書典8(+α)で買った技術系同人誌のなかでおすすめのものを書いていきたいと思います。データサイエンス、機械学習系が多めです。

買ったもの全部は書けなかったので、ここに書いていないのがおすすめではないというわけではないです。(最後以外は)全て自分で購入したものです。

## A Primer on Adversarial Examples
* タイトル:A Primer on Adversarial Examples
* サークル:原理的には可能
* 著者:菊田遥平
* ページ数:99ページ

![](https://lh3.googleusercontent.com/qnat08J9EDI6wvZIjDGz5xoH70loc1S_YMsRSbtmtkGJ4OUK9ZgtZHJcGvk1KgOU09k9dIFVY1zQKiWdpoZo?size=220)

* 電子版 https://techbookfest.org/product/5483924549533696

個人的にはめちゃめちゃおすすめの本です。「技術書典 応援祭」に出ている本では一番これがおすす

元記事を表示

エンジニアのインターンが技術書を30冊くらい読んでみたので、ゆるくまとめてみた

株式会社Global Mobility ServiceでソフトウェアエンジニアのインターンをさせてもらっているShirubaです。グローバルな環境で利用されている社会的サービスの開発の一端を担いたい志ある方は、ぜひ緩くお話ししましょう〜?‍♂️→ [採用ページ](https://www.wantedly.com/companies/company_8204706/projects)

—–

2ヶ月間のフルタイムインターンを通して、「知識量」が圧倒的に不足していることを実感しました。「知識をコードに落とし込む力」に関しては今後の業務を通して補っていけると思うこともあって、4月になるまでにできる限り「知識量」をつけておきたいと思いました。

知識があると、会社のミーティングとかでの話にもついていけるようになるし、コーディングの幅も広がると思います。そういう経緯で、空き時間に興味のある本を図書館から借りて読むことにしました。その時読んだ本をゆるく紹介していくコーナーです。

– 興味の赴くままに読んだので、ジャンルは絞っていない
– 実践的な本を求めていたので、啓蒙的な本・心構え

元記事を表示

Inpaintingからディープラーニング、最新のGAN事情について学べる本を書いた

3~4ヶ月かけてA4・195ページの薄くない薄い本を書きました。タイトルは『モザイク除去から学ぶ 最先端のディープラーニング』です。TensorFlow2.0全対応です。

## Inpaintingとは
画像の一部を塗りつぶしてもっともらしく画像を復元するタスク。画像全体ではなく、白く塗りつぶした部分の生成を目標とします。

![case4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232088/51c832e1-2c1c-89ee-7cf6-d36cd3441f31.png)

画像:[https://github.com/JiahuiYu/generative_inpainting](https://github.com/JiahuiYu/generative_inpainting)より

関連:
* [GLCICで無かったことにしたいアレコレ(GANを使った画像生成を Globally and Locally Consistent Image Completion で理解してみる)](htt

元記事を表示

iOSアプリ開発 デザインパターン入門を読んで

# 目次

第1章 前準備 ~おすすめ書籍
第2章 前準備 ~オブジェクト指向とは
第3章 前準備 ~プロトコル指向とは
第4章 前準備 ~入門書には書かれていないが重要なiOS開発Tips
第5章 Model View Controllerデザインパターン
第6章 MVCでタスク管理アプリを作ろう
第7章 Model View ViewModelデザインパターン
第8章 MVVMでGitHubクライアントアプリを作ってみよう

# 第1章 前準備 ~おすすめ書籍
学習者のレベル別で技術書を紹介している。

# 第2章 前準備 ~オブジェクト指向とは
オブジェクト指向、継承の概念を図を使って解説していて、初心者の方には分かりやすいだろうなぁと思いました。
継承のメリット、デメリットに関しても説明されており、再確認できてよかったです。

# 第3章 前準備 ~プロトコル指向とは
オブジェクト志向のデメリットを何がデメリットかをはっきりさせて解説した上で、そのデメリットをプロトコル志向がどう解決したか解説されていて、理解しやすかったです。

# 第4章 前準備 ~入門書には書かれていないが

元記事を表示

レガシーコードからの脱却〜ソフトウェアの寿命を延ばし価値を高める9つのプラクティスを読んで

自分なりに所感とまとめ。

## URL

https://www.oreilly.co.jp/books/9784873118864/

## 構成と簡易まとめ

– I部
– 1章 ウォーターフォールは保守できないソフトウェアを作り出す
– 2章 非効率な開発でどのくらいの損失があるか
– 3章 アジャイルや小さい単位で進めていく事が良い
– II部
– 4章 原則を理解すること
– 5章 やり方の前に目的や理由を口にすること
– 6章 小さなタスクで進めること
– 7章 継続的に統合する(即ビルドできる)環境の大切さ
– 8章 協調のためペアプログラミング
– 9章 凝集性、疎結合、カプセル化、断定的、非冗長なコードを作ること
– 10章 テストファースト
– 11章 テストを仕様として使う
– 12章 設計を最後にする利点
– 13章 リファクタリングを行う際のまとめ
– 14章 今までの章を踏まえたうえでのまとめ

## 所感

– 確かに目的とか使われ方がよくわか

元記事を表示

プロになるためのWeb技術入門~Webアプリの発展編~

概要

Webアプリ開発を続けていくにあたり、そもそもの基礎知識不足を痛感。
名著『プロになるためのWeb技術入門』を毎日の昼休みに読んで生きた知識にしていこう企画です。完全に自分用ですが、業界に入る前までの自分が「これ知りたかった!」と感じたであろう部分を超端的に抜粋しています。復習も兼ねてメモメモ。
(全解説ではありませんが、数回にわたって記事にしていこうと思いますのでお時間のある方は是非。)

アプリの種類

**〇デスクトップアプリケーション**
・手元のPC上で処理が完結するよ。
・画面はOSの機能を利用して表示しているよ。
・アプリをPCにインストールしないとダメだよ。

**〇Webアプリケーション**
・サーバー上で処理が行われるよ。
・画面はHTMLで表現されてWebブラウザに表示されるよ。
・アプリをPCにインストールする必要はないよ。

Webのはじまり

もともとインターネット自体は研究機関の関係者などの限られた人たちしか使ってなかったよ。
でも、**WWW(World-Wide Web)**や**NCSAMosa

元記事を表示

個人的にオススメしたいHTML/CSSの学習教材

この記事では僕が今まで購入してきた中で
個人的にオススメしたいHTML/CSSの学習教材を三つ紹介していきたいと思います!

# ①よくわかるHTML5+CSS3の教科書
➡https://www.amazon.co.jp/よくわかるHTML5-CSS3の教科書【第3版】-大藤幹/dp/4839965471

HTML/CSSを学ぶ人が最初に取り組むのに個人的にオススメな一冊です!
内容自体が教科書みたいな感じでHTML/CSSの基礎が網羅されています!

# ②HTML5/CSS3 モダンコーディング
➡https://www.amazon.co.jp/HTML5-CSS3モダンコーディング-フロントエンドエンジニアが教える3つの本格レイアウト-スタンダード・グリッド・シングルページレイアウトの作り方-吉田真麻-ebook/dp/B0176GNY26

一冊目のHTML/CSSでは紹介されていなかったモダンなコーディングをする方法
(Font Awesomeの使い方等)を教えてくれる実用的な技術書です!
僕自身ポートフォリオを作成した時に重宝したので本当にオススメです!

元記事を表示

Ubuntu18.04で使用するRe:VIEW4環境構築 ( rbenvを利用したRuby導入〜TechBoosterのRe:VIEWテンプレート導入まで)

# はじめに
最近、PCを新調してしまったのでRe:VIEWでの執筆環境を再構築してみました。
その時の備忘録・新たにUbuntuでRe:VIEWの執筆環境を構築する人向けに環境構築の情報を記述しておきます。
今の時代、dockerで環境はスグ構築できたりしますが、一度ローカル環境でコツコツ構築していくと新たな知見が得られるかもです!

# Re:VIEWとは
EWBやRDあるいはWikiに似た簡易フォーマットで記述した、独自のマークアップ言語テキストファイルを使用した紙書籍・電子書籍作成支援ツールです。
出力フォーマットとしてPDFやEPUBなど、さまざまな書籍のフォーマットに対応しています。

# 導入PC OSバージョン
– Ubuntu 18.04.3 LTS

# 導入したTo

元記事を表示

[初学者向け]プログラミング学習開始〜4ヶ月間の振り返り+α

#概要
この記事はプログラミング学習開始から現在までの4ヶ月間で読んだ記事や本,利用したサービス等をまとめたものになります。また実務に伴い、必要になった技術スタックも段階ごとに記していきます。
ここでいう技術スタックとは「**プログラミング言語・フレームワーク・ツール・ソフト**」等々幅広いものを指します。

#はじめに
現在、プログラミング学習を始めてから4ヶ月・Webエンジニアとしてインターンを始めてから3ヶ月。
「何がわからないのかわからない」という完全な初心者状態から、先輩エンジニアに聞きながらもなんとかタスクをこなせるようになりました。
この数ヶ月間何をしてきたのか振り返りたいと思い、備忘録もかねてQiitaに書き残します。

「未経験からWebエンジニアになりたい!」という方や、「Webエンジニアの実際の業務内容を知りたい!」という方の参考に少しでもなれば幸いです。

#0~1ヶ月目

##Progate
みなさんおなじみの[Progate](https://prog-8.com/)。プログラミングを始めたばかりの方には馴染み深いのではないでしょうか。
とりあえず一週間で

元記事を表示

『Qiitaユーザーが選ぶ、2019年に読んで良かった技術書』アンケート結果発表に基づいて読書記録

『Qiitaユーザーが選ぶ、2019年に読んで良かった技術書』アンケート結果発表

『Qiitaユーザーが選ぶ、2019年に読んで良かった技術書』アンケート結果発表

よい本が並んでいる。既読と未読に分けて、感想などを記録していきます。

#既読

## CODE COMPLETE

>まとまっているのは嬉しい。翻訳はカタカナ語が多く、本質を捉えにくいかもしれない。
メタファーは、比喩では駄目なのだろうか。直喩(simile)と暗喩(metapher)の差は、それほど明確ではない。
敢えて、メタファーというカタカナ語にする意図が分からない。
紙の版は途中で出てくる参考文献は英語のものだけを示したり、翻訳時の大変さを表したままだった。


>プログラミングに関する基本的な事項を網羅している。
ソフトウェアエンジニアであれば、必ず読んでおいて、常識となっていて欲しいことが書かれている。

元記事を表示

OTHERカテゴリの最新記事