新米パパの育児留学

新米パパの育児留学

『育児留学』とは、育児を通して異なる視点を得たり新しいことに挑戦して自己成長に繋げること。育児奮闘中の新米パパが育児を通して得た気づきや感じたこと、育休中に習得したプログラミングに関する話題を発信していきます。

未経験からエンジニアへ転職した私のキャリア構築プロセス(15週目)

スポンサーリンク

スポンサーリンク

f:id:mochikichi321:20171218132720j:plain

異業種から未経験でエンジニアへ転職し、Ruby(Ruby on Rails)エンジニアとして新しいキャリアがスタートしました。エンジニアとしてのキャリアを構築していくプロセスを綴っていきます。これからエンジニアを目指される方の参考になれば幸いです。

この記事を書く目的

・学んだことをアウトプットすることで理解を深める

・業務/学習の軌跡を残すことで自分が指導する立場になった時にどこでどういうことにつまづいたかがわかり指導しやすくなる

・エンジニアを目指してプログラミングを学習している方がエンジニアの仕事がどんなものかをイメージしやすくなる(会社によるので一例として)

業務

・[rails5.0化対応]ダイナミックルーティング廃止

・[rails5.0化対応]独自gemのバージョンアップ

・[rails5.0化対応]ActionController::ParametersがHashを継承しない対策

スクレイピングボットからのリクエストエラー対策

・コードレビュー

学び

物理メモリと仮想メモリ

物理メモリ

PCに物理的に搭載されているメモリのこと

<特徴>
・処理が早い
・高価なので容量は最小限に抑えている

仮想メモリ

ハードディスクの一部をメモリとして利用する際に、ハードディスク上に作成されるファイルのこと

<特徴>
・処理が遅い
・容量は物理メモリの1.5~3倍程度

スワップ

ハードディスクなどの補助記憶装置を利用して使用可能なメモリ容量を増やすOSの機能の一つ。

ハードディスク上に「スワップファイル」あるいは「スワップ領域」と呼ばれる専用の保存領域を用意して、メモリ容量が不足してきたら現在使われていないプログラム(プロセス)を一時的にスワップファイルに書き出して消去し、占有していたメモリを開放する。メモリからハードディスクに退避する動作を「スワップアウト」(swap-out)、ハードディスクからメモリに書き戻す動作を「スワップイン」(swap-in)という。

スワップ

(物理)メモリの容量を確認する(linux)

以下のMemtotalが(物理)メモリの利用容量です。

$ free
             total       used       free     shared    buffers     cached
Mem:      16434600   11266052    5168548       5528     641620    3900556
-/+ buffers/cache:    6723876    9710724
Swap:      4194300     321032    3873268
$ less /proc/meminfo
MemTotal:       16434600 kB
MemFree:         5168428 kB
Buffers:          641628 kB
Cached:          3900956 kB
SwapCached:        22568 kB
Active:          7501952 kB
Inactive:        2548216 kB
Active(anon):    4450048 kB
Inactive(anon):  1062960 kB
・
・
・

物理メモリ、仮想メモリスワップの確認方法(Linux

Mem:物理メモリ
Swapスワップ
VIRT:割り当てられた仮想メモリ

$ top
Tasks: 307 total,   1 running, 306 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.2%us,  0.1%sy,  0.1%ni, 99.4%id,  0.2%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16434600k total, 11266116k used,  5168484k free,   641552k buffers
Swap:  4194300k total,   321036k used,  3873264k free,  3900556k cached

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  1896 root      20   0 1510m  16m 4356 S  2.0  0.1   1:25.57 lsassd
     1 root      20   0 35080  724  488 S  0.0  0.0   0:02.14 init

linuxにおけるメモリと関連コマンド(free, vmstat, top, sar)

所感

今週はRubyというよりもネットワーク系のことを学ぶ機会が多かった。入社前とのギャップで大きかったのは、プログラミング知識以外にもそのベースとなるネットワーク系の基礎知識が必要だということかも。