Category: Technology



Traditionally, soundly typed-language are warm and cozy in their own world, but as soon as they have to deal with the outside world (say, talking to a REST API), the pain quickly sets in: trying to keep a type definition in sync with a moving external service, manual conversion back and forth, and lots of boilerplate. Well no more! Proper GraphQL support in ReasonML libraries means that we can have full-stack safety, knowing that if our programs compile, the server can satisfy our requirements! And on top of that, we get all the other GraphQL goodies, like tooling, in-editor auto-complete, and fantastic compile-time optimizations, for free! But what about the server-side, you ask? There are so many places things can go wrong when trying to maintain the promises you give to your GraphQL clients, I hear you cry out! Dry your eyes, friend, for `ocaml-graphql-server` is here to guide you to the happy full-stack GraphQL+Reason world you’ve been dreaming of, where whole classes of errors are eliminated. As in any good talk, however, we’ll also take a look at some of the painful points of this approach, and how ReasonML might make some tasks more difficult so that you can leave with a confident understanding of whether this new frontier is one you want to brave any time soon. EVENT: You Gotta Love Frontend 2019 SPEAKER: Sean Grove PUBLICATION PERMISSIONS: Conference Organizer provided Coding Tech with the permission to republish this video. CREDITS: YGLF YouTube channel: https://www.youtube.com/channel/UCU-fOxx_kT5OARG0KiksiCA https://www.youtube.com/watch?v=r-rWWseD6Vw



When your Python needs to be fast, one powerful tool is the ability to write compiled extension modules. Normally this is done using the C API, but that requires managing reference counts and memory allocation and is nearly impossible to do correctly for non-trivial programs. In this talk, we'll look at how you can write extension modules in Rust – a memory-safe systems programming language that is increasingly popular as a replacement for C and C++, and the most loved language in the Stack Overflow developer survey 4 years running. This talk will focus on pyo3 and milksnake, two popular libraries that provide very different approaches for writing Rust extensions; it will cover a basic introduction to the libraries, and compare their relative strengths and weaknesses. These will also be compared to C and Cython extension modules from a performance, safety and maintainability perspective. This talk assumes some basic familiarity with extension modules. It is aimed at Pythonistas who are interested in Rust and at people who currently write extension modules and are looking for a safer alternative to the C API. Familiarity with the syntax and basic concepts of Rust is helpful, but the talk should be understandable even for Rust beginners. EVENT: PyLondinium19 SPEAKER: Paul Ganssle PUBLICATION PERMISSIONS: Original video was published with the Creative Commons Attribution license (reuse allowed). ATTRIBUTION CREDITS: Original video source: https://www.youtube.com/watch?v=IqQDl_2BsNs https://www.youtube.com/watch?v=4h8Ll9_-SZY



Server-Side Rendering (SSR) has become a go-to method for improving the load time of dynamic websites. Rendering content on the server can significantly reduce time to page visibility, and is also beneficial for SEO. However, SSR is not without significant risks and potential downsides. It's all too easy for an SSR project to fail, to not provide the desired benefits, or to introduce unexpected problems. In this session I'll describe the issues and problems we encountered while transitioning the Wix platform from being fully Client-Side Rendered (CSR) to almost totally SSR, and the ways in which we overcame these problems. EVENT: You Gotta Love Frontend Conference 2019 SPEAKER: Dan Shappir PUBLICATION PERMISSIONS: YGLF Conference Organizer provided Coding Tech with the permission to republish YGLF videos. CREDITS: YGLF YouTube channel: https://www.youtube.com/channel/UCU-fOxx_kT5OARG0KiksiCA https://www.youtube.com/watch?v=sNpX8LLUgHo