Skip to content

Instantly share code, notes, and snippets.

@algogrit
Last active March 22, 2024 11:53
Show Gist options
  • Save algogrit/3f31e008ed85a6953a86ae74baf0719e to your computer and use it in GitHub Desktop.
Save algogrit/3f31e008ed85a6953a86ae74baf0719e to your computer and use it in GitHub Desktop.
Toshiba Elixir 2403

Day wise discussion topics

Day 1

  • Why Elixir?

  • Basic Setup

  • Syntax Overview

    • Types
    • Operators
    • Pattern Matching
    • Control Flow
    • Comprehensions
  • Basic DS

    • Lists
    • Tuples
      • Tagged Tuples
    • Strings
  • Pattern Matching

Day 2

  • Continued on DS

    • Keyword Lists
      • List of Tagged Tuples
    • Maps
      • Using Pattern Matching for Updating DS
      • Access Behaviour/Module
  • Sigils

  • Functions

    • Arity
    • Overloading
    • Guard Statements
    • Default Values
    • Anonymous Function
      • Handle to a named function
    • Recursion in lieu of loops
  • Enums & Streams

    • Pipe (|>)
  • Processes

    • Spawning
    • Sending & Receiving
      • send ,
      • receive, do: ->
      • flush()
    • Process.alive?
    • self()

Day 3

  • Processes continued

    • Tasks
    • Maintaining State in Process
  • Import, Alias, Use, Require

  • Structs & Protocols

  • Typespecs

Day 4

  • Behaviour

  • Errors

    • raise
    • throws
    • exit
  • Mix / ExUnit

  • OTP: GenServers

Day 5

  • OTP: Supervisors & Monitors

  • Phoenix Framework

    • With html
    • With live
  • Distributed Elixir using Node

  • Low level Networking (:gen_tcp, :gen_udp, :socket)

  • NIFs

  • Macros & DSLs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment