もうすぐ 2020 年も終わりということで、今年1年の間に勉強したことなどをあらためて振り返っていこうと思います。
過去ツイートや自分のブログ記事、読書記録から当時のことを振り返っていたら結構なボリュームになってしまいました。
今年の振り返りを Twitter の自分の投稿ベースで進めつつ、ラストに来年の抱負なんかを書いていきます。
それではみなさま、新年も引き続きよろしくお願いいたします。
もくじ
2020年のまとめ
2020年は、リモートワークでほとんど引きこもっていましたが、一方で学びや達成感の多い充実した1年でした。
2020年にやったことで特に記憶に残っているのはこちらです。
・情報処理安全確保支援士 合格
・HackTheBox Hackerランク到達
・自作OS本、2冊完走
・AtCoder 色変(にはギリギリ届かず…)
・個人開発のリポジトリでスター獲得
どちらかというと、思ってたスピード感で成果が出せずに、苦しんだり挫折したりすることの方が多かったように感じます。
ただ、最終的にはどのチャレンジについてもモチベーションを復活させて、少しずつでもプラスの成果を出せたことが今年のハイライトですね。
今年も多くの方にお世話になりました。
中には応援してくれる方や温かい言葉をかけてくださる方もいらっしゃり、ブログや Twitter のつながりというのもいいものだなと感じてます。
今後ともよろしくお願いいたします。
1月
1月のタスクまとめ
・AtCoder で競プロを始めた
・Xamarin で Android アプリ開発
・Slack BOT 開発
・Azure もくもく会などに参加
さっそく1月から振り返っていきます。
まず、2020 年の始めは、競プロを始めたり、自作 OS の本を買ったり、HackTheBox に登録したりと、一年を通して取り組んできたもののスタートになった月でした。
AtCoder for Bigginers 今日も完答できず悔しい…。
Dまでしか解けなかった。。ただ前回がCまでで、全然回がBまでだったから、着実に成長はしてる…、はず!!#AtCoder
— かしわばゆき (@yuki_kashiwaba) January 26, 2020
他にも、 C# で何か作りたいというところから、 Xamarin で Android アプリや、スマートウォッチ向けのアプリを作り始めたのもこの時期だったみたいです。
Xamarinのチュートリアル一通り終わってから行き詰ってる…。
この先どう勉強していくのがいいんだろうか??
XamarinとかC#のバイトやインターンができればベストなんだろうけど、特に見つからないしなぁ。— かしわばゆき (@yuki_kashiwaba) February 1, 2020
あとは Azure のもくもく会に何度かお邪魔させていただくなど、クラウドの勉強をしなきゃなーと何となく思い始めたのもこの時期でした。
あれこれ手を出しつつ中途半端に進めていく癖は一年前から変わっていないようで、上記のようなタスクを進めながら Slack BOT の開発などもやってたみたいで、懐かしさを感じます。
今までデバッグって我流で適当にやってたんだけど、”TRAFFIC”っていうフレームワークみたいなものが有用らしいので参考にする。
T:問題を記録する
R:障害を再現する
A:テストの自動化
F:原因特定
F:原因の分析
I:原因の分離
C:欠陥の修正https://t.co/cM4R3KF6RF— かしわばゆき (@yuki_kashiwaba) January 21, 2020
2月
2月のタスクまとめ
・競プロ楽しい
・スマートウォッチアプリ、ちょっと進捗
2月は、比較的集中して競プロと Xamarin 開発に取り組んでいたように思います。
昨日のAtCorderも、前回同様、動的計画法にやられてしまったわけで。
前向きに考えれば課題が明確と言えなくもない。あとは、D問題でも繰り返しじゃなくて等差数列の和の公式を使えばいいっていうことに15分くらい気づかずTLE起こしてたので、数学も勉強しなおさなくちゃ…。
— かしわばゆき (@yuki_kashiwaba) February 10, 2020
ドット絵の動かし方がわからなくてずいぶん手間取ったけど、とりあえず動いてよかった!!
なお、ここまでほぼ全くC#を書いていないという…。
フロントって大変なのね。#Xamarin #CSharp pic.twitter.com/aueJV9Ecjh— かしわばゆき (@yuki_kashiwaba) February 10, 2020
あとは、OS とかカーネル周りの理解も深めたかったこともあり、カーネル本や自作 OS 本もこの時期読んでいました(のちに挫折)
未知の旅へー
ふみだせーとー pic.twitter.com/8UK3NHNtDd— かしわばゆき (@yuki_kashiwaba) February 16, 2020
3月
3月のタスクまとめ
・Xamarin 開発にとりあえずの決着
・Django で BOT 開発
3月は過去ツイートとか見る限り結構停滞していたようです。
多分競プロとか自作OSとかに挫折してた時期がこの頃だったと思います。
一方で、Xamarin でのアプリ開発には少し進捗があり、ちょっとした簡易アプリが作れるようになりました。
(ただ結局、このあたりでモチベーション失速して Xamarin はやめてしまいました)
0からXamarinでスマホアプリ作るにあたり調べなきゃいけないことが多すぎて、このくらいのシンプルなアプリ作るだけでも結構時間かかった笑
このくらいのアプリが作れるようになるまでの短い動画とか作ったら需要あるんだろうか? pic.twitter.com/KT2FteVOJi
— かしわばゆき (@yuki_kashiwaba) March 7, 2020
3月は、どちらかというと Django で Slack BOT を作るのに苦戦していたようです。
Django の開発環境を構築するためのベストプラクティス的なものを整理するのに取り組んでいて、「自走プログラマー」とか、「現場で使える Django の教科書」シリーズを結構読み込んでいました。
自走プログラマー読み通した。
こういうのが知りたかった感を強く感じている…。
独学だとこういう実運用におけるベストプラクティスみたいなのに触れる機会が少ないんよね。— かしわばゆき (@yuki_kashiwaba) March 31, 2020
4月
4月のタスクまとめ
・自宅サーバを RAID 0 で組んで NAS 化
・競プロと自作 OS モチベの復活
4月にはヤフオクで購入した中古サーバを自宅に設置して環境構築などをやってました。
サーバ内には、 VirtualBox でハッキングラボ構築したり samba を入れて NAS として使ったりしてました。
Amazonで購入したRAM(8GB*2)が到着したので増設!
サーバのメモリが24GBに進化したー!8GB2枚で7500円だったし、だいぶメモリの金額下がってることに驚き。 pic.twitter.com/PjsUiQkDU9
— かしわばゆき (@yuki_kashiwaba) April 23, 2020
結局 VirtualBox の稼働が不安定すぎてトラシューばっかりする羽目になったり、 NAS より Azure ファイルストレージの方が使い勝手がよかったりで、今はもうこのサーバ使ってないですね。
ただ、このサーバ構築で勉強した Linux サーバ構築のナレッジなんかは今も結構役に立ってると感じます。
それから、4月の末から5月の前半にかけて GW があったため、モチベが復活して自作OS関連について結構気合い入れて勉強しました。
個人開発(WEB、スマホ)
CTF
競プロ
クラウド資格取得やりたいこと多すぎて時間がない
早くGWかもん!— かしわばゆき (@yuki_kashiwaba) April 26, 2020
5月
5月のタスクまとめ
・30日OS の完走
・MNCTF 2018 全完
・Outlookアドオン開発
・Rust にチャレンジ
・初の CTF 参加(SECCON for Beginner)
5月は、GW もあり、かなり盛りだくさんな月でした。
今思えば、5月が 2020年の転機だったかもしれません。
有給使って延長させたGWも今日で終わりなので振り返り
やったこと・30日OS完走(50時間以上かかった…)
・Xamarinのスマホアプリ&WareOSアプリ勉強
・C++の勉強と動的計画法の問題演習(メモ化再帰で1日潰した)
・自宅ラボの環境構築
・ランニング 3/10日
・Udemyの英語授業と英語の技術書読んだ https://t.co/ArwJK9XfYa— かしわばゆき (@yuki_kashiwaba) May 10, 2020
まずはなんといっても、年初に挫折した 30日OS を完走したことが大きなきっかけになりました。
GW最大の目標だった30日OS無事に完走!!
700ページ&50時間以上の長丁場でした笑
一部端折ったとことか、理解できないまま進んできた部分もあるけど、30日OSで知ったことが、今後のセキュリティの勉強に役立てばいいなぁ。— かしわばゆき (@yuki_kashiwaba) May 7, 2020
あとはコロナの影響で資料のみ無料配布していた CYDER に申し込んでプログラムを消化してみたり、常設 CTF の MNCTF の問題を全部解いたりして、セキュリティ関連の勉強もこの時期から本格的にやり始めたように思います。
CYDER申し込んだ! https://t.co/KQnMYQPYD0
— かしわばゆき (@yuki_kashiwaba) May 12, 2020
MNCTF2018全完したけど、ラスト2問が全然わからなくて結局Writeupに頼ってしまった。。。 pic.twitter.com/l2hT4HPwIb
— かしわばゆき (@yuki_kashiwaba) May 17, 2020
始めてリアルタイムで CTF に参加したのもこの時が初めてでした。
SECCON for Begginer に参加したのですが、6時間以上かけてようやく 2~3 問くらい解けるといった感じで、レベル差を感じました。
Crypt解けたの気持ち良すぎる~~
1時間かかったけどw— かしわばゆき (@yuki_kashiwaba) May 23, 2020
他にも電子工作で遊んだりと、充実した月でした。
ラズパイにE-inkディスプレイ接続して、Pythonのサンプルスクリプト動かすとこまで!
やっとできた! pic.twitter.com/Dvwx4jbedx— かしわばゆき (@yuki_kashiwaba) May 30, 2020
6月
6月のタスクまとめ
・競プロ怖い
・Javascript でいろいろつくる
・Twitter で絶望
6月は何やったかあんまり記憶がないので、心が折れてた時期だったのかもしれないです。
特に競プロは全然進捗がなくて結構つらかった時期だったと思います。
Paiza の S ランクは結構すぐにとれたのに、 AtCoder はなかなか茶色にすら上がれないので、数学かアルゴリズム的なバックグラウンドがない人には結構ハードだなぁと思ってます。
折れずに頑張れ、目指せ水色。
PaizaのSはAtCorderの灰
ソースはわい😖
早く色変したい😖 https://t.co/YG3xVx9IKz— かしわばゆき (@yuki_kashiwaba) June 5, 2020
最近もう正直競プロ辛いんだけど、意地と悔しさだけで続けてる
— かしわばゆき (@yuki_kashiwaba) June 16, 2020
これは ipusiron 先生の心に刺さったツイート。
『Twitterを見ていると、すごい人ばかりで圧倒されている人へ。実はそれに相当、あるいはそれ以上にすごい人たちの数倍はTwitterをしていません
(していても研究や業績について語っていない)
よって、最前線に立った時さらに絶望するので、Twitterで絶望している暇はありません。』
今まで同年代の優秀層をTwitterで見るたびに絶望してたけど、そんな暇なかったんや…
とりあえず今日も朝活!! https://t.co/m4LUy8vstC— かしわばゆき (@yuki_kashiwaba) June 30, 2020
上にはさらに上がいて、Twitter にいる同年代のすごい人を見て挫折してたけど、その人たちもどこかでもっとすごい人に心を折られているのだと思うと、最後まで生き残った者が勝つんだなという気持ちになりました。
生き残ろう。
7月
7月のタスクまとめ
・日立の CTF 問題で自信を取り戻す
・引きこもり、約半年経過。飲み会行きたい。
・初めて自力で HackTheBox のマシン攻略成功
7月は Django REST Framework と Discord で作っている BOT がだいぶ形になってきた月でした。
多くの時間を BOT 開発に割いていたような気がします。
とりあえずDjango REST FrameworkでTwitterとDiscordのBOT機能は実装できたぞー!
ただ、このままデプロイすると他人からも操作できてしまうので認証も実装しないといかんな。
— かしわばゆき (@yuki_kashiwaba) July 11, 2020
BOTで例外発生したときにDiscordで通知するようにしたの、控えめに言って天才の発想なのでは(普通) pic.twitter.com/J5y2J5Dc9y
— かしわばゆき (@yuki_kashiwaba) July 13, 2020
あとは、SECCON for Begginer が解けなさすぎてしばらく失ってた CTF モチベが復活しました。
日立さんの公開してた超入門者向けの CTF 問題が結構スムーズに解けたので自信復活笑
わー、CTF入門するならやっぱこれくらいの難易度がいいね!
コンテストのBigginer問題むずすぎるんよな笑https://t.co/FiSXf5fgoQ— かしわばゆき (@yuki_kashiwaba) July 15, 2020
そのままの勢いで HackTheBox のマシンをカンニングなしで始めて攻略できました。
やっぱり AtCoder といい CTF といい、完全ビギナーが楽しめるレベルに到達するまでの壁が高いなぁと感じますね。
3回目で始めてWriteUp見ずにマシンのroot取れたぞやった~~
— かしわばゆき (@yuki_kashiwaba) July 29, 2020
それと7月は、リモート引きこもり生活が開始してから約半年が経過した節目のタイミングでもありました。
僕は基本的には引きこもり体質なのでほぼストレスとかはないんですが、それでもたまに飲み会とかで友達と集まる機会がないことをさみしく感じることはあります。
リモートに全くストレスないんだけど、半年も引きこもってると、さすがにたまには友達と飲み会とか行きたいなっていう感情が湧き出してくる
— かしわばゆき (@yuki_kashiwaba) July 17, 2020
最近は Twitter とかでも結構仲良くしてくださる人がいるので、2021年はいろんなイベントとかに顔出してみるのも面白そうです。
8月
8月のタスクまとめ
・ブログ更新しなさすぎで PV 激減
・正規表現完全に理解した(してない)
・はじめての Chrome 拡張開発
・クラウド資格取得
・競プロ
悲しいことに、ブログを書く機会がめっきり減ったこともあり、本ブログの PV が半減してました…。
残念ではあるけど、もっと技術的に突っ込んだ記事を書けるように頑張っていきます。
コロナ前くらいまで3万PVくらいあったのに、今はもう半分くらいまで落ちてて、ブログさぼってたことを若干後悔している・・・
— かしわばゆき (@yuki_kashiwaba) August 1, 2020
8月は、クラウドの勉強を少しだけ頑張りました。
AWS の入門資格を取得したり、Azure の環境で遊んだりしてました。
連休最終日なので振り返り!
【できたこと】
・クラウドプラクティショナー取得!
・Hack the Boxのアクティブマシン攻略(ユーザーのみ)
・ABCの過去問30問ほど解いた!
・5冊の積読を解消(ただし休み期間に購入した本が14冊)
・DRF製のBOTに認証機能を追加 https://t.co/0uvlh6yUl9— かしわばゆき (@yuki_kashiwaba) August 16, 2020
お仕事でAzureを使う機会を得たのでこのままプロあじゅーらーめざす!!
— かしわばゆき (@yuki_kashiwaba) August 17, 2020
他にも、Chrome 拡張機能の開発に初挑戦したり、正規表現を完全に理解したりと、夏休みもあったおかげで色々はかどった月でした。
とりあえずChrome拡張で任意のドメインのCookieを全件取得するところまできた!
あとはこいつら全部削除するだけ!— かしわばゆき (@yuki_kashiwaba) August 26, 2020
9月
9月のタスクまとめ
・青い自作 OS 本やり始めた
・Python で Excel データ引っこ抜いたり
・HackTheBox が Script Kiddie になった
9月は、自作OS開発したいモチベが復活したこともあり、青い方の自作OSに取り組み始めました。
緑の方の 30日OS も一通りやったのですが、いまいちわからないまま流していた部分も多かったので、復習しながら進められたのが非常によかったです。
青いほうの自作OS本初めて見たけど、緑の方がとりあえず手を動かして進めてく感じだったのに対して、基礎知識的なとこの補完しながら進めてく感じで良いhttps://t.co/0o2lMko0KF
— かしわばゆき (@yuki_kashiwaba) September 27, 2020
他には、仕事の関係で役立ちそうなデータがあったので、その解析のための Python スクリプトとかを結構書いてました。
Excel のデータを Python の Pandas で加工してまた Excel として出力するようなスクリプトを書きましたが、低レイヤと違って少ない労力で目に見える成果がでるので楽しかったです。
複数のExcelファイルからPythonでデータひっこぬいて統合&分析するスクリプト書いたけど、アプリケーションレイヤは達成感あって楽しい
セキュリティやってるの楽しいけど、徒労感と知識不足すぎてつらいのでたまに息抜きできるといいね
— かしわばゆき (@yuki_kashiwaba) September 13, 2020
あとは、 HackTheBox の Active マシンが少しづつ攻略できるようになってきたこともあり、ランクが Script Kiddie に到達しました。
この時期からだんだんマシン攻略が楽しくなってきたように感じます。
Easyマシン一つ解いたら、いつの間にかスクリプトキディになってた pic.twitter.com/uPTWqV8tiO
— かしわばゆき (@yuki_kashiwaba) September 10, 2020
10月
10月のタスクまとめ
・バイナリとかアセンブリとか
・自作 OS とか Ghidra とか
・情報処理安全確保支援士受けてきた
10月以降は、かなりセキュリティ関連の勉強とか、低レイヤの技術に触れることが多くなったと思います。
自作OS開発でアセンブリを書いたり、C のコードを Ghidra でリバーシングしてみたりして遊んでいました。
自作OSの勉強ついでに、Cで書いたコードをGhidraでリバーシングしてみている
if文で条件分岐させて変数を代入するだけのコードだけど、自分で書いたコードだと逆アセンブルしても意外とスムーズに読めるなー pic.twitter.com/t4gx85K9wJ— かしわばゆき (@yuki_kashiwaba) October 11, 2020
特に Ghidra 本とアセンブリ本は非常に良本で、多くのことを学ばせてもらってます。
今週の風呂活では坂井先生の熱血アセンブラ読んでる
低レイヤつよつよになりたい🧐🧐🧐— かしわばゆき (@yuki_kashiwaba) October 24, 2020
また、コロナの影響で春の試験が中止になった情報処理安全確保支援士の試験も、この時受けてきました。
結果としては無事合格でした。
IT エンジニアとして働き始めて2年目で、一つの目標にしていた情報処理安全確保支援士が取得できたのは自分の成長を実感するいい機会になったかと思います。
試験前日にしてやっと10年分の過去問おわった!
行ける気しかしない!!
なお午後問の対策は() pic.twitter.com/gPCOL3H4PP— かしわばゆき (@yuki_kashiwaba) October 17, 2020
11月
11月のタスクまとめ
・自作ボットの Github に初のスター獲得
・Twitter フォロワー 4桁
・Azure Fundamental 資格取得
・なぜか Surface GO 2 が当たる
・自作 BOT でゲーミフィケーション学習進捗管理
・Azure いじったり、 HackTheBox の課金復活させたり
・風呂読書 with Kindle Oasis にハマる
11月は、コツコツ開発してた Discord BOT の Ghithub リポジトリに初めてスターがついたことが嬉しかったです。
スターをつけてくれたのは海外のエンジニアっぽい感じでしたが、一部でも僕のコードが参考になったなら嬉しい限りです。
ちまちま開発してるわいの多機能BOT「mocrat」に初めてスターついたの嬉しいhttps://t.co/Olzd1Pyogs pic.twitter.com/cfLrRbKRcO
— かしわばゆき (@yuki_kashiwaba) November 30, 2020
あとは、Twitter のフォロワー数が4桁に到達したり、Azure Fundamental 資格に合格したりしました。
特に Azure の資格は年内に取得しておきたかったので非常によかったです。
お!
もうすぐ4桁やん!
ありがてぇ😂😂😂引き続き仲良くしてください! pic.twitter.com/Xvwxb7AgLb
— かしわばゆき (@yuki_kashiwaba) November 15, 2020
他にも、なぜかブリジストン様の懸賞に当選して自宅に Surface GO 2 が届いたり、HackTheBox の Active マシンを結構攻略できるようになって Hacker ランクが見えてきたりと、非常に充実した月でした。
今日トラブルで試験受けられなくて萎えてたけど、唐突なマイニューギアにテンションが爆上がりしてる
ありがとうございます!! pic.twitter.com/hGt0OS9SkV
— かしわばゆき (@yuki_kashiwaba) November 28, 2020
12月
12月のタスクまとめ
・会津弾丸温泉旅行
・バイナリ解析たのしい
・情報処理安全確保支援士合格
・HackTheBox Hackerランク到達
・TryHackMe 開始
・セキュリティマネジメント試験合格
・システムトレード初めてみた
・自作OS 青本完走
2020年の締めとなった12月も、多くのことを学んだ充実した月でした。
12月は、久々に家族水入らずの温泉旅行に行ってきました。
コロナ禍の中で色々はばかられる部分はありましたが、結果的には全員楽しみ、健康に帰ってこられたのでよかったです。
僕は相変わらず温泉旅館で開発したり技術書を読んだりしてましたが、意外とはかどったので、そのうち温泉旅館で開発合宿とかもやりたいなと思ってます。
会津弾丸旅行、完!!
数年ぶりの旅行だったけど、温泉旅館という存在が我々の人生を豊かにしてくれるということがよくわかる有意義な旅行ですた。 pic.twitter.com/C9W7MI9JNa— かしわばゆき (@yuki_kashiwaba) December 6, 2020
12月は、自作OSやバイナリ解析を主として勉強しつつ、マシン攻略やシステムトレードなんかにも手を出していました。
特に、年内の目標としていた HackTheBox の Hackerランクが無事達成できたことは、大きな達成感につながりました。
やったーーー!!!!
ひたすらCharengesを解き続け、ダメ押しでEasyマシン攻略したらやっとHackerランク届いた!!!!
これでWriteUpかけるぞ~ pic.twitter.com/ZHKZ4LSrrW— かしわばゆき (@yuki_kashiwaba) December 23, 2020
他にも、すでに結果を書いてしまっていますが、情報処理安全確保支援士の合格発表があり、非常に気分よく年末を迎えられたと思います。
セキスぺ合格発表来たーー!!!
受かった!!!— かしわばゆき (@yuki_kashiwaba) December 25, 2020
2021年に向けて
雑に2020年を振り返って来ましたが、相変わらずあれこれ手を出しながらも、それなりに充実した1年だったと改めて感じます。
少しずつ自分のやりたいことの方向性も定まってきたように感じており、2021年は引き続きセキュリティと低レイヤの技術を学びつつ、ブログ記事や技術同人誌なんかの執筆もやれたらいいなと思っています。
2021年のテーマは「決断の年」ということで、もしかしたら結婚したり家を買ったりしてバタバタするかもしれませんが、エンジニア的活動もこれまで以上にやっていけたらいいなと思います。
毎年、その年のテーマを設定していまして、一昨日は「飛躍の年」、去年は「貫徹の年」、今年は「節制の年」だったのですが、来年は「決断の年」にしました。
たぶんキャリアの方向性とか、結婚とか、親の介護とか、いろいろ先延ばしにしていることを考えなきゃいけないとしなのかなぁと思ってます。
— かしわばゆき (@yuki_kashiwaba) December 14, 2020
最後までお読みいただきありがとうございました。
また気持ちを入れ替えて頑張っていきますので引き続きよろしくお願いいたします!