Welcome back to the Dev & Design Round-Up, our weekly round-up of the articles and resources our team members have shared on our internal Slack channel. These are the top articles we have read.
Development
TIL: Cleaner queries with Ecto map When working with large tables a common practice is to avoid using SELECT * to make better use of database indices and resources.
TIL: How to remove unused dependencies from mix.lock The Elixir environment supports the creation of small dependencies that can be used to solve some specific issues. What if a given dependency is no longer needed?
New Improvements in Elixir 1.13.0| Elixir Releases Elixir 1.13.0 has come up with many improvements. In this article, we cover fewer of them with some code examples and use cases. Here, we cover the following 6 things.
Rails 7.0 RC1: New JavaScript Answers, At-Work Encryption, Query Origin Logging, Zeitwerk Exclusively We’re almost ready to declare Rails 7 done! The feedback since the first alpha release has been wonderful, we’ve eliminated a slew of issues, and we’ve seen Basecamp, HEY, GitHub, and Shopify all run in production on this alpha series. So we now feel so confident that this is nearly ready that we’re skipping straight from alpha to release candidate. This is RC1.
Creating testable HTTP API client code in Elixir As part of my day job I’ve had to create a couple of HTTP API clients and after some experimentation I’ve ended up with a code structure that I like and that I feel makes testing code that uses a JSON API client easier.
Hex v1.0 released and the future of Hex We released Hex 1.0.0 with no major changes compared to the last release 0.21.0 and we will soon release Hex 2.0.0, again with no major changes. Let’s talk about why we are doing this and what Hex being version 1.0.0 or 2.0.0 means.
Link Phoenix debug page stack trace to your editor If you ever worked on a Phoenix app, you might have seen this debug page when an error is raised.
Test common easing curves on a range of interfaces. Or generate your own custom bezier curve.
A not so gentle intro to web3 Almost everything web3-related is a grift based on getting people to buy crypto. Although the distributed part of blockchain technology is sort of neat, it’s not that ground-breaking, as having stuff distributed is the whole basis of internet technology since the very beginnning.
Events, Event Sourcing, and the Path Forward Distributed systems pose all kinds of challenges.
Example-based Tests And Property-based Tests Are Good Friends I mostly use property-based testing to test stateless functional code. A technique I love to use is to pair property-based tests together with example-based tests (that is, “normal” tests) in order to have some tests that check real input. Let’s dive deeper into this technique, some contrived blog-post-adequate examples, and links to real-world examples.
Using View as a way to simplify your system Many applications introduce some kind of status to make it easier to share data. Seemingly the same data, in different states, may mean slightly different entities. It can be, for example, the client’s status (base, VIP, partner) or information whether the data has been soft-deleted.
Design
Show off your app in jaw-dropping 3D The easiest 3D device mockup generator.
Checklist Design Helps You Build Your Website Correctly Checklist Design is a collection of some of the best UI and UX practices. It provides an honest and rewarding experience to users, and as a result, it allows them to take in the knowledge they need to get a solution and understand how they got there.
Culture
How to have constructive conversations “We need to figure out how we go into conversations not looking for the victory, but the progress,” says world debate champion Julia Dhar. In this practical talk, she shares three essential features of productive disagreements grounded in curiosity and purpose. The end result? Constructive conversations that sharpen your argument and strengthen your relationships.
We hope you enjoyed this week’s collection. Follow us for more exciting content and subscribe to our newsletter to grow your knowledge.