by @darinwilson
by @darinwilson
Great talk - there were some typos…
at https://youtu.be/YQxopjai0CU?t=697
this won’t work
albums.tracks
something like this, however, will
for album <- albums, do: album.tracks
at https://youtu.be/YQxopjai0CU?t=892
a typo in
def with_tracks_longer_than(name, duration) do
should be
def with_tracks_longer_than(query, duration) do
at https://youtu.be/YQxopjai0CU?t=1147
Repo.transaction do
...
end
is not valid, it’s does not accept ast, but a function
should be
Repo.transaction(fn ->
...
end)
at https://youtu.be/YQxopjai0CU?t=1260
in the case of an error, the returned tuple will have four entries
{:error, atom, any, %{optional(atom) => any}}
the code on the slides should be
case result do
…
{:error, :album, album_changeset, _changes} -> …
{:error, :user, user_changeset, _changes} -> …
end
at https://youtu.be/YQxopjai0CU?t=1288
missed do
keyword and the argument to the function
the code should probably be
def check_user_progress(%{user: user}) do
...
end
at https://youtu.be/YQxopjai0CU?t=1435
Repo.all/1
will return a list for both queries
the code for the first one should be
Repo.all(q1)
=> [%MusinDb.Artist{...}]
As the speaker in the aforementioned talk, this seems as good a place as any to apologize for all of the mistakes.
I usually test all of the code in my slides, but I made a number of changes at the last minute and didn’t go through my usual cross checks. Rest assured, I won’t be making that mistake again
I’m very grateful to @idi527 for pointing out the errors. I’m going to take some time to go through everything and update the slides. I’ll also talk to the conf organizers to see what can be done about updating the video.
Again, my apologies. Lesson learned, the hard way (as usual…)
Any mistakes aside, I enjoyed the talk
I enjoyed yours as well! It’s great that Phoenix and Ecto are getting some interest from the security community
I’m pretty confident that this talk is the best introduction I’ve seen to Ecto in any medium. It’s very well done.
can someone explain the repo pattern in detail or some resources to learn the repo pattern?
The link requires an authorization access
There’s a short write-up here that covers the basics, and there are a number of others available if you do a search. None of the ones I read struck me as absolutely definitive, so you might just read through a few different ones and see what you think.
But in the end, I think reading through the docs on Ecto.Repo
will tell you most of what you need to know.
@AstonJ thanks for splitting this out of the other thread!
I enjoyed the talk, it was a nice ground-up overview of Ecto (which is a lot to cover in a single talk).
It should be working now
Thanks @darinwilson! A real entertaining and useful talk
Thanks @Nefcairon - I’m glad you found it helpful!