Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
adamkl
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
29 ms
·
181.
▲
The Clojure Mindshare
(groundedsage.dev)
2 points
by
adamkl
7y ago
|
0 comments
182.
▲
by
adamkl
7y ago
I’d suggest you watch Rich’s talk “Simple made easy”. [1] It’s one of his main points that something like a language being “hard to approach” can be overcome by spending a little effort to learn it (as opposed to sticking with something lik
183.
▲
by
adamkl
7y ago
As I get older and crankier I find simplicity and stability become a lot more interesting than reinventing the same wheels over and over again. This is probably why I’ve come to appreciate Rich Hickey’s talks more and more as years go by. I
184.
▲
by
adamkl
7y ago
I’m working daily on a pretty large, gnarly, legacy monolith, and consequently been thinking a lot about approaches to refactoring when I came across a (ruby) library called Suture [1]. It allows you to perform black-box testing, recording
185.
▲
by
adamkl
7y ago
One thing to keep in mind is that GraphQL really supports a different use case than something like gRPC or REST. One of the places where it really shines is providing a queryable API entry point to a graph of interconnected data. This makes
186.
▲
by
adamkl
8y ago
We recently did a proof-of-concept at my company and came to some similar conclusions. We can see state charts driving our development process exactly as you described, so it’s good hear that others are finding success with this approach! W
187.
▲
by
adamkl
8y ago
I’ve become a big fan of using finite state machines (more specifically xstate [1]) to encapsulate all the logic and states of a particular UI. You can essentially create all the behaviour of your application without writing a single line o
188.
▲
by
adamkl
8y ago
I've found this online course by Paolo Perrotta to be the best introduction to Git's architecture, by far: https://www.pluralsight.com/courses/how-git-works He takes you pretty much from first principles all
189.
▲
by
adamkl
8y ago
If you are just looking for visualization, you can use GraphQL Voyager [1]. Either set it up in your application, or you can use the hosted version passing in the URL of your API (you might need to configure CORS): https://apis.g
190.
▲
by
adamkl
8y ago
I agree with some of your points here, but I think you might be missing some context in the technologies that are being used to accomplish what OneGraph is doing. I agree that this example is that of a proprietary API bundling other proprie
191.
▲
by
adamkl
8y ago
SSaaS (schema-stitching as a service) :D
192.
▲
by
adamkl
8y ago
The most prevalent use case for GraphQL right now is to act as a thin API layer over a bunch of microservices (which is what Facebook originally developed it for) -- but that is not the only use case. GraphQL is actually much less than a re
193.
▲
by
adamkl
8y ago
I've had a few discussions about doing a formal write-up of what we are doing, but for now I can only provide a brief overview: Our data APIs map from existing SOAP/XML services to small GraphQL sub-sections of our greater API. Th
194.
▲
by
adamkl
8y ago
To further this point a bit, because of GraphQLs introspection capability, it becomes easy to combine and proxy existing GraphQL services without redeclaring the schema every time. If you take a look at what Prisma is doing, it’s creating
195.
▲
by
adamkl
8y ago
Very true. In our case, we resolve queries against some pretty old legacy SOAP/XML services, so topics like selectively loading fields from databases and dataloaders don’t enter into our equations. I thinks it important to remember tha
196.
▲
by
adamkl
8y ago
Well, Postgraphile is offering you a shortcut that comes with limitations. A more complete approach would be to structure your application in a more typical fashion, and put a GraphQL layer on top. Have a data access layer that maps from ou
197.
▲
by
adamkl
8y ago
This just sounds like you are missing required layers of your application. I haven't used Postgraphile, but it sounds like you are just exposing your database directly out through a GraphQL wrapper. You'd be experiencing the same
198.
▲
by
adamkl
8y ago
I think one of the reasons why there are so many different approaches and libraries out there is due in part to what GraphQL is. Its both more, and less, than an alternative to a REST API. Its primary use case right now is to replace a REST
199.
▲
by
adamkl
8y ago
We actually built an internal tool (shamelessly called create-graphql-service) that scaffolds a new graphql service and includes generation of TypeScript types as part of the build process [1]. [1] https://gist.github.com/ad
200.
▲
by
adamkl
8y ago
We've actually gone the opposite direction. We start with our GraphQL schema and then generate TypeScript types off of that schema. This is something that's often done on the client side, but we do it on the server side. With thos
201.
▲
by
adamkl
8y ago
Just a disclaimer here, and I don't want to ruffle any feathers, but this tutorial has been put together by the graphcool/prisma team and promotes the use of their Prisma GraphQL/ORM/Database product. I've used some
202.
▲
by
adamkl
8y ago
1. GraphQL is more powerful and you don't get all that for free. Personally, one of the things I think is most powerful, and missed in every discussion about GraphQL, is that it’s more than just an alternative to a REST API (un
203.
▲
by
adamkl
8y ago
Note, the ReasonML rewrite refers to the Web version of Messenger only (at the time of this blog post): https://reasonml.github.io/blog/2017/09/08/messenger-50-reas...
204.
▲
by
adamkl
8y ago
Manulife | Software Engineers | Kitchener/Waterloo/Toronto/Montreal | ONSITE | Full-Time "We're not some old, stuffy insurance company. We're a large company with lots of young talent going through a transforma
205.
▲
by
adamkl
9y ago
I totally agree that these new technologies are an improvement, and I have no desire to go back to SOAP/XML, I was just commenting on the statement: An rpc system with a schema and code generation is a must for internal services.
206.
▲
by
adamkl
9y ago
No disrespect intended, but I find this comment pretty funny. SOAP/XML has been exactly this for 20 years. It definitely has some major warts, but gRPC isn’t doing anything new.
207.
▲
by
adamkl
9y ago
I would just argue for a happy median. Enough to convey intent, without being verbose. Your java example is clearly exhausingly verbose (I’ve seen similar in C#), where it seems in Go it would probably be written: rd := 1000 How is anyone s
208.
▲
by
adamkl
9y ago
I agree, and the link I posted states as much. I think the problem comes when people take that advice without nuance and think it gives them carte blanche to make everything as obscure as possible. And really, it’s not about whether or not
209.
▲
by
adamkl
9y ago
It’s considered idiomatic in Go to use very short variable names [1], which seems masochistic to me. Every time I look at Go code, it’s like I’m back in high school using Borland Turbo C all over again. [1] https://github.com&#x
210.
▲
by
adamkl
9y ago
> GraphQL is amazing when your service has to respond to unpredictable queries, like with a public API. But if the queries can be predicted, like in-between services, you lose a lot of database performance by opening your service up to l
More ›