DEV Community

Cover image for Round 1 Day 3
Jeremy Ward 😎🤓
Jeremy Ward 😎🤓

Posted on • Edited on

Round 1 Day 3

Keep Moving Forward

Three days ago I started the #100DaysOfCode Challenge, and today I finished elixirschool.com basics for elixir. This feels great because I started those basics over a year ago and stopped.

Quick TL;DR; for today.

Testing

  • ExUnit is built in to elixir, so I'll prolly be using that for my testing framework.
  • Test Mocks. The elixir community has an interesting take on mocking. The whole idea revolves around using "mocks" as a noun and not a verb. The concept is to keep parts of the code isolated and easier to test.
  • If you want to read more, check out the original blog post (here)[http://blog.plataformatec.com.br/2015/10/mocks-and-explicit-contracts/]

Comprehensions

  • Generators:
    • are neato
    • multiple generators can be used at a time
  • Filters can be added to generators as you iterate over an Enum
    • Ex. is_even => for x <- 1..10, is_even(x), do: x

Strings

  • Prolly never gonna need to use Graphemes or Codepoints

Time

  • Time.utc_now returns a "Time Struct" ~T[19:39:31.056226]
  • Date.utc_today returns a "Date Struct" ~D[2021-02-15]
  • NaiveDateTime feels .... useless. Its Date + Time with no timezone /shrug
  • I'll prolly most likly use DateTime instead.

Custom Mix Tasks

  • Are located in lib/mix/tasks/*.ex
  • When creating a Task you have to use the macro use Mix.Task
  • Mix tasks do not autoload dependencies

iEX Helpers (cool things about the REPL)

  • Tab autocomplete
  • .iex.exs is a local file to configure the repl
  • h Module or Function renders the docs
  • r Module will recompile the module

Tada. Day 3. Fin.
If you want to reach out, you can find me on (The Tweeters)[https://twitter.com/basicbrogrammer]

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay