Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Re: みなさん最近どうですか? / FGN tech meetup in 2021

KONDO Uchio
November 10, 2021

Re: みなさん最近どうですか? / FGN tech meetup in 2021

@FGN Tech Meetup #1 ~みなさん最近どうですか?~
https://fgn-tech-meetup1.peatix.com/

本プレゼンテーションはGoogle Docsにもあります(リンクなどはそちらから)
https://docs.google.com/presentation/d/1tzBPVGjg6d0aHrqggSfishmYGm0Jeh_vEAG3o6bnyhA/edit?usp=sharing

KONDO Uchio

November 10, 2021
Tweet

More Decks by KONDO Uchio

Other Decks in Technology

Transcript

  1. Re: みなさん最近どうですか? in 2021 近藤うちお / GMO PEPABO inc. 2021.11.10

    FGN Tech Meetup #1 1
  2. 2 自己紹介 技術部 データ基盤チーム/技術基盤チーム 2013年 入社、同年福岡移住 近藤宇智朗 Uchio Kondo (@udzura) •

    駆け出しデータ基盤エンジニア • シニアシレンジャー • 最近良かったこと: 北九州、三ヶ森の 「らーめん工房龍」に久しぶりに行けた。 • 好きなバンド: Pavement 東三河出身
  3. 最近どうですか? 3

  4. in 2021 4

  5. ご趣味 お仕事 5 in 2021 ・データ基盤チームを立ち上げた ・オンラインでのチーム作りとか  結構工夫した ・未熟なりに成果は出ている、か? ・本を出した(in

    2020) ・Rustを始めた ・自作言語の勉強を始めた ・特にまだ成果物はない
  6. ・データ基盤チームを立ち上げた ・オンラインでのチーム作りとか  結構工夫した ・未熟なりに成果は出ている、か? ・本を出した(in 2020) ・Rustを始めた ・自作言語の勉強を始めた ・特にまだ成果物はない 6

    in 2021 今日はこっちで ご趣味 お仕事
  7. ・データ基盤チームを立ち上げた ・オンラインでのチーム作りとか  結構工夫した ・未熟なりに成果は出ている、か? ・本を出した(in 2020) ・Rustを始めた ・自作言語の勉強を始めた ・特にまだ成果物はない 7

    in 2021 こっちの話も 近日中に... ご趣味 お仕事
  8. Rust との出会い 8

  9. ・月並みだけれど新型コロナウイルス により、進捗感のない一年 ・2021年は新しいことをしよう... Rustとわたし 9 激動の2020年が終わった

  10. ・2020年までの流れで、システムプログ ラミングに興味があった。 ・じわじわ話題になってきてるし、 Rustを やるか!!1 (BPFのツールなどでワンバイナリを作 れる言語を求めてたのはある) Rustとわたし 10 言語をやろう

  11. 勉強した方法 11

  12. 12 動的型野郎がいかにRustを学んだか ・まずは公式ドキュメント「The Rust Programming Language」 ・Tour of Go的なものより骨太だったので、並行して  「実践Rust入門」(自転車本)

    ・とくに初学者にわかり辛いポイント :  所有権(ムーブ周り)、トレイト、 Enumの  解説は参考になった。 Rustを学んだ時のリソース https://doc.rust-jp.rs/book-ja/ https://gihyo.jp/book/2019/978-4-297-10559-4
  13. 13 動的型野郎がいかにRustを学んだか ・ちなみに前提として学習時の @udzura のスペック ・Ruby … 10年近く。標準ライブラリの仕様は大体頭に入っているつもり ・C言語 ...

    システムプログラミング周りで 2 〜 3 年やった。  メモリ管理はわかってるつもりだったがかなり怪しいと思う ・Go、Python … 書こうと思えば書ける。あまりライブラリは頭に入ってない ・C#、Java(古め) … 頑張れば思い出せる。なおJavaは苦手意識強 ・あと「7つの言語 7つの世界」のおかげでScala/Haskellの基本は知ってた Rustを学んだ時の前提知識 普通にそこそこ色々書ける人、ではあった。
  14. 14 動的型野郎がいかにRustを学んだか ・一つ、仕事で使えそうなツールを書いた。 ・非同期でGitHub APIを叩き、活動データをCSVで吐き出すだけのツール ・使ってみて→ 速い。そして意外とというかかなり宣言的な書き方も許されるし、         あと、型をしっかり設計したら機能追加が簡単。 ある程度学べてきて

    すっかりとりこに... https://github.com/pepabo/octx
  15. 次何しようかな... 15

  16. ・流行ってたので(?) 「ゼロからのOS自作入門(みかん本)」を読ん でいた(なお、まだ未完読) ・C++、読めるようになったけど むずいな...... いつかRustで書き直したりとか できるもんなんかな 道を踏み外すきっかけ 16 並行して勉強してたこと

  17. ・フィヨルド某キャンプとか、 あと社内勉強会で 「Rubyのしくみ」が流行っていた。 ・なんやわいもRubyわかるで! →こっそり無料のるびまで勉強しよ ... ・「YARV Maniacs 【第 2

    回】   VM ってなんだろう」を読む 道を踏み外すきっかけ 17 そんな時に読んだ https://magazine.rubyist.net/articles/0007/0007-YarvManiacs.html
  18. 18 道を踏み外すきっかけ 「そうなのか! OSの仮想化と、言語の実行環境の仮想化は繋がったものと考えられるんだなあ」 「じゃあ、いつかOSのことをちゃんと理解するために、まずは言語を自分で作ってみよう!」  (???) 「そもそもなんで仮想化するんでしょうね」

  19. ということで自作言語沼へ 19  16年前の笹田さんに今更そそのかれ ...

  20. RustでLuaを実装した例がなかったの で、作ってみた。 → Purua https://github.com/udzura/purua しかし特にパーサが不慣れ、ある程度 動いたけど無理がきそう... 一から勉強することにした。 自作言語江之道 20

    まずは手を動かした https://docs.google.com/presentation/d/1Dw2ULrcGf2ajrBM6u8VzoAXJLYJh3GDFj3gzSkwD_YA/edit?usp=sharing
  21. とりあえず読めそうな本を読みまくった この分野は素人なので... 「IT Text コンパイラとバーチャルマシン」(オーム社) 「ふつうのコンパイラをつくろう」( SBクリエイティブ) 「Rubyのしくみ」(オーム社) 「はじめて読む486」(アスキーメディアワークス) Luaの中国語の本も今度読みたい

    自作言語江之道 21 本を読みまくった
  22. 22 自作言語江之道 ・必要なトピックを(書籍で実装しない範囲含め)漏れなく網羅している ・文章が確かで、わかりやすい ・著者青木さんもRubyistなので、波長が合う(?) ・デメリットとして、 Java 5 で実装、アーキテクチャがIA-32前提なので、そこは  差し引いて読むと良さそう。Rust+IA-64版が待たれ...る

    「ふつうのコンパイラをつくろう」は良かった 中間表現 機械語 AST ソース コード トークン列 スキャナ パーサ 最適化 バーチャル マシン 型検査 静的解析 リンク ELF フォー マット
  23. 「Crafting Interpreters」 https://craftinginterpreters.com/ 前半Java、後半Cだが、両方Rustに 「翻訳」をしている。 これで終わってたらかっこいいけど、 前半の途中です... が、山場は越えたぞ! と思いたい。 自作言語江之道

    23 「翻訳」もしている
  24. Puruaをちゃんとした スキャナ+パーサで、VMありで 書き直したい! ついでにRustの何かの カンファレンスで話したい。 自作言語江之道 24 当面の目標

  25. プログラミング言語処理系が好きな人 の集まり Slack https://prog-lang-sys-ja-slack.github.io/wiki/ とくに @monochrome さん、 @yhara さん 自作言語江之道

    25 Special Thanks?
  26. 振り返ってみて 26

  27. 1) 自分の問題の幅が広がった 2) プログラミング好きだ!って改め て気づけた ふりかえり 27 Rustを学んで良かったこと https://devswag.com/products/rust-ferris

  28. Ruby中心でやっていた頃は、例えば ・言語を実装する ・OSを実装する ・組み込みで何かをする などは「自分が書くプログラム」と思っ ていなかった。でも、Rustという強力な適用 範囲の言語を知ることで、 「ワンチャンできるんでは」となり、 勉強する幅が広がった感。 ふりかえり

    28 自分の問題の幅が広がった https://www.facebook.com/cookpad.fresh/photos/552782821416040/ Ruby(mruby) でできないことではない。 けど、Rustは強力。リッチな型最高!
  29. さすがにRuby歴も10年オーバー、 刺激がなかったのかも? Rustという、Rubyと全然違うのに 一周回って同じような気持ち良さを 求めてるような言語と出会えたのは良 かった。 結果、Rubyの別の面(RBSとかYJIT) も気 になってきた。 ふりかえり

    29 プログラミングが好き!
  30. 普通にコードを書いていては RubyKaigi(世界最大級の技術者の飲み会 )の 参加資格(CfP通過)を得られない。 頑張ってRubyに絡める。 e.g. mrubyのバイトコードをRustに 喰わせる、などの奇行に走る。 ふりかえり 30

    Rustのデメリット https://rubykaigi.org/2021-takeout/presentations/udzura.html
  31. 31 まとめます

  32. 32 総括だ!総括! 最近どうですか?

  33. 33 総括だ!総括! ・自分が興味を持ち且つ解決できる問題の幅を広よう。 ・Rustは良いものです。 ・RubyKaigi リアル開催版に行きたい。