<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: kreuzerk</title>
    <description>The latest articles on DEV Community by kreuzerk (@kreuzerk).</description>
    <link>https://dev.to/kreuzerk</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F112910%2Fc7de7ade-19cd-42f8-ad92-b3b703dcee2b.png</url>
      <title>DEV Community: kreuzerk</title>
      <link>https://dev.to/kreuzerk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kreuzerk"/>
    <language>en</language>
    <item>
      <title>Angular's standalone router APIs</title>
      <dc:creator>kreuzerk</dc:creator>
      <pubDate>Tue, 18 Oct 2022 13:28:35 +0000</pubDate>
      <link>https://dev.to/kreuzerk/angulars-standalone-router-apis-332e</link>
      <guid>https://dev.to/kreuzerk/angulars-standalone-router-apis-332e</guid>
      <description>&lt;p&gt;✅ Explore the new standalone APIs&lt;br&gt;
✅ Learn how to migrate your app to the new standalone APIs&lt;br&gt;
✅ Case study which explores how much of the router implementation can be tree shaken when using new standalone APIs&lt;/p&gt;

&lt;p&gt;&lt;a href="https://angularexperts.ch/blog/angular-router-standalone-apis"&gt;Read the full story here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>typescript</category>
      <category>coding</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Advanced Typescript</title>
      <dc:creator>kreuzerk</dc:creator>
      <pubDate>Wed, 01 Sep 2021 13:42:11 +0000</pubDate>
      <link>https://dev.to/kreuzerk/advanced-typescript-2cel</link>
      <guid>https://dev.to/kreuzerk/advanced-typescript-2cel</guid>
      <description>&lt;p&gt;&lt;a href="https://kevinkreuzer.medium.com/advanced-typescript-43331bb4a875?source=rss-6cd4fff6b841------2"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NkSJs0ER--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/2600/1%2ARcdf1E9P6mDGTCYUiYeX7g.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Get familiar with some of Typescript's greatest advanced features.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kevinkreuzer.medium.com/advanced-typescript-43331bb4a875?source=rss-6cd4fff6b841------2"&gt;Continue reading on Medium »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>frontend</category>
      <category>javascript</category>
      <category>typescript</category>
    </item>
    <item>
      <title>How to implement an address search with Angular and Google Maps</title>
      <dc:creator>kreuzerk</dc:creator>
      <pubDate>Tue, 29 Jun 2021 06:20:49 +0000</pubDate>
      <link>https://dev.to/kreuzerk/how-to-implement-an-address-search-with-angular-and-google-maps-pad</link>
      <guid>https://dev.to/kreuzerk/how-to-implement-an-address-search-with-angular-and-google-maps-pad</guid>
      <description>&lt;p&gt;&lt;a href="https://kevinkreuzer.medium.com/how-to-implement-an-address-search-with-angular-and-google-maps-32a2df09f8e9?source=rss-6cd4fff6b841------2"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cJrHz5-t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1950/1%2Aj7Ghm1gem6ZBEk9g-Zcl3A.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With more than a billion monthly users, Google Maps is one of the most used/known applications. Since Angular version 9, it’s also…&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kevinkreuzer.medium.com/how-to-implement-an-address-search-with-angular-and-google-maps-32a2df09f8e9?source=rss-6cd4fff6b841------2"&gt;Continue reading on Medium »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>googlemapapi</category>
      <category>javascript</category>
      <category>typescript</category>
      <category>angular</category>
    </item>
    <item>
      <title>Angular structural directives - how to implement your own ngIf</title>
      <dc:creator>kreuzerk</dc:creator>
      <pubDate>Wed, 23 Jun 2021 06:40:16 +0000</pubDate>
      <link>https://dev.to/kreuzerk/angular-structural-directives-how-to-implement-your-own-ngif-367h</link>
      <guid>https://dev.to/kreuzerk/angular-structural-directives-how-to-implement-your-own-ngif-367h</guid>
      <description>&lt;p&gt;&lt;a href="https://kevinkreuzer.medium.com/angular-structural-directives-implement-your-own-ngif-860175f540cc?source=rss-6cd4fff6b841------2"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NUvKFcGo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/2600/1%2APU3czynv7vCeXiu5QyD4PA.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=rKDa2egRLFY&amp;amp;t=19s"&gt;Watch on Youtube »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>javascript</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Angular interviews in 2021</title>
      <dc:creator>kreuzerk</dc:creator>
      <pubDate>Thu, 17 Jun 2021 07:56:38 +0000</pubDate>
      <link>https://dev.to/kreuzerk/angular-interviews-in-2021-355b</link>
      <guid>https://dev.to/kreuzerk/angular-interviews-in-2021-355b</guid>
      <description>&lt;p&gt;&lt;a href="https://kevinkreuzer.medium.com/angular-interviews-in-2021-61eea28ae563?source=rss-6cd4fff6b841------2"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bGPuFgsz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1950/1%2ATugVjDs707ITPdzxeJs54Q.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here’s what you should know going into an interview&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kevinkreuzer.medium.com/angular-interviews-in-2021-61eea28ae563?source=rss-6cd4fff6b841------2"&gt;Continue reading on Medium »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>technology</category>
      <category>programming</category>
      <category>angular</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Angular structural directives — implement your own *ngIf</title>
      <dc:creator>kreuzerk</dc:creator>
      <pubDate>Wed, 02 Jun 2021 07:35:45 +0000</pubDate>
      <link>https://dev.to/kreuzerk/angular-structural-directives-implement-your-own-ngif-1hif</link>
      <guid>https://dev.to/kreuzerk/angular-structural-directives-implement-your-own-ngif-1hif</guid>
      <description>&lt;p&gt;&lt;a href="https://kevinkreuzer.medium.com/angular-structural-directives-implement-your-own-ngif-860175f540cc?source=rss-6cd4fff6b841------2"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NUvKFcGo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/2600/1%2APU3czynv7vCeXiu5QyD4PA.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kevinkreuzer.medium.com/angular-structural-directives-implement-your-own-ngif-860175f540cc?source=rss-6cd4fff6b841------2"&gt;Continue reading on Medium »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>javascript</category>
      <category>coding</category>
      <category>frontend</category>
    </item>
    <item>
      <title>How to build your own tree shakable SVG icons library in less than 30 minutes!</title>
      <dc:creator>kreuzerk</dc:creator>
      <pubDate>Thu, 11 Feb 2021 08:52:05 +0000</pubDate>
      <link>https://dev.to/kreuzerk/how-to-build-your-own-tree-shakable-svg-icons-library-in-less-than-30-minutes-ha</link>
      <guid>https://dev.to/kreuzerk/how-to-build-your-own-tree-shakable-svg-icons-library-in-less-than-30-minutes-ha</guid>
      <description>&lt;p&gt;&lt;a href="https://medium.com/@kevinkreuzer/how-to-build-your-own-tree-shakable-svg-icons-library-in-less-than-30-minutes-9f7a4a324d29?source=rss-6cd4fff6b841------2"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PPLqekcU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1920/1%2A3ZF1eqNbAu1yktIIR78iwA.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How to create your own FontAwesome. Ship SVG icons optimized for tree shakers and splittable across multiple bundles.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@kevinkreuzer/how-to-build-your-own-tree-shakable-svg-icons-library-in-less-than-30-minutes-9f7a4a324d29?source=rss-6cd4fff6b841------2"&gt;Continue reading on Medium »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>libraries</category>
      <category>angular</category>
      <category>opensource</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Angular &amp; Nest, a match made in heaven</title>
      <dc:creator>kreuzerk</dc:creator>
      <pubDate>Wed, 23 Dec 2020 20:10:21 +0000</pubDate>
      <link>https://dev.to/kreuzerk/angular-nest-a-match-made-in-heaven-1769</link>
      <guid>https://dev.to/kreuzerk/angular-nest-a-match-made-in-heaven-1769</guid>
      <description>&lt;p&gt;&lt;a href="https://medium.com/@kevinkreuzer/angular-nest-a-match-made-in-heaven-e52cb8e4105a?source=rss-6cd4fff6b841------2"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WVeUqPKD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1350/1%2AvlL-AazboFo4r6CQ0xj19Q.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How to generate a frontend and backend application with 5 commands&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@kevinkreuzer/angular-nest-a-match-made-in-heaven-e52cb8e4105a?source=rss-6cd4fff6b841------2"&gt;Continue reading on Medium »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>nest</category>
      <category>angular</category>
      <category>nestjs</category>
      <category>typescript</category>
    </item>
    <item>
      <title>How to marble test RxJS Subjects</title>
      <dc:creator>kreuzerk</dc:creator>
      <pubDate>Thu, 03 Dec 2020 11:02:59 +0000</pubDate>
      <link>https://dev.to/kreuzerk/how-to-marble-test-rxjs-subjects-pke</link>
      <guid>https://dev.to/kreuzerk/how-to-marble-test-rxjs-subjects-pke</guid>
      <description>&lt;h4&gt;
  
  
  How to bridge the gap between the timing of function calls and Observables
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vwIuKNAc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AeT9TUDc99ivwu8bO2n6PcA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vwIuKNAc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AeT9TUDc99ivwu8bO2n6PcA.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Asynchronous code is hard! It’s hard to write and to test.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;RxJs&lt;/em&gt; has changed the way we think about asynchrony. Instead of using &lt;em&gt;Promises&lt;/em&gt;, we nowadays deal with streams in the form of &lt;em&gt;Observables&lt;/em&gt; or &lt;em&gt;Subjects&lt;/em&gt;. &lt;em&gt;RxJs&lt;/em&gt; provides us with many out of the box operators to create, merge, or transform streams.&lt;/p&gt;

&lt;p&gt;But we do not only get great tools for runtime code, but we also get amazing tools to test streams.&lt;/p&gt;

&lt;p&gt;Marble diagrams are a great way of modeling streams. They are used throughout many tutorials and can now also be used in tests to assert streams.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In case you never heard of marble testing I recommend you to checkout the following article.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://dev.to/kreuzerk/marble-testing-with-rxjs-testing-utils-25f7"&gt;Marble testing with RxJS testing utils&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Marble testing is great! Many people use it to test their &lt;em&gt;Observables&lt;/em&gt;. But what about &lt;em&gt;Subjects&lt;/em&gt;?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kevinkreuzer.medium.com/how-to-marble-test-rxjs-subjects-d3acdf205945"&gt;Find out more...&lt;/a&gt;&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>javascript</category>
      <category>angular</category>
      <category>rxjs</category>
    </item>
    <item>
      <title>Make your Angular application accessible for everybody</title>
      <dc:creator>kreuzerk</dc:creator>
      <pubDate>Tue, 07 Apr 2020 05:55:27 +0000</pubDate>
      <link>https://dev.to/kreuzerk/make-your-angular-application-accessible-for-everybody-49g7</link>
      <guid>https://dev.to/kreuzerk/make-your-angular-application-accessible-for-everybody-49g7</guid>
      <description>&lt;h4&gt;
  
  
  How to setup automated accessibility tests for your Angular application
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dEVd7ufb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AjC3rEV2EeqSPs4c37pmjxA.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dEVd7ufb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AjC3rEV2EeqSPs4c37pmjxA.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Accessibility is an essential topic for every modern web application.&lt;/p&gt;

&lt;p&gt;Accessibility means that everyone can use your web application. As devs, it’s easy to assume that all users can see or interact with a page as we do. But there is a range of people that do not belong to the “typical” user. People may have visual, physical, auditory, or cognitive problems.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Accessibility is not about including groups, it’s about not excluding groups.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Even though accessibility is crucial, it’s often overlooked. I was once in a project where we built a vast webshop and completely forgot about accessibility. With that, we excluded a range of persons from our business. Also, our shop was nominated for an award which we didn’t get because our shop wasn’t accessible at all. 😔&lt;/p&gt;

&lt;p&gt;You can imagine what happened after that. Taskforce! Trust me, adding aria attributes and listen to JAWS screenreader for days is not fun!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/angular-in-depth/make-your-angular-application-accessible-for-everybody-2e5e8e402387"&gt;Find out how to prevent such situations with automated accessibility tests&lt;/a&gt;&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>angular</category>
      <category>frontenddev</category>
      <category>typescript</category>
    </item>
    <item>
      <title>How to create a fully tree shakable icon library in Angular</title>
      <dc:creator>kreuzerk</dc:creator>
      <pubDate>Mon, 23 Mar 2020 06:58:13 +0000</pubDate>
      <link>https://dev.to/kreuzerk/how-to-create-a-fully-tree-shakable-icon-library-in-angular-311c</link>
      <guid>https://dev.to/kreuzerk/how-to-create-a-fully-tree-shakable-icon-library-in-angular-311c</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U0JkngZ6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AGQb8xn-s803GJzBTuGsLxw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U0JkngZ6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2AGQb8xn-s803GJzBTuGsLxw.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nearly every SPA uses icons. Often, we use icons delivered by a component library, such as Material, or we take icons from a dedicated icon library like font-awesome. In some cases, however, the icons need to match our brand. Therefore, we need to provide a custom icon library.&lt;/p&gt;

&lt;p&gt;If you create an icon library, performance is something to consider. You don’t want to deliver a set of 300 icons to the user if they only are going to display two icons. Right?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/angular-in-depth/how-to-create-a-fully-tree-shakable-icon-library-in-angular-c5488cf9cd76"&gt;Find out more&lt;/a&gt;&lt;/p&gt;

</description>
      <category>icons</category>
      <category>angular</category>
      <category>performance</category>
      <category>typescript</category>
    </item>
    <item>
      <title>How to create a memory leak in Angular</title>
      <dc:creator>kreuzerk</dc:creator>
      <pubDate>Tue, 10 Mar 2020 21:41:38 +0000</pubDate>
      <link>https://dev.to/kreuzerk/how-to-create-a-memory-leak-in-angular-4kdj</link>
      <guid>https://dev.to/kreuzerk/how-to-create-a-memory-leak-in-angular-4kdj</guid>
      <description>&lt;h4&gt;
  
  
  explore the most common cause of memory leaks in Angular apps — learn how to fix them and to avoid them in the future
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DhKgmvoA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2Aay7Cpc8Puc63zfuzilEpGw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DhKgmvoA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2Aay7Cpc8Puc63zfuzilEpGw.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Performance is crucial to the success of a web application. As a developer, it’s essential to know how memory leaks are created and how to deal with them.&lt;/p&gt;

&lt;p&gt;This knowledge is especially important once your application reaches a certain size. If you aren’t careful about memory leaks, then you may end up in a “memory-leak taskforce”. (Yes, I have also been part of one 😉).&lt;/p&gt;

&lt;p&gt;Memory leaks can have multiple sources. However, we believe that in Angular, there’s a pattern to the most common cause of memory leaks. And, there’s also a way to avoid them. &lt;a href="https://medium.com/angular-in-depth/how-to-create-a-memory-leak-in-angular-4c583ad78b8b"&gt;Find out more&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>rxjs</category>
      <category>performance</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
