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

ふつうのプログラマのふつうの設計

irof
January 26, 2022

 ふつうのプログラマのふつうの設計

普通のプログラマの普通の設計 2022-01-26
本編(雑談)の前振りスライドです。
https://modeling-how-to-learn.connpass.com/event/231669/

irof

January 26, 2022
Tweet

More Decks by irof

Other Decks in Technology

Transcript

  1. ;ͭ͏ͷϓϩάϥϚͷ
    ;ͭ͏ͷઃܭ
    ݱ৔͔ΒֶͿϞσϧۦಈઃܭ
    5

    View Slide

  2. " "
    事 ⾏
    世界

    意図 使

    View Slide

  3. લஔ͖

    View Slide

  4. ;ͭ͏
    ʮ;ͭ͏ʹ΍Ε͹ʯ
    ʮ;ͭ͏ʹߟ͑ͨΒʯ
    ͱ͔ݴ͏͚ͲɺΘ͔ΒΜɻ
    ;ͭ͏ͬͯͳΜ΍ͶΜɻ

    View Slide

  5. ;ͭ͏ͷ͜ͱͬͯ
    Θ͟Θ͟આ໌͠ͳ͍ɻ;ͭ͏͔ͩΒɻ
    Θ͟Θ֬͟ೝ͠ͳ͍ɻ;ͭ͏͔ͩΒɻ
    Θ͟Θ͟ษڧ͠ͳ͍ɻ;ͭ͏͔ͩΒɻ
    ΈΜͳ΍Δɻ;ͭ͏͔ͩΒɻ
    ͦΜͳʮ;ͭ͏ʯΛແཧ໼ཧݴޠԽ͠Α͏
    ͱݴ͏ແ஡ৼΓࢼΈ

    View Slide

  6. ;ͭ͏
    ظ଴௨Γ
    Ҏ্Ͱ΋ҎԼͰ΋ͳ͘
    ڻ͖࠷খͷݪଇʹै͏
    ;ͭ͏ʹ΍ͬͯͨΒڻ͔Εͳ͍
    ྲྀߦΓഇΓͰ͸ͳ͍
    ౰ͨΓલͳͷͰ໨ཱͨͳ͍

    View Slide

  7. ྫɿݱ৔Ͱͷձ࿩
    ࢲ͜Μͳײ͡ʹ΍Γ·͢
    ૬खͳΜ͔ɺ;ͭ͏Ͱ͢Ͷ

    View Slide

  8. ;ͭ͏˺ϓϩͱͯ͠
    acts as professional

    View Slide

  9. ʮϞσϧʯʹ͍ͭͯ
    https://speakerdeck.com/irof/moderingufalsekihon-number-kanjava-number-mixleap

    View Slide

  10. ͬ͘͟Γ
    Ϟσϧ͸Ұ໘Λ੾Γऔͬͨ΋ͷ
    ৽͘͠࡞Γ্͛Δ΋ͷͰ͸ͳ͍
    ͋Ε΋͜Ε΋Կ͔͠ΒͷϞσϧ

    View Slide

  11. ࠓճͷηογϣϯ
    ੔ཧ͢Δ΄Ͳബͬ΃Β͘ͳ͍ͬͯ͘
    ݚ͗੅·ͤͯΔखԠ͕͑ͳ͍
    ࣗ෼Ͱؾ͔ͮͳ͍ͱ͜Ζ͕Τοηϯεͩͱ֬
    ৴͸࣋ͬͯΔ
    ͚Ͳؾ͔ͮͳ͍͔ΒҾͬுΓग़͠Α͏΋ͳ͘
    ໖Ҿ͞Μͷ࿩ฉ͖ͳ͕Βʮ͋ɺͦΕͦΕʂʂʯͬͯ
    ͳͬͯͨͳ͏ɻ
    ఘΊͨɻ

    View Slide

  12. ;ͭ͏ͷϓϩάϥϚͷ
    ;ͭ͏ͷઃܭ

    View Slide

  13. ͲΜͳ෩ʹ΍ͬͯΔ͔
    ;ͭ͏ʹ΍ͬͯΔ

    View Slide

  14. ઃܭ͸ϞσϦϯά
    ઃܭʢ׆ಈʣ͸ϞσϦϯάͷҰछ
    ϞσϦϯάͱಉ͡ϞσϧʹͳΔɻ
    ϞσϦϯά͕

    ઃܭ͔͸

    ஌Βͳ͍ɻ

    View Slide

  15. ;ͭ͏ɺઃܭͬͯ
    ίʔυॻ͘લʹ΍Δ͠ɺ
    ίʔυॻ͖ͳ͕Β΍Δ͠ɺ
    ίʔυॻ͘ͷ͕ͦ͏ͩ͠ɺɺɺ

    View Slide

  16. 全体(何 ?) 設計・
    実装 分
    私 中 全部
    、設計
    分 被
    、、、、

    View Slide

  17. ઃܭ֎ͷจॻԽ͸खΛൈ͖͍ͨ
    ઃܭ֎μΠΞάϥϜ
    ͱ͔Λॻ͔ͳ͍
    Օ৚ॻ͖ͱ͔೔ຊޠ
    ॻ͘ͷ΋ʮઃܭʯ
    ઃܭ֎಄Λ࢖Θͳ
    ͍

    View Slide

  18. ͬͯ͋ͨΓͷ࿩
    IUUQTTQFBLFSEFDLDPNJSPGLPEPXPEPNBOOBLBOJKVFUBTIFKJBQVSPUJ

    View Slide

  19. ઃܭͷϞσϧ
    ઃܭॻϞσϧ͔ΒಘΒΕΔϑΟʔυ
    όοΫΛಘͳ͕Βͷઃܭ͸;ͭ͏ʹ
    ΈΜͳ΍ͬͯΔ

    View Slide

  20. ͪΐͬͱࣅͨ࿩ͩͳ͊ͱ

    View Slide

  21. ⽂書化意識 ⼈

    View Slide

  22. ϦϑΝΫλϦϯά
    無理 続 ( 辺 諦

    View Slide

  23. ୤ઢաڈͷݴޠԽ͸໾ʹཱͭ

    View Slide

  24. ઃܭͷਐΊํ

    View Slide

  25. ઃܭͷਐΊํ

    View Slide

  26. ࣌ؒ࣠ͱϨΠϠʔಋೖ
    縦軸 何 思 。
    「深度」 下 重 ・・・

    View Slide

  27. ͜ͷล͸ࣗಈͰͰ͖Δʢ͸ͣ

    View Slide

  28. ࣗવݴޠˠ1MBOU6.-

    View Slide

  29. ಛఆϞσϧಋೖ࣌
    ಛఆϞσϧͷಋೖ࣌ͦ͜ɺڧΊͷ੍໿͕͋ΔπʔϧΛ͓קΊͨ͠
    ͍ɻ
    ʮࣗ༝ʹॻ͚Δʯ͸ʮࣗ༝ʹॻ͍ͯ͠·ͬͯϞσϧͷຊདྷͷྗΛ
    ൃشͰ͖ͳ͍ʯͱ͔͋Γ͕ͪɻ
    ಛʹςετٕ๏ʢσγδϣϯςʔϒϧʣͰײ͡Δɻ
    ϑϦʔϑΥʔϚοτͰॻ͘ͱ;Θͬͱ໾ʹཱͨͳ͍΋ͷ͕ॻ͚ͪΌ͏ɻ
    $&(5FTUͱ͔(*)0;ͱ͔ʮॻ͚Δ಺༰͕ڧ੍͞Εͨ΋ͷʯΛ࢖͏ͷ͕ෆ׳
    Εͳ࣌ͦ͜ྑ͍ɻ
    ෆ׳Εͩͱʮ999ͱ͔ॻ͚ͳ͍ʯͱΠϥΠϥ͢ΔΜ͚ͩͲɺ͋Δఔ౓׳ΕΔ
    ͱʮͦ΋ͦ΋ͦΜͳॻ͖ํ͕Α͘ͳ͍ʗॻ͘΂͖͡Όͳ͍ʯͱ͔ʹͳΔɻ
    ΋ͬͱख़࿅ͨ͠ΒϑϦʔϑΥʔϚοτͷ͕ྑ͘ͳΔͷ͔΋͚ͩͲɻ

    View Slide

  30. +*(͸͜ͷͨΊʹ࡞ͬͨ

    View Slide

  31. ίʔυͱཧղ͸ڑ཭͕͋Δ
    「⼀覧」「図」
    「可視化 」相当
    https://speakerdeck.com/irof/jigfalseshao-jie

    View Slide

  32. ੍໿ͷ࣋ࠐΈͷ໨త
    Ͳ͏੍ͤ໿͕͔͔ΔͳΒૣΊʹ࣋
    ͪࠐΜͰख໭ΓΛݮΒ͍ͨ͠
    ౰ॳͷ໨࿦ݟʢظ଴௨Γʣ
    ύλʔϯͷݟ͍ग़͠ͳͲͷϒϨΠ
    ΫεϧʔΛ༠ಋͰ͖Δ
    ΍ͬͯΈͯͷखԠ͑ʢ๬֎ʣ

    View Slide

  33. ͳΜͰ΋ϞσϦϯά

    View Slide

  34. ࿅शͳΜͰ΋ϞσϦϯά

    View Slide

  35. ͨ·ʹಥ͖߹Θͤ
    ( )重複 後者 残

    View Slide

  36. ઃܭͷίΞ

    View Slide

  37. ઃܭͷίΞ
    ໊લ
    ઃܭ͸໊લʹݱΕΔ
    ߏ଄ͱ͔ؔ࿈ͱ͔ɺɺɺ

    View Slide

  38. ໊લॏཁ
    ⾔ 名前 重要 名前

    View Slide

  39. LBXBTJNB͞Μͷͱ͔

    View Slide

  40. ໊͚ͮ࣌ʹߟ͑ͯΔ͜ͱ
    ಉ͡΋ͷ͸ಉ໊͡લɺҧ͏΋ͷ
    ͸ҧ͏໊લʹ͢Δ ʢࢲͷதͰʣ໊͚ͮ͸Ϟσ
    ϦϯάͳͷͰɺϙΠϯτ΋
    ϞσϦϯάͱಉ͡ʹͳΔ

    View Slide

  41. ঺հ໊લ͔ͭͳ͍ͱ͖
    hogehoge xxxxxx

    明 名 名前

    View Slide

  42. ύλʔϯͱ໊લ
    ύλʔϯ໊໊͕લʹ͖͕ͭͪ
    ͦΕͬΆ໊͍લʹͳΓ͕ͪ
    ͜Ε͸ୈҰஈ֊ͷࣝผ
    ࣝผͱ͚ͯͭͯ͠΋͍͍͠ɺͦͷ··ʹ͢Δͷ͸ඍົͳΜ͚ͩͲɺͦ
    ΕͬΆ໊͍લ͔ͩΒͦͷ··ʹͳΓ͕ͪ
    ͨͿΜ໋໊ͷϓϩηεͷͲ͔ͬʹ౰ͯ͸·Δͱࢥ͏
    ύλʔϯͷൃݟ͸تͿ΂͖ͩ͠ɺύλʔϯΛ࢖ͬͨΒͦΕΛԿ͔͠
    ΒͰ఻ΘΔܗʹ͢Δͱޮ཰͕ྑ͍͜ͱ΋ଟ͍Θ͚Ͱ
    ͿͬͪΌ͚.BOBHFSͱ͔0CKFDUͱ͔.PEFMͱ͔͚ͭͯΔͷ
    ͱಉ͡

    View Slide

  43. ઃܭʹ࢖͏;ͭ͏ͷ
    ಓ۩

    View Slide

  44. ;ͭ͏ͷಓ۩Λ࢖͏
    6.-ͱ͔&3%ͱ͔ͬͯͲ͏Α

    View Slide

  45. 6.-
    ;ͭ͏
    ฉ͍ͨ͜ͱɺݟͨ͜ͱɺඳ͍ͯΈͨ͜ͱ͸͋Δ
    ίʔυͰ௥͍੾Εͳ͘ͳͬͨΒཉ͘͠ͳΔ
    ॳݟͰ΋ʮ͋ɺ͜Ε6.-͔ͳʯͱΘ͔Δ
    ;ͭ͏
    όʔδϣϯ΍ྺ࢙ΛޠΕΔ
    શ෦ͷμΠΞάϥϜ΍ه๏ͷҙຯΛᨙ͡ΒΕΔ
    ৗʹ6.-ʹ׬શʹ४ڌ͍ͯ͠Δ

    View Slide

  46. &3%
    ;ͭ͏
    ฉ͍ͨ͜ͱɺݟͨ͜ͱɺඳ͍ͯΈͨ͜ͱ͸͋Δ
    3%#࢖ͬͯͨΒཉ͘͠ͳΔ
    ॳݟͰ΋ʮ͋ɺ͜Ε&3%͔ͳʯͱΘ͔Δ
    ;ͭ͏
    ه๏ͷόϦΤʔγϣϯ͕͋Δ͜ͱ
    ৗʹ͍ͣΕ͔ͷه๏Λ९क͍ͯ͠Δ

    View Slide

  47. ڞ௨߲
    ;ͭ͏
    ฉ͍ͨ͜ͱɺݟͨ͜ͱɺඳ͍ͯΈͨ
    ͜ͱ͸͋Δ
    ;ͱཉ͘͠ͳΔ
    ॳݟͰ΋ͦΕͩͱΘ͔Δ

    View Slide

  48. ͜ͷลͷ࢖͍ํ
    ਫ਼៛ͳ͜ͱ͸ίʔυ͕ಘҙ෼໺
    ͳͷͰίʔυʹ೚ͤΔ
    ͋Δఔ౓ͷ੍໿Ͱ͍͍ͳΒ͋Δ
    ఔ౓Ͱ͍͍
    ࠶ൃ໌͸ແବ

    View Slide

  49. Ͱɺ͜ΕΒͱͷڑ཭ײ
    ࢖͏ʹͯ͠΋αϒηοτͰ͍͍
    ఻͍͑ͨ͜ͱ͕఻ΘΕ͹े෼
    6.-͔Βͷίʔυੜ੒͸ࠔ೉ͳಓͷ
    Γͩ͠ɺͦͷಓͰͳ͍ͳΒ;ΘͬͱͰ
    Α͘ͳ͍͔ͳ

    View Slide

  50. Ҿ༻6.-ϞσϦϯάͷΤοηϯε
    ࣗ෼ͷϓϩδΣΫτʹద͠
    ͍ͯΔͱࢥٕͬͨ๏͸໎Θ
    ͣʹࢼ͍ͯͩ͘͠͞ɻͦ͠
    ͯ͏·͍ͬͨ͘৔߹͸࠾༻
    ͠ɺ͏·͍͔͘ͳ͚Ε͹࢖
    ༻Λதࢭ͠·͢ɻ
    取 組 判断
    、 。

    View Slide

  51. ઃܭͷษڧ

    View Slide

  52. ઃܭͷษڧͬͯͲ͏͢Μͷʁ
    Ή͔͍ͣ͠ΑͶˡ
    جຊతʹ͸ʮͱʹ͔͘΍Ζ͏ʯ
    ΍Βͳ͍ͱͰ͖ΔΑ͏ʹ͸ͳΒͳ͍
    ʮ΍Βͳ͖Ό͍͚ͳ͍ঢ়گʹ௥͍ࠐ·Εͯ
    Ͱ͖ΔΑ͏ʹͳͬͨʯ΋ଟ͍͚ͲɺͦΜͳ
    ੜଘόΠΞεҰຊ૦΋Ͳ͏͔ͱࢥ͏Μͩ

    View Slide

  53. ର৅ͷଘࡏΛ஌Δ
    ͜͏͍͏৔Ͱग़͖ͯͨΩʔϫʔ
    υΛ೴಺ࡧҾʹҾֻ͚ͬΔ

    View Slide

  54. ຊΛಡΈɺखࡳΛ૿΍͢
    ઃܭͷຊ͸ͦΕ͸ͦ
    Εͱͯ͠ɻ
    ϞσϦϯάͱଊ͑Δ
    ͱ͍ΖΜͳύλʔϯ
    ΛݟͯΔͱҾ͖ग़͠
    ͕૿ͤΔͷͰɺΧλ
    ϩάతͳͷΛɻ

    View Slide

  55. બͿ΋ͷΛऔࣺબ୒͢Δ
    ۷ΓԼ͛Δ΋ͷΛֶͿ
    ͨͱ͑͹ʮࡾৼ੍ʯ
    ಉ͡΋ͷ͕ճҟͳΔίϯςΩετ
    Ͱग़͖ͯͨΒຊࠊೖΕͯษڧ͢Δ

    View Slide

  56. ؾʹͳΔ΋ͷ͸ษڧ͠Α͏
    1時間

    View Slide

  57. ·ͱΊ
    ·ͱΊΔ͜ͱ͕ͳ͍
    ʢຊฤͷʣࡶஊʹؙ౤͛͠·͢

    View Slide