Tech Highlights #1
Hello, labfollower! Periodically, our developers share their thoughts on what they are studying or just reading. We value knowledge sharing so in this blog post (written collaboratively) we bring you a compilation of articles with tips and recommendations that are on our team's radar nowadays.
Interested in any subject lately and would like to know our thoughts on it? Write us back and let us know!
Best wishes and good reading!
Best Practices with Playwright
Recently we came across some testing issues related to the way we were locating elements (locators), which could be "weakening" the tests, as well as the assertions. There are many ways to run browser testing and web scraping and it can be a challenge when it comes to maintaining good practices. This article gives some useful tips on how to do it using Playwright (a library developed by Microsoft), and writing more resilient tests.
Building serverless Python apps with AWS Chalice
This AWS Chalice library makes it easy to create a serverless application using Python. It takes advantage of the AWS infrastructure, and supports several Amazon services, such as S3, Dynamo, and SNS, in addition to being extremely simple to deploy. With the increase in popularity of microservices architecture and serverless, this lib comes in handy when creating points of contact between different applications. At one of our clients, for example, we have a lambda which handle large volumes of data and guarantee synergy between our web app and a desktop addon.
Measuring developer productivity
This article is about how leading companies and/or Big Techs have dealt with developer experience. It points out that there is no way to talk about DevEx without talking about metrics and shows how it is becoming more common to evaluate not only by quantity but also qualitatively. Also, as each company has its unique aspects, the article presents a way for you to create metrics, so that you can provide a better experience in your working environment.
Responsively App
Responsively.app is a browser that allows multiple viewports visualization at the same time. It is based on Chromium, which means it has DevTools features, such as inspecting elements and the networks tab. A highlight is the "Mirrored interactions" feature, which mirrors interactions in all viewports; for example, clicking on a button on the desktop also triggers the same action on mobile and tablet.
Most Reported Web Findings of 2023
Those who work with systems and application development will find this interesting as it highlights the 2023 web's most commonly found vulnerabilities. This updated list can go from helping your team mitigate possible problems in your systems to contributing to improvements in software development processes.
The Bulk of Software Engineering is Just Plumbing
We tend to look for "the best" solution when we should be looking for the one that solves the problem. This article reminds us about the purpose of our work as developers: delivering value. It makes a metaphor on how it's more about building a team of competent plumbers who understand 90% of their assignment and work around the 10% they don't, than individuals who make their own tools and change focus whenever a trend emerges. After all, software is a means, not an end in itself.
Validating Dependent Fields with zod and react-hook-form
Controlling inputs in JavaScript (or any other language) is challenging, as we have validations, masks, and even events that we need to immediately activate for validation. In React’s case, we can use React Hook Form, a library that can solve all these problems. It simplifies everything and even works on inputs from other libraries that don't allow us to have all the element's standard events (onChange, onFocus, and onBlur). Zod is one library that can work with the React Hook Form, making it possible to use it with an internationalization lib such as i18n to return a message when there is an input error.
A Guide to Async Support in Django
We found this interesting article while researching on how to enable ASGI in Django. It provides not only a guide to enabling ASGI but also offers context on key asynchronous programming concepts and their differences from synchronous programming.