{"id":190,"date":"2021-09-27T00:58:37","date_gmt":"2021-09-27T00:58:37","guid":{"rendered":"https:\/\/login-safe.com\/?p=190"},"modified":"2021-10-02T01:02:03","modified_gmt":"2021-10-02T01:02:03","slug":"elixir-development-environment","status":"publish","type":"post","link":"https:\/\/login-safe.com\/en\/elixir-development-environment\/","title":{"rendered":"Elixir development environment"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_57_1 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" >Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\" role=\"button\"><label for=\"item-69e3122ed79a1\" ><span class=\"\"><span style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input aria-label=\"Toggle\" type=\"checkbox\"  id=\"item-69e3122ed79a1\"><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/login-safe.com\/en\/elixir-development-environment\/#Meet_elixir_development_environment\" title=\"Meet elixir development environment\">Meet elixir development environment<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/login-safe.com\/en\/elixir-development-environment\/#Running_the_application\" title=\"Running the application\">Running the application<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Meet_elixir_development_environment\"><\/span>Meet elixir development environment<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-191 alignleft\" src=\"https:\/\/login-safe.com\/wp-content\/uploads\/2021\/10\/computer11-300x200.jpg\" alt=\"elixir development environment\" width=\"300\" height=\"200\" \/>Elixir development environment<\/strong>, and more specifically Elixir \/ Phoenix programming, has been part of <strong>Prograils<\/strong> for several years. We strive to keep the setup process simple and consistent for each developer, making it easy to add new members and keep the same setup for everyone.<\/p>\n<p>Programming languages \u200b\u200bare like hand tools. You can use a screwdriver to hit a nail, but that doesn&#8217;t mean it&#8217;s the brightest idea.<\/p>\n<p>We understand this and that is why we need a solution that supports multiple languages \u200b\u200bon our computers. Even though we all do our best to keep all versions up to date (see the Prograils manual for details), in the end you will always find a project that does not have the latest language versions.<br \/>\nThat is why we chose asdf as our solution for installing languages \u200b\u200bon programming machines.<\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Running_the_application\"><\/span>Running the application<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-192 alignleft\" src=\"https:\/\/login-safe.com\/wp-content\/uploads\/2021\/10\/zz2-300x200.jpg\" alt=\"elixir development environment\" width=\"300\" height=\"200\" \/>When setting up any project from the <a href=\"https:\/\/prograils.com\/posts\/elixir-phoenix-development-environment-setup\">elixir development environment<\/a> (including the Phoenix web project), I recommend running it as an Umbrella app.<\/p>\n<p>This approach allows for a better separation of responsibilities between services, and also speeds up compilation times in the development environment. The downside is that you have the next stage of learning in your Elixir journey and more blueprints to add to your codebase.<\/p>\n<p>Building a production version in Elixir is now easy. Version 1.9 of the added language Releases as part of the language core. There are many different options for a server release &#8211; you can do it yourself by copying the release and running it remotely, Docker, heroku packages, or via a dedicated library.<\/p>","protected":false},"excerpt":{"rendered":"<p>Meet elixir development environment Elixir development environment, and more specifically Elixir \/ Phoenix programming, has been part of Prograils for several years. We strive to keep the setup process simple&hellip; <\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[66,65,68,67],"ppma_author":[342],"class_list":["post-190","post","type-post","status-publish","format-standard","hentry","category-programming","tag-development-environment","tag-elixir","tag-phoenix","tag-programming"],"aioseo_notices":[],"authors":[{"term_id":342,"user_id":1,"is_guest":0,"slug":"admin","display_name":"admin","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/4fbf54a33d3434ab401433233683639ffd615eae3e68dcd428d2c2d9e220fa24?s=96&d=mm&r=g","user_url":"https:\/\/login-safe.com","last_name":"","first_name":"","description":""}],"_links":{"self":[{"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/posts\/190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/comments?post=190"}],"version-history":[{"count":1,"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/posts\/190\/revisions"}],"predecessor-version":[{"id":194,"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/posts\/190\/revisions\/194"}],"wp:attachment":[{"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/media?parent=190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/categories?post=190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/tags?post=190"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/ppma_author?post=190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}