AI Features
Log In
0% completed
All Lessons
Free Lessons (5)
Introduction
About the Course
Three Adoption Stories
The Acquisition of icanmakeitbetter
Bleacher Report Improves Performance and Reliability
Plataformatec Supports Early Adopters
Wrapping Up the Adoption Stories
Concept: Team Building
Introduction to Team Building
Training Developers
When Things Go Wrong
Hiring Elixir Developers
Conducting Interviews
Summary of Team Building
Quick Quiz on Team Building
Concept: Ensuring Code Consistency
Introduction to Code Consistency
Coding Standards and Code Formatters
Linters
Typespecs
Dialyxir
Documentation
Tests and Code Coverage
Bureaucrat
Putting It All Together: Code Reviews
Summary of Ensuring Code Consistency
Quick Quiz on Ensuring Code Consistency
Concept: Legacy Systems and Dependencies
Introduction to Legacy Systems and Dependencies
Replacing a Legacy Web App
Terraform and API Evolution
Moving Incremental Releases into Production
Umbrella Projects
Umbrella Project Example
Managing Third-party Dependencies
Summary of Legacy Systems and Dependencies
Quick Quiz on Legacy Systems and Dependencies
Development: Making the Functional Transition
Introduction to Making the Functional Transition
Elixir vs. Mutable Objects
Immutability and Memory
Polymorphism
Agents and Tasks
The Generic Server
GenServer as a Coordinator
GenServers for Code Organization
Supervisors
Summary of Making the Functional Transition
Quick Quiz on Making the Functional Transition
Development - Distributed Elixir
Introduction to Distributed Elixir
Remote Message Passing
Persistence Strategies
Finding Processes
Cache and ETS
Message Delivery Guarantees
Homogeneous vs. Heterogeneous Systems
Summary of Distributed Elixir
Quick Quiz on Distributed Elixir
Project
Create a GenServer and Supervisor From Scratch
Development - Integrating with External Code
Introduction to Integrating with External Code
Strategy 1: Native Implemented Functions (NIFs)
Strategy 2: Communicating via I/O with Ports
All-Caps I/O Program
More about Ports
Strategy 3: The Erlang Distribution Protocol
Summary of Integrating with External Code
Quick Quiz on Integrating with External Code
Production - Coordinating Deployments
Introduction to Coordinating Deployments
Deploying with Mix
The run_erl and heartool
Releases
Using Distillery
Application Configuration
Upgrading Code
Blue-Green Deployment and Destructive Operations in Database
Distributed Erlang
Erlang Clusters without EPMD
Summary of Coordinating Deployments
Quick Quiz on Coordinating Deployments
Production - Metrics and Performance Expectations
Introduction to Metrics and Performance Expectations
Instrumenting Your System
Instrumenting Ecto
Performance Assessment Workflow
Load Testing
Profiling
Benchmarking
Summary of Metrics and Performance Expectations
Quick Quiz on Metrics and Performance Expectations
Production - Making Your App Production Ready
Introduction to Making Your App Production Ready
Logs and Errors
Custom Formatters
SASL Reports
Tracing
Using Other Advanced Tools
Summary of Making Your Application Production Ready
Quick Quiz on Making your Application Production Ready
Conclusion
Wrapping Up
Final Words
Appendix
Some Useful Resources
Home
Courses
Adopting Elixir for Software Engineering Leads & Managers
Some Useful Resources
Find some helpful links that might strengthen your Elixir skills.
We'll cover the following...
Useful GitHub links
Helpful tools
Miscellaneous
Useful GitHub links
Hiring without the whiteboards
comeonin
...