<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>front-end Archives - Petamind</title>
	<atom:link href="https://petaminds.com/category/full-stack/front-end/feed/" rel="self" type="application/rss+xml" />
	<link>https://petaminds.com/category/full-stack/front-end/</link>
	<description>A.I, Data and Software Engineering</description>
	<lastBuildDate>Wed, 05 Jun 2024 22:27:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://petaminds.com/wp-content/uploads/2019/09/ic_launcher.png</url>
	<title>front-end Archives - Petamind</title>
	<link>https://petaminds.com/category/full-stack/front-end/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How I build automated testing for the payment terminals</title>
		<link>https://petaminds.com/how-i-build-automated-testing-for-the-payment-terminals/</link>
					<comments>https://petaminds.com/how-i-build-automated-testing-for-the-payment-terminals/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Thu, 16 May 2024 00:27:17 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[back-end]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[full-stack]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[card]]></category>
		<category><![CDATA[DSS]]></category>
		<category><![CDATA[payment]]></category>
		<category><![CDATA[PCI]]></category>
		<category><![CDATA[test]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=5173</guid>

					<description><![CDATA[<p>Payment terminals are devices used to process card transactions and must undergo extensive certification before being released to the market. Therefore, it is essential to test them quickly and reliably. I named the project as Mastoo (code name: MR2). The MR2 architecture To achieve this, our team are building a solution for automation testing with [&#8230;]</p>
<p>The post <a href="https://petaminds.com/how-i-build-automated-testing-for-the-payment-terminals/">How I build automated testing for the payment terminals</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/how-i-build-automated-testing-for-the-payment-terminals/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MVVM vs MVI &#8211; Architecture for Mobile Development</title>
		<link>https://petaminds.com/mvvm-vs-mvi-architecture-for-mobile-development/</link>
					<comments>https://petaminds.com/mvvm-vs-mvi-architecture-for-mobile-development/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Fri, 05 Apr 2024 22:22:00 +0000</pubDate>
				<category><![CDATA[front-end]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[MVI]]></category>
		<category><![CDATA[MVVM]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=5191</guid>

					<description><![CDATA[<p>The Model-View-ViewModel (MVVM) and Model-View-Intent (MVI) are architectural patterns used in software development, particularly for structuring the code of user interface (UI) applications. Both patterns aim to separate concerns and manage the flow of data between the UI and the underlying data models, but they do so in different ways. Let&#8217;s explore both patterns with [&#8230;]</p>
<p>The post <a href="https://petaminds.com/mvvm-vs-mvi-architecture-for-mobile-development/">MVVM vs MVI &#8211; Architecture for Mobile Development</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/mvvm-vs-mvi-architecture-for-mobile-development/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Exploring Kotlin&#8217;s suspendCoroutine: A Guide with Examples</title>
		<link>https://petaminds.com/exploring-kotlins-suspendcoroutine-a-guide-with-examples/</link>
					<comments>https://petaminds.com/exploring-kotlins-suspendcoroutine-a-guide-with-examples/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Tue, 08 Aug 2023 22:51:56 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[full-stack]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[suspendCoroutine]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3948</guid>

					<description><![CDATA[<p>Introduction: Kotlin, with its modern syntax and powerful features, has taken the programming world by storm. One of its unique offerings is the suspendCoroutine function, a game-changer when it comes to handling asynchronous operations. In this article, we&#8217;ll dive into the world of suspendCoroutine, demystifying its usage and providing you with real-world examples to showcase [&#8230;]</p>
<p>The post <a href="https://petaminds.com/exploring-kotlins-suspendcoroutine-a-guide-with-examples/">Exploring Kotlin&#8217;s suspendCoroutine: A Guide with Examples</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/exploring-kotlins-suspendcoroutine-a-guide-with-examples/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Top 5 Most In-Demand Programming Languages to Learn for a Bright Future</title>
		<link>https://petaminds.com/the-top-5-most-in-demand-programming-languages-to-learn-for-a-bright-future/</link>
					<comments>https://petaminds.com/the-top-5-most-in-demand-programming-languages-to-learn-for-a-bright-future/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Wed, 02 Aug 2023 02:27:06 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[data science]]></category>
		<category><![CDATA[full-stack]]></category>
		<category><![CDATA[Research]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3931</guid>

					<description><![CDATA[<p>Introduction: In the fast-paced world of technology, staying ahead of the curve is crucial for aspiring programmers. As the demand for software developers continues to surge, knowing which programming languages are most sought-after can give you a competitive edge in the job market. In this article, we&#8217;ll explore the top five most in-demand programming languages [&#8230;]</p>
<p>The post <a href="https://petaminds.com/the-top-5-most-in-demand-programming-languages-to-learn-for-a-bright-future/">The Top 5 Most In-Demand Programming Languages to Learn for a Bright Future</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/the-top-5-most-in-demand-programming-languages-to-learn-for-a-bright-future/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Convert Callback Into Kotlin Coroutines Suspend or Deferred</title>
		<link>https://petaminds.com/convert-callback-into-kotlin-coroutines-suspend-or-deferred/</link>
					<comments>https://petaminds.com/convert-callback-into-kotlin-coroutines-suspend-or-deferred/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Thu, 28 Apr 2022 09:16:45 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[callback]]></category>
		<category><![CDATA[Coroutine]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[suspendCoroutine]]></category>
		<category><![CDATA[wrapper]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3718</guid>

					<description><![CDATA[<p>Since coroutine is a hot topic in mobile development, converting vanilla JVM callback into Kotlin Coroutines is desirable. The wrapping happens using something called&#160;SuspendCoroutine. What is a SuspendCoroutine suspendCoroutine&#160;is a builder function that mainly used to convert callbacks into&#160;suspend&#160;functions. Let&#8217;s say for example you have some legacy (or not) Api, that uses callbacks. You can [&#8230;]</p>
<p>The post <a href="https://petaminds.com/convert-callback-into-kotlin-coroutines-suspend-or-deferred/">Convert Callback Into Kotlin Coroutines Suspend or Deferred</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/convert-callback-into-kotlin-coroutines-suspend-or-deferred/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Best Android Image Loaders – 2022</title>
		<link>https://petaminds.com/best-android-image-loaders-2022/</link>
					<comments>https://petaminds.com/best-android-image-loaders-2022/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Tue, 29 Mar 2022 20:35:47 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Coil]]></category>
		<category><![CDATA[Glide]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[Loader]]></category>
		<category><![CDATA[Picasso]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3701</guid>

					<description><![CDATA[<p>In this article, we will explore some of the best Android image loaders for you. These are some of the most commonly used third-party libraries since Android SDK doesn’t provide a simple image loading solution for developers to use. Generally, you tend to have to implement one yourself or look at third-party libraries. Glide Glide [&#8230;]</p>
<p>The post <a href="https://petaminds.com/best-android-image-loaders-2022/">Best Android Image Loaders – 2022</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/best-android-image-loaders-2022/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Kotlin Scoping Functions apply vs. with, let, also, and run</title>
		<link>https://petaminds.com/kotlin-scoping-functions-apply-vs-with-let-also-and-run/</link>
					<comments>https://petaminds.com/kotlin-scoping-functions-apply-vs-with-let-also-and-run/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Sun, 27 Mar 2022 00:03:42 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Kotlin]]></category>
		<category><![CDATA[scoping]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3693</guid>

					<description><![CDATA[<p>Functional-style programming is highly advocated and supported by Kotlin’s syntax as well as a range of functions in Kotlin’s standard library. In this post we will examine five Kotlin scoping functions (aka higher-order functions): apply, with, let, also, and run. When learning these five functions, you will need to memorize 2 things:&#160;how&#160;to use them, and&#160;when&#160;to [&#8230;]</p>
<p>The post <a href="https://petaminds.com/kotlin-scoping-functions-apply-vs-with-let-also-and-run/">Kotlin Scoping Functions apply vs. with, let, also, and run</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/kotlin-scoping-functions-apply-vs-with-let-also-and-run/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Constraints with Android Worker</title>
		<link>https://petaminds.com/constraints-with-android-worker/</link>
					<comments>https://petaminds.com/constraints-with-android-worker/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Sat, 26 Mar 2022 01:19:11 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[constraints]]></category>
		<category><![CDATA[resume]]></category>
		<category><![CDATA[worker]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=3682</guid>

					<description><![CDATA[<p>Sometimes, we want our app to perform some background tasks under certain conditions, such as Battery level or network etc. With Worker and Constraints, we can conveniently achieve that. The example problem A worker class that prints a message to the console. We want this function doWork executes when the network is available or the [&#8230;]</p>
<p>The post <a href="https://petaminds.com/constraints-with-android-worker/">Constraints with Android Worker</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/constraints-with-android-worker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PETAMIND IS NOW LIVING ON AWS</title>
		<link>https://petaminds.com/petamind-is-now-living-on-aws/</link>
					<comments>https://petaminds.com/petamind-is-now-living-on-aws/#respond</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Sat, 02 Oct 2021 19:12:28 +0000</pubDate>
				<category><![CDATA[back-end]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[full-stack]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[mirgration]]></category>
		<guid isPermaLink="false">http://13.238.174.212/?p=3170</guid>

					<description><![CDATA[<p>After 3 years residing on Google Cloud, we decided to move to AWS. GC is generally OK, however, there is some issue related to the architecture of the previous one that may hinder the future scalability! As such, we decided to re-architecture the site and its workload for the future. There may be some issues [&#8230;]</p>
<p>The post <a href="https://petaminds.com/petamind-is-now-living-on-aws/">PETAMIND IS NOW LIVING ON AWS</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/petamind-is-now-living-on-aws/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WHY DO WE NEED TO OVERRIDE EQUALS AND HASHCODE METHODS IN JAVA/Kotlin</title>
		<link>https://petaminds.com/why-do-we-need-to-override-equals-and-hashcode-methods-in-java-kotlin/</link>
					<comments>https://petaminds.com/why-do-we-need-to-override-equals-and-hashcode-methods-in-java-kotlin/#comments</comments>
		
		<dc:creator><![CDATA[Tung Nguyen]]></dc:creator>
		<pubDate>Fri, 19 Mar 2021 02:12:56 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[back-end]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[equals]]></category>
		<category><![CDATA[hashcode]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Kotlin]]></category>
		<guid isPermaLink="false">https://petaminds.com/?p=2889</guid>

					<description><![CDATA[<p>In this post, we will discuss why it is important to&#160;override equals and hashCode method&#160;in Java/Kotlin. Item 9 in Josh Bloch’s Effective Java suggests always override&#160;hashCode()&#160;method if the class overrides&#160;equals(). In this post, we will discuss why this is necessary and good practice. &#160;We know that two objects are considered equal only if their references [&#8230;]</p>
<p>The post <a href="https://petaminds.com/why-do-we-need-to-override-equals-and-hashcode-methods-in-java-kotlin/">WHY DO WE NEED TO OVERRIDE EQUALS AND HASHCODE METHODS IN JAVA/Kotlin</a> appeared first on <a href="https://petaminds.com">Petamind</a>.</p>
]]></description>
		
					<wfw:commentRss>https://petaminds.com/why-do-we-need-to-override-equals-and-hashcode-methods-in-java-kotlin/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
