<?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: Ovidiu Miu</title>
    <description>The latest articles on DEV Community by Ovidiu Miu (@ovidiu141).</description>
    <link>https://dev.to/ovidiu141</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%2F222368%2Fdef1240f-11a1-46cb-8a73-27a95fb857b6.jpeg</url>
      <title>DEV Community: Ovidiu Miu</title>
      <link>https://dev.to/ovidiu141</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ovidiu141"/>
    <language>en</language>
    <item>
      <title>Just updated the list of real open-source Angular projects I found</title>
      <dc:creator>Ovidiu Miu</dc:creator>
      <pubDate>Mon, 20 Jan 2025 16:52:55 +0000</pubDate>
      <link>https://dev.to/ovidiu141/just-updated-the-list-of-real-open-source-angular-projects-i-found-313</link>
      <guid>https://dev.to/ovidiu141/just-updated-the-list-of-real-open-source-angular-projects-i-found-313</guid>
      <description>&lt;div class="ltag__link"&gt;
  &lt;a href="/ovidiu141" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F222368%2Fdef1240f-11a1-46cb-8a73-27a95fb857b6.jpeg" alt="ovidiu141"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/ovidiu141/lets-build-a-list-of-real-and-alive-open-source-angular-projects-1en6" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Let's build a list of real and alive open-source Angular projects.&lt;/h2&gt;
      &lt;h3&gt;Ovidiu Miu ・ Nov 13 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#angular&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#opensource&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#github&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>angular</category>
      <category>opensource</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Angular - No need to import CommonModule in TestBed</title>
      <dc:creator>Ovidiu Miu</dc:creator>
      <pubDate>Tue, 11 Jan 2022 12:36:29 +0000</pubDate>
      <link>https://dev.to/ovidiu141/no-need-to-import-commonsmodule-in-testbed-12oa</link>
      <guid>https://dev.to/ovidiu141/no-need-to-import-commonsmodule-in-testbed-12oa</guid>
      <description>&lt;p&gt;I found some imports of &lt;strong&gt;CommonModule&lt;/strong&gt; in my &lt;code&gt;TestBeds&lt;/code&gt; and I investigated a bit why.&lt;/p&gt;

&lt;p&gt;And I found out that there is no need to import the &lt;code&gt;CommonModule&lt;/code&gt; in a &lt;code&gt;TestBed&lt;/code&gt;, since the &lt;code&gt;TestBed&lt;/code&gt; automatically imports it.&lt;/p&gt;

</description>
      <category>angular</category>
      <category>todayilearned</category>
    </item>
    <item>
      <title>Stackoverflow won't help me with this</title>
      <dc:creator>Ovidiu Miu</dc:creator>
      <pubDate>Tue, 14 Dec 2021 16:28:09 +0000</pubDate>
      <link>https://dev.to/ovidiu141/stackoverflow-wont-help-me-with-this-75a</link>
      <guid>https://dev.to/ovidiu141/stackoverflow-wont-help-me-with-this-75a</guid>
      <description>&lt;p&gt;I asked a simple question on stackoverflow but some moderator closed it because "We don’t allow questions &lt;strong&gt;seeking recommendations&lt;/strong&gt; for books, tools, software libraries, and more. Edit the question &lt;strong&gt;so it can be answered with facts&lt;/strong&gt; and citations"&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyymr1llssadrlergikp3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyymr1llssadrlergikp3.png" alt="stackoverflow screenshot" width="792" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How is this asking for recommendations? 😠&lt;/p&gt;

&lt;p&gt;It seems to me that it can be answer &lt;strong&gt;with facts&lt;/strong&gt;- is there something at all or not. And if not then maybe "why"?&lt;/p&gt;

&lt;p&gt;From now on I think I'll only use stackoverflow in readonly mode.&lt;/p&gt;

&lt;p&gt;Did I really broke the guidelines with this?&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Unexpected tags retrieved from the dev.to api</title>
      <dc:creator>Ovidiu Miu</dc:creator>
      <pubDate>Sat, 20 Nov 2021 19:02:59 +0000</pubDate>
      <link>https://dev.to/ovidiu141/unexpected-tags-retrieved-from-the-devto-api-3idj</link>
      <guid>https://dev.to/ovidiu141/unexpected-tags-retrieved-from-the-devto-api-3idj</guid>
      <description>&lt;p&gt;I played a bit with the &lt;a href="https://developers.forem.com/api" rel="noopener noreferrer"&gt;dev.to api&lt;/a&gt; and retrieved a list of tags.&lt;/p&gt;

&lt;p&gt;The API docs says that the endpoint response "will return tags ordered by popularity", so I wanted to find out what are the top 100 most popular tags (&lt;code&gt;https://dev.to/api/tags?page=1&amp;amp;per_page=100&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;I was surprised to find 3 unexpected tags (at least for me): &lt;code&gt;latestnigerianewslat&lt;/code&gt;, &lt;code&gt;southafricanews&lt;/code&gt;, &lt;code&gt;bánnhàmặttiền&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Tried to see if they appear in the app's tags suggestions dropdown, but they don't show up. (not event if searching by them)&lt;/p&gt;

&lt;p&gt;I'm curious what's up with them. Is this an API issue or am I ignorant?&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>api</category>
      <category>tags</category>
      <category>devto</category>
    </item>
    <item>
      <title>Angular: Where does the term 'directive' come from?</title>
      <dc:creator>Ovidiu Miu</dc:creator>
      <pubDate>Sat, 20 Nov 2021 14:14:04 +0000</pubDate>
      <link>https://dev.to/ovidiu141/angular-where-does-the-directive-term-come-from-20b6</link>
      <guid>https://dev.to/ovidiu141/angular-where-does-the-directive-term-come-from-20b6</guid>
      <description>&lt;p&gt;I'm trying to understand the Angular terms and philosophy. One of the most basic building blocks of Angular seems to be a &lt;code&gt;directive&lt;/code&gt;.&lt;br&gt;
As a non-native English speaker, I don't find this term intuitive, but rather abstract. So what's up with this term?&lt;/p&gt;

&lt;p&gt;The Angular glossary says that "A [&lt;code&gt;directive&lt;/code&gt; is a] class that can modify the structure of the DOM or modify attributes in the DOM and component data model".&lt;br&gt;
Ok, it got something to do with changing the DOM. But still, why 'directive'?&lt;br&gt;
It got something to do with 'direction'?😄&lt;/p&gt;

&lt;p&gt;Seems VueJS also has the concept of &lt;code&gt;directive&lt;/code&gt;.&lt;br&gt;
VueJS docs: "If you have not used AngularJS before, you probably don’t know what a directive is. Essentially, a &lt;code&gt;directive&lt;/code&gt; is some special token in the markup that tells the library to do something to a DOM element."&lt;/p&gt;

&lt;p&gt;This includes a reference to the AngularJS framework, and, yes, it seems AngularJS also has this term.&lt;/p&gt;

&lt;p&gt;AngularJS docs:  "At a high level, &lt;code&gt;directives&lt;/code&gt; are markers on a DOM element (such as an attribute, element name, comment or CSS class) that tell AngularJS's HTML compiler ($compile) to attach a specified behavior to that DOM element (e.g. via event listeners), or even to transform the DOM element and its children."&lt;/p&gt;

&lt;p&gt;Ok, so it seems that the term originally comes from AngularJS, and Angular and VueJS just inherited it.&lt;/p&gt;

&lt;p&gt;I guess, in Layman terms, a &lt;code&gt;directive&lt;/code&gt; is a way of "&lt;em&gt;teaching the HTML to do new tricks&lt;/em&gt;" (not mine). &lt;br&gt;
But still... why &lt;code&gt;directive&lt;/code&gt;?&lt;/p&gt;

&lt;p&gt;Still not sure, maybe the creators thought of this term because a &lt;code&gt;directive&lt;/code&gt; it's like &lt;strong&gt;commanding (giving directives/instructions/orders)&lt;/strong&gt; to a static technology (HTML) in order to make it smarter.&lt;/p&gt;

</description>
      <category>angular</category>
      <category>todayisearched</category>
      <category>javascript</category>
      <category>html</category>
    </item>
    <item>
      <title>Let's build a list of real and alive open-source Angular projects.</title>
      <dc:creator>Ovidiu Miu</dc:creator>
      <pubDate>Sat, 13 Nov 2021 19:51:05 +0000</pubDate>
      <link>https://dev.to/ovidiu141/lets-build-a-list-of-real-and-alive-open-source-angular-projects-1en6</link>
      <guid>https://dev.to/ovidiu141/lets-build-a-list-of-real-and-alive-open-source-angular-projects-1en6</guid>
      <description>&lt;p&gt;I only found lists polluted with dead/toy/component-library OSS projects. (or even containing AngularJS projects)&lt;/p&gt;

&lt;p&gt;I want to find &lt;em&gt;some real and alive open source projects&lt;/em&gt; which are using Angular. I'm sure some of us want to dive deeper and read some Angular code used in real life.&lt;/p&gt;

&lt;p&gt;Feel free to mention projects in the comments and I will try to keep the list up to date.&lt;/p&gt;

&lt;p&gt;List (last updated on 20 Jan 2025):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;PeerTube&lt;/strong&gt; (&lt;em&gt;Angular 18&lt;/em&gt; | 13.4k Github stars) &lt;br&gt;
&lt;a href="https://github.com/Chocobozzz/PeerTube" rel="noopener noreferrer"&gt;https://github.com/Chocobozzz/PeerTube&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Openproject&lt;/strong&gt; (&lt;em&gt;Angular 17&lt;/em&gt; | 9.7k Github stars)&lt;br&gt;
&lt;a href="https://github.com/opf/openproject" rel="noopener noreferrer"&gt;https://github.com/opf/openproject&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Oppia&lt;/strong&gt; (&lt;em&gt;Angular 11&lt;/em&gt; | 5.9k Github stars)&lt;br&gt;
&lt;a href="https://github.com/oppia/oppia" rel="noopener noreferrer"&gt;https://github.com/oppia/oppia&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Wafrn&lt;/strong&gt; (&lt;em&gt;Angular 19&lt;/em&gt; | 160 Github stars)&lt;br&gt;
&lt;a href="https://github.com/gabboman/wafrn" rel="noopener noreferrer"&gt;https://github.com/gabboman/wafrn&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>angular</category>
      <category>opensource</category>
      <category>github</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How does Angular know about (click)?</title>
      <dc:creator>Ovidiu Miu</dc:creator>
      <pubDate>Sat, 13 Nov 2021 18:37:54 +0000</pubDate>
      <link>https://dev.to/ovidiu141/how-does-angular-know-about-click-3poc</link>
      <guid>https://dev.to/ovidiu141/how-does-angular-know-about-click-3poc</guid>
      <description>&lt;p&gt;&lt;code&gt;&amp;lt;button (click)="doSomething()"&amp;gt;Do it&amp;lt;/button&amp;gt;&lt;/code&gt;&lt;br&gt;
I used the above syntax lots of times, almost daily.&lt;/p&gt;

&lt;p&gt;But how does Angular know how to deal with this &lt;code&gt;(click)&lt;/code&gt; thing? &lt;br&gt;
It seems to work with any element, even custom Angular components. So how does this work?&lt;/p&gt;

&lt;p&gt;It works because of the so called &lt;a href="https://angular.io/guide/event-binding" rel="noopener noreferrer"&gt;Event Biding&lt;/a&gt;. Basically it binds the target event name (&lt;em&gt;click&lt;/em&gt;) to a method from the component (&lt;em&gt;doSomething&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;As explained in this &lt;a href="https://dev.to/ngconf/angular-event-binding-deep-dive-20bg"&gt;nice article&lt;/a&gt; , Angular doesn't have a list of it's own event names, but it actually uses the names of the underlying DOM events.&lt;/p&gt;

&lt;p&gt;So the event binding part of the &lt;code&gt;&amp;lt;button (click)="doSomething()"&amp;gt;Do it&amp;lt;/button&amp;gt;&lt;/code&gt; snippet is the equivalent of this vanilla snippet:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;element.addEventListener('click', () =&amp;gt; { doSomething() });&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This means the if I want to know which events I can bind to in Angular I can search them here: &lt;a href="https://developer.mozilla.org/en-US/docs/Web/Events" rel="noopener noreferrer"&gt;https://developer.mozilla.org/en-US/docs/Web/Events&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What about the &lt;code&gt;$event&lt;/code&gt;?&lt;/p&gt;

&lt;p&gt;If the event is a DOM event, like &lt;em&gt;click, mouseenter, keyup&lt;/em&gt; etc then the &lt;code&gt;$event&lt;/code&gt; is the event itself. For example in the case of &lt;code&gt;click&lt;/code&gt;, the $event is a &lt;code&gt;MouseEvent&lt;/code&gt;.&lt;br&gt;
But for custom events (using the &lt;a href="https://angular.io/api/core/EventEmitter" rel="noopener noreferrer"&gt;EventEmitter&lt;/a&gt;) the &lt;code&gt;$event&lt;/code&gt; is actually the emitted data.&lt;/p&gt;

</description>
      <category>angular</category>
      <category>todayilearned</category>
      <category>html</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Spring Boot: How to get only the beans I have explicitly created</title>
      <dc:creator>Ovidiu Miu</dc:creator>
      <pubDate>Sun, 30 Aug 2020 12:42:25 +0000</pubDate>
      <link>https://dev.to/ovidiu141/spring-boot-tip-how-to-get-only-the-beans-i-have-created-explicitly-54bf</link>
      <guid>https://dev.to/ovidiu141/spring-boot-tip-how-to-get-only-the-beans-i-have-created-explicitly-54bf</guid>
      <description>&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; I need to get all the beans I have created explicitly in my app. When calling &lt;code&gt;applicationContext.getBeanDefinitionNames()&lt;/code&gt; I get a list of bean names but a lot of them are not created explicitly by me but by Spring, and I'm not interested in those. There is no naming rule I can use for filtering at this point, because not all the beans injected by Spring start with &lt;em&gt;"org.springframework"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhspm6m6ujokjjzzb1omb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fhspm6m6ujokjjzzb1omb.png" alt="Alt Text" width="799" height="799"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; Using &lt;code&gt;applicationContext.getBeanDefinitionNames()&lt;/code&gt; and filtering the beans by my root package name ( This solution also works for other use cases, for example if I want to get all the beans I've defined under a certain package ).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kn"&gt;package&lt;/span&gt; &lt;span class="nn"&gt;com.omiu.demo&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="o"&gt;....&lt;/span&gt;

&lt;span class="nd"&gt;@Service&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;PersonService&lt;/span&gt; &lt;span class="o"&gt;{}&lt;/span&gt;

&lt;span class="nd"&gt;@Component&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;PersonAnalyzer&lt;/span&gt; &lt;span class="o"&gt;{}&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;SimpleAnalyzer&lt;/span&gt; &lt;span class="o"&gt;{}&lt;/span&gt;

&lt;span class="nd"&gt;@Configuration&lt;/span&gt;
&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;GeneralConfig&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="nd"&gt;@Bean&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nc"&gt;SimpleAnalyzer&lt;/span&gt; &lt;span class="nf"&gt;simpleAnalyzer&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;SimpleAnalyzer&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="nd"&gt;@SpringBootApplication&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;DemoApplication&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;ConfigurableApplicationContext&lt;/span&gt; &lt;span class="n"&gt;applicationContext&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;SpringApplication&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;DemoApplication&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

        &lt;span class="nc"&gt;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Object&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;myBeans&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Arrays&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;stream&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;applicationContext&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getBeanDefinitionNames&lt;/span&gt;&lt;span class="o"&gt;())&lt;/span&gt;
                &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;filter&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;beanName&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;applicationContext&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getBean&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;beanName&lt;/span&gt;&lt;span class="o"&gt;).&lt;/span&gt;&lt;span class="na"&gt;getClass&lt;/span&gt;&lt;span class="o"&gt;().&lt;/span&gt;&lt;span class="na"&gt;getPackage&lt;/span&gt;&lt;span class="o"&gt;().&lt;/span&gt;&lt;span class="na"&gt;getName&lt;/span&gt;&lt;span class="o"&gt;().&lt;/span&gt;&lt;span class="na"&gt;startsWith&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"com.omiu.demo"&lt;/span&gt;&lt;span class="o"&gt;))&lt;/span&gt;
                &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;map&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nl"&gt;applicationContext:&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;getBean&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
                &lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;collect&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Collectors&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;toList&lt;/span&gt;&lt;span class="o"&gt;());&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This gives me a list of only 5 Beans, exactly those I'm interested in:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffsxdjqulypzfdbo5rseg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffsxdjqulypzfdbo5rseg.png" alt="Alt Text" width="533" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>spring</category>
      <category>springboot</category>
      <category>todayilearned</category>
    </item>
    <item>
      <title>Best analogy for Authentication vs Authorization I've found so far</title>
      <dc:creator>Ovidiu Miu</dc:creator>
      <pubDate>Thu, 21 Nov 2019 13:38:20 +0000</pubDate>
      <link>https://dev.to/ovidiu141/best-analogy-for-authentication-vs-authorization-i-ve-found-so-far-131a</link>
      <guid>https://dev.to/ovidiu141/best-analogy-for-authentication-vs-authorization-i-ve-found-so-far-131a</guid>
      <description>&lt;p&gt;After some thinking and some google searches I think I've found a very good analogy for representing &lt;strong&gt;authentication vs authorization&lt;/strong&gt;. I'll stick to this, seems like a good mental model.&lt;/p&gt;

&lt;p&gt;The analogy is found here: &lt;a href="https://www.okta.com/identity-101/authentication-vs-authorization/" rel="noopener noreferrer"&gt;https://www.okta.com/identity-101/authentication-vs-authorization/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It roughly goes like this: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You go visit your neighbor. You knock at his door. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;He looks through the peephole, and then he &lt;em&gt;recognizes&lt;/em&gt; you (&lt;strong&gt;authentication&lt;/strong&gt;). &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;He &lt;em&gt;opens&lt;/em&gt; the door and invites you in. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You talk to him and start feeling comfortable, so you go sit on the sofa. He has no problem with this (&lt;strong&gt;you are authorized&lt;/strong&gt; to do this). &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You even use his toilet (&lt;strong&gt;still authorized&lt;/strong&gt;). &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After some time you feel hungry and try to open his fridge to have a look. He stops you and says that you are not allowed to do this (&lt;strong&gt;not authorized&lt;/strong&gt;). Maybe his best friend is allowed... (&lt;strong&gt;he might be authorized&lt;/strong&gt;)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>security</category>
      <category>authentication</category>
      <category>authorization</category>
      <category>analogy</category>
    </item>
  </channel>
</rss>
