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

コンピュータサイエンスのすべての分野に精通していると何が嬉しいか

 コンピュータサイエンスのすべての分野に精通していると何が嬉しいか

2019-07-05 社内LT会で発表した内容です。

D833ebe946fb6c3ca990758737855f79?s=128

typewriter / takuya

July 05, 2019
Tweet

Transcript

  1. CSのすべての分野に 精通していると 何が嬉しいか 2019/07/05 たいぷらいたー コンピュータサイエンス

  2. たいぷらいたー @no_clock すき: 京都(訪ねた寺社: 70以上) 百合(昨年読んだ漫画: 80冊) (あとC#, Ruby, Vimとか)

    2
  3. お手柔らかに 3 この分野は素人 なのですが

  4. ▷語源 ▷CSとはなにか ▷何が嬉しいか ▷たのしいCS CSのすべての分野に 精通していると何が嬉しいか

  5. 語源: Job – Preferred Networks https://www.preferred-networks.jp/ja/job (2017/9/16時点, Internet Archive Wayback

    Machineによる復元) 5
  6. 語源: Job – Preferred Networks https://www.preferred-networks.jp/ja/job (2017/9/16時点, Internet Archive Wayback

    Machineによる復元) 6 「コンピュータサイエンスのすべての  分野、またはハードウェアや制御の  すべての分野に精通していること」
  7. 7 https://research.preferred.jp/2018/02/27nishikawa/

  8. 語源: Job – Preferred Networks 8 https://www.preferred-networks.jp/ja/jobs/researcher

  9. ▷語源 ▷CSとはなにか ▷何が嬉しいか ▷たのしいCS CSのすべての分野に 精通していると何が嬉しいか

  10. 10 コードに深みが出る! 味のあるコードが書ける! CS知ってると 何が嬉しいんですか? ???????? ????????

  11. 11 ネットワークとか計算量と かグラフ理論とか…色々? (大丈夫かコイツ…) そもそもCSって      なんですか? ???????? ????????

  12. 12 【株の知識ゼロ】バカが考えた株の漫画 Produced by バーグハンバーグバーグ

  13. ▷語源 ▷CSとはなにか ▷何が嬉しいか ▷たのしいCS CSのすべての分野に 精通していると何が嬉しいか

  14. 14 プログラマだったら当然知ってるよね?という知識一覧 | anopara https://anopara.net/2019/05/11/basics-for-programmers/ データ構造、計算量、アルゴリズム、 数値計算、グラフ理論、理論計算機、 セキュリティ・暗号化、CPU、OS、 ソフトウェア工学、ネットワーク …

    CSとはなにか
  15. 15 CSとはなにか

  16. 16 【株の知識ゼロ】バカが考えた株の漫画 Produced by バーグハンバーグバーグ

  17. ▷語源 ▷CSとはなにか ▷何が嬉しいか ▷たのしいCS CSのすべての分野に 精通していると何が嬉しいか

  18. “The Law of Leaky Abstractions 漏れのある抽象化の法則 - Joel Spolsky (Joel

    on Software著者) 18
  19. The Law of Leaky Abstractions (漏れのある抽象化の法則) All non-trivial abstractions, to

    some degree, are leaky. 自明でない抽象化は、 ある程度漏れがある 19 The Law of Leaky Abstractions – Joel on Software https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/
  20. ▪ TCP - 信頼性の高い通信の実現 ▫ 信頼性のない伝送路上で実装 ▫ 遅かったり、途切れたりする →下位レイヤを気にする  (ping、ケーブル抜き差し…)

    20 The Law of Leaky Abstractions – Joel on Software https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/ The Law of Leaky Abstractions
  21. ▪ SQL/ORM - DB問合せの抽象化 ▫ User.where(type: 'admin'). order(:last_login_date) →「インデックス効いてる?」 →「nullのソート順はDBMS次第」

    21 The Law of Leaky Abstractions
  22. 22 理想の抽象化 Gordon Wrigley (CC BY 2.0)

  23. 23 現実の抽象化 Gordon Wrigley (CC BY 2.0)

  24. 24 現実の抽象化 Gordon Wrigley (CC BY 2.0) 深淵に潜むコンピュータサイエンス

  25. 25 コンピュータサイエンスは 「抽象化の漏れ」への備え

  26. 26 Vue.js + Firebase 抽象化された深淵 PHP/Perl MySQL Apache Linux (物理マシン)

    今昔抽象化物語 すこしむかし  いま
  27. 「現代の優れたツールは  信じられないほどの速さで  多くの作業をこなせるが、  ある日突然抽象化が漏れ出して、  その解決に2週間を費やす」 27 The Law of Leaky

    Abstractions – Joel on Software https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/ The Law of Leaky Abstractions
  28. 28 「抽象化の漏れ」への備えに コンピュータサイエンスは必要不可欠

  29. ▷語源 ▷CSとはなにか ▷何が嬉しいか ▷たのしいCS CSのすべての分野に 精通していると何が嬉しいか ネットワーク編

  30. $ netstat -s してみる(Windows可) 30 たのしいCS: 通信データは壊れている

  31. 無線LANで他機器と干渉しないために →送信前にランダム時間待つ  (干渉したら2倍待つ) 「適当に待っとればいつか  干渉せず送信できるやろ!」 31 たのしいCS: IEEE 802.11 CSMA/CA

  32. ミリ秒単位で株取引 ▪ 処理能力重要 ▪ アルゴリズム重要 ▪ 場所重要(取引所システムの近く) しかし、もしも、 株価がわかる前に取引できたら…? 32

    たのしいCS: 超高速取引
  33. 1. 株価受信途中に取引情報を送信開始 (まだ株価はわかっていない) 33 たのしいCS: 超高速取引 Research Report: The Arista

    7124FX Switch as a High Performance Trade Execution Platform http://www.argondesign.com/media/uploads/files/P8006-R-001d_The_Arista_FX_Switch_as_an_Execution_Platform.pdf
  34. 1. 株価受信途中に取引情報を送信開始 34 たのしいCS: 超高速取引 Research Report: The Arista 7124FX

    Switch as a High Performance Trade Execution Platform http://www.argondesign.com/media/uploads/files/P8006-R-001d_The_Arista_FX_Switch_as_an_Execution_Platform.pdf Ethernet frame (データリンク層) Dest Src Type データ ??? ↑このへんで  株価判明
  35. 1. 株価受信途中に取引情報を送信開始 35 たのしいCS: 超高速取引 Research Report: The Arista 7124FX

    Switch as a High Performance Trade Execution Platform http://www.argondesign.com/media/uploads/files/P8006-R-001d_The_Arista_FX_Switch_as_an_Execution_Platform.pdf Ethernet frame (データリンク層) Dest Src Type データ Checksum ↑このへんで  株価判明
  36. Research Report: The Arista 7124FX Switch as a High Performance

    Trade Execution Platform http://www.argondesign.com/media/uploads/files/P8006-R-001d_The_Arista_FX_Switch_as_an_Execution_Platform.pdf 1. 株価受信途中に取引情報を送信開始 2. 株価判明後、取引条件と不一致なら  不正なチェックサムを送信 3. 宛先のデバイスで無事に破棄される 36 たのしいCS: 超高速取引 Ethernet frame (データリンク層) Dest Src Type データ Checksum
  37. 37 たのしいCS: 超高速取引 Research Report: The Arista 7124FX Switch as

    a High Performance Trade Execution Platform http://www.argondesign.com/media/uploads/files/P8006-R-001d_The_Arista_FX_Switch_as_an_Execution_Platform.pdf 株価受信: 取引送信: 0.000000170s
  38. CSはおもしろい! CSはこわくない! CSはすごい! さあ、 CSをはじめよう! 38