タグ

elixirに関するatm_09_tdのブックマーク (63)

  • 私が愛する Elixir/Erlang の楽しさと辛さ

    Developers Summit 2019 にて, Web エンジニアの皆様向けに Elixir の紹介をした際に使用したスライドです. https://event.shoeisha.jp/devsumi/20190214/session/1996/ デブサミ 2019 年テーマ「SHARE YOUR FUN!」に則り、私が 15 年間にわたり愛し続けている Erlang や Elixirを、まだ、これらに触れたことがない PHP/Java/JavaScript などが得意な Web エンジニアの方々へ共有します。 ゴールは、ご参加いただける皆様の道具箱に Elixir を追加する準備を整えることです。 他の言語と比較して何が良いのか?辛いのか?(継続、イベントドリブン、オブジェクト指向、プロセスデザイン、マクロなど)に触れていき、皆様の期待値を適切に保った状態でElixir の世界へと

    私が愛する Elixir/Erlang の楽しさと辛さ
  • ExcelからElixir入門①:データ並替え/絞り込み - Qiita

    コラムは、2分で読めて、10分くらいでお試しいただけます】 piacere です、ご覧いただいてありがとございます Excel位カンタンな関数型プログラミング言語「Elixir」 「関数型言語」の習得が、なかなか進まない、といったことをよく聞きます 特に、「オブジェクト指向言語」に慣れ親しんだ方ほど、苦しんでいるようです Elixirは、「ExcelGoogleスプレッドシートを使う位、簡単」なので、「関数型言語」の習得が進まない方には、オススメの言語です また、プログラミングが初めての方でも、ExcelGoogleスプレッドシートでできることが、Elixirも同じようにできると分かれば、習得しやすいでしょう この「Excelから関数型言語マスター」シリーズでは、ExcelGoogleスプレッドシートと同じ機能を、Elixirでも実践するだけ … というカンタンなところからスター

    ExcelからElixir入門①:データ並替え/絞り込み - Qiita
  • Elixir School 日本語訳

    Elixir Schoolへようこそ! Elixir SchoolはElixirを学び、マスターするための最高の場所です。 ベテランの方も、初めての方も、レッスンや補助教材で必要なものが見つかるはずです。 ボランティアの方々の努力により、Elixir Schoolは多くの言語に翻訳されています。その中には次のような翻訳があります: বাংলা, Deutsch, Ελληνικά, Español, Bahasa Indonesia, Italiano, 日語, 한국어, Bahasa Melayu, Norsk, Polski, Português, Русский, Slovenčina, Türkçe, ภาษาไทย, Українською, Việt ngữ, 简体中文 と 繁體中文. elixirschool/elixirschoolに参加することで、私たちと一緒にElix

    Elixir School 日本語訳
  • elixir-phoenix-on-google-app-engine

    Where should you run your workload? It depends...Choosing the right infrastructure options to run your application is critical, both for the success of your application and for the team that is managing and developing it. This post breaks down some of the most important factors that you need to consider when deciding where you should run your stuff! What are these services?Compute Engine - Virtual

    elixir-phoenix-on-google-app-engine
  • ErlangVMの落としかた初級編 - Qiita

    背景 ErlangVM は堅牢だといわれています。 実際社内で運用している Erlang 製のゲーム課金・認証基盤は弊社の全ゲームからのアクセスを数年間落ちずにさばいています。 ここまで頑丈だと逆にどうやれば落とすことができるのかに興味が行くのは自然なことです。 今回は ErlangVMの落とし方を学ぶため、実際に落とすためのアプリケーションを Elixir で書いてみます。 Supervisorの再起動制限 Supervisor の起動時オプションには max_restarts と max_seconds というオプションがあります。 max_restarts: 制限時間内に再起動する回数の上限 デフォルトは3 max_seconds: max_restartsを指定する制限時間 デフォルトは5 どうやら再起動回数には上限があり、デフォルトでは5秒以内に3回再起動したら Supervis

    ErlangVMの落としかた初級編 - Qiita
  • Elixir の例外について纏めた - Qiita

    意外と複雑だったので、可能な限り情報を纏めてみました。 例外の種類 Elixir の例外には throw と error と exit という3種類があります。 どの例外も、投げた直後に処理を抜けて catch や rescue に飛ぶ(あるいはそれが無ければプロセスが終了する)という点では同じです。 throw throw はフロー制御のための例外です。 Elixir は、関数の途中で return したり、ループで条件を満たしたら break するというのが出来ません。 そういう時、処理の流れ(フロー)を変えるために throw を利用します。 throw を使うことで、例えば Enum.find/2 のような関数は以下のように書けます。 def find(enumerable, default \\ nil, fun) do try do for v <- enumerable do

    Elixir の例外について纏めた - Qiita
  • Edeliverを使ってElixirアプリケーションをデプロイする | DevelopersIO

    Elixirアプリケーションのデプロイツールはedeliverが一番人気のようです。 edeliverはRubyのCapistranoのようなツールです。 今回はedeliverを使ってPhoenixアプリケーションをEC2のサーバにデプロイします。 edeliverの仕組み edeliverはビルド専用のマシンでアプリケーションをビルドし、productionサーバにデプロイします。 内部ではDistilleryというリリースパッケージを作成するツールを利用しています。 デプロイフローを図にすると以下のようになります。 ビルドサーバには事前にErlang, Elixir, NodeJSをインストールする必要があります。 セットアップ ssh-agentの設定 edeliverはversion管理にgitを使用します。 ビルドサーバでgitを使ってチェックアウトするためにssh-agent

    Edeliverを使ってElixirアプリケーションをデプロイする | DevelopersIO
  • 最速で知る! ElixirプログラミングとErlang/OTPの始め方【第二言語としてのElixir】 - エンジニアHub|Webエンジニアのキャリアを考える!

    最速で知る! ElixirプログラミングとErlang/OTPの始め方【第二言語としてのElixir】 Elixir入門の手引、第1弾となる今回はErlangのVM上のプロセスをElixirで扱う方法を説明し、Elixirでどのようにアプリケーションを構築するのかを解説します。 はじめまして! 大原常徳(おおはら・つねのり)といいます。 今回から2回に分けて「第二言語としてのElixir」というテーマで、プログラミング言語Elixirの入門記事をお届けします。 Elixirは、José Valim氏によって開発されているプログラミング言語です。 最大の特徴は、ErlangのVM上で動作し、Erlangのモジュールを利用できることでしょう。 ちょうど、ScalaJava VM上で動作し、Javaの関数を利用できるという関係に似ていますね。 {$annotation_2}Elixir Erl

    最速で知る! ElixirプログラミングとErlang/OTPの始め方【第二言語としてのElixir】 - エンジニアHub|Webエンジニアのキャリアを考える!
  • Elixirのノード接続とメッセージ通信 | DevelopersIO

    Elixirでプログラミングをするときは頻繁にプロセス間でメッセージ通信を行います。 Elixirのプロセスはネットワークに透過的なため、別ノード(別VM)へのプロセスへメッセージを送信することができます。 また、別ホスト(別サーバ)で動いているプロセスへも送信できます。 今回は異なるVM間、異なるホスト間のメッセージ通信を試してみます。 ノード接続 メッセージ通信を行うノード同士で接続します。 まず最初に名前付きでノードを起動しましょう。 (@以降の内容はホストネームです。hostname -s で確認できます) $ iex --sname foo iex(foo@kanmo)> 次に別のターミナルウィンドウを開き、同じく名前付きのノードを起動します。 $ iex --sname bar iex(bar@kanmo)> それでは、ノード同士で接続します。 iex(foo@kanmo)>

    Elixirのノード接続とメッセージ通信 | DevelopersIO
  • ログイン - はてな

    パスワードを忘れた方はパスワードの再設定を行ってください。 初めての方ははてなID登録 (無料) してください。 うまくログインできない方はお問い合わせをご覧いただき、Cookieの設定をご確認ください。

    ログイン - はてな
  • Elixir + Phoenix + ESpecでBDDするまで - Qiita

    前置き この記事はElixir Advent Calendar 2016の8日目の記事です。 Ruby + Rails + RSpecを使ったウェブアプリケーション開発は定番だと思いますが、Elixir + Phoenix + ESpecの日語の情報が少ないようなので書きます。 ソースはこちら 環境作り Erlang, Elixir, Node Erlang, Elixir, Nodeのバージョン管理をasdfの1つで行えるので重宝しています。 asdfを使わない場合はInstalling Elixirを参考にどうぞ。

    Elixir + Phoenix + ESpecでBDDするまで - Qiita
  • Elixir で Web API 書くのに何を使うか検討した - Qiita

    Akatsuki Advent Calendar 2016 12日目です。 Elixir で Web アプリケーションを書く場合、Phoenix がメジャーだと思います。 弊社でも直近でリリース予定のアプリケーションでは Phoenix を使いました。 今回は、テンプレートエンジンを使う、RDB を使う、などあって Phoenix にしました。 Web API を書く場合はどうでしょうか。 テンプレートエンジンが不要だったり、必要なものが減ると選択肢は変わるかもしれません。 テンプレートエンジン不要、WebSocket使う、RDB使わない、クライアントはUnity、 などの前提条件で、次の選択肢を検討しました。 Phoenix を使う Plug の上に構築する Cowboy の上に構築する Phoenix を使う 単純にプロジェクト作成を mix phoenix.new するといろいろ入っ

    Elixir で Web API 書くのに何を使うか検討した - Qiita
  • 本当のプログラミング初心者にElixirを教えたことで得た学び - Line 1: Error: Invalid Blog('by Esehara' )

    今日の風景 知っている人から知らないものをさしいれでいただきました。 ところで、みなさんは完全ですか? はじめに 知人が唐突に「これからElixirやっていくぞ」という気持ちになったため、Elixirのもくもくと勉強する会を秋葉原で定期的にやることになった。今回は第一回目であったため、以前に会をやっていたルームシェアでやることにした。 その中で、ウェブ媒体のライターをしつつ、のちのちはプログラマになりたいという若人がいたために、Elixir最速基礎文法をあらかじめ目を通しておいて、そのあとの課題としてProject Eulerの最初の10問程度をできるだけ自分で問いてみるということを提案してりたりした。他の人は、直接HTMLなどが表示できるほうがいいのではないか、という提案があったりしたのだが、個人的にはまず「分岐」「反復」といった考え方になれたほうがいいし、最初の10問程度はそれで済む程

    本当のプログラミング初心者にElixirを教えたことで得た学び - Line 1: Error: Invalid Blog('by Esehara' )
  • Elixir/Phoenix 環境を Docker for Windows で構築してみる - Qiita

    Phoenix 環境をDockerで構築してみるメモ。 前提 Windows10 PowerShell上でDocker for Windowsを使います。 Bash on Windowsやboot2dockerは使いません。 PS > [System.Environment]::OSVersion Platform ServicePack Version VersionString -------- ----------- ------- ------------- Win32NT 10.0.14393.0 Microsoft Windows NT 10.0.14393.0 PS > docker --version Docker version 1.12.1, build 23cf638 PS > docker-compose --version docker-compose versi

    Elixir/Phoenix 環境を Docker for Windows で構築してみる - Qiita
  • Elixirで外部API呼び出しのテストをする | DevelopersIO

    外部APIを呼び出すアプリケーションをテストする場合、テストのたびにリクエストを送信するのは現実的ではありませんが自作のレスポンスデータを使うと、バグをテストで発見できなくなってしまう場合があります。 できる限り物のAPIレスポンスを使ってテストしたいです。 Elixirにはexvcrというライブラリを使うことで物のAPIレスポンスを使ったテストが簡単に実現できます。今回はexvcrを使って外部API呼び出しのテストを書いてみます。 インストール サンプルプロジェクトを作成し、mix.exsファイルに以下の記述を追加してインストールします。 環境構築、プロジェクトの作成方法はこのページを参照してください MacにElixir環境を構築する defp deps do [ {:exvcr, "~> 0.6", only: :test}, # この行を追加します ] end 以下のコマンドで

    Elixirで外部API呼び出しのテストをする | DevelopersIO
  • Elixirでコマンドラインアプリケーションを作る | DevelopersIO

    プログラマーは普段の仕事を簡単にするために、各々便利なスクリプトを作り活用しています。 使用するプログラミング言語はどれでも良いのですが、簡単に書けて楽にCLIアプリケーションとしてビルド、リリースできる仕組みがあるとありがたいです。 ElixirにはCLIアプリケーションを簡単に作成できる escript というツールが用意されています。 今回はElixirでCLIアプリケーションを作成してみます(検証したelixirのversionは1.3.2です)。 環境構築は以下のページを参照してください。 MacにElixir開発環境を構築する プロジェクト作成 ますコマンドラインアプリケーションのプロジェクトを作成しましょう。 mix new cli_demo escript escriptはElixirのアプリケーションをCLIアプリケーションとしてコンパイルする仕組みです。 これを使うには

    Elixirでコマンドラインアプリケーションを作る | DevelopersIO
  • elixir on phoenix ectoを使っていろいろなSELECT文 - Qiita

    defmodule Sample.User do use Sample.Web, :model schema "users" do field :name, :string field :age, :integer timestamps() end end #全件取得 User |> Repo.all() #SELECT u0.`id`, u0.`name`, u0.`age`, u0.`inserted_at`, u0.`updated_at` FROM `users` AS u0 #IDから取得 User |> Repo.get!(1) #SELECT u0.`id`, u0.`name`, u0.`age`, u0.`inserted_at`, u0.`updated_at` FROM `users` AS u0 WHERE (u0.`id` = ?) #[1] User |> se

    elixir on phoenix ectoを使っていろいろなSELECT文 - Qiita
  • VegetaでPhoenixとRailsの負荷テスト - Memento memo.

    以前会社の同期とご飯をべていた時、 HTTP負荷テストツールのVegetaというものを紹介してもらったので試してみました。 github.com GitHubプロジェクトページを開くとイカしたサイヤ人の王子が目に飛び込んできます。 Golang製ツールで、CLIで比較的簡単に扱えるのが特徴のようです。 大量のリクエストを投げるコマンドが vegeta attack です。 大量にエネルギー弾を撃ちまくるイメージですね。 ドラゴンボールの負け確フラグです。 "王子戦法"、またの名を"グミ撃ち"というらしいです。 dic.nicovideo.jp Vegeta で負荷をかける とりあえず使ってみます。他所のサーバに負荷をかけると当に怒られるのでやめましょう。自前で用意したサーバかlocalhostに向かって実行しましょう。 負荷テストの対象は最近ハマってるPhoenix (v1.2.1,

    VegetaでPhoenixとRailsの負荷テスト - Memento memo.
  • Elixir for Rubyists - DZone

  • hello waf, hello phoenix

    Swimming in the Sea of ELF - AV Tokyo 2015 Workshop #MalwareMustDieunixfreaxjp

    hello waf, hello phoenix