2019-01-01から1年間の記事一覧
どうも、靖宗です。 Controllersの続きです。今回で終われるかな? Redirection Action Fallback Halting the Plug Pipeline Redirection Phoenix上でのリダイレクトの方法のようです。 アイテムを作成した後に表示画面にリダイレクトしたいときなんかに使え…
どうも、靖宗です。 Controllersの続きです。また記事3個になりそうです。 Rendering テキスト JSON HTML(テンプレートファイル無し) render/3関数 Sending responses directly Assigning Layouts Overriding Rendering Formats Setting the Content Type …
どうも、靖宗です。 今回はControllersということで、コントローラの話です。 ルーティングのところで一通りは把握している所ですが、少々深掘りしていきましょう。 Actions Gathering Data Flash Messages 今のところ、Phoenixの作業は mix phx.new project…
どうも、靖宗です。 今回はEndpointということでPlugのところでもちょっとやったところです。 全てのリクエストはまずEndpointに渡されて、その後にルーティング処理に入ります。 Endpoint Contents Using SSL SSL in Development Force SSL HSTS そもそもPh…
どうも、靖宗です。 お次はPlug。というかPhoenixの説明でPlugPlug言われてたので先にこの章からやれば良かった。 今まで結構でてきてるところから分かるとおり、PlugはPhoenixのコアな部分です。PhoenixのHTTPレイヤーなどを担当しているっぽいのでもうちょ…
どうも、靖宗です。 Plugの説明の記事を挟みましたが、引きつづぎRoutingの章を進めて行きます。 Pipelines The Endpoint Plugs The :browser and :api Pipelines 例 scope無しのパイプライン 複数のパイプライン Creating New Pipelines Channel Routes Pip…
どうも、靖宗です。 あまりにもPlugPlug言われるのでPlugのドキュメントを一通り読んでおきます。 hexdocs.pm Plugとは Hello world The Plug.Conn struct Plug.Router Supervised handlers Testing plugs Plugとは Webアプリケーション間の構成可能なモジュ…
どうも、靖宗です。 前回途中で終わってるので、Routingの続きです。 まずはPath Helpers。 Path Helpers More on Path Helpers Nested Resources Scoped Routes scopeのネスト 同じパスのscope Path Helpers Path Helpersとはコントローラーを作成したら勝…
どうも、靖宗です。 前回ざっくりとしかやらなかったルーティング。ちょっとページが長いので数回に分けて記事にしたいと思います。 router.exを見てみる Examining Routes Resources Forward router.exを見てみる 前回も触れていますが、ルーティングはlib/…
どうも、靖宗です。 今回は「Adding Pages」ということで、単純に訳してページを追加していく感じでしょう。 という事で基礎的なルーティング(どんなURLで何を表示するか)もおそらくこの章で触れることになるでしょう。 概要 動的ファイル 静的ファイル We…
どうも、靖宗です。 今回はPhoenixの起動など?いわゆるHello worldという認識です。 この章はPhoenixのインストールまでが終わっている想定です。 早速進めて行きましょう。 Up and Running Up and Running なにやらPhoenixのプロジェクトを開始するにはmix…
どうも、靖宗です。 前回まではElixir入門ということでやっていましたが、今回からはElixirで書かれているPhoenixを学習していきたいと思います。 まだ触ってないのでなんとも言えませんが、基本的にはElixirがざっくりと分かっている想定で記事を書いていき…
どうも、靖宗です。 Meta-programming編は少ないもので3章構成です。 ただし、各々のテーマが裏に闇を感じます。本気で相手したら時間が無限に吸い取られて行く気がします・・・ 今回はDomain-specific languages。1章で終わるんでしょうか? Foreword Build…
どうも、靖宗です。 今回はMacrosということで、超時空要塞ではなくちょいちょいでてたifとかquoteとかの奴です。 Foreword Our first macro Macros hygiene The environment Private macros Write macros responsibly Foreword 大いなる力には大いなる責任…
どうも、靖宗です。 Mix and OTP編も終わりましたので、今回からはMeta-programming編となります。 おそらく詳細な内部実装などの話になってくるので、今まで謎だった挙動とかが明らかになると信じて進めて行きます。 (マクロなどもこの分野だそうです) こ…
どうも、靖宗です。 Mix and OTP編もこれで終了? チュートリアルが終わっただけでまだなーんにもやってないんですが、基礎的な所は一通り目を通せた感じです。 まだMeta-programming編が残ってるので入門が終わりって訳じゃ無いんですが、とりあえず進めて…
どうも、靖宗です。 くどいようですが、今回も前回の引き続きです。 今回はDoctests, patterns and withということで、Doctestsはドキュメント関連かな?とは思いますが他はしりません。 早速進めて行きます。 Doctests with Running commands このチャプタ…
どうも、靖宗です。 今回も前回の引き続きとなります。 今回は前回用意したKVServerを作って行くところでしょう。なかなか楽しそう・・・ Echo server Tasks Task supervisor Echo server まずは基本のエコーだけの機能のTCPサーバーを作成します。なんかリ…
どうも、靖宗です。 この章も引き続きMix and OTP編なので、通読が必要かもしれません。 Elixir入門は一度再編集したほうが分かりやすいし自分の為にもなるかもしれないなぁ。 External dependencies Internal dependencies Umbrella projects Dependencies …
どうも、靖宗です。 今回はETS(Erlang Term Storage)。この章も前回からの引き続きとなります。 ETSというキーワードはちょいちょい出てきてたんですが実際なんなのかまだ分からないところ。Bucketの実装方法としてプロセスとETSの二種類があるよって事で…
どうも、靖宗です。 お次のタイトルは「Dynamic supervisors」。 今回も前回からの引き続きです。 The bucket supervisor Supervision trees Shared state in tests Observer 忘れかけてましたが、第3章の最後に {:ok, pid} = KV.Bucket.start_link([]) # リ…
どうも、靖宗です。 前回に引き続き第4章。リンクとモニターどっちかで、今回はモニター使うんだからリンクしないようにしよう!みたいな流れになる気がします。 Our first supervisor Naming processes Understanding applications Starting applications T…
どうも、靖宗です。 今回はGenServerということですが、Mix and OTP編はおそらく通読する必要があると思います。 もし有り難いことにこのブログをご覧になってる方がいらっしゃったらMix and OTP編の最初から見ていただけると幸いです。 Our first GenServer…
どうも、靖宗です。 地味に第n章の箇所を漢数字からアラビア数字に変更しました。いちいち変換するのめんどくさい・・・ The trouble with state Agents Test setup with ExUnit callbacks Other agent actions Client/Server in agents お次はAgent。たぶん…
どうも、靖宗です。 ようやくGETTING STARTEDが終わりましたが氷山の一角すら体感できてない感じです。 ささっとウェブのチュートリアルを終わらせてfukuoka.exの強い人の記事なんかを追いたいところです。 浮気心を押さえてMix and OTP編を進めて行きます。…
どうも、靖宗です。 Mix and OTP編に突入と言うことでIDEを導入していきたいと思います。 といってもVSCodeがデフォルト?てシンタックスに対応してたりするんでそれでもいい気がしますが、JetBrain教に入信してしまったので一応使える様にしておきたいので…
どうも、靖宗です。 Elixirの公式WebサイトにあるGETTING STARTEDの最終章、Where to go nextです。 記事にするほどでも無いかもしれませんが一応。 ここまできた輩はこれから何を勉強すれば良いのかとかそういう話だとおもいます。 Build your first Elixir…
どうも、靖宗です。 今回はErlang librariesとのことで、ErlangVM上で走ってるElixirならではといったところでしょうか。 ただ、ライブラリの紹介なんてのはドキュメントを見れば良いので、あまり深入りはせずサクッと終わらせます。 The binary module Form…
どうも、靖宗です。 残すところあと数個、今回はDebuggingです。 IO.inspect/2 IEx.pry/0 and IEx.break!/2 Debugger IO.inspect/2 デバッグに使用されるIO.inspect/2という関数があるようです。 とりあえずサンプルで分かる! iex(5)> (1..10) \ ...(5)> |>…
どうも、靖宗です。 ようやく20章、終わりが見えてきました。と思ったらそのしたにMIX AND OTPの文字が・・・ たぶんこっちが本編だよね( ´゚д゚`) めげずに進みます。 Types and specs Function specifications Defining custom types Static code analysis …