Angular環境構築
今度新人にAngularの環境構築をしてもらうため、自分用メモ
昔新人の頃に書籍を参考にAngularの環境構築をしたときに、情報が古く、うまく動かなかったことがあったので復習も兼ねて
1. Node.jsのインストール
1-1. nodejs.org へアクセスし、Node.js バージョン10.xx.x(推奨版)のインストーラーをダウンロードする
1-2. ダウンロードを行ったらインストーラーを起動し、インストールを行う
1-3. インストールが終わったらコンソールで
node -v
を実行し、バージョンの確認を行う。
1-4. コンソールで
npm -v
を実行し、npmパッケージマネージャーがインストールできているか確認。
確認できたら完了。
2. Angular CLIのインストール
2-1. コンソールにて
npm install -g @angular/cli
を実行。
2-2. ng v
を実行し、インストールされたAngular CLIのバージョンを確認できたら完了。
躓いたこと
npm install時にエラーが起きた
2-1にてインストールを行ったときに、permission denied というエラーが起きて正常にインストールができなかった。 原因は不明だったが、調べたところnpmディレクトリのオーナーアカウントを自分に変更すると回避できるとのことだった。
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
このコマンドを実行し、オーナーを変更することで正常にCLIをインストールすることができた。
HTMLタグ、属性、CSSプロパティ、の整理
後輩にHTMLとCSSの課題をやってもらっているときに、 「プロパティってなんですか?」と聞かれすぐに答えることができなかったので整理。
HTML
HTMLタグ
HTMLにおいて意味を区切る記号のことをHTMLタグと呼ぶ(単にタグと呼ぶ場合もある)
<html> <body>
HTML要素
HTMLとその中身のことを指す
<a href="">リンク</a>
HTML属性
タグの後ろに半角スペース区切りで書かれた文字列のこと
<div class="aaa"></div>
これのclassの部分が属性
CSS
CSS属性
CSSの指定している部分で:の左辺を指す
.content{text-color: #000000}
text-colorの部分
CSS属性値
CSSの指定している部分で:の右辺を指す
.content{text-color: #000000}
#000000の部分
意外と忘れがち
Matzの講演を聞きました
聞いてきたのでメモったことを書き残し
20代エンジニアのためのプログラマー勉強法
講師:まつもとゆきひろ(Matz)
Rubyを作った人
プログラミングの話はしない
勉強の必要性
死なないため
-
- エントリーシート(史上最悪の発明)
- 就活生に不幸 見栄えがいい学校、勉強していることで人物で見てもらえない
- 人事担当に不幸 会社の名前だけでたくさんエントリーが届く
- 喜ぶのは就活会社
- IT企業
- ブラックが多い
罠が多い時代
戦略が必要
- 自分がしたいこと、未来、方向性を考える必要性→それこそが戦略
- 特に若い時
- 人生に大きな影響を与えるため
- 大きな成果は若いときに出る 特に20代
- 30代は遅すぎるわけではないが、現代においては若いというのはそれだけでアドバンテージ
- モラトリアムはもったいない!
- 特に若い時
- 若いときこそ戦略が必要!
- 社会的地位が(まだ)ないから
- 本当はNoと言ってもいいはずなのに上の人に従いがち
- 体壊しても面倒を見てくれない →自分のことは自分で守らないといけない
- 若いときは立場がないぶん辛い、死なないためにも社会戦略が必要
- そのために学ぶ必要がある
- 本当はNoと言ってもいいはずなのに上の人に従いがち
- 自分がしたいこと、未来、方向性を考える必要性→それこそが戦略
勉強
社会人しての勉強
勉強というのはメタファー
学ぶことを抽象化して勉強といっている
抽象化の強み
- プログラミングは抽象化の塊
- 理解しやすくなる
- 背景知識の活用ができる
- 物事を単純に
- 類似性からパターン抽出
- プログラミングは抽象化の塊
抽象化のデメリット
抽象化のモレ 過剰な抽象化
- 人間の癖
- 物事をシンプルにしすぎる
- 抽象化で切り落とされたもの
- その違いが重要だったとき役に立たなくなる
あえて学生と社会人としての勉強の違いを考える
- 満点VS満点なし
- 正解があるかないか
- 苦手克服 VS 得意を伸ばす
- 記憶 VS 把握
- 知識 VS インデックス
- 試験 VS 常在戦場
- メイン VS サブ
- 安定 VS 変化
- 満点VS満点なし
なぜ勉強するか
- 成功したい
- 高収入が得たい
- 良好な二元関係
- 嫌なことはしたくない
これらを達成するには
- 勉強したら達成できる?
- 成長すれば達成する可能性はある
- 勉強したら達成できる?
勉強とは成長するため
みんな勉強は大切と思ってる
- 差別化にならない
- むやみに知識を持とうとしても差別化にならない
- 差別化にならない
なにを どこで どう学ぶか
実社会に満点はない
- 学生時代の常識が通用しない
- とりあえず知識をつけておこう → それでは成功する確率が上がらない
好きなものに集中したほうが効率的
- 学びたいから学ぶと義務では大きな差
- 何を学べば良いかはない
- インベントリ
- 時々やる必要がある
- 自分を振り返って、自分は何が好き?興味がある?得意?嗜好、背景
- これらについて定期的に考える必要がある
- 書き出して考える
- 様々なジャンルを組み合わせることもできる!
- 得意なことを伸ばす
- 人と違うととても良い
- 生活につながるとなおよい
- が、お金は目をくらませる
- 一番大事なところ
- 自分が何をすればいいか、他人は教えてくれない
- 他人を信じてはいけない
- 何をするかは自分で決めなければいけない
- どこで学ぶか
- いつでもどこでも
- 学びやすい環境
- 良い環境は成功要因
- 成功=高評価
- 尊敬される
- 尊重される
- 勉強をする=高評価を受けるサメ
- 尊敬される=高いモチベーション
- 高いモチベーション=成長しやすい
- 成長=成功
- ポジティブフィードバックループ
- ループがないとき
- ループを壊す環境から逃げる
- 尊重してくれない人とは働かない
- 搾取するひとから逃げる
- WinーWinの関係
- 持続可能な取引は2種類
- Win−WInとNoDeal
- NoDeal = 取引しない
- 逃げてもいい
- Win−WInとNoDeal
- ループを壊す環境から逃げる
- いつ学ぶか
- まとまった時間を作る難しさ
- 暇、退屈だと思ったら注意
- 時間の使い方が良くない
- 時間の使い方に優先順位をつける
- プライベートはあまり犠牲にしない
- 生産性を高める
- 早く仕事を終えて、勉強時間を作る
- スキルのためにすべての時間を費やすのはあんまり良くない
- なんのために生きてるかわからない
- 睡眠時間削減はNG
- 脳に辛い
- 時間使いは優先順位を無意識に反映している
- 学び方
- 記憶をする必要はない
- 知らない知識は調べられない
- 知のインデックスをつくる
- 概要の把握が重要
- 好奇心を育てる
- 知らないことを知るのは楽しい
- 好奇心こそが成功の鍵
- 知的チャレンジ
- 差別化
- 人と同じでは成功は難しい
- 人と違うことをする
- インベントリを改めて考える!
- 妥協と打算
- 人生において必要・・・
- 理想だけでは生きていけない
- 悪いことではない
- 人間の判断を信用しない
- 妥協と打算をした場合は頻繁に振り返る必要がある
- 人生において必要・・・
- インプットアウトプット
- 学びたいから学ぶと義務では大きな差
成功するために
Runyの話をしていない
- 横展開
大抵の問題は「人間の性質」のせい
時間と収入は無関係
あなたはどうするか
何をどう勉強するか
インベントリ
真剣に考える
なにがしたいかい
どう差別化
どう生きるか
若いうちに真剣に考える
どこまで妥協できるか
どこまで意地を張るか
度々考える
予想しても外れることが多い
決めたことを変えても良い
本当に考えるべきこと
将来・未来
必要なこと
基礎を抑える
- コンピュータ・サイエンス
- コンピュータアーキテクチャ
英語を学ぶ
- 18億人と話せる
- 新しいことは英語
- タイムマシン経営
- 差別化につながる
- 時間的アドバンテージ
- ガラパゴスを出る
- 必要なレベルで
コンフォートゾーン
- 居心地のいいところだけにいると成長はない
- 自分で決めてコンフォートゾーンから出ることも必要
- 英語圏に
- アウトプット
質疑応答
やりたいことに適正があるかわからない
→やりたいというやる気が優先
アウトプットあってるかわからない
- 誠実であれ
- 内容が間違っていることがわかったら、訂正をすればよい
- 書かなかったら良かった、、、
- 間違ったことを書き残す、誠実であれば大丈夫
Rubyを作った欲求
- 作りたいから作った
挫折
- 小さいタスクに分けて