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., [...]
People like to categorize programming languages into paradigms. There are object-oriented (OO) languages, imperative languages, functional languages, etc. This can be helpful in figuring out which languages solve similar problems, and what types of problems a language is intended to solve.
In each case a paradigm generally has one “main” focus and technique that is the driving force for that family of languages:In OO languages, it is the class or object as a way to encapsulate state (data) with manipulation of that state (methods). In functional languages, it can be the manipulation of functions themselves or the immutable data passed from function to [...]
The realm of web front-end development has made considerable progress over the last few years. However, the web front-end, as the users see it, is still the same: HTML markup styled with CSS.
Many layout problems can seem simple at first but often proves to be tricky. Without extensive knowledge of how certain CSS features work, these advanced layouts can seem impossible to achieve with CSS alone.
In this article, you will find eight expert CSS tips and tricks that leverage lesser known CSS features to implement some of these advanced layouts and effects.1. Maximizing CSS Sibling Selectors
The problem: You are losing optimization opportunities by not [...]
Developing is a tricky business. The target keeps moving, new technologies and domains periodically come to life, new tools pop every now and again, and languages change in what seems to be managed havoc.
Still, even with all these changes, the fundamental rules stay the same. One of the most important of these underlying rule states that to create really awesome software, you must gain deep, ongoing and detailed introspection into your executing system. Diagnostics, debugging, and profiling are terms sometimes used in this context, but the rule goes deeper. A top-notch developer literally “feels” his system. He knows what will cause is to chunk waiting for more memory to [...]