Elixir ~외부 API 웹 표시~
6150 단어 fukuoka.exElixirPhoenix
여기까지의 모습
기타큐슈에 생활의 장소를 옮겨, 잠시 생활의 안정이나 음악, 디자인, 영상 주위를 열심히 하고 있었습니다만, 사정이 있어 1개월 정도 중지하고 있던 Elixir 학습을 재개했습니다.
자신의 기사를 되돌아 보면 "어, 여기 어째서 이해할 수 있었는지 모른다"라고 하는 것이 많이 있는 것도 눈치챘습니다.
DB에서 얻은 데이터에서 "열 추출"
piacere씨의 문서 Excel에서 함수형 언어 마스터 네 번째: 웹에 외부 API 데이터 표시 의 전반 부분, DB로부터 취득한 데이터로부터의 열의 추출을 실시해 갑니다.
lib/sample_db_web/templates/page/index.html.eex
<%
result = Db.query( "select * from members" )
data = result |> Db.columns_rows
columns = result |> Db.columns
%>
<table border="1">
<tr>
<%= for column <- columns do %>
<th><%= column %></td>
<% end %>
</tr>
<%= for record <- data do %>
<tr>
<%= for column <- columns do %>
<td><%= record[ column ] %></td>
<% end %>
</tr>
<% end %>
</table>
지금까지의 코드로 표시시킨 DB의 내용에 대해,
|> Enum.filter( fn( column ) -> column == "name" || column == "age" end )
Enum.filter에서 이름과 나이의 열만 필터링합니다.
DB에 중복 데이터가 남아 있기 때문에 같은 이름이 여러 번 나와 버립니다. DB 측에서 이것을 깨끗하게 할 수 없는지가 과제입니다.
외부 API를 호출하고 웹 디스플레이
Smallex 소개와 믹스 deps.get은 할애합니다.
lib/sample_db_web/templates/page/index.html.eex
<%
result = Json.get( "https://qiita.com", "/api/v2/items?query=elixir" )
data = result
columns = [ "id", "title", "created_at" ]
%>
이후의 HTML 부분은 DB 표시와 다르지 않다.
즉, 선두의 DB로부터의 데이터 취득의 부분을 외부 API로부터의 데이터 호출에 재기록하는 것만으로, 똑같이 Web 표시시켜 취급할 수 있다고 하는 것입니다.
(이 중요한 포인트를 눈치채지 않고 전부 사경하고 있던 것은 효율이 나빴을지도 모른다. 이 시리즈는 통산으로 5회 정도씩 복습하고 있습니다만... 쓴웃음)로, 이러한 표시 되었습니다. 전회 맹렬한 페이스로 Qiita 문서를 쓰고 있었을 때는, 이 일람에 자신의 그것도 섞여 있어, 그 때는 꽤 시기 적절한 스크린샷을 찍을 수 있었습니다. (웃음 # 알게 된 것 DB 표시에서 열 추출에는 위의 Enum.filter의 식이 중요합니다. 외부 API 호출, Web표시를 할 수 있다.아직 코드 자체 스스로 체계적 이해를 써 쓰는 것은 어렵습니다만, 이상 2점을 중요한 포인트로서 누를 수 있었습니다. 최선을 다하겠습니다.
켄토 미즈노
Reference
이 문제에 관하여(Elixir ~외부 API 웹 표시~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kmizuno0211/items/1af2e282aaa7cb99f290
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
piacere씨의 문서 Excel에서 함수형 언어 마스터 네 번째: 웹에 외부 API 데이터 표시 의 전반 부분, DB로부터 취득한 데이터로부터의 열의 추출을 실시해 갑니다.
lib/sample_db_web/templates/page/index.html.eex
<%
result = Db.query( "select * from members" )
data = result |> Db.columns_rows
columns = result |> Db.columns
%>
<table border="1">
<tr>
<%= for column <- columns do %>
<th><%= column %></td>
<% end %>
</tr>
<%= for record <- data do %>
<tr>
<%= for column <- columns do %>
<td><%= record[ column ] %></td>
<% end %>
</tr>
<% end %>
</table>
지금까지의 코드로 표시시킨 DB의 내용에 대해,
|> Enum.filter( fn( column ) -> column == "name" || column == "age" end )
Enum.filter에서 이름과 나이의 열만 필터링합니다.
DB에 중복 데이터가 남아 있기 때문에 같은 이름이 여러 번 나와 버립니다. DB 측에서 이것을 깨끗하게 할 수 없는지가 과제입니다.
외부 API를 호출하고 웹 디스플레이
Smallex 소개와 믹스 deps.get은 할애합니다.
lib/sample_db_web/templates/page/index.html.eex
<%
result = Json.get( "https://qiita.com", "/api/v2/items?query=elixir" )
data = result
columns = [ "id", "title", "created_at" ]
%>
이후의 HTML 부분은 DB 표시와 다르지 않다.
즉, 선두의 DB로부터의 데이터 취득의 부분을 외부 API로부터의 데이터 호출에 재기록하는 것만으로, 똑같이 Web 표시시켜 취급할 수 있다고 하는 것입니다.
(이 중요한 포인트를 눈치채지 않고 전부 사경하고 있던 것은 효율이 나빴을지도 모른다. 이 시리즈는 통산으로 5회 정도씩 복습하고 있습니다만... 쓴웃음)로, 이러한 표시 되었습니다. 전회 맹렬한 페이스로 Qiita 문서를 쓰고 있었을 때는, 이 일람에 자신의 그것도 섞여 있어, 그 때는 꽤 시기 적절한 스크린샷을 찍을 수 있었습니다. (웃음 # 알게 된 것 DB 표시에서 열 추출에는 위의 Enum.filter의 식이 중요합니다. 외부 API 호출, Web표시를 할 수 있다.아직 코드 자체 스스로 체계적 이해를 써 쓰는 것은 어렵습니다만, 이상 2점을 중요한 포인트로서 누를 수 있었습니다. 최선을 다하겠습니다.
켄토 미즈노
Reference
이 문제에 관하여(Elixir ~외부 API 웹 표시~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kmizuno0211/items/1af2e282aaa7cb99f290
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<%
result = Json.get( "https://qiita.com", "/api/v2/items?query=elixir" )
data = result
columns = [ "id", "title", "created_at" ]
%>
Reference
이 문제에 관하여(Elixir ~외부 API 웹 표시~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kmizuno0211/items/1af2e282aaa7cb99f290텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)