I was recently asked by a designer to create a text input style like the search input on TripAdvisor. I liked it a lot. I’m going to share my solution as a step-by-step guide so you can build it yourself.
I’ve recently set up TypeScript in an existing codebase that uses Webpack, Mocha and several Babel plugins, including babel-plugin-rewire
. I’m inspired by Randy Coulman’s super detailed post on mocha-webpack
, so I decided to share the results of my journey.
⚠️ If you just want a working setup, feel free to skip to Part 2.
NB: All typescript tools below use tsconfig.json
file for configuration.
awesome-typescript-loader
A TypeScript loader for webpack. There is a good chance that all you need is a TypeScript loader.
You can control the output with module
and target
options, and configure baseUrl
and paths
for dynamic path resolution. Compiler configuration has many useful options, both for transpilation and type checking. If you are not using Babel for anything other than basic JS transpilation, you can probably stop here and just replace Babel loader with it. …
IP addresses operate behind the scenes, but they’re an integral part of everything you do online.
An IP address is an identification code for any device connected to a network using Internet Protocol. These aren’t much different from a physical address where you mail letters.
Let’s explore how these work, and what you need to know about them to stay safe out on the open internet.
Optimizely is a tool that lets you perform AB testing. Like all or most other client-side AB testing tools, it uses the following mechanism:
The main sell of this model for our team is simple: no code changes are needed to run the tests. This lets product and marketing teams launch tests in production faster and without involvement of engineers.
There is one problem however: Optimizely usage is inherently problematic with React apps. React re-renders components every time state or store are changed. So, Optimizely changes don’t stick — they are removed by React diffing mechanism on re-render. …
I’m a big Slack fan. My engineering team relies on Slack for just about everything, but before we had our present Slack integrations, we often missed notifications across different platforms and had to re-notify each other or check email constantly.
Having brought the notifications all under one roof, we’ve streamlined our processes, and saved enough time for an extra sandwich a day (or two). 😀 If it takes on average 15 minutes per person to eat 1–2 sandwiches, that’s 2.5 hours per day saved for a team of 10 (hungry) engineers. …
Before I learned software development, API sounded like a kind of beer.
Today I use the term so often that I have in fact recently tried to order an API at a bar.
The bartender’s response was to throw a 404: resource not found.
I meet lots of people, both working in tech and elsewhere, who have a rather vague or incorrect idea about what this fairly common term means.
Technically, API stands for Application Programming Interface. At some point or another, most large companies have built APIs for their customers, or for internal use.
But how do you explain API in plain English? And is there a broader meaning than the one used in development and business? First, let’s pull back and look at how the web itself works. …
Not long ago I was writing a feature relying on Twilio — an API service for text messaging. I was testing it locally and then accidentally committed and pushed the Auth Token and the CID to github — the secret identifiers used for account authentication.
While the misstep wasn’t critical — our repo is private and we were able to swap the credentials without downtime immediately after, it still left me wondering if there are some ways I can prevent that from happening in the future, given it wasn’t the first time I’ve pushed a secret key by accident.
When building a product, there are many secrets — account passwords, API keys, private tokens and SSH keys — that we safeguard. The problem with secrets, is that once they’re revealed, they can never be un-shared. …
Hello everyone. This is my first-ever dev post, so give me some love! :-) Ty. Next, here we go:
JavaScript is a large part of web development, so it’s important that we apply best practices to developing front-end code. I think most people agree with the benefits of Unobtrusive JavaScript for both end users and developers. One of its core principles which we’ll talk about here is separation of behavior from markup.
Separation of structure and behavior helps keep the codebase manageable and developers happy. Part of it is simply code organization. …