エンジニアのひよこ_level10

毎日更新してた人。たまに記事書きます。

体調悪いと何もできない【154日目】

# 体調が悪いです

頭痛がひどく、食べ物も食べれないし、熱は上がる一方。

 

# 何もできない。

休むしかない、何もできない、頭痛に対しての対抗方法がない。

 

こういう体調崩してから、後悔するやつです。

 

みなさん、体調には気をつけましょう……数日何もできなさそう……

Dockerを使って、本番環境にソースをどうやって入れるか【153日目】

Dockerに慣れてきました

ローカル環境でDockerを使うことは慣れた。

じゃあ、本番環境をDockerにしたくない?

公式イメージでコンテナ作れたが・・・

公式イメージを使ってコンテナを作ったはいいけど、元のコードがない。

あれ?これsshしてサーバー側でpullしないといけないの?え?そんな無駄なことする?

正解は、イメージにコードを入れる

Dockerfileでイメージを作る時に、COPY ./ /var/www/htmlなどで、コードをイメージの中に入れる。

そうすることで、本番環境ではイメージをpullして、コンテナを立ち上げるだけで環境が完成する。

Dockerの思想としては、アプリケーションと動作環境をイメージに入れて、
イメージをrunすればアプリーケーションが起動する状態にすることは、むしろ正しいこと。

というか、そうじゃないと、コンテナが落ちた瞬間ソースコードが消える・・・

ってことで、公式イメージを使うにしても、一行COPYコマンド使って、ソースを入れ込んだ
イメージを作るようにしましょー!

成果物WBS、作業WBSとは【152日目】

そもそもにWBSとは

Work Breakdown Structureの略。プロジェクトマネジメントの手法の1つ

大項目、中項目、小項目といった項目を、ツリー構造で分けることで、必要なタスクの洗い出しを行う事ができる。

成果物WBSとは

目的に対して、必要な成果物を洗い出す。これも大項目、大項目の中にいくつかの中項目、中項目の中にいくつかの小項目というように、ツリー構造で作成していく。

[大項目]ブログのTOPページ

[中項目]プロフィール
[中項目]記事リスト

[小項目]プロフィール欄のhtml
[小項目]プロフィール欄のCSS
[小項目]記事リストのhtml
[小項目]記事リストのCSS
[小項目]記事リストを出すcontroller
[小項目]記事リストを格納するDB

作業WBSとは

目標に対して、必要な作業を洗い出す。これも大項目中項目・・・となっていく。
成果物WBSより、より細かく大きくなることが多い

[大項目]ブログのTOPページを作る

[中項目]プロフィール欄を作る
[中項目]記事リストを作る

[小項目]プロフィール欄のhtmlを作る
[小項目]プロフィール欄のCSSを作る
[小項目]プロフィール欄のデザインを設計する
[小項目]記事リストのhtmlを作る
[小項目]記事リストのCSSを作る
[小項目]記事リストを出すcontrollerを作る
[小項目]記事リストを出すためのDBの設計をする

作業WBSさえ用意したら良いの?

成果物WBSを作って、それを参考に作業WBSに落とし込んでいく方が、より細かく網羅的に作りやすい、また成果物WBSから始める方がイメージしやすい。

教えてくれる人の心情を考えてみる【151日目】

教える側に立ってみた

最近、教える側、導く側の立場に立つことが増えてきた。

新卒一年目特権ももうそろそろなくなる。いや、もうほぼ残ってないのかもしれない。

 

教える側に立つと、私はサポートタイプだからか、教える事自体はむしろ喜びになるので自然と積極的に教えたいと思う。

 

だが、他の人はどうなんだろうと思うようになった。

 

先輩方に聞いてみた

では今まで教えてくださっている、導いてくださっている方はどうなのか聞いてみた。

 

すると、人それぞれ異なる理由でモチベーションを持っていた。

 

詳細は許可もらっていないから大まかに書くと、

『自分のためになる』

『話の内容に興味がある』

など、自分自身で、モチベーションを生み出している。

 

教えていただくためにはどうするのか

正直、人それぞれではあるが、

既に教えてくださっている方には、

それぞれのモチベーションがあるのかもしれない。

 

私の行動が、それにたまたま合致していたのかもしれない。

既にやる理由はあるわけだ。

 

なら、私はやらない理由を作らないようにしなければならない。

 

だから、礼儀を持って、相手を尊重、尊敬して挑むのだ。

 

もっと人間味のある考え方してもいいのでは

まあその通りなんだけど、人間味のある考え方したら、みんな相手に感謝するって結論に至ると思うので……

 

その上で、具体的に分析したら、この行動は意味あるものなんだなと分類分けしているところなのです……

 

私は『なんとなくやる』という行動が多すぎたので、こういう分析するのもいいのかなと思ってやりましたまる。

【AWS】Route53とは。DNSとは。【150日目】

Route 53とは

Amazon Route 53(スケーラブルなドメインネームシステム (DNS))| AWS

可用性が高くスケーラブルなクラウドドメインネームシステム (DNS) ウェブサービスです。

DNSとは

www.example.com のような名前を、コンピュータが互いに接続するための数字の IP アドレス (192.0.2.1 など) に変換するサービス

つまり。

コンピューターには住所がありまして、それは 192.0.2.1とかの数値なのです。

で、その番号をみんなが覚えれたらいいんだけど、分かりづらいので、
www.example.comのように変換するのです。

どんなふうに?

??? < www.example.comから、index.htmlってファイルが欲しい!

Route53くん < www.example.comは、 192.0.2.1だね。

??? < ありがとう!192.0.2.1のサーバーさん、index.htmlちょーだい!

ってなるわけですね。

Route 53には他の機能も。

ヘルスチェック

Route53くん < 192.0.2.1のサーバーさんよ、寝てないかー死んでないかー

って一定時間毎に元気かどうか確認してくれたりとか。

DNSフェイルオーバー

Route53くん < 192.0.2.1のサーバーさんが寝てる!!!ちょっと192.0.2.2さん、対応して!!!

って接続死んだ時には、別な場所に転送してくれたりとか。

機能は他にもいっぱい。

ってことを、クラウドでしてくれるいい子なんです。

私は最近知りました(

AWSもっと勉強していこう。そしたら、インフラの基礎知識も自動的につくはず!

間違い等ありましたら、ご指摘してくださいますと、ありがたいです。

JAWS DAYS 2018に行って思ったこと+セッションメモ【149日目】

初めに

ブログのタイトルに『149日目』と書いてますが、私のブログの連続更新日数なので、
JAWS DAYSが149日目なわけではありません!

先日こちらのイベントに行きました

AWSもインフラも超初心者ですが飛び込んできました!

jawsdays2018.jaws-ug.jp

このイベントはなに?

JAWS-UG(AWS User Group – Japan)は、日本全国に50以上の支部を持つ Amazon Web Services(以下AWS)のユーザーグループです。

つまり、AWSユーザーグループのイベントです!
あれ?私EC2を20分間立てたくらいしか使ってな・・・( ゚д゚)ハッ!AWS歴20分!!!

ちなみに

年に一度のはずなのに、JAWS『DAYS』なのかは、

その前日に幹部の方々とか集まったりしているので、私達が参加する当日とその前日合わせて2日間だからDAYSだとか・・・いう『噂』を聞いたことはあります。

と言葉を濁すのは、うろ覚えで、調べてもソース出なかったからです!どなたか真偽教えてください!

感想

  • めっちゃ刺激受ける
  • 初心者とか気にせず行くべき
  • どっかのグループ所属した方がいいのかなと思いました(今は一箇所にしか所属していない)

この後は、

  • 気になった技術
  • 気になった話
  • メモ

の順に書きなぐっていきます。

メモはメモなので、これ以降は気になるところだけ流し読みしてください!

気になった技術

・Alexa

(正直に言うなら、興味あるのはスマートスピーカー)
高性能マイク+スピーカー。
中に音声のやり取りで、ニュース流してくれたりするシステムがあるよ。

・fargate

ECSよりもっと簡単に。コンテナ部分の管理だけが出来ればいいレベルに。

・Lambda+StepFunctions

Lambdaはサーバーレスのやつ。
StepFunctionsはLambdaで分散アプリケーション作る時に使うやつ

気になった話

昨日までの私
(スマートスピーカー、結局は高性能スピーカー+マイクなんだろうなぁ・・・)

今日の私
高性能スピーカーって言ってごめんなさいいい、思ったよりやれること増えてるうううう

  • 手がふさがっている時も、音声でメモが出来る
  • 海外ではエンターテイメント方面が盛ん。エンタメ方面は考えたことなかった。

メモ

セッション毎にメモの量が違うのは『私の知識不足で理解出来なかった』が大きいです。

[DeepDive] コンテナでウェイウェイ(仮)

  • 前半はECSとかAWSにおける基礎知識の説明
  • 後半は規模の大きいECSの事例
  • 全部で100以上、同時に10以上の複数APIを呼ぶ
  • オートスケーリング、CPU90%でアップ、70%でダウン
  • ログ管理はcloud watchとdatadog(アラーム数が600とか数がおかしい)
  • 呼び出したいAPIに合わせて、kubernetes、ECS、fargateとかを使い分ける
  • 『イメージの更新の流れ』
    • githubでDockerfileをpush
    • circleCIでビルドしてイメージをECRにプッシュ
    • ECSのアップデートは、slackで管理

[Serverless] ユーザー企業におけるサーバレスシステムへの移行

  • ダイソーのPOSシステムの事例
  • サーバーレス。サーバーを意識しない、プログラムに特化 → 『成長スピードにつながる』
  • システム小さく、疎結合、インフラ持たず、スケールアウト型
  • うける、ためる、つかう で分ける(興味単位)
  • サーバー管理→バックアップ(冗長、世代管理)、リネーム(完全性)、検知(イベント)が必要
  • S3なら標準対応!いいね!(データ送信時には完了できてるか注意は必要)

[Serverless] 実践Serverless x Microservices

JAWS DAYS 2018 実践Microservices_Serverless

  • マイクロサービスをする時に、サーバーレス使ったってお話
  • 関心事、顧客情報等、小さな区切りでマイクロサービスと捉える。
  • サービスをつなぐ仕組み
  • サービスが一個死んだら、そこを切り離して障害を伝播させない。
  • サービス分割すると、ログとかも分割されるので、トレーサビリティ重要

[Serverless] Reusable serverless components accross Projects via Terraform

  • terraform使ってサーバー環境をコードで管理する話。
  • tfの下にecsやLamdbaのコードが・・・たくさんあるうわあああああおもちゃばーん
  • ディレクトリに入れて、綺麗に整理しようね。こんなまとめ方があるよ

[Serverless] LambdaとStepFunctionsを使った新しい負荷試験のカタチ

DynamicStepfunctions - Speaker Deck

  • 秒間数万reqになる負荷を耐えるために、負荷試験を用意せねば。
  • LambdaとStepFunctionsを使って、スケーラブルな負荷試験実行環境作ったよ!
  • その名も『千手観音』。後々OSS化しようと考えていたりするらしいです。

最後に

ということで、どなたかコミュトーーークが本当に漫才だったのか教えていただけませんか(((

私が作りたい世界。無駄をなくす話【148日目】

仕事のモチベーション

会社選びの指針、働く先のビジョンなどがあると思います。

 

自分の中にもそれがある程度あって、企業のビジョンと私のビジョンが遠い違いがないと思ったので、今の会社にしました。

 

やりたいことをやれる世界に

私のビジョンは、各々がやりたいことをやれる世界。

ただ、遊ぶとかの話ではなく、無駄をなくしたい。

 

テニスをする人が、会場を用意したりする過程って無駄だと思います。

生産性の高い人が、自分の得意ではない分野に時間を取られるのは無駄だと思います。

 

私は、生産性の高い人が、生産性の高い仕事に注力出来る、そんな仕組みを作りたい。サポートしたい。

 

私はサポートタイプ

私は根本がサポートタイプで、誰かの役に立つことが好きなタイプです。

そして、その人に感謝されるのはもちろん嬉しいですが、自分がしたことによって、別な人が最大限のパフォーマンスを発揮できるのを見るのが凄く好きです。

 

まあ、自分の仕事に好き嫌いはありますが、根っこで好みなのはそういう仕事だと分析してます。

 

ゲームだと、回復役や味方強化がホント大好きで……

大ダメージ与える人のために強化して、大ダメージ与えた人がドヤ顔してるのが大好きなんですよ。

 

その仕組みを自分で作り出したい

だから、誰かが良いパフォーマンスを発揮する仕組みを作りたい。

まあ、ものづくり好きなので、作ったもので貢献できたら一番。だから今のエンジニアという職にいるんですね。

 

みなさんも、成し遂げたい世界はありますか?

仕事へのマンネリを感じてる人も、

見つめ直すと、仕事への向き方、変わるかもしれません。

 

おまけ

今日聞いた面白い無駄をなくす話

「面白い事業思いついたんだけど、仕事に追われて出来ない……」

 

やだ、こんな無駄排斥したい。

 

解決するための3つの方向性

・仕事を止めて、思いついた仕事に移ることが出来ないから(しかも成果にボーナスがない)

・ゲームとか、他者に貢献しにくい行動でもお金を生み出せる仕組みがない(Youtuberの一般化)

・仕事をしなくても衣食住が保証出来る仕組みがない(太陽光発電だけじゃ無理)

 

この3つの方向性なら、解決できるのかな?って考え中。

 

ただ、壁は大きいけど、イメージの言語化できたから、今後日常生活でヒント探したいなと思ってます!

 

成し遂げたい世界あると、生き方もそれに影響受けるなと思います。

いい時間だった。

【git】gitにnpmでインストールするファイルを事前に入れない理由【147日目】

なんでgitの中にnpmとかでインストールするファイル入れないの?

入れたらインストールする手間も省けるじゃん?

なんでわざわざcomposer.jsonとかに書いてるの?ファイル自体は入れないの?

コード重くなる

そしたら、git cloneとかする時に、めっちゃ重くなりますよね。

個々人で必要な時にインストールするほうがいいよね。

二重管理

配布されているファイルは、配布先で管理しているのに、
私達のgitでも管理するの?

さあバージョン上げるぞー別なツールに切り替えるぞー
ってしたらすごい数のファイルの変更を私達のgitでも管理することに・・・

とかとか

なんでcloneした後に、npmしたりするんだろう?

疑問に思ったら調べてみよう。理由があります。

あと、Laravelでcloneとかしたときには、vender系のものをgitignoreしたりするのはそういうことですね。