<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>9lessons Programming Blog</title><description>9lessons is a popular tech blog maintained by Srinivas Tamada from India. Topics focus on Programming, Javascript, Angular, React JS, PHP, Java, Jquery, Mysql, Database, Ionic and web resources. </description><managingEditor>noreply@blogger.com (Srinivas Tamada)</managingEditor><pubDate>Fri, 11 Jul 2025 10:39:39 -0400</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">468</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><link>http://www.9lessons.info/</link><language>en-us</language><itunes:explicit>yes</itunes:explicit><copyright>2008 - 9lessons</copyright><itunes:image href="http://lh5.ggpht.com/srinivas.tamada/SKw5PvUKqtI/AAAAAAAAAKE/Zy1RUHrzeZU/logochange.png"/><itunes:keywords>Hacking,java,jsp,servlets,linux,windows,c,programming,css,mootools,flash,technology,srinivas,tamada,baruva</itunes:keywords><itunes:summary>one blog for programming</itunes:summary><itunes:subtitle>9lessons</itunes:subtitle><itunes:category text="Education"><itunes:category text="Training"/></itunes:category><itunes:author>Srinivas Tamada</itunes:author><itunes:owner><itunes:email>srinivas.tamada@gmail.com</itunes:email><itunes:name>Srinivas Tamada</itunes:name></itunes:owner><item><title>Deploy a PHP Application on AWS Lambda Function Serverless</title><link>http://www.9lessons.info/2023/06/deploy-php-application-on-aws-lambda.html</link><category>deploy</category><category>Function</category><category>lambda</category><category>php</category><category>serverless</category><pubDate>Wed, 21 Jun 2023 00:25:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-113014105918782043</guid><description>&lt;div class="bigInt"&gt;
In this post, I will explain the steps to deploy a simple PHP email MX record validation application on AWS lambda function using Bref layers. AWS Lambda natively supports Java, Go, PowerShell, Node. js, C#, Python, and Ruby code, not PHP. You can deploy the lite weight PHP function to improve the application performance and it will reduce cost compared with the EC2 instance. AWS is offering the first one million requests free and you need an AWS account with a payment setup. The only disadvantage is that port 25(mail/SMTP) will not support it. 
 &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Deploy a PHP Application on AWS Lambda Function Serverless" class="sri650 zoom" itemprop="image" onclick="zoomImage(this)" src="https://github.com/srinivastamada/9lessonsImages/blob/master/lambda/aws_php_lambda.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2023/06/deploy-php-application-on-aws-lambda.html#more"&gt;&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><georss:featurename xmlns:georss="http://www.georss.org/georss">Atlanta, GA, USA</georss:featurename><georss:point xmlns:georss="http://www.georss.org/georss">33.748752 -84.387684499999992</georss:point><georss:box xmlns:georss="http://www.georss.org/georss">5.4385181638211577 -119.54393449999999 62.058985836178849 -49.231434499999992</georss:box><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Pocketbase Hosting on Apache or XAMPP</title><link>http://www.9lessons.info/2022/10/pocketbase-hosting-on-apache-or-xampp.html</link><category>apache</category><category>Authentication</category><category>Database</category><category>Hosting</category><category>pocketbase</category><category>realtime</category><category>xampp</category><pubDate>Sun, 30 Oct 2022 18:06:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-5773507927886200345</guid><description>&lt;div class="bigInt"&gt;
Pocketbase is an open-source application and alternative to Google Firebase. This is offering realtime database, authentication(including social), and file storage for your next web and mobile application. This article is about how to host the Pocketbase application server which usually runs at 8090 port with your existing application server. If you are using Linux and Apache based server, the following steps will help you to virtual host different ports host to the default 80 port. 
 &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Pocketbase Hosting on Apache or XAMPP" class="sri650 zoom" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/pocket/pocketbase.png?raw=true"  onclick="zoomImage(this)"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2022/10/pocketbase-hosting-on-apache-or-xampp.html#more"&gt;&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><georss:featurename xmlns:georss="http://www.georss.org/georss">Atlanta, GA, USA</georss:featurename><georss:point xmlns:georss="http://www.georss.org/georss">33.7489954 -84.3879824</georss:point><georss:box xmlns:georss="http://www.georss.org/georss">5.4387615638211528 -119.5442324 62.059229236178844 -49.2317324</georss:box><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>React Removing Unused CSS and Obfuscate JavaScript in Post Build Process</title><link>http://www.9lessons.info/2022/10/react-removing-unused-css-obfuscate.html</link><category>Build</category><category>CSS</category><category>javascript</category><category>Obfuscate</category><category>reactjs</category><pubDate>Sun, 9 Oct 2022 19:45:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-3110994164581210636</guid><description>&lt;div class="bigInt"&gt;
This is continues of my previous post about how to remove unused CSS and convert unclear JavaScript to protect your source code in the post-build process.  If you are using CSS libraries like Bootstrap, Tailwind CSS, etc.. and sometimes multiple frameworks. But your application components are not using all of the styles and it adds more weight to the application performance. This post will explain how to configure the React post-build process to remove unused CSS and hidden JavaScript files that enhance the application security and definitely improve the app loading time and save the overall bandwidth cost. 
 &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="React Removing Unused CSS and Obfuscate JavaScript" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/purgecss/react.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2022/10/react-removing-unused-css-obfuscate.html#more"&gt;&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Angular Removing Unused CSS and Obfuscate JavaScript in Post Build Process</title><link>http://www.9lessons.info/2022/10/angular-remove-unused-css-obfu.html</link><category>angular</category><category>Build</category><category>CSS</category><category>javascript</category><category>Obfuscate</category><pubDate>Thu, 6 Oct 2022 00:12:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-9222427694097751621</guid><description>&lt;div class="bigInt"&gt;
Nowadays most applications are developed based on large CSS libraries like Bootstrap, Tailwind CSS, etc.. and sometimes multiple frameworks. But your application components are not using all of the styles and it adds more weight to the application performance. This post will explain the Angular post-build process to remove unused CSS and hidden JavaScript files that enhance the application security and definitely improve the app loading time and save the overall bandwidth cost. 
 &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Angular Removing Unused CSS and Obfuscate JavaScript" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/purgecss/angular.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2022/10/angular-remove-unused-css-obfu.html#more"&gt;&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Host a Website on Your Home Raspberry Pi</title><link>http://www.9lessons.info/2022/06/host-website-on-your-home-raspberry-pi.html</link><category>Hosting</category><category>raspberry pi</category><category>server</category><category>Web Hosting</category><pubDate>Sun, 26 Jun 2022 20:34:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-1806497836393985695</guid><description>&lt;div class="bigInt"&gt;
The Raspberry Pi is a low cost device and it consumes low power. It can be used as a web server with your home internet and you will have complete freedom to implement ideas.  Nowadays popular cloud services are costing high for the same specifications and recently banned some websites for showing some legal terms. This post will guide you how to configure and host a website on your home &lt;a href="https://amzn.to/3OkbuLI" target="_blank"&gt;Raspberry Pi&lt;/a&gt; device with AT&amp;amp;T home network. All of my web applications hosted on my home server &lt;a href="https://amzn.to/3OkbuLI" target="_blank"&gt;Raspberry Pi&lt;/a&gt; 8GB with external SSD, I usally costs under $99.  
 &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Host a Website on Your Home Raspberry Pi" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/rasp/raspberrypi.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2022/06/host-website-on-your-home-raspberry-pi.html#more"&gt;&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Cypress UI Automation End to End Testing</title><link>http://www.9lessons.info/2021/11/cypress-ui-automation-end-to-end-testing.html</link><category>angular</category><category>Automation</category><category>CI-CD</category><category>Cypress</category><category>Projects</category><pubDate>Mon, 15 Nov 2021 21:52:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-2525191613806159956</guid><description>&lt;div class="bigInt"&gt;UI automation is the most important part of the CI/CD(continuous integration and continuous delivery) process. Integration testing helps you to avoid manual regression testing and  improve the application quality. In this post I will explain how to implement UI automation testing to existing Angular projects using the Cypress tool, this is a great alternative for Protractor. Take a look at the video tutorials for better understanding.  &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Cypress UI Automation End to End Testing" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/cypress/cypress-automation.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2021/11/cypress-ui-automation-end-to-end-testing.html#more"&gt;&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/vrCh23TWevU/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Automated Deployment of PHP Application using Github Push. </title><link>http://www.9lessons.info/2021/10/automated-deployment-php-application-github.html</link><category>github</category><category>php</category><category>webhook</category><pubDate>Fri, 15 Oct 2021 02:32:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-6937373437614162510</guid><description>&lt;div class="bigInt"&gt;Nowadays most of my side projects are managed with Github.  It has more advantages and flexibility to manage file versions.  I am following a different webhook system to automatically deploy my old PHP projects.  Not sure about the standards, but the following solution is an alternative approach that may solve your deployment problem for every Github push.&lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Automated Deployment of PHP Application using Github Push." class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/webhook/gitwebhook.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2021/10/automated-deployment-php-application-github.html#more"&gt;&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><georss:featurename xmlns:georss="http://www.georss.org/georss">Atlanta, GA, USA</georss:featurename><georss:point xmlns:georss="http://www.georss.org/georss">33.7489954 -84.3879824</georss:point><georss:box xmlns:georss="http://www.georss.org/georss">5.4387595151975781 -119.54423508220901 62.059231284802422 -49.231729717790984</georss:box><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Environment Variables in Apache and Xampp</title><link>http://www.9lessons.info/2021/08/environment-variables-in-apache-xampp.html</link><category>apache</category><category>environment</category><category>php</category><category>ubuntu</category><category>xampp</category><pubDate>Sun, 8 Aug 2021 14:46:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-3641157567756004129</guid><description>&lt;div class="bigInt"&gt;Few days back one of my friend&amp;#39;s project database credentials got exposed. After some investigation, we realized that it is because of the .git config commit. I would recommend configuring your sensitive credentials with operating system environment variables. This way you can protect information from the code base. This post will explain how to set up an environment variable for an Apache web server. &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Environment Variables in Apache and Xampp" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/other/env.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2021/08/environment-variables-in-apache-xampp.html#more"&gt;&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Setup SSH authentication with PEM RSA file without password on ubuntu/linux Raspberry Pi Server</title><link>http://www.9lessons.info/2021/04/setup-ssh-authentication-with-pem-rsa.html</link><category>linux</category><category>pem</category><category>raspberrypi</category><category>ubuntu</category><category>vpn</category><pubDate>Mon, 26 Apr 2021 22:45:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-2352379187611605616</guid><description>&lt;div class="bigInt"&gt;Recently I have been working with Raspberry PI and creating my own home server to host some of my demo projects. This post is about setting up SSH authentication with a PEM certificate file without password on ubuntu/linux server. Implement the following steps and improve the security.&lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Setup SSH login with pem RSA file without password on ubuntu/linux server" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/ssh/ssh-ubuntu.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2021/04/setup-ssh-authentication-with-pem-rsa.html#more"&gt;&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Upload Files from Ionic Angular to Firebase Storage.</title><link>http://www.9lessons.info/2020/12/upload-files-from-ionic-angular-to.html</link><category>angular</category><category>firebase</category><category>google</category><category>ionic</category><category>storage</category><pubDate>Sat, 19 Dec 2020 20:29:00 -0500</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-6925969891945252371</guid><description>&lt;div class="bigInt"&gt;Nowadays Google Firebase is my most favorite application. This is offering great web solutions like hosting, authentication, storage and database  in a simple way. This article  explains how to upload images(supports video) into Firebase storage with  Ionic and Angular applications.  This covers the user authentication part to protect storage uploads and improving default Firebase security rules. Take a look at the quick demo and try to upload under 1 mb JPEG or PNG.  &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Publish an Ionic Android App to Google Play Store" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/istorage/angular_firebase_storage.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2020/12/upload-files-from-ionic-angular-to.html#more"&gt;&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/EdrKGGUOEck/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Publish an Ionic Android App to Google Play Store.</title><link>http://www.9lessons.info/2020/10/publish-ionic-android-app-to-google.html</link><category>android</category><category>angular</category><category>apk</category><category>google</category><category>ionic</category><category>play store</category><pubDate>Wed, 28 Oct 2020 01:46:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-4131363914516530603</guid><description>&lt;div class="bigInt"&gt;Ionic is a great component framework that can build both iOS and Android apps from the same source code using Capacitor. In this video I have explained how to generate a signed Android release APK version using Ionic application and publishing on Google play store. For this process you need a Google play console subscription that costs $25 for life time. Please try to download the 9lessons demo Android app for testing.&lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Publish an Ionic Android App to Google Play Store" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/new-ionic/android-app.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2020/10/publish-ionic-android-app-to-google.html#more"&gt;&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/4MXvMrbCTwA/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><georss:featurename xmlns:georss="http://www.georss.org/georss">Atlanta, GA, USA</georss:featurename><georss:point xmlns:georss="http://www.georss.org/georss">33.7489954 -84.3879824</georss:point><georss:box xmlns:georss="http://www.georss.org/georss">-46.428744730958371 134.9870176 90 56.2370176</georss:box><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Angular Multiple Language Support using Internationalization (i18n)</title><link>http://www.9lessons.info/2020/10/angular-internationalization-multi-langu.html</link><category>angular</category><category>multi language</category><category>Translate</category><category>typescript</category><pubDate>Tue, 13 Oct 2020 21:07:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-2070232912735301597</guid><description>&lt;div class="bigInt"&gt;Modern web and mobile user experiences is a worldwide thing. Localization of your application (supporting multiple languages) will help you to reach worldwide people.  Angular is offering Internationalization(i18n) plugins to enrich your application with multiple languages. In this post I will discuss the implementation with lazy loading design pattern with supporting dynamic content. Take a quick look at the live demo and choose the language. &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Angular Translate" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/translate/angular-translate.jpg?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2020/10/angular-internationalization-multi-langu.html#more"&gt;&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/iXU1V2_GOTs/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><georss:featurename xmlns:georss="http://www.georss.org/georss">Atlanta, GA, USA</georss:featurename><georss:point xmlns:georss="http://www.georss.org/georss">33.7489954 -84.3879824</georss:point><georss:box xmlns:georss="http://www.georss.org/georss">5.4387615638211528 -119.5442324 62.059229236178844 -49.2317324</georss:box><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Github Free Angular React Application Hosting</title><link>http://www.9lessons.info/2020/08/github-free-angular-react-hosting.html</link><category>angular</category><category>CNAME</category><category>DNS</category><category>Free</category><category>github</category><category>Hosting</category><category>reactjs</category><pubDate>Wed, 19 Aug 2020 17:31:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-5976482951202565842</guid><description>&lt;div class="bigInt"&gt;Developing and hosting your own Angular, React applications has never been easier, but now there are many options like Google Firebase, Heroku and etc. Github Pages is offering some great features with free of cost no credit card required and no bandwidth limitations. Just create a public repository and commit all of your product ready files. It has a custom domain support with HTTPs enforcement.&lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Github Free Website Hosting" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/github/github.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2020/08/github-free-angular-react-hosting.html#more"&gt;&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/CHUAgWKK9Lg/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title> PUBNUB: Making Engaging Realtime Experiences a Reality in India</title><link>http://www.9lessons.info/2020/07/pubnub-making-engaging-realtime.html</link><category>APIs</category><category>chat</category><category>Collaboration</category><category>realtime</category><category>sponsor</category><pubDate>Tue, 21 Jul 2020 08:46:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-5986729444389626364</guid><description>&lt;div class="bigInt"&gt;Realtime Communication is providing enterprises with an innovative way to deliver better, more cost-effective customer service.&lt;br&gt;
Technology companies in India are racing towards a more connected and always-on world, making it easier, faster, safer, and more convenient for everyday people to do the things they need and achieve the things about which they dream. PubNub’s Realtime Communication Platform provides the backbone that any company can rely on to deliver engaging experiences that users love, including fast-growing companies like Swiggy, Apollo Health and others. &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt=" PUBNUB: Making Engaging Realtime Experiences a Reality in India" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/sponsor/pubnub.jpg?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2020/07/pubnub-making-engaging-realtime.html#more"&gt;&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Deploy NodeJS Express Application to Firebase as Function.</title><link>http://www.9lessons.info/2020/06/deploy-node-express-firebase-functions.html</link><category>Express</category><category>firebase</category><category>node</category><category>RESTful</category><pubDate>Mon, 22 Jun 2020 21:12:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-2273874248142412261</guid><description>&lt;div class="bigInt"&gt;Few days back I posted an article about how to implement restful apis using the Node Express and MySql. In this post I am going to discuss deploying NodeJS RESTful apis with Express framework to the Firebase functions. This is helpful when you deal with external endpoints which need  secret keys.  Google Firebase functions as an alternate product for Amazon Lambda, and Google Firebase is offering Storage and Real-time databases.  &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Node Express Firebase Functions" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/Node-Firebase/node-express.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2020/06/deploy-node-express-firebase-functions.html#more"&gt;&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/Qnw2bO3ljZs/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><georss:featurename xmlns:georss="http://www.georss.org/georss">Atlanta, GA, USA</georss:featurename><georss:point xmlns:georss="http://www.georss.org/georss">33.7489954 -84.3879824</georss:point><georss:box xmlns:georss="http://www.georss.org/georss">5.4387615638211528 -119.5442324 62.059229236178844 -49.2317324</georss:box><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Create Angular NPM Package and Publish</title><link>http://www.9lessons.info/2020/05/create-angular-npm-package-and-publish.html</link><category>angular</category><category>Bootstrap</category><category>library</category><category>node</category><category>NPM</category><category>package</category><category>Plugin</category><pubDate>Tue, 19 May 2020 00:49:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-8829243118447417203</guid><description>&lt;div class="bigInt" itemprop="description"&gt;Are you interested to create and publish NPM packages/libraries to enrich Angular functionality? Take a quick look at this post.  You can share solutions with other developers.  A simple package can solve many problems and resolve the issue quickly. If you are working with multiple applications? Package approach will help you to solve the  components problems easily. In this post I have created the Bootstrap confirm functionality package with control options and published it on NPM repository for global use. &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Create Angular NPM Package" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/node-package/node-package.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2020/05/create-angular-npm-package-and-publish.html#more"&gt;&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Create a RESTful API using Node and Express with MySQL Database</title><link>http://www.9lessons.info/2020/04/create-restful-api-using-node-and.html</link><category>Express</category><category>Mysql</category><category>node</category><category>RESTful</category><pubDate>Sun, 19 Apr 2020 14:14:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-5315754323315269655</guid><description>&lt;div class="bigInt" itemprop="description"&gt;Node Express web framework is a best solution to create RESTful APIs in quick time. Previously we published some concepts with different technologies like PHP and Java.  This article will explain to you a more simple way to use external plugins to enrich your project APIs.  Here you will find to create GET and POST requests with request payload validations to protect the endpoints.  &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Node Express MySQL RESTful" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/node-mysql/node-mysql-express.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2020/04/create-restful-api-using-node-and.html#more"&gt;&lt;/a&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Event Emitters Component Interactions in Angular Ionic</title><link>http://www.9lessons.info/2020/03/event-emitters-component-interactions.html</link><category>angular</category><category>Components</category><category>Event Emitters</category><category>ionic</category><category>javascript</category><category>typescript</category><pubDate>Tue, 10 Mar 2020 23:39:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-3918417786925122293</guid><description>&lt;div class="bigInt" itemprop="description"&gt;
This article is more about understanding the Event Emitters in Angular and Ionic. Data flow is the most important when you build an application to communicate with components. Event Emitters will help you to even bind using @Input @Output decorators. Here is a simple example to display and update the user profile using Angular Event Emitters.  For this demo I choose Ionic framework for better experience. Take a quick look at the live demo.  &lt;/div&gt;
&lt;br&gt;
&lt;div class="cen"&gt;
&lt;img alt="Event Emitters Component Interactions in Angular Ionic" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/emitters/EmitEvent.png?raw=true"&gt;&lt;/div&gt;
&lt;br&gt;
&lt;a href="http://www.9lessons.info/2020/03/event-emitters-component-interactions.html#more"&gt;&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/PNiUfZ_szMI/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>New Ionic 5 Angular 8 Display, Update and Delete Records with RxJS</title><link>http://www.9lessons.info/2019/11/ionic-angular-update-delete-rxjs.html</link><category>android</category><category>angular</category><category>API</category><category>ionic</category><category>ios</category><category>javascript</category><category>Mobile</category><category>RESTful</category><pubDate>Fri, 1 Nov 2019 11:13:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-1602742535321941704</guid><description>&lt;div class="bigInt" itemprop="description"&gt;This post is about displaying the API records with delete and update actions using new Ionic and Angular reactive programming. This is a continuation of &lt;a href="https://www.9lessons.info/2019/09/ionic-5-and-angular-8-restful-api-user.html" target="_blank"&gt;Ionic Angular series&lt;/a&gt; and it explains to you how to distribute the data between the components using RxJS method like BehaviorSubject. All of the feed API responses/records storing in a reactive object, This help  the application DOM works seamlessly with update and delete operations. Implement this to your side project and enrich your applications. &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="New Ionic 5 Angular 8 Update and Delete Records with RxJS " class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/new-ionic/ionic-update.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2019/11/ionic-angular-update-delete-rxjs.html#more"&gt;&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/jyFE6B_r7ec/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><georss:featurename xmlns:georss="http://www.georss.org/georss">Atlanta, GA, USA</georss:featurename><georss:point xmlns:georss="http://www.georss.org/georss">33.7489954 -84.3879824</georss:point><georss:box xmlns:georss="http://www.georss.org/georss">33.3266004 -85.0334294 34.1713904 -83.7425354</georss:box><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Ionic 5 and Angular 8: Restful API User Authentication Login and Signup using Guard and Resolver</title><link>http://www.9lessons.info/2019/09/ionic-5-and-angular-8-restful-api-user.html</link><category>android</category><category>angular</category><category>API</category><category>ionic</category><category>ios</category><category>javascript</category><category>Mobile</category><category>RESTful</category><pubDate>Tue, 10 Sep 2019 23:33:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-5927618950629996892</guid><description>&lt;div class="bigInt" itemprop="description"&gt;This is a continuation of my previous article &lt;a href="https://www.9lessons.info/2019/08/ionic-5-angular-8-welcome-page.html" target="_blank"&gt;creating an Ionic Angular project with welcome and tabs home page&lt;/a&gt;. Today’s post explains how to implement login authentication system for your Ionic Angular application with guards and resolvers. It will show you how to log in with a user and store the user data and protect the routes, so it deals with token-based authentication. Every user details will be stored in an external database and a PHP based API is used in the backend for handling this authentication.  &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Ionic 5 and Angular 8:Create a Welcome Page with Login and Logout. " class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/new-ionic/ionic-api.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2019/09/ionic-5-and-angular-8-restful-api-user.html#more"&gt;&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/GQDrfe2Xlvk/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">8</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Mock REST Backend Server for Angular and React Applications. </title><link>http://www.9lessons.info/2019/08/mock-rest-backend-server-for-angular.html</link><category>angular</category><category>mock</category><category>node</category><category>nodejs</category><category>reactjs</category><category>server</category><pubDate>Tue, 27 Aug 2019 00:31:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-541279854641799220</guid><description>&lt;div class="bigInt" itemprop="description"&gt;As I promised to continue the Angular/Ionic project series, as a developer perspective mock server is the most important to progress the development. We should not depend on the production or development  API for front-end development. This post is about creating a simple Node Express server with mock JSON object files. You can import the project to any of the front-end applications like Angular, React, Ionic and VueJS projects. &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Mock REST Backend Server for Angular and React Applications. " class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/other/mock-server.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2019/08/mock-rest-backend-server-for-angular.html#more"&gt;&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/BtSI67Yg0Q8/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Ionic 5 and Angular 8: Create a Welcome Page with Tabs Home Pages.</title><link>http://www.9lessons.info/2019/08/ionic-5-angular-8-welcome-page.html</link><category>android</category><category>angular</category><category>capacitor</category><category>ionic</category><category>ios</category><category>Mobile</category><category>welcome page</category><pubDate>Sun, 18 Aug 2019 21:20:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-7219596663220354644</guid><description>&lt;div class="bigInt" itemprop="description"&gt;I received lots of tutorial requests from my readers in that most of them asked me, how to use Ionic 5 to create a welcome page with login and signup pages. Ionic updated there code base with latest Angular 8 features. Now we can implement the routes and guards pretty easy way. Ionic is recommending to use Capacitor to generate iOS and Android. This post will explain to you how to design an Ionic project structure with social project related pages like messages, feed, notifications, etc. Finally converting this web Ionic project to iOS and Android applications. &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Ionic 5 and Angular 8:Create a Welcome Page with Login and Logout. " class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/new-ionic/ionic-welcome.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2019/08/ionic-5-angular-8-welcome-page.html#more"&gt;&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/e6HjwSxfoq8/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">10</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Microsoft Azure Virtual Machines Setup with Ubuntu and XAMPP PHP Server</title><link>http://www.9lessons.info/2019/08/azure-virtual-machines-setup-xampp.html</link><category>Azure</category><category>Cloud</category><category>Hosting</category><category>Microsoft</category><category>php</category><category>Web Services</category><category>xampp</category><pubDate>Tue, 6 Aug 2019 23:04:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-7996545794395387010</guid><description>&lt;div class="bigInt" itemprop="description"&gt;Microsoft Azure is another great alternate cloud service and it is offering a  one-year free trial with $200 credit. This post is almost similar to my previous &lt;a href="https://www.9lessons.info/2019/07/google-cloud-vm-instance-setup-with.html" target="_blank"&gt;Cloud service article&lt;/a&gt;. This will explain to you how to set up a virtual machine instance with secure firewall rules and setting up a XAMPP(PHP Maria DB Server) using the Ubuntu operating system. Microsoft Azure has lots of free project management services. This is very useful for your side projects. &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Google Cloud VM Instance Setup with Ubuntu and XAMPP PHP Server" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/azure/azure-cloud.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2019/08/azure-virtual-machines-setup-xampp.html#more"&gt;&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/xE8ekmUB5vM/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Google Cloud VM Instance Setup with Ubuntu and XAMPP PHP Server</title><link>http://www.9lessons.info/2019/07/google-cloud-vm-instance-setup-with.html</link><category>Cloud</category><category>google</category><category>php</category><category>ubuntu</category><category>Web Services</category><category>xampp</category><pubDate>Tue, 30 Jul 2019 18:11:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-3475278552702012082</guid><description>&lt;div class="bigInt" itemprop="description"&gt;Google cloud platform is a cloud computing service and a perfect alternate for Amazon Webservices. Nowadays most of the top companies are moving towards Google services for better results. Google cloud platform is offering a $300 free trial for one year. This post is about how to set up  VM instances with firewall rules in addition to creating a XAMPP server with Ubuntu operation system.  This is almost similar to my previous article about the &lt;a href="https://www.9lessons.info/2015/12/amazon-ec2-setup-with-ubuntu-and-xampp.html" target="_blank"&gt;Amazon EC2 setup&lt;/a&gt;. Try this and enrich your side projects.&lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Google Cloud VM Instance Setup with Ubuntu and XAMPP PHP Server" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/gcp/gcp.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2019/07/google-cloud-vm-instance-setup-with.html#more"&gt;&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/H_2hBvQtf8g/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item><item><title>Angular 8 Multi Tenants Architecture</title><link>http://www.9lessons.info/2019/07/angular-multi-tenant-project.html</link><category>angular</category><category>Architecture</category><category>Tenant</category><category>typescript</category><category>Web Development</category><pubDate>Mon, 1 Jul 2019 08:13:00 -0400</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-992226187759619576.post-6572969799331869938</guid><description>&lt;div class="bigInt" itemprop="description"&gt;Multi-tenants is an architecture concept that can handle multiple projects in a single project container. If you look at popular sites like Nike.com or Mi.com, you will find out the project redirection based on the continent or country region. This post more about understanding the Angular 8 project package configuration, using this how are we leveraging the project for multi-tenant architecture. &lt;/div&gt;&lt;br&gt;
&lt;div class="cen"&gt;&lt;img alt="Angular Multi Tenant Project" class="sri650" itemprop="image" src="https://github.com/srinivastamada/9lessonsImages/blob/master/other/angular-multi-tenant.png?raw=true"&gt;&lt;/div&gt;&lt;br&gt;
&lt;a href="http://www.9lessons.info/2019/07/angular-multi-tenant-project.html#more"&gt;&lt;/a&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/videoseries/default.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><author>srinivas.tamada@gmail.com (Srinivas Tamada)</author></item></channel></rss>