WEBエンジニアが読んでおきたい技術書 2021年06月24日

WEBエンジニアが読んでおきたい技術書 2021年06月24日
目次

[プリンシプルオブプログラミング] セオリーと基本原則

# プログラミングセオリー
プログラミングの最大の関心事は最高のコードを作り上げること。
最高のコードとは、拡張性が高く、余分な要素が無く、読みやすいコードのことです。
そのコードに到達するのは、3つの価値が重要になります。

– コミュニケーション
– シンプル
– 柔軟性

## 価値観を技術の選択に
上記に上げた価値を、技術の選択基準にしましょう。
プログラミングは、問題解決を目的としています。エンジニアとしては、技術を知る、理解する、覚えるというのは重要ですが、技術を知っていても「使える」ようにはなっていません。

## 価値観は原則を通じてコードに適用
価値観を判断に使用しましょう。技術や手法の適用、不適用などの判断が正確になります。
しかし、価値をそのままプログラミングに使用するには抽象的すぎます。なので、価値をプログラミングに橋渡しをする6つの原則を使用して、価値を適用しましょう

– 結果の局所化
– 対称性
– 繰り返しの最小化
– ロジックとデータの一体化
– 宣言型の表現
– 変更頻度

# シンプル
## コードの複雑性を排除する
コードから余分な複雑性を排除し

元記事を表示

[プリンシプルオブプログラミング] プログラミングに特効薬は無い。コードの原則など

# プログラミングに銀の弾丸はない
プログラムをする上で、エラーが発生するもの、処理が上手くいかないものなど、たくさんの事例があります。それらに対抗する銀の弾丸はありません。なぜならば、プログラムで最終的に出来上がるソフトウェアは困難であるからです。

## ソフトウェアは基本的に困難である
ソフトウェアが困難な理由は以下の4つがあるからです。

– 複雑性
– 同調性
– 可変性
– 不可視性

### 複雑性
ソフトウェアは複雑です。
作っていくうちにファイル数が増え、依存関係が増え、また自分以外の人が書いた部分もあるでしょう。
規模が大きくなるうち、それらは非線形に増大します。

### 同調性
ソフトウェアは実世界に同調していなければなりません。
ハードウェアやネットワーク、他のソフトウェアの連携、それを使う人間…
ソフトウェアはそれらと接続され、使用します。

### 可変性
ソフトウェアは変化し続けるものです。
作り終えたソフトウェアは使われるうちに、さまざまな課題や問題点や改良点が見つかるでしょう。
ソフトウェアの開発に安寧はありません。

### 不可視性
ソフトウェア

元記事を表示

プログラミング初心者の学生が2年間で読んだ本の中でオススメを紹介する

# 目次

[01. はじめに](#1-はじめに)
[02. ネットワーク](#2-ネットワーク)
[03. データベース](#3-データベース)
[04. セキュリティ](#4-セキュリティ)
[05. linux](#5-linux)
[06. web](#6-web)
[07. 機械学習](#7-機械学習)
[08. 低レイヤ](#8-低レイヤ)
[09. uiux](#9-uiux)
[10. リファクタリング](#10-リファクタリング)
[11. aws](#11-aws)
[12. その他](#12-その他)
[13. さいごに](#13-さいごに)

# 1. はじめに

プログラミングってなに?ってレベルの学生が2年間で読んだ技術書の中でオススメの書籍を分野別に紹介します。また、これから読もうと思っている書籍や現在読み進めている書籍など、気になっているものを一通り上げています。プログラミング言語やフレームワークなどの特定の言語を追求するような書籍は紹介していません。

# 2. ネットワーク

### マスタリングTCP/IP 入門編(第6版)
https://ww

元記事を表示

「UNIXという考え方」読書メモ

# まえおき
以前、初めて業務の中でシェルスクリプトを使い効率化ツールを作った↓
[シェルスクリプトでスキャフォールドツール作った話](https://qiita.com/michida/items/dd186a73782c0b0aabf0)

チームメンバーにも展開し使用してもらうことも出来て割と好評だった。
ただ作る上で迷いが生じた部分がいくつかあり、感覚的にそこは進めていったのだが、その解がこの本の中に書かれていた。更にこの本を読みながら思ったのは、平成13年に発行されたものとは思えなかった。
と言うのも約20年経った現在でも通じることばかりが書かれており、やはりこう言う思想や哲学という部分は何年経っても根底にあり続けるのだなと感じた。

# お気に入りの一節
ここからはお気に入りの一説を抜粋していく。

> – 小さなプログラムは、分かりやすい。分かりやすいと保守も容易になる。プログラムを理解するのが保守の第一歩だ。 p18
>
> – シンプルであるために簡単に書け、理解しやすく保守しやすい。人間にとってもマシンにとっても優しいのが小さいプログラムだ。さらに重要なことは、作

元記事を表示

良いコードを書く技術ー読みやすく保守しやすいプログラミング作法を読んで

参考 [良いコードを書く技術ー読みやすく保守しやすいプログラミング作法を読んで](https://amzn.to/3v0EGNF)
# 1章
#### 良いコードの定義
本書での良いコードの定義
* 保守性が高い
* 素早く効率的に動作する
* 正確に動作する
* 無駄な部分がない

#### 保守性が高い
コードは想像よりも長く利用される。あとから見て何をしているのかわかりにくいコードは良いコードとは言えない。
誰が見ても理解出来るコードが良いコードである。
意識する部分としては
* 名前付け
* スコープ
* コードの分割
* コードの集約

#### 素早く効率的に動作する
効率の良い適切なパフォーマンスのコードが良いコードである。
いくつも似たようなコードを書く必要はない。

#### 正確に動作する
確実に動作して、信頼性の高いことは良いコードである。
「防御的プログラミング」→正常に動くだろうと決めつけをせずに
不正な値が来ても被害を受けないように防御的にプログラミングを行うこと
「ユニットテスト」でバグが少なく正確に動作するコードを実現する

#### 無駄な部分が少ない

元記事を表示

リーダブルコードの読み方 ほぼ個人メモ

# 目的

– リーダブルコードという技術書を読んでみて自分に合った読み方を見つけたのでまとめておく

# 詳細

– 読んだ本
– リーダブルコード: [https://www.amazon.co.jp/dp/4873115655/ref=cm_sw_em_r_mt_dp_97MYJ3X5JEN95S49YD0P](https://www.amazon.co.jp/dp/4873115655/ref=cm_sw_em_r_mt_dp_97MYJ3X5JEN95S49YD0P)(アマゾンのリンクですがアフィリンクではないので安心してクリックしていただいて大丈夫です。)

# この本の概要(ネタバレにならない程度の内容のまとめ記事を別途記載予定)

1. 読みやすいソースコードの書き方が書いてある。
1. 「初心者エンジニアはとりあえず読んだほうが良い技術書」として取り上げられる事が多い。
1. 初心者エンジニアだけではなくベテランエンジニアさんも読んでいらっしゃる。
1. もともと著者は海外の方で日本語訳されたものが多く出回っている。

# 個人的におすすめの読み方(完全自分向

元記事を表示

“Re:VIEW Starter”で技術系同人誌を書こうと思い、初期設定でつまづいたので健忘録がてらにまとめました。

# Re:VIEW Starterを使ってみる

## “Re:VIEW”とは?
”Re:VIEW”とは、Open Source Softwareで技術系の同人誌やプロが書くような書籍に使われているものです。
簡単にいうと、素人でもプロが書いたような書籍や電子書籍を書くことができるソフトです。
現在、ver. 5.0まで出ています。
詳しくは下をご確認ください。
[Re:VIEW knowledge](https://review-knowledge-ja.readthedocs.io/ja/latest/index.html)

## “Re:VIEW Starter”とは?
そしてRe:VIEW Starterとは、Re:VIEWでは少々面倒くさい書籍の体裁の設定を、初心者にはわかりやすいUIで設定できるようにしたものです。

[Re:VIEW Starter](https://kauplan.org/reviewstarter/)のページから、体裁に必要は初期設定を行います。
ちなみに、Re:VIEW StarterはRe:VIEW ver. 2.5で動作します。

##”Re:

元記事を表示

リーダブルコードの要約(備忘録)

# コードの基本定理
– コードは他人が読んで短時間で理解できなければならない
– コードは短い方がもちろん良いが、一番は理解するまでの時間を短くすること

# 命名規則
## 名前に意味を持たせる。

– 明確な単語を選び、汎用的な名前を避け、より具体的な名前を使う
– 接尾辞や接頭語を使用して情報を追加する

– 類語辞典でより明確な単語を選択する

例) send
・代替案:deliver, dispatch, announce, distributes, routeなど

– メソッド内で計算するためだけに登場する変数は簡単な名前でもOK

例)tmp

“`OK
if (right > left){
tmp = right;
right = left;
left = tmp;
}
“`

上記のtmpはこのメソッド内で一時的に情報を保管するだけなので、具体的な命名にしなくてもOK

– ただ、以下の例はNG

“`NG
String tmp = user.name();
tmp += ” ” + user.phone_number();
tmp += “

元記事を表示

デートの時の話題について(ライフハック)

イーロン・マスクがデートの時に電気自動車の話をしたとYouTubeで見ました。
彼女にはじめて会って、「電気自動車のことを考えたことある?」と質問したとのこと。

ってな話をカミさんにしたら、じーっとこっちを見ていたので、
「もしかして俺もそうだった?」と聞いたら。
「うん。何を話しているか、全くわからなかった。」と言われた。
技術者あるあるかな。:relaxed:

元記事を表示

社内でビブリオバトルを開催してみた ! (みんなでワイワイ本紹介をやるなら必見 !)

# はじめに
こんにちは!
KDDI アジャイル開発センターの小板橋です.
本記事では, 先週お昼休みに開催した**ビブリオバトルについてとその内容, 魅力などなど**お届けしたいと思います.

# 本記事は, こんな方におすすめ
* **チームやロールをこえて, 社内で「本」という共通の話題を作りたい方**
* **様々な本を知る機会が欲しい方**
* **新しいオンラインビデオ通話を試してみたい方**
* **みんなでワイワイするイベントをやってみたい方**

# ビブリオバトルとは
さて, みなさんはビブリオバトルを知っていますでしょうか !
**ビブリオバトル**とは, 自分の好きな本をプレゼンし「**一番読みたくなった本** = **チャンプ本**」を競う**白熱のバトル**です.

# 開催にあたって
さて, お

元記事を表示

何を学ぶかを決めるには from エンジニアの知的生産術(マイピックアップ)

「[エンジニアの知的生産術](https://www.amazon.co.jp/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E7%9F%A5%E7%9A%84%E7%94%9F%E7%94%A3%E8%A1%93-%E2%80%95%E5%8A%B9%E7%8E%87%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B3%E3%80%81%E6%95%B4%E7%90%86%E3%81%97%E3%80%81%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%81%99%E3%82%8B-WEB-PRESS-plus-ebook/dp/B07JFRF6MW/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2GRDGUXMBTF82&dchild=1&keywords=%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E

元記事を表示

アイデアを思いつくには from エンジニアの知的生産術(マイピックアップ)

「[エンジニアの知的生産術](https://www.amazon.co.jp/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E7%9F%A5%E7%9A%84%E7%94%9F%E7%94%A3%E8%A1%93-%E2%80%95%E5%8A%B9%E7%8E%87%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B3%E3%80%81%E6%95%B4%E7%90%86%E3%81%97%E3%80%81%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%81%99%E3%82%8B-WEB-PRESS-plus-ebook/dp/B07JFRF6MW/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2GRDGUXMBTF82&dchild=1&keywords=%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3

元記事を表示

考えをまとめるには from エンジニアの知的生産術(マイピックアップ)

「[エンジニアの知的生産術](https://www.amazon.co.jp/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E7%9F%A5%E7%9A%84%E7%94%9F%E7%94%A3%E8%A1%93-%E2%80%95%E5%8A%B9%E7%8E%87%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B3%E3%80%81%E6%95%B4%E7%90%86%E3%81%97%E3%80%81%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%81%99%E3%82%8B-WEB-PRESS-plus-ebook/dp/B07JFRF6MW/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2GRDGUXMBTF82&dchild=1&keywords=%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3

元記事を表示

記憶を鍛えるには from エンジニアの知的生産術(マイピックアップ)

「[エンジニアの知的生産術](https://www.amazon.co.jp/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E7%9F%A5%E7%9A%84%E7%94%9F%E7%94%A3%E8%A1%93-%E2%80%95%E5%8A%B9%E7%8E%87%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B3%E3%80%81%E6%95%B4%E7%90%86%E3%81%97%E3%80%81%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%81%99%E3%82%8B-WEB-PRESS-plus-ebook/dp/B07JFRF6MW/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2GRDGUXMBTF82&dchild=1&keywords=%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3

元記事を表示

やる気を出すには from エンジニアの知的生産術(マイピックアップ)

「[エンジニアの知的生産術](https://www.amazon.co.jp/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E7%9F%A5%E7%9A%84%E7%94%9F%E7%94%A3%E8%A1%93-%E2%80%95%E5%8A%B9%E7%8E%87%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B3%E3%80%81%E6%95%B4%E7%90%86%E3%81%97%E3%80%81%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%81%99%E3%82%8B-WEB-PRESS-plus-ebook/dp/B07JFRF6MW/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2GRDGUXMBTF82&dchild=1&keywords=%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3

元記事を表示

新しいことを学ぶには from エンジニアの知的生産術(マイピックアップ)

「[エンジニアの知的生産術](https://www.amazon.co.jp/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E7%9F%A5%E7%9A%84%E7%94%9F%E7%94%A3%E8%A1%93-%E2%80%95%E5%8A%B9%E7%8E%87%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B3%E3%80%81%E6%95%B4%E7%90%86%E3%81%97%E3%80%81%E3%82%A2%E3%82%A6%E3%83%88%E3%83%97%E3%83%83%E3%83%88%E3%81%99%E3%82%8B-WEB-PRESS-plus-ebook/dp/B07JFRF6MW/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&crid=2GRDGUXMBTF82&dchild=1&keywords=%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3

元記事を表示

「Webを支える技術」内容メモ 第2部

## はじめに
[前回](https://qiita.com/skonishi1125/items/df69f80b01187c27ce1d)の続きです。

#### 第4章

###### URI(Uniform Resource Identifier)について
直訳すると、「統一リソース識別子」
URIを使うことでweb上に存在する全てのリソース(名前を持ったあらゆる情報)を一意に示すことができる

###### URIの例

“`
http://yohei:pass@blog.example.jp:8000/search?q=test&debug=true#n10
“`

– URIスキーム : http
URIの始まりであることを示す
また、そのURIが利用するプロトコルを示すのが一般的
後ろに続く部分は「://」で区切られる

– ユーザ情報 : yohei:pass
リソースにアクセスする際のユーザ名とパスワード
間が「:」で区切られる。また、ない場合もある

– ホスト名 : blog.example.jp
DNSで名前が解決できるドメイン名かIPアドレスが出現する

元記事を表示

「Webを支える技術」内容メモ 第1部

## はじめに
有名な技術書「[Webを支える技術](https://www.amazon.co.jp/dp/B07JK7FZH2/ref=cm_sw_em_r_mt_dp_5d.bGb9MC39FB)」の内容について個人的に取りまとめたメモです。
9月に買った当初は内容が理解できなかったのですが、今改めて読み返してみると理解できるようになっている部分が多くなっていて感慨深いものがありますね。勿論未だに理解に苦しむ部分も沢山ありましたが・・・・

タイトルに「第1部」と書くことで、本書を継続して理解することを自分に義務付けました。

未来の自分頑張ってね

#### 第1章

###### Web(World Wide Web)について
現在の生活のほぼ全てに紐づいているWebの技術は、大きく3つ

– Webサイト
Amazon, Googleなど、普段使いするWebサイト

– UIとしてのWeb
ルータやテレビなどネットワークに接続するデバイスの設定もブラウザで行うものが多い
(リモコンなどより、キーボードで操作した方が効率的であるため)

– プログラム用API※としてのWe

元記事を表示

業務知識や技術を付けるのによい書籍やサイト

# はじめに
自分が今まで読んできた業務知識や技術知識を付けるのによい書籍を教えます。

# 業務知識
## 経理・財務知識の再入門講座―SEならこれだけは知っておきたい
経理関係の業務の流れや仕訳の流れを理解するのにとても良い書籍です。これから勉強を始めるとよいです。図もあるのでとても理解しやすいです。ページ数もそれほどないので一気に読めるかと思います。
[経理・財務知識の再入門講座―SEならこれだけは知っておきたい](https://amzn.to/39KWcwF)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/47172/66809cf6-78ef-8d90-a661-165ab5bbe487.png)

## グラス片手にデータベース設計シリーズ
プロアクティブとかのERPを作った人が書いた書籍です。
ERPを作っただけあって説明もうまいし、あまりすることはない業務の裏話もところどころに書いてあるので勉強になります。
– [グラス片手にデータベース設計 販売管理システム編 第2

元記事を表示

プログラミング未経験でIT企業に就職し、1年間でやってきたこと

#はじめに
こんにちは

私は就職活動中に自分を見失い、流れに身を任せた結果、プログラミング未経験の状態でWeb系のIT企業にプログラマーとして就職してしまったWebエンジニア1年生です。

入社したての頃はわからないことだらけで、さらに同僚たちは大学・専門学校でプログラミングを勉強し、ある程度のコーディングをこなすことができるような人達ばかりだったので、修羅のような日々を送っておりました。

入社式から約9か月経ち、ある程度業務をこなすことができるようになった(まだまだ周囲と比べるとひよっこですが…)ので、一度今年勉強したこと(主に読んだ本)、携わってきたことをまとめようと思い、普段からとてもとてもお世話になっているQiitaに初投稿させていただきます。

Qiitaには偉大な諸先輩エンジニアが良書をまとめているような良記事がたくさんあります。
あくまでも本記事は、未経験者がいきなりIT業界に飛び込み、この約一年間がむしゃらに何をしてきたかをまとめているので、良書探しをしてる方の参考にはならないと思います。

ITエンジニアとしてまだまだひよっこの自分が書く情報なんて大して価値が

元記事を表示

OTHERカテゴリの最新記事