チュートリアルをやってみよう
はじめに
第三SAチームのreonoです。
私は未経験新卒エンジニアとして、入社しました。
はじめはAWSの知識からキャッチアップをはじめたのですが、案件に参画するにつれてデータベースの知識やプログラミングの知識も必須であることがわかりました。
キャッチアップとしてデータベースやPythonのUdemyやQiitaなどを読んでいましたが、知識の土台が体系的になっておらず、知るべき機能を知らないことがよくありました。
そのため、任された作業もキャッチアップに時間がかかることや一人で完遂できないことがありました。
敷居が高く感じていましたが、公式のチュートリアルを読んでみたところ他の方法より深く理解できたと感じています。
今回は私がチュートリアルを通じてどれくらい理解度が上がった紹介しようと思います。
Pythonチュートリアル
Python Software Foundationが出しているチュートリアルです。
他の初心者向けの記事のようにPythonを動かすところから始まります。
他の教材と異なる部分はドキュメントの内容までは行かないもののより深い内容まで合わせて知ることができることです。
なんとなくimportで呼び出していたモジュールの解説やエラー処理のクリーンアップ動作など知っておくべき要素が盛り込まれています。
サンプルコードも多く準備されており、動かすことで理解することができると思います。
ある程度慣れた後もわからなくなればこちらのチュートリアルに帰ってきて読むと助かりそうだと感じました。
所要時間
所要時間は約18時間でした。
各項目を理解できるよう、じっくり読み込み、プログラムをJupyter Labやコマンドプロンプト上で実行しました。
チュートリアルをやる前
各項目を(知っている・使える)、(知らない・使える)、(知らない・使えない)、(知っている・使えない)の4象限に分類しています。
(知っている・使える) - 内容を説明することができ、用途を理解して使うことができる理解度です。 (知らない・使える) - おまじないで書くと何故か動く理解度です。 (知らない・使えない) - 全く知らない理解度です。 (知っている・使えない) - 用語は聞いたことがあるが、内容を理解しておらず使うことができない理解度です。
Pythonの初心者向けの教材をいくつか試したことがあったため、モジュールを呼び出す、for文でlistを作る、printで出力結果を表示するあたりはできました。
関数やメソッドの知識は曖昧で別の関数で定義されているメソッドを呼び出そうとしていました。
クラスや可変長引数は何も知らない状態でした。
- モジュール
importでモジュールを呼び出すとモジュールの関数が動く理解でした。
関数も使い方が分かっていないため、ほとんどサンプル通りの使い方しかできませんでした。 -
if文・for文
if文はif・elseで指定した条件に応じて分岐処理を動かせました。
for文はrange(n)やlen(list)の回数分処理を動かせました。
チュートリアルをやった後
チュートリアルをやり終えた後は全体的に理解度が上がったと感じています。
モジュールや関数、エラー処理は使えるようになりました。
- モジュール
AWSのboto3などのライブラリがモジュールであり、GitHubにソースコードが書かれてあると知りました。
ライブラリのソースコードを読んで使いこなせることはまだできないので、自分の使いたいライブラリを使っているコードを見つつソースコードを読むことでライブラリの使い方が分かるようになりました。 -
エラー処理
他の教材ではPythonを実行することに重きを置いていました。
しかし、実務で実行するプログラムは想定されるエラーには相応の処理を実行される必要がありました。
チュートリアルを通じて、複数のExpectionに応じてエラーを変えることやadd_noteやloggingを使うことでエラーに対して必要な情報を加えることができるようになりました。
理解できた部分の反面で、クラスや標準ライブラリなどチュートリアルの範囲でも把握していない箇所があります。
クラスは関数を内包するもの程度にしか理解できておらず、標準ライブラリはどのようなものがあるかや使い方がどうなどの理解ができていません。
チュートリアルを再度熟読し、そして実務経験を通してスキルを向上させることを目指しています。
PostgreSQLチュートリアル
PostgreSQLのチュートリアルです。
サンプルデータが準備されており、チュートリアルの内容通りにクエリを行うことで動作を学ぶことができます。
まずはBasic PostgreSQL Tutorialの内容を一通り行うことで最低限の内容を把握できると思います。
ウィンドウ関数や集計関数は右上のFUNCTIONSより学ぶことができます。
所要時間
所要時間は22時間でした。
内容をしっかり読み、サンプルクエリを動かしたり、他のクエリを試してみたりしました。
チュートリアルをやる前
基本的なSELECT文を実行することは出来ました。JOINも何となく知っている状態でした。
AthenaやBigQueryでのみSQLを実行した経験がなかったためpsqlコマンドも存在しか知りませんでした。
ウィンドウ関数やCOALESCEは何もわかっておらず、先輩方のクエリを見てもよくわかりませんでした。
- 基本クエリ
SELECTとWHEREでテーブルをそのまま取得できました。
SUM()やCOUNT()などの簡易な集約関数を使えました。 -
JOIN
LEFT JOINとSELECTを使ってテーブルを組み合わせた内容を取得できました。
チュートリアルをやった後
SQLの内容は網羅されていたためSQLの理解度は上がりました。
また、ローカル環境のPostgreSQLを利用することでpsqlコマンドも使えるようになりました。
CTEやCOALESCEは学ぶと非常に便利なことが分かりました。
- CTE
CTEは1つのクエリ内でWITH句を使って一時テーブルを作成し、複雑なクエリを簡易に記述できる問い合わせのことです。
SELECT内で副問い合わせを使い複雑になっていたクエリをCTEを使うことで分かりやすくできました。 -
COALESCE
NULLの場合に0.0を補完することが簡単に行うことができるようになり便利であると感じました。
SQLの理解度は上がりましたが、パーティションや実行計画、サーバー自体の管理などわからないことがまだ沢山あります。
今後も引き続き、知識をつけていこうと思います。
まとめ
UdemyやQiitaのようなピンポイントの教材を見ても教材のゴールに辿り着く前に足りない知識がでてしまいます。
公式のチュートリアルは基本から順序立てて書かれています。
そのため、応用的な内容を理解するのに必要な知識を得ながら読み進めることができます。
時間はかかりましたが、読み飛ばさないで読むことで知識の枠が形成され、出来ることが増えたと感じています。
新しい分野をキャッチアップする時に公式のチュートリアルに挑戦して見るのはいかがでしょうか?
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitter2022年4月、NHNテコラスに新卒入社。大学時代は山に登ったり、インドに行ったりしてました。
Recommends
こちらもおすすめ
-
Airflowのクラス設計のTips
2023.2.3
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 8 %割引になる!
『AWSの請求代行リセールサービス』
2023.01.15