並列処理をGo/Rust/Kotlin/Python/JSで解説!思想の違いを体感しよう
イベント内容
イベント概要
GO株式会社には、タクシーアプリ『GO』のユーザアプリや車載アプリ、次世代AIドラレコサービス『DRIVE CHART』、それらを支えるバックエンドAPIやAI基盤など、様々なプロダクトがあり、それらはプロダクトの特性に応じて Go、Kotlin、TypeScript、Python、Rust など様々な言語で実装されています。
- Go: ほとんどのバックエンドサーバ
- Python: AIモジュールのバックエンドサーバ
- Kotlin: 乗務員、ユーザ向け Android アプリ
- TypeScript: 事業者管理画面などWebUIのフロントエンド
- Rust: AIドラレコなどエッジコンピューティング
今回のイベントでは、「並列処理、並行処理の手法」というテーマに絞って、Go、Python、Kotlin、Rust、TypeScript の5つの言語でそれぞれ解説します。言語によって、並列・並行処理の仕組みも、考え方も、全然違います。言語毎に実装の仕方を見比べたり、隣の言語がもつ概念を知ることで、よりそれぞれの言語への理解が深まったり、面白がっていただければと思います。
なお、本イベントの内容は、技術書典12と13での出版物を元に構成されています。技術書典での出版物は本ページの下部を御覧ください。
また、イベントの最後でアンケートに答えていただいた方の中から、抽選で10名様にタクシーアプリ『GO』で利用できる¥2,000クーポンをお配りいたします。詳細は後述のキャンペーン注意事項を御覧ください。
GO株式会社とは
GO株式会社は「移動で人を幸せに。」をミッションに、日本のモビリティ産業をアップデートする様々なITサービスの提供を行っています。
- タクシーアプリ『GO』 https://go.mo-t.com/
- 法人向けサービス『GO BUSINESS』 https://go.mo-t.com/business/
- 交通事故削減支援サービス『DRIVE CHART』 https://drive-chart.com/
- 脱炭素サービス『GX(グリーントランスフォーメーション)』 https://go-gx.com/
参加対象
- GO株式会社を知りたいエンジニア
- プログラミング言語の特性の違いに興味があるエンジニア
当日のタイムテーブル
時間 | コンテンツ |
---|---|
19:00-19:05 | オープニング |
19:05-20:05 | ・技術書典への取り組みの紹介 (74th) ・並列処理の基本 (74th) ・Go編「Go ルーチンで並列処理を実装しよう」(74th) ・Python編「ちょっとしたデータ分析の並列化・ Python」(daisuke.nishikawa) ・Rust編「Rustにおける並列処理」(fumita) ・JavaScript編「JavaScript の ⾮同期処理 Promise、 async/await を理解する」(zreactor) ・Kotlin編「並⾏処理・⾮同期処理のアプローチKotlin」(kariya) |
20:05-20:10 | クロージング |
アジェンダ
技術書典への取り組みの紹介 (74th)
技術書典とは何かを紹介し、弊社の技術書典での取り組みと、有志でどのように面白い本を作ろうとしているか話をします。
並列処理の基本 (74th)
並列処理と並行処理、同期処理と非同期処理といった概念について解説します。
Go編「Go ルーチンで並列処理を実装しよう」(74th)
Goルーチンを使った並列処理の実装の基本的な実装方法を紹介します。Goルーチンの実行、同期、非同期にデータを送るチャネルなど。
Python編「ちょっとしたデータ分析の並列化・ Python」(daisuke.nishikawa)
標準ではマルチスレッドで動かない Python を、並列化ライブラリを使ってマルチスレッドにする方法を紹介します。また、そのマルチスレッド化するときの落とし穴や、Tipsを紹介し、並列化の設計方針に落とし込みます。
Rust編「Rustにおける並列処理」(fumita)
Rustでの並列処理の実行方法や、排他ロックやチャネルなどのスレッド間でのデータ共有の方法などを、理論の解説と実際のコードを交えて説明します。
JavaScript編「JavaScript の ⾮同期処理 Promise、 async/await を理解する」(zreactor)
シングルスレッドで動作する JavaScript の非同期実行の仕組みについて、コールバック処理から順に、Promise、async/await に発展させてコードがシンプルになっていく JavaScript の進化の過程を見ていって、本質を理解していきます。
Kotlin編「Kotlin の 並⾏処理へのアプローチ 」(kariya)
Kotlin の⾮同期処理の基礎となる Coroutine がどうやって動いているかについて、ざっくりよりも少しだけ具体的なイメージを持てるように、コードを交えて⾒ていきます。
プロフィール
森下篤 / 74th (@74th)
AI技術開発部 データプラットフォームグループ
2018年よりDeNAオートモーティブ事業部にJOIN。配車ロジックのマイクロサービス化、お客様探索ナビのAI以外のインフラ構築など。自身でも技術書典3~14にサークル参加し、会社有志での技術書典参加をとりまとめている。 著書『Visual Studio Code実践ガイド』。
橘ゆう / zreactor
AI技術開発部 データプラットフォームグループ
2018年よりDeNAオートモーティブ事業部にJOIN。お客様探索ナビのMLops、APIと周辺マイクロサービスの開発、インフラ周りを担当→最近配車ロジックの開発にも手を出しました。技術書典に5回サークル参加済み。 関数型プログラミング好き(仕事であまり使わないが)。
鈴木文太 / fumita (@maikii_chan)
バックオフィス基盤開発部 バックオフィス基盤第3グループ
2021年6月JOIN。タクシー事業者向けの基盤システムの開発など。普段業務で使っているのはGoやTypeScriptがメイン。
狩谷洋平 / kariya
IoT開発部 DevOpsグループ
2018年よりDeNAオートモーティブ事業部にJOIN。2020年にサーバーサイドから車載Androidアプリへ。最近は車載Androidアプリ自体の開発よりも品質向上とデリバリー改善に注力しています。
西川大亮 / daisuke.nishikawa
AI技術開発部、(兼)GOアプリ事業本部 DXソリューション事業企画部
2019年 DeNA AIシステム部にJOIN。お客様探索ナビのデータサイエンティスト/エンジニア(バックエンドとWeb)/サービスマネージャ/営業など色々担当しています。
【司会】高堂 和芽(@sandgirl_14)
広報
不動産ベンチャーにて財務経理・法人営業に従事後、2018年よりモバイルオーダーサービスを手がけるShowcase Gigの広報担当に。GO株式会社へは2022年5月に入社し、組織/採用広報を中心にコーポレートコミュニケーション全般を担当。最近ではVoicyを活用した「声の社内報」を社内で立ち上げ&運営。
技術書典での出版物
本講演は以下の同人誌の記事が元になっています。書籍PDFは、技術書典マーケットプレイスより、無料配布中です(技術書典への登録が必要です)。
技術書典12「Tech It Up Vol.1 by Mobility Technologies」
技術書典13「Tech It Up Vol.2 by Mobility Technologies」
※ 各書籍には頒布した当時の情報が収められています。
※ 書籍中の Mobility Technologies は GO株式会社の旧社名です。
会場
オンライン(YouTube Live)で開催いたします。URLは参加登録後表示されます。
※後日アーカイブ公開を予定しています。
アーカイブを公開しました。
https://www.youtube.com/live/m-1Drlk2G8w?feature=share&t=172
イベント注意事項
・技術交流が目的の勉強会のため、知識の共有および参加者同士の交流を目的としない参加はお断りしております。参加目的が不適切だと判断される場合には、運営側で参加をキャンセルさせていただく場合がございます。
・参加枠が大幅に埋まらない場合には開催を延期または中止する場合がございます。
・個人情報取扱いについてプライバシーポリシーに定める利用目的に必要な範囲で利用し、当社が責任をもって厳格に管理いたします。内容をご確認の上、ご同意いただきお申込み下さい。
その他、ご不明点などございましたら、遠慮なくご連絡いただけますと幸いです。
キャンペーン注意事項
- クーポンの利用期限は2023/10/31になります。
- 対象者:イベントの最後に実施するアンケートに回答された方
- ご応募はおひとり1回までとさせていただきます
- クーポンのご利用方法や制限事項についてはQ&Aの「クーポンについて」もご参照ください
- 当選発表は、イベント参加時に抽選希望者のみにご登録いただくメールアドレス宛へのクーポンコードのご連絡をもって代えさせていただきます
- 主催者の判断により本キャンペーンを中止する場合がございます
注意事項
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。
新規会員登録
このイベントに申し込むには会員登録が必要です。
アカウント登録済みの方はログインしてください。
※ ソーシャルアカウントで登録するとログインが簡単に行えます。
※ 連携したソーシャルアカウントは、会員登録完了後にいつでも変更できます。