Closed12
Elixirで同時編集可能なマークダウンエディタを作ってみる
Elixir入門と同時にPhoenixも入門。
Phoenixのお作法がわからず辛い。一度にまとめて始めすぎか。
画像のように、templatesディレクトリにテンプレートを置いた場合には、
defmodule MacrophyllaWeb.Page.TheRoomView do
use MacrophyllaWeb, :view
end
lib/macrophylla_web/templates/page/the_room
としなければならない。
あと、/views, /templates, /controller では同一のページではMVC各ファイルの名前を共通にしつつ、モジュールはキャメルケース、ファイル名はスネークケースにしてやる必要がある。
templatesディレクトリの中はディレクトリ自体をネストさせてはいけないっぽい
設計として、うまく使いまわせるテンプレートを分割して作成し、それを組み合わせるのが基本?
あと参考になるサイトを見つけた。
defmodule MacrophyllaWeb.TheRoomController do
use MacrophyllaWeb, :controller
def show(conn, _params) do
{ok, list} = :inet.getif
IO.inspect Map.fetch(list, :ok)
render(conn, "the_room.html")
end
end
Erlangの:inet.getifの返り値がどんな型かわからず詰まっている。
マップやリストの操作を理解していない。
defmodule MacrophyllaWeb.TheRoomController do
use MacrophyllaWeb, :controller
def show(conn, _params) do
{:ok, list} = :inet.getif
IO.inspect Enum.at(list, 0)
render(conn, "the_room.html")
end
end
できた。GitHubのソースを最初から漁れば良かった…
良さげな本というか定番の入門書籍を見つけた。
まずはElixir自体に慣れることから始める。Phoenixhは自分にとって大きすぎるので、まずは基礎から。
以下こちらを参考文献として行く。
Elixirをやり始めて衝撃的だったこと。
この左辺と右辺の構造を比較し同じであれば値をセットする処理を、パターンマッチと呼ぶらしい。
今までのやり方(主にGo)と全く異なるので驚いた。
list = [1, 2, 3]
[a, b, c] = list
a
b
c
[1, 2, 3]
[1, 2, 3]
1
2
3
Node.jsなしでTailwind CSSの導入。
Tailwind CSSでゴリゴリ好みのスタイルにしていけることがわかったので、捗っている。
このスクラップは2022/04/27にクローズされました