Dependency injection in Angular
Dependency injection in Angular

Dependency injection isn’t usually part of Angular 101, yet it is a very powerful feature. If you check out the official glossary, it states that DI tokens are “A lookup token associated with a dependency provider, for use with the dependency injection system.” Everything’s clear? Well, then you can stop reading here.

If you — just like me — have been avoiding this whole dependency stuff for months or years, read on. Using it won’t hurt a bit, after all.

Let’s say, you have a component that consumes some service. Following the principle of loose coupling, you want to keep…


future, frontend trends
future, frontend trends
Taken form here

“I Predict the Internet Will Soon Go Spectacularly Supernova and in 1996 Catastrophically Collapse”, Robert Metcalfe ©

Here we go, yet another article about current trends in the <please fill in> year! You might be surprised, but I’m not going to compare Angular and React, neither I want to draw another web development roadmap. Moreover, this article won’t give you any career guidance. What it aims for, however, is an assessment of the place that frontend development has taken within software development in the past few years and some resulting consequences.

I am genuinely thankful to my colleagues for questioning…


A tale of a flexible Angular component — or when to use input or content projection

Once upon a time, there was a little ChameleonComponent. He was really tiny but very determined. According to the single responsibility principle, he could only stay green, as he was spending all his time in green woods. Here he is:

ChameleonComponent.html:
<p>I am a little green chameleon.</p>
ChameleonComponent.ts:
export class ChameleonComponent {}

Some day our little chameleon decided to go for a walk. It was a nice summer day, and he was heading further and further and further. Suddenly, he found himself in the middle of the red-flowered field. Some birds have spotted him and were circling around, coming closer…


“Whatever can go wrong, will go wrong.” © Murphy’s Law

error-handling with RxJs
error-handling with RxJs

Error-handling is an architectural decision, and like any other architectural decision, it depends on the project goals and setup. In this article, I’m going to describe one of the possible ways to handle errors in your app(s) that proved useful for an enterprise portal.

Before we move on to the implementation, let’s have a look at some trade-offs of error-handling:

  • User: you want to be as user-friendly as possible: “Dear user, a tiny error has occurred. But please do not worry! I am here for you to protect you from…


handling multiple clicks — comic
handling multiple clicks — comic

A web application is like an animal from the zoo that you set free and release into the wild production. If it’s not robust enough it will be torn down by fearless users. If it only knows you and thinks it can trust other humans, too, it cannot end well. One of the cruel things that can happen to it is a double click. Watch for yourself:


Once I settled to become a frontend developer, I wanted to be a good one. To become an expert, you need to gain the knowledge. To have the knowledge, you have to learn and practice. So, how does it usually start? You pick up a new framework, follow a couple of tutorials, build a couple of demos — your learning curve sky-rockets. You know, what happens next? Once you get familiar with the framework’s logic, the learning pace slows down. Now, instead of learning overall concepts and approaches, you make progress just when something does not work as expected. …


From View Engine to Ivy: Rendering in Angular
From View Engine to Ivy: Rendering in Angular
Picture taken from here

While working on my previous article on Document Object Model and its types, I discovered a major shift in the DOM-handling that came with the introduction of Angular Ivy. That brought me to the idea of this post — how is rendering done in Angular?

The Angular rendering architecturei.e.compiler and runtime engine pipeline that allows an application to be executed — has changed multiple times: with Angular 2.0, Angular 4.0 and now with Angular 9.0. …


DOM, document object model
DOM, document object model
Taken from here

Many concepts in web developement are omnipresent, yet it is hard to define them precisely. DOM (Document Object Model) is one of them. Once I’ve heard people talking about virtual DOM, shadow DOM, DOM level 1, 2, 3, I knew I have to do something about it. This story is my attempt to shed some linght onto this notion and to structure it a bit.

[TL;DR: DOM enhances cross-browser compatibility, DOM Levels are no longer relevant, Shadow DOM offers better element encapsulation, virtual /incremental DOM allows to frequently update the DOM in a more performant way]

Before we move on…


frontend vs. backend
frontend vs. backend

When I was applying for my current job, I remember saying something like “Well, I’ll start with frontend, but in the long run it would be cool to go full stack.” Doing frontend felt just like half of the skill set. After I’ve watched the talk of Chris Coyier at the JAM stack conference, it no longer does. Doing frontend is awesome and is getting more and more visibility. In this article I gonna tell you why.

[TL;DR: More visibility by clients and managers, site-level decision-making, more backend/frontend overlap in the new tech stacks, more server-independency, and, hence, more work]


Some of you might have this stereotipical view on business consultants: charming “heroes” spreading shiny presentations full of buzzwords to report back what their clients tell them. IT guys are the opposit of it (caucion, stereotypes go on!): shy pale creatures that prefer to stare at their screens and hide from the sunlight. While my colleagues (IT guys) definitely do not support the second description, they look down to the image of the consultants. Yet we can learn several things from them, especially when having a client-facing role. Moreover, as to the (perceived) paradigm change, everyone is a consultant now

Maria Korneeva

Learning tech hacks by sharing them with you— that is what drives me. #learningbysharing

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store