tag:blogger.com,1999:blog-91952010462718448712024-03-13T01:43:15.185-07:00Anil Singh | Code-sample.comAngular, React, JavaScript, Java, PHP, SQL, C#, Vue, NodeJs, TypeScript and Interview Questions AnswersAnil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comBlogger1803125tag:blogger.com,1999:blog-9195201046271844871.post-11666259337331496392024-03-08T04:37:00.000-08:002024-03-08T04:38:43.448-08:00 12 Ways to Get More YouTube Subscribers | Tips and Tricks<p><span style="font-size: 12pt;">Growing your <a href="https://youtu.be/erjPomg7F4U" target="_blank">YouTube</a> subscribers in
2024 requires a combination of strategic planning, consistent content creation,
and effective promotion.</span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmm_2_ua_1-oNCSL-Vrtj0fDabz2mSLFrA0uQuvbtdyMPvkPKbcWYHjFAbjU1klbixAbJDSCcF4LFiTmJivFtRW1vauOpgp2QWIc9ffIV2oPfGSf-plsT0rbOE8nvehbEEZtmXsQKj3pQgIeWXKjR99H3Q9lyV36essSPPAPGFiMH8HZyvKa_J_mhxzIoJ/s1200/How-to-Get-More-Subscribers-on-YouTube-daily.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="800" data-original-width="1200" height="368" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmm_2_ua_1-oNCSL-Vrtj0fDabz2mSLFrA0uQuvbtdyMPvkPKbcWYHjFAbjU1klbixAbJDSCcF4LFiTmJivFtRW1vauOpgp2QWIc9ffIV2oPfGSf-plsT0rbOE8nvehbEEZtmXsQKj3pQgIeWXKjR99H3Q9lyV36essSPPAPGFiMH8HZyvKa_J_mhxzIoJ/w553-h368/How-to-Get-More-Subscribers-on-YouTube-daily.jpg" width="553" /></a></div><span style="font-size: 12pt;"><p class="MsoNormal"><span style="font-size: 12pt;">Here are 12 tips to help you increase
your YouTube subscriber counts daily basic:</span></p></span><p></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Create
High-Quality Content:<o:p></o:p></span></b></p>
<p class="MsoListParagraphCxSpFirst" style="margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">1.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Make sure your videos are well-produced, and engaging, and provide value to your target audience.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpLast" style="margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">2.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Pay attention to video and audio quality, as
viewers are more likely to subscribe if they enjoy the overall viewing
experience.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Define Your
Niche:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Focus on a specific niche or topic
that interests you and has an audience. Specializing in a niche helps attract a
dedicated audience.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Consistent Upload
Schedule:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Establish a regular uploading
schedule. Consistency helps build trust with your audience, and they are more
likely to subscribe if they know when to expect new content.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Optimize Video
Titles and Thumbnails:<o:p></o:p></span></b></p>
<p class="MsoListParagraphCxSpFirst" style="margin-left: .75in; mso-add-space: auto; mso-list: l3 level1 lfo2; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">1.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Create compelling and descriptive titles for
your videos.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpLast" style="margin-left: .75in; mso-add-space: auto; mso-list: l3 level1 lfo2; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">2.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Design eye-catching thumbnails that accurately
represent the content and encourage clicks.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Engage with Your
Audience:<o:p></o:p></span></b></p>
<p class="MsoListParagraphCxSpFirst" style="margin-left: .75in; mso-add-space: auto; mso-list: l2 level1 lfo3; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">1.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Respond to comments on your videos.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: .75in; mso-add-space: auto; mso-list: l2 level1 lfo3; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">2.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Ask for feedback and suggestions.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpLast" style="margin-left: .75in; mso-add-space: auto; mso-list: l2 level1 lfo3; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">3.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Host <a href="https://www.code-sample.com/2018/05/angular-2-4-5-6-7-8-interview-questions.html" target="_blank">Q&A sessions</a> or live streams to
interact directly with your audience.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Collaborate with
Other YouTubers:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Partner with other content creators in
your niche for collaborations. This can expose your channel to a new audience.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Promote on Social
Media:<o:p></o:p></span></b></p>
<p class="MsoListParagraphCxSpFirst" style="margin-left: .75in; mso-add-space: auto; mso-list: l4 level1 lfo4; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">1.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Share your videos on other social media
platforms to increase visibility.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpLast" style="margin-left: .75in; mso-add-space: auto; mso-list: l4 level1 lfo4; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">2.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Utilize relevant hashtags to reach a broader
audience.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Create Playlists:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Organize your videos into playlists.
Playlists encourage viewers to watch more of your content, increasing the
likelihood of them subscribing.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Optimize Your
Channel:<o:p></o:p></span></b></p>
<p class="MsoListParagraphCxSpFirst" style="margin-left: .75in; mso-add-space: auto; mso-list: l1 level1 lfo5; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">1.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Complete your YouTube channel profile with a
compelling description and eye-catching banner.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpLast" style="margin-left: .75in; mso-add-space: auto; mso-list: l1 level1 lfo5; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">2.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Use relevant keywords in your channel
description and video tags to improve discoverability.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Run Contests and
Giveaways:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Encourage viewers to subscribe by
running contests or giveaways. Make sure the entry requirements include
subscribing to your channel.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Utilize End
Screens and Cards:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Use YouTube's end screens and cards to
promote other videos and encourage viewers to subscribe.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Monitor
Analytics:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Regularly analyze your YouTube
analytics to understand what is working well and what needs improvement. Adjust
your content and strategy accordingly.</span></p><p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><br /></span></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Remember</span></b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">, growing a YouTube channel takes time and
dedication. Stay patient, adapt your strategies based on analytics, and
consistently improve the quality of your content to attract and retain
subscribers.<o:p></o:p></span></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-35464153852555712642024-02-20T04:11:00.000-08:002024-02-20T04:11:01.575-08:00 nullinjectorerror no provider for httpclient angular 17<p><span style="font-family: verdana;">In Angular 17 where the standalone true option is set by default, the <b>app.config.ts</b> file is generated in src/app/ and provideHttpClient(). We can be added to the list of providers in app.config.ts</span></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPC3EHAyRWTRrHHvBnzR8YFqjdGboQtAFyG-li2s83J0UkcGLFDRrbST2MkOUQ-dsAwXRApBx19eDPJgj2EVXo9RV3B4jjJKWZkz6tr_Ucb5cpSzV8DFOWIubq2C7Xm6OiKqSDF1YAGgCJE4ngbYTG1IqfQChDqQJG4Fc3Cfw8zPoGinIz1ZMGBnptad_D/s1622/nullinjectorerror%20no%20provider%20for%20httpclient%20angular%2017.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="919" data-original-width="1622" height="321" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPC3EHAyRWTRrHHvBnzR8YFqjdGboQtAFyG-li2s83J0UkcGLFDRrbST2MkOUQ-dsAwXRApBx19eDPJgj2EVXo9RV3B4jjJKWZkz6tr_Ucb5cpSzV8DFOWIubq2C7Xm6OiKqSDF1YAGgCJE4ngbYTG1IqfQChDqQJG4Fc3Cfw8zPoGinIz1ZMGBnptad_D/w568-h321/nullinjectorerror%20no%20provider%20for%20httpclient%20angular%2017.png" width="568" /></a></div><b style="font-family: verdana;">Step 1:</b><span style="font-family: verdana;"> </span><p></p><p><span style="font-family: verdana;">To provide HttpClient in a standalone app we could do this in the <b>app.config.ts</b> file,</span></p><p><span style="font-family: verdana;"><br /></span></p><p><span style="font-family: verdana;"><b>app.config.ts:</b></span></p><p><span style="background-color: #fcff01; font-family: verdana;">import { ApplicationConfig } from '@angular/core';</span></p><p><span style="background-color: #fcff01; font-family: verdana;">import { provideRouter } from '@angular/router';</span></p><p><span style="background-color: #fcff01; font-family: verdana;">import { routes } from './app.routes';</span></p><p><span style="background-color: #fcff01; font-family: verdana;">import { provideClientHydration } from '@angular/platform-browser';</span></p><p><span style="background-color: #fcff01; font-family: verdana;"><br /></span></p><p><b><span style="background-color: #fcff01; font-family: verdana;">//This (provideHttpClient) will help us to resolve the issue </span></b></p><p><b><span style="background-color: #fcff01; font-family: verdana;">import {provideHttpClient} from '@angular/common/http';</span></b></p><p><span style="background-color: #fcff01; font-family: verdana;">export const appConfig: ApplicationConfig = {</span></p><p><span style="background-color: #fcff01; font-family: verdana;"> providers: [</span></p><p><span style="background-color: #fcff01; white-space: normal;"><span style="font-family: verdana;"><span style="white-space: pre;"> </span>provideRouter(routes), </span></span></p><p><span style="background-color: #fcff01; white-space: normal;"><span style="font-family: verdana;"><span style="white-space: pre;"> </span>provideClientHydration(),</span></span></p><p><span style="background-color: #fcff01; white-space: normal;"><span style="font-family: verdana;"><span style="white-space: pre;"> </span><b>provideHttpClient</b>()</span></span></p><p><span style="background-color: #fcff01; font-family: verdana;"> ]</span></p><p><span style="background-color: #fcff01; font-family: verdana;">};</span></p><p><span style="font-family: verdana;"><br /></span></p><p><span style="font-family: verdana;"><b>The appConfig const is used in the main.ts file, see the code,</b></span></p><p><b><span style="font-family: verdana;">main.ts :</span></b></p><p><span style="background-color: #fcff01; font-family: verdana;">import { bootstrapApplication } from '@angular/platform-browser';</span></p><p><span style="background-color: #fcff01; font-family: verdana;">import { appConfig } from './app/app.config';</span></p><p><span style="background-color: #fcff01; font-family: verdana;">import { AppComponent } from './app/app.component';</span></p><p><span style="background-color: #fcff01; font-family: verdana;"><br /></span></p><p><span style="background-color: #fcff01; font-family: verdana;">bootstrapApplication(AppComponent, appConfig)</span></p><p><span style="background-color: #fcff01; font-family: verdana;"> .catch((err) => console.error(err));</span></p><p><br /></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-2795577175529055552024-02-11T03:44:00.000-08:002024-02-11T03:44:41.171-08:00Taste of India: Where to Find Authentic Indian Food Experiences Across Europe<p><span style="font-size: 12pt; text-align: justify;"><b>Taste of
India: Where to Find Authentic Indian Food Experiences Across Europe</b></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; text-align: justify;"><span style="font-size: 12pt;">Europe is
one of the favorite vacation destinations for travelers from all over the
world. There are many architectural monuments and beautiful landscapes to be
found here. You can meet people from different parts of the world and learn
about different cultures and traditions. A huge network of restaurants with
national cuisine from different countries is no exception. Many people like </span><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><a href="https://www.uptun.org/blog/indian-cuisine-in-europe-a-taste-of-home-abroad/" target="_blank"><b><span style="color: #1155cc;">Indian food in Europe</span></b></a>, and tourists are often interested in it.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 6.0pt; margin-left: 0in; margin-right: 0in; margin-top: .25in; mso-outline-level: 2; text-align: justify;"><span style="font-size: 12pt;"><b>Popular Indian restaurants in
Europe you should visit</b></span><b><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; text-align: justify;"><span style="font-size: 12pt;">This list
will be useful both for tourists who want to try something new and for Indians
who are currently in Europe and want to try some traditional food.</span><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 4.0pt; margin-left: 0in; margin-right: 0in; margin-top: 16.0pt; mso-outline-level: 3; text-align: justify;"><span style="color: #434343; font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><b>Nirvana
India, France</b></span><b><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; text-align: justify;"><span style="font-size: 12pt;">After an
exhausting day of visiting the most popular tourist spots, such as the Eiffel
Tower, you'll want to eat something delicious. The Nirvana Inde restaurant is
the perfect place to go if you want to try Indian food. Large enough portions
and reasonable prices will allow you to enjoy the taste of India in the heart
of Paris.</span><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 4.0pt; margin-left: 0in; margin-right: 0in; margin-top: 16.0pt; mso-outline-level: 3; text-align: justify;"><span style="color: #434343; font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><b>Kebab and
Curry, Greece</b></span><b><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; text-align: justify;"><span style="font-size: 12pt;">Indian food
is not complete without traditional curry! If you are on vacation or working in
Greece, be sure to visit Kebab and Curry to enjoy the mouth-watering dishes of
India. The interior emphasizes the authenticity of the place, and the staff is
always friendly and warm to all visitors.</span><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 4.0pt; margin-left: 0in; margin-right: 0in; margin-top: 16.0pt; mso-outline-level: 3; text-align: justify;"><span style="color: #434343; font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><b>Sanjha
Chulha, Georgia</b></span><b><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; text-align: justify;"><span style="font-size: 12pt;">Indian food
cannot be confused with any other national cuisine. It is characterized by rich
aromas of spices and unique ingredients. Sanjha Chulha restaurant offers
authentic dishes to enjoy the true taste of India. The place is cozy and
comfortable. The interior is made in traditional Indian style.</span><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 4.0pt; margin-left: 0in; margin-right: 0in; margin-top: 16.0pt; mso-outline-level: 3; text-align: justify;"><span style="color: #434343; font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><b>Benares
Restaurant, UK</b></span><b><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; text-align: justify;"><span style="font-size: 12pt;">This
restaurant offers visitors a harmonious combination of quality service,
friendly staff, and delicious Indian food. Exquisite dishes with a vivid
presentation will give an unforgettable experience of dining at Benares. This
place is perfect for more formal meetings and celebrations for all lovers of
Indian food.</span><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 4.0pt; margin-left: 0in; margin-right: 0in; margin-top: 16.0pt; mso-outline-level: 3; text-align: justify;"><span style="color: #434343; font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><b>Indigo
Indian Restaurant, Hungary</b></span><b><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; text-align: justify;"><span style="font-size: 12pt;">This place
will be remembered and enjoyed by fans of Indian traditional food. It offers a
wide range of dishes, a pleasant interior, and Hindi music in the background.
In the Indian restaurant Indigo you can feel the real atmosphere of India, have
a good time, and have a delicious meal.</span><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 4.0pt; margin-left: 0in; margin-right: 0in; margin-top: 16.0pt; mso-outline-level: 3; text-align: justify;"><span style="color: #434343; font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><b>Indian by
Nature, Czechia</b></span><b><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; text-align: justify;"><span style="font-size: 12pt;">This
restaurant is perfect for everyone, whether you are a beginner in Indian food
or a true connoisseur and professional. The staff of the restaurant is well
versed in the national Indian cuisine and can advise you on meals according to
your preferences. The portions and price of the dishes are quite affordable, so
Indian by Nature is accessible to everyone.</span><span style="font-size: 12.0pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; text-align: justify;"><span style="font-size: 12pt;">These are
just a few of the places in Europe where you can taste Indian food. Plan your
route and be sure to stop at one of these restaurants. You will be satisfied
with the service and the list of meals.</span></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-3938360932602601762024-02-09T03:39:00.000-08:002024-02-29T00:33:47.580-08:00 The Best AI Essay Generator to Maximize Your Writing Skills<h1 style="line-height: normal;"><span face=""Calibri Light", sans-serif" lang="EN">The Best AI Essay Generator to Maximize Your Writing Skills</span></h1><p class="MsoTitle" style="line-height: normal;"><a name="_z9jfa6noh6j"></a></p>
<p class="MsoNormal" style="line-height: normal;"><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";">AI
has revolutionized so much that it is slowly becoming a fundamental part of our
lives. AI tools have proven to be helpful to writers, aiding them in a variety
of ways: brainstorming ideas, checking their spelling and grammar, boosting
productivity, and unlocking new writing techniques. In this article, we will
highlight the best AI generator if you want to maximize your writing skills and
dwell upon the main ways in which AI generators can help you craft better
pieces. <o:p></o:p></span></p>
<h1 style="line-height: normal;"><a name="_ap4rwy71k3i5"></a><span face=""Calibri Light",sans-serif" lang="EN">What Is the Best AI Essay
Generator to Improve Your Writing Skills?</span></h1><p class="MsoNormal" style="line-height: normal;"><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8f-DuRQzVv3qs55FkGc1etw1zMmTtjMePslG5Xk3ZY8jf5aAy3e2s1nLyCZRhWOGA-642Ya2z5dTnu-Zbt8xS1iickE9yz50B3LeBwoSTcMc9mWuACMMGVYzIXS7dZwt9rw3uF85GuMYwBPfuBEuYZg0F-l6SwlyXlnb_zxS401Tsj8T6n5UzanqgGegh/s1417/AI%20EASY%20WRITING.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="739" data-original-width="1417" height="261" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8f-DuRQzVv3qs55FkGc1etw1zMmTtjMePslG5Xk3ZY8jf5aAy3e2s1nLyCZRhWOGA-642Ya2z5dTnu-Zbt8xS1iickE9yz50B3LeBwoSTcMc9mWuACMMGVYzIXS7dZwt9rw3uF85GuMYwBPfuBEuYZg0F-l6SwlyXlnb_zxS401Tsj8T6n5UzanqgGegh/w499-h261/AI%20EASY%20WRITING.png" width="499" /></a></div><p></p><p class="MsoNormal" style="line-height: normal;"><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";">If
you’ve been searching for a perfect AI essay generator, look no further. This </span><span face=""Calibri Light",sans-serif" lang="EN"><a href="https://www.customwritings.com/howtowrite/ai-essay-writer/" target="_blank"><span style="color: #1155cc; font-size: 12pt; mso-fareast-font-family: "Times New Roman";">AI
Essay Generator by CustomWritings</span></a></span><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";"> has everything you need. The tool is very simple to use. It
helps you beat writer’s block, format your paper correctly, and cite scientific
resources. The tool will become indispensable to every student struggling with
such tasks. <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal;"><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";">How you can use the AI essay
generator developed by Custom Writings includes generating a sample essay to use
as a source of inspiration, providing you with all the relevant information and
resources so that you don’t have to spend hours conducting research studies,
formatting your paper according to the required citation style, giving you a
list of ideas on what you write about, customizing the tone and the style of
your essay, and summarizing a text for you. It’s also the fastest way to cite
sources or review a few essays or other sources related to your topic, so you
better get the gist of what you are supposed to write about. <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal;"><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";">This
AI essay-generating tool is quite innovative in the field of education because
it allows students to do all the hard work, like writing an actual essay or
searching for unconventional writing techniques, while the tool covers all the
basics. If you are struggling with creative writing or have lost all hope in
crafting an impressive essay, this tool will help you achieve that. We’ve
checked it out and can safely say that this AI essay generator is the best when
it comes to maximizing writing skills. It helped us improve our writing,
formatted it correctly, and generated unique ideas to talk about in the piece.
We are sure that students will find it helpful, especially those who are in a
hurry all the time. It saves time drastically. <o:p></o:p></span></p>
<h2 style="line-height: normal;"><a name="_9x54ua7z2xdg"></a><span face=""Calibri Light",sans-serif" lang="EN">How to Transform Your Writing
With AI<o:p></o:p></span></h2>
<p class="MsoNormal" style="line-height: normal;"><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";">There
are many options in which AI can come in handy when you want to improve your
writing and get better at expressing your ideas. This is a field that
constantly changes and develops. New AI tools and features appear regularly.
Here’s how you can use AI to enhance your skills and prove that such skills can
be easily developed. <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-left: 0.75in; mso-list: l0 level1 lfo1; text-indent: -0.25in;"><!--[if !supportLists]--><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Calibri Light";">1.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;">
</span></span><!--[endif]--><b><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Grammar, spelling, and punctuation
check. </span></b><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Such tools have become an essential
part of every writer’s life. You no longer have to memorize every rule. You
have a variety of tools on hand that will help you improve your writing
instantly. Such tools also offer suggestions for improving your style and
writing techniques. This is the best way to refine your writing and find your
inner voice. <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-left: 0.75in; mso-list: l0 level1 lfo1; text-indent: -0.25in;"><!--[if !supportLists]--><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Calibri Light";">2.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;">
</span></span><!--[endif]--><b><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Idea generation. </span></b><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";">This is the best thing any AI tool
can offer. Writer’s block is the most common problem for the majority of
writers. Coming up with new ideas can be very frustrating. Such tools become a
catalyst for new ideas because they can generate a list of fascinating topics
in a couple of seconds. Moreover, they can elaborate on those topics so you
know what you should cover in your writing. If you are a fiction writer, such a
tool can even come up with a storyline for you. Indeed, you will come across
silly suggestions, too, but it will definitely ignite your imagination and help
you move in the right direction. <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-left: 0.75in; mso-list: l0 level1 lfo1; text-indent: -0.25in;"><!--[if !supportLists]--><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Calibri Light";">3.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;">
</span></span><!--[endif]--><b><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Language enhancement.</span></b><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";"> If you don’t like how you sound in
writing and want to make it more polished, AI is a perfect solution to this
problem. Various AI tools are aimed at teaching you how to replace general
phrases and techniques with more refined ones. With their help, your writing
will be more impactful, concise, and to the point. You will learn how to find
more engaging alternatives to the phrases and sentences you usually use,
maintain a consistent style and tone of writing throughout the whole text, and
enrich your vocabulary. <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-left: 0.75in; mso-list: l0 level1 lfo1; text-indent: -0.25in;"><!--[if !supportLists]--><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Calibri Light";">4.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;">
</span></span><!--[endif]--><b><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";">Editing and revising.</span></b><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";"> These aspects are crucial because
writing does not stop when you put a final stop at the end of your text. You
need to edit the text and make all the necessary changes to make sure that it
sounds coherent and easy to read. AI can assist you with that. Such tools
highlight overused words and repetitive sentence structures to offer better
alternatives. Thus, you will get polished work you will be proud of. What is
more, your piece will be an enjoyable writing experience for your target
audience. <o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal;"><span face=""Calibri Light",sans-serif" lang="EN" style="font-size: 12pt; mso-fareast-font-family: "Times New Roman";">As
you can see, A helpful <b><a href="https://www.code-sample.com/2018/03/artificial-intelligence-ai-tutorial.html" target="_blank">AI tool</a> </b>can do wonders to improve your writing skills.
Check out the CustomWritings AI essay generator to polish your skills, find
more engaging alternatives to the structures you use, brainstorm creative
ideas, and make your writing fascinating to read. <o:p></o:p></span></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-83337757125251321022024-02-09T02:20:00.000-08:002024-02-16T03:58:52.787-08:00Automating Data Extraction: How Image-to-Text Conversion Can Improve Your Workflow<p><span face=""Calibri Light", sans-serif">In this blog post,
we’re going to be talking about how data extraction works, how images are
converted to text, and how it can be leveraged to improve your workflow.</span></p><p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgECJUvHie99Bqq8A7zMJ4shLh85cQGrsGtymJSMZwZpl_D_wH5XadIsd6N09brOjtohvjQusA8JuFPnTGUb9y557FT-XNaPKmtayAWT2DrWvzlH_2qqvlKdtPyHLlxM8-0Ala4f3dHrYKItsoLuASBHQc_O_nTAJAl0p1ro5N7Vbqcnp1Qi1z0KgVztDE1/s305/111.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="305" data-original-width="279" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgECJUvHie99Bqq8A7zMJ4shLh85cQGrsGtymJSMZwZpl_D_wH5XadIsd6N09brOjtohvjQusA8JuFPnTGUb9y557FT-XNaPKmtayAWT2DrWvzlH_2qqvlKdtPyHLlxM8-0Ala4f3dHrYKItsoLuASBHQc_O_nTAJAl0p1ro5N7Vbqcnp1Qi1z0KgVztDE1/w206-h225/111.png" width="206" /></a></div><p></p><h2><span lang="EN-US" style="font-size: 12pt; line-height: 107%; mso-ascii-font-family: "Calibri Light"; mso-bidi-font-family: "Calibri Light"; mso-hansi-font-family: "Calibri Light";">What is Data Extraction?<o:p></o:p></span></h2>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">Data extraction is a
broad and general term that refers to taking information
from a source and presenting it in another style or format. It can refer to the
process of analyzing some data and extracting the trends and patterns it
contains.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">In a professional
setting, there are many different ways in which data extraction is used, and
there are many different benefits that it can provide. One of these ways of
data extraction is <a href="https://www.imagetotext.info/" target="_blank">image-to-text</a>
conversion.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;"> </span></p>
<h2><span lang="EN-US" style="font-size: 12pt; line-height: 107%; mso-ascii-font-family: "Calibri Light"; mso-bidi-font-family: "Calibri Light"; mso-hansi-font-family: "Calibri Light";">What is Image-to-text conversion, and how does it work?<o:p></o:p></span></h2>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">Converting images into
text basically refers to taking the text written inside an image and converting
it into digital text. For example, if there is a poster that contains
guidelines or any other type of lengthy textual content, an image-to-text
conversion would take out all the text and make it digital/editable.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">This type of
conversion is based on a technology known as OCR. OCR stands for optical
character recognition. This technology essentially scans an image or a
noneditable document and recognizes the characters written in it. It
does this by scanning the characters individually and checking them against an
existing database. If the characters match one in the database, it is
recognized as such.<o:p></o:p></span></p>
<h2><span lang="EN-US" style="font-size: 12pt; line-height: 107%; mso-ascii-font-family: "Calibri Light"; mso-bidi-font-family: "Calibri Light"; mso-hansi-font-family: "Calibri Light";">How do you use image-to-text conversion?<o:p></o:p></span></h2>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">Nowadays, image-to-text
conversion can be done with the help of online tools and applications. These
tools and applications incorporate the use of OCR, and they present an easy
interface to the users.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">Users can access these
tools, import their images, and get the extracted text in the form of a TXT
file, a Word file, or any other similar option, depending on the exact tool.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;"> </span></p>
<h2><span lang="EN-US" style="font-size: 12pt; line-height: 107%; mso-ascii-font-family: "Calibri Light"; mso-bidi-font-family: "Calibri Light"; mso-hansi-font-family: "Calibri Light";">How does image-to-text conversion help your workflow?<o:p></o:p></span></h2>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">Now that we’re done
looking at the introductory information about image-to-text conversion, let’s
move on to look at how it can help improve your workflow.<o:p></o:p></span></p>
<h3 style="margin-left: 0.75in; mso-list: l1 level1 lfo2; text-indent: -0.25in;"><!--[if !supportLists]--><span lang="EN-US">1.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;">
</span></span><!--[endif]--><span lang="EN-US">Image-to-text conversion can help quickly scan data from
physical documents and edit it<o:p></o:p></span></h3>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">In an office
environment, a situation can commonly arise where you have a physical document,
such as a report or a letter, etc., that you need to edit and send to someone in
soft form. For example, you may have to send a document to a senior member of
the company sitting in another branch, and you may not have time to send the
hard copy.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">In situations like
this, you can simply use OCR to scan the text from the document, assemble it
into a TXT or DOCX file, and then send it where you want.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;"> </span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">By doing this, there
are many benefits that you can reap, such as:<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpFirst" style="margin-left: 0.75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -0.25in;"><!--[if !supportLists]--><span lang="EN-US" style="line-height: 107%; mso-bidi-font-family: Cambria; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Cambria;">-<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;">
</span></span><!--[endif]--><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">You don’t have to
worry about the time and cost taken up by the physical mailing of the document<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: 0.75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -0.25in;"><!--[if !supportLists]--><span lang="EN-US" style="line-height: 107%; mso-bidi-font-family: Cambria; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Cambria;">-<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;">
</span></span><!--[endif]--><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">You can save the
document yourself and share it with others<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpLast" style="margin-left: 0.75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -0.25in;"><!--[if !supportLists]--><span lang="EN-US" style="line-height: 107%; mso-bidi-font-family: Cambria; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: Cambria;">-<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;">
</span></span><!--[endif]--><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">You can edit the
document before sending it and amend any possible mistakes<o:p></o:p></span></p>
<h3 style="margin-left: 1in; mso-list: l1 level1 lfo2; text-indent: -0.25in;"><!--[if !supportLists]--><span lang="EN-US">2.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;">
</span></span><!--[endif]--><span lang="EN-US">Image-to-text conversion can help you edit PDF files<o:p></o:p></span></h3>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">PDF files are commonly
used in corporate environments. A lot of times, business letters are written in
PDF format.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">The PDF format is
great for this type of use because while it presents the information in digital
text, it cannot be edited. It can be signed and annotated, but the text inside
cannot be changed.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">However, if you need to
access the text written inside the PDF file, you can use OCR to extract it and
edit it as you please. You can convert the PDF file into a Word file and get
the text in roughly the same arrangement and style.<o:p></o:p></span></p>
<h3 style="margin-left: 0.75in; mso-list: l1 level1 lfo2; text-indent: -0.25in;"><!--[if !supportLists]--><span lang="EN-US">3.<span style="font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; font-weight: normal; line-height: normal;">
</span></span><!--[endif]--><span lang="EN-US">Image-to-text conversion can help you securely save your files<o:p></o:p></span></h3>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">If you are writing a
<a href="https://www.code-sample.com/2021/11/should-your-business-upgrade-to-mpls-in.html" target="_blank">business </a>memo on paper or if you are creating a report on physical paper, you
won’t be able to save it digitally. You could take a picture of it, but then,
in some parts, the text may not be readable.</span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">What you can do here
is use OCR to digitally save the text in a TXT or DOCX file. Instead of putting
the file away in some drawer or cabinet, you can save it to your cloud storage.
That way, you won’t have to worry about it getting damaged or misplaced.<o:p></o:p></span></p>
<p class="MsoNormal"><i><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;"> </span></i></p>
<h2><span lang="EN-US" style="font-size: 12pt; line-height: 107%; mso-ascii-font-family: "Calibri Light"; mso-bidi-font-family: "Calibri Light"; mso-hansi-font-family: "Calibri Light";">Conclusion<o:p></o:p></span></h2>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">And with that, we
bring this article to a close.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">You can automate data
extraction by using OCR. OCR allows you to convert images to text. There are
many uses to which this technology can be put, and there are many benefits that
it can provide.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" lang="EN-US" style="line-height: 107%; mso-bidi-font-size: 12.0pt;">In the post above,
we’ve looked at all of these aspects in detail. We hope that you enjoyed
reading this post and that you will be able to employ these tips the next time
you feel the need to improve your workflow.<o:p></o:p></span></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-28877935872948674732024-01-30T19:22:00.000-08:002024-01-30T19:22:54.811-08:00No directive found with exportAs 'ngForm'.ngtsc(-998003)<p> At the time of Reactive Forms Validate, I got this error: <b>No directive found with exportAs 'ngForm'.ngtsc(-998003)</b></p><div><br /></div><div>After that, I added to <b>ReactiveFormsModule </b>in the imports[] array to resolve this error.</div><div><br /></div><div><span style="background-color: #fcff01;">import { CommonModule } from '@angular/common';</span></div><div><span style="background-color: #fcff01;">import { NgForm,FormsModule, ReactiveFormsModule } from '@angular/forms';</span></div><div><br /></div><div><br /></div><div><b>In Component class,</b></div><div><br /></div><div><span style="background-color: #fcff01;">imports: [RouterOutlet, FormsModule, ReactiveFormsModule, CommonModule]</span></div><div><br /></div><div><div><b>Example,</b></div><div><b><br /></b></div><div><span style="background-color: #fcff01;">import { CommonModule } from '@angular/common';</span></div><div><span style="background-color: #fcff01;">import { Component } from '@angular/core';</span></div><div><span style="background-color: #fcff01;">import { NgForm,FormsModule, ReactiveFormsModule } from '@angular/forms';</span></div><div><span style="background-color: #fcff01;">import { RouterOutlet } from '@angular/router';</span></div><div><span style="background-color: #fcff01;"><br /></span></div><div><span style="background-color: #fcff01;">@Component({</span></div><div><span style="background-color: #fcff01;"> selector: 'app-root',</span></div><div><span style="background-color: #fcff01;"> standalone: true,</span></div><div><span style="background-color: #fcff01;"> imports: [RouterOutlet,FormsModule,ReactiveFormsModule,CommonModule],</span></div><div><span style="background-color: #fcff01;"> templateUrl: './app.component.html',</span></div><div><span style="background-color: #fcff01;"> styleUrl: './app.component.css'</span></div><div><span style="background-color: #fcff01;">})</span></div><div><span style="background-color: #fcff01;">export class AppComponent {</span></div><div><span style="background-color: #fcff01;"> title = 'Form Validation';</span></div><div><span style="background-color: #fcff01;"><br /></span></div><div><span style="background-color: #fcff01;"> form = {</span></div><div><span style="background-color: #fcff01;"> fullname: '',</span></div><div><span style="background-color: #fcff01;"> username: '',</span></div><div><span style="background-color: #fcff01;"> email: '',</span></div><div><span style="background-color: #fcff01;"> password: '',</span></div><div><span style="background-color: #fcff01;"> confirmPassword: '',</span></div><div><span style="background-color: #fcff01;"> acceptTerms: false,</span></div><div><span style="background-color: #fcff01;"> };</span></div><div><span style="background-color: #fcff01;"><br /></span></div><div><span style="background-color: #fcff01;"> onSubmit(): void {</span></div><div><span style="background-color: #fcff01;"> console.log(JSON.stringify(this.form, null, 2));</span></div><div><span style="background-color: #fcff01;"> }</span></div><div><span style="background-color: #fcff01;"><br /></span></div><div><span style="background-color: #fcff01;"> onReset(form: NgForm): void {</span></div><div><span style="background-color: #fcff01;"> form.reset();</span></div><div><span style="background-color: #fcff01;"> }</span></div><div><span style="background-color: #fcff01;"> </span></div><div><span style="background-color: #fcff01;">}</span></div></div><div><br /></div><div><br /></div><div><b>Reactive forms validation in Angular 17</b>:- <a href="https://youtu.be/rAYqQtIPTFE" target="_blank">https://youtu.be/rAYqQtIPTFE</a></div><div><b>Download source code from Github</b>:- <a href="https://github.com/anilsingh581/Angular-17-reactive-Form-Validation" target="_blank">https://github.com/anilsingh581/Angular-17-reactive-Form-Validation</a></div><div><br /></div><div><br /></div>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-65885949006410556582024-01-30T19:13:00.000-08:002024-01-30T19:13:22.598-08:00Angular 17 Encrypting and Decrypting Data with Crypto-js<p><span style="font-size: 12pt;"><b>First, let's install crypto-js in our
Angular project using NPM:</b></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">npm install crypto-js<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="background-color: #fcff01;">npm i --save-dev @types/crypto-js</span></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><br /></span></p><p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><b>Once CryptoJs is installed, we can
import it into our Local Service (EncrDecrService):</b><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="background-color: #fcff01;">import * as CryptoJS from 'crypto-js';</span><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12pt;"><br /></span></p><p class="MsoNormal"><span style="font-size: 12pt;"><b>Now we will add two encrypt and
decrypt methods to handle encryption and decryption in our service class:</b></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">import { Injectable } from
'@angular/core';<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">import * as CryptoJS from 'crypto-js';</span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">@Injectable({<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
providedIn: 'root'<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">})<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">export class EncrDecrService {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
//Private Key<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
key = "encrypt!135790";</span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
//constructor<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
constructor() { }</span><span style="background-color: #fcff01; font-size: 12pt;"> </span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
//To encrypt input data<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
public encrypt(password: string): string {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
return CryptoJS.AES.encrypt(password, this.key).toString();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
}</span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
//To decrypt input data<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
public decrypt(passwordToDecrypt: string) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
return CryptoJS.AES.decrypt(passwordToDecrypt,
this.key).toString(CryptoJS.enc.Utf8);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
}</span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="background-color: #fcff01;">}</span></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><b>Using this service in the component class,</b></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">import { Component, inject } from
'@angular/core';<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">import { UserinfoComponent } from
'../userinfo/userinfo.component';<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">import { EncrDecrService } from
'../encr-decr-service.service';</span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">@Component({<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
selector: 'app-user-list',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
standalone: true,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
imports: [UserinfoComponent],<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
templateUrl: './user-list.component.html',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
styleUrl: './user-list.component.css'<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">})<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">export class UserListComponent {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
user= 'This is user list'<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
encrypt ='';<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
decripted='';<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
private _text = 'system!1233';</span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
//Constructor<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
constructor(private encrDecrService: EncrDecrService) {}</span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
ngOnInit(): void {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
console.log('Password :' + this._text);</span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
this.encrypt = this.encrDecrService.encrypt(this._text); <o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
console.log('Decrypted password data :', this.encrypt);</span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
this.decripted = this.encrDecrService.decrypt(this.encrypt);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
console.log('Encripted to Decrypted password data :', this.decripted);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
}</span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="background-color: #fcff01;">}</span><o:p></o:p></span></p><p class="MsoNormal">Angular 17 Encrypting and Decrypting Data with CryptoJs:- <a href="https://youtu.be/0VR6E8UPZZs" target="_blank">https://youtu.be/0VR6E8UPZZs</a></p><p class="MsoNormal"><span style="line-height: 107%;"><span style="background-color: #fcff01;"></span></span></p><p class="MsoNormal">Download source code from GitHub: <a href="https://github.com/anilsingh581/CryptoJS" target="_blank">https://github.com/anilsingh581/CryptoJS</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTAsJGr7qkXSi4tUHtqPTzjjcy7R1pdol3-wAP5MkLRLyBJa7CKVse5KlgvOUFtO5PB4oCMbU4VLjuw-RWURkbgIZu9QJOYi-RiPlrOiLuZ90jG_Pfup7uPRPmjL9Vt6bmkzNI0gxvQxp5fScXH8sUBe0i6rBpFDGF88zXfMEWoiWafEgwABc74MV_dSBj/s1912/Angular-17-Encrypting-and-Decrypting-Data-with-Crypto-js-sha.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1075" data-original-width="1912" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTAsJGr7qkXSi4tUHtqPTzjjcy7R1pdol3-wAP5MkLRLyBJa7CKVse5KlgvOUFtO5PB4oCMbU4VLjuw-RWURkbgIZu9QJOYi-RiPlrOiLuZ90jG_Pfup7uPRPmjL9Vt6bmkzNI0gxvQxp5fScXH8sUBe0i6rBpFDGF88zXfMEWoiWafEgwABc74MV_dSBj/w488-h268/Angular-17-Encrypting-and-Decrypting-Data-with-Crypto-js-sha.png" width="488" /></a></div><p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="background-color: #fcff01;"><br /></span></span></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-19824091415271755872024-01-30T19:02:00.000-08:002024-01-30T19:02:51.531-08:00Reactive forms validation in Angular 17 | Custom validation in reactive form | Angular 17 directives<p><span style="font-size: 12pt;">First, we must import to NgForm, FormsModule,
ReactiveFormsModule, and CommonModule which will help us validate the Reactive
forms in Angular 17.</span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"><b>import { CommonModule } from
'@angular/common';<o:p></o:p></b></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><b style="background-color: #fcff01;">import { NgForm,FormsModule,
ReactiveFormsModule } from '@angular/forms';</b><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">After that imports in the Component,<o:p></o:p></span></p>
<p class="MsoNormal"><b style="background-color: #fcff01;">imports: [RouterOutlet, FormsModule, ReactiveFormsModule, and CommonModule]</b></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">See the example
code for app.component.ts,</span></b></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">import { CommonModule } from
'@angular/common';<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">import { Component } from
'@angular/core';<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">import { NgForm, FormsModule,
ReactiveFormsModule } from '@angular/forms';<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">import { RouterOutlet } from
'@angular/router';<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">@Component({<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
selector: 'app-root',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
standalone: true,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
imports: [RouterOutlet, FormsModule, ReactiveFormsModule, CommonModule],<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
templateUrl: './app.component.html',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
styleUrl: './app.component.css'<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">})<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">export class AppComponent {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
title = 'Reactive forms validation in Angular 17';<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
form = {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
fullname: '',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
username: '',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
email: '',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
password: '',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
acceptTerms: false,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
};<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
onSubmit(): void {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
console.log(JSON.stringify(this.form));<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
onReset(form: NgForm): void {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
form.resetForm();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
} <o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">See the example
code for app.component.html,</span></b></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"><main class="main"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
<div class="content"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
<div class="left-side">
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
<h4>Angular 17 Template Driven Form Validation example</h4><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
<hr><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
<div class="register-form"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
<form<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> name="form"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> #f="ngForm"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> (ngSubmit)="f.form.valid
&& onSubmit()"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> novalidate <o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> ><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div
class="form-group"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <label>Full
Name</label><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <input<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> type="text"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> class="form-control"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> name="fullname"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
[(ngModel)]="form.fullname"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> required<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> #fullname="ngModel"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> [ngClass]="{ 'is-invalid':
f.submitted && fullname.errors }"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> /><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> @if (f.submitted &&
fullname.errors) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div
class="invalid-feedback"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> @if
(fullname.errors['required']) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div>Full name is
required</div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div
class="form-group"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <label>Username</label><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <input<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> type="text"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> class="form-control"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> name="username"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
[(ngModel)]="form.username"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> required<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> minlength="6"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> maxlength="20"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> #username="ngModel"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> [ngClass]="{ 'is-invalid':
f.submitted && username.errors }"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> /><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> @if (f.submitted &&
username.errors ){<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div
class="invalid-feedback"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> @if
(username.errors['required']) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div>Username is
required</div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> @if
(username.errors['minlength']) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div>Username must be at
least 6 characters</div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> @if
(username.errors['maxlength']) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div>Username must be at
most 20 characters</div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div
class="form-group"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <label>Email</label><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <input<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> type="email"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> class="form-control"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> name="email"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
[(ngModel)]="form.email"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> required<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> email<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> #email="ngModel"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> [ngClass]="{ 'is-invalid':
f.submitted && email.errors }"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> /><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> @if (f.submitted &&
email.errors) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div
class="invalid-feedback"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> @if (email.errors['required'])
{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div>Email is
required</div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> @if (email.errors['email']) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div>Email is
invalid</div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div
class="form-group"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <label>Password</label><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <input<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> type="password"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> class="form-control"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> name="password"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
[(ngModel)]="form.password"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> required<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> minlength="6"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> maxlength="40"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> #password="ngModel"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> [ngClass]="{ 'is-invalid':
f.submitted && password.errors }"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> /><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> @if (f.submitted &&
password.errors) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div
class="invalid-feedback"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> @if
(password.errors['required']) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div>Password is
required</div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> @if
(password.errors['minlength']) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div>Password must be
at least 6 characters</div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> @if
(password.errors['maxlength']) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div>Username must not
exceed 40 characters</div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div class="form-group
form-check"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <input<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> type="checkbox"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> class="form-control"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> name="acceptTerms"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
[(ngModel)]="form.acceptTerms"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
class="form-check-input"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> required<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> #acceptTerms="ngModel"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> [ngClass]="{ 'is-invalid':
f.submitted && acceptTerms.errors }"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> /><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <label
for="acceptTerms" class="form-check-label"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> I have read and agree to the
Terms<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </label><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> @if (f.submitted &&
acceptTerms.errors) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div
class="invalid-feedback">Accept Terms is required</div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <hr><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <div
class="form-group"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <button type="submit"
class="btn btn-primary">Register</button><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> <button<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> type="button"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> (click)="onReset(f)"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> class="btn btn-warning
float-right"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> ><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> Reset<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </button><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;"> </div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
</form><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
</div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
</div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-color: #fcff01; font-size: 12pt; line-height: 107%;">
</div><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="background-color: #fcff01;"></main></span><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><b>See the YouTube video on Reactive forms validation:- <a href="https://youtu.be/rAYqQtIPTFE" target="_blank">https://youtu.be/rAYqQtIPTFE</a></b></span></p><p class="MsoNormal"><span style="line-height: 107%;"><b>Download source code from Github:- <a href="https://github.com/anilsingh581/Angular-17-reactive-Form-Validation" target="_blank">https://github.com/anilsingh581/Angular-17-reactive-Form-Validation</a></b></span></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgACv4C4JFOV1wtrXrF-MF9USfk4-DwXV2XcDZmJ9ASoEer40dRFaH77ajUMTfn3LELb4LP4IYRpVQBSbhaepp-BeMZTKoHOaDMf1g15ck1Ynfw4xDKAEVO24G9aCkP_HlkuqyW3W-39xEB3HDGaaNlK_TZZnl7Edzn0GbnuXf4G9O_zmbhLDdpnrKI0pc/s1905/Reactive%20forms%20validation%20in%20Angular%2017.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="995" data-original-width="1905" height="279" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgACv4C4JFOV1wtrXrF-MF9USfk4-DwXV2XcDZmJ9ASoEer40dRFaH77ajUMTfn3LELb4LP4IYRpVQBSbhaepp-BeMZTKoHOaDMf1g15ck1Ynfw4xDKAEVO24G9aCkP_HlkuqyW3W-39xEB3HDGaaNlK_TZZnl7Edzn0GbnuXf4G9O_zmbhLDdpnrKI0pc/w534-h279/Reactive%20forms%20validation%20in%20Angular%2017.png" width="534" /></a></div><br /><span style="line-height: 107%;"><br /></span><p></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-18251812908030093912024-01-22T02:48:00.000-08:002024-01-22T02:48:35.737-08:00Angular 17 Feature: deferred loading @defer<p><b><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">Using @defer in Angular 17 to implement lazy
loading.</span></b></p>
<p class="MsoNormal" style="background: white; line-height: 13.9pt; margin-bottom: 7.5pt; margin-left: 0in; margin-right: 0in; margin-top: 12.0pt; mso-outline-level: 2;"><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">Angular 17 introduced a new @defer block that lets you
lazy-load content based on specific conditions or events.<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: 13.9pt; margin-bottom: 7.5pt; margin-left: 0in; margin-right: 0in; margin-top: 12.0pt; mso-outline-level: 2;"><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">Lazy loading is a technique that enables web apps
to load resources (such as scripts) only when they are needed.<o:p></o:p></span></p><p class="MsoNormal" style="background: white; line-height: 13.9pt; margin-bottom: 7.5pt; margin-left: 0in; margin-right: 0in; margin-top: 12.0pt; mso-outline-level: 2;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq_Q73fwI02QxZNoNzV8eEG7r1MED13q0jVSl6Wu5rLcP49_KuWjpASYbQilQGoQ5koAqzh5SbGmuErL8RPuHrjOJXy_3n_on9HSz3gkRKS7noL6P5RFX6ofPdUHwSqOM6NP9G9hwFIEsaDhiExJhNRw0-0EZvFsE8vmjV8PeT-5q1yYPdWXujnGLFnDFm/s1406/Angular-17-Feature-deferred-loading-@defer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="782" data-original-width="1406" height="274" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq_Q73fwI02QxZNoNzV8eEG7r1MED13q0jVSl6Wu5rLcP49_KuWjpASYbQilQGoQ5koAqzh5SbGmuErL8RPuHrjOJXy_3n_on9HSz3gkRKS7noL6P5RFX6ofPdUHwSqOM6NP9G9hwFIEsaDhiExJhNRw0-0EZvFsE8vmjV8PeT-5q1yYPdWXujnGLFnDFm/w493-h274/Angular-17-Feature-deferred-loading-@defer.png" width="493" /></a></div><p></p><p class="MsoNormal" style="background: white; line-height: 13.9pt; margin-bottom: 7.5pt; margin-left: 0in; margin-right: 0in; margin-top: 12.0pt; mso-outline-level: 2;"><b><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">Using @defer with a declarative trigger condition<o:p></o:p></span></b></p>
<p class="MsoNormal" style="background: white; line-height: 19.2pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">Deferred blocks support the following declarative trigger types:<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: 19.2pt; margin-bottom: 0in; margin-left: .75in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo1; tab-stops: list .75in; text-indent: -.25in;"><!--[if !supportLists]--><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: "Calibri Light"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">1.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">on interaction<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: 19.2pt; margin-bottom: 0in; margin-left: .75in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo1; tab-stops: list .75in; text-indent: -.25in;"><!--[if !supportLists]--><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: "Calibri Light"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">2.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">on hover<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: 19.2pt; margin-bottom: 0in; margin-left: .75in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo1; tab-stops: list .75in; text-indent: -.25in;"><!--[if !supportLists]--><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: "Calibri Light"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">3.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">on idle<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: 19.2pt; margin-bottom: 0in; margin-left: .75in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo1; tab-stops: list .75in; text-indent: -.25in;"><!--[if !supportLists]--><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: "Calibri Light"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">4.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">on timer<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: 19.2pt; margin-bottom: 0in; margin-left: .75in; margin-right: 0in; margin-top: 0in; mso-list: l0 level1 lfo1; tab-stops: list .75in; text-indent: -.25in;"><!--[if !supportLists]--><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 10.0pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: "Calibri Light"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">5.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">on viewport<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: 19.2pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">Let's create an example for all of these!<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: 13.9pt; margin-bottom: 7.5pt; margin-left: 0in; margin-right: 0in; margin-top: 12.0pt; mso-outline-level: 3;"><b><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">@defer on interaction<o:p></o:p></span></b></p>
<p class="MsoNormal" style="background: white; line-height: 19.2pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">Angular renders the on interaction block when the user
interacts with its @placeholder block. An interaction can be a click,
focus, or input event, like keypress:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@defer (on
interaction) {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span>Clicked - on interaction </span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@placeholder
{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span>Placeholder - on interaction (click
on it!) </span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@error {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span>Error</span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@loading(minimum
2s) {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span
class="red">Loading...</span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}</span><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"> </span></p>
<p class="MsoNormal" style="background: white; line-height: 13.9pt; margin-bottom: 7.5pt; margin-left: 0in; margin-right: 0in; margin-top: 12.0pt; mso-outline-level: 3;"><b><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">@defer on hover<o:p></o:p></span></b></p>
<p class="MsoNormal" style="background: white; line-height: 19.2pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">Angular renders the on hover block when the user hovers over
its @placeholder block:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@defer (on
hover) {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span>Hovered - on hover </span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@placeholder
{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span>Placeholder - on hover (hover
it!)</span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@error {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span>Error</span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@loading(minimum
2s) {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span
class="red">Loading...</span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}</span><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"> </span></p>
<p class="MsoNormal" style="background: white; line-height: 13.9pt; margin-bottom: 7.5pt; margin-left: 0in; margin-right: 0in; margin-top: 12.0pt; mso-outline-level: 3;"><b><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">@defer on idle<o:p></o:p></span></b></p>
<p class="MsoNormal" style="background: white; line-height: 19.2pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">Angular renders the on idle block when the browser reaches an
idle state after the page has been loaded:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@defer (on
idle) {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span>Browser has reached an idle
state</span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@placeholder
{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span>Placeholder - on idle </span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@error {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span>Error</span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@loading(minimum
2s) {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span
class="red">Loading...</span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}</span><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"> </span></p>
<p class="MsoNormal" style="background: white; line-height: 13.9pt; margin-bottom: 7.5pt; margin-left: 0in; margin-right: 0in; margin-top: 12.0pt; mso-outline-level: 3;"><b><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">@defer on timer<o:p></o:p></span></b></p>
<p class="MsoNormal" style="background: white; line-height: 19.2pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">The on timer block is rendered after the specified time
has elapsed:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@defer (on
timer(4s)) {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span>Visible after 4s</span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@placeholder
{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span>Placeholder – wait to 4s </span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@error {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span>Error</span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@loading(minimum
2s) {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span
class="red">Loading...</span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}</span><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"> </span></p>
<p class="MsoNormal" style="background: white; line-height: 13.9pt; margin-bottom: 7.5pt; margin-left: 0in; margin-right: 0in; margin-top: 12.0pt; mso-outline-level: 3;"><b><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">@defer on viewport<o:p></o:p></span></b></p>
<p class="MsoNormal" style="background: white; line-height: 19.2pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;"><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">Angular renders the on viewport block when the placeholder
enters the browser's viewport:<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@defer (on
viewport) {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <app-user-list /><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@placeholder
{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span>Placeholder – on
viewport</span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@error {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span>Error</span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">@loading(minimum
2s) {<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;"> <span
class="red">Loading...</span><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="background: yellow; color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-highlight: yellow; mso-ligatures: none;">}</span><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"> </span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><b><span style="color: #404040; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;">For more detailed examples, see the YouTube video Link:
- <o:p></o:p></span></b></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-22825520114502240072024-01-21T03:28:00.000-08:002024-01-21T03:38:58.637-08:00Angular 17 Tutorial for Beginners | Angular 17 new features<p class="MsoNormal"><b><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">What is Angular?<o:p></o:p></span></b></p><p class="MsoNormal"><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Angular is a web framework that
empowers developers to build fast, reliable applications.</span></p><p class="MsoNormal"><b><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">What are signals?<o:p></o:p></span></b></p><p class="MsoNormal"><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">A signal is a wrapper around a value
that notifies interested consumers when that value changes. Signals can contain
any value, from simple primitives to complex data structures.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">You read a signal's value by calling
its getter function, which allows Angular to track where the signal is used.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Signals may be either writable or
read-only.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span></p><p class="MsoNormal"><b><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Writable signals<o:p></o:p></span></b></p><p class="MsoNormal"><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">Writable signals provide an API for
updating their values directly. You create writable signals by calling the
signal function with the signal's initial value:<o:p></o:p></span></p><p class="MsoNormal"><b><span style="background: yellow; font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-highlight: yellow;">const count = signal(0);<o:p></o:p></span></b></p><p class="MsoNormal"><b><span style="background: yellow; font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-highlight: yellow;">// Signals are getter functions - calling them reads
their value.<o:p></o:p></span></b></p><p class="MsoNormal"><b><span style="background: yellow; font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-highlight: yellow;">console.log('The count is: ' + count());</span></b></p><p class="MsoNormal"><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><br /></span></p><p class="MsoNormal"><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">To change the value of a writable
signal, either .set() it directly:<o:p></o:p></span></p><p class="MsoNormal"><span style="background: yellow; font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-highlight: yellow;">count.set(3);</span><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p></o:p></span></p><p class="MsoNormal"><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"> </span></p><p class="MsoNormal"><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;">or use the .update() operation to
compute a new value from the previous one:<o:p></o:p></span></p><p class="MsoNormal"><span style="background: yellow; font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-highlight: yellow;">//
Increment the count by 1.<o:p></o:p></span></p><p class="MsoNormal"><span style="background: yellow; font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-highlight: yellow;">count.update(value
=> value + 1);</span><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><o:p></o:p></span></p><p class="MsoNormal"><span style="font-size: 13pt;">Writable signals have the type
WritableSignal.</span></p><p class="MsoNormal"><span style="font-size: 13pt; line-height: 107%; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><br /></span></p><p class="MsoNormal"><b style="font-size: 17.3333px;">What is Server-Side Rendering (SSR) and Why use SSR in Angular 17?</b></p><p class="MsoNormal"><span style="font-size: 17.3333px;"><a href="https://www.code-sample.com/2024/01/angular-17-server-side-rendering-ssr.html" target="_blank">https://www.code-sample.com/2024/01/angular-17-server-side-rendering-ssr.html</a></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYp8suMK1u6wmZ6pihsCPUw-J7dW05tEMyMw5iCmk0Wh2g8OqTETdNBQM4yZjDP_M4EnlZ_s-cosobGSgH21W2Dec8j4QK9SBpTrFC7WPKBrgybsVG2V1h9sLSCT_Y6vXCyey1vEkjLlwAy6ArsZLf58AErgxjdhSN1NUf_RvO0ezo6DTt9qnaCx8sysbt/s1351/Angular%2017%20-%20Server-Side%20Rendering%20(SSR).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1016" data-original-width="1351" height="307" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYp8suMK1u6wmZ6pihsCPUw-J7dW05tEMyMw5iCmk0Wh2g8OqTETdNBQM4yZjDP_M4EnlZ_s-cosobGSgH21W2Dec8j4QK9SBpTrFC7WPKBrgybsVG2V1h9sLSCT_Y6vXCyey1vEkjLlwAy6ArsZLf58AErgxjdhSN1NUf_RvO0ezo6DTt9qnaCx8sysbt/w408-h307/Angular%2017%20-%20Server-Side%20Rendering%20(SSR).png" width="408" /></a></div><p class="MsoNormal"><b style="font-size: 17.3333px;">What is Prerendering Static Site Generation (SSG)? Why use SSG?</b></p><p class="MsoNormal"><span style="font-size: 17.3333px;"><a href="https://www.code-sample.com/2024/01/angular-17-prerendering-static-site.html" target="_blank">https://www.code-sample.com/2024/01/angular-17-prerendering-static-site.html</a></span></p><p class="MsoNormal"><span style="font-size: 17.3333px;"><b>What is Components DOM API and When to use DOM APIs in Components?</b></span></p><p class="MsoNormal"><span style="font-size: 17.3333px;"><a href="https://www.code-sample.com/2024/01/angular-17-components-dom-api-and-when.html" target="_blank">https://www.code-sample.com/2024/01/angular-17-components-dom-api-and-when.html</a></span></p><p class="MsoNormal"><span style="font-size: 17.3333px;"><b>What is Component Inheritance and Extending other components and directives?</b></span></p><p class="MsoNormal"><span style="font-size: 17.3333px;"><a href="https://www.code-sample.com/2024/01/angular-17-component-inheritance.html" target="_blank">https://www.code-sample.com/2024/01/angular-17-component-inheritance.html</a></span></p><p class="MsoNormal"><span style="font-size: 17.3333px;"><b>What are Component Lifecycle Hooks or Angular Lifecycle Hooks?</b></span></p><p class="MsoNormal"><span style="font-size: 17.3333px;"><a href="https://www.code-sample.com/2024/01/angular-17-component-lifecycle-hooks.html" target="_blank">https://www.code-sample.com/2024/01/angular-17-component-lifecycle-hooks.html</a></span></p><p class="MsoNormal"><span style="font-size: 17.3333px;"><b>What are Overriding LifeCycle methods?</b></span></p><p class="MsoNormal"><span style="font-size: 17.3333px;"><a href="https://www.code-sample.com/2024/01/angular-17-overriding-lifecycle-methods.html" target="_blank">https://www.code-sample.com/2024/01/angular-17-overriding-lifecycle-methods.html</a></span></p><p class="MsoNormal"><span style="font-size: 17.3333px;"><b>What is ViewContainerRef to Render dynamic components?</b></span></p><p class="MsoNormal"><span style="font-size: 17.3333px; line-height: 107%;"></span></p><p class="MsoNormal"><span style="font-size: 17.3333px;"><a href="https://www.code-sample.com/2024/01/angular-17-using-viewcontainerref-to.html" target="_blank">https://www.code-sample.com/2024/01/angular-17-using-viewcontainerref-to.html</a></span></p><p class="MsoNormal"><br /></p><p class="MsoNormal"><b>YouTube Tutorials:-</b></p><p class="MsoNormal">Install Angular 17 with Standalone (true):- <a href="https://youtu.be/Q4oDgwgc_zs" target="_blank">https://youtu.be/Q4oDgwgc_zs</a></p><p class="MsoNormal">Angular 17 Routing For Beginners:- <a href="https://youtu.be/ebL7B5cq1cs" target="_blank">https://youtu.be/ebL7B5cq1cs</a></p><p class="MsoNormal">What Is Server-Side Rendering (SSR) and Why use?:- <a href="https://youtu.be/6d9Fx3mROY0" target="_blank">https://youtu.be/6d9Fx3mROY0</a></p><p class="MsoNormal">Angular 17 Component Inheritance:- <a href="https://youtu.be/SnSfvTugzzM" target="_blank">https://youtu.be/SnSfvTugzzM</a></p><p class="MsoNormal">using ViewContainerRef To Render Dynamic Components:- <a href="https://youtu.be/8tRTmn-AWhE" target="_blank">https://youtu.be/8tRTmn-AWhE</a></p><p class="MsoNormal">Component Lifecycle Hooks:- <a href="https://youtu.be/AFWsRWnbC-Q" target="_blank">https://youtu.be/AFWsRWnbC-Q</a></p><p class="MsoNormal">Prerendering Static Site Generation (SSG):- <a href="https://youtu.be/8b8deVyk3pw" target="_blank">https://youtu.be/8b8deVyk3pw</a></p><p class="MsoNormal">Angular 17 for loop @for block Repeaters :- <a href="https://youtu.be/frNe5XVR9FA" target="_blank">https://youtu.be/frNe5XVR9FA</a></p><p class="MsoNormal">Angular 17 if else statement example:- <a href="https://youtu.be/B8_ymr2x5Bk" target="_blank">https://youtu.be/B8_ymr2x5Bk</a></p><p class="MsoNormal">What's New in Angular 17?:- <a href="https://youtu.be/1R4JMM2ORHM" target="_blank">https://youtu.be/1R4JMM2ORHM</a></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTpuXWuniQzpT8OiH45t3TZYn-Yp-_LDCwafuBpNkZRVpvgIx1U4jvffTAlf1-8-vpnVhQM-olkcL32yLSHJvvj9LAv0MzouoIp2-A-UJta59W7Lpklq22Pn_obMEvNRhqZ-YLRqmkNTOGRtb1HYg0MsANJ8Uu0zd6X-7Jp5pnPyr0atZ5Q8m5Lw0gAiWo/s1917/Install%20Angular%2017%20Without%20Standalone%20Component.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1917" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTpuXWuniQzpT8OiH45t3TZYn-Yp-_LDCwafuBpNkZRVpvgIx1U4jvffTAlf1-8-vpnVhQM-olkcL32yLSHJvvj9LAv0MzouoIp2-A-UJta59W7Lpklq22Pn_obMEvNRhqZ-YLRqmkNTOGRtb1HYg0MsANJ8Uu0zd6X-7Jp5pnPyr0atZ5Q8m5Lw0gAiWo/w445-h232/Install%20Angular%2017%20Without%20Standalone%20Component.png" width="445" /></a></div>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-76224733443004335452024-01-16T01:48:00.000-08:002024-01-16T01:47:59.996-08:00Caching HTML templates in Web Applications<p><span style="font-size: 12pt;"><b>How can you
cache HTML templates in web applications?</b></span></p>
<p class="MsoNormal"><b><span style="font-size: 12.0pt; line-height: 115%;">Caching
HTML templates</span></b><span style="font-size: 12.0pt; line-height: 115%;"> in
web applications can significantly improve performance by reducing the need to
repeatedly fetch and render the same content. <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 115%;">There are
several ways to implement template caching:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 115%;">1)
<b>Server-Side Caching</b>- Utilize server-side caching mechanisms to store the
rendered HTML templates.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 115%;">2)
<b>Client-Side Caching</b>- Leverage the browser's built-in caching mechanisms to
store HTML templates on the client side.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 115%;">3)
<b>Application-Level Caching</b>- Implement application-level caching in your web
application framework.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 115%;">4) <b>Content
Delivery Network (CDN) </b>- Use a Content Delivery Network to cache and distribute
static assets, including HTML templates.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 115%;">5) <b>Optimize
Server-Side Rendering (SSR)</b><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12.0pt; line-height: 115%;">6) <b>Template
Compilation </b>- Pre-compile templates during the build process or server startup.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12pt;">Implementing
a combination of these caching strategies can help you achieve optimal
performance and responsiveness in your web application while ensuring that the
content remains up-to-date when necessary. </span></p><p class="MsoNormal"><span style="font-size: 12pt;">The specific approach may depend on
your application's architecture, requirements, and the technologies you are
using.</span></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-71861924635003750012024-01-12T08:39:00.000-08:002024-01-12T08:42:25.860-08:00How to Replace a Video on YouTube Without Losing Views! Edit YouTube Videos, Re-Upload YouTube Videos?)<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">As of my last knowledge update in
January 2024, YouTube doesn't provide a built-in feature to directly replace a
video file while retaining views, comments, and other engagement metrics.
Once a video is uploaded, the file associated with it is fixed, and any changes
to the video essentially involve creating a new video entry.</span><o:p></o:p></p><p><span style="font-size: 12pt;">Only you can change an
existing video: Trim your video using YouTube.</span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" style="font-size: 12pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><span style="font-size: 12pt;">You can't replace a video because any new video you upload to YouTube will get a new URL. This YouTube video link: -</span> <a href="https://youtu.be/8aPsGdRfEwM" target="_blank">https://youtu.be/8aPsGdRfEwM</a><o:p></o:p></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtO2YF5221ivcvjOauqKE9sWfl3ECeZ0br5na0F0WMNkrdIkLKICogncMiElJkDyfTa0-158Gbyvi-vt3HR57knaS08ggEZYkde29fIVhyWcqDja8Da4MmsH1cAmYZyILzuGH_EMAhZT5s_BNBpRiiQ6Uc_Gdxqc1E2n6s6DU7N6I6jExgznesZTGRRqeI/s685/Replace-a-Video-on-YouTube.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="300" data-original-width="685" height="206" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtO2YF5221ivcvjOauqKE9sWfl3ECeZ0br5na0F0WMNkrdIkLKICogncMiElJkDyfTa0-158Gbyvi-vt3HR57knaS08ggEZYkde29fIVhyWcqDja8Da4MmsH1cAmYZyILzuGH_EMAhZT5s_BNBpRiiQ6Uc_Gdxqc1E2n6s6DU7N6I6jExgznesZTGRRqeI/w471-h206/Replace-a-Video-on-YouTube.png" width="471" /></a></div><br /><p class="MsoNormal"><br /></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-62813011927591898822024-01-12T08:35:00.000-08:002024-01-12T08:35:54.773-08:00Angular 17 using ViewContainerRef to Render dynamic components<p><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;"><b>Render dynamic components in
Angular using ViewContainerRef:</b></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">A view container is a node in
Angular's component tree that can contain content. Any component or directive
can inject ViewContainerRef to get a reference to a view container
corresponding to that component or directive's location in the DOM.</span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">@Component({<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> selector: 'leaf-content',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> template: `<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> This is the leaf content<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> `,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">})<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">export class LeafContent {}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">@Component({<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> selector: 'outer-container',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> template: `<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> <p>This is the start of
the outer container</p><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> <inner-item /><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> <p>This is the end of
the outer container</p><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> `,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">})<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">export class OuterContainer {}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">@Component({<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> selector: 'inner-item',<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> template: `<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> <button
(click)="loadContent()">Load content</button><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> `,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">})<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">export class InnerItem {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> constructor(private
viewContainer: ViewContainerRef) {}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> loadContent() {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">
this.viewContainer.createComponent(LeafContent);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">}</span><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">In the example above, clicking the
"Load Content" button results in the following DOM structure<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"><outer-container><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> <p>This is the start of
the outer container</p><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> <inner-item><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> <button>Load
content</button><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> </inner-item><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> <leaf-content>This is the
leaf content</leaf-content><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> <p>This is the end of the
outer container</p><o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"></outer-container></span><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"> </span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">This is the YouTube video link for
this: - <a href="https://youtu.be/8tRTmn-AWhE" target="_blank">https://youtu.be/8tRTmn-AWhE</a><o:p></o:p></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH2UmPt_f7G7U3lymc8VWaxRi3pTXZ-xZXz-MlingRiorb0huyMn1s2cKndlWGJIy9FGdDOxOMzQc3N-OYuuLUffhnWt6zAWKWrlpOBvIY_PlblBYDUzJgmCVUV4Qy96vIctZfEenpMEG3hs-UBYKg_gwiRx-jNqBWKQBvB2jYMs9L1dd06cMBBHRIgFE6/s1283/Render-Dynamic-Components-Angular-17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="719" data-original-width="1283" height="317" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH2UmPt_f7G7U3lymc8VWaxRi3pTXZ-xZXz-MlingRiorb0huyMn1s2cKndlWGJIy9FGdDOxOMzQc3N-OYuuLUffhnWt6zAWKWrlpOBvIY_PlblBYDUzJgmCVUV4Qy96vIctZfEenpMEG3hs-UBYKg_gwiRx-jNqBWKQBvB2jYMs9L1dd06cMBBHRIgFE6/w567-h317/Render-Dynamic-Components-Angular-17.png" width="567" /></a></div><br /><p class="MsoNormal"><br /></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-81300187682313966852024-01-12T08:32:00.000-08:002024-01-12T08:32:02.416-08:00Angular 17 Overriding LifeCycle methods | Overriding vs Overloading<p><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;"><b>Overriding lifecycle methods:</b></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">If a base class defines a
lifecycle method, such as ngOnInit, a child class that also implements <b>ngOnInit
</b>overrides the base class's implementation. If you want to preserve the base
class's lifecycle method, explicitly call the method with <b>super</b>:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">@Component({ ... })<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">export class ListboxBase {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> protected isInitialized =
false;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> ngOnInit() {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> this.isInitialized = true;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">@Component({ ... })<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">export class CustomListbox extends ListboxBase {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> override ngOnInit() {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> super.ngOnInit();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> /* ... */<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">}</span><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">If a base class relies on
dependency injection, the child class must explicitly pass these dependencies
to super.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">@Component({ ... })<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">export class ListboxBase {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> constructor(private element:
ElementRef) { }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">@Component({ ... })<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">export class CustomListbox extends ListboxBase {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> constructor(element:
ElementRef) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> super(element);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">}</span><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">This is the YouTube video link for
this: - <a href="https://youtu.be/3R4EPBqCfNw" target="_blank">https://youtu.be/3R4EPBqCfNw</a><o:p></o:p></span></p><p class="MsoNormal"><br /></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-3599099912833607242024-01-12T08:26:00.000-08:002024-01-12T08:26:35.521-08:00Angular 17 Component Lifecycle Hooks | Angular Lifecycle Hooks: A Complete Guide<p><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;"><b>What is the life cycle of an
Angular 17 component?</b></span></p><p><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;">A component's lifecycle is the
sequence of steps that happen between the component's creation and its
destruction. Each step represents a different part of Angular's process for
rendering components and checking them for updates over time.</span></p><p><b><span style="font-family: "Calibri Light", sans-serif; font-size: 16px;">4 Phases are:</span></b></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>Phase 1 - </b><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>Creation</b>: <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>Constructor</b>: - Standard JavaScript
class constructor. Runs when Angular instantiates the component.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"> </span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>Phase 2 -</b></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>Change Detection: </b></span><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;">ngOnInit: - Runs once after
Angular has initialized all the component's inputs.</span></p><p class="MsoNormal"><b style="font-family: "Calibri Light", sans-serif; font-size: 12pt;"><br /></b></p><p class="MsoNormal"><b style="font-family: "Calibri Light", sans-serif; font-size: 12pt;">Phase 3 -</b></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>Rendering: -</b><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>ngOnChanges</b>:- Runs every time the
component's inputs have changed.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>ngDoCheck</b>:- Runs every time this
component is checked for changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>ngAfterViewInit</b>:- Runs once after
the component's view has been initialized.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>ngAfterContentInit</b>:- Runs once
after the component's content has been initialized.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>ngAfterViewChecked</b>:- Runs every
time the component's view has been checked for changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>ngAfterContentChecked</b>:- Runs every
time this component content has been checked for changes.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>afterNextRender</b>:- Runs once the
next time that **all* components have been rendered to the DOM.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>afterRender</b>:- Runs every time all components have been rendered to the DOM.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"> </span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>Phase 4 -</b></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>Destruction</b>:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>ngOnDestroy</b>:- Runs once before the
component is destroyed.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;">This is the YouTube video link for
this: - <a href="https://youtu.be/AFWsRWnbC-Q" target="_blank">https://youtu.be/AFWsRWnbC-Q</a></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3PHiW60l9Wl9ko-FDzIqZDAAgmKWcXTFpEqqwdvFSBq01ICKe5suwbPrIbPiUFS2xFE4ApX2Q92uFish67XT-QXp13-mF4Tk6taNmYyh-MsJVoHEGYpJGgN-9txULovEE-C4VNyb1eGzePbYXCw-CN8fxO6qwKVbVNq9_1a3emWIC47NqEdkNwtgYSM1e/s927/Component-Lifecycle-Angular-17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="870" data-original-width="927" height="458" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3PHiW60l9Wl9ko-FDzIqZDAAgmKWcXTFpEqqwdvFSBq01ICKe5suwbPrIbPiUFS2xFE4ApX2Q92uFish67XT-QXp13-mF4Tk6taNmYyh-MsJVoHEGYpJGgN-9txULovEE-C4VNyb1eGzePbYXCw-CN8fxO6qwKVbVNq9_1a3emWIC47NqEdkNwtgYSM1e/w488-h458/Component-Lifecycle-Angular-17.png" width="488" /></a></div><br /><p class="MsoNormal"><br /></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-60313633916583211002024-01-12T08:21:00.000-08:002024-01-12T08:21:04.709-08:00Angular 17 Component Inheritance | Extending other components and directives<p><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;">What is the alternative to
inheritance in Angular 17? </span></p><p><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;">How to inherit a component in
Angular 17 and reuse its template?</span></p><p><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;">How to use polymorphism in Angular
17?</span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt; line-height: 107%;"><b>To implement inheritance in
Angular 17</b>, you can use the extends keyword. </span><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;">For example, the following code
shows how to create a BaseComponent class and a ChildComponent class that
inherits from the BaseComponent class:</span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"> </span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">class BaseComponent {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> constructor() {}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">class ChildComponent extends BaseComponent {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> constructor() {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> super();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin; mso-highlight: yellow;">}</span><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">The <b>ChildComponent </b>class inherits
all of the properties and methods of the <b>BaseComponent </b>class. It can also
override any of the methods of the <b>BaseComponent </b>class.</span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">This is the YouTube video link for
this: - <a href="https://youtu.be/SnSfvTugzzM" target="_blank">https://youtu.be/SnSfvTugzzM</a><o:p></o:p></span></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-15738830157166015122024-01-12T08:17:00.000-08:002024-01-12T08:17:35.817-08:00Angular 17 Components DOM API and When to use DOM APIs in Components?<p><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;"><b>Angular handles</b> most DOM creation,
updates, and removals for you. However, you might rarely need to directly
interact with a component's DOM.</span></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">When to use
DOM APIs?</span></b></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">While Angular handles most
rendering concerns, some behaviors may still require using DOM APIs. Some
common use cases include:<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpFirst" style="margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-fareast-font-family: "Calibri Light"; mso-fareast-theme-font: major-latin; mso-hansi-theme-font: major-latin;">1.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;">
</span></span><!--[endif]--><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Managing
element focus<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-fareast-font-family: "Calibri Light"; mso-fareast-theme-font: major-latin; mso-hansi-theme-font: major-latin;">2.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;">
</span></span><!--[endif]--><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Measuring
element geometry, such as with getBoundingClientRect<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-fareast-font-family: "Calibri Light"; mso-fareast-theme-font: major-latin; mso-hansi-theme-font: major-latin;">3.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;">
</span></span><!--[endif]--><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Reading an
element's text content<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-fareast-font-family: "Calibri Light"; mso-fareast-theme-font: major-latin; mso-hansi-theme-font: major-latin;">4.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;">
</span></span><!--[endif]--><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Setting up
native observers such as
MutationObserver, ResizeObserver, and others as well.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpLast" style="margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-fareast-font-family: "Calibri Light"; mso-fareast-theme-font: major-latin; mso-hansi-theme-font: major-latin;">5.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;">
</span></span><!--[endif]--><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Avoid
inserting, removing, and modifying DOM elements. In particular, never directly
set an element's innerHTML property, which can make your application vulnerable
to cross-site scripting (XSS) exploits.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">This is the YouTube video link for
this: - <a href="https://youtu.be/Au8gjL2zZPc" target="_blank">https://youtu.be/Au8gjL2zZPc</a><o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt; line-height: 17.12px;"><b><br /></b></span></p><p class="MsoNormal"><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt; line-height: 17.12px;"><b>Try to following:-</b></span></p><p class="MsoNormal"><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt; line-height: 17.12px;">Avoid direct DOM manipulation whenever possible.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt; line-height: 17.12px;">Render callbacks never run during server-side rendering or build-time pre-rendering.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt; line-height: 17.12px;">Never directly manipulate the DOM inside of other Angular lifecycle hooks.</span></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-87093940305569292812024-01-12T08:12:00.000-08:002024-01-12T08:12:51.389-08:00Angular 17 Server-Side Rendering (SSR) | Why use SSR in Angular 17?<p><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;"><b>What Is Server-Side Rendering
(SSR)? How To Enable Server-Side Rendering in Angular 17?</b></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>Server-side rendering (SSR)</b> is a
process that involves rendering pages on the server, resulting in initial HTML
content that contains the initial page state. Once the HTML content is delivered
to a browser, Angular initializes the application and utilizes the data
contained within the HTML.</span></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Why use SSR?<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">The main advantages of SSR as
compared to client-side rendering (CSR) are:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">1) Improved performance<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">2) Improved Core Web Vitals: <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">3) Better SEO: SSR can improve the
search engine optimization (SEO) of web applications by making it easier for
search engines to crawl and index the application's content.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"> </span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>How to Enable server-side
rendering?</b><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">To create a new project with SSR, run the Angular CLI command: <b>ng new --ssr</b><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">To add SSR to an existing project,
use the Angular CLI ng add command: <b>ng add @angular/ssr</b></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><br /></span></p><p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">This is the YouTube Video link for
this:- <a href="https://youtu.be/6d9Fx3mROY0" target="_blank">https://youtu.be/6d9Fx3mROY0</a></span></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOx6qf06GxQA6seDtVPMsIp9vko4r7QSJn39GjdDQQiqcPsmTiSeFVDmqEtifHbZDuLqTezb7hhJwRuW7cd5OosKwCHdPFsZXw2sz9DHdtvb6n74qwqh-VESpMKDpL9_HksH01Qcs-oeEPy_LztjI8DCUPeE6CrlaqAtJ5sRvABOa51k4JBWYfxHMn7Rba/s1397/SSR-Angular17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="896" data-original-width="1397" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOx6qf06GxQA6seDtVPMsIp9vko4r7QSJn39GjdDQQiqcPsmTiSeFVDmqEtifHbZDuLqTezb7hhJwRuW7cd5OosKwCHdPFsZXw2sz9DHdtvb6n74qwqh-VESpMKDpL9_HksH01Qcs-oeEPy_LztjI8DCUPeE6CrlaqAtJ5sRvABOa51k4JBWYfxHMn7Rba/w431-h276/SSR-Angular17.png" width="431" /></a></div><br /><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><br /></span><p></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-9980206068571786122024-01-12T08:08:00.000-08:002024-01-12T08:08:39.646-08:00 Angular 17 Prerendering Static Site Generation SSG<p><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;">Angular 17 Prerendering
Static Site Generation (SSG) | Prerendering parameterized routes</span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><b>How to prerender a page in Angular
17?</b><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Prerendering, commonly called Static Site Generation (SSG), represents how pages are
rendered to static HTML files during the build process.</span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">To prerender a static page, add
SSR capabilities to your application with the following Angular CLI command: <b>ng
add @angular/ssr</b></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">To create an application with
prerendering capabilities from the beginning use the Angular CLI command: <b>ng new
--ssr</b></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Once SSR is added, you can
generate the static pages by running the build command: <b>ng build</b><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"> </span></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Why use SSG? <o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Improved performance: SSR can
improve the performance of web applications by delivering fully rendered HTML
to the client, which the browser can parse and display even before it downloads
the application JavaScript.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Better SEO: SSR can improve the
search engine optimization (SEO) of web applications by making it easier for
search engines to crawl and index the application's content.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;">This is the YouTube video
link for this - <a href="https://youtu.be/8b8deVyk3pw" target="_blank">https://youtu.be/8b8deVyk3pw</a></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1N3E3QZVYzDmouEEFMqXiijj-EK6XgryhHECpHyDF3ckweUbMnStlTamG0lXzCbTeSsA6qJ0kTivgmwXLMk4LZqWfz9mOYPtdiCWNF_G0ykTm4z0TDaysDP8JPOSD2jGie3i3GbBRM9P70GFf-mtdVq1ohlwd5b3Fg3QWSS-O4IEIoVJHjsx3oFXd41RM/s1397/SSR-Angular17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="896" data-original-width="1397" height="315" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1N3E3QZVYzDmouEEFMqXiijj-EK6XgryhHECpHyDF3ckweUbMnStlTamG0lXzCbTeSsA6qJ0kTivgmwXLMk4LZqWfz9mOYPtdiCWNF_G0ykTm4z0TDaysDP8JPOSD2jGie3i3GbBRM9P70GFf-mtdVq1ohlwd5b3Fg3QWSS-O4IEIoVJHjsx3oFXd41RM/w492-h315/SSR-Angular17.png" width="492" /></a></div>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-4599913764059686722024-01-12T08:00:00.000-08:002024-01-12T08:03:12.676-08:00Import data from Excel to SQL Server or Azure SQL Database | Convert Excel Files to Databases Quickly<p><span style="font-size: 12pt;">How to import data from an Excel
file to a SQL Server database | Importing Data from Excel to SQL Server
Database: Expert Tips</span></p>
<p class="MsoNormal"><span face=""Calibri Light", sans-serif" style="font-size: 12pt;"><b>The quickest way to get your Excel
file into SQL Server is by using the import wizard:</b></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" style="font-size: 12pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">1) Open SSMS (SQL Server
Management Studio) and connect to the database where you want to import your
file.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" style="font-size: 12pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">2) Import Data: in SSMS in Object
Explorer under 'Databases', right-click the destination database, and select
Tasks, Import Data. An import wizard will pop up (you can usually just click
Next on the first screen).<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" style="font-size: 12pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">3) The next window is 'Choose a
Data Source'. Select Excel: students<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" style="font-size: 12pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">4) On the 'Choose a Destination'
screen, select destination database: localdb<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Calibri Light",sans-serif" style="font-size: 12pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">5) Next and next again and then
Click to finish</span></p><p class="MsoNormal"><span face=""Calibri Light",sans-serif" style="font-size: 12pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">This is the YouTube video for this
- <a href="https://youtu.be/hMlb024Recc" target="_blank">https://youtu.be/hMlb024Recc</a><o:p></o:p></span></p><p class="MsoNormal"><br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWFbpYSLlRXTwkqyn1EtJoRoZp4sDGKlBgFFI38SKL4Ud8iUYLY3heoPBY5dA4kg3klD9PMSx76FDBgqw2hxUh_lsC-Ax0dC8Z1n8AC5Jn4j-LIMCprgCTOIwwu9J6r2QIPaWFpu3njJXMNHIJLsctyuP0mXO8P5HS4o6O21jjBRcLsaDTKaTVxbe6GjsU/s907/Import-data-from-Excel-to%20SQL-Server-min.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="876" data-original-width="907" height="450" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWFbpYSLlRXTwkqyn1EtJoRoZp4sDGKlBgFFI38SKL4Ud8iUYLY3heoPBY5dA4kg3klD9PMSx76FDBgqw2hxUh_lsC-Ax0dC8Z1n8AC5Jn4j-LIMCprgCTOIwwu9J6r2QIPaWFpu3njJXMNHIJLsctyuP0mXO8P5HS4o6O21jjBRcLsaDTKaTVxbe6GjsU/w466-h450/Import-data-from-Excel-to%20SQL-Server-min.png" width="466" /></a></div><p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">How to insert data from Excel to
SQL Server? </span><span style="font-family: "Calibri Light", sans-serif; font-size: 12pt;">How can I import an Excel file
into SQL Server?</span></b></p><p class="MsoNormal">
</p><p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;">Yes, there are several ways to
import data from Excel. You may need to install SQL Server Management Studio
(SSMS) to use some of these tools. <o:p></o:p></span></p><p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 12.0pt; line-height: 107%; mso-ascii-theme-font: major-latin; mso-bidi-theme-font: major-latin; mso-hansi-theme-font: major-latin;"><br /></span></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-33544857073178414712024-01-11T23:22:00.000-08:002024-01-11T23:22:54.960-08:00How to Create a DataBase in SQL Server | Database Table in MS SQL 2022 | SQL Server (SSMS)<p><span style="font-size: 12pt;">How To
Create a database in SQL Server by using SQL Server Management Studio or
Transact-SQL?</span></p>
<p class="MsoNormal"><span style="font-size: 12pt; line-height: 107%;">Creating the
database in SQL Server manually!<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><span style="font-size: 12pt; line-height: 107%;">Use SQL
Server Management Studio to Create a database using the following Steps:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12pt; line-height: 107%;">1) In Object
Explorer, connect to an instance of the SQL Server Database Engine and then
expand that instance.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12pt; line-height: 107%;">2)
Right-click Databases, and then select New Database.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12pt; line-height: 107%;">3) In New
Database, enter a database name.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 12pt; line-height: 107%;">4) To create
the database by accepting all default values, select OK<o:p></o:p></span></p><p class="MsoNormal"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXlWA9_eja24lKJYyU6TfzcQGxGjrIQ8K8QK7h5U68NnYAizNhIAAnUfdLXfgoAY4RSjaR9609RMjHIoj6NjM1-zop0B6hLa4IEjI94if8iQfoCLrLM8ARu5WPBcEvM8fm36NWSvAAI6f9x1hnjGBTXSO-d77V_M3do_i9vS9kKeegBsdu7kY9eWS1ninJ/s1431/SQL-New-DATABASE-min%20(1).png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="853" data-original-width="1431" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXlWA9_eja24lKJYyU6TfzcQGxGjrIQ8K8QK7h5U68NnYAizNhIAAnUfdLXfgoAY4RSjaR9609RMjHIoj6NjM1-zop0B6hLa4IEjI94if8iQfoCLrLM8ARu5WPBcEvM8fm36NWSvAAI6f9x1hnjGBTXSO-d77V_M3do_i9vS9kKeegBsdu7kY9eWS1ninJ/w496-h296/SQL-New-DATABASE-min%20(1).png" width="496" /></a></div><br /><span style="font-size: 12pt; line-height: 107%;"><br /></span><p></p><p class="MsoNormal"><span style="font-size: 12pt; line-height: 107%;">To see the video for these steps, visit my YouTube link <a href="https://youtu.be/58UXyfE5Uyc" target="_blank">https://youtu.be/58UXyfE5Uyc</a></span></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-31557699629667829412024-01-05T16:14:00.000-08:002024-01-05T16:14:48.475-08:00What Language is the best for AI creation?<p><span style="font-family: "Calibri Light", sans-serif; font-size: 13pt;">The best programming language for <b><a href="https://www.code-sample.com/2018/03/what-is-artificial-intelligence-ai.html" target="_blank">AI </a>creation</b> depends on
various factors like your project requirements, familiarity with the language,
and personal preferences. </span><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Python</span></b><span style="font-family: "Calibri Light", sans-serif; font-size: 13pt; line-height: 107%;">
is a popular choice due to its simplicity, extensive libraries (like TensorFlow
and PyTorch), and a supportive community. However, languages like <b><a href="https://www.code-sample.com/2018/12/java-programming-language-interview.html" target="_blank">Java</a></b>, <b>C++,</b>
<b>R,</b> and <b>Julia</b> are also used in certain AI applications.</span></p><p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMXVnULnFqm_ZpDiFyw32cpvdlYaGNG9-X85uSSlz0N9xKbch6ES2nla-L7PBIaSa6FSzaphSGtTrRh4DTWSVc3QA3uhLkFVhtNOw6KiMyvyqx5azG7Uza7gwGKIEI8hyphenhyphenqMwxOY1ulICxq89ojekZVN9zPlVakFdTQRBo3-58_BtL6H9tWW1jLVsrc8KZ2/s804/Language-for-AI-creation-min.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="526" data-original-width="804" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMXVnULnFqm_ZpDiFyw32cpvdlYaGNG9-X85uSSlz0N9xKbch6ES2nla-L7PBIaSa6FSzaphSGtTrRh4DTWSVc3QA3uhLkFVhtNOw6KiMyvyqx5azG7Uza7gwGKIEI8hyphenhyphenqMwxOY1ulICxq89ojekZVN9zPlVakFdTQRBo3-58_BtL6H9tWW1jLVsrc8KZ2/w475-h310/Language-for-AI-creation-min.png" width="475" /></a></div><p></p><p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Python is widely considered one of the
best languages for AI for several reasons:<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Versatility</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">:
Python is a versatile language with a simple and readable syntax, making it
accessible for both beginners and experienced developers.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Extensive Libraries</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">:
Python boasts rich libraries and frameworks essential for AI and machine
learning. Libraries like TensorFlow, PyTorch, and scikit-learn simplify complex
tasks, accelerating development.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Community Support</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">:
Python has a massive and active community, meaning there are abundant
resources, tutorials, and support available. This community-driven approach
fosters innovation and problem-solving.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Data Science Ecosystem</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">:
Python is the go-to language for data science, which is closely intertwined
with AI. Tools like NumPy, pandas, and Jupyter Notebooks are extensively used
in data preprocessing and analysis.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Deep Learning Frameworks</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">:
Major deep learning frameworks, such as TensorFlow and PyTorch, have Python
APIs. These frameworks are crucial for developing neural networks and are at
the forefront of AI research and applications.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;"><br /></span></b></p><p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">While Python is dominant, other
languages have their merits:</span></b></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Java</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">: Known for its
portability and scalability, Java is used in large-scale enterprise AI
applications.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">C++:</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;"> Offers high
performance, making it suitable for resource-intensive tasks. It's prevalent in
gaming AI and embedded systems.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Julia</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">: Emerging as a
language for high-performance scientific computing, Julia is gaining traction
in AI research and development.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">R</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">: Commonly used
in statistics and data analysis, R is favored for its statistical packages and
visualization capabilities. It might not be as versatile as Python for
general-purpose programming, but it's great for statistical modeling.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Pros & Cons of the languages for AI
creation:<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Python: <o:p></o:p></span></b></p>
<p class="MsoNormal"></p><ul style="text-align: left;"><li><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Pros</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">: Widely
adopted, extensive libraries (NumPy, TensorFlow, PyTorch), easy to learn,
readable syntax.<o:p></o:p></span></li><li><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Cons</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">: Slower
execution speed compared to low-level languages like C++.</span></li></ul><p></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Java</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">:<o:p></o:p></span></p>
<p class="MsoNormal"></p><ul style="text-align: left;"><li><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Pros</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">: Platform
independence (Write Once, Run Anywhere), strong community support, good for
large-scale applications.<o:p></o:p></span></li><li><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Cons</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">: Verbosity in
code compared to Python, might be more challenging for beginners.</span></li></ul><p></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">C++: <o:p></o:p></span></b></p>
<p class="MsoNormal"></p><ul style="text-align: left;"><li><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Pros</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">: High
performance, widely used in resource-intensive tasks, good for system-level
programming.<o:p></o:p></span></li><li><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Cons</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">: Steeper
learning curve, more complex syntax compared to Python.</span></li></ul><p></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">JavaScript (Node.js):<o:p></o:p></span></b></p>
<p class="MsoNormal"></p><ul style="text-align: left;"><li><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Pros</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">: Web
integration, asynchronous programming, great for building interactive AI
applications.<o:p></o:p></span></li><li><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Cons</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">: May not be as
performant for certain computationally intensive tasks.</span></li></ul><p></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">R Programming:<o:p></o:p></span></b></p>
<p class="MsoNormal"></p><ul style="text-align: left;"><li><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Pros</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">: Specialized
in statistical computing and data analysis, rich ecosystem for data science.<o:p></o:p></span></li><li><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Cons</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">: Limited for
general-purpose programming, may not be as versatile as Python.<o:p></o:p></span></li></ul><p></p>
<p class="MsoNormal"><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Julia</span></b><span style="font-family: "Calibri Light", sans-serif; font-size: 13pt; line-height: 107%;">:</span></p>
<p class="MsoNormal"></p><ul style="text-align: left;"><li><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Pros</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">:
High-performance language, designed for numerical and scientific computing,
easy to write and understand.<o:p></o:p></span></li><li><b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">Cons</span></b><span style="font-family: "Calibri Light",sans-serif; font-size: 13.0pt; line-height: 107%;">: Smaller
community compared to Python and R.<o:p></o:p></span></li></ul><p></p>
Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-35964139346288272572024-01-01T07:24:00.000-08:002024-01-01T07:24:11.702-08:00C# Creational Design Patterns with Real-Time Examples<p><span style="font-family: "Microsoft JhengHei UI", sans-serif; font-size: 12pt;">Creational design patterns in C# focus on
the process of object creation, providing flexibility and decoupling the system
from the specific classes it needs to instantiate.</span></p>
<p class="MsoNormal"><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;"><b>Let's discuss some common creational design
patterns along with examples in C#:</b><o:p></o:p></span></p>
<p class="MsoListParagraphCxSpFirst" style="margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: "Microsoft JhengHei UI";">1.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;"><b><a href="https://www.code-sample.com/2023/10/singleton-design-pattern-real-time.html" target="_blank">Singleton Pattern</a>:</b> Ensures a class has only one instance and provides a global point of
access to it.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: "Microsoft JhengHei UI";">2.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;"><b>Factory
Method Pattern</b>: Defines an interface for creating an object but leaves the
choice of its type to the subclasses, creating instances of multiple classes.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: "Microsoft JhengHei UI";">3.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;"><b>Abstract
Factory Pattern</b>: Provides an interface for creating families of related or
dependent objects without specifying their concrete classes.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: "Microsoft JhengHei UI";">4.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;"><b>Builder
Pattern</b>: Separates the construction of a complex object from its
representation, allowing the same construction process to create different
representations.<o:p></o:p></span></p>
<p class="MsoListParagraphCxSpLast" style="margin-left: .75in; mso-add-space: auto; mso-list: l0 level1 lfo1; text-indent: -.25in;"><!--[if !supportLists]--><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-bidi-font-family: "Microsoft JhengHei UI";">5.<span style="font-family: "Times New Roman"; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 7pt; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;"><b>Prototype
Pattern</b>: Creates new objects by copying an existing object, known as the
prototype, during runtime.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;">Singleton Pattern:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;">Ensures that a class has only one instance
and provides a global point of access to it. </span></p><p class="MsoNormal"><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;"><a href="https://www.code-sample.com/2023/10/singleton-design-pattern-real-time.html" target="_blank"><b>Explore Singleton's multiple real-time examples</b></a></span></p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoUg_E-HWzuSyujdM-LvxAdFXYH2BriYXwkF8XW6X_APmDTLavW5q76K0qkMP9CgTbcacXXRNx6mM_rs0-mocNGVJZm3KRXworpXWfAjMBP2oA5N_LLrbhYnu-RVZuWW9wl_km1-nPJ18Zz1rL-UIeiiV2gS_fYqrwyyGLp8ToB0_noqeyv9wbcwttdhWm/s757/Singleton-Pattern-c%23-min.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="611" data-original-width="757" height="406" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoUg_E-HWzuSyujdM-LvxAdFXYH2BriYXwkF8XW6X_APmDTLavW5q76K0qkMP9CgTbcacXXRNx6mM_rs0-mocNGVJZm3KRXworpXWfAjMBP2oA5N_LLrbhYnu-RVZuWW9wl_km1-nPJ18Zz1rL-UIeiiV2gS_fYqrwyyGLp8ToB0_noqeyv9wbcwttdhWm/w504-h406/Singleton-Pattern-c%23-min.png" width="504" /></a></div><p class="MsoNormal"><b><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;">Factory Method Pattern:</span></b></p>
<p class="MsoNormal"><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;">Defines an interface for creating an object
but let’s subclasses alter the type of objects that will be created.<o:p></o:p></span></p>
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-5wkkktHpkMZDMSdzqMHn7jhn1SHGAa3kciLoSHpkRMU4554u2-fR1dyPVSgTT3HL3pTtir61hwoMxSbEzNyOoXMnEsohqKQrK4L7nIwcqHDPWiqC84Tvgn0kLBlV2c5M7WDBU1a0XdATCjWLecWBnbVDxIGXiAkTor_Tos8srqJjRku3opH2MRYzJtH2/s730/Factory-Method-Pattern-c%23-min.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="668" data-original-width="730" height="454" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-5wkkktHpkMZDMSdzqMHn7jhn1SHGAa3kciLoSHpkRMU4554u2-fR1dyPVSgTT3HL3pTtir61hwoMxSbEzNyOoXMnEsohqKQrK4L7nIwcqHDPWiqC84Tvgn0kLBlV2c5M7WDBU1a0XdATCjWLecWBnbVDxIGXiAkTor_Tos8srqJjRku3opH2MRYzJtH2/w496-h454/Factory-Method-Pattern-c%23-min.png" width="496" /></a></div><p class="MsoNormal"><b><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;">Abstract Factory Pattern:</span></b></p>
<p class="MsoNormal"><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;">Provides an interface for creating families
of related or dependent objects without specifying their concrete classes.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">public
interface IAbstractFactory<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> IProductA CreateProductA();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> IProductB CreateProductB();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">public
interface IProductA<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> void Display();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">public
interface IProductB<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> void Show();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">public
class ConcreteFactory1 : IAbstractFactory<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> public IProductA CreateProductA() => new
ConcreteProductA1();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> public IProductB CreateProductB() => new
ConcreteProductB1();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">public
class ConcreteFactory2 : IAbstractFactory<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> public IProductA CreateProductA() => new
ConcreteProductA2();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> public IProductB CreateProductB() => new
ConcreteProductB2();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">//
ConcreteProductA1, ConcreteProductB1, ConcreteProductA2, ConcreteProductB2
classes implement IProductA and IProductB interfaces accordingly.</span><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;">Builder Pattern:<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;">Separates the construction of a complex
object from its representation, so that the same construction process can
create different representations.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">public
class Product<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> private List<string> parts = new
List<string>();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> public void AddPart(string part)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> parts.Add(part);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> public void Show()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> Console.WriteLine("Product
Parts:");<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> foreach (var part in parts)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> Console.WriteLine(part);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">public
abstract class Builder<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> public abstract void BuildPartA();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> public abstract void BuildPartB();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> public abstract Product GetResult();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">public
class ConcreteBuilder : Builder<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> private Product product = new Product();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> public override void BuildPartA()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> product.AddPart("Part A");<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> public override void BuildPartB()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> product.AddPart("Part B");<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> public override Product GetResult()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> return product;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">public
class Director<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> public void Construct(Builder builder)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> builder.BuildPartA();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> builder.BuildPartB();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background: yellow; font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%; mso-highlight: yellow;">}</span><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;">Each pattern addresses specific concerns
related to object creation and instantiation, providing a way to create objects
in a flexible and maintainable manner.</span></p><p class="MsoNormal"><span style="font-family: "Microsoft JhengHei UI",sans-serif; font-size: 12.0pt; line-height: 107%;"><br /></span></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-60702258838779173022024-01-01T06:06:00.000-08:002024-01-01T06:32:49.788-08:00Top 50 C# OOPS Interview Questions and Answers | Freshers and Experience<p><span face=""Microsoft JhengHei UI", sans-serif" style="font-size: 12pt;">List of 50 C# Object-Oriented Programming
(OOP) interview questions along with brief answers.</span></p><p><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is Object-Oriented
Programming (OOP)?</span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
OOP is a programming paradigm that uses objects and classes for organizing
code. It revolves around the concepts of encapsulation, inheritance, and
polymorphism.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Define encapsulation?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
Encapsulation is the bundling of data and the methods that operate on that data
into a single unit, known as a class.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is a class in C#?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
A class is a blueprint or a template for creating objects. It defines the data
and behavior that the objects of the class will have.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Explain inheritance in C#.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
Inheritance is a mechanism by which a class can inherit the properties and behaviors
of another class. It promotes code reuse and establishes a relationship between
the parent (base) class and the child (derived) class.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"></span></b></p><div class="separator" style="clear: both; text-align: center;"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVhWWIACX28TKlzGuWp11ewjIlLucR7yzsfJGEvUrotHcmT86mWSnXDuf_wOOoDVkwr9R-4HiuI-wdT3wuKimnwwNi0UwJkSScuSxwoNTTHzMlVsA0bu4sdMRUU496nJCd_JqeDY0_Qzggn_wt_NEW2er0bA5DJJo3oXd03KRpZ2mNOuDWEbqtVuFZtMaY/s617/50-C%23-OOPS-Interview-Questions-and-Answers-min.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="385" data-original-width="617" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVhWWIACX28TKlzGuWp11ewjIlLucR7yzsfJGEvUrotHcmT86mWSnXDuf_wOOoDVkwr9R-4HiuI-wdT3wuKimnwwNi0UwJkSScuSxwoNTTHzMlVsA0bu4sdMRUU496nJCd_JqeDY0_Qzggn_wt_NEW2er0bA5DJJo3oXd03KRpZ2mNOuDWEbqtVuFZtMaY/w475-h297/50-C%23-OOPS-Interview-Questions-and-Answers-min.png" width="475" /></a></span></b></div><p></p><p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">How is polymorphism achieved in
C#?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
Polymorphism is achieved through method overloading and method overriding.
Method overloading involves having multiple methods with the same name but
different parameters, while method overriding occurs when a child class
provides a specific implementation for a method defined in its parent class.<o:p></o:p></span></p><p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"><br /></span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"><a href="https://www.code-sample.com/2015/04/oops-concepts-object-oriented.html" target="_blank">What is an interface in C#?</a><o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
An interface is a contract that defines a set of methods that a class must
implement. It provides a way to achieve multiple inheritances and is used to
define a common set of methods that classes can implement.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Differentiate between abstract
classes and interfaces.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
Abstract classes can have both abstract and non-abstract methods, while
interfaces can only have abstract methods. A class can implement multiple
interfaces, but it can inherit from only one abstract class.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Explain the 'sealed' keyword in
C#.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'sealed' keyword is used to prevent a class from being inherited. It is
often applied to prevent further modification of a class's behavior.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is the purpose of the
'using' statement in C#?<o:p></o:p></span></b></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer: The 'using' statement is used for
automatic resource management, ensuring that the resources are properly
disposed of when they are no longer needed.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Define a delegate in C#.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
A delegate is a type-safe function pointer that holds a reference to a method.
It is used to define callback methods and implement events.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is a lambda expression?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
A lambda expression is an anonymous function that can have input parameters and
a body. It is often used for a concise representation of functions.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Explain the 'var' keyword in
C#.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'var' keyword is used for implicit typing. The compiler determines the type
of the variable based on the assigned value.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is the purpose of the
'readonly' keyword?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'readonly' keyword is used to create immutable fields. Once assigned a
value, a readonly field cannot be modified.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Differentiate between 'const'
and 'readonly' in C#.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
'const' is used for compile-time constants, while 'readonly' is used for
runtime constants. 'const' values are determined at compile-time, and
'readonly' values are determined at runtime or during object initialization.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is the difference between
value types and reference types?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
Value types store their data directly, while reference types store a reference
to the data. Value types include simple types like int and float, and reference
types include classes and interfaces.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Explain the purpose of the
'this' keyword.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'this' keyword refers to the current instance of the class and is used to
differentiate between instance variables and parameters with the same name.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is the significance of the
'base' keyword?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'base' keyword is used to refer to the immediate base class of the current
derived class. It is often used to call methods or access members of the base
class.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"><a href="https://www.code-sample.com/2015/04/oops-concepts-object-oriented.html" target="_blank">What is a constructor?</a><o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
A constructor is a special method in a class that is called when an object is
created. It is used to initialize the object's state.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Differentiate between a shallow
copy and a deep copy.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
A shallow copy duplicates the object and references within the object, while a
deep copy creates a new object and recursively copies all referenced objects.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Explain the concept of
polymorphism with an example.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
Polymorphism allows a single interface to be used for different types of
objects. For example, a 'Shape' interface may have 'Draw' methods, and
different classes like 'Circle' and 'Square' can implement this interface with
their own specific 'Draw' implementations.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is the purpose of the
'abstract' keyword in C#?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'abstract' keyword is used to declare abstract classes and methods.
Abstract classes cannot be instantiated and are meant to be subclassed.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">How does C# support multiple
inheritances?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
C# supports multiple inheritances through interfaces. A class can implement
multiple interfaces, thereby achieving a form of multiple inheritance.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is method overloading?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
Method overloading is the ability to define multiple methods in the same class
with the same name but different parameters.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Explain the 'is' and 'as'
operators in C#.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'is' operator is used to check whether an object is of a certain type,
while the 'as' operator is used for casting an object to a specific type,
returning null if the cast is not possible.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">How does exception handling
work in C#?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
Exception handling in C# is done using try, catch, and finally blocks. The
'try' block contains the code that may throw an exception, the 'catch' block
handles the exception, and the 'finally' block contains code that will always
be executed, whether an exception is thrown or not.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is the purpose of the
'throw' keyword?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'throw' keyword is used to explicitly throw an exception. It can be used in
methods to signal that an error condition has occurred.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"><a href="https://www.code-sample.com/2015/04/oops-concepts-object-oriented.html" target="_blank">Explain the concept of interface segregation</a>.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
Interface segregation is a principle that suggests that a class should not be
forced to implement interfaces it does not use. It encourages creating multiple
small, specific interfaces rather than a large, monolithic one.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is the difference between
the 'StringBuilder' and 'String' classes?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
'String' is immutable, meaning its value cannot be changed after creation.
'StringBuilder' is mutable and allows for efficient manipulation of strings,
especially when concatenating multiple strings.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">How does garbage collection
work in C#?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
Garbage collection in C# automatically reclaims memory occupied by objects that
are no longer reachable. The runtime has a garbage collector that identifies
and frees up memory used by objects that are no longer in use.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Explain the concept of the
'using' statement for IDisposable objects.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'using' statement is used for automatic resource management, especially
with objects that implement the IDisposable interface. It ensures that the
Dispose method is called when the object goes out of scope.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is a namespace in C#?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
A namespace is a way to organize code by grouping related types. It helps in
avoiding naming conflicts and enhances code readability.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">How can you achieve multiple
catch blocks in C#?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
Multiple catch blocks can be used to catch different types of exceptions. They
are specified in the order from the most specific to the most general exception
type.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Explain the concept of the
'using' directive.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'using' directive is used to include a namespace in the program, making its
types accessible without fully qualifying their names.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is a property in C#?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
A property is a member of a class that provides a way to read or write the
value of a private field. It is defined using get and set accessors.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is the purpose of the
'get' and 'set' accessors in a property?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'get' accessor is used to retrieve the value of the property, while the
'set' accessor is used to set the value of the property.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Explain the difference between
the 'ref' and 'out' keywords.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
Both 'ref' and 'out' are used for passing parameters by reference. However,
'out' is used when the parameter is intended to be an output parameter, and it
does not need to be initialized before being passed to the method.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is the purpose of the
'params' keyword in C#?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'params' keyword allows a method to accept a variable number of parameters.
It is used to simplify the calling syntax for methods that take a variable
number of arguments.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Explain the 'static' keyword in
C#.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'static' keyword is used to declare members (fields, methods, properties)
that belong to the type itself rather than an instance of the type. Static
members are shared among all instances of the class.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is a delegate in C#?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
A delegate is a type that represents references to methods. It is used for
defining and invoking methods at runtime.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is the purpose of the
'yield' keyword in C#?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'yield' keyword is used in an iterator block to indicate that the method
should return an iterator, which allows the caller to iterate over a sequence
of values.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Explain the concept of
extension methods.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
Extension methods allow adding new methods to existing types without modifying
their source code. They are defined as static methods in a static class and are
called as if they were instance methods of the extended type.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is the 'async' and 'await'
keywords used for?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'async' and 'await' keywords are used for asynchronous programming. 'async'
is used to define an asynchronous method, and 'await' is used to asynchronously
wait for a task to complete.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">How does C# support events?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
C# supports events through delegates. Events provide a way for a class to
notify other classes or objects when something of interest happens.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is a generic class in C#?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
A generic class is a class that is parameterized with one or more type
parameters. It allows the creation of classes that can work with any data type.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Explain the 'lock' keyword in
C#.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'lock' keyword is used to ensure that only one thread can access a critical
section of code at a time. It is used to prevent race conditions in
multithreaded applications.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is the purpose of the
'using' statement in the context of IDisposable?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'using' statement ensures that the Dispose method of an IDisposable object
is called, providing a convenient way to release resources such as file handles
or database connections.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Explain the concept of indexers
in C#.<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
Indexers allow instances of a class to be indexed like arrays. They provide a
way to access elements of a class using the indexing syntax.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is the 'nameof' operator
used for?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'nameof' operator returns the name of a variable, type, or member as a
string. It is useful for avoiding hardcoding names and improving code
maintainability.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">What is the purpose of the
'override' keyword in C#?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
The 'override' keyword is used to declare that a method in a derived class is
intended to override a method in its base class.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">How does C# support
polymorphism through interfaces?<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Answer</span></b><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">:
C# allows a class to implement multiple interfaces, enabling polymorphism
through interface-based programming. Instances of different classes that
implement the same interface can be treated uniformly based on the common
interface they share.<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">Keep in mind that the depth of the answers
can vary based on the interviewer's expectations and the level of the position.
Feel free to ask for clarification on any specific question!<o:p></o:p></span></p>
<p class="MsoNormal"><span face=""Microsoft JhengHei UI",sans-serif" style="font-size: 12pt; line-height: 107%;">This list covers a wide range of C# OOP
concepts, and I hope it helps you in preparing for your interview! If you have
any specific questions or need further clarification on any topic, feel free to
ask.<o:p></o:p></span></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.comtag:blogger.com,1999:blog-9195201046271844871.post-51499978615555595122024-01-01T02:32:00.000-08:002024-01-01T02:32:00.037-08:00Top 7 Useful Tools for Developers | Do you use any of these regularly?<p><span style="font-family: "Bookman Old Style", serif; font-size: 12pt;">Here are seven tools that developers often find
handy:</span></p>
<p class="MsoNormal"><b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;">Git</span></b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;">: Essential for
version control, allowing multiple developers to collaborate on projects
seamlessly.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;">Integrated Development Environment (IDE)</span></b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;">:
Tools like <b>Visual Studio Code</b>, <b>IntelliJ IDEA</b>, or <b>Eclipse</b>
provide a comprehensive environment for coding, debugging, and managing
projects.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;">Docker</span></b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;">: Simplifies the
process of packaging, distributing, and running applications in lightweight
containers, ensuring consistency across different environments.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;">Postman</span></b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;">:
A popular API development and testing platform that simplifies the process of
building and testing APIs.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;">Jira</span></b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;"> or <b>Trello</b>:
Great for project management and tracking tasks, helping teams stay organized
and focused.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;">Stack Overflow</span></b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;">:
While not a traditional tool, this Q&A platform is a goldmine for
developers seeking solutions to coding problems or looking for best practices.<o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;">Slack</span></b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;"> or <b>Microsoft
Teams</b>: Communication is key in development, and these collaboration
platforms facilitate real-time communication and file sharing among team
members.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;"> </span></p>
<p class="MsoNormal"><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;">These tools can enhance productivity, collaboration,
and code quality for developers. <o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="font-family: "Bookman Old Style",serif; font-size: 12.0pt; line-height: 107%;">Do you use any of these regularly?<o:p></o:p></span></b></p>Anil Singhhttp://www.blogger.com/profile/09359926778482233933noreply@blogger.com