今回はちょっとした節目でもあるので、例に倣って 勉強会のオリエンテーションの回にしますね。それに加えて、前回の話題の途中に出てきた 補数表現
まわりの自分の知識が曖昧だった感じがしたので、今回はそのあたりについても少し補うべく見渡してみようと思ってます。どうぞよろしくお願いしますね。
———————————————————————————— 熊谷さんのやさしい Swift 勉強会 #234
00:00 開始 00:09 オープニング 00:59 自己紹介 01:33 勉強会のはじまり 02:44 週3回はちょうど良い印象 04:08 この勉強会は、やさしい? 04:51 質問することは良いことたくさん 07:05 内容自体は難しくないはず 07:57 輪読会のスタイルかもしれない? 12:07 基礎学力は大切 13:04 即効性もあるような気がする 13:29 時間あるときだけの参加も歓迎 14:22 目的に囚われない勉強会 15:04 ほかの言語でも役に立つはず 15:51 バグを見つける勉強会の実現は難しそう 16:55 言語の存在に意識を向けるきっかけにしてほしい 17:48 考える力を養うことにも繋げてほしい 19:13 基礎に着目して、広く見渡す勉強会 19:57 何度も触れて、身に馴染ませていく 21:48 理解するより、触れることが大切 24:34 いつでも話しかけてくれて OK 26:16 根拠や自信はなくて大丈夫 27:22 ほかの勉強会でも生かしてほしい 28:56 ぱくスタとか、動画公開とか 30:53 勉強会の一般公募を自動化 31:49 ゆめみオープン・ハンドブック 32:16 勉強会のタイトルは大切 33:08 対話型の勉強会? 37:02 実地での勉強会開催 37:30 クロージングと次回の展望 ————————————————————————————
Transcription & Summarize : 熊谷さんのやさしい Swift 勉強会 #234
では、今日のオリエンテーションですが、私の業務委託契約が3ヶ月ごとに更新されることもあり、このタイミングを節目にしてオリエンテーションを行っています。これはまるでファンミーティングのようなもので、今までのことを振り返ったり、勉強会について知らない人に知ってもらう機会にしています。
私の自己紹介のスライドについてですが、正直あまりしっくりきていません。ただ、6月30日まで業務委託の更新が決まりましたので、7月以降も引き続きオリエンテーションを工夫してやっていこうと思います。
この勉強会は2021年7月14日に始まりました。週3回のペースで行っています。このペースのおかげで、言語仕様を非常にゆっくりと見ていけるのがいい点です。他にもいろいろと脱線しながら話を進めることがあるのですが、それも含めて楽しい時間になっています。
勉強会はSwift Programming LanguageというApple公式の資料を使って進めており、その中で気になったことを随時取り上げる形にしています。週3回1時間という設定は、言語仕様についてしっかり見ていくためには非常に効果的だと感じています。この週3回のリズムに乗ることで、しっかりと基礎を身につけることができるのです。
勉強会に参加することで、何かしら良いことがあるはずです。途中でわからなくても、参加し続けていれば良いことが現れる可能性があります。また、勉強会の雰囲気が優しいとの感想もいただいています。質問しやすい環境になっているのは私たちも嬉しいです。質問に答えることで、さらに話が深まり、脱線していくことも楽しいですし、周辺の知識も広がっていきます。
言語仕様について深く見ることで、例えば構造体1つ取っても、様々な関連事項が浮上してきます。構造体がどう動くか、代入やコピーの動作がどう違うか、など多岐にわたる話題が出てきて、それもまた興味深いです。そのような細かな点も含め、みなさんと共有していければと思います。 今回の勉強会では、Swift言語の仕様をじっくりと見ていくことが目的です。この勉強会を通じて、言語仕様を深く理解することが重要だと感じています。質問なども遠慮なくどんどんしてください。そのために、オリエンテーション後に重要なトピックを含めて話していきますので、ゆっくり進めていきましょう。
言語仕様自体は基本的には簡単なものですが、中には理解するのが少し難しい部分もあります。それでも、概念としてはシンプルなものです。簡単な部分をしっかり固めることが大事ですので、質問や意見交換を通して理解を深めていきましょう。13回のセッションがありますし、質問だけで1回使っても全く問題ないので、積極的に質問してください。
最近、他の勉強会、特にAndroidの勉強会で「輪読会」というスタイルを聞いたことがあります。輪読会とは、誰かが本を読んできてその内容を共有し、みんなで意見交換をして理解を深めていく会のことです。この勉強会でも同じスタイルで進めることは面白いかもしれません。他の人が自分の代わりに進行を担当しても、全然問題ありません。スライドも用意されているので、そのまま読んでもらう形でも大歓迎です。
この勉強会の録画を後で見直すと、自分が話した内容でも新鮮に感じることがあります。当事者になると捉え方が変わるんでしょうね。輪読会のスタイルは簡単に取り入れやすいですし、特にこの形式の勉強会では非常に有効だと感じます。少ない準備で進められるのも利点です。
例えば、アンドロイドの方では「良いコード悪いコード」といった本を使用して設計パターンの勉強会を行っており、非常に面白い内容になっています。設計パターンを学ぶのも良いアイデアかもしれません。とにかく、輪読会の形式で進めると多くの人にとって有益であり、質問を通じて内容がさらに深まります。
さて、勉強会の方針ですが、プログラミング言語の基礎学力を養うことが主な目的です。この基礎学力は地味かもしれませんが、非常に大事です。時には「そんなことをしても意味がない」と言われることもありますが、実際には非常に意味のあることですので、この勉強会を通じてしっかりと学んでいきましょう。 今までの勉強会の中で、基本的には耳にしたことがあるかもしれません。意外と軽視されがちですが、プログラミング言語の理解はとても重要だと思います。特に難しいコードを書く際には混乱することが多いので、その際の助けとなります。地味ではありますが、意外と速攻性があるとも感じています。とはいえ、アプリ内課金ができるようになるなど即効的な成果を求めるものではないため、緩やかな学びを目的としています。
勉強会に参加できる機会を提供してくださる「株式会社ゆめみ」は本当に素晴らしいと思います。多くの勉強会は目的が明確に設定されていて、目的に特化した内容が多いですが、この勉強会は「Swift」の言語仕様についての学びに焦点を当てています。これが私たちにとって非常に役立ちますし、新たな発見や学びに繋がります。
また、「Swift」だけでなく他のプログラミング言語にも応用できる知識が得られる勉強会なので、さまざまな分野の人々にもぜひ参加してほしいです。とりわけ、言語仕様の勉強はバグ発見や解決の能力を向上させる点でも非常に有益だと思います。
言語仕様を学ぶことで感じる重要な点として、プログラミング言語がどういった思想や考え方の中で生まれたのかに意識を向けることが大切です。プログラミング言語は単なるツールではなく、その背後には多くの思想や設計が反映されています。それに気付くことで、プログラムの設計やネーミングにおいても新たな視点が得られます。
さらに、自分自身で考える力を養うことも重要です。この勉強会を通じて、言語の存在に意識を向け、自分で考える力を養うことを目指してほしいです。そのために、毎回質問をするなどの目的意識を持つとさらに効果的です。考える力が養われると、怪しいコードを見分ける力も向上します。例えば、「なぜここでオプショナルなのか?」と疑問を持つことは大切です。
このように、言語仕様やプログラミングに対する深い理解を目指して勉強していきましょう。 この勉強会の目的は、皆さんにSwiftプログラミング言語について広く理解してもらうことを意識しています。Swiftを中心に据えて、プログラミングの基礎的な内容を扱いながら、他のプログラミング言語やソフトウェア理論についても話をします。Swiftの言語仕様を基礎から広く見渡すことが重要で、これはなかなか一人では難しいことです。ですので、勉強会を通じて一度触れた内容も何度でも復習していきます。同じ話題でも話し方や深掘りの仕方が変わることが多いので、気軽に何度でも質問していただければと思います。
勉強会は、C言語やPythonなど他の言語にも触れることがありますが、基本的にはSwiftが中心です。大切なのは理解することよりも、まず触れてみることです。例えば、ある日ふと前に聞いたことを理解したり、実際に使いたくなったりすることがあります。そのために、何度も触れることが大切です。
参加者の対象としては、主に業務委託契約をするアソシエイトエンジニアの方々を意識していますが、Swift言語に関心を持つすべての人にも参加してもらえるような幅広い内容になっています。上級者の方も初心者の方も歓迎です。上級者であっても新たな発見は必ずあると思いますし、皆さんがそれぞれのレベルに合った学びを得られるように進行していきます。
この勉強会の特徴は、探索形式を取っていることです。皆さんと一緒に学びを深めていけるように、リアルタイムで参加できる場を設けています。そのため、マイクでの質問やコメントも大歓迎です。話しかけるのが難しいと感じる方もいるかもしれませんが、心持ちとしては、どんなに些細なことでも気兼ねなく質問してください。詳しい人でも知らないことはありますし、皆さんと一緒に進めていくことがこの勉強会の醍醐味です。
大事なのは質問するタイミングを逃さないことです。何度聞いても構いませんし、それが理解を深めるための手助けになります。とにかく楽しみながら学んでいきましょう。 このように、質問を遠慮してしまうことは非常にもったいないことです。補足説明も同様で、当たり前と思っていることでも、それを知らない人が存在する可能性があります。彼らの学びの機会を奪わないためにも、遠慮せずに補足情報を提供していきましょう。
特にこの界隈では、「それは想像ではないのか」「根拠はあるのか」といった言葉が頭をよぎることもあるかと思いますが、少なくともこの勉強会においては、そのようなことは気にせずに発言して大丈夫です。正しいかどうかは話し合いの中で見つかっていくものですし、一人で探す必要はありません。正しいかどうか分からないことも往々にしてありますので、気軽に発言することが大事です。
また、この勉強会では、誰かが他の人を騙そうとして話すことはないと考えています。そのため、誰かの発言が正しいかどうかを問う前に、その人にとっては正しいという意識を持って聞くことが重要です。それを前提にして意見が食い違った場合には、「どこが違うのか」を考え、建設的な議論を進めていくことが有益です。
この勉強会は一方的な講義形式ではなく、対等な立場でのディスカッションの場です。そのため、自分がわからないことや疑問点を気軽に発言できる雰囲気があります。みんなが対等であるという意識を持って参加することで、勉強会がより有意義なものになるでしょう。このスタンスは他の勉強会においても有効です。
時間が限られている中で、議論を駆け足で進めざるを得ない状況もありますが、動画はアーカイブされ、後で見返すことができるので安心してください。プライバシーに関わる部分はカットされますので、発言を遠慮する必要はありません。声が嫌な人はコメントを活用してください。
勉強会のコンテンツも自動公開システムを採用しており、コンパスでの一般公開も自動化を図っています。これは、勉強会の内容をもっと効率的に参加者に提供するためです。オープンハンドブックでの情報公開も進んでおり、ここが回収されるとますます有益な情報になるでしょう。 全情報が見られるので、とにかくこれおすすめです。一度見てみてください。見たことない人は、優しいSwiftラジオというのがあるので、それを聞いてみても面白いかもしれません。ポッドキャストとして同時に配信するのも面白いアイデアだと思います。
あと、ソフトコードというものもありますが、それは見えなくてもなんとかなるものなので、少し考えてみると面白いかもしれません。勉強会を開くときは、題名も結構重要です。題名にコンセプトが集約されるので、それだけでも広がり方が変わってきます。ラジオのようなコンテンツでも良いので、ちょっと考えてみましょう。
この勉強会ですが、開始当初から対話型勉強会という言葉が耳に残っています。この「対話型」という言葉についていろいろと考えてみると、この勉強会は実際にかなり対話型だと感じます。専門用語で混乱することもありますが、SwiftのAPIデザインガイドラインにあるように、誤解を招くような専門用語はあまり使わないほうが良いですね。
対話型勉強会では、それぞれの意見を尊重し、自由な雰囲気でコミュニケーションを取ることが重要です。正しさや勝ち負けは関係なく、自分と異なる意見にどうアプローチするかを考えます。この勉強会も、雑談のような緩い感じで進みますが、内容は深い理解を目指しています。
実地での開催も楽しいだろうと思っていますが、契約の問題などで難しさもあります。なんとかうまく調整して、実地開催できたら良いなと考えています。例えば、長崎県や岐阜県、高知県、新千歳空港などでの開催を予定していますが、場所を借りたり、一般人を呼ぶことに対しての慎重な対応が求められます。
そういうわけで、集まれる人がいれば一緒に勉強会をやりたいと思っています。場所が確保できたら、一般公募してみるのも良いかもしれません。自主的に広がっていけば良いなと思っています。
次回の勉強会では、前回出てきた「歩数表現」についておさらいし、その後に循環参照の話に戻りたいと思います。これで勉強会を終わりにします。お疲れ様でした、ありがとうございました。