技術メモ

プログラミングとか電子工作とか

2019-03-01から1ヶ月間の記事一覧

Phoenix入門 (第13章 Contexts その1)

どうも、靖宗です。 最近AWSばっかり触っててご無沙汰でしたが、若干落ち着きそうなのでPhoenixの学習を再開していきます。 今回はContextsということですが、これもまた結構長そうな項目です。 Contexts Thinking about design Adding an Accounts Context …

Phoenix入門 (第12章 Ecto その2)

どうも、靖宗です。 Ectoの続きです。前回はほとんど仕様みたいな感じになってたので実際に扱う所までできたらなぁと思います。 Ecto Changesets and Validations 概要 実際に扱う バリデーションの編集 不要なデータ(castの動作チェック) 他のバリデーシ…

Phoenix入門 (第12章 Ecto その1)

どうも、靖宗です。 今回はEcto、ということでデータベースラッパーのお話でしょうか。 Elixirでよく使われるライブラリなので個別に触りたいところでもありますが、とりあえず今回はPhoenixのドキュメントを読み進めます。 Ecto Hello, Ecto 開発用のPostgr…

AWS Lambdaでrequestsなどのライブラリを使う

どうも、靖宗です。 たまにはAWSの話なんかも。 AWSでpipでインストールされるライブラリを使用する よくある欲求で、なおかつウェブ上に結構ドキュメントはあると思いますが、自分のメモ用に。 基本的にAWS Lambdaでは標準ライブラリ以外は使えませんが、zi…

Phoenix入門 (番外編 LiveView その1 `mix phx.new`からThermostatが動くまで)

どうも、靖宗です。 なにやらLiveViewなる機能がちらほらツイッターで見かけまして、一応触っておこうと思いました。 たぶん未履修分野には被らないはず・・・ LiveView Programming Model プロジェクト作成 LiveViewの機能を有効にする Phoenix側の依存関係…

Phoenix入門 (第11章 Presence)

どうも、靖宗です。 今回はPresenceということであまりなじみのない概念・・・ どうやらChannnel絡みの機能だそうですので、前回のサンプルの続き、ということになりそうです。 Presence Presenceモジュール作成 mixを利用したChannel作成 Channel編集 クラ…

Phoenix入門 (第10章 Channels その2 リアルタイムチャット機能の実装)

どうも、靖宗です。 前回の続きでChannelですが、今回はおそらくサンプルコードを動かすお話。 Tying it all together Joining Channels Incoming Events Intercepting Outgoing Events Socket Assigns Using Token Authentication Step 1 - Assign a Token …

Phoenix入門 (第10章 Channels その1)

どうも、靖宗です。 実は個人的に一番知りたかった項目で、Channelに関してです。 この章も少々長くなりそうなので2記事に分割予定です。 Channels The Moving Parts Overview Endpoint Socket Handlers Channel Routes Channels Topics Messages PubSub Cli…

Phoenix入門 (第9章 Templates)

どうも、靖宗です。 今回はTemplatesということでテンプレートに関して深掘りしていきます。 大体Viewsで知りたいことは知った感もあるのですが、念のためにチェックしておきます。 Templates Examples hello_phoenix_web.ex Displaying Lists Render templa…

Elixirで外部コマンドの実行

どうも、靖宗です。 いつもはシリーズ物ばかり書いてますがたまには単発記事も書きたいです。 技術”メモ”なので、好きに書けばええやんって言われそうですが(笑) Systemモジュール find_executable("コマンド") cmd("コマンド", 引数, オプション) プログ…

Phoenix入門 (第8章 Views その2)

どうも、靖宗です。 前回のViewsの続きです。 The ErrorView Rendering JSON The ErrorView PhoenixにはErrorViewというビューが生成されています。Controllersの2つめの記事で保留にしたやつです。 ファイルはlib/hello_phoenix_web/views/error_view.exが…

Phoenix入門 (第8章 Views その1)

どうも、靖宗です。 今回はViewsということで、実際にレンダリング処理など一番クライアント側に近い処理の話でしょうか。 とりあえず進めて行きます。 Rendering Templates More About Views A Word About Layouts PhoenixのViewの役割はなんと言ってもレン…

Phoenix入門 (第7章 Controllers その3)

どうも、靖宗です。 Controllersの続きです。今回で終われるかな? Redirection Action Fallback Halting the Plug Pipeline Redirection Phoenix上でのリダイレクトの方法のようです。 アイテムを作成した後に表示画面にリダイレクトしたいときなんかに使え…

Phoenix入門 (第7章 Controllers その2)

どうも、靖宗です。 Controllersの続きです。また記事3個になりそうです。 Rendering テキスト JSON HTML(テンプレートファイル無し) render/3関数 Sending responses directly Assigning Layouts Overriding Rendering Formats Setting the Content Type …

Phoenix入門 (第7章 Controllers その1)

どうも、靖宗です。 今回はControllersということで、コントローラの話です。 ルーティングのところで一通りは把握している所ですが、少々深掘りしていきましょう。 Actions Gathering Data Flash Messages 今のところ、Phoenixの作業は mix phx.new project…

Phoenix入門 (第6章 Endpoint)

どうも、靖宗です。 今回はEndpointということでPlugのところでもちょっとやったところです。 全てのリクエストはまずEndpointに渡されて、その後にルーティング処理に入ります。 Endpoint Contents Using SSL SSL in Development Force SSL HSTS そもそもPh…

Phoenix入門 (第5章 Plug)

どうも、靖宗です。 お次はPlug。というかPhoenixの説明でPlugPlug言われてたので先にこの章からやれば良かった。 今まで結構でてきてるところから分かるとおり、PlugはPhoenixのコアな部分です。PhoenixのHTTPレイヤーなどを担当しているっぽいのでもうちょ…

Phoenix入門 (第4章 Routing その3)

どうも、靖宗です。 Plugの説明の記事を挟みましたが、引きつづぎRoutingの章を進めて行きます。 Pipelines The Endpoint Plugs The :browser and :api Pipelines 例 scope無しのパイプライン 複数のパイプライン Creating New Pipelines Channel Routes Pip…

Phoenix入門 (番外 Plug)

どうも、靖宗です。 あまりにもPlugPlug言われるのでPlugのドキュメントを一通り読んでおきます。 hexdocs.pm Plugとは Hello world The Plug.Conn struct Plug.Router Supervised handlers Testing plugs Plugとは Webアプリケーション間の構成可能なモジュ…