Sir, Brilliant, no mess, crisp and clear tutorial. I quickly subscribed only to see there are no recent videos. Your contribution to the community will be immensly helpful. Kindly keep publishing on more tech topics.
You deserve an award for this tutorial. I was finding it so difficult to teach some junior folks about how to implement dataloader properly. This solved my problem.
First video I saw from this channel. Automatically subscribed. Note that I was watching an introduction to DataLoader from the creator of the package himself and I was really in the dark. Now I see clear as day. Thanks!!
Thank you! This was exactly what I needed. I've been struggling with the implementation of dataloaders in a large existing graph server and you made things click.
Cool! I've been using GraphQL only once during a gql workshops and instead of using a DB we were using REST API with static data as a data source. Similar structrure although it were restaurants instead of books :D The problem was that the reviews contained only the ID of the author and the name could be accessed from other endpoint specific for reviews. Ive spotted that it would be inefficient to call each author by id and instead it would be better to just call an endpoint containing all of them and just filter them. Instead of 100 API requests(which could be pricy in real world app) it did one. Ofc that the filtering would is beeing done by SQL query in this case but i think the problem is the same :)
The best video i found about data loader, Thanks ! Edit: please how can i log the time or the db query in the console are u using a package or just console loging it manually ?
@knowthen, please provide a Patreon link! I'd love to repay you for this, the presentation quality was the best I've seen since on a coding tutorial. Thank you so much :) if I could suggest analyzing some GraphQL techniques such as schema and type generation (eg PostGraphile/Hasura and TypeGraphQL), as well as scaling techniques (gql modules, SDL/schema- vs code-first etc). Once again, thank you!
thanks for the great tutorial! quick question: do I need to have a separate data loader for each resolver? or a data loader for each separate collection?
When I started developing SQL for relational databases 20+ years ago they all supported joins and the problem defined would be resolved by use of a join. The use of manually coding loops through one table to find entries in another is non-sensical and either reflects a very poor product (GraphQL) or lack of understanding. I assume this guy knows what he is talking about thus GraphQL seems needlessly complex and under-featured. or am I missing something somewhere?
What i don't understand here is, why are we using different resolver for the reviews? Why not just fetch the reviews in the same books resolver? That way we wouldn't have this problem in the first place.
Because if we don't need the reviews, you are fetching them from the database every time you request a book anyways, making the database do unnecessary work
Quarry: A quarry is a place, typically a large, deep pit, from which stone or other materials are or have been extracted. Query: A query is a request for data or information from a database table or combination of tables. This data may be generated as results returned by Structured Query Language (SQL) or as pictorials, graphs or complex results, e.g., trend analyses from data-mining tools. You're saying it wrong.
This is probably the clearest tutorial I've ever seen about anything in programming related topics. Pretty brilliant. Congratulations and thank you.
off course
Sir, Brilliant, no mess, crisp and clear tutorial. I quickly subscribed only to see there are no recent videos. Your contribution to the community will be immensly helpful. Kindly keep publishing on more tech topics.
Super awesome! the clearest tutorial about Dataloader i have ever seen! Thanks a lot
Yeah
You deserve an award for this tutorial. I was finding it so difficult to teach some junior folks about how to implement dataloader properly. This solved my problem.
this is one of the best tutorials i've seen for awhile
absolutely brilliant tutorial on the Dataloader. I finally get the intuition behind what it actually does now, thanks so much
Absolutely brilliant. I have been watching a hell lot of tutorials, and i can say, you are one of the best, if not the best.
one of the best video on N+1 problem along with solution
This is BY FAR, the BEST tutorial that i have ever seen! OMG! Thanks a LOT!
First video I saw from this channel. Automatically subscribed. Note that I was watching an introduction to DataLoader from the creator of the package himself and I was really in the dark. Now I see clear as day. Thanks!!
The clearest explanation with brilliant slides and editing. Thank you and congratulations
Thank you! This was exactly what I needed. I've been struggling with the implementation of dataloaders in a large existing graph server and you made things click.
i am lucky to watch this before i implement my graphql API!
As a beginner, that's what I was lookin for. Finally, got an freaking awesome tutorial. Thank you bro!
Best dataloader explanation out there. Thank you very much!
Never commented on youtube. But the knowledge, the premiere pro, the anticipation ... everything is just awesome mate. Strongly recommented channel
Incredibly clear ! Never watched/hearded so clear a tuto ! Thanks !
I'm rather surprised you only have around 5k subs. I really like your pacing and overall production quality. The animations are top notch!
Finally a video that I can completely understand. Thanks you Sir...
The best explanation about Dataloader.
love every video James makes, very calming, very informative
Very nice explaination. Though I prefer passing arrays as first arg in lodash compared to ramda
super clear and easy to understand video. Great job. Thank you!
Amazing tutorial. Thank you !!
Plz do some more stuff like this
wow, your explaination is the best.
AWESOME! Clearly explained
Amazing! This is brilliant! Thank you.
still very solid video in 2020 🎉
Cool! I've been using GraphQL only once during a gql workshops and instead of using a DB we were using REST API with static data as a data source. Similar structrure although it were restaurants instead of books :D The problem was that the reviews contained only the ID of the author and the name could be accessed from other endpoint specific for reviews. Ive spotted that it would be inefficient to call each author by id and instead it would be better to just call an endpoint containing all of them and just filter them. Instead of 100 API requests(which could be pricy in real world app) it did one. Ofc that the filtering would is beeing done by SQL query in this case but i think the problem is the same :)
Great and clean explanation! Keep up the good work 🙌
Perfect explanation!
brilliant teaching
Very nicely explained. Is it possible for you to give solution using .NET?
Really great video. Thanks
This is amazing, thank you for this great video
The best video i found about data loader, Thanks !
Edit: please how can i log the time or the db query in the console are u using a package or just console loging it manually ?
Perfectly explained. Bravo.
Wow wow wow wow 👍...
Thanks you so much.
Thanks for the video, it was a clear explanation.
Thank you bro. From Viet Nam with love
Great explanation. Thank you man!
mah doubts are clear now. Thanks for the awesome explanation.
Awesome tutorial!
great!!!! the best explanation!!!!!
Could you please explain how to log the query you send to the datase to the console?
Thank you very much for the explanation
Such a nice tutorial, awesome
@knowthen, please provide a Patreon link! I'd love to repay you for this, the presentation quality was the best I've seen since on a coding tutorial. Thank you so much :) if I could suggest analyzing some GraphQL techniques such as schema and type generation (eg PostGraphile/Hasura and TypeGraphQL), as well as scaling techniques (gql modules, SDL/schema- vs code-first etc). Once again, thank you!
Super awesome tutorial
this is a great explanation. thank-you for this
great explanation, thanks!
thanks
Awesome video, You won a sub 😁
This is the best.
Super!
Amazing, thanks a lot
Love the video, very informative! Also, your verbal mannerisms remind me of Barack Obama (which is a good thing).
Amazingg!
- Quarry, Corey, Quarries
Nice video though.
thanks for the great tutorial! quick question: do I need to have a separate data loader for each resolver? or a data loader for each separate collection?
yes you can create loader for each resolver.
Great!!!
I fell in graphql trap without knowing its not better than REST except for standard 200 error code even for exception messages
An alternative to two functions from the grouping of summary data: codepen.io/starwrapper/pen/orqjQB
it's like SIMD cpu
Excellent Content, Great Job
8:00
When I started developing SQL for relational databases 20+ years ago they all supported joins and the problem defined would be resolved by use of a join. The use of manually coding loops through one table to find entries in another is non-sensical and either reflects a very poor product (GraphQL) or lack of understanding. I assume this guy knows what he is talking about thus GraphQL seems needlessly complex and under-featured. or am I missing something somewhere?
"Quarry?"
"Qurry"
What i don't understand here is, why are we using different resolver for the reviews? Why not just fetch the reviews in the same books resolver? That way we wouldn't have this problem in the first place.
Because if we don't need the reviews, you are fetching them from the database every time you request a book anyways, making the database do unnecessary work
Quarry: A quarry is a place, typically a large, deep pit, from which stone or other materials are or have been extracted.
Query: A query is a request for data or information from a database table or combination of tables. This data may be generated as results returned by Structured Query Language (SQL) or as pictorials, graphs or complex results, e.g., trend analyses from data-mining tools.
You're saying it wrong.
That's just his accent man.
Or just use Phoenix/Ecto...
Awesome...thanks for everything