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

あなたのアプリ、ログはでてますか?あるいはログをだしてますか? (Funabashi.dev用...

uzulla
September 14, 2024

あなたのアプリ、ログはでてますか?あるいはログをだしてますか? (Funabashi.dev用 軽量版)

- at: Funabashi.dev
- date: 2024/9/14
- author: uzulla
- このスライドはこちらの再編集版です
- https://speakerdeck.com/uzulla/are-you-writing-a-log-or-just-out-a-log
- https://www.youtube.com/watch?v=_HA2b7mWfLU

uzulla

September 14, 2024
Tweet

More Decks by uzulla

Other Decks in Programming

Transcript

  1. ࣗݾ঺հ { JEV[VMMB ͏ͣΒ { ϑϦʔϥϯε΢ΣϒܥΤϯδχΞ { ಘҙͳ ґཔ͞ΕΔ ෼໺͸ɺ΢Σϒͷ

    όοΫΤϯυܥͰɺઃܭ͔ΒϦϑΝ ΫλϦϯάɺΫϥ΢υΠϯϑϥɺϛ υϧ΢ΣΞνϡʔχϯάͳͲɺԿͰ ΋ɻ { ϓϩάϥϛϯάݴޠʹ͍ͭͯ͸ɺҰ൪ ॻ͍͍ͯΔͷ͸ݴޠ͸1)1Ͱ͕͢ɺ 54΍(P౳΋ඞཁʹԠͯ͡΍͍ͬͯ ·͢ɻ
  2. ϩάΛ஌ͬͯ·͔͢ʁ { ࠷ۙ͸ϩάΛҙࣝ͠ͳ͍ਓ΋ଟ͍ͷͰ ྫ͑͹ApacheΞΫηεϩάͷྫ 127.0.0.1 - - [11/Jun/2023:10:30:15 +0000] "GET

    /index.html HTTP/1.1" 200 1234 { *1ΞυϨεɺ೔࣌ɺ)551ϝιουɺύεɺεςʔλείʔυͳͲͷ ͋Δఔ౓ߏ଄Խ͞Εͨ৘ใ { Ͱ΋ΞΫηεϩάͱ͔΋͏ݟͳ͍Ͱ͢ΑͶɺඞཁͳͷ͸Τϥʔϩά΍Ξ ϓϦέʔγϣϯϩά
  3. ͭ·Γϩάͱ͸ { Πϕϯτ࣌ ΞΫηε΍Τϥʔ ʹ࢒͞ΕΔϝοηʔδ { ਓؒ΍ػց͕ಡΉͨΊʹه࿥͞Εͨ΋ͷ ϩάͷޠݯ͸ߤւ೔ه { ݹདྷɺྺ࢙తʹςΩετܗ͕ࣜଟ͍

    { ϝοηʔδ͚ͩͰͳ͘ϝλσʔλ͕෇༩͞Ε͍ͯΔ ʢεςʔλεɺ೔෇ɺ*1ɺϢʔβʔΤʔδΣϯτ ϒϥ΢β ౳ʣ { ࠷ۙ͸ϝοηʔδ͚ͩͰͳ͘ɺߏ଄Խͨ͠௥Ճ৘ใ͕͋Δ͜ͱ΋ { +40/ܗࣜͳͲͰ { "1. 4BB4͕ఏڙ͢ΔௐࠪϓϥάΠϯΈ͍ͨͳ΋ͷ ͕ࣗಈͰ෇༩ ΋
  4. ϩάΛग़͢ { େ఍ͷ؀ڥʹ͸ͳΜΒ͔ Τϥʔ ϩάΛग़͢࢓૊Έ͕͋Δ { େ఍ɺ+BWB-PHKΛ࢝૆ͱͨ͠λΠϓͷϩΨʔ͕͋Δ { 1)1ͳΒ.POPMPH͕ఆ൪ {

    ϑϩϯτΤϯυͩͱ8JOTUPOͱ͔͕͋Γ·͕͢ɺ ʮϩάΛऔΔʯͱ͍͏ߦҝࣗମ͕ϝδϟʔͰ͸ͳ͍ͳʜʁ { 4FOUSZɺ/FX3FMJDɺ%BUB%PH౳ʁ ͍͖ͳΓ"1.લఏͩ { ಈ࡞தͷΞϓϦҎ֎ͷϩά΋ॏཁɻͨͱ͑͹ϦϦʔε࣌ࠁ͸ه࿥͢Δͱ ো֐ͷ੾Γ෼ָ͚͕ʹͳΔɻ$% ܧଓతσϦόϦʔ ͍ͯ͠ΔͳΒࣗ ಈԽʹ͘Έ͜Ή
  5. ϩάΛग़͢ग़͞ΕΔϩά಺༰ { ग़ྗ͍ͯ͠ͳ͍ϩά͸ೋ౓ͱͱΕͳ͍ɺͷͰɺग़͢ { ʮ͍ͭʯɺʮͲ͜ͰʯɺʮԿ͕ԿΛʯɺʮͲ͏͢Δ͔ʁʯΛ໌֬ʹ { ͍ͭ೔࣌ɺαʔόʔ { Ͳ͜ͰϝιουɺΫϥεɺϑΝΠϧɺߦ {

    Կ͕ɺԿΛ ͓ͬͨ͜ ϝοηʔδɺΤϥʔ಺༰ { Ͳ͏͢Δ͔ʁͦͷ໰୊ʹͲ͏ରԠ͢Δ͔ͷυΩϡϝϯτ ΁ϦϯΫ ౳ ແ͍ͱຖճௐ΂ΔඞཁɺଐਓԽɻࢲ͸ڧௐ͓͖͍ͯͨ͠ { Ϩϕϧ΋͚ͭͯɺۓٸͳͷ͔ɺແࢹͯ͠Α͍ͷ͔ʜ
  6. ݟΔɾݕࡧɾ௨஌͢Δ { αʔόʔʹTTIͯ͠ϩάΛMFTTɺUBJMɺHSFQ ݪ࢝త { ,JCBOB &4ͱ͔/FX3FMJDͱ͔.BDLFSFMͱ͔ʹอଘ { ݕࡧɺूܭɺղੳɺϏδϡΞϥΠζ͕Ͱ͖Δ {

    ϦΞϧλΠϜʹूܭɾݕࡧϑΟϧλͰ௨஌ { ௨஌͸ॏཁɺϩάΛݟʹߦ͘ͱ஗͍ɺϩά͕དྷΔ΄͏͕ૣ͍ { ఆظతʹ૿ՃɺݮগɺແବͳΞϥʔτͷ୨Է͠Λ͢Δʹ͸ूܭ͕ඞཁ { ूܭͰ͖Δ4BB4Λ࢖͏ͱΑ͍ { ൃੜ͚ͩͰͳ͘૿Ճ΍ɺݱ৅ɾະൃੜʹ͍ͭͯϑΥʔΧε΋ॏཁ
  7. ରԠ͢Δ ແࢹ͢Δ { ʮରԠͬͯͳΜͰ͔͢ʁʯʮ࠶ىಈͱ͔ 3FWFSUͱ͔ ʯ { ʮ͜ΕɺରԠ͠ͳ͍ΜͰ͔͢ʁʯʮͦΕ͸͠ͳ͍͍ͯ͘Αʯ { ϩάϨϕϧ͕ͪΌΜͱઃఆ͞Ε͍ͯͳ͍ͱ͜͏͍͏ձ࿩ʹͳΓ͕ͪ

    { &SSPS͚͔ͩ͠ͳ͍ͱɺࣗ෼Ҏ֎ݟ෼͚͕͔ͭͳ͍ΑͶ { ଐਓԽ͠ͳ͍ͨΊʹ΋ɺ%PDVNFOUΛ࡞੒͢Δ { Τϥʔϝοηʔδʹ%PDVNFOU΁ͷϦϯΫΛ { ͦ͏͠ͳ͍ͱʮ͜ΕͲ͏͢Ε͹͍͍ͷʁʯଐਓԽ { ରԠ͠ͳ͍ϩά͸ ϨϕϧΛม͑ͯ ӅͤʂϊΠζͩʂʂ
  8. தؒ·ͱΊ { ϩά͸࢒͚ͩ͢Ͱ͸΋͍ͬͨͳ͍ɺʮԿ͔Λ͢ΔͨΊʯͰߟ͑Δ { αΠΫϧΛҙࣝ͠·͠ΐ͏ʂʂ { Ϗδϣϯ΋ॏཁ { ྫαʔϏε͕ྼԽ͠ͳ͍ɾվળͯ͠΄͍͠ {

    ʮ౰ͨΓલͰ͸ʁʯͱ͓΋ΘΕ͕͕ͪͩʜ { ʮ։ൃͷͨΊͷϩάʯ͸ʮӡ༻ͷͨΊͷϩάʯͰ͸ͳ͍ { ӡ༻࣌΋ɺ։ൃ࣌΋ ଐਓΛഉআ͠·͠ΐ͏ʂʂ
  9. ߦಈ { όάΛਝ଎ʹ௚͢ { Ұ୴3FWFSU͢Δ { ͜ΘΕͨσʔλΛ௚͢ { ͨͱ͑͹࠶ىಈ͢Δ {

    ͓٬༷ʹࠂ஌͢Δ { ͨΊʹɺΧελϚʔαϙʔτͱ࿈ܞ͢Δ { ͦ΋ͦ΋ؾͮ͘ඞཁ͕͋Δ { ӨڹൣғΛͪΌΜͱ೺Ѳ͢Δ { FUD
  10. ௨஌͸݁ہԿ͕Α͍͔ʁ { લड़ͷ௨ΓϨϕϧʹԠͤ͡͞ΔͱΑ͍ { ͜Ε΋ϊΠδʔͩͱແࢹʹͭͳ͕Δ { ڀۃతʹ͸ɺྲྀΕͯߦ͘4MBDL͔ɺి࿩ 4.4 ͔ {

    ʮ୭͕ʯରԠ͢Δ͔͸ܾΊ͓͍ͯͨํ͕ྑ͍ { ୭͔͕΍ΔͩΖ͏ͱ͍͏ʮ͓ݟ߹͍ʯ͕Ұ൪Ϡό͍ { 4BB4ʹ͸ɺ͜ͷਓ͸͜ͷ࣌ؒରԠΈ͍ͨͳγϑτػೳ͕͋Δ͜ͱ΋ { ۃ࿦͕ͩɺ4MBDL ΍εϚϗ௨஌ ͔ɺి࿩ ग़Δ·Ͱଓ͚Δ ʹͳΔ { ʮઈରʹແࢹ͞Εͨ͘ͳ͍ʯΤϥʔΛແࢹͰ͖ͳ͍Α͏ʹ͢Δ { ͱ͸͍͑ɺϓϩμΫτʹΑͬͯ͸ͦ͜·Ͱ͸͠ͳ͍
  11. ࣌ܥྻɾ࣌ؒൣғͰݟΔϩά { ఆظతʹूܭ͕Ͱ͖ΔΑ͏ͳ΋ͷ { ϩάϓϥοτϑΥʔϜͷ׆༻ { Ξϥʔτ৚݅ͷઃఆʢ/ඵؒʹ.ճͷᮢ஋ઃఆͳͲʣ { ͪΐͬͱߴ౓ʹʮ˓͕/ඵؒൃੜ͍ͯ͠ͳ͍ͷ͸ো֐ʯͱݴ͏ϧʔϧ {

    ߴ౓Ͱ͢ΑͶʁͳͷͰࣗલͰ࡞Δ ༻ҙ͢Δ ͷͰ͸ͳ͘ɺ4BB4ΛआΓ ͨํ͕ྑ͍ ͓ۚΛ͸Βͬͨ΄͏͕Α͍ ɺ݁ہ҆ͭ͘͘͠ɺͦͷ࣌ؒ Λػೳ։ൃʹ͋ͯΕ͹Ξ΢τΧϜʹͭͳ͕Δ
  12. ༨ஊ4BB4ͷྫ { /FX3FMJD %BUB%PH 4FOUSZ FUD { ʮස౓ͷ্ঢʯΛτϦΨʔʹ͢ΔͳͲߴ౓ͳΞϥʔτઃఆ͕Մೳ { εϚϗΞϓϦͳͲ͕͋Δ

    { ߴ͍͚ͲɺਓΛޏ͏ͷʹൺ΂Δͱ͍҆ { /32-ͳͲಠࣗΫΤϦͰͨΊࠐΜͩσʔλΛϝτϦΫεʹ͠΍͍͢ { ؂ࢹ͢Δҝͷ؂ࢹΛͭ͘Βͳͯ͘΋Α͍ͷ΋ϙΠϯτ
  13. ͨΊͯɺ෼ੳ { Τϥʔ͕૿͑ͯͳ͍͔ɺΤϥʔͷछྨ͕มΘͬͯͳ͍͔ { ϝτϦΫεͷՄࢹԽ { σϓϩΠͷӨڹ෼ੳ { ϦϦʔε೔࣌ͷه࿥ ΍ɺ4MBDLͳͲ΁ͷ௨஌

    ɺ$%࿈ܞ { ҟৗऴ͚ྃͩͰͳ͘ɺਖ਼ৗऴྃͷܽ೗΋؂ࢹ { ࣮ߦ࣌ؒͷूܭͱ෼ੳ { ͩΜͩΜॏ͘ͳͬͯΔɺͱ͔X͔͋Δ
  14. ϩάͷॏཁϙΠϯτ { ࠷ऴతʹ͸ʮରԠ͢ΔʯՕॴ͕ϙΠϯτ { ӬԕʹରԠ͠ͳ͍ ݟͳ͍ ͳΒϩά͍Βͳ͍ΑͶ { ରԠ͢ΔͨΊʹ͸ɺ୳͢ ϑΟϧλ

    ͢Δඞཁ͕͋Γ { ୳ͨ͢Ίʹ͸Ͳ͔͜ʹอଘ͞Ε͍ͯΔ͸ͣͰ͋Γ { อଘ͞Ε͍ͯΔͨΊʹ͸ग़͢ඞཁ͕͋Δ { Ұप͠·ͨ͠Ͷ
  15. ·ͱΊ { ϩά͸ʮԿ͔Λ͢ΔͨΊʯʹଘࡏ͢Δ { ʮϩά͕དྷ͍ʯ ΦϒβʔόϏϦςΟ ʁ ͷ࣌୅ { ྑ͍ϩάઃܭ͔Β͘Δɺ҆ఆతͰ҆৺Ͱ͖Δӡ༻Λ໨ࢦͦ͏

    { ʮ͋Εʁ͜Ε͸؂ࢹͰ͸ʁʯʮͦ͏Ͱ͢ʯ { ͦ͏͍͏ຊΛΑΜͰɺͦΕͷ࣮ݱͷͨΊʹϩάΛߟ͑ͯΈΔͱΑ͍