Stylesheet development with Sass, even when using its most basic features, like nesting properties or variables, saves valuable time and makes life easier for front-end developers. It’s not surprising that CSS pre-processors have been widely adopted as the de facto way of creating styles for websites and applications; we simply can’t live without them anymore.
When it comes to theming; that is, changing the look and feel of your website while maintaining its layout, Sass’ features—like mixins or functions—can feel like taking a plane instead of walking! In this SCSS tutorial, we’re going to create a minimal theme and use SCSS to give our CSS programming some [...]
When someone requests a project, we have to assume that it’s very important and that they deeply care about the product you’ll be working on. So, it is safe to assume that a client is bound to build a lot of expectation around the final product, and therefore may become emotional when it comes to delivery.
Throughout the course of the project, a client might get super excited about a delivered feature and love you, and on the next day he or she can discover something doesn’t work and that affection will be gone. More often than not, it’s just a matter of client communication gone wrong.
Although there are no recipes for success when it comes to remote software [...]
Release management, as the name suggests, is the process of managing, planning, scheduling and controlling a software build through different stages and environments; including testing and deploying software releases (Humble & Farley, 2011).
It is a pretty big topic in itself and can only be perfected over time by trying different iterations with the development teams and matching business needs or feature releases. We will try to cover the industry practices of metadata management, CI building, and sandbox management for managing an organization’s release train.
But what is a release train?
A release train is an incremental and predictable feature delivery [...]
Android has almost 82 percent of global mobile market share with more than two billion active users going into 2017. (Apple controls nearly all of the other 18 percent.)
The reason for this is obvious to some: Android is open source and free to view, download, modify, or redistribute. These facts make it very attractive to mobile manufacturers since they can bring their own experience to clients directly at no additional cost.
Moreover, the Android ecosystem has expanded in recent years to more than just mobile devices. Android Auto launched in 2014, and more than 45 auto brands have brought the Android OS into car PCs, which can then easily connect to Android devices [...]
Modern web applications and their underlying systems are faster and more responsive than ever before. However, there are still many cases where you want to offload execution of a heavy task to other parts of your entire system architecture instead of tackling them on your main thread. Identifying such tasks is as simple as checking to see if they belong to one of the following categories:Periodic tasks — Jobs that you will schedule to run at a specific time or after an interval, e.g., monthly report generation or a web scraper that runs twice a day. Third-party tasks — The web app must serve users quickly without waiting for other actions to complete while the page loads, e.g., [...]
Handling errors correctly in APIs while providing meaningful error messages is a very desirable feature, as it can help the API client properly respond to issues. The default behavior tends to be returning stack traces that are hard to understand and ultimately useless for the API client. Partitioning the error information into fields also enables the API client to parse it and provide better error messages to the user. In this article, we will cover how to do proper error handling when building a REST API with Spring Boot.
Building REST APIs with Spring became the standard approach for Java developers during the last couple of years. Using Spring Boot helps [...]
Any front-end engineer worth their salt is aware of the challenges that the fragmented ecosystem of devices brings. Different screen sizes, resolutions, and aspect ratios make it difficult to deliver a consistent experience. More so for those who want to deliver a pixel-perfect experience.
Scalable Vector Graphics (SVGs) help in solving a part of that problem, and do it very well. Although they have their limitations, SVGs can be very helpful for certain occasions and, if you have a good design team, you can also create a more visually stunning experience without putting undue burden the web browser or hampering the load times.
During the last few months, I have [...]
Sharing related information among isolated systems has become increasingly important to organizations, as it allows them to improve the quality and availability of data. There are many situations where it is useful to have a data set that is available and consistent in more than one directory server. That’s why knowing the common methods for performing SQL Server data synchronization is important.
Data availability and consistency can be achieved by data replication and data synchronization processes. Data replication is the process of creating one or more redundant copies of a database for the purpose of fault tolerance or accessibility improvement. Data synchronization is [...]
Once, while doing page speed optimization for a [...]
Domain specific languages (DSL) are an incredibly powerful tool for making it easier to program or configure complex systems. They are also everywhere—as a software engineer you are most likely using several different DSLs on a daily basis.
In this article, you will learn what domain specific languages are, when they should be used, and finally how you can make your very own DSL in Ruby using advanced metaprogramming techniques.
This article builds upon Nikola Todorovic’s introduction to Ruby metaprogramming, also published on the Toptal Blog. So if you are new to metaprogramming, make sure you read that first.What Is a Domain Specific Language?