Skip to content

Commit 71cabc5

Browse files
committed
mix tasks
1 parent 9616574 commit 71cabc5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+201
-273
lines changed

README.md

+21-20
Original file line numberDiff line numberDiff line change
@@ -203,17 +203,20 @@ The curriculum is still a rough outline subject to change and feedback. see [sta
203203
* Testing With ExUnit
204204
* ExUnit With Mix Projects
205205
* Documentation and Static Analysis
206-
* Group Project
207206
## OTP and Advanced Syntax
208207
* Protocols
209-
* Supervisor Basics and Fault Tolerance
210208
* Recursion
209+
* Benchmarking and Performance
210+
* Streams
211211
* Performance Optimization
212-
* Files and Data Validation
213212
* Processes
214-
* Agent, Task, and ETS
213+
* Supervisor Basics and Fault Tolerance
214+
* Concurrency With Tasks
215+
* State Management With Agents
216+
* In Memory State With Agents and ETS.
217+
* Files and Data Validation
215218
## Web Servers and Phoenix
216-
* HTML & CSS
219+
* HTML and CSS
217220
* APIs & Parsing JSON
218221
* Phoenix
219222
## Databases With Ecto
@@ -226,24 +229,21 @@ The curriculum is still a rough outline subject to change and feedback. see [sta
226229
* Phoenix and Ecto One-to-One Relationships
227230
* Tailwind
228231
## LiveView
229-
* UX/UI Design + Accessibility
230-
* Phoenix LiveView
232+
* LiveView
233+
* Testing LiveView
231234
* Phoenix Forms
232-
* PubSub & Channels
233-
* GraphQL & Absinthe (+ Testing Patterns)
235+
* PubSub and Channels
236+
* GraphQL and Absinthe
237+
## Capstone Project Preparation
238+
* Capstone Project
239+
* UX/UI Design + Accessibility
234240
## Quality Assurance
235-
* TDD Techniques (Red Green Refactor)
236-
* Metrics, Telemetry, Live Dashboard
241+
* Observability
237242
* Factories & Mocks
238-
* Property Based Testing (Stream Data) + E2E Testing (Wallaby)
239243
* CI/CD, Code Coverage, GitHub Actions & Hooks
240-
## Architecture
241-
* Software & Product Management (Agile, StandUps, Kanban)
242-
* Architecture Design & Patterns (Diagrams, UML, CQRS/ES, Contexts, MVC)
243-
* Advanced Livebook (Graphs, Tables, Connecting Projects)
244-
* Open Source Patterns & Advanced GitHub (PRs, Forking, Cloning, Issues, Rebasing)
245-
* Group Project Start
246-
* Designing Elixir Systems With OTP
244+
## Group Project
245+
* Project Management
246+
* Group Project
247247
## External Libraries
248248
* Emailing & Swoosh
249249
* Oban
@@ -253,5 +253,6 @@ The curriculum is still a rough outline subject to change and feedback. see [sta
253253
* Genserver Bottlenecks
254254
* Worker Pools
255255
* Deployment
256-
## (Final Project)
256+
## Final Project
257+
* Demo Day
257258
<!-- course-outline-end -->

exercises/_template.livemd

+1-7
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,5 @@ Run the following in your command line from the beta_curriculum folder to track
4444

4545
```
4646
$ git add .
47-
$ git commit -m "finish saferange exercise"
47+
$ git commit -m "finish template exercise"
4848
```
49-
50-
## Up Next
51-
52-
| Previous | Next |
53-
| ------------------------------------------------ | ---------------------------------------------------: |
54-
| [PREVIOUS](../exercises/PREVIOUS.livemd) | [NEXT](../reading/NEXT.livemd) |

exercises/anagram_solver.livemd

-6
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,3 @@ Run the following in your command line from the beta_curriculum folder to track
5959
$ git add .
6060
$ git commit -m "finish anagram solver exercise"
6161
```
62-
63-
## Up Next
64-
65-
| Previous | Next |
66-
| ------------------------------------------ | -------------------------------------------------: |
67-
| [Factorial](../exercises/factorial.livemd) | [Big O Notation](../reading/big_o_notation.livemd) |

exercises/battle_map.livemd

+3-3
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,6 @@ $ git commit -m "finish battle map exercise"
204204

205205
## Up Next
206206

207-
| Previous | Next |
208-
| -------------------------------------------------------------- | -------------------------------------------: |
209-
| [Consumable Protocol](../exercises/consumable_protocol.livemd) | [Supervisors](../reading/supervisors.livemd) |
207+
| Previous | Next |
208+
| -------------------------------------------------------------- | ---------------------------------------: |
209+
| [Consumable Protocol](../exercises/consumable_protocol.livemd) | [Recursion](../reading/recursion.livemd) |

exercises/capstone_project_mock.livemd

-6
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,3 @@ Run the following in your command line from the beta_curriculum folder to track
5353
$ git add .
5454
$ git commit -m "finish capstone project mock exercise"
5555
```
56-
57-
## Up Next
58-
59-
| Previous | Next |
60-
| ---------------------------------------------------- | -------------------------------------: |
61-
| [Portfolio Mock](../exercises/portfolio_mock.livemd) | [LiveView](../reading/liveview.livemd) |

exercises/concurrent_image_processing.livemd

+3-3
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,6 @@ $ git commit -m "finish concurrent image processing exercise"
8383

8484
## Up Next
8585

86-
| Previous | Next |
87-
| ---------------------------------------------- | -------------------------------------------------: |
88-
| [Smart Cache](../exercises/smart_cache.livemd) | [Kitchen Queue](../exercises/kitchen_queue.livemd) |
86+
| Previous | Next |
87+
| ------------------------------ | -------------------------------------------------------: |
88+
| [Task](../reading/task.livemd) | [Caching Agent ETS](../reading/caching_agent_ets.livemd) |

exercises/custom_enum_with_recursion.livemd

+9-9
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ you are not allowed to use the [Enum](https://hexdocs.pm/elixir/Enum.html) modul
2323
Implement the following [Enum](https://hexdocs.pm/elixir/Enum.html) functions in this `CustomEnum` function. Each should use recursion
2424
to accomplish the same functionality as the [Enum](https://hexdocs.pm/elixir/Enum.html) module does.
2525

26-
* `Enum.reverse/2`
27-
* `Enum.map/2`
28-
* `Enum.filter/2`
29-
* `Enum.sum/2`
30-
* `Enum.join/1`
26+
* [Enum.reverse/2](https://hexdocs.pm/elixir/Enum.html#reverse/2)
27+
* [Enum.map/2](https://hexdocs.pm/elixir/Enum.html#map/2)
28+
* [Enum.filter/2](https://hexdocs.pm/elixir/Enum.html#filter/2)
29+
* [Enum.sum/2](https://hexdocs.pm/elixir/Enum.html#sum/2)
30+
* [Enum.join/1](https://hexdocs.pm/elixir/Enum.html#join/1)
3131

3232
Keep in mind you may need to delegate to another function if an accumulator is required.
3333

@@ -131,7 +131,7 @@ end
131131

132132
We've installed the [Benchee](https://github.com/bencheeorg/benchee) project in this livebook.
133133

134-
Benchmark your solution against the existing `Enum` module. Is yours faster or slower? Keep in mind that the `Enum` module contains implementations for all enumerables, not just lists.
134+
Benchmark your solution against the existing [Enum](https://hexdocs.pm/elixir/Enum.html) module. Is yours faster or slower? Keep in mind that the [Enum](https://hexdocs.pm/elixir/Enum.html) module contains implementations for all enumerables, not just lists.
135135

136136
```elixir
137137

@@ -148,6 +148,6 @@ $ git commit -m "finish custom enum with recursion exercise"
148148

149149
## Up Next
150150

151-
| Previous | Next |
152-
| ---------------------------------------- | -------------------------------------------------: |
153-
| [Recursion](../reading/recursion.livemd) | [Lucas Numbers](../exercises/lucas_numbers.livemd) |
151+
| Previous | Next |
152+
| -------------------------------------------------- | -----------------------------------------------------------: |
153+
| [Big O Notation](../reading/big_o_notation.livemd) | [Games Benchmarking](../exercises/games_benchmarking.livemd) |

exercises/drill-enum1-replace-nils.livemd

+1-7
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,5 @@ Run the following in your command line from the beta_curriculum folder to track
128128

129129
```
130130
$ git add .
131-
$ git commit -m "finish saferange exercise"
131+
$ git commit -m "finish drill-enum1-replace-nils exercise"
132132
```
133-
134-
## Up Next
135-
136-
| Previous | Next |
137-
| ---------------------------------------- | -----------------------------: |
138-
| [A Safe Range](../exercises/saferange.livemd) | [Non-Enumerables](../reading/non_enumerables.livemd) |

exercises/drill-enum2-replace-nils.livemd

+1-7
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,5 @@ Run the following in your command line from the beta_curriculum folder to track
139139

140140
```
141141
$ git add .
142-
$ git commit -m "finish saferange exercise"
142+
$ git commit -m "finish drill-enum2-replace-nils exercise"
143143
```
144-
145-
## Up Next
146-
147-
| Previous | Next |
148-
| ---------------------------------------- | -----------------------------: |
149-
| [Book Search](../exercises/book_search.livemd) | [Built-In Modules](../reading/built-in_modules.livemd) |

exercises/drill-patternmatching-replace-nils.livemd

+1-8
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ In this particular iteration of this problem, the goal is
3535
to practise writing/using functions with pattern matching
3636
in the functions' heads.
3737

38-
3938
To develop familiarity with functions and pattern matching,
4039
you will replace `nil` values in a list with values from a
4140
second list at the same index.
@@ -144,11 +143,5 @@ Run the following in your command line from the beta_curriculum folder to track
144143

145144
```
146145
$ git add .
147-
$ git commit -m "finish saferange exercise"
146+
$ git commit -m "finish drill-patternmatching-replace-nils exercise"
148147
```
149-
150-
## Up Next
151-
152-
| Previous | Next |
153-
| ---------------------------------------- | -----------------------------: |
154-
| [Metric Conversion](../exercises/metric_conversion.livemd) | [Guards](../reading/guards.livemd) |

exercises/drill-reduce-replace-nils.livemd

+1-7
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,5 @@ Run the following in your command line from the beta_curriculum folder to track
169169

170170
```
171171
$ git add .
172-
$ git commit -m "finish saferange exercise"
172+
$ git commit -m "finish drill-reduce-replace-nils exercise"
173173
```
174-
175-
## Up Next
176-
177-
| Previous | Next |
178-
| ---------------------------------------- | -----------------------------: |
179-
| [Custom Enums](../exercises/custom_enum_with_reduce.livemd) | [Dates and Times](../reading/datetime.livemd) |

exercises/factorial.livemd

+3-3
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,6 @@ $ git commit -m "finish factorial exercise"
8585

8686
## Up Next
8787

88-
| Previous | Next |
89-
| -------------------------------------------------- | ---------------------------------------------------: |
90-
| [Lucas Numbers](../exercises/lucas_numbers.livemd) | [Anagram Solver](../exercises/anagram_solver.livemd) |
88+
| Previous | Next |
89+
| -------------------------------------------------- | -------------------------------------------------------: |
90+
| [Lucas Numbers](../exercises/lucas_numbers.livemd) | [Pascals Triangle](../exercises/pascals_triangle.livemd) |

exercises/fibonacci.livemd

+3-3
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,6 @@ $ git commit -m "finish fibonacci exercise"
105105

106106
## Up Next
107107

108-
| Previous | Next |
109-
| -------------------------------------------------------------------------- | -------------------------------------------------------: |
110-
| [Maps MapSets Keyword Lists](../reading/maps_mapsets_keyword_lists.livemd) | [Pascals Triangle](../exercises/pascals_triangle.livemd) |
108+
| Previous | Next |
109+
| ---------------------------------------- | -------------------------------------------------: |
110+
| [Recursion](../reading/recursion.livemd) | [Lucas Numbers](../exercises/lucas_numbers.livemd) |

exercises/fibonacci_challenge.livemd

+5-5
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ defmodule FastFib do
6161
end
6262
```
6363

64-
Use `Benchee` to benchmark the performance of `FastFib.sequence/1` function. The student in the class with the fastest `FastFib` time wins.
64+
Use [Benchee](https://hexdocs.pm/benchee/Benchee.html) to benchmark the performance of `FastFib.sequence/1` function. The student in the class with the fastest `FastFib` time wins.
6565

6666
```elixir
6767
Benchee.run(
@@ -86,11 +86,11 @@ Run the following in your command line from the beta_curriculum folder to track
8686

8787
```
8888
$ git add .
89-
$ git commit -m "finish fibonacci exercise"
89+
$ git commit -m "finish fibonacci challenge exercise"
9090
```
9191

9292
## Up Next
9393

94-
| Previous | Next |
95-
| -------------------------------------------------------------------------- | -------------------------------------------------------: |
96-
| [Maps MapSets Keyword Lists](../reading/maps_mapsets_keyword_lists.livemd) | [Pascals Triangle](../exercises/pascals_triangle.livemd) |
94+
| Previous | Next |
95+
| -------------------------------------------------------------------------- | ---------------------------------------: |
96+
| [Maps MapSets Keyword Lists](../reading/maps_mapsets_keyword_lists.livemd) | [Processes](../reading/processes.livemd) |

exercises/games_benchmarking.livemd

+4-4
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,11 @@ Run the following in your command line from the beta_curriculum folder to track
3737

3838
```
3939
$ git add .
40-
$ git commit -m "finish games benchmark"
40+
$ git commit -m "finish games benchmarking exercise"
4141
```
4242

4343
## Up Next
4444

45-
| Previous | Next |
46-
| -------------------------------------------------------------- | ---------------------------------: |
47-
| [Games Guessing Game](../exercises/games_guessing_game.livemd) | [ExUnit](../reading/exunit.livemd) |
45+
| Previous | Next |
46+
| ---------------------------------------------------------------------------- | -----------------------------------: |
47+
| [Custom Enum With Recursion](../exercises/custom_enum_with_recursion.livemd) | [Streams](../reading/streams.livemd) |

exercises/games_documentation_and_static_analysis.livemd

+3-3
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,6 @@ $ git commit -m "finish games documentation and static analysis exercise"
6363

6464
## Up Next
6565

66-
| Previous | Next |
67-
| -------------------------------- | -----------------------------------------------------: |
68-
| [Credo](../reading/credo.livemd) | [Typespec Drills](../exercises/typespec_drills.livemd) |
66+
| Previous | Next |
67+
| ------------------------------------------------------ | ---------------------------------------: |
68+
| [Typespec Drills](../exercises/typespec_drills.livemd) | [Protocols](../reading/protocols.livemd) |

exercises/games_wordle.livemd

+1-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ Run the following in your command line from the beta_curriculum folder to track
9898

9999
```
100100
$ git add .
101-
$ git commit -m "finish wordle application exercise"
101+
$ git commit -m "finish games wordle exercise"
102102
```
103103

104104
## Up Next

exercises/kitchen_queue.livemd

+3-3
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,6 @@ $ git commit -m "finish kitchen queue exercise"
120120

121121
## Up Next
122122

123-
| Previous | Next |
124-
| ------------------------------------------------------------------------------ | -------------------------------------: |
125-
| [Concurrent Image Processing](../exercises/concurrent_image_processing.livemd) | [HTML CSS](../reading/html_css.livemd) |
123+
| Previous | Next |
124+
| ---------------------------------------------- | -----------------------------: |
125+
| [Smart Cache](../exercises/smart_cache.livemd) | [File](../reading/file.livemd) |

exercises/lazy_product_filters.livemd

+6-6
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ end
173173

174174
<!-- livebook:{"break_markdown":true} -->
175175

176-
Implement the `StreamProducts` module using Streams instead of the `Enum` module.
176+
Implement the `StreamProducts` module using Streams instead of the [Enum](https://hexdocs.pm/elixir/Enum.html) module.
177177

178178
```elixir
179179
defmodule StreamProducts do
@@ -186,7 +186,7 @@ defmodule StreamProducts do
186186
187187
## Examples
188188
189-
No filters returs all products.
189+
No filters returns all products.
190190
191191
iex> Products.filter([%{name: "Laptop", category: :tech, price: 100}], [])
192192
[%{name: "Laptop", category: :tech, price: 100}]
@@ -246,7 +246,7 @@ end
246246

247247
## Bonus: Benchmark
248248

249-
Did using `Stream` improve the performance of you solution? Use `Benchee` to find out. Ensure you benchmark your solution with a large and varied data set. We've included the [Faker](https://hexdocs.pm/faker/readme.html) project to make this easier.
249+
Did using [Stream](https://hexdocs.pm/elixir/Stream.html) improve the performance of you solution? Use [Benchee](https://hexdocs.pm/benchee/Benchee.html) to find out. Ensure you benchmark your solution with a large and varied data set. We've included the [Faker](https://hexdocs.pm/faker/readme.html) project to make this easier.
250250

251251
```elixir
252252
Faker.Food.dish()
@@ -296,6 +296,6 @@ $ git commit -m "finish lazy product filters exercise"
296296

297297
## Up Next
298298

299-
| Previous | Next |
300-
| -------------------------------------------------------------- | ---------------------------------------------------: |
301-
| [Math Module Testing](../exercises/math_module_testing.livemd) | [ExUnit With Mix](../reading/exunit_with_mix.livemd) |
299+
| Previous | Next |
300+
| -------------------------------------------------- | ---------------------------------------------------: |
301+
| [Stream Drills](../exercises/stream_drills.livemd) | [Lists Vs Tuples](../reading/lists_vs_tuples.livemd) |

exercises/lucas_numbers.livemd

+4-4
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ end
6262
Lucas.sequence(10)
6363
```
6464

65-
To avoid recomputing lucas numbers over and over, we can implement `sequence/1` using `Enum.reduce/3` instead.
65+
To avoid recomputing lucas numbers over and over, we can implement `sequence/1` using [Enum.reduce/3](https://hexdocs.pm/elixir/Enum.html#reduce/3) instead.
6666

6767
```elixir
6868
def sequence(length) do
@@ -148,6 +148,6 @@ $ git commit -m "finish lucas numbers exercise"
148148

149149
## Up Next
150150

151-
| Previous | Next |
152-
| ---------------------------------------------------------------------------- | -----------------------------------------: |
153-
| [Custom Enum With Recursion](../exercises/custom_enum_with_recursion.livemd) | [Factorial](../exercises/factorial.livemd) |
151+
| Previous | Next |
152+
| ------------------------------------------ | -----------------------------------------: |
153+
| [Fibonacci](../exercises/fibonacci.livemd) | [Factorial](../exercises/factorial.livemd) |

0 commit comments

Comments
 (0)