Learning Elixir on exercism.io!
me too
Still in the learning process for both Elixir and Phoenix. I’ve been learning through Programming Elixir 1.2, Programming Phoenix, learnelixir.tv, and learnphoenix.tv
Converting complex functions into simpler by splitting into multiple smaller/logical functions which return tagged tuples for usage with with
. Thus getting rid of complex conditional nesting and covering all possible fails.
Learning Elixir and Phoenix by building simple invoicing app.
I’ve had to dive head first into Scala land, so I am circling back to Elixir now. Oh boy do I miss it! Wrote a blog post about setting up Gitlab Runner on your VPS to run Elixir/Phoenix tests. Next I need to read a bit about releases, and Gitlab build/deploy steps. Coming up to speed on Phoenix 1.3 (boundary pattern++), and start hacking on insert project idea here.
OTP is another topic I want to get proficient with, just need the time.
I’m currently reading some Elixir books, especially for OTP parts.
This is awesome!
Thanks! Here ya go:
Working on an Elixir/Phoenix app to coordinate kubernettes deploys.
Thanks, will be installing as soon as I get into work
It’s my current inter-freelance mission learning pastime.
Mostly http backend stuff. Clearly not the first backend language I’ve been using, but looks really promising so far,
just need to get my head around some concepts.
So now it’s mostly reading and struggling, but the struggling is shorter every new tries.
@AstonJ: I am:
- Learning Elixir
- Looking and at least try to answer on some questions here
- Working for Makestry LTD
- Planning and working on some libraries/projects, see my special announcement.
Finally getting some downtime to get back to Elixir. Been going through the drips at https://hackernoon.com/a-free-introduction-to-elixir-otp-ecto-and-phoenix-228d0e994fc1 and highly recommend it to those newish to Elixir.
I’m learning Elixir, Erlang and OTP stuff as fast as I can. In parallel I’m grasping all about Phoenix, Ecto and related subjects in order to start an MVP in a week. (I don’t want to start this in Rails or even Hanami, which would be the natural choice for me).
Working on a library that turns ExUnit test cases and their tags into markdown documentation to use with ExDoc. It parses the ast and build up an intermediate representation to output as json/markdown/?. https://github.com/Ch4s3/bartleby
Hah, that looks cool, you should post it in its own thread when it gets docs and published!
Yeah I intend to. It’s basically a tool for satisfying some client requirements for “compliance” in the health space, but other folks might find it useful.
Today I investigated how unreadable code would get when @/1
were overridden…
EDIT:
defmodule Foo do
defmacro @(ast) do
IO.inspect(ast)
case ast do
{:@, _, [{name, _, arg}]} ->
IO.inspect(name);
quote bind_quoted: [name: name, arg: arg] do
case arg do
nil -> IO.inspect("So, you like Super Attribute #{name}, dontcha?")
[val] -> IO.inspect("Super Attribute #{name} now contains #{val}!")
others -> IO.inspect("Super Attribute #{name} get all these things: #{inspect(others)}")
end
end
_ ->
quote do Kernel.@(unquote(ast)) end
end
end
end
import Foo
import Kernel, except: [@: 1]
@@foo
@@bar 1
@@baz 2, 3, 5
@thingy 3
Or even better:
defmodule AtAt do
defmacro __using__(_opts) do
quote do
import AtAt
import Kernel, except: [@: 1]
end
end
defmacro @(val) do
case val do
{:@, _, [{name, context, args}]} ->
{count, inner} = count_ats({name, context, args}, 2)
quote bind_quoted: [count: count, inner: inner, escaped_inner: Macro.escape(inner)] do
IO.inspect("Wow! Running #{Macro.to_string(escaped_inner)} with #{count} ats!")
inner
end
_ -> quote do Kernel.@(unquote(val)) end
end
end
defp count_ats({:@, _, [{name, context, args}]}, accum) do
count_ats({name, context, args}, accum + 1)
end
defp count_ats(other, accum) do
{accum, other}
end
end
iex> use AtAt
iex> @@@@@@@@@@@@@@@@@@@@@@@@@@self()
"Wow! Running self() with 26 ats!"
#PID<0.85.0>
I’ve just finished Elixir in Action (after reading 50% of Programming Elixir) - definitely feel like I have a fairly good overview of Elixir now.
I’m not sure whether to finish Programming Elixir next, or start Programming Phoenix (or maybe read them together?) - I’m itching to get a Phoenix done… but not sure whether I should wait for the book to be updated for 1.3 (/contexts etc).
Any suggestions?