Techreport blog

Engineering Insights & Guides

The best problem-solving writing in software engineering — databases, performance, security, frontend and distributed systems, in one feed.

11,670 articles
Engineering — Why My Blog is Closed-Source

Why My Blog is Closed-Source

In our community, it's so common for developer projects to be open-source. I'm breaking with this trend for my blog, but I have good reasons! In this article, I'll share my reasoning, as well as a workaround in case you _really_ want to see the source. If you're considering whether a project should be open-source or not, I hope you'll find it valuable.

JWJosh W. Comeau·April 30, 2020Engineering
Distributed — Categorizing Products at Scale - Shopify

Categorizing Products at Scale - Shopify

By: Jeet Mehta and Kathy Ge With over 1M business owners now on Shopify, there are billions of products being created and sold across the platform. Just like those business owners, the products that they sell are extremely diverse! Even when selling similar products, they tend to describe products very differently. One may describe their sock product as a “woolen long sock,” whereas another may ha

SEShopify Engineering·April 30, 2020Distributed
Performance — Join Our New Online Workshops On CSS, Accessibility, Performance, And UX — Smashing Magazine

Join Our New Online Workshops On CSS, Accessibility, Performance, And UX — Smashing Magazine

As we have now formalized our workshop process, we thought we’d share a little more about how these events run. Unlike in-person workshops where we keep you in a room for an eight hour day, we realized than many of you have a lot of other commitments right now. Our initial online workshops went so well, we have scheduled many more. Find out how what we learned from those first workshops and what w

RARachel AndrewRachel Andrew·April 30, 2020Performance
Engineering — Mirage JS Deep Dive: Understanding Mirage JS Models And Associations (Part 1) — Smashing Magazine

Mirage JS Deep Dive: Understanding Mirage JS Models And Associations (Part 1) — Smashing Magazine

Mirage JS borrowed some terms and concepts which are very much familiar to back-end developers, however, since the library would be used mostly by front-end teams, it’s appropriate to learn what these terms and concepts are. In this first part of the Mirage JS Deep Dive series, Kelvin Omereshone will be looking at Mirage JS models and associations. He’ll take a closer look at what they are and the

KOKelvin OmereshoneKelvin Omereshone·April 30, 2020Engineering
Engineering — Brighten Up Someone’s May (2020 Wallpapers Edition) — Smashing Magazine

Brighten Up Someone’s May (2020 Wallpapers Edition) — Smashing Magazine

As designers, we usually turn to different sources of inspiration, and, well, as a matter of fact, we’ve discovered the best one: wallpapers that are a little more distinctive than the usual crowd. In this collection, Cosima Mielke brings you wallpapers for May 2020. They come in versions with and without a calendar and can be downloaded for free. As a bonus goodie, we also added some favorites fr

CMCosima MielkeCosima Mielke·April 30, 2020Engineering
Engineering — Doubling the intern class - and making it all virtual

Doubling the intern class - and making it all virtual

We have found interns to be invaluable. Not only do they bring an electrifying new energy over the summer, but they also come with their curiosity to help solve problems, contribute to major projects, and bring refreshing perspectives to the company.

JCJudy CheongJudy Cheong·April 29, 2020Engineering
Design & UX — How To Succeed In Wireframe Design — Smashing Magazine

How To Succeed In Wireframe Design — Smashing Magazine

Today, as designers, we are lucky as never before because there are dozens of tools available for us to design wireframes and also smoothly integrate this activity in our general design process. In this article, Anton Suprunenko will take a deeper look at one of the most simple yet quite often underrated activities in web development: the design of wireframes. You’ll learn what wireframes are, why

ASAnton SuprunenkoAnton Suprunenko·April 29, 2020Design & UX
Frontend — Using Formik to Handle Forms in React

Using Formik to Handle Forms in React

There is no doubt that web forms play an integral role in our web site or applications. By default, they provide a useful set of elements and features — from

AAAdebiyi AdedotunAdebiyi Adedotun·April 28, 2020Frontend
Engineering — Development Environments at Slack

Development Environments at Slack

In this article, development environments refer to sandboxes where you can test your code changes before deploying, and should not be confused with integrated development environments (IDEs) like Eclipse or Microsoft Visual Studio. Dev environments have always been a mystery to me. Despite learning about them on my first day at Slack, and using them…

SESlack Engineering·April 28, 2020Engineering
Frontend — Implementing Dark Mode In React Apps Using styled-components — Smashing Magazine

Implementing Dark Mode In React Apps Using styled-components — Smashing Magazine

Light mode is a convention in most web and mobile apps. However, in modern development, we have seen how dark mode, which displays light text and interface elements on a dark background, is quickly becoming a user preference. In this article, Blessing Krofegha will show you how to efficiently implement dark mode in a React app on a simple web page, using the styled-components library and leveragin

BKBlessing KrofeghaBlessing Krofegha·April 28, 2020Frontend