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

ElixirImp#31_書籍【Elixir実践ガイド】の写経の感想

 ElixirImp#31_書籍【Elixir実践ガイド】の写経の感想

2023/5/17に開催される、【ElixirImp#31:Elixirで作ったもの、何でもLT会】の発表資料です。

ElixirImp#31:Elixirで作ったもの、何でもLT会 URL:
https://fukuokaex.connpass.com/event/283391/

※URLリンクが有効な資料はこちらを参照ください。
https://www.docswell.com/s/juraruming/5GXLMD-2023-05-17-124330

k-abe

May 17, 2023
Tweet

More Decks by k-abe

Other Decks in Programming

Transcript

  1. • ࣸܦͨ͠ຊ(ݱࡏ΋ܧଓதɾɾɾ) ɹElixir࣮ફΨΠυ ɹhttps://book.impress.co.jp/books/1120101021 ࣸܦͨ͠ຊͷ঺հ 8 ୈᶗ෦ɹElixirೖ໳ ୈ 1 ষɹΠϯτϩμΫγϣϯ

    ୈ 2 ষɹElixir ։ൃ؀ڥͷߏங ୈ 3 ষɹElixir ͷجૅ (1) ୈ 4 ষɹElixir ͷجૅ (2) ୈ 5 ষɹElixir ͷجૅ (3) ୈ 6 ষɹElixir ͷجૅ (4) ୈᶘ෦ɹϞδϡʔϧɺؔ਺ɺϚΫϩ ୈ 7 ষɹϞδϡʔϧ ୈ 8 ষɹؔ਺ (1) ୈ 9 ষɹؔ਺ (2) ୈ 10 ষɹ ϚΫϩͷॳาͱ৚݅෼ذ ୈᶙ෦ɹσʔλߏ଄ ୈ 11 ষɹΞτϜ ୈ 12 ষɹϦετ ୈ 13 ষɹλϓϧͱΩʔϫʔυϦετ ୈ 14 ষɹϚοϓ ୈ 15 ষɹϏοτετϦϯάɺόΠφϦɺจࣈྻɺจࣈϦετ ୈᶚ෦ɹັ࿭ͷElixirϫʔϧυ ୈ 16 ষɹύλʔϯϚονϯά ୈ 17 ষɹ Enum Ϟδϡʔϧ ୈ 18 ষɹ಺แදه ୈ 19 ষɹcase ϚΫϩͱ with ϚΫϩ ୈ 20 ষɹෳ਺ͷઅΛ࣋ͭؔ਺ ୈ 21 ষɹreduce ؔ਺ ୈ 22 ষɹΤϥʔॲཧ ୈᶛ෦ɹ։ൃԋश ୈ 23 ষɹExUnit ୈ 24 ষɹMix ୈ 25 ষɹΤʔδΣϯτͱ GenServer ୈ 26 ষɹࡾ໨ฒ΂ (1) ୈ 27 ষɹࡾ໨ฒ΂ (2) ୈ 28 ষɹࡾ໨ฒ΂ (3) ෇࿥ ԋश໰୊ղ౴
  2. ▪Elixirܦݧ͸Webهࣄͷࣸܦ(※1)ɺલड़ͷϋϯζΦϯ(※2)Ͱମݧͨ͠ɺͱ͍͏ ঢ়گɻ ※1 en ΤϯδχΞHub ͭ͗ͷهࣄ ɾ࠷଎Ͱ஌Δʂ ElixirϓϩάϥϛϯάͱErlang/OTPͷ࢝Ίํʲୈೋݴޠͱ͠ ͯͷElixirʳ ɾ௅ઓʂ

    ElixirʹΑΔฒߦɾ෼ࢄΞϓϦέʔγϣϯͷ࡞Γํʲୈೋݴޠͱͯ͠ ͷElixirʳ ※2 ೔ຊιϑτ΢ΣΞՊֶձୈ39ճେձνϡʔτϦΞϧ ʮؔ਺ܕݴޠElixirͰ࢝ΊΔIoTγεςϜ։ൃೖ໳ʯ ɹGitHubϦϙδτϦ ࣸܦ͢Δલͷঢ়گ 11
  3. ▪ݱࡏͷঢ়گ ɾશ28ষͷ͏ͪ25ষ·Ͱ׬ྃɻશମͷ8ׂ͘Β͍ऴΘͬͨɻ ɾ2023/2/24͔Β։࢝ɻ ࣸܦͷํ๏ 14 ୈᶗ෦ɹElixirೖ໳ ୈ 1 ষɹΠϯτϩμΫγϣϯ ୈ

    2 ষɹElixir ։ൃ؀ڥͷߏங ୈ 3 ষɹElixir ͷجૅ (1) ୈ 4 ষɹElixir ͷجૅ (2) ୈ 5 ষɹElixir ͷجૅ (3) ୈ 6 ষɹElixir ͷجૅ (4) ୈᶘ෦ɹϞδϡʔϧɺؔ਺ɺϚΫϩ ୈ 7 ষɹϞδϡʔϧ ୈ 8 ষɹؔ਺ (1) ୈ 9 ষɹؔ਺ (2) ୈ 10 ষɹ ϚΫϩͷॳาͱ৚݅෼ذ ୈᶙ෦ɹσʔλߏ଄ ୈ 11 ষɹΞτϜ ୈ 12 ষɹϦετ ୈ 13 ষɹλϓϧͱΩʔϫʔυϦετ ୈ 14 ষɹϚοϓ ୈ 15 ষɹϏοτετϦϯάɺόΠφϦɺจࣈྻɺจࣈϦετ ୈᶚ෦ɹັ࿭ͷElixirϫʔϧυ ୈ 16 ষɹύλʔϯϚονϯά ୈ 17 ষɹ Enum Ϟδϡʔϧ ୈ 18 ষɹ಺แදه ୈ 19 ষɹcase ϚΫϩͱ with ϚΫϩ ୈ 20 ষɹෳ਺ͷઅΛ࣋ͭؔ਺ ୈ 21 ষɹreduce ؔ਺ ୈ 22 ষɹΤϥʔॲཧ ୈᶛ෦ɹ։ൃԋश ୈ 23 ষɹExUnit ୈ 24 ষɹMix ୈ 25 ষɹΤʔδΣϯτͱ GenServer ୈ 26 ষɹࡾ໨ฒ΂ (1) ୈ 27 ষɹࡾ໨ฒ΂ (2) ୈ 28 ষɹࡾ໨ฒ΂ (3) ෇࿥ ԋश໰୊ղ౴
  4. ▪Elixirͷؾ࣋ͪΑ͞Λମײ!!! ɾϏοτετϦϯάɾόΠφϦ ྫ) # σʔλಡΈग़͠ ɹ{:ok, read_data} = File.read(“binary_data.bin”) #

    ઌ಄0byte໨, ઌ಄1ʙ3byte໨, ࢒ΓΛऔΓग़͢ <<stx:binary-size(1), size::binary-size(3), rest::bits>> = read_data ͜Μͳʹ؆୯ʹඞཁͳσʔλΛऔΓग़ͤΔ!!! ΑΓৄ͍͠આ໌͸ͪ͜ΒͷQiitaهࣄΛࢀরͯ͠Έ͍ͯͩ͘͞ɻ ૊ࠐΈʹ͔ܽͤͳ͍ Elixir ͰͷϏοτͷѻ͍ํ ࣸܦͷײ૝ 22