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

2021/02/03 OSS LT会 「自作したOSSに対し厳しいFeedbackがあった話」

doyaaaaaken
February 02, 2021

2021/02/03 OSS LT会 「自作したOSSに対し厳しいFeedbackがあった話」

doyaaaaaken

February 02, 2021
Tweet

More Decks by doyaaaaaken

Other Decks in Programming

Transcript

  1. kotlin-csvΛ࡞ͬͨഎܠ • എܠ • Kotlin੡CSVϥΠϒϥϦ͕ແ͔ͬͨ • Java੡CSVϥΠϒϥϦ͸৴པͰ͖Δ͕υΩϡϝϯτ͕೉ղͰؾָ͕͞ͳ͔ͬͨ • ߟ͑ͨ͜ͱ •

    Scalaʹ΋scala-csvͱ͍͏ϥΠϒϥϦ͕͋ΓɺେखاۀͰ΋࢖ΘΕ͍ͯͨͷͰɺ ͦͷݴޠݻ༗ͷϥΠϒϥϦʹχʔζ͸͋Γͦ͏ • kotlin͸multiplatformػೳ͕͋Δ͠ʢ=Ϗϧυ੒Ռ෺͕JVM༻Ҏ֎ʹ΋Android/iOS/૊Έ ࠐΈ/JS౳ɺ༷ʑͳϓϥοτϑΥʔϜͰಈ͔ͤΔܗࣜʹରԠ͢Δػೳʣɺ७ਮͳkotlinͰॻ ͔ΕͨCSVϥΠϒϥϦ͕͋ͬͨ΄͏͕ྑͦ͞͏
  2. ωΨςΟϒͳ੠͕͋ͬͨɾɾɾ • CSVʹΊͪΌͪ͘Όৄͦ͠͏ͳਓ͔Β 3400จࣈ௒ʢA4༻ࢴ3ຕ෼ʣͷਏ᫤ͳίϝϯτ͕ଈ͍ͭͨ طଘͷ5SJFEBOE5SVF੒ख़ͨ͠$47ϥΠϒϥϦͷ্ʹ࢖͍΍͍͢%4-ΛॏͶͨ͜ͱʹ ?ɻ $47͸ඍົͰ͢ ඍົͳͷ͸࢓༷ͷܽ೗ͱʮݱ৔ʯͰͷಛఆԽ΁ͷద߹ੑͷܽ೗ͳͷͰҾ༻͠·͢ ɻࢲ͸ɺ$47ʹڞ௨͢Δʮݱ࣮ੈքʯͰͷࠔ೉ͷൣғΛաখධՁͤͣɺ͜ΕΒͷݱ࣮໰୊Λѻ͏ͨΊʹ੒ ௕ͨ͠ϥΠϒϥϦΛʮϢʔβʔʹߴػೳͳϥΠϒϥϦ͸ඞཁͳ͍ʯͱҰׅΓʹ͠ͳ͍͜ͱΛ͓קΊ͠·͢ɻ

    ໰୊͸݁߹͞ΕΔ܏޲͕͋Γ·͕͢ɺԿ͕ʮ೿ख͚ͩͲෆཁͳʯػೳͳͷ͔͕໌Β͔Ͱ͸ͳ͍ͷʹରͯ͠ɺʮ?͋ͳͨ͸ຊ౰ʹͳͥ͜Μͳ͜ͱΛ͠ͳ͚Ε͹ͳΒͳ͔ͬͨͷ͔஌Γͨ͘ͳ͍Ͱ͠ΐ͏Ͱ΋ࢲΛ৴ͯ͡ɺ ͋ͳͨ͸ͦΕΛඞཁͱ͍ͯ͠Δʯͱ͍͏Α͏ͳ໰୊Ͱ͢ɻ ࢲ͸ɺ͋ͳͨͷϥΠϒϥϦ͕ެ։͍ͯ͠Δ෇ՃՁ஋ʢʮγϯϓϧ%4-Ϣʔεέʔεʯʣʹয఺Λ౰ͯΔ͜ͱΛ͓קΊ͠·͕͢ɺ੒ख़ͨ͠ʢϓϥάΠϯՄೳͳʣ$47ϥΠϒϥϦʢෳ਺Մʣͷ্ʹͦΕΛϥοϓ͢Δ͜ͱ Λ͓קΊ͠·͢ɻ ͳͥϓϥΨϒϧͳͷ͔ʁωΠςΟϒʯͳσΟεϏδϣϯ͸ؔ࿈ੑ͕͋Γ·͕͢ɺ+7.্Ͱ΋ɺϓϩάϥϜ͕ՄೳͳݶΓσʔλͷγϦΞϥΠζύʔεσʔλϚοϐϯάͷͭͷʮϑΝϛϦʔʯʹݻࣥ͢Δཧ༝͕͋ Γ·͢ɻ ྫ͑͹ɺΧϥϜϔομͷσʔλϑΟʔϧυϓϩύςΟ໊΁ͷҰ؏ͨ͠Ϛοϐϯά΍ɺͦΕΒ͕૬ޓӡ༻Ͱ͖ΔΑ͏ʹ෺ࣄΛઃఆ͢ΔҰ؏ͨ͠ํ๏ͳͲͰ͢ɻ ྫ͑͹ɺ֎෦ఆٛͷ$47ϑΝΠϧΛಡΈॻ͖͠ͳ͚Ε͹ͳΒͳ͍ΞϓϦʹऔΓ૊ΜͰ͍·͢ɻ ࣮ࡍʹ͸547  ·ͨɺ͜ΕΒΛ,PUMJOΫϥεʹσʔλϚοϐϯάͯ͠ɺ಺෦ͷϏδωεϩδοΫ΍αʔυύʔςΟͷ πʔϧʢ(6*΍%#ͳͲʣʹެ։͢Δඞཁ͕͋Γ·͢ɻ Ϩίʔυ൪߸ʯͷΑ͏ͳίϥϜͷݟग़͠ͷΑ͏ͳʮ୯७ͳʯ΋ͷΛ࠷ޙ·ͰҰ؏࣏ͨ͠ྍΛड͚Δͷ͸ɺ৴͡ΒΕͳ͍΄Ͳͷۤ௧Ͱ͢ɻ ΋ͬͱඍົͳ໰୊547ϑΝΠϧ λϒDTW ͸Ҿ༻ූͰғ·Εͨ஋ΛؚΉ͔ɺؚ·ͳ͍͔ ϔομͷॱ൪͸໌Β͔ʹͳΔͷ͔ ಡΈࠐΈ࣌ʹॱ൪͕ڰ͍ͬͯΔ͜ͱΛݕग़Ͱ͖Δͷ͔ ॻ͖ࠐΈ࣌ʹ͸Ͳ͏͔ ಡ ΈऔΓͱॻ͖ࠐΈ͸ಉ͡಺༰Λੜ੒͠ͳ͚Ε͹ͳΒͳ͍ͷ͔ɺͦΕͱ΋୯ʹ࿦ཧతʹಉ౳ͷ಺༰Λੜ੒͠ͳ͚Ε͹ͳΒͳ͍ͷ͔ʁεΩʔϚ͸σʔλͷݕূʹ࢖༻Ͱ͖Δ͔ DTWTDIFNBͷΑ͏ʹ ɺΧϥϜ໊Ͱσʔλ ΛݕࡧͰ͖Δ͔ ௥Ճ΍ܽམͨ͠ΧϥϜ͸͋Γ·͔͢ʁۭͷ஋͸ψϧ·ͨ͸Ͱ͔͢ʁ஋͸ೖྗ͞Ε͍ͯ·͔͢  ແޮͳ਺஋͸ڋ൱͞ΕΔ͔౉͞ΕΔ͔ ɺΤεέʔϓ͸࢖༻͞Ε͍ͯ·͔͢ ࢖༻͞Ε͍ͯΔ৔߹ɺ ͲͷΑ͏ͳελΠϧͰ͔͢ ຒΊࠐ·Εͨվߦ͸ଘࡏ͢Δ͔ʁ ͜ΕΒ͸໰୊ͷҰ෦ʹա͗·ͤΜɻओཁͳ$47ϥΠϒϥϦͷνΣοΫΠϯཤྺΛݟΕ͹ɺগͣͭ͠ղܾ͞Ε͖ͯͨ໰୊ͷྺ࢙ΛݟΔ͜ͱ͕Ͱ͖·͢ɻ ϥΠϒϥϦ࡞੒ऀͷࢹ఺Ͱ͸൚༻తͳέʔεͰ͸ɺಠࣗͷύʔαΛॻ͔ͳ͍͜ͱΛڧ͓͘קΊ͠·͢ɻ ϥΠϒϥϦͷফඅऀͷ؍఺͔Β͸ɺݹ͍੒ख़ͨ͠ڞಉσʔλϕʔεʹج͍͍ͮͯͳ͍$47ϥΠϒϥϦʹ͸͔ۙͮͳ͍Α͏ʹ͍ͨ͠ͱࢥ͍·͢෇ՃՁ஋͕Ͳ͏Ͱ͋ΕϦεΫΛෛ͏Ձ஋͸͋Γ·ͤΜɻ աڈ ೥ͷؒʹɺʮ͜ΕͰे෼ͩΑʯͱ͍͏༮ஓͳࢼΈ͕Կ౓΋ߦΘΕ͖ͯ·ͨ͠  ࢲ͸ଟ͘ͷ$47ϥΠϒϥϦ͕σʔλϚοϐϯάϥΠϒϥϦʹ΋ؔ࿈͍ͯ͠Δ͜ͱΛൃݟ͠·ͨ͠ɻࢲ͸ɺDTWͷಡΈࠐΈ͕σʔλϕʔεΞΫηε΍υΩϡϝϯτͷղੳʹ࢖༻͞ΕΔͷͱಉ͡Α͏ͳ࢖༻ྫ͕͋Δͱߟ ͍͑ͯ·͢DTWͷڞ௨ͷʮίΠϯͷཪଆʯͰ͢ɻͦͷ݁Ռɺྫ͑͹+BDLTPOσʔλόΠϯσΟϯά ΦϒδΣΫτϚούʔ  +BDLTPO$47Ϟδϡʔϧɺ·ͨ͸4JNQMF'MBU.BQQFSKECDDTW͢΂ͯͷؔ࿈͢Δ Ϛοϐϯά΍ڞ௨ͷσʔλϚοϐϯάϥΠϒϥϦ KECDϕʔεͷϚούʔͷΑ͏ͳ ʹ౷߹͞Εͨ΋ͷʹͳΓ·͢ɻ ϓϥάΠϯՄೳͳ$47ϥΠϒϥϦΛ࢖༻͍ͯ͠Δ৔߹ɺϓϥάΠϯՄೳͳΦϒδΣΫτσʔλϚούʔͱʮϖΞϦϯάʯͰ͖ΔΑ͏ʹ͍ͨ͠ͱࢥ͏͔΋͠Εͳ͍ͷͰɺ͜ͷ఺ʹ஫ҙ͍ͯͩ͘͠͞ɻ͜ΕʹΑΓɺෳ ਺ͷγϦΞϥΠθʔγϣϯͰಈ࡞͢Δڞ௨ͷΫϥεఆٛͱΞϊςʔγϣϯηοτΛ࢖༻͢Δ͜ͱ͕Ͱ͖·͢ɻ ʢ˞%FFQ-ແྉ൛༁ʣ ※ ҰݴͰ͍͏ͱʮCSVͱ͍͏՝୊ΛաখධՁ͗͢͠ɻ੒ख़͍ͯ͠ͳ͍ϥΠϒϥϦ͸࢖͍ͨ͘ͳ͍ɻʯͱ͍͏ҙݟ
  3. ։ൃఀࢭɾެ։ఀࢭ͢΂͖͔ͷ໎͍ • ໎͍1: ࢦఠ಺༰͸Ұݸਓͷҙݟͱͯ͠͸׬શʹਖ਼͍͠ • ʮ੒ख़ͨ͠ϥΠϒϥϦΛ࢖͏ʯͱ͍͏ҙݟ͸ਅͬ౰ͳҙݟ • ໎͍2: ࢲࣗ਎͸CSVʹ͍ͭͯৄ͍͠ਓͰ͸ͳ͍ •

    RFC͸ಡΜ͕ͩɺ࣮ଶͷ໰୊ʹ͍ͭͯ͸ૉਓ • ࢦఠͨ͠ਓ͸ઐ໳ੑ͕ߴͦ͏ 㱺 ͜ͷ··։ൃɾެ։ΛਐΊͯେৎ෉ͳͷ͔ʹ໎͍͕ग़ͯ ɹ Ϟνϕʔγϣϯ͕ંΕ͔͚ͨ