Toptal Blog

The Toptal Blog is the top hub for developers, designers, finance experts, executives, and entrepreneurs, featuring key technology updates, tutorials, freelancer resources, and management insights.

Share
Share
Toptal core team members share their experience, expertise, and perspectives on the Toptal Edge Blog

Featured in

World-class articles, delivered weekly.

Subscription implies consent to our privacy policy

WSGI: The Server-Application Interface for Python

Nowadays, almost all Python frameworks use WSGI as a means, if not the only means, to communicate with their web servers. This is how Django, Flask, and many other popular frameworks do it.

This article intends to provide readers with a glimpse into how WSGI works and allow them to build a simple WSGI application or server.

9 minute readContinue Reading
Leandro Lima

Leandro Lima

Leandro has 15+ years in IT/development. Working with Python since 2013, he loves building efficient and cost-effective systems.

True Dependency Injection with Symfony Components

The Dependency Injection Container in Symfony2 allows components to be injected with their dependencies, and is often used as a Service Locator, which when combined with the DI-container pattern is considered to be an anti-pattern by many.

In this article, Toptal engineer Vasilii Lapin shows us how you can build a simple Symfony2 application using the DI-container, but without implementing the Service Locator pattern.

11 minute readContinue Reading
Vasilii Lapin

Vasilii Lapin

Vasilii has worked as a web architect and PHP back-end developer, specializing in NIX administration, and high-load, large scale projects.

MySQL Master-Slave Replication on the Same Machine

Developers often work on only one machine, and have their whole development environment on that machine. Testing database replication before deploying changes in this kind of a development environment can be a challenging task.

In this article, Toptal engineer Ivan Bojovic guides us through a step-by-step tutorial on how to implement MySQL master-slave replication on one machine.

8 minute readContinue Reading
Ivan Bojovic

Ivan Bojovic

Ivan has over 11 years of experience with MySQL, Oracle, PostgreSQL and other database systems, and is a certified MySQL DBA.

Context Validation in Domain-Driven Design

Handling all validation in domain objects results in objects that are huge and complex to work with. In domain-driven design, using decoupled validator components allows your code to be much more reusable and enables validation rules to rapidly grow.

In this article, Toptal engineer Josip Medic shows us how validation can be decoupled from domain objects, made context-specific, and structured well to achieve more sustainable validation code.

10 minute readContinue Reading
Josip Medic

Josip Medic

Josip is devoted to writing bug-free, maintainable, and scalable code, and is constantly educating himself about new technologies.

Integrating Facebook Login in AngularJS App with Satellizer

Integrating social network login in web applications directly using their SDKs can be a time consuming task. The fact that these SDKs keep changing every now and then doesn’t help either.

In this article, Toptal engineer Son Nguyen Kim provides us with an in-depth tutorial on how to use Satellizer, a feature-rich AngularJS library to integrate Facebook Login in an AngularJS web app.

10 minute readContinue Reading
Son Nguyen Kim

Son Nguyen Kim

Son is highly skilled with software engineering and ML algorithms and always tries hard to tackle problems with a simple approach.

Commoditized Smartphones: Bringing 4G To Developing Countries

Are we really going to need $500 phones to get people in developing countries on 3G or 4G? Not really.

Welcome to the world of commoditised smartphones. Allow us to explain what’s going on and why it could have a significant impact on software and hardware industries.

11 minute readContinue Reading
Nermin Hajdarbegovic

Nermin Hajdarbegovic

As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.

Grape Gem Tutorial: How To Build A REST-Like API In Ruby

In this tutorial, Toptal Engineer Orban Botond demonstrates how to use the Grape gem – a REST-like API micro-framework for Ruby – to build backend support in Rails for a JSON API. Grape is designed to run as a mountable rack engine that complements your web applications without interfering with them.

15 minute readContinue Reading
Botond Orban

Botond Orban

Botond is a skilled developer who enjoys writing readable code. He learnt to program at 13 on a ZX Spectrum-compatible Russian PC.

What's New in ES6? Perspective of a CoffeeScript Convert

CoffeeScript allows developers to make the most out of JavaScript-based platforms without having to jump through its awkward language hoops. However, with the introduction of ES6 features into major JavaScript engines, plain JavaScript is now nearly as friendly and powerful out-of-the-box as CoffeeScript.

In this article, Toptal engineer William Coates shares his findings on ES6 from the perspective of a CoffeeScript convert.

8 minute readContinue Reading
William Coates

William Coates

A full-stack developer and entrepreneur with 15+ years of experience, William (MSc) loves to keep up-to-date with the latest web tech.

Building an IMAP Email Client with PHP

Developers sometimes run into tasks that require access to email mailboxes. In most cases, this is done using the Internet Message Access Protocol, or IMAP. As a PHP developer, I first turned to PHP’s built in IMAP library, but this library is buggy and impossible to debug or modify. So today we will create a working IMAP email client from the ground up using PHP. We will also see how to use Gmail’s special commands.

9 minute readContinue Reading
Artem Galtsev

Artem Galtsev

Artem is a web developer and programmer with 10+ years of experience working with large organizations and on his own.

Most-read Articles

World-class articles, delivered weekly.

Subscription implies consent to our privacy policy

Join the Toptal® community.