エンジニアのひよこ_level10

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

15・45・90分の時間で、自分の行動をくくってみる【95日目】

今読んでいる本

神・時間術って本。特にアフィリエイトとかつけてないです。

https://www.amazon.co.jp/dp/4479795820

集中は長くは保たない

詳しくは本読んでみてねっていう。
ただ、書いてることは結構当たり前だけど、実践していないこと達。

ずっと集中しっぱなしで、集中力が持つわけがなくて。
そして仕事によって必要な集中力は違うわけで。

集中する仕事は15分毎に、程々は45分毎に、なが~くやらなきゃ集中続かないものは90分毎に
そんな感じで休憩取ろうとかそんなお話。

あと少しって気持ちがモチベーションに。

今35分作業したのか。ならあと10分頑張ろう。

50分作業したのか。そろそろ休まないとなー

集中続かない・・・いや、今から15分は頑張ろう。

こんな感じに、時間を意識って集中力につながる。

じゃあこれからどうするの

ストップウォッチで45分とか時間決めて測る。
この時に、アラームは鳴らさない。

ただ、仕事中に時計見たら35分。ならあと10分頑張ろう。

そんな風にリミットをつけることで、集中力、気力を保たせよう。

日記

15分読書するってやると、結構読書捗るのと、かなり集中できてる。

まだ一回しか試してないけど、これから試していこうと思う。日記は宣言。

今日のプログラミング作業時間

45分

今日の運動

エアロバイク3.0km

Chart.js勉強中・・・【94日目】

参考中のドキュメント・・・

Axes · Chart.js documentation

Tooltip · Chart.js documentation

むずーい

今まで使ったことない技術使うの難しい!
ってことで、仕様を一生懸命読んでるところです。

変更したい部分はこのドキュメント読んでわかったけれど、肝心のデータが見つからない。

すっごく簡単な課題なはずだけど、触ったことないものを扱うだけで学習コストが・・・

ソースコードについては説明していいかわからないので詳細は省きます。

日記

今日仕事早めに終えて、上司から「ゲーセンとか行ってる?久々に行ったら?」と言っていただいたにも関わらず!
ふっつーに勉強してました\(^o^)/

まあ今からゲーセンにもあるゲームやるから・・・w

ってことで、一応ゲームはしてから寝る!

今日の作業時間

2時間

仮想通貨トレードゲーム「CoinStep」開発始めました!【93日目】

仮想通貨トレードゲーム「CoinStep」

実際のBTCの値段を参照しながら、取引を体験できるものです!
現実のお金は動かないから、どんなものか体験するのに便利!

https://coin-step.com/coin-step.com

twitter.com

開発参加しました!

こちらの開発に参加しました!

本当は計画時点で参加していて、名前決めとかにはいたんだけど、
仕事の方が忙しくなっちゃって、おやすみさせてもらってました(:3」∠)

とりあえず今はvue-chartjsとか、Chart.jsの公式ドキュメントとか読んで、
小さな修正に取り掛かることに(`・ω・´)

今後のスタンス

私自身が取引初心者なので、初心者視点で改善などもしていく予定!

皆様からもレビュー、提案はガンガン募集しています!
コメントや、公式Twitterに連絡とかしてもらえると嬉しいです!

とりあえず、チュートリアルほしい\(^o^)/
そういや、og:imageとかもなんとかしたい。
あと新規向けにTOPページもなんとかしたい(`・ω・´)

どんどん改善していくつもりなので、お楽しみに!

日記

毎日更新のブログも4ヶ月目に突入しました!
そして100日目まであと一週間!

なのでValue買ってくれてもいいのよ(・∀・)←
単純に褒めてくれてもいいのよ(・∀・)←

とりあえず、Go言語とか、Vue.jsとかを学ぶの頑張らねば!
両方共触ったことなくてなかなか大変だけど頑張る(`・ω・´)

docker runでHello worldって実際は何をしてるの?【92日目】

コマンド

docker run ubuntu:latest /bin/echo 'Hello world'

何してるか

docker run image名で、コンテナ立ち上げ。

run

ローカルに該当imageの環境がなければ、pullしてくれる。
もし環境があればその環境を使ってコンテナ立ち上げ。

だから、初回は遅い。
コンテナのための環境がないから、環境を構築するためにダウンロードとかいろいろしてるから。

ubuntu:latest

ubuntuってイメージの最新版を取得。

ubuntuはOSのことなのですが、その環境を作ってくれるimageがすでに公式であるってことですね。

latestは最新版と。

bin/echo

echoはよくbash・・・ターミナルとかで動かす、文字を表示するためのコマンドですね。binは標準コマンドを格納してるディレクトリ。

つまり、echoコマンドで 'Hello world'を表示!ってことなのです!

-iや-tも使えるよ。

willow710kut.hatenablog.com

これと同じように-i-tのオプションがありますと。

コンテナを立ち上げてすぐにコンテナに入って作業したいなら、

docker run -it ubuntu:latest bin/bash

になるわけですね。

ちなみに、バックグラウンドで動かしたいなら-dをつけましょう。

疑問点

コンテナ内でbashとか立ち上げてechoしたわけではないので、標準入出力は今手元のターミナル。

コンテナ内のコマンドを手元で実行したことになるのかな?

このプロセスの解決フローをちゃんと勉強すると理解深まりそう。

日記

ネット通販で注文してた荷物が全く届かず、
追跡見たらドライバー不明。配達日時も発送中が昨日のまま動かない。

なんだこれってなって電話・・・

センター「私持ってないです!きっとドライバーが持ってるよ!」
ドライバー「俺持ってないで、センターに聞いて」
センター「じゃあこの人!」
別ドライバー「俺担当ちゃうで」
別センター「どうやら、荷物送り終わってたけど、引き渡し完了を押してなかったみたい、てへぺろっ」

うん・・・まあ・・・気持ちはわかるよ(;´∀`)

ってことで、まだ受け取れてませんが、勉強しながら待つのです。

友人は「怒ってもいいだろこれ」って言ってくれたけど、
怒っても何も産まない、悲しみがお互い増えるだけなので、静かに待つのです。

私がちょっと我慢すれば悲しみが減る(`・ω・´)

・・・まあ、日記に書いてるってことで、それなりに悲しい気持ちにはなってます(´;ω;`)私の1日が・・・失われた・・・

まあ、勉強大切。相手の気持ちを考えるの大切。穏やかに過ごしましょう!

PHPとswiftの『switch』の挙動の違い【91日目】

switchのbreakって邪魔ですよね。

phpjavaのswitch文って、
基本的にbreak使ってcase内の内容だけを実行させるけど、
swiftはbreak要らないんだね!

あとkotlinはwhenって形式だとbreak要らないみたい!

同じ名前でも違う挙動するんだねー

ってことでコード

swift

num = 1;
switch num {
  case 1:
    print("1")
  case 2:
    print("2")
}

php

$num = 1;
switch($num) {
  case 1:
    echo 1;
    break;
  case 2:
    echo 2;
    break;
}

break使わない時のswitchの動きはどうするの?

break使わないように、まっすぐ下におろしたい時は、fallthroughって書くと良いらしい。

swift

num = 1;
switch num {
  case 1:
    print("1")
    fallthrough
  case 2:
    print("2")
    fallthrough
}

php

$num = 1;
switch($num) {
  case 1:
    echo 1;
  case 2:
    echo 2;
}

日記

私が、if, eldeif, elseifって書いていたら、
swift使いの人が、switchで書けば?ってお話してたら始まったお話。

PHPでswitch書く時は、==と同じ曖昧比較なので注意!

こんな感じに、普段使ってるコードってどういう意味なんだろう?ってちゃんと疑問に持つ大切。

最近読書が捗ってていい感じに勉強できてる(・∀・)

docker exec -itって実際は何をしてるの?【90日目】

docker exec -itって何?

よく、Dockerのコンテナの中に入るにはdocker exec -it container_name /bin/bashって書きますが、これはなんぞやと。

雑に説明すると

コンテナの中で、bashプロセスを新規で立ち上げ、それを操作しています。

exec

execは通常のコマンドにもありますが、『対象のコマンドを実行する』ってコマンドです。

docker execは、『対象のコンテナで、対象のコマンドを実行する』っていうことですね。

execの使い方の例

docker exec コンテナ名 コマンド名なので、

docker exec container_name lsとかすると、コンテナの中でlsするわけです。

-it

-iは、Keep STDIN open even if not attached
標準入力を開き続ける。

-tは、Allocate a pseudo-TTY
疑似ttyを割りあてる。

標準入力を開き続け、そこを操作出来るようにする。
→手元の環境で、docker内入力ができるようにする

まとめ

docker execは、『対象のコンテナで、対象のコマンドを実行する』。

-it で、手元の環境で、コンテナ内に入力ができるようになる。

attachとの違い

attachは既にあるコンテナのプライマリプロセスにアクセスします。したがって、exitやると、コンテナが消えます。

exec -itは、新規にプロセス立ち上げて、それを操作しているために、exitしても元のプロセス残ってるのでコンテナが動き続けるわけですね。

おまけ:初心者がDockerを勉強した本

■対象の人:環境構築わからない・・・インフラ用語わからない・・・

プログラム書けるけど、インフラ用語わからない、環境構築してみたいけどできない。

私がそうでしたが、以下の本で勉強しました。

インフラの用語を一から説明してくれて、その後にDockerの話をしてくれるので初心者向けです。
Laravelの環境くらいなら、一人で書けるようになりました。

アフィリエイトリンク貼ると、胡散臭くなるけど、単純におすすめしたい本(`・ω・´)ゞ

Dockerは速いよって言われる理由【89日目】

コンテナ型仮想化とハイパーバイザ型仮想化

Dockerはコンテナ型仮想化と呼ばれます。

Hyper-VやVirtural Boxとかの仮想化はハイパーバイザ型仮想化と呼ばれます。

ハイパーバイザ型仮想化はホスト型やベアメタル型とかあるらしいですが、そこは今回は省略。

なんで速いの。

CPUとかの司令は、OS内のカーネルってとこから飛んでいきます。

そっからアプリケーションに直接行くなら良いのですが、仮想化は途中でいろいろ経由するわけです。

その経由が少ないからコンテナ速いとか言われるらしいです。

どう違うの

ハイパーバイザ型は、Windowsの中に、Linuxとかをインストールする作業があったと思います。
従って命令のルートは

  • ベースのOSのカーネルWindowsとか)
  • ハイパーバイザ層
  • 仮想化するOSのカーネルLinuxとか好きなのをインストールしますよね)
  • アプリケーション

こんな感じになります。

一方コンテナ型は、何かをインストールした記憶はないと思います。

こんなルート通ります。層が少ないですね!だから速いよ!って言われたりするみたいです。

日記

今日は体調崩して早めに帰りました・・・

家で寝てたわけですが、起きて外暗くて(当たり前)、日付超えてないか超焦りました。

昨日の時点で仕事に集中出来なく、今日の時点で熱っぽさが凄かった。
今熱測ったところ36.7と普段より体温高め程度に落ち着きました、とりあえず今日はゆっくり休みます・・・

インフラ勉強してみて・・・+勉強メモ【88日目】

忘れてる知識多すぎ笑えない

大学の講義でやったわこれ・・・でも全く覚えてなかったわ・・・

とか

あれ、これ間違えて覚えてた・・・

とかが多すぎて致命的。こんな状態で知識が放置される習慣って本当に治すべき・・・
それ考えるとブログ書くのって思った以上に私にあった私の問題解決出来る手段ね・・・

追加の勉強メモ

tty

ミドルウェア

ハイパーバイザ型とコンテナ型

日記

悩む前に動くのもあり。とりあえずこの程度の勉強ならやってもいいと判断してゴー。

ただ、今後長期的に学ぶとなったら、『自分がどんなエンジニアになりたいのか』を
しっかり考えて取捨選択しなきゃいけない。

タイムイズマネー、時間は有限。なによりスピード持って学ぶ大切。

本の進捗

P56