DestyNova
Book-programming-phoenix-liveview:b0.14-errata-p1-131
- p2:
we update a yet another element. Delete "a ". - p11:
you might seeing– s/seeing/see/ - p12:
<imagedata fileref=”images/intro/phoenix-new.png… this fileref seems to be missing a closing double-quote, which breaks the parser and doesn’t insert the image. - p21: The code block in “Handle Events” doesn’t quite match the previous definition, in a trivial way (
{n}vs<%= n %>) - p25:
you should see the actual data that’s sent up to the browser when the user clicks a number– this is worded confusingly. That data is what’s sent //from// the browser to the server when the user clicks a number. - p27:
the time/0 was not re-invoked→the time/0 function - p47:
The :fetch_current_scope_for_user plug runs early in the browser pipeline,– the generator now adds it automatically as the last plug in the browser pipeline. - p48:
Instead of looking up users by tokens in each LiveView, the scope is automatically available:– it’s not though, since we haven’t specified that/wrongrequires an authenticated user in the router yet, so trying to addcurrent_userhere breaks the liveview. Is this just an example rather than a change we should make while following along? - p52:
confirm_user/1– this no longer seems to exist in theAccountsexports, as of Phoenix 1.8.1. - p58:
plug(:put_root_layout,– this appears twice in the snippet, but with Phoenix 1.8.1 it only shows up once, in the browser pipeline. - p70:
we can simplify the WrongLive’s own mount function, so that it looks like this:– this seems to be the exact same definition we had on page 67. - p72:
If a logged in user visits the / route, make them redirect to the /guess route.- It was not obvious how to do this. I searched for a
redirectfunction to use inrouter.ex, but couldn’t find one. The closest wasforwardwhich didn’t seem appropriate. - Instead, I tried adding a second function to
PageController, and referencing that instead of:homein theredirect_if_user_is_authenticatedroute block. It would be good to have some “here’s how you could have done it” sections after the exercises.
- It was not obvious how to do this. I searched for a
- p80:
Notice the significant improvements in Phoenix 1.8’s generator output.– improvements compared to what? In a book written for Phoenix 1.8, it’s likely that almost no readers will remember what the generator output of older versions of Phoenix would look like. - p89:
The Ecto.Changeset.cast/4 function filters the user data we pass into params.–s/params/attrs - p93:
Notice that each of them use the Repo module,=>s/use/uses - p100:
Whenever Catalog.validate_code/1 fails to return the :ok tuple, our code will blow up.– It’sValidator.validate_code/1that can blow our code up this way.Catalog.validate_code/1tries to pattern match on this result, and will throw an error. It never returns an{:ok, ...}tuple toapply_coupon_code/2. - p116:
With just a hand full=>handful - p131:
This tell LiveView–s/tell/tells
Popular Pragmatic Bookshelf topics
This test is broken right out of the box…
— FAIL: TestAgent (7.82s)
agent_test.go:77:
Error Trace: agent_test.go:77
agent_test.go:...
New
In Chapter 3, the source for index introduces Config on page 31, followed by more code including tests; Config isn’t introduced until pag...
New
Running the examples in chapter 5 c under pytest 5.4.1 causes an AttributeError: ‘module’ object has no attribute ‘config’.
In particula...
New
In case this helps anyone, I’ve had issues setting up the rails source code. Here were the solutions:
In Gemfile, change
gem 'rails'
t...
New
When trying to generate the protobuf .go file, I receive this error:
Unknown flag: --go_opt
libprotoc 3.12.3
MacOS 11.3.1
Googling ...
New
This is as much a suggestion as a question, as a note for others.
Locally the SGP30 wasn’t available, so I ordered a SGP40. On page 53, ...
New
Hi,
I completed chapter 6 but am getting the following error when running:
thread 'main' panicked at 'Failed to load texture: IoError(O...
New
Hi all,
currently I wonder how the Tailwind colours work (or don’t work).
For example, in app/views/layouts/application.html.erb I have...
New
Hi, I’ve got a question about the implementation of PubSub when using a Phoenix.Socket.Transport behaviour rather than channels.
Before ...
New
From page 13:
On Python 3.7, you can install the libraries with pip by running these commands inside a Python venv using Visual Studio ...
New
Other popular topics
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
My first contact with Erlang was about 2 years ago when I used RabbitMQ, which is written in Erlang, for my job. This made me curious and...
New
Start building native Android apps the modern way in Kotlin with Jetpack's expansive set of tools, libraries, and best practices. Learn h...
New
In case anyone else is wondering why Ruby 3 doesn’t show when you do asdf list-all ruby :man_facepalming: do this first:
asdf plugin-upd...
New
Author Spotlight:
Peter Ullrich
@PJUllrich
Data is at the core of every business, but it is useless if nobody can access and analyze ...
New
zig/http.zig at 7cf2cbb33ef34c1d211135f56d30fe23b6cacd42 · ziglang/zig.
General-purpose programming language and toolchain for maintaini...
New
Big O Notation can make your code faster by orders of magnitude. Get the hands-on info you need to master data structures and algorithms ...
New
25 puzzles that will make you a better C programmer by challenging your knowledge of the language, and explaining the technical details o...
New
If you’re getting errors like this:
psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or directory ...
New
There’s a GitHub repo at forrestchang/andrej-karpathy-skills that’s sitting at 97.8k stars. It’s a single CLAUDE.md file with four behavi...
New
Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /python
- /js
- /rails
- /security
- /go
- /swift
- /vim
- /java
- /clojure
- /emacs
- /haskell
- /typescript
- /svelte
- /onivim
- /kotlin
- /c-plus-plus
- /crystal
- /tailwind
- /react
- /gleam
- /ocaml
- /elm
- /vscode
- /flutter
- /html
- /ash
- /deepseek
- /zig
- /opensuse
- /centos
- /php
- /react-native
- /scala
- /lisp
- /textmate
- /sublime-text
- /nixos
- /debian
- /agda
- /deno
- /django
- /kubuntu
- /arch-linux
- /nodejs
- /ubuntu
- /spring
- /revery
- /manjaro
- /lua
- /diversity
- /julia
- /quarkus
- /markdown









