Slide 1

Slide 1 text

γΣϧܳೖ໳ 2019/4/25 ΄ΖΑ͍ͯͬ͘
 @yn2011

Slide 2

Slide 2 text

ࣗݾ঺հ • SalesforceͱJavaScript΍ͬͯ·͢ • γΣϧܳॳ৺ऀͰ͢

Slide 3

Slide 3 text

࿩͢͜ͱ • ର৅ • γΣϧεΫϦϓτʹೃછΈ͕ͳ͍ํ • λʔϛφϧ͕ා͍ํ • γΣϧܳ • ͍͔ʹͯ͠ϫϯϥΠφʔͰ໰୊Λղ͔͘

Slide 4

Slide 4 text

γΣϧܳͱ͸ • ఆٛ • ʮϚ΢ε΋࢖Θͣɺιʔείʔυ΋࢒ͣ͞ɺGUIπʔϧΛཱ ্ͪ͛Δؒ΋ͳ͘ɺ͋ΒΏΔௐࠪɾܭࢉɾςΩετॲཧΛ CLI୺຤΁ͷίϚϯυೖྗҰܸͰऴΘΒͤΔ͜ͱʯʢUSP༑ ͷձձ௕ɾ্ాོҰࢯʹΑΔఆٛʣ • γΣϧܳਓ

Slide 5

Slide 5 text

࿩͢͜ͱ • ͍͔ʹͯ͠ϫϯϥΠφʔͰ໰୊Λղ͔͘

Slide 6

Slide 6 text

ϫϯϥΠφʔ • one liner / ศརͳҰߦ໺࿠ • ྫ • 2 ~ 100ҎԼͷૉ਺Λશͯྻڍ

Slide 7

Slide 7 text

ϫϯϥΠφʔ • one liner / ศརͳҰߦ໺࿠ • ྫ • 2 ~ 100ҎԼͷૉ਺Λશͯྻڍ $ seq 2 100 | factor | awk 'NF==2{print $2}'

Slide 8

Slide 8 text

ϫϯϥΠφʔ • one liner / ศརͳҰߦ໺࿠ • ྫ • 2 ~ 100ҎԼͷૉ਺Λશͯྻڍ $ seq 2 100 | factor | awk 'NF==2{print $2}'

Slide 9

Slide 9 text

࿩͢͜ͱ • ͍͔ʹͯ͠ϫϯϥΠφʔͰ໰୊Λղ͔͘

Slide 10

Slide 10 text

໰୊ • γΣϧܳษڧձͷ໰୊Λ୊ࡐʹ

Slide 11

Slide 11 text

໰୊ • γΣϧܳษڧձͷ໰୊Λ୊ࡐʹ • Q. ύζϧతཁૉ͕ڧͯ͘ۀ຿Ͱ͸໾ʹཱͨͳ͍ʁ

Slide 12

Slide 12 text

໰୊ • γΣϧܳษڧձͷ໰୊Λ୊ࡐʹ • Q. ύζϧతཁૉ͕ڧͯ͘ۀ຿Ͱ͸໾ʹཱͨͳ͍ʁ • A. ໰୊͕௚઀໾ʹཱͨͳ͍͜ͱ΋ଟ͍͕ɺγΣϧεΫϦϓ τʹΑΔ໰୊ղܾྗΛߴΊΒΕΔɻ • ະ஌ͷίϚϯυɺΦϓγϣϯͱͷग़ձ͍ • ίϚϯυͷशख़ • ૊Έ߹Θͤ

Slide 13

Slide 13 text

ྫ୊ ※ jusڞ࠵ ୈ37ճγΣϧܳbotੜ͖ͯΔ͔Ͳ͏͔෼͔Βͳ͍͚ͲγΣϧܳbot޲͚γΣϧܳษڧձ໰8ΑΓҾ༻

Slide 14

Slide 14 text

ղ౴ྫ $ matsuya | pee cat "grep -o ." rev | awk 'NR==1{a=$0;print}NR>1{printf $0;for(i=1;i

Slide 15

Slide 15 text

ղ౴ྫ $ matsuya | pee cat "grep -o ." rev | awk 'NR==1{a=$0;print}NR>1{printf $0;for(i=1;i

Slide 16

Slide 16 text

ղ౴ྫ $ matsuya | pee cat "grep -o ." rev | awk 'NR==1{a=$0;print}NR>1{printf $0;for(i=1;i

Slide 17

Slide 17 text

࿩͢͜ͱ • ͍͔ʹͯ͠ϫϯϥΠφʔͰ໰୊Λղ͔͘ • ஌ࣝ • ࣮ફ

Slide 18

Slide 18 text

࿩͢͜ͱ • ஌ࣝฤ • γΣϧεΫϦϓτ • sedͱawk • ࣮ફฤ • จࣈྻͰ࣮ߦίϚϯυΛੜ੒͢Δ • ύΠϓͰՃ޻ͯ͠ग़ྗΛಘΔ • Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗʹ͢Δ • ग़ྗΛύʔπʹ෼ղ͢Δ

Slide 19

Slide 19 text

࿩͢͜ͱ • ஌ࣝฤ • γΣϧεΫϦϓτ • sedͱawk • ࣮ફฤ • จࣈྻͰ࣮ߦίϚϯυΛੜ੒͢Δ • ύΠϓͰՃ޻ͯ͠ग़ྗΛಘΔ • Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗʹ͢Δ • ग़ྗΛύʔπʹ෼ղ͢Δ

Slide 20

Slide 20 text

γΣϧεΫϦϓτ • ͱΓ͋͑ͣ͜ΕΛಡΉ

Slide 21

Slide 21 text

࿩͢͜ͱ • ஌ࣝฤ • γΣϧεΫϦϓτ • sedͱawk • ࣮ફฤ • จࣈྻͰ࣮ߦίϚϯυΛੜ੒͢Δ • ύΠϓͰՃ޻ͯ͠ग़ྗΛಘΔ • Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗʹ͢Δ • ग़ྗΛύʔπʹ෼ղ͢Δ

Slide 22

Slide 22 text

sed & awk • ίϚϯυͱ͍͏͔ݴޠ • σεΫτοϓϦϑΝϨϯεศར

Slide 23

Slide 23 text

sed & awk • ίϚϯυͱ͍͏͔ݴޠ • σεΫτοϓϦϑΝϨϯεศར

Slide 24

Slide 24 text

࿩͢͜ͱ • ஌ࣝฤ • γΣϧεΫϦϓτ • sedͱawk • ࣮ફฤ • จࣈྻͰ࣮ߦίϚϯυΛੜ੒͢Δ • ύΠϓͰՃ޻ͯ͠ग़ྗΛಘΔ • Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗʹ͢Δ • ग़ྗΛύʔπʹ෼ղ͢Δ

Slide 25

Slide 25 text

จࣈྻͰ࣮ߦίϚϯυΛੜ੒͢ Δ • ྫ୊ ※jusڞ࠵ ୈ36ճࣣ༦ɾɾɾ7͸ૉ਺͡Όͳ͍Ͱ͔͢ʢ͔͠΋2ͭʣγΣϧܳษڧձ ໰2ΑΓҾ༻

Slide 26

Slide 26 text

จࣈྻͰ࣮ߦίϚϯυΛੜ੒͢ Δ • ղ౴ྫ $ ls | nkf -Z4 | tr a A | sed 's/[--]/೥/' | sed 's/\([A-E]\)\./\1 ૊./' | sed 's/1A/1೥A/' | paste <(ls) - | sed 's/^/mv /'| sh ※jusڞ࠵ ୈ36ճࣣ༦ɾɾɾ7͸ૉ਺͡Όͳ͍Ͱ͔͢ʢ͔͠΋2ͭʣγΣϧܳษڧձ ໰2ΑΓҾ༻

Slide 27

Slide 27 text

จࣈྻͰ࣮ߦίϚϯυΛੜ੒͢ Δ • ղ౴ྫ $ ls | nkf -Z4 | tr a A | sed 's/[--]/೥/' | sed 's/\([A-E]\)\./\1 ૊./' | sed 's/1A/1೥A/' | paste <(ls) - | sed 's/^/mv /'| sh ※jusڞ࠵ ୈ36ճࣣ༦ɾɾɾ7͸ૉ਺͡Όͳ͍Ͱ͔͢ʢ͔͠΋2ͭʣγΣϧܳษڧձ ໰2ΑΓҾ༻

Slide 28

Slide 28 text

จࣈྻͰ࣮ߦίϚϯυΛੜ੒͢ Δ • ղ౴ྫ $ ls | nkf -Z4 | tr a A | sed 's/[--]/೥/' | sed 's/\([A-E]\)\./\1 ૊./' | sed 's/1A/1೥A/' | paste <(ls) - | sed 's/^/mv /'| sh ※jusڞ࠵ ୈ36ճࣣ༦ɾɾɾ7͸ૉ਺͡Όͳ͍Ͱ͔͢ʢ͔͠΋2ͭʣγΣϧܳษڧձ ໰2ΑΓҾ༻

Slide 29

Slide 29 text

จࣈྻͰ࣮ߦίϚϯυΛੜ੒͢ Δ • ղ౴ྫ $ ls | nkf -Z4 | tr a A | sed 's/[--]/೥/' | sed 's/\([A-E]\)\./\1 ૊./' | sed 's/1A/1೥A/' | paste <(ls) - | sed 's/^/mv /'| sh ※jusڞ࠵ ୈ36ճࣣ༦ɾɾɾ7͸ૉ਺͡Όͳ͍Ͱ͔͢ʢ͔͠΋2ͭʣγΣϧܳษڧձ ໰2ΑΓҾ༻

Slide 30

Slide 30 text

࿩͢͜ͱ • ஌ࣝฤ • γΣϧεΫϦϓτ • sedͱawk • ࣮ફฤ • จࣈྻͰ࣮ߦίϚϯυΛੜ੒͢Δ • ύΠϓͰՃ޻ͯ͠ग़ྗΛಘΔ • Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗʹ͢Δ • ग़ྗΛύʔπʹ෼ղ͢Δ

Slide 31

Slide 31 text

ύΠϓͰՃ޻ͯ͠ग़ྗΛಘΔ • ྫ • ؔ਺ϓϩάϥϛϯάʢΒ͠͞ʣ • ؔ਺ʹ༩͑ΒΕͨೖྗͷΈͰग़ྗ͕Ұҙʹఆ·Δ • ؔ਺ͷ૊Έ߹ΘͤͰ໰୊Λղܾ͢Δ $ echo ‘hoge’ | rev egoh

Slide 32

Slide 32 text

࿩͢͜ͱ • ஌ࣝฤ • γΣϧεΫϦϓτ • sedͱawk • ࣮ફฤ • จࣈྻͰ࣮ߦίϚϯυΛੜ੒͢Δ • ύΠϓͰՃ޻ͯ͠ग़ྗΛಘΔ • Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗʹ͢Δ • ग़ྗΛύʔπʹ෼ղ͢Δ

Slide 33

Slide 33 text

Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗ ʹ͢Δ • ྫ୊ʢߦ൪߸ʣ ※jusڞ࠵ ୈ35ճ·ͨ·ͨΊͰ͍ͨγΣϧܳษڧձ ໰2ΑΓҾ༻

Slide 34

Slide 34 text

Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗ ʹ͢Δ • ղ౴ྫ $ cat herohero | sed 'y/̍̏̓̕/1379/' | sed -r 's/[0-9]+/& /' | awk '{printf("%02d %s\n",$1,$2)}' | sort -k1,1n -k2,2r - <(seq -w 12) | uniq -w2 | awk '{print $2}’ ※jusڞ࠵ ୈ35ճ·ͨ·ͨΊͰ͍ͨγΣϧܳษڧձ ໰2ΑΓҾ༻

Slide 35

Slide 35 text

Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗ ʹ͢Δ • ղ౴ྫ $ cat herohero | sed 'y/̍̏̓̕/1379/' | sed -r 's/[0-9]+/& /' | awk '{printf("%02d %s\n",$1,$2)}' | sort -k1,1n -k2,2r - <(seq -w 12) | uniq -w2 | awk '{print $2}’ ※jusڞ࠵ ୈ35ճ·ͨ·ͨΊͰ͍ͨγΣϧܳษڧձ ໰2ΑΓҾ༻

Slide 36

Slide 36 text

Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗ ʹ͢Δ • ղ౴ྫ $ cat herohero | sed 'y/̍̏̓̕/1379/' | sed -r 's/[0-9]+/& /' | awk '{printf("%02d %s\n",$1,$2)}' | sort -k1,1n -k2,2r - <(seq -w 12) | uniq -w2 | awk '{print $2}’ ※jusڞ࠵ ୈ35ճ·ͨ·ͨΊͰ͍ͨγΣϧܳษڧձ ໰2ΑΓҾ༻

Slide 37

Slide 37 text

Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗ ʹ͢Δ • ղ౴ྫ $ cat herohero | sed 'y/̍̏̓̕/1379/' | sed -r 's/[0-9]+/& /' | awk '{printf("%02d %s\n",$1,$2)}' | sort -k1,1n -k2,2r - <(seq -w 12) | uniq -w2 | awk '{print $2}’ ※jusڞ࠵ ୈ35ճ·ͨ·ͨΊͰ͍ͨγΣϧܳษڧձ ໰2ΑΓҾ༻

Slide 38

Slide 38 text

Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗ ʹ͢Δ • ྫ୊ʢूܭʣ ※jusڞ࠵ ୈ36ճࣣ༦ɾɾɾ7͸ૉ਺͡Όͳ͍Ͱ͔͢ʢ͔͠΋2ͭʣγΣϧܳษڧձ ໰3ΑΓҾ༻

Slide 39

Slide 39 text

Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗ ʹ͢Δ • ղ౴ྫ $ dseq 2018-01-01 2018-12-31 | tr -d - | awk '{printf $0" ";print gsub(/[2357]/,"")}' | awk '$2==4' ※jusڞ࠵ ୈ36ճࣣ༦ɾɾɾ7͸ૉ਺͡Όͳ͍Ͱ͔͢ʢ͔͠΋2ͭʣγΣϧܳษڧձ ໰3ΑΓҾ༻

Slide 40

Slide 40 text

Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗ ʹ͢Δ • ղ౴ྫ $ dseq 2018-01-01 2018-12-31 | tr -d - | awk '{printf $0" ";print gsub(/[2357]/,"")}' | awk '$2==4' ※jusڞ࠵ ୈ36ճࣣ༦ɾɾɾ7͸ૉ਺͡Όͳ͍Ͱ͔͢ʢ͔͠΋2ͭʣγΣϧܳษڧձ ໰3ΑΓҾ༻

Slide 41

Slide 41 text

Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗ ʹ͢Δ • ղ౴ྫ $ dseq 2018-01-01 2018-12-31 | tr -d - | awk '{printf $0" ";print gsub(/[2357]/,"")}' | awk '$2==4' ※jusڞ࠵ ୈ36ճࣣ༦ɾɾɾ7͸ૉ਺͡Όͳ͍Ͱ͔͢ʢ͔͠΋2ͭʣγΣϧܳษڧձ ໰3ΑΓҾ༻

Slide 42

Slide 42 text

Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗ ʹ͢Δ • ղ౴ྫ $ dseq 2018-01-01 2018-12-31 | tr -d - | awk '{printf $0" ";print gsub(/[2357]/,"")}' | awk '$2==4' ※jusڞ࠵ ୈ36ճࣣ༦ɾɾɾ7͸ૉ਺͡Όͳ͍Ͱ͔͢ʢ͔͠΋2ͭʣγΣϧܳษڧձ ໰3ΑΓҾ༻

Slide 43

Slide 43 text

࿩͢͜ͱ • ஌ࣝฤ • γΣϧεΫϦϓτ • sedͱawk • ࣮ફฤ • จࣈྻͰ࣮ߦίϚϯυΛੜ੒͢Δ • ύΠϓͰՃ޻ͯ͠ग़ྗΛಘΔ • Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗʹ͢Δ • ग़ྗΛύʔπʹ෼ղ͢Δ

Slide 44

Slide 44 text

ग़ྗΛύʔπʹ෼ղ͢Δ • ྫ୊ ※jusڞ࠵ ୈ35ճ·ͨ·ͨΊͰ͍ͨγΣϧܳษڧձ ໰5ΑΓҾ༻

Slide 45

Slide 45 text

ग़ྗΛύʔπʹ෼ղ͢Δ • ղ౴ྫ $ echo 'ڹ͚ʂϢʔϑΥχΞϜ' | awk '{a=$1;for(i=1;i<=6;i++) {print substr($1,1,length(a)/2-i+1)substr($1,length(a)/2+i)}}' | pee cat 'rev | tac' | awk '{for(i=1;i<=5-length($0)/2;i++){printf "ɹ“}print}' ※jusڞ࠵ ୈ35ճ·ͨ·ͨΊͰ͍ͨγΣϧܳษڧձ ໰5ΑΓҾ༻

Slide 46

Slide 46 text

ग़ྗΛύʔπʹ෼ղ͢Δ • ղ౴ྫ $ echo 'ڹ͚ʂϢʔϑΥχΞϜ' | awk '{a=$1;for(i=1;i<=6;i++) {print substr($1,1,length(a)/2-i+1)substr($1,length(a)/2+i)}}' | pee cat 'rev | tac' | awk '{for(i=1;i<=5-length($0)/2;i++){printf "ɹ“}print}' ※jusڞ࠵ ୈ35ճ·ͨ·ͨΊͰ͍ͨγΣϧܳษڧձ ໰5ΑΓҾ༻

Slide 47

Slide 47 text

ग़ྗΛύʔπʹ෼ղ͢Δ • ղ౴ྫ $ echo 'ڹ͚ʂϢʔϑΥχΞϜ' | awk '{a=$1;for(i=1;i<=6;i++) {print substr($1,1,length(a)/2-i+1)substr($1,length(a)/2+i)}}' | pee cat 'rev | tac' | awk '{for(i=1;i<=5-length($0)/2;i++){printf "ɹ“}print}' ※jusڞ࠵ ୈ35ճ·ͨ·ͨΊͰ͍ͨγΣϧܳษڧձ ໰5ΑΓҾ༻

Slide 48

Slide 48 text

·ͱΊ γΣϧܳ͢Δͱ͖ʹࢥ͍ग़ͯ͠ΈΑ͏ • จࣈྻͰ࣮ߦίϚϯυΛੜ੒Ͱ͖ͳ͍͔ʁ • ύΠϓͰՃ޻ͯ͠ग़ྗΛಘΒΕͳ͍͔ʁ • Ұ࣌తʹՃ޻ɾॲཧ͠΍͍͢ܗͰ͖ͳ͍͔ʁ • ग़ྗΛύʔπʹ෼ղͰ͖ͳ͍͔ʁ