Sabitlenmiş Tweet
Matthew Krick
250 posts

Matthew Krick
@mattkrick
Technical Co-Founder, Principal Engineer ❤️ Open source 🤓 AI, GraphQL, NodeJS, React 🏋️♂️ Fitness
San Diego, CA Katılım Nisan 2009
665 Takip Edilen455 Takipçiler

@jasonbahl @chrisgrabinski @moon_meister @nextjs I believe layouts must be deterministic at build time, not SSR time. I assume that’s how they’ve managed to relax the global asset constraint & you can do things like import external css files in it. Still wrapping my head around v13 though. seems… complex
English

@chrisgrabinski @moon_meister @nextjs But then I want Next to then be able to do the cool stuff it does with Layouts like fetching the navigation/sidebar/content all in separate, queries...And for all pages that share the main layout, the nav doesn't need to be re-fetched, etc.
English

@Lane8music can’t sleep. Where’s that brightest lights remix from tonight??
English

@sseraphini - If you're open source, PRing the codebase should be the final step before hiring 😉
- Onboarding checklist in @NotionHQ for the first 2 weeks.
- Welcome video & code walkthroughs in @loom
- 1:1 sync time with team members. There's still no substitute for human connection
English

@simon_prickett Thank you Simon! Really appreciate your work making redis more accessible to everyone!
English

@mattkrick saw your Redis streams article, nice work! parabol.co/blog/scaling-g…
English

what do you use for code snippets in wordpress? @jasonbahl @garethaledavies
English
Matthew Krick retweetledi

@jmhodges 💯GraphQL was meant to replace REST, not SQL. The current trend of generating graphql queries from a sql schema doesn’t scale.
English

@michlbrmly @n1rual @notrab @GraphQL @graphqlwtf oh that's cool! i imagine you could unjoin, merge, & cache the response across a few dataloaders, too...
do you have an ORM between graphql and your database? i.e. how does it know to fetch some fields from postgres & others from redis?
English

@mattkrick @n1rual @notrab @GraphQL @graphqlwtf In my implementation this would translate into a single SQL query on the user table, joining order and then joining user.
By default I limit nested joins to 3 levels, and after that things revert back to n+1 field resolvers. In practice it seems like a pragmatic compromise.
English

Who’s using DataLoader with @GraphQL? 🙋
It’s taken a few attempts to get this video done, but Monday’s @graphqlwtf episode will show how you can batch requests, and remove unnecessary calls to your database.
English

@n1rual @michlbrmly @notrab @GraphQL @graphqlwtf I've always been interested in this. How do you use partials when the same node is buried behind a waterfall?

English

@michlbrmly @notrab @GraphQL @graphqlwtf This pattern is called "Lookaheads" 😇 engineering.zalando.com/posts/2021/03/…
English

shout out to all the wordpress + SPA + graphql developers
JSON Bahl@jasonbahl
This looks like a fantastic opportunity! parabol.co/join/growth-pr…
English

@sseraphini license your client work as MIT & host it on a $5 droplet after they pay
English

@Steve8708 @builderio So Map is faster than Obj until I read 22x more than I write.
... not that I'm prematurely optimizing or anything 😅

English

So while you may not need this everywhere, some use cases that involve rapid updates and might benefit from this opt:
- frameworks
- gaming
- animations using RAF
- rendering like Figma or @builderio
- spreadsheets
- hardcore perf enthusiasts 😄
Any others I'm not thinking of?
English

@Dopamine_Driven that sounds like a solid authentication approach! How do you handle things like, e.g. a mutation inviteToTeam(teamId) where you want to make sure the viewer has permissions to call that based on the teamId passed in as a variable?
English

@mattkrick Private Services using a class based dependency injection flow like Nestjs
Then you can sync up the global context with the presence of an Authorization header, parse the JWT and decode completely to snag user ID, consume those in resolvers and as a way to verify auth status
English

@motleydev centralized auth so hot right now, got those google zanzibar vibes 😉 research.google/pubs/pub48190/
English

@jasonbahl Ah good distinction. I'm talking about operation-specific and type-specific authorization. e.g. Who gets to call the "inviteToTeam" mutation?
English

@mattkrick Similar to your opinion here, I kinda think GraphQL shouldn’t know what Authorization is. Other layers of the stack should, and GraphQL should resolve to those layers. 🤷♂️
A lot of these tools tie business logic to the GraphQL Schema. I think it should be a lower level.
Matthew Krick@mattkrick
Unpopular opinion: GraphQL has no business knowing what HTTP is. Doesn't matter if it travels via http, sse, websocket, webrtc, or carrier pigeon. It's the WHAT not the HOW.
English

@mattkrick @shinzui Let us know if you have some more questions 😇 GraphQL Shield uses graphql-middleware which can have a huge impact on high traffic servers as it wraps all resolver functions instead of only affected ones. But that impact should be smaller on recent Node.js versions!
English

@shinzui Never heard of it, but what a fantastic blog post comparing it to shield (the-guild.dev/blog/graphql-a…). Thanks for the tip!
English

@mattkrick We use graphql-shield which works well. graphql-authz looks good also.
English







