Enjoy Elixir #006 HTTP GET!

7784 단어 Elixir

소개



  • KFIE이라는 킨키 대학 산업 이공 학부의 정보계 커뮤니티가 있습니다.
  • 요즘은 매주 화요일에 LT회를 하고 있다고 합니다
  • 제가 학생이었던 것은 이미 옛날이지만 참가하게되었습니다.
  • 매주, 5분간 시간을 받고, Elixir 좋아! 말을 전하고 싶다고 생각합니다.
  • 2020/7/7(화)의 회

  • 오늘은 다음을 배웁니다.
  • HTTP GET!

  • A journey of a thousand miles begins with a single step.



  • 모쿠지



    Elixir
    |> 001 mix new, iex -S mix, mix format
    |> 002형
    |> 003 패턴 매칭
    |> 004 Modules and functions
    |> 005 Pipe operator and Enum module
    |> 006 HTTP GET!
    |> 007 Flow
    |> 008 AtCoder를 풀어보기

    준비


    $ mix new hello_http
    $ cd hello_http
    

    종속성 해소



  • 999 Where to go next 에서 패키지를 찾습니다
  • 이번에는 다음을 사용합니다.

  • hex
  • Yet Another HTTP client for Elixir powered by hackney


  • httpoison
  • A blazing fast JSON parser and generator in pure Elixir.


  • 위의 페이지 오른쪽에 쓰여진 설명을 참조하여 deps를 다시 씁니다

  • 제이슨

    mix.exs
      defp deps do
        [
          {:httpoison, "~> 1.7"},
          {:jason, "~> 1.2"}
        ]
      end
    
    $ mix deps.get
    

    HTTP GET!


  • 여기서 Qiita
  • 기사에서는 결과만 쓰고 있습니다만, 발표시에는 iex
    lib/hello_http.ex
    defmodule HelloHttp do
      @query URI.encode_query(%{"query" => "tag:Elixir"})
    
      def run do
        "https://qiita.com/api/v2/items?#{@query}"
        |> HTTPoison.get()
        |> handle_response()
        |> Jason.decode!()
      end
    
      defp handle_response({:ok, %HTTPoison.Response{body: body, status_code: 200}}) do
        body
      end
    
      defp handle_response(_) do
        raise "error"
      end
    end
    
  • @queryAPI 이라고 하는 것입니다
  • 「많은 Elixir 프로그래머는, Java나 Ruby에서는 정수를 사용하는 곳에서 사용하고 있다」그렇습니다

  • Module attributes 보다


  • 실행


    $ iex -S mix
    
    iex> HelloHttp.run
    

    GET은 알았지만 그 후 어떻게해야합니까?


  • 예를 들면 이런 것을 만들 수 있습니다
  • 취득한 것을 성형하고 프로그래밍 Elixir 에 기사를 자동 게시
  • HTTP POST는 Qiita

  • 드디어 Twitter에도 투고

  • httpoison 사용

  • 정기 실행은 extwitter 을 이용


  • quantum
  • 【매일 자동 갱신】 Qiita의 Elixir LGTM 랭킹!



  • Wrapping Up


  • 오늘의 포인트는 참고 소스 코드 (풀릭) 찾는 방법과 mix deps.get입니다
  • 샘플 코드 tag에 원하는 언어를 설정하여 HTTP GET을 즐길 수 있습니다
  • 다음 번에는 hex
  • 다음 주를 기다릴 수 없는 분은, 자원이나 커뮤니티의 정보를 Flow 에 정리하고 있으므로 다이브 해 주세요!

  • Enjoy!!!
  • 좋은 웹페이지 즐겨찾기