今日は、本年最初の回ですし、連休明け直後な日でもあるので余談的に、節目の度にしているオリエンテーション的な回にしますね。どうぞよろしくお願いします。
それで時間が余ったら、The Swift Programming Language の続きのところを見ていくかもしれないです。そうしたときには、昨年末は assert
と precondition
を見ていく最中に気になった ハッシュ
や、 オートクロージャ
とそれに付随する エラーハンドリング
の話題に脱線してじっくり見ていく感じになりましたので、今年は再び assert
と precondition
基本的なところに戻ってその定義まわりから眺めていきますね。
———————————————————————————— 熊谷さんのやさしい Swift 勉強会 #199
00:00 開始 00:47 事項紹介 01:59 題名は相変わらずお気に入り 02:19 やさしい? むずかしい? 04:21 思うようにやることも大切 05:38 知らないことは、むずかしい 07:03 談笑タイムも馴染んだ印象 08:22 気が向く都度に来てくれるのが理想 09:31 脱線した話題でも時間をたっぷり使うスタイル 10:46 基礎学力が向上してくれている実感を得たい 12:42 手を動かしながら参加する練習の機会としても 15:09 時間をかけて広く見渡していく 18:02 初学者から中級者へのステップアップを目指して 19:18 みんなで談笑しながら 24:38 ぱくスタ終了の影響は? 27:41 動画公開はいちおう始まった 28:38 ゆめみオープン・ハンドブック 29:22 実地開催も模索中 31:35 囲碁界隈での興味深い試み 34:08 クロージング ————————————————————————————
Transcription & Summarize : 熊谷さんのやさしい Swift 勉強会 #199
さて、これから勉強会のオリエンテーションを始めていきます。まずは、この勉強会の概略や進め方について説明します。この勉強会を主催しているのは、株式会社ゆめみで、私は業務で主にジュニアエンジニア向けのライトニングトーク(LT)会議などを担当しています。この勉強会も、その一環としてジュニアエンジニアの成長を支援するために開催しています。
今回の勉強会は Swift の言語仕様に焦点を当てていますが、他のプログラミング言語やソフトウェア理論、ソフトウェア工学についても触れることがあります。これは、言語固有の知識だけでなく、広範なソフトウェア開発の知識を深めるためです。
最近、インターンの方が勉強会に参加して「難しかった」とおっしゃっていたというフィードバックがありました。これは非常に気になるポイントで、「難しい」と感じる理由は人それぞれだと思います。深掘りが足りないと感じたり、逆に深掘りしすぎて難しいと感じたり、視点や知識レベルによって感じ方は異なります。例えば、コンパイラーの仕組みに関する詳細な説明が含まれると、それが難易度を上げる場合がありますが、逆にそういった視点を持つことも重要です。
この勉強会のスタイルやコンテンツについても、今後の参加者のフィードバックを参考に改良を重ねていきたいと思っています。例えば、前回のオリエンテーションが少し長すぎたとの意見もありましたので、今後は20分ほどを目安にしていくことも検討しています。
また、脱線することが多いですが、それはそれで視野を広げる良い機会だと考えています。プログラミング言語の基礎を学ぶことは、あまり価値がないと思われがちですが、実際には非常に重要です。この勉強会を通じて、基礎力をしっかり身に付け、他の人との差別化が図れるようになれば幸いです。
この勉強会の目的は、プログラミング言語の基礎学力を養うことです。これまでのところ、良い感じで進行できていると思いますし、今後もこのスタイルを大事にしたいと思っています。今年も引き続き、皆さんと一緒に学びの場を作り上げていければと思います。
それでは、早速勉強会の本題に入っていきましょう。今日は Swift の基本的な言語仕様について学びます。具体的には、以下のような内容を予定しています。
var
とlet
の使い方- 基本的なデータ型(例えば、
Int
やString
) - 関数の定義方法
- クラスと構造体の違い
これらの内容を理解することで、Swift を使ったプログラミングの基礎をしっかりと身に付けることができます。それでは進めていきましょう。 この勉強会として願うところは、プログラミング言語の存在自体に意識を向けるきっかけになってくれたら十分かなという気持ちです。さっき成果の話をしましたが、純粋に自分の成長を感じたりするのは大切ですが、世の中的にそれがすごく重要かと言われれば、そこまでではないのかもしれません。
具体的には、自分で考える力を養うことにもつながってほしいです。勉強会をやっていていいなと思うのは、参加者が自分で疑問を持ち、それを調べてくれることです。レスポンスをくれる方もいらっしゃるし、調べているだけの方もいると思いますが、そのようなプロセスが大切だと思っています。
もし、勉強会にまだなじんでいなくて、レスポンスまではしなくてもいいので、疑問を感じたことをその場で調べる練習をしてみるのも一つの方法かもしれません。日常的にも、調べている最中に話が進んでしまうとついていけなくなることがありますが、それも経験のうちです。勉強会に参加できなくても大した問題ではありませんが、調べる練習を通じてスキルアップを図れるといいですね。
慣れてくると、調べることと聞くこともある程度バランスが取れてきます。完璧でなくても、少しずつ協調して行えるようになってくるはずです。そうして機会を有効に活用いただければと思います。
この勉強会では、Swiftプログラミング言語に焦点を当てて、じっくり時間をかけていくスタイルを取っています。このスタイルはやりやすく気に入っているので、当面は継続する予定です。まだ見るべきところがたくさんありますし、基本的な部分もまだ終わりません。一つ目のセクションがそろそろ終わるところですが、基礎的なところに注目し、そこからSwiftを広く見渡していくことが重要だと思っています。
世の中の入門書は、基礎的な事項をピンポイントで見ていくことが多いですが、そこから深く理解を広げるのは意外と難しいです。特に初心者にとっては。だからこそ、この勉強会では基礎をしっかり押さえつつ、それを広げていく感覚を大切にしています。その後の独学にも効果が出てくると思います。
また、できる人もいるでしょうが、多くの人にとっては一度聞いただけで身につくことは少なく、何度も繰り返し取り組むことが重要です。そうしてだんだんと身に染み込ませるような形で勉強会に参加してもらえたらと思います。そうすることでプログラミング言語を広く見渡せるようになり、非常に良いマッチングができると感じています。
最後に、ついて来れなくても大した問題ではありません。勉強会自体が一つのきっかけであり、少しずつでも進んでいく先に成長があるでしょう。 プログラミングをその場で完全に理解するのは難しいこともありますが、まずは触れておくことが大事だと思います。これはプログラミングに限らず他のことでも同じです。例えば、幼い頃にやっていたことが大人になってから役立つことってありますよね。そういった意味で、勉強会がそのようなきっかけになれば良いと思います。気楽に続けられる方が良いので、あまり気負わずに続けてもらえたらと思います。
勉強会の対象はアソシエイトエンジニアですが、この言葉が分かりにくいかもしれません。一般的には入社2、3年目のエンジニアを指します。最初のレベルを測るのは難しいですが、気にしなくて大丈夫です。とりあえず駆け出しエンジニアという感じです。しかし、幸いにして言語仕様はあまり意味のないところもあるので、あまり悩まずに済むと思います。この勉強会は、比較的初級者が中級者にステップアップするためのものというイメージを持っていますが、あまりガチガチにそのターゲットを絞っているわけではありません。とりあえずそんな感じで対象を決めています。
みんなで集まって話しながら開催するのが理想で、Zoomのコメントも活用しながら、良い交流ができればと思います。評価は微妙なところですが、交流ができているのは良いことです。
最近は、私が話題を脱線させることが多いように感じているのですが、それもまた有意義だと思います。みんなのコメントなどをもらって話が脱線することが多いので、それが既に良い材料になっているのかもしれません。もっと脱線しても良いと思い、うまくできないかと考えています。 あと、大事なことですが、このスライドでの要点として、話しかける際の心構えについてお話しします。まず、どんなに詳しそうな相手でも、ものごとについて知らないことが普通にあります。「これくらい誰でも知っているよね」と思って話しかけるのをやめるのはもったいないです。知らなかった人に学ぶ機会を提供することも重要ですからね。全然、「これくらい誰でも知っているよね」と思っても、話しかけてもらって大丈夫です。
さらに、「こういうはずだ」という場合でも、自信や確証がなくても大丈夫です。プログラミングの世界では、根拠が求められる場面もあるかもしれませんが、最先端の話などは根拠がないことも多いです。根拠が明確でないことなんて、むしろ当たり前に存在します。そういう話であれば、根拠が見えてくるのを待つよりも、まずは話してみてください。話す機会を失うよりも、話してから根拠を探す方が建設的です。周りも、「裏を取っているのか」と気にしないで、もし根拠がないと感じたら、その人が調べてもいいんです。適当に気軽に話しかけて、なんとなく広がっていけば良いと考えています。
また、この勉強会では、話に気を取られて直前に話していた内容を聞き逃してしまうこともありますよね。その時に、話の筋的に「もう話しているよな」と感じる内容でも、躊躇せずに聞いてください。この勉強会は、何度も聞いて身につけるためのコンテンツですから、全然気にせずに質問してください。
みんな、間違ったことを言おうと思って話しているわけではないので、間違ったことを言っても問題ありません。話の中で修正していけば良いのですし、それで全体として前に進めば良いのです。この勉強会では、「教える側」ではなく、みんなで勉強していく場です。気になったことを調べたり、勉強したりしてください。
さらに、今後の方向性についてですが、既に取り組んでいることも含めて説明します。社外の人にはわかりにくいかもしれませんが、「Paxstar」という制度がありました。これは、勉強会に参加すると飲食費が補助されるという、懇親会的な制度です。これが、もっと社外にアプローチしていこうという方針のもとに、最近新たに告知されました。これがどう社内の勉強会に影響を与えるのか、興味深いところです。 いいコメントですね。そうなんです、ちょっとね、気軽に参加できるアプリがなかなかないですからね。それに、1回あたりの金額もそんなに高くないんですよね。もちろん、メンバーが多ければまた違うんですが。
それにしても、環境が変わると景色がガラッと変わることがあります。良い方向に行けばいいんですが、悪い方向に行くこともあります。でも、悪い方向に行ったとしても、新しい何かを打ち出してくると思います。だからといって、悪い方向に進むことを望んでいるわけではありませんが。
また、社外向けに視点を切り替えるという話もありましたが、まだ具体的な制度はありません。ただ、今後はその辺が充実してくるでしょう。社外の人にとっては、注目しておくと嬉しいことがあるかもしれません。例えば、勉強会が充実するといったことですね。
今は、社外勉強会に意識が向いているという点が興味深いです。また、勉強会の動画公開も始まっています。少し遅れていますが、徐々に公開されるでしょう。社外の人がアーカイブを見られるというのは良いことです。それに、余計な部分はカットして公開しますので、プライバシーにも配慮しています。ただ、人の声が録音されることもあるので、公開したくない場合はZoomのコメント機能を活用すると良いでしょう。
また、夢見オープンハンドブックでも情報公開を進めています。もうほぼ完成していますが、まだ一部分が進んでいないので、それを終えたら公開します。今週中から来週中には公開されるでしょう。各回の情報をキーワードで検索できるようにする予定です。これによって、動画アーカイブへのリンクと併せて、必要な情報に素早くたどり着けるようになります。
昨日の話ですが、実績開催も面白そうですよね。昨年2回やってきましたので、業務契約の範囲を超えている部分もありますが、社内のアソシエートエンジニア向けの勉強会とうまく絡めて進められると良いですね。
今年も1月とか2月に機会を作れれば良いですね。いきなりそんなことを言われても困るかもしれませんが、気分転換的に楽しめるようなことができればと思います。社会向け勉強会が活気づいている様子もありますし、個人的には契約上難しい点があっても、社内向けの勉強会を社会に向けて開くことが可能です。 とりあえず、いろいろと面白いことができたらいいなという感じで進めていきます。この勉強会の展望としては、いつも通り進めつつも、何か面白いアイデアが思いついたら取り入れてみるかもしれません。
最近面白かったことについて、全然関係ない話ですが、囲碁の世界で面白い企画がありました。これも、何かのアイデアになるかもしれないと思い紹介しますが、具体的な発表はしていません。アイデアに純粋に興味を持ってもらえればという話です。
囲碁のタイトル戦には「棋聖戦」というものがありますが、その棋聖戦では実際に対局が行われる会場で、対局室の見学ができたり、前夜祭や指導対局などのイベントに参加できる企画がありました。想像してみてください、タイトル戦の対局室を見学できるなんてすごいですよね。そして、別室でプロ棋士から指導を受けることもできるんです。囲碁だけでなく、食事もプロ棋士と同じメニューが出されるそうで、どちらの食事にするか選べるんです。こんな風に、囲碁を楽しむためのアミューズメントが用意されているんですね。
こういう機会作りはすごく良いことだと思います。勉強会や愛好会の合宿でも、同じような雰囲気がありますが、新しいアプローチで面白いなと思いましたので、紹介しました。
さて、今日はこれくらいにしておきますが、次回の勉強会は金曜日です。アサーションとプリコンディションの定義について再び見ていこうと思いますので、ぜひ参加してもらえると嬉しいです。
今年は雰囲気や気持ちが随分と変わりそうな気がしているので、そういった変化を楽しみながら、地道に勉強会を進めていこうと思います。本年もどうぞよろしくお願いします。では、今日はこれで終わりにします。また今年もよろしくお願いします。