SlideShare a Scribd company logo
1 of 69
Download to read offline
Ϣχοτςετͷύλʔϯͯ


Ͳ͏΍ͬͯߟ͑Ε͹ྑ͍ͷʁ
2021 ೥ɹ΄͛͞Μ
Ͳ͏΋ɺ΄͛͞ΜͰ͢
ૉਓςελʔͰ͢
ɾࠓ೥ͷ݄̐ʹϛϥΠτʹస৬͠·ͨ͠
ɾ೥࣍ɿͦͦ͜͜
ɾ‫ݧܦ‬ɿͦΕͬΆ͍
ɾςετ͸ͨͷ͍͠ͱࢥ͏
@suzuki_hoge ( twitter )
ςετͯ͠Δʁ


ςετͨͷ͍͠ʁ
๻͸ͨͷ͍͠


ͷͰɺࠓ೔͸ςετͷ͸ͳ͠
ςετ΍Ζ͏ͥ
❖ ࠓ೔͸ʮࣗಈʯͰʮখ͍͞ʯ΍ͭ
❖ ςετίʔυʹϑΥʔΧε͠·͢
Ұॹʹ؆୯ͳγεςϜͷ


ςετΛߟ͑ͯΈ·͠ΐ͏
༗໊ͳ໰୊Λഈआ͠·͢
ϚΠϠʔζ͞Μͷ


ࣗ‫ݾ‬਍அςετ
ɾ؆୯ͳ൑ఆॲཧͷςετΛߟ͑Δ
ɾͲΕ͘Β͍ύλʔϯΛߟྀͰ͖͔ͨɺ
ɹ࣮ફ͢ΔͱͲΕ͘Β͍೉͍͠ͷ͔ɺ
ɹ‫͡ײ‬औͬͯΈΔ
௨শϚΠϠʔζͷࡾ֯‫ܗ‬
❖ 3 ͭͷ੔਺Λೖྗ͢Δ
❖ ͦΕͧΕ͕ࡾ֯‫ܗ‬ͷ 3 ลͷ௕͞Λද͍ͯ͠Δ
❖ ࡞ΒΕΔࡾ֯‫͕ܗ‬ԿʹͳΔ͔൑ఆ͠දࣔ͢Δ
❖ ਖ਼ࡾ֯‫ܗ‬ɺೋ౳ลࡾ֯‫ܗ‬ɺෆ౳ลࡾ֯‫ܗ‬
❖ ͲΜͳςετΛ͢Δ΂͖͔ɺύλʔϯΛྻ‫͢ڍ‬Δ
΍ͬͯΈΑ͏
❖ ϊʔτʹςετύλʔϯΛॻ͖ग़ͦ͏
❖ ͔ͤͬ͘ͳΒॻ͍ͯಈ͔ͥ͢ɺͱ͍͏ਓ͸
…

❖ ๻ͷϦϙδτϦͰ CLI Λ૝ఆ͓ͨ͠୊Λެ։ͯ͠·͢
❖ https://github.com/suzuki-hoge/myers-triangle
❖ Java ͱ PHP ͸αϯϓϧςετ͕ಈ͘‫͕͋ڥ؀‬Γ·͢
❖ HTML + JavaScript Ͱ΋͍͍ͱࢥ͏
❖ ϊʔτͰ΋࣮૷Ͱ΋ɺग़ͨςετύλʔϯ͕ࠓ೔ͷओ໾Ͱ͢
Ͳ͏Ͱ͔͢ʁ


؆୯ͦ͏Ͱ͔͢ʁ
ຊʹࡌ͍ͬͯΔͷ͸ 14 ‫఺؍‬
1. ༗ޮͳෆ౳ลࡾ֯‫ܗ‬
❖ 3 5 7 ͱ͔
❖ 1 2 3 ͸ͩΊͩΑ
2. ༗ޮͳೋ౳ลࡾ֯‫ܗ‬
❖ 5 5 2 ͱ͔
3. ༗ޮͳਖ਼ࡾ֯‫ܗ‬
❖ 7 7 7 ͱ͔
4. ೋ౳ลࡾ֯‫ܗ‬Λ 3 ճస
❖ 5 5 2, 5 2 5, 2 5 5 ͱ͔
5. 0 ͕͋Δ
❖ 7 7 0 ͱ͔
6. ෛͷ਺͕͋Δ
❖ 7 7 -2 ͱ͔
❖ -2 -2 -2 ͸ਖ਼ࡾ֯‫Ͱܗ‬͸ͳ͍
7. શ෦ 0
❖ 0 0 0
❖ ͜Ε΋ਖ਼ࡾ֯‫Ͱܗ‬͸ͳ͍
10. a + b < c ( 8 ΑΓઌʹղઆ )
❖ 2 2 7 ͱ͔
❖ ࡾ֯‫࡞͕ܗ‬Εͳ͍ύλʔϯ
11. a + b < c Λ 3 ճస
❖ 2 2 7, 2 7 2, 7 2 2 ͱ͔
8. a + b == c ( 10 Λઌʹղઆͨ͠ )
❖ 2 2 4 ͱ͔
❖ ࡾ֯‫࡞͕ܗ‬Εͳ͍ύλʔϯ
❖ ௚ઢʹ͔͠ͳΒͳ͍
9. a + b == c Λ 3 ճస
❖ 2 2 4, 2 4 2, 4 2 4 ͱ͔
12. ෆਖ਼ೖྗ ( ඇ੔਺ )
❖ 7 7 a ͱ͔
13. ෆਖ਼ೖྗ ( ลͷ਺ )
❖ 3 3, 3 3 3 3 ͱ͔
14. ֤έʔεʹ‫ظ‬଴஋Λఴ͍͑ͯΔ͔
❖ 3 3 3 → ਖ਼ࡾ֯‫ܗ‬ ͱ͔
❖ ςετίʔυͩͱ౰વຬͨ͢
❖ ख࡞‫ۀ‬ͷςετΛߟ͑Δͱ͖ʹɺҊ֎΍Γ๨ΕΔ
❖ ʮϢʔβΛࢀর͢Δʯ͔ܾ͠Ίͯͳ͍ͱ


ʮͰʁࢀরͯ͠Έ͚ͨͲ͜ΕͰ͓kʁʯͱͳΔ
͍ͬͺ͍͋Γ·͢Ͷ


ͲΕ͘Β͍ग़ͯ͠·͔ͨ͠ʁ
Ͳ͏΍ͬͨΒࣗ෼Ͱ


͜ΕΒΛग़ͤΔͷ͔
ͦΕͧΕʹཧ༝͕͋Δ͸ͣ
❖ ϚΠϠʔζͷࡾ֯‫Ͱܗ‬ 14 ఺͕औΕΔ


ΑΓ


ςετύλʔϯͷ଍͠Ҿ͖ཧ༝͕આ໌Ͱ͖Δ͜ͱ


͕େࣄ
❖ ๻ͷ‫Ͱ֮ײ‬ 13 ύλʔϯΛ෼ྨͯ͠Έ·͢
෼ྨ
❖ ਖ਼ৗऴྃ ( ݁Ռ͕ OK
)

❖ ਖ਼ৗऴྃ ( ݁Ռ͸ NG
)

❖ όϦσʔγϣϯ
❖ ‫ڥ‬ք஋ςετ
❖ ϒϥοΫϘοΫεςετ
※ ͋͘·Ͱ๻͕ࠓద౰ʹ࡞ͬͨ෼ྨͰ͢
෼ྨ
❖ ਖ਼ৗऴྃ ( ݁Ռ͕ OK
)

❖ ਖ਼ৗऴྃ ( ݁Ռ͸ NG
)

❖ όϦσʔγϣϯ
❖ ‫ڥ‬ք஋ςετ
❖ ϒϥοΫϘοΫεςετ
ਖ਼ৗऴྃ ( ݁Ռ͕ OK )
❖ 1. ༗ޮͳෆ౳ลࡾ֯‫ܗ‬


2. ༗ޮͳೋ౳ลࡾ֯‫ܗ‬


3. ༗ޮͳਖ਼ࡾ֯‫ܗ‬
❖ γεςϜ͕ਖ਼͘͠ಈ͍ͨ݁ՌɺOK ʹͳΔύλʔϯ
❖ ݁Ռͷछྨͱಉ͡ύλʔϯ਺͸؆୯ʹग़ͤΔ
❖ ਖ਼ৗऴྃ ( ݁Ռ͕ OK
)

❖ ਖ਼ৗऴྃ ( ݁Ռ͸ NG
)

❖ όϦσʔγϣϯ
❖ ‫ڥ‬ք஋ςετ
❖ ϒϥοΫϘοΫεςετ
෼ྨ
ਖ਼ৗऴྃ ( ݁Ռ͸ NG )
❖ 10. a + b <
c

❖ γεςϜ͕ਖ਼͘͠ಈ͍ͨ݁ՌɺNG ʹͳΔύλʔϯ
❖ ͜Ε΋݁Ռͷछྨ෼͸؆୯ʹग़ͤΔ
❖ Ex) ߪೖͨ͠഑ૹதͷ঎඼ΛΩϟϯηϧ͢Δ
❖ ਖ਼ৗऴྃ ( ݁Ռ͕ OK
)

❖ ྑ͍Α
❖ ਖ਼ৗऴྃ ( ݁Ռ͸ NG
)

❖ ͜ͷग़඼ऀ͸ΩϟϯηϧΛड͚෇͚ͯͳ͍͔ΒͩΊͩΑ
❖ ͳ·΋ͷ͔ͩΒͩΊͩΑ
❖ ͲͪΒ΋഑ૹͷ࢓༷ʹ‫݁ͨͬ·ܾ͍ͯͮج‬Ռ
ΑΓΈͪ
ਖ਼ৗऴྃ ( OK, NG )
❖ ਖ਼ৗऴྃ ( ݁Ռ͸ OK
)

❖ ਖ਼ৗऴྃ ( ݁Ռ͸ NG
)

❖ όϦσʔγϣϯ
❖ ‫ڥ‬ք஋ςετ
❖ ϒϥοΫϘοΫεςετ
෼ྨ
όϦσʔγϣϯ
❖ 12. ෆਖ਼ೖྗ ( ඇ੔਺ )


13. ෆਖ਼ೖྗ ( ลͷ਺
)

❖ γεςϜΛͪΌΜͱಈ͔ͤͳ͍ύλʔϯ
❖ ͲΕ͚ͩҙ஍ѱͳൃ૝͕Ͱ͖Δ͔͕伴
όϦσʔγϣϯ
❖ Ex) ߪೖͨ͠഑ૹதͷ঎඼ΛΩϟϯηϧ͢Δ
❖ όϦσʔγϣϯ
❖ ஫จ൪߸Λؒҧ͑ͨ → ͦΜͳ஫จ஌Γ·ͤΜ
❖ ഑ૹͷ࢓༷Ͱ൑ఆͰ͖͍ͯͳ͍
ΑΓΈͪ
Φν͸ 3 ͭ
Ψʔυ ຊ୊ͷॲཧ
ਖ਼ৗऴྃ ( ݁Ռ͸ OK )
ਖ਼ৗऴྃ ( ݁Ռ͸ NG )
ॲཧલΨʔυ
ෆ౳ลࡾ֯‫ܗ‬
ೋ౳ลࡾ֯‫ܗ‬
ਖ਼ࡾ֯‫ܗ‬
ෆ੒ཱ
੔਺Ͱ͸ͳ͍
ล͕଍Γͳ͍
ΑΓΈͪ
❖ ਖ਼ৗऴྃ ( ݁Ռ͸ OK
)

❖ ਖ਼ৗऴྃ ( ݁Ռ͸ NG
)

❖ όϦσʔγϣϯ
❖ ‫ڥ‬ք஋ςετ
❖ ϒϥοΫϘοΫεςετ
෼ྨ
‫ڥ‬ք஋ςετ ( 1 )
❖ 5. 0 ͕͋Δ


6. ෛͷ਺͕͋Δ
❖ ‫ڍ‬ಈ͕มΘΔ‫ڥ‬໨ͱ྆࿬Λૂ͏
❖ ล͕࡞Εͳ͘ͳΔͱ͜Ζ
❖ ͦ΋ͦ΋ 0 ͸௒සग़


0 ਖ਼ͷ਺ ( ࡾ֯‫࡞͕ܗ‬ΕΔ )
ෛͷ਺
ਖ਼ৗऴྃ ( ݁Ռ͕ OK )
ະςετ
‫ڥ‬໨
‫ڥ‬ք஋ςετ ( 1 )
❖ Ex) CSV Λొ࿥ͯ͠ Web ϖʔδͷτοϓʹ͓஌Βͤ࿮Λग़͢
❖ Body ͕ 2 ߦ → ͓஌Βͤ࿮ 1 ͭʹ 2 ϝοηʔδ
❖ Body ͕ 1 ߦ → ͓஌Βͤ࿮ 1 ͭʹ 1 ϝοηʔδ
❖ Body ͕ 0 ߦ → ͓஌Βͤ࿮Λ࡞Βͳ͍
͕͜͜‫ڥ‬ք
ΑΓΈͪ
‫ڥ‬ք஋ςετ ( 2 )
❖ 8. a + b ==
c

❖ 0 Έ͍ͨͳϋʔυίʔυ஋Ͱ͸ͳ͘ɺϩδοΫͷ‫ڥ‬໨
❖ ෆ౳߸ͱ͔


if edge1 + edge2 <= edge3 {


…
͜Εૂ͍
‫ڥ‬ք஋ςετ ( 2 )
❖ Ex) CSV Ͱදࣔ͢Δ͓஌Βͤ͸༗ޮ೔਺͕ࢦఆͰ͖Δ
❖ ొ࿥೔ ( 2021/8/31 ) ͔Β 30 ೔͸༗ޮ
❖ 2021/9/30 → ༗ޮ
❖ 2021/10/1 → ແޮ


ΑΓΈͪ
if date.plus(30).isBefore(today) || date.plus(30) == today
{

...
❖ ਖ਼ৗऴྃ ( ݁Ռ͸ OK
)

❖ ਖ਼ৗऴྃ ( ݁Ռ͸ NG
)

❖ όϦσʔγϣϯ
❖ ‫ڥ‬ք஋ςετ
❖ ϒϥοΫϘοΫεςετ
෼ྨ
❖ 4. ೋ౳ลࡾ֯‫ܗ‬Λ 3 ճస


11. a + b < c Λ 3 ճస


9. a + b == c Λ 3 ճస


7. શ෦
0

❖ ࣮૷Λߟྀ ( ૝૾ ) ͤͣɺ࢓༷͔ΒςετΛ࡞Δ
❖ ʮa b c ͸·ͣฒͼସ͑Δ͔Βେৎ෉ʯͰ͸ͳ͍
❖ ʮ0 νΣοΫ͸࣮૷͔ͨ͠Βେৎ෉ʯͰ͸ͳ͍
ϒϥοΫϘοΫεςετ
Ҏ্Ͱ͢
❖ ਖ਼ৗऴྃ ( ݁Ռ͸ OK
)

❖ ਖ਼ৗऴྃ ( ݁Ռ͸ NG
)

❖ όϦσʔγϣϯ
❖ ‫ڥ‬ք஋ςετ
❖ ϒϥοΫϘοΫεςετ
※ ͋͘·Ͱ๻͕ࠓద౰ʹ࡞ͬͨ෼ྨͰ͢
෼ྨ ( ࠶‫ܝ‬ )
ςετύλʔϯʹ͸ཧ༝͕͋Δ
❖ ͳΜͱͳ͍ͬ͘ͺ͍ςετ͚ͨ͠Ͳෆ͕҆১͑ͳ͍
…

❖ ͱ͍͏ͷ͕͢͜͠؇࿨͢Δ͔΋
͔ͤͬ͘ͳͷͰ


ଞͷߟ͑ํ΋গ͚ͩ͠঺հ
෼ྨ
❖ ϗϫΠτϘοΫεςετ
❖ ΋ͬͱ‫ڥ‬ք஋ςετ ( Լ‫ݶ‬
)

❖ ΋ͬͱ‫ڥ‬ք஋ςετ ( ্‫ݶ‬
)

❖ ૊Έ߹Θͤςετ
❖ ঢ়ଶભҠςετ
※ ๻͕ 14 ͷղ౴͕͋Δͬͯ஌Δલʹࣗ෼Ͱॻ͍ͨ΋ͷ
※ ࣮‫ۀ‬຿ͰΑ͘࢖͏΋ͷ
ϗϫΠτϘοΫεςετ ( 1 )
❖ ࣮૷Λߟྀͯ͠ςετΛߟ͑Δ
❖ if ΍ for ΍Ϋϥεߏ଄΍ϝιουͳͲ͔Βߟ͑Δ
❖ ʮ͋ͷॲཧΛ࢖͏ͳΒখ਺΋֬ೝ͠Αʯ
❖ ͨͱ͑͹ 4 4 4.9 ͕ਖ਼ࡾ֯‫ͨͯͬͳʹܗ‬Βόάൃ‫ݟ‬




php: is_numeric(‘4.9’
)

true




intval(‘4.9’
)

4
ϗϫΠτϘοΫεςετ ( 2 )
❖ ίʔυΧόϨοδΛ΋ͱʹςετύλʔϯΛग़͢


❖ ࣮ࡍ͸πʔϧͰ୳͢
if edge1 + edge2 <= edge3
{

…

} else if edge1 + edge3 <= edge2
{

…

} else
{

…

}
͜͜Ұ౓΋࣮ߦ͞Εͯͳ͍ͳ
ʙʙϘοΫεςετͷ੔ཧ
ΑΓΈͪ
࣮૷
࢓༷
ϒϥοΫϘοΫεςετ ϗϫΠτϘοΫεςετ
❖ ূ໌Ͱ͖Δ͜ͱ
❖ ࢓༷௨Γʹಈ͘


❖ ূ໌Ͱ͖ͳ͍͜ͱ
❖ ࿦ཧతͳ͕ܽؕͳ͍
❖ ٕज़తͳ͕ܽؕͳ͍
❖ ূ໌Ͱ͖Δ͜ͱ
❖ ࣮૷͕ҙਤ௨Γ
❖ ͋Δߦ͕ಈ͍ͨ
❖ ূ໌Ͱ͖ͳ͍͜ͱ
❖ ࢓༷௨ΓʹͰ͖͍ͯΔ
❖ ಈ͍ͨߦ͸ਖ਼͍͠
΋ͬͱ‫ڥ‬ք஋ςετ ( Լ‫ݶ‬ )
❖ ۭจࣈ΍ۭ഑ྻͷύλʔϯ
❖ औΓѻ͍ΛϛεΔͱྫ֎͕Α͘ग़Δ
❖ ۭͬΆ΍ະఆٛ͸ 0 ͱ߹ΘͤͯԼ‫ݶ‬ͷ௒සग़ύλʔϯ
❖ ͨͱ͑͹ 1 ล΋ࢦఆ͠ͳ͍ͱྫ֎͕ग़ΔͳΒόάൃ‫ݟ‬
΋ͬͱ‫ڥ‬ք஋ςετ ( ্‫ݶ‬ )
❖ ʮे෼ʹେ͖͍਺ʯͬͯɺ͍ͭͩ͘Ζ͏ʁ
❖ ʮςετͯ͠ͳ͍ʯ͔ͭʮΨʔυͯ͠ͳ͍ʯ͸ଟ෼όάͬͯΔ
❖ ͱΓ͋͑ͣɺΦʔόʔϑϩʔΛૂͬͯΈΔͷ͕ఆ൪
❖ ͨͱ͑͹ 990‫ژ‬1 990‫ژ‬2 990‫ژ‬3 ͕ਖ਼ࡾ֯‫ͨͯͬͳʹܗ‬Βόάൃ‫ݟ‬






php: intval('9900000000000000001') === intval(‘9900000000000000002')


true
java: 2_000_000_000 < 1_000_000_000 + 1_500_000_000
false
❖ ‫࣮ݱ‬తʹ͸ 99 ͱ͔ʹ্‫ݶ‬ΛఆΊͯΨʔυͯ͠ςετ͢Δ
૊Έ߹Θͤςετ
❖ ύϥϝʔλ͕૬‫ʹޓ‬Ө‫͢ڹ‬Δ৔߹ ( ༗ଇ
)

❖ Ex) ೥ྸׂҾͱׂ࣌ؒҾͱ༵೔ׂҾͷ߹‫Ͱܭ‬ྉ͕ܾۚ·Δ
❖ ૯਺͸ଟ͘ͳ͍͕࿙Βͤͳ͍ → σγδϣϯςʔϒϧ
❖ ύϥϝʔλ͕૬‫ʹޓ‬Ө‫͍ͳ͠ڹ‬͸ͣͷ৔߹ ( ແଇ
)

❖ Ex) 3 ͷ঎඼ͱ 3 ͷܾࡁํ๏ͱ 3 ͷࠝแํ๏͕͋Δ
❖ ͨ͘͞Μࢼ͢ → ೋҼࢠؒ໢ཏ
ঢ়ଶભҠςετ
❖ Ex) ঎඼ΛΧʔτʹೖΕɺ஫จͯ͠഑ૹͯ͠΋Β͏
❖ ঎඼͸࣍ͷεςʔλεΛऔΓ͏Δ
❖ ࡏ‫ݿ‬ɺΧʔτ಺ɺ஫จࡁɺ഑ૹதɺ഑ૹ‫ྃ׬‬
❖ εςʔλε͸໭Γ͏Δ
❖ Χʔτ͔Βग़͢ɺΩϟϯηϧͰ໭ೖɺෆࡏͰ࠶഑ୡ
❖ ςΩετͩͱ͖͍ͭ → ঢ়ଶભҠਤͱঢ়ଶભҠද
෼ྨ ( ࠶‫ܝ‬ )
❖ ϗϫΠτϘοΫεςετ
❖ ΋ͬͱ‫ڥ‬ք஋ςετ ( Լ‫ݶ‬
)

❖ ΋ͬͱ‫ڥ‬ք஋ςετ ( ্‫ݶ‬
)

❖ ૊Έ߹Θͤςετ
❖ ঢ়ଶભҠςετ
࠷‫ʹޙ‬ɺ‫ݮ‬Β͢࿩
ςετ͸͓ΘΒͳ͍
❖ ূ໌Ͱ͖Δͷ͸ʮ‫ͨࠪ͠ݕ‬ൣғʹ͸όά͕ͳ͍ʯ͜ͱ
❖ ͍ͣΕͷख๏΋έʔε਺͸࣮࣭ແ‫ݶ‬
❖ ϒϥοΫϘοΫεςετͷೖྗόϦΤʔγϣϯ
❖ ϗϫΠτϘοΫεςετͷॲཧϑϩʔ
❖ ૊Έ߹Θͤςετͷ૯౰ͨΓ
❖ શ‫ࠪݕ‬ΛͰ͖ͳ͍Ҏ্ʮόά͕ͳ͍ʯ͜ͱ͸ূ໌Ͱ͖ͳ͍
༗‫ݶ‬ͷίετͰϦεΫΛ࠷খʹ͢Δ
❖ શ෦͸ແཧͳͷͰɺ໌֬ͳཧ༝Λ࣋ͬͯ࡟Δඞཁ͕͋Δ
❖ ϒϥοΫϘοΫεςετ͸࣮૷Λ‫ͯݟ‬ଧͪ੾Δ
❖ ϗϫΠτϘοΫεςετ͸࢓༷ͱরΒͯ͠ଧͪ੾Δ
❖ ૊Έ߹Θͤςετ͸૯౰ͨΓΛఘΊΔ
❖ ίετͱϦεΫΛఱṝʹ͔͚ଓ͚Δ
۩ମతʹ 2 ख๏͚ͩ঺հ
ಉ஋෼ׂ
❖ Ex) Χʔτʹ঎඼Λ 100 ·ͰೖΕΒΕΔɺ4 ͭҎ্ͰׂҾ͋Γ
❖ 6 ͭͰ͸ςετͨ͠ɺ͡Ό͋ 7 ͭ͸ʁ 8 ͭ͸ʁ
❖ Ͳ͏ߟ͑ͯ΋ΩϦ͕ͳ͍
❖ ಉ஋Ϋϥεͱ͍͏ಉ݁͡ՌʹͳΔ͸ͣͷάϧʔϓΛ࡞Γɺ୅දΛબͿ
❖ ‫ڥ‬ք஋෼ੳͱҰॹʹ΍Δ





ׂҾͳ͠
͋Γ͑ͳ͍ ׂҾ͋Γ ‫ڐ‬༰͞Εͳ͍
0 4 100
ಉ஋άϧʔϓ 1 ಉ஋άϧʔϓ 2
ೋҼࢠؒ໢ཏ
❖ Ex) 3 ͷ঎඼ͱ 3 ͷܾࡁํ๏ͱ 3 ͷࠝแํ๏͕͋Δ
❖ ঎඼ͳͲɺύϥϝʔλΛҼࢠͱ͍͏ ( ஋͸ਫ४ͱ͍͏
)

❖ ҼࢠΛ 2 ͚ͭͩ‫ͨݟ‬৔߹ʹɺશϖΞΛग़‫ͤ͞ݱ‬Δ͜ͱ
❖ ೋҼࢠؒͰେମͷόά͕ग़Δɺͱ͍͏‫͍ݹ‬࿦จ͕͋Δ
❖ ຬͨ͢ํ๏͕ɺ૯౰ͨΓͷଞʹ΋͍͔ͭ͋͘Δ
❖ ͋Δ 2 ྻ͚ͩΛ‫ͨݟ‬৔߹ʹɺશͯͷϖΞ͕ग़‫͍ͯ͠ݱ‬Δ






ೋҼࢠؒ໢ཏ ( Pairwise ๏ )
঎ࡐ ࢧ෷͍ํ๏ ࠝแࢦఆ
1 A Y
1 B Z
1 C X
2 A Z
2 B X
2 C Y
3 A X
3 B Y
3 C Z
·ͱΊ
ϩδΧϧʹग़͢ɾϩδΧϧʹ࡟Δ
❖ ԿΛૂͬͯͲ͏‫͢ূݕ‬Δ͔ɺϩδΧϧʹग़͢
❖ ͍ΖΜͳख๏͕͋Δ
❖ ίετͱϦεΫΛఱṝʹ͔͚ͯɺϩδΧϧʹ࡟Δ
❖ ‫ͨࠪ͠ݕ‬ൣғʹόά͕ͳ͍͜ͱΛূ໌Ͱ͖Δ͚ͩ
❖ ίετͱϦεΫ͔ΒɺͲͷఔ౓‫ࠪ͢ݕ‬Δ͔൑அ͢Δ
͓͠·͍
❖ ʮςετͬͯҊ֎͓΋͠Ζͦ͏ͩͳʯ
❖ ʮख๏͕͋ΔͳΒࣗ৴Λ࣋ͬͯςετ͕Ͱ͖ͦ͏ͩͳʯ
❖ ʮ࣍͸΋͏ͪΐͬͱ্ख͘ςετͰ͖ͦ͏ͩͳʯ
❖ ͬͯগ͠Ͱ΋ͳͬͨΒ‫͢Ͱ͍͠خ‬

More Related Content

What's hot

ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法
nishio
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
 

What's hot (20)

CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛
 
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
 
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NET
 
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
PPL 2022 招待講演: 静的型つき函数型組版処理システムSATySFiの紹介
 
The only one big thing every programmer should know
The only one big thing every programmer should knowThe only one big thing every programmer should know
The only one big thing every programmer should know
 
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
大規模Node.jsを支える ロードバランスとオートスケールの独自実装大規模Node.jsを支える ロードバランスとオートスケールの独自実装
大規模Node.jsを支える ロードバランスとオートスケールの独自実装
 
福岡大学における公開用NTPサービス事例(LACNOG2019発表資料日本語版)
福岡大学における公開用NTPサービス事例(LACNOG2019発表資料日本語版)福岡大学における公開用NTPサービス事例(LACNOG2019発表資料日本語版)
福岡大学における公開用NTPサービス事例(LACNOG2019発表資料日本語版)
 
電子署名(PKI)ハンズオン資料 V1.00
電子署名(PKI)ハンズオン資料 V1.00電子署名(PKI)ハンズオン資料 V1.00
電子署名(PKI)ハンズオン資料 V1.00
 
Coqチュートリアル
CoqチュートリアルCoqチュートリアル
Coqチュートリアル
 
#idcon vol.29 - #fidcon WebAuthn, Next Stage
#idcon vol.29 - #fidcon WebAuthn, Next Stage#idcon vol.29 - #fidcon WebAuthn, Next Stage
#idcon vol.29 - #fidcon WebAuthn, Next Stage
 
Scala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみたScala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみた
 
ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法ZDD入門-お姉さんを救う方法
ZDD入門-お姉さんを救う方法
 
これがCassandra
これがCassandraこれがCassandra
これがCassandra
 
AWSによるグラフDB構築
AWSによるグラフDB構築AWSによるグラフDB構築
AWSによるグラフDB構築
 
AVX2時代の正規表現マッチング 〜半群でぐんぐん!〜
AVX2時代の正規表現マッチング 〜半群でぐんぐん!〜AVX2時代の正規表現マッチング 〜半群でぐんぐん!〜
AVX2時代の正規表現マッチング 〜半群でぐんぐん!〜
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
 
Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)Introduction to Categorical Programming (Revised)
Introduction to Categorical Programming (Revised)
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話
 
不揮発性メモリ(PMEM)を利用したストレージエンジンの話 #mysql_jp #myna会 #yahoo #mysql #pmem #不揮発性メモリ
不揮発性メモリ(PMEM)を利用したストレージエンジンの話  #mysql_jp #myna会 #yahoo #mysql #pmem #不揮発性メモリ不揮発性メモリ(PMEM)を利用したストレージエンジンの話  #mysql_jp #myna会 #yahoo #mysql #pmem #不揮発性メモリ
不揮発性メモリ(PMEM)を利用したストレージエンジンの話 #mysql_jp #myna会 #yahoo #mysql #pmem #不揮発性メモリ
 

Similar to ユニットテストのパターンてどうやって考えれば良いの?

3 kodovi final-2014
3 kodovi final-20143 kodovi final-2014
3 kodovi final-2014
Marko Ancev
 
Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋
Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋
Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋
Akira Ouchi
 
SECURICON - February 2016
SECURICON - February 2016SECURICON - February 2016
SECURICON - February 2016
PROBOTEK
 

Similar to ユニットテストのパターンてどうやって考えれば良いの? (20)

座談会概要 20141213
座談会概要 20141213座談会概要 20141213
座談会概要 20141213
 
3 kodovi final-2014
3 kodovi final-20143 kodovi final-2014
3 kodovi final-2014
 
Healthy Eva D2C Chinese
Healthy Eva D2C ChineseHealthy Eva D2C Chinese
Healthy Eva D2C Chinese
 
Papadakis margaronis - dio diagonismata 2021 - ekf
Papadakis   margaronis - dio diagonismata 2021 - ekfPapadakis   margaronis - dio diagonismata 2021 - ekf
Papadakis margaronis - dio diagonismata 2021 - ekf
 
Panasonic tx-pr5 vt60
Panasonic tx-pr5 vt60Panasonic tx-pr5 vt60
Panasonic tx-pr5 vt60
 
第3回八子クラウド座談会in関西 進行資料 20141025
第3回八子クラウド座談会in関西 進行資料 20141025第3回八子クラウド座談会in関西 進行資料 20141025
第3回八子クラウド座談会in関西 進行資料 20141025
 
初學方劑學.Pptx
初學方劑學.Pptx初學方劑學.Pptx
初學方劑學.Pptx
 
余中强 乐逗手游发行技术平台
余中强 乐逗手游发行技术平台余中强 乐逗手游发行技术平台
余中强 乐逗手游发行技术平台
 
Blt 专利化经营
Blt 专利化经营Blt 专利化经营
Blt 专利化经营
 
kikuchi_b
kikuchi_bkikuchi_b
kikuchi_b
 
座談会資料 当日メモ付き 20141213
座談会資料 当日メモ付き 20141213座談会資料 当日メモ付き 20141213
座談会資料 当日メモ付き 20141213
 
リッテルナビゲーター 東海大学様講習資料 20141202
リッテルナビゲーター 東海大学様講習資料 20141202リッテルナビゲーター 東海大学様講習資料 20141202
リッテルナビゲーター 東海大学様講習資料 20141202
 
自治体向け「子育て支援サイト」で、オープンソースCMS「Liferay」を使ったら「パーソナライズ」が実現できますか?
自治体向け「子育て支援サイト」で、オープンソースCMS「Liferay」を使ったら「パーソナライズ」が実現できますか?自治体向け「子育て支援サイト」で、オープンソースCMS「Liferay」を使ったら「パーソナライズ」が実現できますか?
自治体向け「子育て支援サイト」で、オープンソースCMS「Liferay」を使ったら「パーソナライズ」が実現できますか?
 
メディアアートにおける知的財産の利活用の検討
メディアアートにおける知的財産の利活用の検討メディアアートにおける知的財産の利活用の検討
メディアアートにおける知的財産の利活用の検討
 
Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋
Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋
Ejectコマンド工作入門/Ejectコマンドユーザー会最新動向2014秋
 
第3回八子クラウド座談会in関西 資料(当日メモ付き) 20141025
第3回八子クラウド座談会in関西 資料(当日メモ付き) 20141025第3回八子クラウド座談会in関西 資料(当日メモ付き) 20141025
第3回八子クラウド座談会in関西 資料(当日メモ付き) 20141025
 
Завдання ЗНО фізика 2020 додаткова сесія без відповідей
Завдання ЗНО фізика 2020 додаткова сесія без відповідейЗавдання ЗНО фізика 2020 додаткова сесія без відповідей
Завдання ЗНО фізика 2020 додаткова сесія без відповідей
 
電流協講演資料1
電流協講演資料1電流協講演資料1
電流協講演資料1
 
SECURICON - February 2016
SECURICON - February 2016SECURICON - February 2016
SECURICON - February 2016
 
이화여대 아이패드 가이드북 활용사례
이화여대 아이패드 가이드북 활용사례이화여대 아이패드 가이드북 활용사례
이화여대 아이패드 가이드북 활용사례
 

ユニットテストのパターンてどうやって考えれば良いの?