2021年4月の振り返り

先月の振り返りです。

42Tokyoでやったこと

課題を以下の2つの課題をクリアしました。

  1. 2つのスタックを操作してデータをソートする課題
  2. 食事する哲学者の問題 のような並行/並列処理に関する課題

また、AWSが提供している学生向けカリキュラム、AWS Academyの初級コース「Cloud Foundations」を修了しました。

2つのスタックを操作してデータをソートする課題

与えられた数値をソートするプログラムを作る課題です。

スタックというデータ構造が2つあり、その中にはコマンドライン引数から与えられた数値が入っています。
専用の命令を使ってスタックを操作し、昇順に数値をソートします。

例えば、5 1 3 4 2 という引数が与えられた時、以下の図のようにスタックを操作し、ソートします。

f:id:nafuka11:20210504155132p:plain:w500

命令数はなるべく少なくすることが求められます。

詳細なルール、実装方法は、以下のスライドを参照ください。

データの個数によって最適なソート方法が異なるのが面白かったです。

この課題では説明を円滑にするためにスライドを作成した他、命令数のベンチマーク計測用のツール を作成しました。

f:id:nafuka11:20210503215104p:plain

食事する哲学者の問題ような並行/並列処理に関する課題

並行/並列、排他制御について学べる課題です。

食事する哲学者の問題と以下の箇所が違います。

  • マルチプロセス or マルチスレッド、排他制御の方法、フォークの配置が指定されています。
  • 食事した後は思考する(フォークを探す)のではなく眠ります。眠った後、思考します。
  • コマンドライン引数で哲学者の人数、食事、睡眠、死亡時間が決められます。
    • 死亡時間が決まっているため、死亡を監視する必要があります。

詳細はスライドにまとめたので、こちらが参考になるかと思います。

この課題では、哲学者の行動をログ出力するのですが、そのままでは分かりづらかったため ビジュアライザ を作成しました。

f:id:nafuka11:20210503214018p:plain:w600

AWS Academy Cloud Foundations

AWS Academyの初級コース「Cloud Foundations」を修了しました。

かかった時間は20-30時間程度です。

このコースによって、AWSのサービスの概要を知ることができたと思います。
ラボという制限付きのAWSの環境で、マネジメントコンソール、AWS CLIなど実際に使えたのが楽しかったです。

修了すると、Credly という資格情報を共有するプラットフォームからバッジがもらえました。LinkedIn, Twitterなどで共有できるみたいです。

f:id:nafuka11:20210503213258p:plain

AWS認定クラウドラクティショナーの補助が得られるそうなので、受験をしてみたいと思います。

42Tokyoのコミット時間

合計 1日平均
4月 167時間38分 5.6時間

今後やること

引き続き課題を進めていきたいと思います。

この後はC++の課題を解く予定です。