ほたー
おはようございます こんにちは 魚戸ホタルです。
さて今回は2022年4月に修了したUdemy講座の所感を書きます。
Udemyとは世界最大級のオンライン動画学習プラットフォームです。
Udemy JapanのTwitterアカウント(@UdemyJapan)のプロフィールに記載があります。
購入したきっかけはもくもく会で発表の際にVisual Studioのコンソールアプリであったため文字が小さくビジュアルに訴えることができなかったためです。
ボタンやテキストボックスがあれば現在作成しようとしているアプリケーションの説明がしやすかったと思いました。
もはや文法の次の段階に移った方が良いと考え、Udemy講座を3つ購入しました。
購入して修了した講座を以下に列挙します。
- C#文法1:C#で最初に身に着けるべき30の文法
- 経験ゼロからC#プログラミングがある程度出来るようになる方法【Windows Forms編】
- 初心者でも最速でシゴトに使えるC#!
①は文法と書かれており購入しなくても良かったのではと思われるかもしれません。
ですが1週間でC#の基礎が学べる本ではDisposeが不足していました。
①についての段落で記載しますが、Disposeは必要でなくなったメモリを持ち続けないために必要です。
②はVisual StudioのWindows Formsアプリについてボタンやテキストボックス等の基礎的なフォームの構成部品を学ぶことができました。
Windows Formsとはマイクロソフト社が開発する「.NET Framework」に含まれるグラフィカルユーザーインターフェイスAPIの名称です。
ツールボックスから部品を選びプロパティから開発する側がわかる値に変更することができます。
③はデバッグが1章にわたって盛り込まれていたので購入しました。
①、②の講座においてもデバッグが紹介されていますが、ステップ実行を知ったのは本講座が初めてです。
上記の通り最初はデバッグテクに期待して購入しましたが、実際にはファイルブラウザアプリを作成する章があり、実際にアプリを作成する際にビジュアルや動作をイメージすることが大事なことがわかりました。
それでは①~③の講座について段落ごとに分けて所感を書きます。
C#文法1:C#で最初に身に着けるべき30の文法 所感
まず結論から話しますと、例題が少ないのでC#入門者には文法について書かれた入門書を先に読むことをおすすめします。
自分のおすすめはZennで取り上げた亀田健司著 1週間でC#の基礎が学べる本
下のブログカードからZennで書いた記事を辿ることができます。
自分が本講座を購入しようと思った理由は以下の2点です。
- Disposeについて学びたい
- 移動中に動画で文法を振り返りたい
①について説明します。
DisposeとはVisual Studioを家に見立てて例えばデータベースと接続する、CSVをインポートするといった外の人を入れた後に、確実に帰ってもらう機能のことを言います。
帰ってもらうことは「リソースを開放する」とも言います。
普通はすべての処理が終わったら帰りますが、外の人だと居たままになり、メモリという食料を勝手に食べてしまいます。
帰し方は2通りあることがわかりました。
- try~finally文でDispose()を呼ぶ
- usingステートメントで囲む(推奨)
例えばデータベースに接続するときに使用するSqlConnectionクラスをusingステートメントで囲って使用するとDisposeを使わなくても帰ってくれるので便利です。
職場で自分のパソコンでC#ドライブの容量が残り5GBくらいになって動作が緩慢になって作業効率が落ちたことがございました。
その際に先輩に相談してSSDを128GB→256GBに交換すると動作速度が格段に速くなり複数ブラウザを立ち上げても動くようになりました。
あのときの緩慢さを思い返すと腹が立つのでPCメモリの節約を進んで行います。
②についてはUdemyはスマートフォンアプリもございますので、電車で移動中にC#の文法を見返したいときに咄嗟に見ることができるので便利です。
他には文法を説明する際に図形を使って分かりやすく説明していました。
既に文法を学んでいる方でも文法の説明図を見る価値があると思います。
講座について気になる方は下のリンクの確認をお願いいたします。
講師はピーコック アンダーソンさんになります。
最後に自分の本講座の修了証書は以下のリンクから見ることができますので気になる方は確認をお願いいたします。
https://www.udemy.com/certificate/UC-8ae3863e-a8d0-4f37-8d34-1bda96549b05/
経験ゼロからC#プログラミングがある程度出来るようになる方法【Windows Forms編】 所感
まず結論から話しますと、Windows Formsで使用頻度が高いと思われるボタンやテキストボックス、チェックボックス等のツールの機能・実装方法を学習することができました。
そのためC#初心者がWindows Formsについて学びたいと考えるならばお薦めします。
本講座を見て作成したアプリケーションを下の動画に示します。
自分がボタンの大きさや色を動画でも見やすいように変更しているので講座で実際に作成するものとはビジュアルが異なりますが機能は同じです。
プログラムの動作は次の①~⑧の順序で見ると理解できました。
- 開始ボタンを押すとメニューが開きます
- メニューからユーザー登録ボタンを押して、ユーザー登録ダイアログを開きます。
- フォームにあるIDを入力します。メールアドレスは「メールを送信する」にチェックを入れると入力可能になります。プランについてはラジオボタンのため有料・無料のどちらかが選択可能です。有効と表示されている箇所はプルダウンになっており押すと無効を選択可能になります。
- 保存ボタンを押して確認メッセージをOKとするとCSVファイルに入力値が保存されます。
- ユーザー登録ダイアログの閉じるボタンを押してメニューに戻ります。
- メニューからユーザーリストボタンを押し、ユーザーリストダイアログを開きます。
- ユーザーリストダイアログにはCSVからカンマ区切りで読み込まれたデータが一覧表示されます。
- ユーザーリストダイアログを×ボタンから閉じて、最後にメニューの閉じるボタンを押すとプログラムが終了します。
プログラムの細部については直接講座の確認をお願いいたします。
講師はピーコック アンダーソンさんになります。下記リンク
経験ゼロからC#プログラミングがある程度出来るようになる方法【Windows Forms編】
また本講座を修了すると付録として「C#を勉強する順番」という講座のリンクが紹介されます。
講座を視聴するとC#の勉強7ステップを学ぶことができました。
参考書籍も紹介されており、リーダブルコードの技術記事を書くきっかけになりました。
その記事は下のブログカードから辿ることができます。
最後に自分の本講座の修了証書は以下のリンクから見ることができますので気になる方は確認をお願いいたします。
https://www.udemy.com/certificate/UC-291a98a7-f4a6-4ed5-a39d-20ea50a2a27d/
初心者でも最速でシゴトに使えるC#! 所感
まず結論から話しますと、学習した中で特にデバッグ実行のテクニック、アプリ作成の考ええ方が参考になりました。
正直に言いますとデバッグを丁寧に行うとプログラムへの理解が大いに深まります。
デバッグ実行を学習した中で以下の5点がポイントだと感じました。
- 行の左端に赤丸を付けると行がハイライトされ、デバッグ実行すると処理が止まるポイントを設置できます。ブレークポイントと呼ばれます。
- ステップ実行を行うことで1行ずつプログラム実行できます。一機能書いたら必ず実施することで動作のチェックが可能になります。ブレークポイントで止めた後にF11キー、Surfaceの場合はFnキーを事前に押してからF11キーを押すとステップ実行を行うことができます。
- コンパイルエラーはまず発生場所にマウスカーソルを合わせてメッセージを確認
- 実行時例外とはコードとしては実行できるが実行時に矛盾が起きたものを言います。例外メッセージをよく読み、Webでキーワード検索します。調べ終わったら停止ボタンを押して処理を中止します。
- nullが入っている変数に何かさせると例外が発生するためnullチェックを行います。もしも例外が発生したときはダイアログが表示されるので「詳細の表示」リンクをクリックしてStackTraceから発生箇所を確認します。
本講座ではさらにWindows Formsを使ってファイルブラウザアプリを作成しました。
実際にアプリを作るときは動作が想像しやすく仕事に役立つ可能性が高いということを基準に考えるとイメージが整うことを学習しました。
講師が学習に挫折するポイントとして以下の3点を紹介していましたので引用します。
- 操作につまづいた時
- トラブルが解決できなくなった時
- 何を作ってよいか迷った時
①についてはVisual StudioのIntelliSense(インテリセンス)が大変親切であり、マウスカーソルを合わせるだけで引数の型や戻り値を確認できます。
②については基本的には「C# キーワード(やりたい事、調べたい名称)」と検索すると解決法がヒットすることを学習しました。
また本講座でDOBON.netというC#について膨大なボリュームを持つ個人サイトがあることがわかりましたのでリンクを貼ります。トラブルが発生した際に15分以上自力で解決できなければ検索して頼るようにしています。
③については自分は魚戸ホタルたちと一緒に居場所を作りたい。そのため家にある便利なモノを題材にアプリ開発しようと考えています。そのため家やホームセンターを探すと題材が見つかると信じています。
さて作成したファイルブラウザアプリを下の動画に示します。
プログラムの主な動作は次の①~⑤です。
- Common Filesにあるフォルダ、ファイルを左ペインに全て表示します。
- ダブルクリックまたはEnterキーで選択したアイテムを開きます。
- ②でフォルダを選択していた場合は1つ先の階層に進みます。
- ②でファイルを選択していた場合は中身を展開して右ペインに表示します
- 「上のフォルダへ」を選択して開くと1つ前の階層に戻ります。
プログラムの細部については直接講座の確認をお願いいたします。
講師はSuzuki Satoshiさんになります。下記リンク
最後に講座の修了証書は以下のリンクから見ることができますので気になる方は確認をお願いいたします。
https://www.udemy.com/certificate/UC-09f0bc8e-d23a-4dbb-ae40-af6141571f47/
最後に
Udemyの講座を受講したことで、アプリを作る際のイメージがよりくっきりしました。
少なくとも講座を受ける前はWindows Formsを使ってアプリをどのように作るのか想像が付いていませんでした。
またデバッグ実行のポイントを学ぶことができてVisual Studioへの理解がより深まりました。
Zennで書いたC#勉強備忘録を復習に用いる際にステップ実行を行って変数に入る値を1つずつ確認することでコンソールに出力される流れを追うことができました。
最初に作りたいアプリケーション ずばり 玄関
家には必ず玄関が必要です。
玄関が内と外を区切る役割をしています。
外から来たお客様が押すボタンや内に居るホタルたちが見るインターホンが必要になります。
アプリケーションのイメージは5月以降の話になります。
動作だけではなくビジュアルのイメージも必要になるため、ブラウザ上でデザインができるツールを学習するかもしれません。
Figmaと呼ばれるUIデザインツールの学習を検討しています。加えてお絵かき用のタブレットPC購入も検討しています。
以上になります。
それでは最後まで読んでいただきありがとうございました。
ほたー