Webシステム開発の雑多なアウトプット

AWS、プログラム、OSS等を中心に良かった本も。

【git】「git push」で「rejectedエラー」(fetch first)

「git push」したところエラーが発生したので対処方法をメモっておきます。

rejectedエラー発生(fetch first)

git pushをしたところ、! [rejected] master -> master (fetch first)のエラー発生。

$ git push origin master
To https://github.com/xxxxxx/yyyyyy.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://github.com/xxxxxx/yyyyyy.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.


原因

Githubに直接アップロード(コミット)したものがあったようで(記憶になし、、)
まずはローカルにマージしろ、というエラー。


対処方法

①フェッチ

git fetchを実行します。
$ git fetch
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 16 (delta 8), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (16/16), done.
From https://github.com/xxxxxx/yyyyyy.git
811d7b0..7d133c6 master -> origin/master

②マージ

git merge origin/masterを実行します。もしもコンフリクトした場合、競合ファイルを保存や削除します。
$ git merge origin/master
Merge made by the 'recursive' strategy.
.../aaa.txt" | 467 +
...
12 files changed, 93728 insertions(+)

③プッシュ -> 成功!

最後に、git pushを実行します。
$ git push origin master
Enumerating objects: 14, done.
Counting objects: 100% (14/14), done.
Delta compression using up to 4 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (10/10), 1.65 MiB | 267.00 KiB/s, done.
Total 10 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 1 local object.
To https://github.com/xxxxxx/yyyyyy.git
7d133c6..ca6595f master -> master

【Kubernetes入門】(2)CentOS7にKubernetesインストール

f:id:web-system:20220107214008j:plain

(1)Dockerインストール

最初は、Docker公式ページのインストール手順を参考に進めます。

docs.docker.com


コマンド


# パッケージ一覧の更新
sudo apt update

# パッケージ更新
sudo apt upgrade -y

# 必要パッケージインストール
# (apt 1.6以上でHTTPSリポジトリをサポートしている為、apt-transport-https は必要ないが念の為)
sudo apt-get -y install ca-certificates curl gnupg lsb-release apt-transport-https

# DockerのGPG鍵を登録
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# stableのDockerリポジトリを追加
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Dockerインストール
sudo apt-get update
sudo apt-get -y install docker-ce docker-ce-cli containerd.io

# Docker起動
sudo service docker start

# Dockerテスト
sudo docker run --rm hello-world


kubectlインストール


curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl

chmod +x ./kubectl

mv ./kubectl /usr/local/bin/kubectl

kubectl version --client

※rootユーザーで実行する場合、「/usr/local/bin/」にPathが通っていない為、フルパスで指定するか、パスを通してあげる(セキュリティ的には非推奨)。


minikubeインストール

yum install conntrack

curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 \
&& chmod +x minikube

install minikube /usr/local/bin/

/usr/local/bin/minikube start --vm-driver=none

【お薦め】書籍「ゼロから考えるリーダーシップ」

f:id:web-system:20220107214413j:plain

リーダーシップを心理学の観点から再構築したのが本書で、リーダーシップを2軸思考(4象限)、つまり以下の軸、

  • X軸 : 業務志向と対人志向
  • Y軸 : 未来思考、現在思考

にて、4つのリーダーシップの型が存在する「リーダーシップ・ブレイン・モデル」として整理している。


書籍情報

タイトル:ゼロから考えるリーダーシップ
著者  :髙橋 潔 立命館大学総合心理学部教授)
発行社 :東洋経済新報社


<はじめに:紹介文より抜粋>

  • リーダーとは、そもそもどんな特徴を持った人なのか?(第1〜3章)
  • リーダーとマネジャーはどこが違うのか?(第2〜4章)
  • リーダーシップは本当に組織で役に立っているのか?(第5章)
  • リーダーシップとマネジメントを両立する黄金比とは?(第5章)
  • リーダーシップについて聞かれたときに、理論武装するには?(第6章)
  • リーダーの頭の中(脳の仕組み)はどんなふうなのか?(第3章・第7章)
  • リーダーシップはどうすれば育成できるのか?(第8章)
  • リーダーにとって対話が持つ意味とは?(第9章)
  • リーダーにとってビジョンとはどういうことか?(第10〜11章)
  • リーダーは集団を引っ張るのか、支えるのか? それとも分け持つのか?(第12章)
  • リーダーシップの日本型とは?(第13章)


対象読者

  • リーダーシップについて経営学、経済学からの観点ではなく別の切り口から考えたい方
  • 昔からのリーダーシップ論も簡単に復習している為、リーダーシップ論を初めて勉強される方
  • 管理職やリーダー等の立場になって、どのように動けばよいか迷っている方
  • マイクロマネジメントは駄目なのか?、何もしないリーダーシップが良いのか、自分なりの答えを持っていない方


良かった点

 本書の題名の通り、リーダーシップをゼロから解説されており、組織論には傾きすぎず、程よくリーダーシップについて解説している。特に、リーダーシップ、マネジメントに関して、トヨタグループの管理職へ質問した回答を元に、「そもそもリーダーシップやマネジメントが組織にどの程度役に立つのか」についても言及しており、この調査結果については興味深い結果だった。マイクロマネジメントは悪との意見も多いが、その理由が調査結果に表れている。リーダーシップに普遍性はなく、アメリカと日本、各々の企業、組織によっても異なり、その在り方は各リーダーが自分で見つけていくしかない訳だが、本書はその方向性を示してくれている。

【お薦め】書籍「エラスティックリーダーシップ: 自己組織化チームの育て方」

f:id:web-system:20220107214413j:plain

個人的にオライリーの本は読みにくい(書体?訳?)と感じるのですが、本書はとても読みやすかったです。
また、数あるリーダーシップ論の本は経済学者や経営学者が論じており、システム開発チームにどう適用していくのか分かりにくいのですが、本書は今すぐにでも始められる程、非常に納得できる内容でした。

書籍情報

タイトル:エラスティックリーダーシップ: 自己組織化チームの育て方
著者  :ロイ・オシェロフ
訳者  :島田 浩二
発行社 :オライリージャパン


対象読者

  • システム開発においてチーム(組織)をどう導いていけば良いか分からない方
  • コンセプト理論を現実にどう適用すればよいか分からない方


書籍概要

  • 最良のチームとは、学習する自己組織化されたチームであり、そのゴールへ導くためにどのようなリーダーシップを取れば良いか。
  • チームには3つのフェーズ(サバイバルモード、学習モード、自己組織化モード)があり、フェーズによってリーダーシップを使い分ける。
  • 最後の第Ⅴ部にはリーダーシップについて、日本人の著名な方のエッセイもあり。

【AWS】認定資格:クラウドプラクティショナー勉強方法

f:id:web-system:20220107203252j:plain

AWS認定資格のクラウドラクティショナーについて、私が行った勉強方法をご紹介します。

資格勉強の期間

  • 約1ヶ月間、1〜2時間/週の勉強

資格勉強前の知識

  • 業務でAWSを利用しており、EC2、S3、IAM、Cloudfront、CloudFormation、等の基本的な知識はありました。

AWSの知識が全くない時の勉強教材

私は業務でAWSの利用を開始する事になり(利用が承認され)、以下の本で勉強しました。
選んだポイントは、AWS の本格的な勉強として後々試験でも役に立つ、かつ試験対策のみではなくAWSの知識を全体的に習得できる、です。
図が豊富で整理されており、「ソリューションアーキテクト - アソシエイト -」の模擬試験も付いています。


クラウドラクティショナー勉強教材

Udemy
【2022年版】この問題だけで合格可能!AWS 認定クラウドラクティショナー 模擬試験問題集(7回分455問)
https://www.udemy.com/course/aws-4260/

試験の勉強としては、上記のみです。
注意点は、模擬試験が6つ(基本2つ、応用3つ、難易度高1つ)ありますが、実際の試験に近いのは「基本レベルの2つ」だと感じました。
私は「基本レベル」で75%〜85%程度だったのが、「応用レベル」では55%〜65%でした。それでも、本試験には合格しました。
ちなみに、難易度高試験は勉強時間切れとなり手を出せませんでした。