Learning the building blocks behind Khan Academy's platform⚓︎
Recently, I read about how Khan Academy migrated from Python 2 to Go during a time when EdTech platforms were crucial - the COVID-19 pandemic. On their engineering blog, there are some interesting explanations as to how they were successful in breaking up their Python monolith and migrating to 20+ Go microservices during a time when so many students and teachers depended on them. After reading, I was inspired to learn even more!
There were some languages and frameworks in these blog posts that were unfamiliar to me - Go, GraphQL, React. I've gone over some React tutorials, but never built a standalone project, and as for Go and GraphQL, I hadn't ever done even a simple "Hello World." Since I love to learn and teach I thought, "Well then, let's go!"
Go has lots of great tutorials explaining not only how to get started but also some more complex concepts and builds. They also have an interactive tour where you can incrementally learn about various concepts, then see how these concepts work by compiling and running (and editing!) code on a remote (or local) server.
Since I was already learning Go, I decided to learn GraphQL through learning how to use gqlgen. I found that it was ridiculously easy to get a server setup (4 simple commands). The default server also shipped with GraphQL's playground built-in so that I could easily start learning how to create and test schemas. Check out the GraphiQL live demo where you can interact with this playground without having to build a server yourself. Just start playing around to learn!
Soon, I'll add some tutorials outlining how to do build your own server and get started creating and testing your own schemas, so stay tuned! You can also check out some of my in-depth tutorials covering various aspects of AI .