<?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>Oracle</title><description>PLSQL</description><managingEditor>noreply@blogger.com (Unknown)</managingEditor><pubDate>Mon, 7 Sep 2026 22:21:27 +0530</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">230</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://oracle-plsql10g.blogspot.com/</link><language>en-us</language><itunes:explicit>yes</itunes:explicit><copyright>Oracle4u.com</copyright><itunes:keywords>Oracle</itunes:keywords><itunes:summary>Oracle</itunes:summary><itunes:subtitle>Oracle</itunes:subtitle><itunes:category text="Technology"><itunes:category text="Software How-To"/></itunes:category><itunes:author>Oracle4u.com</itunes:author><itunes:owner><itunes:email>oracleplsql10g@gmail.com</itunes:email><itunes:name>Oracle4u.com</itunes:name></itunes:owner><xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item><title>Purchasing model</title><link>http://oracle-plsql10g.blogspot.com/2026/01/purchasing-model.html</link><category>Azure</category><pubDate>Mon, 5 Jan 2026 22:31:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-2119036080041247829</guid><description>&lt;p&gt;&amp;nbsp;&lt;span style="background-color: white; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px;"&gt;A SQL Server running in an Azure virtual machine (IaaS) is equivalent to an on-premises SQL Server. You'll notice that several features described for SQL Server on Azure virtual machine are applicable to all your on-premises SQL Servers.&lt;/span&gt;&lt;/p&gt;&lt;p style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;Many applications require SQL Server running on a virtual machine. The reasons include:&lt;/p&gt;&lt;ul style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; list-style: none; margin-inline-start: 38px; margin: 16px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;&lt;li style="box-sizing: inherit; list-style: outside; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"&gt;&lt;p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;&lt;span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;"&gt;General application support and incompatibility&lt;/span&gt;&amp;nbsp;- For applications requiring an older version of SQL Server for vendor support. In addition, some application services may have a requirement to be installed with the database instance in a manner that isn't compatible with a PaaS offering.&lt;/p&gt;&lt;/li&gt;&lt;li style="box-sizing: inherit; list-style: outside; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"&gt;&lt;p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;&lt;span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;"&gt;Use of other SQL Server Services&lt;/span&gt;&amp;nbsp;- In order to maximize licensing, many users choose to run SQL Server Analysis Services (SSAS), SQL Server Integration Services (SSIS), and/or SQL Server Reporting Services (SSRS) on the same machine as the database engine.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="versions-of-sql-server-available" style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: clamp(1.59375rem, 18.7895px + 1.39803vw, 2.125rem); line-height: 1.3; margin: 32px 0px 12px; outline-color: inherit; padding: 0px;"&gt;Versions of SQL Server available&lt;/h2&gt;&lt;p style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;Microsoft keeps images of all supported versions of SQL Server available in the Azure Marketplace. If you require an older version that is covered by an extended support contract, you'll need to install your own SQL Server binaries.&lt;/p&gt;&lt;h2 id="backup-solutions" style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: clamp(1.59375rem, 18.7895px + 1.39803vw, 2.125rem); line-height: 1.3; margin: 32px 0px 12px; outline-color: inherit; padding: 0px;"&gt;Backup solutions&lt;/h2&gt;&lt;p style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;In recent releases of SQL Server, Microsoft has introduced several features to support running SQL Server in an Azure virtual machine. We're going to focus on two key backup features:&lt;/p&gt;&lt;ul style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; list-style: none; margin-inline-start: 38px; margin: 16px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;&lt;li style="box-sizing: inherit; list-style: outside; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"&gt;Back up to URL&lt;/li&gt;&lt;li style="box-sizing: inherit; list-style: outside; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"&gt;Azure Backup&lt;/li&gt;&lt;/ul&gt;&lt;p style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;The back up to URL option enables you to back up your databases to Azure Blob Storage service. Azure Backup for SQL Server Virtual Machines provides a comprehensive enterprise backup solution that automatically manages your backups across your entire infrastructure.&lt;/p&gt;&lt;h2 id="deployment-options" style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: clamp(1.59375rem, 18.7895px + 1.39803vw, 2.125rem); line-height: 1.3; margin: 32px 0px 12px; outline-color: inherit; padding: 0px;"&gt;Deployment options&lt;/h2&gt;&lt;div&gt;&lt;span style="background-color: white; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px;"&gt;All resources in Azure are managed and deployed through a common provider known as Azure Resource Manager. While there are various methods to deploy Azure resources, they ultimately converge into JSON documents called Azure Resource Manager templates, which serve as one of the deployment options for Azure resources.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;h2 id="overview-of-azure-storage" style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: clamp(1.59375rem, 18.7895px + 1.39803vw, 2.125rem); line-height: 1.3; margin: 32px 0px 12px; outline-color: inherit; padding: 0px;"&gt;Overview of Azure storage&lt;/h2&gt;&lt;p style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;Azure offers a fully redundant object-based storage model, and there are a few things to be aware of in designing and deploying Virtual Machines architecture. In terms of virtual machines, there are four types of storage you can use:&lt;/p&gt;&lt;ul style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; list-style: none; margin-inline-start: 38px; margin: 16px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;&lt;li style="box-sizing: inherit; list-style: outside; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"&gt;Standard&lt;/li&gt;&lt;li style="box-sizing: inherit; list-style: outside; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"&gt;Standard SSD&lt;/li&gt;&lt;li style="box-sizing: inherit; list-style: outside; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"&gt;Premium SSD&lt;/li&gt;&lt;li style="box-sizing: inherit; list-style: outside; margin: 0px; outline-color: inherit; outline-style: initial; outline-width: 0px; padding: 0px;"&gt;Ultra Disk&lt;/li&gt;&lt;/ul&gt;&lt;p style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;For production SQL Server data and transaction log files, you should only use Premium SSD storage and Ultra Disk. With premium storage, you see latencies in the range of 5-10 ms on a properly configured system. Alternatively, with Ultra Disk you may have sub millisecond latency but will likely see 1-2 ms workloads in the real world. You can use Standard storage for your database backups, as the performance is adequate for most backup and restore workloads.&lt;br /&gt;&lt;/p&gt;&lt;h2 id="high-availability-in-azure" style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: clamp(1.59375rem, 18.7895px + 1.39803vw, 2.125rem); line-height: 1.3; margin: 32px 0px 12px; outline-color: inherit; padding: 0px;"&gt;High availability in Azure&lt;/h2&gt;&lt;p style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;The Azure platform is designed to be fault tolerant and provides quick recovery from service disruptions and transient errors. In fact, many organizations see higher levels of availability in single virtual machines deployments than they previously experienced in their on-premises environments. Microsoft guarantees uptime of at least 99.9% for single instance Azure virtual machine, when using Premium SSD or Ultra Disk for all disks.&lt;br /&gt;&lt;br /&gt;Azure SQL Database is a Platform as a Service (PaaS) that provides high scalability capabilities, and it can be a great solution for certain workloads, and requires minimal maintenance efforts.&lt;br /&gt;&lt;/p&gt;&lt;h2 id="purchasing-model" style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: clamp(1.59375rem, 18.7895px + 1.39803vw, 2.125rem); line-height: 1.3; margin: 32px 0px 12px; outline-color: inherit; padding: 0px;"&gt;Purchasing model&lt;/h2&gt;&lt;p style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;SQL Database comes in two main purchasing models: vCore-based model and DTU-based model. Each purchasing model offers the following service tiers:&lt;/p&gt;&lt;h3 id="vcore-based" style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: clamp(1.3125rem, 15.4737px + 1.15132vw, 1.75rem); line-height: 1.3; margin: 30px 0px 18px; outline-color: inherit; padding: 0px;"&gt;vCore-based&lt;/h3&gt;&lt;p style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;In this purchasing model, compute and storage resources are decoupled. It means you can scale storage and compute resources independently from one another. Here are listed the service tiers available:&lt;/p&gt;&lt;div class="inner-focus" style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; outline-color: inherit;"&gt;&lt;table aria-label="vCore-based" class="table" style="border-collapse: collapse; border-color: rgb(209, 209, 209); border-image: none 100% / 1 / 0 stretch; border-spacing: 0px; border-style: solid; border-width: 1px; box-sizing: inherit; font-size: 0.875rem; margin-top: 1rem; outline-color: inherit; table-layout: auto; width: 862px;"&gt;&lt;thead style="box-sizing: inherit; outline-color: inherit;"&gt;&lt;tr style="box-sizing: inherit; outline-color: inherit;"&gt;&lt;th style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; text-align: left; vertical-align: top;"&gt;Service tier&lt;/th&gt;&lt;th style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; text-align: left; vertical-align: top;"&gt;Capability&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style="box-sizing: inherit; outline-color: inherit;"&gt;&lt;tr style="box-sizing: inherit; outline-color: inherit;"&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;General Purpose&lt;/td&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;This service tier is designed for less intensive operations, and offers budget oriented balanced compute and storage options. It provides both provisioned compute tier and server less compute tier.&lt;/td&gt;&lt;/tr&gt;&lt;tr style="box-sizing: inherit; outline-color: inherit;"&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;Business Critical&lt;/td&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;This service tier supports In-Memory OLTP, and built-in read-only replica. It also includes more memory per core, and uses local SSD storage, which is designed for performance-sensitive workloads.&lt;/td&gt;&lt;/tr&gt;&lt;tr style="box-sizing: inherit; outline-color: inherit;"&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;Hyperscale&lt;/td&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;Hyperscale introduces horizontal scaling features that use advanced techniques to add compute nodes as the data sizes grow. It's only supported on single SQL database. Hyperscale allows you to scale storage and compute resources significantly over the limits available for the General Purpose and Business Critical service tiers.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="inner-focus" style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 16px; outline-color: inherit;"&gt;&lt;h3 id="dtu-based" style="box-sizing: inherit; font-size: clamp(1.3125rem, 15.4737px + 1.15132vw, 1.75rem); line-height: 1.3; margin: 30px 0px 18px; outline-color: inherit; padding: 0px;"&gt;DTU-based&lt;/h3&gt;&lt;p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;In the DTU model, there are three service tiers available: Basic, Standard, and Premium. Compute and storage resources are dependent on the DTU level, and they provide a range of performance capabilities at a fixed storage limit, backup retention, and cost.&lt;/p&gt;&lt;p style="box-sizing: inherit; margin: 1rem 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px;"&gt;For example, if your database grows to the point it reaches the maximum storage limit, you would need to increase your DTU capacity, even if the compute utilization is low.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Microsoft Intelligent Data Platform roles</title><link>http://oracle-plsql10g.blogspot.com/2026/01/microsoft-intelligent-data-platform.html</link><category>Azure</category><pubDate>Mon, 5 Jan 2026 21:05:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-2267155837753954456</guid><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;table aria-label="Table 1" class="table" style="background-color: white; border-collapse: collapse; border-color: rgb(209, 209, 209); border-image: none 100% / 1 / 0 stretch; border-spacing: 0px; border-style: solid; border-width: 1px; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, &amp;quot;Segoe UI Variable Text&amp;quot;, -apple-system, BlinkMacSystemFont, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 0.875rem; margin-top: 1rem; outline-color: inherit; table-layout: auto; width: 862px;"&gt;&lt;thead style="box-sizing: inherit; outline-color: inherit;"&gt;&lt;tr style="box-sizing: inherit; outline-color: inherit;"&gt;&lt;th style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; text-align: left; vertical-align: top;"&gt;Role&lt;/th&gt;&lt;th style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; text-align: left; vertical-align: top;"&gt;Definition&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody style="box-sizing: inherit; outline-color: inherit;"&gt;&lt;tr style="box-sizing: inherit; outline-color: inherit;"&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;&lt;span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;"&gt;Azure Data Engineer&lt;/span&gt;&lt;/td&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;Design and implement the management, monitoring, security, and privacy of data using the full stack of Azure data services to satisfy business needs.&lt;/td&gt;&lt;/tr&gt;&lt;tr style="box-sizing: inherit; outline-color: inherit;"&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;&lt;span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;"&gt;Azure Data Analyst&lt;/span&gt;&lt;/td&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;Enable businesses to maximize the value of their data assets by using Microsoft Power BI. As a subject matter expert, Data Analysts are responsible for designing and building scalable data models, cleaning and transforming data, and enabling advanced analytic capabilities that provide meaningful business value through easy-to-comprehend data visualizations.&lt;/td&gt;&lt;/tr&gt;&lt;tr style="box-sizing: inherit; outline-color: inherit;"&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;&lt;span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;"&gt;Azure Data Scientist&lt;/span&gt;&lt;/td&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;Applies their knowledge of data science and machine learning to implement and run machine learning workloads on Azure; in particular, using Azure Machine Learning Service.&lt;/td&gt;&lt;/tr&gt;&lt;tr style="box-sizing: inherit; outline-color: inherit;"&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;&lt;span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;"&gt;Azure Artificial Intelligence Engineer&lt;/span&gt;&lt;/td&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;Use Cognitive Services, Machine Learning, and Knowledge Mining to architect and implement Microsoft AI solutions involving natural language processing, speech, computer vision, bots, and agents.&lt;/td&gt;&lt;/tr&gt;&lt;tr style="box-sizing: inherit; outline-color: inherit;"&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;&lt;span style="box-sizing: inherit; font-weight: 600; outline-color: inherit;"&gt;Azure Database Administrator&lt;/span&gt;&lt;/td&gt;&lt;td style="border-block-start: 1px solid rgb(209, 209, 209); box-sizing: inherit; line-height: 1.5; outline-color: inherit; overflow-wrap: break-word; padding: 1rem 1.25rem; vertical-align: top;"&gt;Implements and manages the operational aspects of cloud-native and hybrid data platform solutions built on Microsoft Azure data services and Microsoft SQL Server. The Azure Database Administrator uses a variety of methods and tools to perform day-to-day operations, including applying knowledge of using T-SQL for administrative management purposes.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title> Transformer</title><link>http://oracle-plsql10g.blogspot.com/2025/10/transformer.html</link><pubDate>Sun, 12 Oct 2025 14:47:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-6770862197941425837</guid><description>&lt;p&gt;&amp;nbsp;&lt;span style="background-color: white; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px;"&gt;Transformer models are used to solve all kinds of tasks across different modalities, including natural language processing (NLP), computer vision, audio processing, and more&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: white; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px;"&gt;The most basic object in the &#129303; Transformers library is the&amp;nbsp;&lt;/span&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;pipeline()&lt;/code&gt;&lt;span style="background-color: white; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px;"&gt;function. It connects a model with its necessary preprocessing and postprocessing steps, allowing us to directly input any text and get an intelligible answer:&lt;/span&gt;&lt;/p&gt;&lt;div class="code-block relative " style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; margin-inline: 0px; margin: 0px; padding: 0px; position: relative;"&gt;&lt;div class="absolute top-2.5 right-4" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px; position: absolute; right: 16px; top: 10px;"&gt;&lt;button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5   text-gray-600 " style="--tw-duration: .2s; --tw-ease: cubic-bezier(.4,0,.2,1); --tw-font-weight: 400; align-items: center; appearance: button; border-color: oklch(0.928 0.006 264.531); border-radius: 0px; border-style: solid; border-width: 0px; color: oklch(0.446 0.03 256.802); cursor: pointer; display: inline-flex; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 400; letter-spacing: inherit; line-height: 20px; margin-inline: 2px; margin: 0px; opacity: 0; padding: 0px; position: relative; transition-duration: 0.2s; transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);" title="code excerpt" type="button"&gt;&lt;svg aria-hidden="true" class="" fill="currentColor" focusable="false" height="1em" preserveaspectratio="xMidYMid meet" role="img" viewbox="0 0 32 32" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"&gt;&lt;/path&gt;&lt;path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"&gt;&lt;/path&gt;&lt;rect fill="none" height="32" width="32"&gt;&lt;/rect&gt;&lt;/svg&gt;&lt;div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0" style="--tw-font-weight: 400; --tw-leading: 1.25; --tw-shadow: 0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a; --tw-translate-x: -50%; --tw-translate-y: calc(.25rem*2); background-color: black; border-radius: 0.25rem; border: 0px solid oklch(0.928 0.006 264.531); box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.1) 0px 1px 2px -1px; box-sizing: border-box; color: white; left: 7px; line-height: 1.25; margin: 0px; opacity: 0; padding-block: 4px; padding-inline: 8px; padding: 0px; pointer-events: none; position: absolute; top: 14px; transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) skewX(0deg) skewY(0deg); transition-duration: 0.15s; transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); translate: -50% 8px;"&gt;&lt;div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="--tw-translate-x: -50%; border-color: rgb(0, 0, 0) transparent; border-image: initial; border-style: solid; border-width: 0px 4px 4px; bottom: 25.5px; box-sizing: border-box; height: 0px; left: 28.75px; margin: 0px; padding: 0px; position: absolute; transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) skewX(0deg) skewY(0deg); translate: -50%; width: 0px;"&gt;&lt;/div&gt;Copied&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;pre class="" style="background-color: #f9fafb; border-radius: 0.375rem; border: 1px solid oklch(0.967 0.003 264.542); box-sizing: border-box; color: currentcolor; font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 0.875em; font-variation-settings: normal; line-height: 1.71429; margin: 1.71429em 0px; overflow-x: auto; padding-inline: 1.14286em; padding: 0.857143em 0px;"&gt;&lt;span class="hljs-keyword" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #a626a4; margin: 0px; padding: 0px;"&gt;from&lt;/span&gt; transformers &lt;span class="hljs-keyword" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #a626a4; margin: 0px; padding: 0px;"&gt;import&lt;/span&gt; pipeline

classifier = pipeline(&lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;"sentiment-analysis"&lt;/span&gt;)
classifier(&lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;"I've been waiting for a HuggingFace course my whole life."&lt;/span&gt;)&lt;/pre&gt;&lt;/div&gt;&lt;div class="code-block relative " style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; line-height: 24px; margin-inline: 0px; margin: 0px; padding: 0px; position: relative;"&gt;&lt;div class="absolute top-2.5 right-4" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; margin: 0px; padding: 0px; position: absolute; right: 16px; top: 10px;"&gt;&lt;button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out false mx-0.5   text-gray-600 " style="--tw-duration: .2s; --tw-ease: cubic-bezier(.4,0,.2,1); --tw-font-weight: 400; align-items: center; appearance: button; border-color: oklch(0.928 0.006 264.531); border-radius: 0px; border-style: solid; border-width: 0px; color: oklch(0.446 0.03 256.802); cursor: pointer; display: inline-flex; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 400; letter-spacing: inherit; line-height: 20px; margin-inline: 2px; margin: 0px; opacity: 1; padding: 0px; position: relative; transition-duration: 0.2s; transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);" title="code excerpt" type="button"&gt;&lt;svg aria-hidden="true" class="" fill="currentColor" focusable="false" height="1em" preserveaspectratio="xMidYMid meet" role="img" viewbox="0 0 32 32" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"&gt;&lt;/path&gt;&lt;path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"&gt;&lt;/path&gt;&lt;rect fill="none" height="32" width="32"&gt;&lt;/rect&gt;&lt;/svg&gt;&lt;div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0" style="--tw-font-weight: 400; --tw-leading: 1.25; --tw-shadow: 0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a; --tw-translate-x: -50%; --tw-translate-y: calc(.25rem*2); background-color: black; border-radius: 0.25rem; border: 0px solid oklch(0.928 0.006 264.531); box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.1) 0px 1px 2px -1px; box-sizing: border-box; color: white; left: 7px; line-height: 1.25; margin: 0px; opacity: 0; padding-block: 4px; padding-inline: 8px; padding: 0px; pointer-events: none; position: absolute; top: 14px; transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) skewX(0deg) skewY(0deg); transition-duration: 0.15s; transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); translate: -50% 8px;"&gt;&lt;div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="--tw-translate-x: -50%; border-color: rgb(0, 0, 0) transparent; border-image: initial; border-style: solid; border-width: 0px 4px 4px; bottom: 25.5px; box-sizing: border-box; height: 0px; left: 28.75px; margin: 0px; padding: 0px; position: absolute; transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) skewX(0deg) skewY(0deg); translate: -50%; width: 0px;"&gt;&lt;/div&gt;Copied&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;pre class="" style="background-color: #f9fafb; border-radius: 0.375rem; border: 1px solid oklch(0.967 0.003 264.542); box-sizing: border-box; color: currentcolor; font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 0.875em; font-variation-settings: normal; line-height: 1.71429; margin: 1.71429em 0px; overflow-x: auto; padding-inline: 1.14286em; padding: 0.857143em 0px;"&gt;[{&lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'label'&lt;/span&gt;: &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'POSITIVE'&lt;/span&gt;, &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'score'&lt;/span&gt;: &lt;span class="hljs-number" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #986801; margin: 0px; padding: 0px;"&gt;0.9598047137260437&lt;/span&gt;}]&lt;/pre&gt;&lt;pre class="" style="background-color: #f9fafb; border-radius: 0.375rem; border: 1px solid oklch(0.967 0.003 264.542); box-sizing: border-box; color: currentcolor; font-feature-settings: normal; font-variation-settings: normal; line-height: 1.71429; margin: 1.71429em 0px; overflow-x: auto; padding-inline: 1.14286em; padding: 0.857143em 0px;"&gt;&lt;p data-svelte-h="svelte-jys5vv" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 1.25em 0px; padding: 0px; white-space: normal;"&gt;By default, this pipeline selects a particular pretrained model that has been fine-tuned for sentiment analysis in English. The model is downloaded and cached when you create the&amp;nbsp;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;classifier&lt;/code&gt;&amp;nbsp;object. If you rerun the command, the cached model will be used instead and there is no need to download the model again.&lt;/p&gt;&lt;p data-svelte-h="svelte-1q1a180" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 1.25em 0px; padding: 0px; white-space: normal;"&gt;There are three main steps involved when you pass some text to a pipeline:&lt;/p&gt;&lt;ol data-svelte-h="svelte-1rhh8ih" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; list-style-image: initial; list-style-position: initial; margin: 1.25em 0px; padding-inline-start: 1.625em; padding: 0px; white-space: normal;"&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;The text is preprocessed into a format the model can understand.&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;The preprocessed inputs are passed to the model.&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;The predictions of the model are post-processed, so you can make sense of them&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span style="background-color: white; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; white-space: normal;"&gt;The&amp;nbsp;&lt;/span&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px; white-space: normal;"&gt;pipeline()&lt;/code&gt;&lt;span style="background-color: white; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; white-space: normal;"&gt;&amp;nbsp;function supports multiple modalities, allowing you to work with text, images, audio, and even multimodal tasks&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: white; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; white-space: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;h3 class="relative group" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18px; line-height: 28px; margin: 1.6em 0px 1.3rem; padding: 0px; position: relative; white-space: normal;"&gt;&lt;span style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Text pipelines&lt;/span&gt;&lt;/h3&gt;&lt;ul data-svelte-h="svelte-pzpgoa" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 1.25em; padding-inline-start: 1.625em; padding: 0px; white-space: normal;"&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;text-generation&lt;/code&gt;: Generate text from a prompt&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;text-classification&lt;/code&gt;: Classify text into predefined categories&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;summarization&lt;/code&gt;: Create a shorter version of a text while preserving key information&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;translation&lt;/code&gt;: Translate text from one language to another&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;zero-shot-classification&lt;/code&gt;: Classify text without prior training on specific labels&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;feature-extraction&lt;/code&gt;: Extract vector representations of text&lt;/li&gt;&lt;/ul&gt;&lt;h3 class="relative group" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18px; line-height: 28px; margin: 1.6em 0px 1.3rem; padding: 0px; position: relative; white-space: normal;"&gt;&lt;a class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="https://huggingface.co/learn/llm-course/chapter1/3#image-pipelines" id="image-pipelines" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); display: block; font-weight: 500; line-height: 28px; margin: 0px; opacity: 0; padding: 6px; position: absolute; right: 715px;"&gt;&lt;span style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px;"&gt;&lt;svg aria-hidden="true" class="" height="1em" preserveaspectratio="xMidYMid meet" role="img" viewbox="0 0 256 256" width="1em" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Image pipelines&lt;/span&gt;&lt;/h3&gt;&lt;ul data-svelte-h="svelte-1h0rsj1" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 1.25em; padding-inline-start: 1.625em; padding: 0px; white-space: normal;"&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;image-to-text&lt;/code&gt;: Generate text descriptions of images&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;image-classification&lt;/code&gt;: Identify objects in an image&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;object-detection&lt;/code&gt;: Locate and identify objects in images&lt;/li&gt;&lt;/ul&gt;&lt;h3 class="relative group" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18px; line-height: 28px; margin: 1.6em 0px 1.3rem; padding: 0px; position: relative; white-space: normal;"&gt;&lt;a class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="https://huggingface.co/learn/llm-course/chapter1/3#audio-pipelines" id="audio-pipelines" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); display: block; font-weight: 500; line-height: 28px; margin: 0px; opacity: 0; padding: 6px; position: absolute; right: 715px;"&gt;&lt;span style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px;"&gt;&lt;svg aria-hidden="true" class="" height="1em" preserveaspectratio="xMidYMid meet" role="img" viewbox="0 0 256 256" width="1em" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Audio pipelines&lt;/span&gt;&lt;/h3&gt;&lt;ul data-svelte-h="svelte-1xunpep" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 1.25em; padding-inline-start: 1.625em; padding: 0px; white-space: normal;"&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;automatic-speech-recognition&lt;/code&gt;: Convert speech to text&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;audio-classification&lt;/code&gt;: Classify audio into categories&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;text-to-speech&lt;/code&gt;: Convert text to spoken audio&lt;/li&gt;&lt;/ul&gt;&lt;h3 class="relative group" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 18px; line-height: 28px; margin: 1.6em 0px 1.3rem; padding: 0px; position: relative; white-space: normal;"&gt;&lt;a class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="https://huggingface.co/learn/llm-course/chapter1/3#multimodal-pipelines" id="multimodal-pipelines" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); display: block; font-weight: 500; line-height: 28px; margin: 0px; opacity: 0; padding: 6px; position: absolute; right: 715px;"&gt;&lt;span style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px;"&gt;&lt;svg aria-hidden="true" class="" height="1em" preserveaspectratio="xMidYMid meet" role="img" viewbox="0 0 256 256" width="1em" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Multimodal pipelines&lt;/span&gt;&lt;/h3&gt;&lt;ul data-svelte-h="svelte-155nng9" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 1.25em; padding-inline-start: 1.625em; padding: 0px; white-space: normal;"&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;image-text-to-text&lt;/code&gt;: Respond to an image based on a text prompt&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;p data-svelte-h="svelte-xhgi5j" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 0px 0px 1.25em; padding: 0px; white-space: normal;"&gt;This is a common scenario in real-world projects because annotating text is usually time-consuming and requires domain expertise. For this use case, the&amp;nbsp;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;zero-shot-classification&lt;/code&gt;&amp;nbsp;pipeline is very powerful: it allows you to specify which labels to use for the classification, so you don’t have to rely on the labels of the pretrained model. You’ve already seen how the model can classify a sentence as positive or negative using those two labels — but it can also classify the text using any other set of labels you like.&lt;/p&gt;&lt;div class="code-block relative " style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; margin-inline: 0px; margin: 0px; padding: 0px; position: relative; white-space: normal;"&gt;&lt;div class="absolute top-2.5 right-4" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px; position: absolute; right: 16px; top: 10px;"&gt;&lt;button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5   text-gray-600 " style="--tw-duration: .2s; --tw-ease: cubic-bezier(.4,0,.2,1); --tw-font-weight: 400; align-items: center; appearance: button; border-color: oklch(0.928 0.006 264.531); border-radius: 0px; border-style: solid; border-width: 0px; color: oklch(0.446 0.03 256.802); cursor: pointer; display: inline-flex; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 400; letter-spacing: inherit; line-height: 20px; margin-inline: 2px; margin: 0px; opacity: 0; padding: 0px; position: relative; transition-duration: 0.2s; transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);" title="code excerpt" type="button"&gt;&lt;svg aria-hidden="true" class="" fill="currentColor" focusable="false" height="1em" preserveaspectratio="xMidYMid meet" role="img" viewbox="0 0 32 32" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"&gt;&lt;/path&gt;&lt;path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"&gt;&lt;/path&gt;&lt;rect fill="none" height="32" width="32"&gt;&lt;/rect&gt;&lt;/svg&gt;&lt;div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0" style="--tw-font-weight: 400; --tw-leading: 1.25; --tw-shadow: 0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a; --tw-translate-x: -50%; --tw-translate-y: calc(.25rem*2); background-color: black; border-radius: 0.25rem; border: 0px solid oklch(0.928 0.006 264.531); box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.1) 0px 1px 2px -1px; box-sizing: border-box; color: white; left: 7px; line-height: 1.25; margin: 0px; opacity: 0; padding-block: 4px; padding-inline: 8px; padding: 0px; pointer-events: none; position: absolute; top: 14px; transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) skewX(0deg) skewY(0deg); transition-duration: 0.15s; transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); translate: -50% 8px;"&gt;&lt;div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="--tw-translate-x: -50%; border-color: rgb(0, 0, 0) transparent; border-image: initial; border-style: solid; border-width: 0px 4px 4px; bottom: 25.5px; box-sizing: border-box; height: 0px; left: 28.75px; margin: 0px; padding: 0px; position: absolute; transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) skewX(0deg) skewY(0deg); translate: -50%; width: 0px;"&gt;&lt;/div&gt;Copied&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;pre class="" style="background-color: #f9fafb; border-radius: 0.375rem; border: 1px solid oklch(0.967 0.003 264.542); box-sizing: border-box; color: currentcolor; font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 0.875em; font-variation-settings: normal; line-height: 1.71429; margin: 1.71429em 0px; overflow-x: auto; padding-inline: 1.14286em; padding: 0.857143em 0px;"&gt;&lt;span class="hljs-keyword" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #a626a4; margin: 0px; padding: 0px;"&gt;from&lt;/span&gt; transformers &lt;span class="hljs-keyword" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #a626a4; margin: 0px; padding: 0px;"&gt;import&lt;/span&gt; pipeline

classifier = pipeline(&lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;"zero-shot-classification"&lt;/span&gt;)
classifier(
    &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;"This is a course about the Transformers library"&lt;/span&gt;,
    candidate_labels=[&lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;"education"&lt;/span&gt;, &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;"politics"&lt;/span&gt;, &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;"business"&lt;/span&gt;],
)&lt;/pre&gt;&lt;/div&gt;&lt;div class="code-block relative " style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; margin-inline: 0px; margin: 0px; padding: 0px; position: relative; white-space: normal;"&gt;&lt;div class="absolute top-2.5 right-4" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px; position: absolute; right: 16px; top: 10px;"&gt;&lt;button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5   text-gray-600 " style="--tw-duration: .2s; --tw-ease: cubic-bezier(.4,0,.2,1); --tw-font-weight: 400; align-items: center; appearance: button; border-color: oklch(0.928 0.006 264.531); border-radius: 0px; border-style: solid; border-width: 0px; color: oklch(0.446 0.03 256.802); cursor: pointer; display: inline-flex; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 400; letter-spacing: inherit; line-height: 20px; margin-inline: 2px; margin: 0px; opacity: 0; padding: 0px; position: relative; transition-duration: 0.2s; transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);" title="code excerpt" type="button"&gt;&lt;svg aria-hidden="true" class="" fill="currentColor" focusable="false" height="1em" preserveaspectratio="xMidYMid meet" role="img" viewbox="0 0 32 32" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"&gt;&lt;/path&gt;&lt;path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"&gt;&lt;/path&gt;&lt;rect fill="none" height="32" width="32"&gt;&lt;/rect&gt;&lt;/svg&gt;&lt;div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0" style="--tw-font-weight: 400; --tw-leading: 1.25; --tw-shadow: 0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a; --tw-translate-x: -50%; --tw-translate-y: calc(.25rem*2); background-color: black; border-radius: 0.25rem; border: 0px solid oklch(0.928 0.006 264.531); box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.1) 0px 1px 2px -1px; box-sizing: border-box; color: white; left: 7px; line-height: 1.25; margin: 0px; opacity: 0; padding-block: 4px; padding-inline: 8px; padding: 0px; pointer-events: none; position: absolute; top: 14px; transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) skewX(0deg) skewY(0deg); transition-duration: 0.15s; transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); translate: -50% 8px;"&gt;&lt;div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="--tw-translate-x: -50%; border-color: rgb(0, 0, 0) transparent; border-image: initial; border-style: solid; border-width: 0px 4px 4px; bottom: 25.5px; box-sizing: border-box; height: 0px; left: 28.75px; margin: 0px; padding: 0px; position: absolute; transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) skewX(0deg) skewY(0deg); translate: -50%; width: 0px;"&gt;&lt;/div&gt;Copied&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;pre class="" style="background-color: #f9fafb; border-radius: 0.375rem; border: 1px solid oklch(0.967 0.003 264.542); box-sizing: border-box; color: currentcolor; font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 0.875em; font-variation-settings: normal; line-height: 1.71429; margin: 1.71429em 0px; overflow-x: auto; padding-inline: 1.14286em; padding: 0.857143em 0px;"&gt;{&lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'sequence'&lt;/span&gt;: &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'This is a course about the Transformers library'&lt;/span&gt;,
 &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'labels'&lt;/span&gt;: [&lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'education'&lt;/span&gt;, &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'business'&lt;/span&gt;, &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'politics'&lt;/span&gt;],
 &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'scores'&lt;/span&gt;: [&lt;span class="hljs-number" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #986801; margin: 0px; padding: 0px;"&gt;0.8445963859558105&lt;/span&gt;, &lt;span class="hljs-number" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #986801; margin: 0px; padding: 0px;"&gt;0.111976258456707&lt;/span&gt;, &lt;span class="hljs-number" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #986801; margin: 0px; padding: 0px;"&gt;0.043427448719739914&lt;/span&gt;]}&lt;/pre&gt;&lt;/div&gt;&lt;p data-svelte-h="svelte-1btjldd" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 1.25em 0px; padding: 0px; white-space: normal;"&gt;This pipeline is called&amp;nbsp;&lt;em style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.551 0.027 264.364); margin: 0px; padding: 0px;"&gt;zero-shot&lt;/em&gt;&amp;nbsp;because you don’t need to fine-tune the model on your data to use it. It can directly return probability scores for any list of labels you want!&lt;/p&gt;&lt;h2 class="relative group" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 20px; line-height: 28px; margin: 2em 0px 1.45rem; padding: 0px; position: relative; white-space: normal;"&gt;&lt;span style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Text generation&lt;/span&gt;&lt;/h2&gt;&lt;p data-svelte-h="svelte-p30et6" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 0px 0px 1.25em; padding: 0px; white-space: normal;"&gt;Now let’s see how to use a pipeline to generate some text. The main idea here is that you provide a prompt and the model will auto-complete it by generating the remaining text. This is similar to the predictive text feature that is found on many phones. Text generation involves randomness, so it’s normal if you don’t get the same results as shown below.&lt;/p&gt;&lt;div class="code-block relative " style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; margin-inline: 0px; margin: 0px; padding: 0px; position: relative; white-space: normal;"&gt;&lt;div class="absolute top-2.5 right-4" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px; position: absolute; right: 16px; top: 10px;"&gt;&lt;button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5   text-gray-600 " style="--tw-duration: .2s; --tw-ease: cubic-bezier(.4,0,.2,1); --tw-font-weight: 400; align-items: center; appearance: button; border-color: oklch(0.928 0.006 264.531); border-radius: 0px; border-style: solid; border-width: 0px; color: oklch(0.446 0.03 256.802); cursor: pointer; display: inline-flex; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 400; letter-spacing: inherit; line-height: 20px; margin-inline: 2px; margin: 0px; opacity: 0; padding: 0px; position: relative; transition-duration: 0.2s; transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);" title="code excerpt" type="button"&gt;&lt;svg aria-hidden="true" class="" fill="currentColor" focusable="false" height="1em" preserveaspectratio="xMidYMid meet" role="img" viewbox="0 0 32 32" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"&gt;&lt;/path&gt;&lt;path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"&gt;&lt;/path&gt;&lt;rect fill="none" height="32" width="32"&gt;&lt;/rect&gt;&lt;/svg&gt;&lt;div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0" style="--tw-font-weight: 400; --tw-leading: 1.25; --tw-shadow: 0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a; --tw-translate-x: -50%; --tw-translate-y: calc(.25rem*2); background-color: black; border-radius: 0.25rem; border: 0px solid oklch(0.928 0.006 264.531); box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.1) 0px 1px 2px -1px; box-sizing: border-box; color: white; left: 7px; line-height: 1.25; margin: 0px; opacity: 0; padding-block: 4px; padding-inline: 8px; padding: 0px; pointer-events: none; position: absolute; top: 14px; transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) skewX(0deg) skewY(0deg); transition-duration: 0.15s; transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); translate: -50% 8px;"&gt;&lt;div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="--tw-translate-x: -50%; border-color: rgb(0, 0, 0) transparent; border-image: initial; border-style: solid; border-width: 0px 4px 4px; bottom: 25.5px; box-sizing: border-box; height: 0px; left: 28.75px; margin: 0px; padding: 0px; position: absolute; transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) skewX(0deg) skewY(0deg); translate: -50%; width: 0px;"&gt;&lt;/div&gt;Copied&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;pre class="" style="background-color: #f9fafb; border-radius: 0.375rem; border: 1px solid oklch(0.967 0.003 264.542); box-sizing: border-box; color: currentcolor; font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 0.875em; font-variation-settings: normal; line-height: 1.71429; margin: 1.71429em 0px; overflow-x: auto; padding-inline: 1.14286em; padding: 0.857143em 0px;"&gt;&lt;span class="hljs-keyword" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #a626a4; margin: 0px; padding: 0px;"&gt;from&lt;/span&gt; transformers &lt;span class="hljs-keyword" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #a626a4; margin: 0px; padding: 0px;"&gt;import&lt;/span&gt; pipeline

generator = pipeline(&lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;"text-generation"&lt;/span&gt;)
generator(&lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;"In this course, we will teach you how to"&lt;/span&gt;)&lt;/pre&gt;&lt;/div&gt;&lt;div class="code-block relative " style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16px; line-height: 24px; margin-inline: 0px; margin: 0px; padding: 0px; position: relative; white-space: normal;"&gt;&lt;div class="absolute top-2.5 right-4" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px; position: absolute; right: 16px; top: 10px;"&gt;&lt;button class="inline-flex items-center relative text-sm focus:text-green-500 cursor-pointer focus:outline-none transition duration-200 ease-in-out opacity-0 mx-0.5   text-gray-600 " style="--tw-duration: .2s; --tw-ease: cubic-bezier(.4,0,.2,1); --tw-font-weight: 400; align-items: center; appearance: button; border-color: oklch(0.928 0.006 264.531); border-radius: 0px; border-style: solid; border-width: 0px; color: oklch(0.446 0.03 256.802); cursor: pointer; display: inline-flex; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 400; letter-spacing: inherit; line-height: 20px; margin-inline: 2px; margin: 0px; opacity: 0; padding: 0px; position: relative; transition-duration: 0.2s; transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);" title="code excerpt" type="button"&gt;&lt;svg aria-hidden="true" class="" fill="currentColor" focusable="false" height="1em" preserveaspectratio="xMidYMid meet" role="img" viewbox="0 0 32 32" width="1em" xmlns="http://www.w3.org/2000/svg"&gt;&lt;path d="M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z" transform="translate(0)"&gt;&lt;/path&gt;&lt;path d="M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z" transform="translate(0)"&gt;&lt;/path&gt;&lt;rect fill="none" height="32" width="32"&gt;&lt;/rect&gt;&lt;/svg&gt;&lt;div class="absolute pointer-events-none transition-opacity bg-black text-white py-1 px-2 leading-tight rounded font-normal shadow left-1/2 top-full transform -translate-x-1/2 translate-y-2 opacity-0" style="--tw-font-weight: 400; --tw-leading: 1.25; --tw-shadow: 0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a; --tw-translate-x: -50%; --tw-translate-y: calc(.25rem*2); background-color: black; border-radius: 0.25rem; border: 0px solid oklch(0.928 0.006 264.531); box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.1) 0px 1px 2px -1px; box-sizing: border-box; color: white; left: 7px; line-height: 1.25; margin: 0px; opacity: 0; padding-block: 4px; padding-inline: 8px; padding: 0px; pointer-events: none; position: absolute; top: 14px; transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) skewX(0deg) skewY(0deg); transition-duration: 0.15s; transition-property: opacity; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); translate: -50% 8px;"&gt;&lt;div class="absolute bottom-full left-1/2 transform -translate-x-1/2 w-0 h-0 border-black border-4 border-t-0" style="--tw-translate-x: -50%; border-color: rgb(0, 0, 0) transparent; border-image: initial; border-style: solid; border-width: 0px 4px 4px; bottom: 25.5px; box-sizing: border-box; height: 0px; left: 28.75px; margin: 0px; padding: 0px; position: absolute; transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) skewX(0deg) skewY(0deg); translate: -50%; width: 0px;"&gt;&lt;/div&gt;Copied&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;pre class="" style="background-color: #f9fafb; border-radius: 0.375rem; border: 1px solid oklch(0.967 0.003 264.542); box-sizing: border-box; color: currentcolor; font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 0.875em; font-variation-settings: normal; line-height: 1.71429; margin: 1.71429em 0px; overflow-x: auto; padding-inline: 1.14286em; padding: 0.857143em 0px;"&gt;[{&lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'generated_text'&lt;/span&gt;: &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'In this course, we will teach you how to understand and use '&lt;/span&gt;
                    &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'data flow and data interchange when handling user data. We '&lt;/span&gt;
                    &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'will be working with one or more of the most commonly used '&lt;/span&gt;
                    &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'data flows — data flows of various types, as seen by the '&lt;/span&gt;
                    &lt;span class="hljs-string" style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #50a14f; margin: 0px; padding: 0px;"&gt;'HTTP'&lt;/span&gt;}]&lt;/pre&gt;&lt;/div&gt;&lt;p data-svelte-h="svelte-acf6bi" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 1.25em 0px; padding: 0px; white-space: normal;"&gt;You can control how many different sequences are generated with the argument&amp;nbsp;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;num_return_sequences&lt;/code&gt;&amp;nbsp;and the total length of the output text with the argument&amp;nbsp;&lt;code style="--tw-font-weight: 400; background-color: oklab(0.967 -0.000285348 -0.0029864 / 0.7); border-radius: 4px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;IBM Plex Mono&amp;quot;, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: normal; font-size: 14px; font-variation-settings: normal; line-height: 20px; margin: 0px; padding-inline: 2px; padding: 0px;"&gt;max_length&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>LLM 1</title><link>http://oracle-plsql10g.blogspot.com/2025/10/llm-1.html</link><pubDate>Sun, 12 Oct 2025 13:54:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-380651970601715692</guid><description>&lt;p&gt;&amp;nbsp;&lt;span style="background-color: white; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px;"&gt;LLMs are characterized by:&lt;/span&gt;&lt;/p&gt;&lt;ul data-svelte-h="svelte-141j3vz" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; list-style-image: initial; list-style-position: initial; margin: 1.25em 0px; padding-inline-start: 1.625em; padding: 0px;"&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span style="--tw-font-weight: 600; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); font-weight: 600; margin: 0px; padding: 0px;"&gt;Scale&lt;/span&gt;: They contain millions, billions, or even hundreds of billions of parameters&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span style="--tw-font-weight: 600; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); font-weight: 600; margin: 0px; padding: 0px;"&gt;General capabilities&lt;/span&gt;: They can perform multiple tasks without task-specific training&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span style="--tw-font-weight: 600; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); font-weight: 600; margin: 0px; padding: 0px;"&gt;In-context learning&lt;/span&gt;: They can learn from examples provided in the prompt&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span style="--tw-font-weight: 600; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); font-weight: 600; margin: 0px; padding: 0px;"&gt;Emergent abilities&lt;/span&gt;: As these models grow in size, they demonstrate capabilities that weren’t explicitly programmed or anticipated&lt;/li&gt;&lt;/ul&gt;&lt;p data-svelte-h="svelte-166lsa3" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 1.25em 0px; padding: 0px;"&gt;The advent of LLMs has shifted the paradigm from building specialized models for specific NLP tasks to using a single, large model that can be prompted or fine-tuned to address a wide range of language tasks. This has made sophisticated language processing more accessible while also introducing new challenges in areas like efficiency, ethics, and deployment.&lt;/p&gt;&lt;p data-svelte-h="svelte-afnoj0" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 1.25em 0px; padding: 0px;"&gt;However, LLMs also have important limitations:&lt;/p&gt;&lt;ul data-svelte-h="svelte-1mny30g" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; list-style-image: initial; list-style-position: initial; margin: 1.25em 0px; padding-inline-start: 1.625em; padding: 0px;"&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span style="--tw-font-weight: 600; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); font-weight: 600; margin: 0px; padding: 0px;"&gt;Hallucinations&lt;/span&gt;: They can generate incorrect information confidently&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span style="--tw-font-weight: 600; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); font-weight: 600; margin: 0px; padding: 0px;"&gt;Lack of true understanding&lt;/span&gt;: They lack true understanding of the world and operate purely on statistical patterns&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span style="--tw-font-weight: 600; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); font-weight: 600; margin: 0px; padding: 0px;"&gt;Bias&lt;/span&gt;: They may reproduce biases present in their training data or inputs.&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span style="--tw-font-weight: 600; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); font-weight: 600; margin: 0px; padding: 0px;"&gt;Context windows&lt;/span&gt;: They have limited context windows (though this is improving)&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span style="--tw-font-weight: 600; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); font-weight: 600; margin: 0px; padding: 0px;"&gt;Computational resources&lt;/span&gt;: They require significant computational resources&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;h2 class="relative group" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 20px; line-height: 28px; margin: 2em 0px 1.45rem; padding: 0px; position: relative;"&gt;&lt;span style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px;"&gt;Why is language processing challenging?&lt;/span&gt;&lt;/h2&gt;&lt;p data-svelte-h="svelte-1g6qo1w" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 0px 0px 1.25em; padding: 0px;"&gt;Computers don’t process information in the same way as humans. For example, when we read the sentence “I am hungry,” we can easily understand its meaning. Similarly, given two sentences such as “I am hungry” and “I am sad,” we’re able to easily determine how similar they are. For machine learning (ML) models, such tasks are more difficult. The text needs to be processed in a way that enables the model to learn from it.&amp;nbsp;&lt;/p&gt;&lt;p data-svelte-h="svelte-7biue8" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 1.25em 0px; padding: 0px;"&gt;Even with the advances in LLMs, many fundamental challenges remain. These include understanding ambiguity, cultural context, sarcasm, and humor. LLMs address these challenges through massive training on diverse datasets, but still often fall short of human-level understanding in many complex scenarios.&lt;/p&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title> LLM Course - Large Language Models</title><link>http://oracle-plsql10g.blogspot.com/2025/10/llm-course-large-language-models.html</link><category>AI</category><category>LLM</category><pubDate>Sun, 12 Oct 2025 13:45:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-1935320827088113994</guid><description>&lt;h2 class="relative group"&gt;&lt;span&gt;Understanding NLP and LLMs&lt;/span&gt;&lt;/h2&gt;&lt;div&gt;&lt;span&gt;&lt;p data-svelte-h="svelte-1bn48xq" style="background-color: white; border-image: initial; border-style: solid; border-width: 0px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 1.25em 0px; padding: 0px;"&gt;&lt;span color="oklch(0.21 0.034 264.665)" style="--tw-font-weight: 600; border-image: initial; border-style: solid; border-width: 0px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-weight: 600; margin: 0px; padding: 0px;"&gt;What’s the difference?&lt;/span&gt;&lt;/p&gt;&lt;ul data-svelte-h="svelte-k34jde" style="background-color: white; border-image: initial; border-style: solid; border-width: 0px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; list-style-image: initial; list-style-position: initial; margin: 1.25em 0px; padding-inline-start: 1.625em; padding: 0px;"&gt;&lt;li style="border-image: initial; border-style: solid; border-width: 0px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span color="oklch(0.21 0.034 264.665)" style="--tw-font-weight: 600; border-image: initial; border-style: solid; border-width: 0px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-weight: 600; margin: 0px; padding: 0px;"&gt;NLP (Natural Language Processing)&lt;/span&gt;&amp;nbsp;is the broader field focused on enabling computers to understand, interpret, and generate human language. NLP encompasses many techniques and tasks such as sentiment analysis, named entity recognition, and machine translation.&lt;/li&gt;&lt;li style="border-image: initial; border-style: solid; border-width: 0px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span color="oklch(0.21 0.034 264.665)" style="--tw-font-weight: 600; border-image: initial; border-style: solid; border-width: 0px; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; font-weight: 600; margin: 0px; padding: 0px;"&gt;LLMs (Large Language Models)&lt;/span&gt;&amp;nbsp;are a powerful subset of NLP models characterized by their massive size, extensive training data, and ability to perform a wide range of language tasks with minimal task-specific training. Models like the Llama, GPT, or Claude series are examples of LLMs that have revolutionized what’s possible in NLP&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;p data-svelte-h="svelte-14hz609" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 1.25em 0px; padding: 0px;"&gt;&lt;b&gt;NLP is a field of linguistics and machine learning focused on understanding everything&lt;/b&gt; related to human language. The aim of NLP tasks is not only to understand single words individually, but to be able to understand the context of those words.&lt;/p&gt;&lt;p data-svelte-h="svelte-rkg1z0" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 1.25em 0px; padding: 0px;"&gt;The following is a list of common NLP tasks, with some examples of each:&lt;/p&gt;&lt;ul data-svelte-h="svelte-19s7o39" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; list-style-image: initial; list-style-position: initial; margin: 1.25em 0px; padding-inline-start: 1.625em; padding: 0px;"&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span style="--tw-font-weight: 600; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); font-weight: 600; margin: 0px; padding: 0px;"&gt;Classifying whole sentences&lt;/span&gt;: Getting the sentiment of a review, detecting if an email is spam, determining if a sentence is grammatically correct or whether two sentences are logically related or not&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span style="--tw-font-weight: 600; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); font-weight: 600; margin: 0px; padding: 0px;"&gt;Classifying each word in a sentence&lt;/span&gt;: Identifying the grammatical components of a sentence (noun, verb, adjective), or the named entities (person, location, organization)&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span style="--tw-font-weight: 600; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); font-weight: 600; margin: 0px; padding: 0px;"&gt;Generating text content&lt;/span&gt;: Completing a prompt with auto-generated text, filling in the blanks in a text with masked words&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span style="--tw-font-weight: 600; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); font-weight: 600; margin: 0px; padding: 0px;"&gt;Extracting an answer from a text&lt;/span&gt;: Given a question and a context, extracting the answer to the question based on the information provided in the context&lt;/li&gt;&lt;li style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0.5em 0px; padding-inline-start: 0.375em; padding: 0px;"&gt;&lt;span style="--tw-font-weight: 600; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.21 0.034 264.665); font-weight: 600; margin: 0px; padding: 0px;"&gt;Generating a new sentence from an input text&lt;/span&gt;: Translating a text into another language, summarizing a text&lt;/li&gt;&lt;/ul&gt;&lt;p data-svelte-h="svelte-kv2x67" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 1.25em 0px; padding: 0px;"&gt;NLP isn’t limited to written text though. It also tackles complex challenges in speech recognition and computer vision, such as generating a transcript of an audio sample or a description of an image.&lt;/p&gt;&lt;h2 class="relative group" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: oklch(0.278 0.033 256.848); font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 20px; line-height: 28px; margin: 2em 0px 1.45rem; padding: 0px; position: relative;"&gt;&lt;span style="border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; margin: 0px; padding: 0px;"&gt;The Rise of Large Language Models (LLMs)&lt;/span&gt;&lt;/h2&gt;&lt;p data-svelte-h="svelte-a773vn" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 0px 0px 1.25em; padding: 0px;"&gt;In recent years, the field of NLP has been revolutionized by Large Language Models (LLMs). These models, which include architectures like GPT (Generative Pre-trained Transformer)&lt;/p&gt;&lt;p data-svelte-h="svelte-a773vn" style="background-color: white; border: 0px solid oklch(0.928 0.006 264.531); box-sizing: border-box; color: #4a5565; font-family: &amp;quot;Source Sans Pro&amp;quot;, ui-sans-serif, system-ui, sans-serif, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Noto Color Emoji&amp;quot;; font-size: 16.8px; margin: 0px 0px 1.25em; padding: 0px;"&gt;&lt;span style="background-color: oklab(0.979 -0.0203862 0.00504016 / 0.5); color: oklch(0.508 0.118 165.612); font-size: 16px;"&gt;A large language model (LLM) is an AI model trained on massive amounts of text data that can understand and generate human-like text, recognize patterns in language, and perform a wide variety of language tasks without task-specific training. They represent a significant advancement in the field of natural language processing (NLP).&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;span face="Source Sans Pro, ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji" style="color: #4a5565;"&gt;&lt;span style="font-size: 16.8px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Delta Lake, Apache Iceberg, Apache Hudi</title><link>http://oracle-plsql10g.blogspot.com/2025/10/delta-lake-apache-iceberg-apache-hudi.html</link><category>Apache Hudi</category><category>Apache Iceberg</category><category>Delta Lake</category><pubDate>Mon, 6 Oct 2025 20:58:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-7265728540882733664</guid><description></description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Microsoft Fabric</title><link>http://oracle-plsql10g.blogspot.com/2024/10/microsoft-fabric.html</link><pubDate>Wed, 16 Oct 2024 16:54:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-1088375568053716227</guid><description>&lt;p&gt;&lt;a href="https://app.fabric.microsoft.com/home?experience=data-factory"&gt;Data Factory (microsoft.com)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Create a Data Flow&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;a href="https://learn.microsoft.com/en-us/fabric/data-factory/create-first-dataflow-gen2"&gt;Create your first Microsoft Fabric dataflow - Microsoft Fabric | Microsoft Learn&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=7fXCKp8N_Fc"&gt;Getting Started with Dataflows and Pipelines (youtube.com)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: white; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, SegoeUI, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: clamp(1.59375rem, 18.7895px + 1.39803vw, 2.125rem);"&gt;&lt;u&gt;Create a data pipeline&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/fabric/data-factory/create-first-pipeline-with-sample-data"&gt;Create your first data pipeline to copy data - Microsoft Fabric | Microsoft Learn&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=LrWNRrR1Bbo"&gt;Process Excellence Explainer (youtube.com)&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=K9qDINwO5UE"&gt;Extract data By Example using Dataflows (youtube.com)&lt;/a&gt;&lt;/p&gt;&lt;div style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, SegoeUI, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: clamp(1.875rem, 22.1053px + 1.64474vw, 2.5rem); line-height: 1.3; margin: -10px 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px; text-align: left; word-break: break-word;"&gt;Microsoft Fabric API for GraphQL&lt;/div&gt;&lt;p&gt;&lt;a href="https://learn.microsoft.com/en-us/fabric/data-engineering/api-graphql-overview"&gt;Microsoft Fabric API for GraphQL overview - Microsoft Fabric | Microsoft Learn&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 id="what-is-microsoft-fabric-api-for-graphql" style="background-color: white; box-sizing: inherit; color: #161616; font-family: &amp;quot;Segoe UI&amp;quot;, SegoeUI, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: clamp(1.875rem, 22.1053px + 1.64474vw, 2.5rem); line-height: 1.3; margin: -10px 0px 0px; outline-color: inherit; overflow-wrap: break-word; padding: 0px; word-break: break-word;"&gt;&lt;a href="https://learn.microsoft.com/en-us/fabric/get-started/microsoft-fabric-overview" style="font-weight: normal;"&gt;What is Microsoft Fabric - Microsoft Fabric | Microsoft Learn&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Data Warehouse </title><link>http://oracle-plsql10g.blogspot.com/2024/06/data-warehouse.html</link><category>Data Warehouse</category><pubDate>Tue, 25 Jun 2024 18:07:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-3216399893649938758</guid><description>&lt;p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 22.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;What is DATA MODELLING?&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;Data Modelling or Data
Architecture or Dimension Modelling is nothing but creating a blueprint for how
data will be organized and stored in the data warehouse. This process involves
identifying the entities, attributes, and relationships between entities in the
data, and then designing tables and views to represent them. We can model the
data by two techniques i.e.,&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;1. Star Schema&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;2. Snowflake Schema&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;Before jumping into these, we
need to understand what is dimension table and what is fact table?&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 22.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;DIMENSION TABLE-&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;A table which stores descriptive
attribute, is non- measurable and categorical in nature is called a dimension
table.&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 22.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;FACT TABLE-&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 22.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;A fact table is a central table
that stores measurable, aggregate, quantitative or factual data about a
particular subject area.&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 22.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;Example-&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 22.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;Consider an E-Commerce
application, which will have attributes like&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;Products, Sales, Tax, Customer,
Discount.&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;For above scenario, Products
could behave as Dimension table.&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;And Sales could behave as Fact
table.&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 22.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;STAR SCHEMA-&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 22.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;In the previous diagram, the
fact table is in the center and the dimension table is in a relationship with
it which makes a star like structure hence, this is called the star schema.&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 22.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;SNOWFLAKE SCHEMA- &lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;Snowflake schema is a variation
of the star schema that uses multiple layers of dimension tables. This can be
useful for complex data relationships.&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 27.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;Standard naming convention-&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;● A common prefix for fact
tables is "FACT_" or "FT_". This prefix helps&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;distinguish fact tables from
dimension tables.&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;Eg- fact_Sales or fact_Tax&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;● A common prefix for dimension
tables is "DIM_" or "D_". This prefix helps&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;distinguish dimension tables
from fact tables.&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;Eg- dim_Products, dim_Customers
or dim_Discounts&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 27.5pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;Types of Fact Table-&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;1. Transaction fact tables:
Theystore detailed information about individual business transactions or
events. They record every occurrence at the most granular level, providing a
comprehensive view of operational data.&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;2. Periodic snapshot tables:
Periodic snapshot tables provide a summarized view of metrics over regular time
intervals. They store aggregated data at a specific point in time, such as the
end of a day, week, or month.&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;3. Accumulating snapshot tables:
Accumulating snapshot tables track the stages of a business process or
workflow. They store data at specific&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;checkpoints within a process,
providing a detailed view of how the process unfolds over time.&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 27.5pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;Types of Dimension Table-&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 27.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;● Slowly Changing Dimension
(SCD) Tables: It store information that rarely changes over time. They
typically contain master data or lookup information, such as product codes,
customer IDs, or geographic codes. There are four&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;main types of SCD tables:&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 12.5pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;a. SCD Type 0: Static and does
not changes.&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 12.5pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;b. SCD Type 1: Overwrite the
previous field, doesn’t keep history.&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 12.5pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;c. SCD Type 2: Add a new history
table.&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 12.5pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;d. SCD Type 3: Add a new column
to keep history.&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 12.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;● Conformed Dimension Tables:
Conformed dimension tables are&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;standardized dimension tables
that are shared across multiple fact tables or subject areas.&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;● Degenerate Dimension Tables:
Degenerate dimension tables are dimension tables that are embedded within fact
tables.&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;● Junk Dimension Tables: Junk
dimension tables are used to group together disparate dimension attributes that
do not fit neatly into other dimension tables as they have low cardinality.&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;● Role Playing Dimension: They
are a type of dimension table that can&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;assume different meanings or
roles depending on the context of the analysis. They are often used to
represent entities that can play multiple roles in a business process.&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;● Static Dimension Table: Static
dimension tables are a type of table that&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;stores descriptive attribute
data that does not change over time.&lt;/span&gt;&lt;span style="font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 7.5pt;"&gt;&lt;span style="color: black; font-family: &amp;quot;Arial&amp;quot;,sans-serif; font-size: 14.0pt; mso-color-alt: windowtext; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;● Shrunken Dimension Tables:
Shrunken dimension tables are dimension tables that contain a subset of the
attributes from a larger dimension table.&lt;/span&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,serif; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-IN; mso-font-kerning: 0pt; mso-ligatures: none;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title> Bitcoin Halving</title><link>http://oracle-plsql10g.blogspot.com/2023/09/bitcoin-halving.html</link><category>Bitcoin Halving</category><category>crypto</category><pubDate>Fri, 22 Sep 2023 21:37:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-7732318854947894667</guid><description>&lt;p&gt;&amp;nbsp;&lt;span style="background-color: white; color: #131722; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Trebuchet MS&amp;quot;, Roboto, Ubuntu, sans-serif; font-size: 16px;"&gt;Bitcoin halving is a significant event on the Bitcoin network every four years. During this event, the block reward that miners receive for verifying transactions and adding new blocks to the blockchain is reduced by 50%. This means that the rate of new Bitcoin creation slows down, and the total supply of Bitcoin approaches its maximum limit of 21 million.&lt;/span&gt;&lt;/p&gt;&lt;br style="background-color: white; color: #131722; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Trebuchet MS&amp;quot;, Roboto, Ubuntu, sans-serif; font-size: 16px;" /&gt;&lt;span style="background-color: white; color: #131722; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Trebuchet MS&amp;quot;, Roboto, Ubuntu, sans-serif; font-size: 16px;"&gt;Bitcoin halving is a programmed event and is built into the Bitcoin protocol to ensure that the inflation rate of Bitcoin remains controlled and predictable. The reduced rate of new Bitcoin creation and the expectation of scarcity can increase the value of Bitcoin, which has historically led to an increase in the asset's price in the months leading up to a halving event.&lt;/span&gt;&lt;br style="background-color: white; color: #131722; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Trebuchet MS&amp;quot;, Roboto, Ubuntu, sans-serif; font-size: 16px;" /&gt;&lt;span style="background-color: white; color: #131722; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Trebuchet MS&amp;quot;, Roboto, Ubuntu, sans-serif; font-size: 16px;"&gt;Despite this, the market can be unpredictable, and the impact of halving Bitcoin's price is not guaranteed. However, the reduced supply of Bitcoin resulting from halving helps to maintain its value and ensure that it remains a finite and scarce asset.&lt;/span&gt;&lt;br style="background-color: white; color: #131722; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Trebuchet MS&amp;quot;, Roboto, Ubuntu, sans-serif; font-size: 16px;" /&gt;&lt;br style="background-color: white; color: #131722; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Trebuchet MS&amp;quot;, Roboto, Ubuntu, sans-serif; font-size: 16px;" /&gt;&lt;span style="background-color: white; color: #131722; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Trebuchet MS&amp;quot;, Roboto, Ubuntu, sans-serif; font-size: 16px;"&gt;The previous Bitcoin halving occurred on May 11, 2020, at a block height of 630,000. At that time, the block reward for miners was reduced from 12.5 BTC to 6.25 BTC per block. This was the third halving event in Bitcoin's history, following the first halving in November 2012 and the second halving in July 2016. The next Bitcoin halving is expected to occur in march 2024, at which point the block reward will be reduced from 6.25 BTC to 3.125 BTC per block.&lt;/span&gt;&lt;br style="background-color: white; color: #131722; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Trebuchet MS&amp;quot;, Roboto, Ubuntu, sans-serif; font-size: 16px;" /&gt;&lt;br style="background-color: white; color: #131722; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Trebuchet MS&amp;quot;, Roboto, Ubuntu, sans-serif; font-size: 16px;" /&gt;&lt;span style="background-color: white; color: #131722; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Trebuchet MS&amp;quot;, Roboto, Ubuntu, sans-serif; font-size: 16px;"&gt;After the first Bitcoin halving in November 2012, the price of Bitcoin increased by over 8,000% over the following year. After the second halving in July 2016, the price of Bitcoin increased by around 2,500% over the following 18 months. After the most recent halving event in May 2020, the price of Bitcoin initially experienced a slight drop but quickly recovered and went on to gain over 300% in value over the following year, reaching an all-time high of over $64,000 in April 2021.&lt;/span&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Top 5 AWS Interview Tips</title><link>http://oracle-plsql10g.blogspot.com/2023/09/top-5-aws-interview-tips.html</link><pubDate>Thu, 7 Sep 2023 20:00:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-3909001698725728017</guid><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;ul style="background-color: white; font-family: Lato, Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.6; margin-bottom: 16px; margin-left: initial; margin-right: 0px; margin-top: 16px; padding: 0px 0px 0px 40px;"&gt;&lt;li style="line-height: 1.6; margin: 0px; padding: 0px;"&gt;Can you describe the&amp;nbsp;&lt;b style="line-height: 1.6; padding: 0px;"&gt;current AWS infrastructure and technologies&amp;nbsp;&lt;/b&gt;used within the company?&lt;ul style="line-height: 1.6; margin-bottom: 16px; margin-left: initial; margin-right: 0px; margin-top: 16px; padding: 0px 0px 0px 40px;"&gt;&lt;li style="line-height: 1.6; margin: 0px; padding: 0px;"&gt;This question shows your eagerness to understand the existing AWS setup and gives you insights into the company's tech stack.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="line-height: 1.6; margin: 0px; padding: 0px;"&gt;What&amp;nbsp;&lt;b style="line-height: 1.6; padding: 0px;"&gt;AWS services or tools&lt;/b&gt;&amp;nbsp;are particularly important for this role, and how are they utilized here?&lt;ul style="line-height: 1.6; margin-bottom: 16px; margin-left: initial; margin-right: 0px; margin-top: 16px; padding: 0px 0px 0px 40px;"&gt;&lt;li style="line-height: 1.6; margin: 0px; padding: 0px;"&gt;This question allows you to gauge the specific responsibilities of the role and how AWS is integrated into the company's operations.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="background-color: white; font-family: Lato, Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.6; margin-bottom: 16px; margin-left: initial; margin-right: 0px; margin-top: 16px; padding: 0px 0px 0px 40px;"&gt;&lt;li style="line-height: 1.6; margin: 0px; padding: 0px;"&gt;How does the company handle&amp;nbsp;&lt;b style="line-height: 1.6; padding: 0px;"&gt;AWS security and compliance&lt;/b&gt;, especially in relation to [mention relevant industry standards or regulations]?&lt;ul style="line-height: 1.6; margin-bottom: 16px; margin-left: initial; margin-right: 0px; margin-top: 16px; padding: 0px 0px 0px 40px;"&gt;&lt;li style="line-height: 1.6; margin: 0px; padding: 0px;"&gt;Demonstrates your concern for security and regulatory compliance, which is crucial in many AWS roles.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul style="background-color: white; font-family: Lato, Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.6; margin-bottom: 16px; margin-left: initial; margin-right: 0px; margin-top: 16px; padding: 0px 0px 0px 40px;"&gt;&lt;li style="line-height: 1.6; margin: 0px; padding: 0px;"&gt;What are the&amp;nbsp;&lt;b style="line-height: 1.6; padding: 0px;"&gt;biggest challenges or projects&amp;nbsp;&lt;/b&gt;related to AWS that the team is currently working on or will be working on in the near future?&lt;ul style="line-height: 1.6; margin-bottom: 16px; margin-left: initial; margin-right: 0px; margin-top: 16px; padding: 0px 0px 0px 40px;"&gt;&lt;li style="line-height: 1.6; margin: 0px; padding: 0px;"&gt;Shows your interest in contributing to the team's objectives and your willingness to tackle challenges.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title> Database vs. Data Warehouse vs. Data Lake</title><link>http://oracle-plsql10g.blogspot.com/2023/09/database-vs-data-warehouse-vs-data-lake.html</link><pubDate>Wed, 6 Sep 2023 20:25:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-2695169282953931292</guid><description>&lt;p&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;In the world of data management, these three concepts play distinct roles in handling and organizing data. Let's explore their key differences:&lt;/span&gt;&lt;/p&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;&#128202; Database:&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;A database is a structured collection of data that is organized, stored, and managed using a predefined schema. It's designed for efficient data retrieval and modification. Databases are used to support transactional operations(OLTP), such as recording customer orders, tracking inventory, and managing user profiles.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;&#127970; Data Warehouse:&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;A data warehouse is a centralized repository that aggregates data from various sources across an organization. It's optimized for complex queries and data analysis(OLAP). Data warehouses often use a process called Extract, Transform, Load (ETL) to integrate data from different systems, transform it into a consistent format, and load it into the warehouse. They are used for business intelligence, reporting, and decision-making.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;&#127754; Data Lake:&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;A data lake is a vast storage repository that holds both structured and unstructured data at any scale. Unlike traditional databases, data lakes don't require a predefined schema. This flexibility allows organizations to store raw, unprocessed data from various sources, making it suitable for advanced analytics, machine learning, and exploration of new data sources(ELT)&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;&#128161; Key Takeaways:&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;Use Cases: Databases are used for day-to-day operations, data warehouses are for business intelligence, and data lakes are for storing and analyzing large volumes of diverse data.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;Schema: Databases have a fixed schema, data warehouses have a structured schema for reporting, and data lakes allow schema-on-read for flexibility.&lt;/span&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;br style="background-color: white; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important;" /&gt;&lt;span style="background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;"&gt;Data Types: Databases store structured data, data warehouses store structured and semi-structured data, and data lakes store structured, semi-structured, and unstructured data.&lt;/span&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Solidity - Block Chain 3</title><link>http://oracle-plsql10g.blogspot.com/2023/05/solidity-block-chain-2_26.html</link><category>Block Chain</category><category>Solidity</category><pubDate>Fri, 26 May 2023 15:20:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-6273665682038569219</guid><description>&lt;p&gt;&amp;nbsp;&lt;span face="soleil, sans-serif" style="background-color: white; font-size: 23px;"&gt;Internal and External&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;In addition to&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;public&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;private&lt;/code&gt;, Solidity has two more types of visibility for functions:&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;internal&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;external&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;internal&lt;/code&gt;&amp;nbsp;is the same as&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;private&lt;/code&gt;, except that it's also accessible to contracts that inherit from this contract.&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;(Hey, that sounds like what we want here!)&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;external&lt;/code&gt;&amp;nbsp;is similar to&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;public&lt;/code&gt;, except that these functions can ONLY be called outside the contract — they can't be called by other functions inside that contract. We'll talk about why you might want to use&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;external&lt;/code&gt;&amp;nbsp;vs&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;public&lt;/code&gt;&amp;nbsp;later.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;For declaring&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;internal&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;external&lt;/code&gt;&amp;nbsp;functions, the syntax is the same as&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;private&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;public&lt;/code&gt;:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-class" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;contract&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;Sandwich&lt;/span&gt; &lt;/span&gt;{
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;private&lt;/span&gt; sandwichesEaten &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; &lt;span class="hljs-number" style="box-sizing: border-box;"&gt;0&lt;/span&gt;;

  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;eat&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;internal&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;{
    sandwichesEaten&lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;+&lt;/span&gt;&lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;+&lt;/span&gt;;
  }
}

&lt;span class="hljs-class" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;contract&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;BLT&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;is&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;Sandwich&lt;/span&gt; &lt;/span&gt;{
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;private&lt;/span&gt; baconSandwichesEaten &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; &lt;span class="hljs-number" style="box-sizing: border-box;"&gt;0&lt;/span&gt;;

  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;eatWithBacon&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt; (&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;string&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;memory&lt;/span&gt;&lt;/span&gt;) &lt;/span&gt;{
    baconSandwichesEaten&lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;+&lt;/span&gt;&lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;+&lt;/span&gt;;
    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// We can call this here because it's internal&lt;/span&gt;
    eat();
  }
}&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span face="soleil, sans-serif" style="background-color: white; font-size: 23px; white-space: normal;"&gt;Interacting with other contracts&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;For our contract to talk to another contract on the blockchain that we don't own, first we need to define an&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;interface&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Let's look at a simple example. Say there was a contract on the blockchain that looked like this:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-class" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;contract&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;LuckyNumber&lt;/span&gt; &lt;/span&gt;{
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;mapping&lt;/span&gt;(&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt; &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt;&lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;&amp;gt;&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt;) numbers;

  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;setNum&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; _num&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;{
    numbers[&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;msg&lt;/span&gt;.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;sender&lt;/span&gt;] &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; _num;
  }

  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;getNum&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt; _myAddress&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;view&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt; (&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt;&lt;/span&gt;) &lt;/span&gt;{
    &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;return&lt;/span&gt; numbers[_myAddress];
  }
}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;This would be a simple contract where anyone could store their lucky number, and it will be associated with their Ethereum address. Then anyone else could look up that person's lucky number using their address.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Now let's say we had an external contract that wanted to read the data in this contract using the&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;getNum&lt;/code&gt;&amp;nbsp;function.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;First we'd have to define an&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;interface&lt;/span&gt;&lt;/span&gt;&amp;nbsp;of the&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;LuckyNumber&lt;/code&gt;&amp;nbsp;contract:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-class" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;contract&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;NumberInterface&lt;/span&gt; &lt;/span&gt;{
  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;getNum&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt; _myAddress&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;view&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt; (&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;;
}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Notice that this looks like defining a contract, with a few differences. For one, we're only declaring the functions we want to interact with — in this case&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;getNum&lt;/code&gt;&amp;nbsp;— and we don't mention any of the other functions or state variables.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Secondly, we're not defining the function bodies. Instead of curly braces (&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;{&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;}&lt;/code&gt;), we're simply ending the function declaration with a semi-colon (&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;;&lt;/code&gt;).&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;So it kind of looks like a contract skeleton. This is how the compiler knows it's an interface.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;By including this interface in our dapp's code our contract knows what the other contract's functions look like, how to call them, and what sort of response to expect.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;h1 data-v-18547daa="" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 28px; line-height: 1.5; margin-bottom: 10px; margin-top: 10px; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Using an Interface&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-class" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;contract&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;NumberInterface&lt;/span&gt; &lt;/span&gt;{
  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;getNum&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt; _myAddress&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;view&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt; (&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;;
}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;We can use it in a contract as follows:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-class" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;contract&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;MyContract&lt;/span&gt; &lt;/span&gt;{
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt; NumberInterfaceAddress &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; &lt;span class="hljs-number" style="box-sizing: border-box;"&gt;0xab38&lt;/span&gt;...
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// ^ The address of the FavoriteNumber contract on Ethereum&lt;/span&gt;
  NumberInterface numberContract &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; NumberInterface(NumberInterfaceAddress);
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// Now `numberContract` is pointing to the other contract&lt;/span&gt;

  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;someFunction&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;{
    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// Now we can call `getNum` from that contract:&lt;/span&gt;
    &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; num &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; numberContract.getNum(&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;msg&lt;/span&gt;.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;sender&lt;/span&gt;);
    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// ...and do something with `num` here&lt;/span&gt;
  }
}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;In this way, your contract can interact with any other contract on the Ethereum blockchain, as long they expose those functions as&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;public&lt;/code&gt;&amp;nbsp;or&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;external&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;&lt;h1 data-v-18547daa="" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 28px; line-height: 1.5; margin-bottom: 10px; margin-top: 10px; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Handling Multiple Return Values&lt;/span&gt;&lt;/h1&gt;&lt;div data-v-18547daa="" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;multipleReturns&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;internal&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; a, &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; b, &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; c&lt;/span&gt;) &lt;/span&gt;{
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;return&lt;/span&gt; (&lt;span class="hljs-number" style="box-sizing: border-box;"&gt;1&lt;/span&gt;, &lt;span class="hljs-number" style="box-sizing: border-box;"&gt;2&lt;/span&gt;, &lt;span class="hljs-number" style="box-sizing: border-box;"&gt;3&lt;/span&gt;);
}

&lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;processMultipleReturns&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;external&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;{
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; a;
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; b;
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; c;
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// This is how you do multiple assignment:&lt;/span&gt;
  (a, b, c) &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; multipleReturns();
}

&lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// Or if we only cared about one of the values:&lt;/span&gt;
&lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;getLastReturnValue&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;external&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;{
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; c;
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// We can just leave the other fields blank:&lt;/span&gt;
  (,,c) &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; multipleReturns();
}&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;h2 id="if-statements" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 23px; line-height: 0.88; margin-bottom: 10px; margin-top: 30px; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;If statements&lt;/span&gt;&lt;/h2&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;If statements in Solidity look just like JavaScript:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;eatBLT&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;string&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;memory&lt;/span&gt; sandwich&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;{
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// Remember with strings, we have to compare their keccak256 hashes&lt;/span&gt;
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// to check equality&lt;/span&gt;
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;if&lt;/span&gt; (&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;keccak256&lt;/span&gt;(&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;abi&lt;/span&gt;.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;encodePacked&lt;/span&gt;(sandwich)) &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt;&lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; &lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;keccak256&lt;/span&gt;(&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;abi&lt;/span&gt;.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;encodePacked&lt;/span&gt;(&lt;span class="hljs-string" style="box-sizing: border-box;"&gt;"BLT"&lt;/span&gt;))) {
    eat();
  }
}&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;h1 data-v-18547daa="" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 28px; line-height: 1.5; margin-bottom: 10px; margin-top: 10px; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Immutability of Contracts&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;Solidity has looked quite similar to other languages like JavaScript. But there are a number of ways that Ethereum DApps are actually quite different from normal applications.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;To start with, after you deploy a contract to Ethereum, it’s&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;immutable&lt;/span&gt;&lt;/span&gt;, which means that it can never be modified or updated again.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;The initial code you deploy to a contract is there to stay, permanently, on the blockchain. This is one reason security is such a huge concern in Solidity. If there's a flaw in your contract code, there's no way for you to patch it later. You would have to tell your users to start using a different smart contract address that has the fix.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;But this is also a feature of smart contracts. The code is law. If you read the code of a smart contract and verify it, you can be sure that every time you call a function it's going to do exactly what the code says it will do. No one can later change that function and give you unexpected results.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;h2 id="external-dependencies" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 23px; line-height: 0.88; margin-bottom: 10px; margin-top: 30px; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;External dependencies&lt;/span&gt;&lt;/h2&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;we hard-coded the CryptoKitties contract address into our DApp. But what would happen if the CryptoKitties contract had a bug and someone destroyed all the kitties?&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;It's unlikely, but if this did happen it would render our DApp completely useless — our DApp would point to a hardcoded address that no longer returned any kitties. Our zombies would be unable to feed on kitties, and we'd be unable to modify our contract to fix it.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;For this reason, it often makes sense to have functions that will allow you to update key portions of the DApp.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;For example, instead of hard coding the CryptoKitties contract address into our DApp, we should probably have a&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;setKittyContractAddress&lt;/code&gt;&amp;nbsp;function that lets us change this address in the future in case something happens to the CryptoKitties contract.&lt;/span&gt;&lt;/p&gt;&lt;h1 data-v-18547daa="" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 28px; line-height: 1.5; margin-bottom: 10px; margin-top: 10px; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Ownable Contracts&lt;/span&gt;&lt;/h1&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;setKittyContractAddress&lt;/code&gt;&amp;nbsp;is&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;external&lt;/code&gt;, so anyone can call it! That means anyone who called the function could change the address of the CryptoKitties contract, and break our app for all its users.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;We do want the ability to update this address in our contract, but we don't want everyone to be able to update it.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;To handle cases like this, one common practice that has emerged is to make contracts&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;Ownable&lt;/code&gt;&amp;nbsp;— meaning they have an owner (you) who has special privileges.&lt;/span&gt;&lt;/p&gt;&lt;h2 id="openzeppelin-s-ownable-contract" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 23px; line-height: 0.88; margin-bottom: 10px; margin-top: 30px; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;OpenZeppelin's&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 20.125px; overflow-wrap: break-word;"&gt;Ownable&lt;/code&gt;&amp;nbsp;contract&lt;/span&gt;&lt;/h2&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Below is the&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;Ownable&lt;/code&gt;&amp;nbsp;contract taken from the&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;OpenZeppelin&lt;/span&gt;&lt;/span&gt;&amp;nbsp;Solidity library. OpenZeppelin is a library of secure and community-vetted smart contracts that you can use in your own DApps. After this lesson, we highly recommend you check out their site to further your learning!&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Give the contract below a read-through. You're going to see a few things we haven't learned yet, but don't worry, we'll talk about them afterward.&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */&lt;/span&gt;
&lt;span class="hljs-class" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;contract&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;Ownable&lt;/span&gt; &lt;/span&gt;{
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;private&lt;/span&gt; _owner;

  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;event&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;OwnershipTransferred&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;
    &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;indexed&lt;/span&gt; previousOwner,
    &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;indexed&lt;/span&gt; newOwner
  &lt;/span&gt;)&lt;/span&gt;;

  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;/**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */&lt;/span&gt;
  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;constructor&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;internal&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;{
    _owner &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; &lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;msg&lt;/span&gt;.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;sender&lt;/span&gt;;
    &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;emit&lt;/span&gt; OwnershipTransferred(&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt;(&lt;span class="hljs-number" style="box-sizing: border-box;"&gt;0&lt;/span&gt;), _owner);
  }

  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;/**
   * @return the address of the owner.
   */&lt;/span&gt;
  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;owner&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;view&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt;&lt;/span&gt;) &lt;/span&gt;{
    &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;return&lt;/span&gt; _owner;
  }

  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;/**
   * @dev Throws if called by any account other than the owner.
   */&lt;/span&gt;
  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;modifier&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;onlyOwner&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;/span&gt;{
    &lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;require&lt;/span&gt;(isOwner());
    &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;_&lt;/span&gt;;
  }

  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;/**
   * @return true if `msg.sender` is the owner of the contract.
   */&lt;/span&gt;
  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;isOwner&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;view&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;bool&lt;/span&gt;&lt;/span&gt;) &lt;/span&gt;{
    &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;return&lt;/span&gt; &lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;msg&lt;/span&gt;.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;sender&lt;/span&gt; &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt;&lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; _owner;
  }

  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;/**
   * @dev Allows the current owner to relinquish control of the contract.
   * @notice Renouncing to ownership will leave the contract without an owner.
   * It will not be possible to call the functions with the `onlyOwner`
   * modifier anymore.
   */&lt;/span&gt;
  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;renounceOwnership&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;onlyOwner&lt;/span&gt; &lt;/span&gt;{
    &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;emit&lt;/span&gt; OwnershipTransferred(_owner, &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt;(&lt;span class="hljs-number" style="box-sizing: border-box;"&gt;0&lt;/span&gt;));
    _owner &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt;(&lt;span class="hljs-number" style="box-sizing: border-box;"&gt;0&lt;/span&gt;);
  }

  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;/**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */&lt;/span&gt;
  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;transferOwnership&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt; newOwner&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;onlyOwner&lt;/span&gt; &lt;/span&gt;{
    _transferOwnership(newOwner);
  }

  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;/**
   * @dev Transfers control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */&lt;/span&gt;
  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;_transferOwnership&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt; newOwner&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;internal&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;{
    &lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;require&lt;/span&gt;(newOwner &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;!&lt;/span&gt;&lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt;(&lt;span class="hljs-number" style="box-sizing: border-box;"&gt;0&lt;/span&gt;));
    &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;emit&lt;/span&gt; OwnershipTransferred(_owner, newOwner);
    _owner &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; newOwner;
  }
}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;A few new things here we haven't seen before:&lt;/span&gt;&lt;/p&gt;&lt;ul style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 0px; white-space: normal;"&gt;&lt;li style="box-sizing: border-box;"&gt;&lt;span style="background-color: white;"&gt;Constructors:&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;constructor()&lt;/code&gt;&amp;nbsp;is a&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;constructor&lt;/span&gt;&lt;/span&gt;, which is an optional special function. It will get executed only one time, when the contract is first created.&lt;/span&gt;&lt;/li&gt;&lt;li style="box-sizing: border-box;"&gt;&lt;span style="background-color: white;"&gt;Function Modifiers:&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;modifier onlyOwner()&lt;/code&gt;. Modifiers are kind of half-functions that are used to modify other functions, usually to check some requirements prior to execution. In this case,&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;onlyOwner&lt;/code&gt;&amp;nbsp;can be used to limit access so&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;only&lt;/span&gt;&amp;nbsp;the&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;owner&lt;/span&gt;&amp;nbsp;of the contract can run this function. We'll talk more about function modifiers in the next chapter, and what that weird&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;_;&lt;/code&gt;&amp;nbsp;does.&lt;/span&gt;&lt;/li&gt;&lt;li style="box-sizing: border-box;"&gt;&lt;span style="background-color: white;"&gt;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;indexed&lt;/code&gt;&amp;nbsp;keyword: don't worry about this one, we don't need it yet.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;So the&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;Ownable&lt;/code&gt;&amp;nbsp;contract basically does the following:&lt;/span&gt;&lt;/p&gt;&lt;ol style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 0px; white-space: normal;"&gt;&lt;li style="box-sizing: border-box;"&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;When a contract is created, its constructor sets the&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;owner&lt;/code&gt;&amp;nbsp;to&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;msg.sender&lt;/code&gt;&amp;nbsp;(the person who deployed it)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="box-sizing: border-box;"&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;It adds an&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;onlyOwner&lt;/code&gt;&amp;nbsp;modifier, which can restrict access to certain functions to only the&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;owner&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="box-sizing: border-box;"&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;It allows you to transfer the contract to a new&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;owner&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;onlyOwner&lt;/code&gt;&amp;nbsp;is such a common requirement for contracts that most Solidity DApps start with a copy/paste of this&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;Ownable&lt;/code&gt;&amp;nbsp;contract, and then their first contract inherits from it.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Since we want to limit&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;setKittyContractAddress&lt;/code&gt;&amp;nbsp;to&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;onlyOwner&lt;/code&gt;, we're going to do the same for our contract.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Solidity - Block Chain 2</title><link>http://oracle-plsql10g.blogspot.com/2023/05/solidity-block-chain-2.html</link><category>Block Chain</category><category>Solidity</category><pubDate>Fri, 26 May 2023 12:39:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-8447412630123003379</guid><description>&lt;p&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp;&lt;span face="soleil, sans-serif" style="font-size: 17px;"&gt;Ethereum has the hash function&lt;/span&gt;&lt;span face="soleil, sans-serif" style="font-size: 17px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;keccak256&lt;/code&gt;&lt;span face="soleil, sans-serif" style="font-size: 17px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span face="soleil, sans-serif" style="font-size: 17px;"&gt;&lt;b&gt;built &lt;/b&gt;in, which is a version of SHA3. A hash function basically maps an input into a random 256-bit hexadecimal number. A slight change in the input will cause a large change in the hash.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;It's useful for many purposes in Ethereum, but for right now we're just going to use it for pseudo-random number generation.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;Also important,&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;keccak256&lt;/code&gt;&amp;nbsp;expects a single parameter of type&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;bytes&lt;/code&gt;. This means that we have to "pack" any parameters before calling&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;keccak256&lt;/code&gt;:&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;Example:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;//6e91ec6b618bb462a4a6ee5aa2cb0e9cf30f7a052bb467b0ba58b8748c00d2e5&lt;/span&gt;
&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;keccak256&lt;/span&gt;(&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;abi&lt;/span&gt;.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;encodePacked&lt;/span&gt;(&lt;span class="hljs-string" style="box-sizing: border-box;"&gt;"aaaab"&lt;/span&gt;));
&lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;//b1f078126895a1424524de5321b339ab00408010b7cf0e6ed451514981e58aa9&lt;/span&gt;
&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;keccak256&lt;/span&gt;(&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;abi&lt;/span&gt;.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;encodePacked&lt;/span&gt;(&lt;span class="hljs-string" style="box-sizing: border-box;"&gt;"aaaac"&lt;/span&gt;));
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;As you can see, the returned values are totally different despite only a 1 character change in the input.&lt;/span&gt;&lt;/p&gt;&lt;h2 id="typecasting" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 23px; line-height: 0.88; margin-bottom: 10px; margin-top: 30px;"&gt;&lt;span style="background-color: white;"&gt;Typecasting&lt;/span&gt;&lt;/h2&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;Sometimes you need to convert between data types. Take the following example:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint8&lt;/span&gt; a &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; &lt;span class="hljs-number" style="box-sizing: border-box;"&gt;5&lt;/span&gt;;
&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; b &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; &lt;span class="hljs-number" style="box-sizing: border-box;"&gt;6&lt;/span&gt;;
&lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// throws an error because a * b returns a uint, not uint8:&lt;/span&gt;
&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint8&lt;/span&gt; c &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; a &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;*&lt;/span&gt; b;
&lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// we have to typecast b as a uint8 to make it work:&lt;/span&gt;
&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint8&lt;/span&gt; c &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; a &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;*&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint8&lt;/span&gt;(b);
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;In the above,&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;a * b&lt;/code&gt;&amp;nbsp;returns a&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;uint&lt;/code&gt;, but we were trying to store it as a&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;uint8&lt;/code&gt;, which could cause potential problems. By casting it as a&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;uint8&lt;/code&gt;, it works and the compiler won't throw an error.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;&lt;u&gt;Our contract is almost finished! Now let's add an&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;event&lt;/span&gt;&lt;/span&gt;.&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;Events&lt;/span&gt;&lt;/span&gt;&amp;nbsp;are a way for your contract to communicate that something happened on the blockchain to your app front-end, which can be 'listening' for certain events and take action when they happen.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;Example:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// declare the event&lt;/span&gt;
&lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;event&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;IntegersAdded&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; x, &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; y, &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; result&lt;/span&gt;)&lt;/span&gt;;

&lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;add&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; _x, &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; _y&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt; (&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt;&lt;/span&gt;) &lt;/span&gt;{
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; result &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; _x &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;+&lt;/span&gt; _y;
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// fire an event to let the app know the function was called:&lt;/span&gt;
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;emit&lt;/span&gt; IntegersAdded(_x, _y, result);
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;return&lt;/span&gt; result;
}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;Your app front-end could then listen for the event. A JavaScript implementation would look something like:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;YourContract.IntegersAdded(&lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;error&lt;/span&gt;, result&lt;/span&gt;) &lt;/span&gt;{
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// do something with result&lt;/span&gt;
})&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span face="soleil, sans-serif" style="background-color: white; font-size: 17px; white-space: normal;"&gt;Solidity contract is complete! Now we need to write a JavaScript frontend that interacts with the contract.&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Ethereum has a JavaScript library called&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;Web3.js&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-family: soleil, sans-serif;"&gt;&lt;span style="font-size: 17px; white-space: normal;"&gt;&lt;b&gt;&lt;u&gt;Addresses&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-family: soleil, sans-serif;"&gt;&lt;span style="font-size: 17px; white-space: normal;"&gt;The Ethereum blockchain is made up of accounts, which you can think of like bank accounts. An account has a balance of Ether (the currency used on the Ethereum blockchain), and you can send and receive Ether payments to other accounts, just like your bank account can wire transfer money to other bank accounts.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;Each account has an address, which you can think of like a bank account number. It's a unique identifier that points to that account, and it looks like this:&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;0x0cE446255506E92DF41614C46F1d6df9Cc969183&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;Understand that an address is owned by a specific user (or a smart contract).&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;So we can use it as a unique ID for ownership . When a user creates new entity/object by interacting with an app, will set ownership of those&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;entity/object&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;to the Ethereum address that called the function.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;&lt;b&gt;&lt;u&gt;Mappings&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-family: soleil, sans-serif;"&gt;&lt;span style="font-size: 17px; white-space: normal;"&gt;Mappings are another way of storing organized data in Solidity.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;Defining a mapping looks like this:&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;// For a financial app, storing a uint that holds the user's account balance:&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-family: soleil, sans-serif;"&gt;&lt;span style="font-size: 17px; white-space: normal;"&gt;mapping (address =&amp;gt; uint) public accountBalance;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-family: soleil, sans-serif;"&gt;&lt;span style="font-size: 17px; white-space: normal;"&gt;// Or could be used to store / lookup usernames based on userId&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-family: soleil, sans-serif;"&gt;&lt;span style="font-size: 17px; white-space: normal;"&gt;mapping (uint =&amp;gt; string) userIdToName;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-size: 17px; white-space: normal;"&gt;&lt;span style="background-color: white; font-family: soleil, sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="font-family: soleil, sans-serif;"&gt;&lt;span style="font-size: 17px; white-space: normal;"&gt;A mapping is essentially a key-value store for storing and looking up data. In the first example, the key is an address and the value is a uint, and in the second example the key is a uint and the value a string.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;h2 id="msg-sender" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 23px; line-height: 0.88; margin-bottom: 10px; margin-top: 30px; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;msg.sender&lt;/span&gt;&lt;/h2&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;In Solidity, there are certain global variables that are available to all functions. One of these is&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;msg.sender&lt;/code&gt;, which refers to the&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;address&lt;/code&gt;&amp;nbsp;of the person (or smart contract) who called the current function.&lt;/span&gt;&lt;/p&gt;&lt;blockquote style="border-left: 1px solid rgb(102, 102, 102); box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; font-style: italic; margin: 30px 0px; padding: 0px 0px 0px 10px; white-space: normal;"&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;Note: In Solidity, function execution always needs to start with an external caller. A contract will just sit on the blockchain doing nothing until someone calls one of its functions. So there will always be a&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;msg.sender&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Here's an example of using&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;msg.sender&lt;/code&gt;&amp;nbsp;and updating a&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;mapping&lt;/code&gt;:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;mapping&lt;/span&gt; (&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;address&lt;/span&gt; &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt;&lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;&amp;gt;&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt;) favoriteNumber;

&lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;setMyNumber&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; _myNumber&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;{
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// Update our `favoriteNumber` mapping to store `_myNumber` under `msg.sender`&lt;/span&gt;
  favoriteNumber[&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;msg&lt;/span&gt;.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;sender&lt;/span&gt;] &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; _myNumber;
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// ^ The syntax for storing data in a mapping is just like with arrays&lt;/span&gt;
}

&lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;whatIsMyNumber&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;view&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt; (&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt;&lt;/span&gt;) &lt;/span&gt;{
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// Retrieve the value stored in the sender's address&lt;/span&gt;
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// Will be `0` if the sender hasn't called `setMyNumber` yet&lt;/span&gt;
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;return&lt;/span&gt; favoriteNumber[&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;msg&lt;/span&gt;.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;sender&lt;/span&gt;];
}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;In this trivial example, anyone could call&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;setMyNumber&lt;/code&gt;&amp;nbsp;and store a&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;uint&lt;/code&gt;&amp;nbsp;in our contract, which would be tied to their address. Then when they called&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;whatIsMyNumber&lt;/code&gt;, they would be returned the&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;uint&lt;/code&gt;&amp;nbsp;that they stored.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Using&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;msg.sender&lt;/code&gt;&amp;nbsp;gives you the security of the Ethereum blockchain — the only way someone can modify someone else's data would be to steal the private key associated with their Ethereum address.&lt;/span&gt;&lt;/p&gt;&lt;h1 data-v-18547daa="" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 28px; line-height: 1.5; margin-bottom: 10px; margin-top: 10px; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Require&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;How can we make&amp;nbsp; function can only be called once per player?&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;For that we use&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;require&lt;/code&gt;.&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;require&lt;/code&gt;&amp;nbsp;makes it so that the function will throw an error and stop executing if some condition is not true:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;sayHiToVitalik&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;string&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;memory&lt;/span&gt; _name&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt; (&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;string&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;memory&lt;/span&gt;&lt;/span&gt;) &lt;/span&gt;{
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// Compares if _name equals "Vitalik". Throws an error and exits if not true.&lt;/span&gt;
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// (Side note: Solidity doesn't have native string comparison, so we&lt;/span&gt;
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// compare their keccak256 hashes to see if the strings are equal)&lt;/span&gt;
  &lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;require&lt;/span&gt;(&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;keccak256&lt;/span&gt;(&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;abi&lt;/span&gt;.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;encodePacked&lt;/span&gt;(_name)) &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt;&lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; &lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;keccak256&lt;/span&gt;(&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;abi&lt;/span&gt;.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;encodePacked&lt;/span&gt;(&lt;span class="hljs-string" style="box-sizing: border-box;"&gt;"Vitalik"&lt;/span&gt;)));
  &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// If it's true, proceed with the function:&lt;/span&gt;
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;return&lt;/span&gt; &lt;span class="hljs-string" style="box-sizing: border-box;"&gt;"Hi!"&lt;/span&gt;;
}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;If you call this function with&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;sayHiToVitalik("Vitalik")&lt;/code&gt;, it will return "Hi!". If you call it with any other input, it will throw an error and not execute.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Thus&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;require&lt;/code&gt;&amp;nbsp;is quite useful for verifying certain conditions that must be true before running a function.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;u&gt;One feature of Solidity that makes this more manageable is contract&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;inheritance&lt;/span&gt;&lt;/span&gt;:&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-class" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;contract&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;Doge&lt;/span&gt; &lt;/span&gt;{
  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;catchphrase&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt; (&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;string&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;memory&lt;/span&gt;&lt;/span&gt;) &lt;/span&gt;{
    &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;return&lt;/span&gt; &lt;span class="hljs-string" style="box-sizing: border-box;"&gt;"So Wow CryptoDoge"&lt;/span&gt;;
  }
}

&lt;span class="hljs-class" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;contract&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;BabyDoge&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;is&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;Doge&lt;/span&gt; &lt;/span&gt;{
  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;anotherCatchphrase&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt; (&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;string&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;memory&lt;/span&gt;&lt;/span&gt;) &lt;/span&gt;{
    &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;return&lt;/span&gt; &lt;span class="hljs-string" style="box-sizing: border-box;"&gt;"Such Moon BabyDoge"&lt;/span&gt;;
  }
}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;BabyDoge&lt;/code&gt;&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;inherits&lt;/span&gt;&lt;/span&gt;&amp;nbsp;from&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;Doge&lt;/code&gt;. That means if you compile and deploy&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;BabyDoge&lt;/code&gt;, it will have access to both&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;catchphrase()&lt;/code&gt;&amp;nbsp;and&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;anotherCatchphrase()&lt;/code&gt;&amp;nbsp;(and any other public functions we may define on&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;Doge&lt;/code&gt;).&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;This can be used for logical inheritance (such as with a subclass, a&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;Cat&lt;/code&gt;&amp;nbsp;is an&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;Animal&lt;/code&gt;). But it can also be used simply for organizing your code by grouping similar logic together into different contracts.&lt;/span&gt;&lt;/p&gt;&lt;h1 data-v-18547daa="" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 28px; line-height: 1.5; margin-bottom: 10px; margin-top: 10px; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;u&gt;Import&lt;/u&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;When you have multiple files and you want to import one file into another, Solidity uses the&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;import&lt;/code&gt;&amp;nbsp;keyword:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs haxe" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;import&lt;/span&gt; &lt;span class="hljs-string" style="box-sizing: border-box;"&gt;"./someothercontract.sol"&lt;/span&gt;;

contract &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;new&lt;/span&gt;&lt;span class="hljs-type" style="box-sizing: border-box;"&gt;Contract&lt;/span&gt; is SomeOtherContract {

}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;So if we had a file named&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;someothercontract.sol&lt;/code&gt;&amp;nbsp;in the same directory as this contract (that's what the&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;./&lt;/code&gt;&amp;nbsp;means), it would get imported by the compiler.&lt;/span&gt;&lt;/p&gt;&lt;h1 data-v-18547daa="" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 28px; line-height: 1.5; margin-bottom: 10px; margin-top: 10px; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;u&gt;Storage vs Memory (Data location)&lt;/u&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div data-v-18547daa="" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;In Solidity, there are two locations you can store variables — in&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;storage&lt;/code&gt;&amp;nbsp;and in&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;memory&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;Storage&lt;/span&gt;&lt;/span&gt;&amp;nbsp;refers to variables stored permanently on the blockchain.&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;Memory&lt;/span&gt;&lt;/span&gt;&amp;nbsp;variables are temporary, and are erased between external function calls to your contract. Think of it like your computer's hard disk vs RAM.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;Most of the time you don't need to use these keywords because Solidity handles them by default. State variables (variables declared outside of functions) are by default&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;storage&lt;/code&gt;&amp;nbsp;and written permanently to the blockchain, while variables declared inside functions are&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;memory&lt;/code&gt;&amp;nbsp;and will disappear when the function call ends.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;However, there are times when you do need to use these keywords, namely when dealing with&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;structs&lt;/span&gt;&lt;/span&gt;&amp;nbsp;and&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;arrays&lt;/span&gt;&lt;/span&gt;&amp;nbsp;within functions:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-class" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;contract&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;SandwichFactory&lt;/span&gt; &lt;/span&gt;{
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;struct&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;Sandwich&lt;/span&gt; {
    &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;string&lt;/span&gt; name;
    &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;string&lt;/span&gt; status;
  }

  Sandwich[] sandwiches;

  &lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;eatSandwich&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; _index&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;{
    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// Sandwich mySandwich = sandwiches[_index];&lt;/span&gt;

    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// ^ Seems pretty straightforward, but solidity will give you a warning&lt;/span&gt;
    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// telling you that you should explicitly declare `storage` or `memory` here.&lt;/span&gt;

    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// So instead, you should declare with the `storage` keyword, like:&lt;/span&gt;
    Sandwich &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;storage&lt;/span&gt; mySandwich &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; sandwiches[_index];
    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// ...in which case `mySandwich` is a pointer to `sandwiches[_index]`&lt;/span&gt;
    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// in storage, and...&lt;/span&gt;
    mySandwich.status &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; &lt;span class="hljs-string" style="box-sizing: border-box;"&gt;"Eaten!"&lt;/span&gt;;
    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// ...this will permanently change `sandwiches[_index]` on the blockchain.&lt;/span&gt;

    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// If you just want a copy, you can use `memory`:&lt;/span&gt;
    Sandwich &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;memory&lt;/span&gt; anotherSandwich &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; sandwiches[_index &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;+&lt;/span&gt; &lt;span class="hljs-number" style="box-sizing: border-box;"&gt;1&lt;/span&gt;];
    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// ...in which case `anotherSandwich` will simply be a copy of the&lt;/span&gt;
    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// data in memory, and...&lt;/span&gt;
    anotherSandwich.status &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; &lt;span class="hljs-string" style="box-sizing: border-box;"&gt;"Eaten!"&lt;/span&gt;;
    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// ...will just modify the temporary variable and have no effect&lt;/span&gt;
    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// on `sandwiches[_index + 1]`. But you can do this:&lt;/span&gt;
    sandwiches[_index &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;+&lt;/span&gt; &lt;span class="hljs-number" style="box-sizing: border-box;"&gt;1&lt;/span&gt;] &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; anotherSandwich;
    &lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// ...if you want to copy the changes back into blockchain storage.&lt;/span&gt;
  }
}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Solidity - Block Chain </title><link>http://oracle-plsql10g.blogspot.com/2023/05/solidity-block-chain.html</link><category>Block Chain</category><category>Solidity</category><pubDate>Fri, 26 May 2023 12:20:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-9168808658775433500</guid><description>&lt;p&gt;&lt;span style="background-color: white;"&gt;&amp;nbsp; &amp;nbsp;&lt;span style="font-family: soleil, sans-serif; font-size: 17px;"&gt;Solidity's code is encapsulated in&amp;nbsp;&lt;/span&gt;&lt;span style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; font-weight: bolder;"&gt;contracts&lt;/span&gt;&lt;span style="font-family: soleil, sans-serif; font-size: 17px;"&gt;. A&amp;nbsp;&lt;/span&gt;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;contract&lt;/code&gt;&lt;span style="font-family: soleil, sans-serif; font-size: 17px;"&gt;&amp;nbsp;is the fundamental building block of Ethereum applications — all variables and functions belong to a contract, and this will be the starting point of all your projects.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: white;"&gt;&lt;span style="font-family: soleil, sans-serif; font-size: 17px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;An empty contract named&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;HelloWorld&lt;/code&gt;&amp;nbsp;would look like this:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs dts" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;contract &lt;span class="hljs-class" style="box-sizing: border-box;"&gt;HelloWorld &lt;/span&gt;{

}&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs dts" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white; font-family: soleil, sans-serif; font-size: 23px; white-space: normal;"&gt;Version Pragma&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs dts" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;All solidity source code should start with a "version pragma" — a declaration of the version of the Solidity compiler this code should use. This is to prevent issues with future compiler versions potentially introducing changes that would break your code.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;For the scope of this tutorial, we'll want to be able to compile our smart contracts with any compiler version in the range of 0.5.0 (inclusive) to 0.6.0 (exclusive). It looks like this:&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;pragma solidity &amp;gt;=0.5.0 &amp;lt;0.6.0;&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Putting it together, here is a bare-bones starting contract — the first thing you'll write every time you start a new project:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-meta" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;pragma&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;solidity&lt;/span&gt; &amp;gt;=0.5.0 &amp;lt;0.6.0;&lt;/span&gt;

&lt;span class="hljs-class" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;contract&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;HelloWorld&lt;/span&gt; &lt;/span&gt;{

}&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span style="font-family: soleil, sans-serif; font-size: 23px; white-space: normal;"&gt;Unsigned Integers:&amp;nbsp;&lt;/span&gt;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 20.125px; overflow-wrap: break-word; white-space: normal;"&gt;uint&lt;/code&gt;&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;The&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;uint&lt;/code&gt;&amp;nbsp;data type is an unsigned integer, meaning&amp;nbsp;&lt;span style="box-sizing: border-box;"&gt;its value must be non-negative&lt;/span&gt;. There's also an&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;int&lt;/code&gt;&amp;nbsp;data type for signed integers.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;b&gt;Math in Solidity is pretty straightforward.&lt;/b&gt; The following operations are the same as in most programming languages:&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 0px; white-space: normal;"&gt;&lt;li style="box-sizing: border-box;"&gt;&lt;span style="background-color: white;"&gt;Addition:&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;x + y&lt;/code&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="box-sizing: border-box;"&gt;&lt;span style="background-color: white;"&gt;Subtraction:&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;x - y&lt;/code&gt;,&lt;/span&gt;&lt;/li&gt;&lt;li style="box-sizing: border-box;"&gt;&lt;span style="background-color: white;"&gt;Multiplication:&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;x * y&lt;/code&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="box-sizing: border-box;"&gt;&lt;span style="background-color: white;"&gt;Division:&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;x / y&lt;/code&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="box-sizing: border-box;"&gt;&lt;span style="background-color: white;"&gt;Modulus / remainder:&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;x % y&lt;/code&gt;&amp;nbsp;&lt;em style="box-sizing: border-box;"&gt;(for example,&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;13 % 5&lt;/code&gt;&amp;nbsp;is&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;3&lt;/code&gt;, because if you divide 5 into 13, 3 is the remainder)&lt;/em&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Sometimes you need a more complex data type. For this, Solidity provides&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;structs&lt;/span&gt;&lt;/span&gt;:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs csharp" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;struct&lt;/span&gt; Person {
  &lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; age;
  &lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;string&lt;/span&gt; name;
}&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs csharp" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white; font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;Structs allow you to create more complicated data types that have multiple properties.&lt;/span&gt;&lt;span style="background-color: white;"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;When you want a collection of something, you can use an&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;array&lt;/span&gt;&lt;/span&gt;. There are two types of arrays in Solidity:&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;fixed&lt;/span&gt;&lt;/span&gt;&amp;nbsp;arrays and&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;dynamic&lt;/span&gt;&lt;/span&gt;&amp;nbsp;arrays:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs angelscript" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// Array with a fixed length of 2 elements:&lt;/span&gt;
&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;uint&lt;/span&gt;[&lt;span class="hljs-number" style="box-sizing: border-box;"&gt;2&lt;/span&gt;] fixedArray;
&lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// another fixed Array, can contain 5 strings:&lt;/span&gt;
&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;string&lt;/span&gt;[&lt;span class="hljs-number" style="box-sizing: border-box;"&gt;5&lt;/span&gt;] &lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;string&lt;/span&gt;Array;
&lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// a dynamic Array - has no fixed size, can keep growing:&lt;/span&gt;
&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;uint&lt;/span&gt;[] dynamicArray;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;You can also create an array of&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;structs&lt;/span&gt;&lt;/span&gt;.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs awk" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;Person[] people; &lt;span class="hljs-regexp" style="box-sizing: border-box;"&gt;//&lt;/span&gt; dynamic Array, we can keep adding to it
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Remember that state variables are stored permanently in the blockchain? So creating a dynamic array of structs like this can be useful for storing structured data in your contract, kind of like a database.&lt;/span&gt;&lt;/p&gt;&lt;h2 id="public-arrays" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 23px; line-height: 0.88; margin-bottom: 10px; margin-top: 30px; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Public Arrays&lt;/span&gt;&lt;/h2&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;You can declare an array as&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;public&lt;/code&gt;, and Solidity will automatically create a&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;getter&lt;/span&gt;&lt;/span&gt;&amp;nbsp;method for it. The syntax looks like:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs inform7" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;Person&lt;/span&gt;&lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;[]&lt;/span&gt; public people;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Other contracts would then be able to read from, but not write to, this array. So this is a useful pattern for storing public data in your contract.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;b&gt;A function declaration &lt;/b&gt;in solidity looks like the following:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs reasonml" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; eat&lt;span class="hljs-constructor" style="box-sizing: border-box;"&gt;Hamburgers(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;string&lt;/span&gt; &lt;span class="hljs-params" style="box-sizing: border-box;"&gt;memory&lt;/span&gt; &lt;span class="hljs-params" style="box-sizing: border-box;"&gt;_name&lt;/span&gt;, &lt;span class="hljs-params" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; &lt;span class="hljs-params" style="box-sizing: border-box;"&gt;_amount&lt;/span&gt;)&lt;/span&gt; public {

}&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs reasonml" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;This is a function named&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;eatHamburgers&lt;/code&gt;&amp;nbsp;that takes 2 parameters: a&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;string&lt;/code&gt;&amp;nbsp;and a&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;uint&lt;/code&gt;. For now the body of the function is empty. Note that we're specifying the function visibility as&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;public&lt;/code&gt;. We're also providing instructions about where the&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;_name&lt;/code&gt;&amp;nbsp;variable should be stored- in&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;memory&lt;/code&gt;. This is required for all reference types such as arrays, structs, mappings, and strings.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;What is a reference type you ask?&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Well, there are two ways in which you can pass an argument to a Solidity function:&lt;/span&gt;&lt;/p&gt;&lt;ul style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 0px; white-space: normal;"&gt;&lt;li style="box-sizing: border-box;"&gt;&lt;span style="background-color: white;"&gt;By value, which means that the Solidity compiler creates a new copy of the parameter's value and passes it to your function. This allows your function to modify the value without worrying that the value of the initial parameter gets changed.&lt;/span&gt;&lt;/li&gt;&lt;li style="box-sizing: border-box;"&gt;&lt;span style="background-color: white;"&gt;By reference, which means that your function is called with a... reference to the original variable. Thus, if your function changes the value of the variable it receives, the value of the original variable gets changed.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/code&gt;&lt;code class="hljs reasonml" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs csharp" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;struct&lt;/span&gt; Person {
  &lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; age;
  &lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;string&lt;/span&gt; name;
}

Person[] &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt; people;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;create new&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;Person&lt;/code&gt;s and add them to our&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;people&lt;/code&gt;&amp;nbsp;array.&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// create a New Person:&lt;/span&gt;
Person satoshi &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; Person(&lt;span class="hljs-number" style="box-sizing: border-box;"&gt;172&lt;/span&gt;, &lt;span class="hljs-string" style="box-sizing: border-box;"&gt;"Satoshi"&lt;/span&gt;);

&lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// Add that person to the Array:&lt;/span&gt;
people.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;push&lt;/span&gt;(satoshi);
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;We can also combine these together and do them in one line of code to keep things clean:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;people.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;push&lt;/span&gt;(Person(&lt;span class="hljs-number" style="box-sizing: border-box;"&gt;16&lt;/span&gt;, &lt;span class="hljs-string" style="box-sizing: border-box;"&gt;"Vitalik"&lt;/span&gt;));
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Note that&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;array.push()&lt;/code&gt;&amp;nbsp;adds something to the&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;end&lt;/span&gt;&amp;nbsp;of the array, so the elements are in the order we added them. See the following example:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt;[] numbers;
numbers.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;push&lt;/span&gt;(&lt;span class="hljs-number" style="box-sizing: border-box;"&gt;5&lt;/span&gt;);
numbers.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;push&lt;/span&gt;(&lt;span class="hljs-number" style="box-sizing: border-box;"&gt;10&lt;/span&gt;);
numbers.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;push&lt;/span&gt;(&lt;span class="hljs-number" style="box-sizing: border-box;"&gt;15&lt;/span&gt;);
&lt;span class="hljs-comment" style="box-sizing: border-box; font-style: italic;"&gt;// numbers is now equal to [5, 10, 15]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white; font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white; font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;In Solidity, functions are&amp;nbsp;&lt;/span&gt;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; overflow-wrap: break-word; white-space: normal;"&gt;public&lt;/code&gt;&lt;span style="background-color: white; font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: white; font-family: soleil, sans-serif; font-size: 17px; white-space: normal;"&gt;by default. This means anyone (or any other contract) can call your contract's function and execute its code.&lt;/span&gt;&lt;/code&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Obviously this isn't always desirable, and can make your contract vulnerable to attacks. Thus it's good practice to mark your functions as&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;private&lt;/code&gt;&amp;nbsp;by default, and then only make&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;public&lt;/code&gt;&amp;nbsp;the functions you want to expose to the world.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Let's look at how to declare a private function:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt;[] numbers;

&lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;_addToArray&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; _number&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;private&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;{
  numbers.&lt;span class="hljs-built_in" style="box-sizing: border-box;"&gt;push&lt;/span&gt;(_number);
}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;This means only other functions within our contract will be able to call this function and add to the&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;numbers&lt;/code&gt;&amp;nbsp;array.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;As you can see, we use the keyword&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;private&lt;/code&gt;&amp;nbsp;after the function name.&lt;/span&gt;&lt;/p&gt;&lt;h2 id="return-values" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 23px; line-height: 0.88; margin-bottom: 10px; margin-top: 30px; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Return Values&lt;/span&gt;&lt;/h2&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;To return a value from a function, the declaration looks like this:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;string&lt;/span&gt; greeting &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;=&lt;/span&gt; &lt;span class="hljs-string" style="box-sizing: border-box;"&gt;"What's up dog"&lt;/span&gt;;

&lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;sayHello&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt; (&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;string&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;memory&lt;/span&gt;&lt;/span&gt;) &lt;/span&gt;{
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;return&lt;/span&gt; greeting;
}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;In Solidity, the function declaration contains the type of the return value (in this case&amp;nbsp;&lt;code style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14.875px; overflow-wrap: break-word;"&gt;string&lt;/code&gt;).&lt;/span&gt;&lt;/p&gt;&lt;h2 id="function-modifiers" style="box-sizing: border-box; font-family: soleil, sans-serif; font-size: 23px; line-height: 0.88; margin-bottom: 10px; margin-top: 30px; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Function modifiers&lt;/span&gt;&lt;/h2&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;The above function doesn't actually change state in Solidity — e.g. it doesn't change any values or write anything.&lt;/span&gt;&lt;/p&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;So in this case we could declare it as a&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;view&lt;/span&gt;&lt;/span&gt;&amp;nbsp;function, meaning it's only viewing the data but not modifying it:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;sayHello&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;public&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;view&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt; (&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;string&lt;/span&gt; &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;memory&lt;/span&gt;&lt;/span&gt;) &lt;/span&gt;{
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;Solidity also contains&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;pure&lt;/span&gt;&lt;/span&gt;&amp;nbsp;functions, which means you're not even accessing any data in the app. Consider the following:&lt;/span&gt;&lt;/p&gt;&lt;pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; margin-bottom: 1rem; margin-top: 0px; overflow: auto;"&gt;&lt;code class="hljs solidity" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; display: block; font-family: SFMono-Regular, Menlo, Monaco, Consolas, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: inherit; overflow-wrap: break-word; overflow-x: auto; padding: 0.5em; word-break: normal;"&gt;&lt;span style="background-color: white;"&gt;&lt;span class="hljs-function" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;function&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;_multiply&lt;/span&gt;(&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; a, &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt; b&lt;/span&gt;) &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;private&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;pure&lt;/span&gt;&lt;/span&gt; &lt;span class="hljs-title" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;returns&lt;/span&gt;&lt;/span&gt; (&lt;span class="hljs-params" style="box-sizing: border-box;"&gt;&lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;uint&lt;/span&gt;&lt;/span&gt;) &lt;/span&gt;{
  &lt;span class="hljs-keyword" style="box-sizing: border-box;"&gt;return&lt;/span&gt; a &lt;span class="hljs-operator" style="box-sizing: border-box;"&gt;*&lt;/span&gt; b;
}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word; white-space: normal;"&gt;&lt;span style="background-color: white;"&gt;This function doesn't even read from the state of the app — its return value depends only on its function parameters. So in this case we would declare the function as&amp;nbsp;&lt;span style="box-sizing: border-box; font-weight: bolder;"&gt;&lt;span style="box-sizing: border-box;"&gt;pure&lt;/span&gt;&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;blockquote style="border-left: 1px solid rgb(102, 102, 102); box-sizing: border-box; font-family: soleil, sans-serif; font-size: 17px; font-style: italic; margin: 30px 0px; padding: 0px 0px 0px 10px; white-space: normal;"&gt;&lt;p style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 1rem; margin-top: 1rem; overflow-wrap: break-word;"&gt;&lt;span style="background-color: white;"&gt;Note: It may be hard to remember when to mark functions as pure/view. Luckily the Solidity compiler is good about issuing warnings to let you know when you should use one of these modifiers.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/code&gt;&lt;/pre&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Advance Scrum Master</title><link>http://oracle-plsql10g.blogspot.com/2022/06/advance-scrum-master.html</link><category>Advance Scrum Master</category><pubDate>Tue, 7 Jun 2022 22:25:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-8436056357375519840</guid><description>&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKplXmL2IxhFIArj3H3wD3aq620VKL3uOfyMVJULAhfPkk20AWMt5jeT8azQ1r93-djTQUwdoilgPbP7glADi5irabqgzS3-DMTD8QfMQ7ccfUST9_HfC9YtJXgfmkoxxR0w01tStVBQ2Dw9QPGrLy7SCtwyVxb8L7V8UZqUdZK8iWSUH5vx80_pn-SA/s411/2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="361" data-original-width="411" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKplXmL2IxhFIArj3H3wD3aq620VKL3uOfyMVJULAhfPkk20AWMt5jeT8azQ1r93-djTQUwdoilgPbP7glADi5irabqgzS3-DMTD8QfMQ7ccfUST9_HfC9YtJXgfmkoxxR0w01tStVBQ2Dw9QPGrLy7SCtwyVxb8L7V8UZqUdZK8iWSUH5vx80_pn-SA/s16000/2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgXavQd709icpgEK9-ICppxYBtFRKBpmyuSNjyET-4JlCYmh7emvbhJP4HFo0YjzIjInAp8u5SGtyvmovEuZcMK7t75ip3rbXHlvnDfpu-ZgSuaoy6qwBiNUq-OQypFwSCy4KgnUcghSoACUc32D0yMv_Ej0_wTaebQ6ggGZ0s7gNAflqo4ik6blktqw/s529/3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="529" data-original-width="409" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgXavQd709icpgEK9-ICppxYBtFRKBpmyuSNjyET-4JlCYmh7emvbhJP4HFo0YjzIjInAp8u5SGtyvmovEuZcMK7t75ip3rbXHlvnDfpu-ZgSuaoy6qwBiNUq-OQypFwSCy4KgnUcghSoACUc32D0yMv_Ej0_wTaebQ6ggGZ0s7gNAflqo4ik6blktqw/s16000/3.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtHM3WGpYphB-Iou2Cc1zi1_ndrcormOIUrs-gbiHjpurd6QjmwNfvhUdVVJV9iSIcrULvL3RWm9mF7MGByjABIyNaqcy3SGs75hEwoFjAGBxfZ0NkD7vXVNYi6WWMOekM8-slpJz7qg9gUECSl8va23zdpM2q70NkTL8M2PZnDcLShOCU5v4_-uJADg/s602/4.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="602" data-original-width="389" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtHM3WGpYphB-Iou2Cc1zi1_ndrcormOIUrs-gbiHjpurd6QjmwNfvhUdVVJV9iSIcrULvL3RWm9mF7MGByjABIyNaqcy3SGs75hEwoFjAGBxfZ0NkD7vXVNYi6WWMOekM8-slpJz7qg9gUECSl8va23zdpM2q70NkTL8M2PZnDcLShOCU5v4_-uJADg/s16000/4.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj98XorxT2Nn-qeye_ntIJ_82NmMEzb43ezjPkqouUoqn9-uc92sB5IF8TPeJZ5wtNc7Ys9BinajQ32aSlqIx5MlyhcZEtQUFQZNHmxtwKAOV-5MHoy8qEtrJEDVTmgEenzHRFZNyI4bFnSvZLIX52AjCBd-lUkhrEXGwpZBg8QnkLd3DAkSgYi6nVXKw/s560/5.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="560" data-original-width="417" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj98XorxT2Nn-qeye_ntIJ_82NmMEzb43ezjPkqouUoqn9-uc92sB5IF8TPeJZ5wtNc7Ys9BinajQ32aSlqIx5MlyhcZEtQUFQZNHmxtwKAOV-5MHoy8qEtrJEDVTmgEenzHRFZNyI4bFnSvZLIX52AjCBd-lUkhrEXGwpZBg8QnkLd3DAkSgYi6nVXKw/s16000/5.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr5QA2Yq5AoTKpSfzLnKozwcbQfGB5bvJeUew6qcvM05joahTnOjHKmJEYAW0aOWya1_hmI8pGhvXkbxq2HSWXpKsf3qKSXfKR0PG5TUEwRbkODKs_yKv23Rgjoj069mC-iJlFfXFrOmCSWFpuHW8xp7x6jUhv4j2OJ5iIOSL1dRZ6NbtYjvMUACDTOg/s567/6.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="567" data-original-width="383" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr5QA2Yq5AoTKpSfzLnKozwcbQfGB5bvJeUew6qcvM05joahTnOjHKmJEYAW0aOWya1_hmI8pGhvXkbxq2HSWXpKsf3qKSXfKR0PG5TUEwRbkODKs_yKv23Rgjoj069mC-iJlFfXFrOmCSWFpuHW8xp7x6jUhv4j2OJ5iIOSL1dRZ6NbtYjvMUACDTOg/s16000/6.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCuc0bRNruwozNIPSiojdLFidCceiLeYFkEPjXs9OfOgz3iI2UwGsh30pr1tyL2KYc1fkCjarh0yYnepyuPGZQtsgIFF92GK6Sqq5L4hDnQ8CFHXVeyxOg1BTNEieHiCNLeg49IHVd986mshGF61trG3JtFeiMznjudtJT1wv9ZJ0m49Wc2ipPVBUnJg/s408/7.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="408" data-original-width="408" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCuc0bRNruwozNIPSiojdLFidCceiLeYFkEPjXs9OfOgz3iI2UwGsh30pr1tyL2KYc1fkCjarh0yYnepyuPGZQtsgIFF92GK6Sqq5L4hDnQ8CFHXVeyxOg1BTNEieHiCNLeg49IHVd986mshGF61trG3JtFeiMznjudtJT1wv9ZJ0m49Wc2ipPVBUnJg/s16000/7.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggTeAxOkdj1k7pBXJaDZ0gYkGIGdZgU1LpPLDGor0uvSyEkFhIH7WV6rHlJ7hGin61hURaF4OGUapImm3cZXFbh6XJSGZUR60fDKmX1d4XOuaq-0lp8OJduyZBKuWJv3vaWj-sWlVeHdHlV9dSLsv8uCcxaJedw16sgIssL-IWOBk4XwET1opBKa8r_g/s506/8.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="506" data-original-width="403" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggTeAxOkdj1k7pBXJaDZ0gYkGIGdZgU1LpPLDGor0uvSyEkFhIH7WV6rHlJ7hGin61hURaF4OGUapImm3cZXFbh6XJSGZUR60fDKmX1d4XOuaq-0lp8OJduyZBKuWJv3vaWj-sWlVeHdHlV9dSLsv8uCcxaJedw16sgIssL-IWOBk4XwET1opBKa8r_g/s16000/8.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9KW-Gnpz33POkd6upCwDemrMFUhjPyzwP-SbfvSyC475YqB4D2gQZi7MS5G9AOSABrLeD_-JVVqewTvEhs7xGbyH0xCS8pgcgTQrMz9L-5wTMbh22vBGzAJ2i-BvkjyequJb3w8ba87P4EijOJu9qVXl4e9F3cyaK5wyRgBST5ItHHTeTUDNiklRnNg/s493/9.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="493" data-original-width="383" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9KW-Gnpz33POkd6upCwDemrMFUhjPyzwP-SbfvSyC475YqB4D2gQZi7MS5G9AOSABrLeD_-JVVqewTvEhs7xGbyH0xCS8pgcgTQrMz9L-5wTMbh22vBGzAJ2i-BvkjyequJb3w8ba87P4EijOJu9qVXl4e9F3cyaK5wyRgBST5ItHHTeTUDNiklRnNg/s16000/9.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij9i8ZRXgbo2-_sfWPHc9mlsNuUT1WVAIoQoClEQ3GoWbZPJPUarwPy8F0l3taJRfJfS5abIQzHMaPjBjjDwwLo_YD6pd-s4pyhfzqa6EQQSNMIiltjyX5hepNz8BJkVojiblSbOprj5_0uKvVw14PUt_KND5GuUzCF20WRw_M5YFCpqLU98915SPDtA/s534/10.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="534" data-original-width="403" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij9i8ZRXgbo2-_sfWPHc9mlsNuUT1WVAIoQoClEQ3GoWbZPJPUarwPy8F0l3taJRfJfS5abIQzHMaPjBjjDwwLo_YD6pd-s4pyhfzqa6EQQSNMIiltjyX5hepNz8BJkVojiblSbOprj5_0uKvVw14PUt_KND5GuUzCF20WRw_M5YFCpqLU98915SPDtA/s16000/10.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0LGgXKYlhhNCrun5gdcyEbgF_Ob_DncCWR2prpId6_RcjfFPauOEZkf3NhdJRdhCzU3jkE5g71zmmaYs6iNdOas70Wr1P3MeeAAU4GDFIETiKphjeZumDSiILnl8lOPWwFKsmuJ9uW-J3Gak1iusyUTi6iQaQaiGHZpnBUHs1kKTukCPRs0Wn0Pio7g/s534/11.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="534" data-original-width="409" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0LGgXKYlhhNCrun5gdcyEbgF_Ob_DncCWR2prpId6_RcjfFPauOEZkf3NhdJRdhCzU3jkE5g71zmmaYs6iNdOas70Wr1P3MeeAAU4GDFIETiKphjeZumDSiILnl8lOPWwFKsmuJ9uW-J3Gak1iusyUTi6iQaQaiGHZpnBUHs1kKTukCPRs0Wn0Pio7g/s16000/11.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghXzHQjDJ-oMAJOrCNt92GmGM2CN5d_hKIjl8Sb1oDhuFEB_KLmeoWcdwisTaynzWFTP_cRAQtzc_VAtvv4I6JTxMsiOt9qxjKVjLUN4Plu4vLoW1Z-7lATE0NjUpqeHlEyy_15bpP0mXAp_bJlktgejgLkLNaQaxWnlPB6H3aDYYUb2aAhL5ocuQGgQ/s575/12.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="575" data-original-width="417" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghXzHQjDJ-oMAJOrCNt92GmGM2CN5d_hKIjl8Sb1oDhuFEB_KLmeoWcdwisTaynzWFTP_cRAQtzc_VAtvv4I6JTxMsiOt9qxjKVjLUN4Plu4vLoW1Z-7lATE0NjUpqeHlEyy_15bpP0mXAp_bJlktgejgLkLNaQaxWnlPB6H3aDYYUb2aAhL5ocuQGgQ/s16000/12.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwxMikCj8wYBzJp0BjJfBWU9s5VoNVYLCChc6e6NMY4lbSO6yCXnZ66sVJ2U_HS-D9TMfeA2BHik9QTjn1OBLjGgQYlD1FbsjYIDGsc1SjXdJ7bg9UYhjj6lnrVshrmsaht3q-I0KFdvZjoVozUDbJ3P68B_R-Xo_BIEHGF54dYQNXCYTXcsTqmtB0Bg/s517/13.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="517" data-original-width="415" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwxMikCj8wYBzJp0BjJfBWU9s5VoNVYLCChc6e6NMY4lbSO6yCXnZ66sVJ2U_HS-D9TMfeA2BHik9QTjn1OBLjGgQYlD1FbsjYIDGsc1SjXdJ7bg9UYhjj6lnrVshrmsaht3q-I0KFdvZjoVozUDbJ3P68B_R-Xo_BIEHGF54dYQNXCYTXcsTqmtB0Bg/s16000/13.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkALtzX3kxtmsB-PlQ3zb4OGp5g33NiyVuOWbxv8rKcuc57r8MTZqU_hNgbPJd9lWteaqwSrm8CCKbpEuXm-d-7aXT-OVx1N_4iMHlaChxbEb-PK6B-7L1SfJf3W_Agx74YWzDjwKWBkwjY4xWG58Qn9xcFDWBE26R37BoxAnT9FYrjVlQ7GkxeD_O_w/s489/14.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="489" data-original-width="393" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkALtzX3kxtmsB-PlQ3zb4OGp5g33NiyVuOWbxv8rKcuc57r8MTZqU_hNgbPJd9lWteaqwSrm8CCKbpEuXm-d-7aXT-OVx1N_4iMHlaChxbEb-PK6B-7L1SfJf3W_Agx74YWzDjwKWBkwjY4xWG58Qn9xcFDWBE26R37BoxAnT9FYrjVlQ7GkxeD_O_w/s16000/14.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-W7FAEVJPufTlX3Rfha6X7NnFRUL2uWdbd-qDkUk_OY48P-TwtI48kNoVoW1hjtOK0eKdse258V8_dGow4OArFE7eCOT2LLVyW7zUd7zKDm0aGs2qRCFLvSWMEoeuRWHyjwAafw1vjRDTI5FBJPGVfjk04dcbGsuYToZdFTz9Ry_pnYh04i27UpvmQQ/s495/15.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="495" data-original-width="426" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-W7FAEVJPufTlX3Rfha6X7NnFRUL2uWdbd-qDkUk_OY48P-TwtI48kNoVoW1hjtOK0eKdse258V8_dGow4OArFE7eCOT2LLVyW7zUd7zKDm0aGs2qRCFLvSWMEoeuRWHyjwAafw1vjRDTI5FBJPGVfjk04dcbGsuYToZdFTz9Ry_pnYh04i27UpvmQQ/s16000/15.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh_jHE0qq4T06eF7oKyV6IJlcEc8P6qV1vyw-JmZ-X6m5DbUvNOMJzP0wyJui4cmFe2R0537kmUlLAQ0QlYA4ReYyHKwcamCZjsKE2XSro0UNOxKzN8Mtr0a8zo2UgD3tG6_cPAP9AHB-7ri1g9jOEJNDIN2fHXRE1D54iPaP35fS0WhOYuWx2A-9mBA/s526/16.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="526" data-original-width="421" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh_jHE0qq4T06eF7oKyV6IJlcEc8P6qV1vyw-JmZ-X6m5DbUvNOMJzP0wyJui4cmFe2R0537kmUlLAQ0QlYA4ReYyHKwcamCZjsKE2XSro0UNOxKzN8Mtr0a8zo2UgD3tG6_cPAP9AHB-7ri1g9jOEJNDIN2fHXRE1D54iPaP35fS0WhOYuWx2A-9mBA/s16000/16.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEWm1i-zjItVYzDenjMWT-KdgDZTvZ-38odyP9XLbbLfyM-tPM3wi4Hl8WVy4_HHBfjOi3enQf4oPjdTxcPORJRTzfJyBmc23joIbm-GBXkBpxWnxoN-LMLAV5s9iFBxD-jVQwU4e1swUsD0fy22ORDJUI9k7R-kYH-XH-LAyjd9ViP9yBrE_P2OsiNA/s419/17.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="419" data-original-width="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEWm1i-zjItVYzDenjMWT-KdgDZTvZ-38odyP9XLbbLfyM-tPM3wi4Hl8WVy4_HHBfjOi3enQf4oPjdTxcPORJRTzfJyBmc23joIbm-GBXkBpxWnxoN-LMLAV5s9iFBxD-jVQwU4e1swUsD0fy22ORDJUI9k7R-kYH-XH-LAyjd9ViP9yBrE_P2OsiNA/s16000/17.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw2Ekuny7RkXRTsCC5v6gFpXBtfbZl7y_VqAEl737hZ852mFuB-iJyh-EvlGgpEkaDaf4-kMZNNsny3ucPkg8bAu-neyto40Bgy5KnxdbqRk7AD-lOfh4NrXEF1xdWCZfBd7glJOMnkp6rHItjV-Y0LMtttEdTvV3qvCbFoA27aVbTY-Ahk3AYa3Ms4Q/s387/18.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="382" data-original-width="387" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjw2Ekuny7RkXRTsCC5v6gFpXBtfbZl7y_VqAEl737hZ852mFuB-iJyh-EvlGgpEkaDaf4-kMZNNsny3ucPkg8bAu-neyto40Bgy5KnxdbqRk7AD-lOfh4NrXEF1xdWCZfBd7glJOMnkp6rHItjV-Y0LMtttEdTvV3qvCbFoA27aVbTY-Ahk3AYa3Ms4Q/s16000/18.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP0ghn_76Q-IGtkm3y3Tzqh8fM2gVET7aizU5r5K2GTXtKeDNG6lI_V9hymNVwKMIR_R0mGvWfUniK4l-a3t_tNhFUgFf-5BSpa9SLpb4TzrkqXejlhbP5PXZvmW7nWqSdk3CcwYYuY7ctKCL7lnCIiB1OUyvVbpvRFm9Er_vz2zvqgTcFR-cTxNT8Dw/s379/19.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="379" data-original-width="359" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP0ghn_76Q-IGtkm3y3Tzqh8fM2gVET7aizU5r5K2GTXtKeDNG6lI_V9hymNVwKMIR_R0mGvWfUniK4l-a3t_tNhFUgFf-5BSpa9SLpb4TzrkqXejlhbP5PXZvmW7nWqSdk3CcwYYuY7ctKCL7lnCIiB1OUyvVbpvRFm9Er_vz2zvqgTcFR-cTxNT8Dw/s16000/19.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMxplSfaQzX-imAyjv791MUJKx5xFVzrn_QTTwUStaPXRxafxasM_SxJmnSnHwkcDkwLp1Ya7mb3vY4kSosMPW13OAJmVbQigGqxtWvbdo0rc1HWehwOtnCSF9Cx4lbCnZayo41oZ4ePVi95pfDTcmAFgYOCBJPWJz875Owb3BoH_EDIhSxpMinGc4BA/s559/20.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="559" data-original-width="319" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMxplSfaQzX-imAyjv791MUJKx5xFVzrn_QTTwUStaPXRxafxasM_SxJmnSnHwkcDkwLp1Ya7mb3vY4kSosMPW13OAJmVbQigGqxtWvbdo0rc1HWehwOtnCSF9Cx4lbCnZayo41oZ4ePVi95pfDTcmAFgYOCBJPWJz875Owb3BoH_EDIhSxpMinGc4BA/s16000/20.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbPEPUAQwiO37mmEUX9RjJoyWXt0vrasAQypgy5zLB2qiuVZkeXaMJQ8qXpuBmDNJ8AHCE1afnHjA1eHSB1EH6jv9IesbAf6cvLsB53zlaipdGjjw5FqD7zL03V5lCO72r840LlFk-qUzhyf3-VpBq8dWnsRWH-GPLb9O_ERgPE-LvIIKBkSqVqypydg/s422/21.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="422" data-original-width="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbPEPUAQwiO37mmEUX9RjJoyWXt0vrasAQypgy5zLB2qiuVZkeXaMJQ8qXpuBmDNJ8AHCE1afnHjA1eHSB1EH6jv9IesbAf6cvLsB53zlaipdGjjw5FqD7zL03V5lCO72r840LlFk-qUzhyf3-VpBq8dWnsRWH-GPLb9O_ERgPE-LvIIKBkSqVqypydg/s16000/21.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH_HobJfHwU2dUOgsn4bgFuy3806kNQrLpJex4veLVx2zaDVTAW7zXroMNBVPOZ_oJmoqJhR18ul4W0iFfVar_GNSm-2wNEvVlXdNG1ZbYpl7aQ3OF1pPiOb0DHApGiYEGu7LakCQirg_fqauA9GAhYsfiJXwuVB6nc28NyOXqs9ZQ-8K4sWIlQQbW4w/s565/22.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="565" data-original-width="385" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH_HobJfHwU2dUOgsn4bgFuy3806kNQrLpJex4veLVx2zaDVTAW7zXroMNBVPOZ_oJmoqJhR18ul4W0iFfVar_GNSm-2wNEvVlXdNG1ZbYpl7aQ3OF1pPiOb0DHApGiYEGu7LakCQirg_fqauA9GAhYsfiJXwuVB6nc28NyOXqs9ZQ-8K4sWIlQQbW4w/s16000/22.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTRUGiSjjzsZ0ydFLV70cSWjoyDX7cr1PzZaL-CLEvl_9c_OZYE99Q0gVkVXNreflYTBdxUSXROpf3K5ww6q5sjZEnr3zdlOIA2g9k60YUw8lnfEggHcQoqECFwjBOVvY74GlvRzsB8tFRoBOIRPt3QPnlP98cuSfsGjpLN_7ftQeFFtOeIY-gfa4AHQ/s559/23.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="559" data-original-width="406" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTRUGiSjjzsZ0ydFLV70cSWjoyDX7cr1PzZaL-CLEvl_9c_OZYE99Q0gVkVXNreflYTBdxUSXROpf3K5ww6q5sjZEnr3zdlOIA2g9k60YUw8lnfEggHcQoqECFwjBOVvY74GlvRzsB8tFRoBOIRPt3QPnlP98cuSfsGjpLN_7ftQeFFtOeIY-gfa4AHQ/s16000/23.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij2keVNt8MesWjdHa7xamujbico7hykqxShD6iCBWyH6QFvakZh5OdJW2kD6HeiD8mGPatBmE_AcHk5i8hyibsTlBztV-WWhDjgKAPGkNXJJEvAFreQ0nz5e0fEv5FFE8x4K3Gk0nlZkjnX5aYyV83cjZDDV904JMcuDRVpwM4uQiUYokE_ZCGBSgPng/s564/24.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="564" data-original-width="407" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEij2keVNt8MesWjdHa7xamujbico7hykqxShD6iCBWyH6QFvakZh5OdJW2kD6HeiD8mGPatBmE_AcHk5i8hyibsTlBztV-WWhDjgKAPGkNXJJEvAFreQ0nz5e0fEv5FFE8x4K3Gk0nlZkjnX5aYyV83cjZDDV904JMcuDRVpwM4uQiUYokE_ZCGBSgPng/s16000/24.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFV7uF7-X3pxAjMqgQdZiQjqdqfB1aC88aJQOMOlSZ4wELq9gX-JDrX8klf2y83xLC9HdnSDQJSchTjVF23_rf3Sj9mjgxTOEaBO6IITfmKyCICGW-EGYxrPg9atORW_NZ2uh7cyGVwEi7ZWSuBlO1S2adFI8TmeYkQu66AOuXLvldzfXtH6FbPMa0jg/s437/25.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="213" data-original-width="437" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFV7uF7-X3pxAjMqgQdZiQjqdqfB1aC88aJQOMOlSZ4wELq9gX-JDrX8klf2y83xLC9HdnSDQJSchTjVF23_rf3Sj9mjgxTOEaBO6IITfmKyCICGW-EGYxrPg9atORW_NZ2uh7cyGVwEi7ZWSuBlO1S2adFI8TmeYkQu66AOuXLvldzfXtH6FbPMa0jg/s16000/25.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJnLzF2ZA0HiqmO_UhfpZafFwWQWxXwrM83Z5U-D5eW9TI8d31RDHmoYNudqqPL48YAuHPYCHwBSoEa-sXrS_8gK_4FkNEOIv3NP2_EL7ftv9bujiJkbgEYnEq1Mubl1rLFh8nYrXKu-9dcl99ukdcl7tocwbeyIJJe446YsLbgAQUvchGgE7BROBVqw/s560/26.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="560" data-original-width="399" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJnLzF2ZA0HiqmO_UhfpZafFwWQWxXwrM83Z5U-D5eW9TI8d31RDHmoYNudqqPL48YAuHPYCHwBSoEa-sXrS_8gK_4FkNEOIv3NP2_EL7ftv9bujiJkbgEYnEq1Mubl1rLFh8nYrXKu-9dcl99ukdcl7tocwbeyIJJe446YsLbgAQUvchGgE7BROBVqw/s16000/26.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEtXe4GtNV0SmvRA_5hb381zVmzBOoxo_nxxfOPlOh6ADqrdFeca044HwEkJwmTpeouMzMCJ0FmvarfUPsKWPSjAtLxyQ3aHOUNTkZAKunZw5JGEPNr9RxHgiwr4n11_i3UpYwTwwxXcoxpNvDPpkWOlRIjGZ46w4UWJBKE9nU58eAyA-zxx-6gSTPow/s549/27.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="549" data-original-width="410" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEtXe4GtNV0SmvRA_5hb381zVmzBOoxo_nxxfOPlOh6ADqrdFeca044HwEkJwmTpeouMzMCJ0FmvarfUPsKWPSjAtLxyQ3aHOUNTkZAKunZw5JGEPNr9RxHgiwr4n11_i3UpYwTwwxXcoxpNvDPpkWOlRIjGZ46w4UWJBKE9nU58eAyA-zxx-6gSTPow/s16000/27.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtdJF2AUPMIqNNhC--i32VN7FsJS35K30pUw1ZosrAreas8q2meY98KSPhwCqExIZReL0R5zBCsMmh3tZkZghqacrOnfGWLUGvtuiuyK1BCud0Ont7coUNolWHwvYrsyLowgB7n9PysMctCquYJFjnoCO-_1eHC1egN-ESa2Dc3_yoRHXgNUqjvDgQcg/s478/28.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="478" data-original-width="397" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtdJF2AUPMIqNNhC--i32VN7FsJS35K30pUw1ZosrAreas8q2meY98KSPhwCqExIZReL0R5zBCsMmh3tZkZghqacrOnfGWLUGvtuiuyK1BCud0Ont7coUNolWHwvYrsyLowgB7n9PysMctCquYJFjnoCO-_1eHC1egN-ESa2Dc3_yoRHXgNUqjvDgQcg/s16000/28.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1XxwTixZHSWikAMto25IboTf6roa0jLnMLmSZ0z96QQzDxiItUzOJEGE-74RGSshbUO9B_atm_5Fr5oz1j0u6-D4faitMTT6RF9UTyinOHo2sBwKkwfmlpN9fN5c7a4ZAZADccuavbPhN2Oq93qfTdMCUUy5XWF4mhzhpyAwVis0cfBcoZT6OmQGTxw/s526/29.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="526" data-original-width="323" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1XxwTixZHSWikAMto25IboTf6roa0jLnMLmSZ0z96QQzDxiItUzOJEGE-74RGSshbUO9B_atm_5Fr5oz1j0u6-D4faitMTT6RF9UTyinOHo2sBwKkwfmlpN9fN5c7a4ZAZADccuavbPhN2Oq93qfTdMCUUy5XWF4mhzhpyAwVis0cfBcoZT6OmQGTxw/s16000/29.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaojBdsoepB-JztV5PQkqlUJB7ooGnqHwXuddCd7xD6zPEce3QTt15MLbdmdSDQYcAUGx91dOr1uU85gdZIsQRaN9BwUNDO7oKTjwbxIfnUPQcbROprT-L9ae5J6WrV0gcdvM06NYgLcFlrvXGVi7hiHf2xhUelZ8en4wR9lc3lFtUDe4F8xUTSTYXDw/s551/30.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="551" data-original-width="373" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaojBdsoepB-JztV5PQkqlUJB7ooGnqHwXuddCd7xD6zPEce3QTt15MLbdmdSDQYcAUGx91dOr1uU85gdZIsQRaN9BwUNDO7oKTjwbxIfnUPQcbROprT-L9ae5J6WrV0gcdvM06NYgLcFlrvXGVi7hiHf2xhUelZ8en4wR9lc3lFtUDe4F8xUTSTYXDw/s16000/30.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtNmYBwDtiEuIauaVHQ97j-EgPaJuVZw9ts_EqkRa5BneaxuJdA1Jy__YF7k9g_n9KO_bsc0i8EEoUFbhGjvVZ4rS2lI441sOa69P1lWauyNjDZdEUaLTmACcS0yIsxrTGZhjt21YfVlK3TtjChdBedvyauP4MvAjxyIes4dQ5bNmgnobmpDj6XrbeMA/s520/31.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="520" data-original-width="410" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtNmYBwDtiEuIauaVHQ97j-EgPaJuVZw9ts_EqkRa5BneaxuJdA1Jy__YF7k9g_n9KO_bsc0i8EEoUFbhGjvVZ4rS2lI441sOa69P1lWauyNjDZdEUaLTmACcS0yIsxrTGZhjt21YfVlK3TtjChdBedvyauP4MvAjxyIes4dQ5bNmgnobmpDj6XrbeMA/s16000/31.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9uazWSKVBxjG3U1-A0UQbiIElvhFtofxJsb4URkEbZmgDfKY1dVNOS558jZvnmT3rhH8_OIqlck_S1ON-OmKxay4BXePpUmIwS_0z-LbniohAf-QvOca22eAaghS7mSrKs9qlK8eGdhwGU6STGqx4XNqWp1wyH-vGpQDYrZIzzQCiT_xJzhFqCI8kxg/s496/32.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="496" data-original-width="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9uazWSKVBxjG3U1-A0UQbiIElvhFtofxJsb4URkEbZmgDfKY1dVNOS558jZvnmT3rhH8_OIqlck_S1ON-OmKxay4BXePpUmIwS_0z-LbniohAf-QvOca22eAaghS7mSrKs9qlK8eGdhwGU6STGqx4XNqWp1wyH-vGpQDYrZIzzQCiT_xJzhFqCI8kxg/s16000/32.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSAIN38uCstpQeROkn2r9-xgFe3Q63Bkmg1mhcBX7nYFudKDgK3NLJRwPmmlqQBuIc9BbSmEkHgbDFvw88bgbxP8iuVRK4dn9Chsgjf5ugWEn-zFN1-Jb9On8uc33J1iLGb1OUFUfHehSsTTLSVyBsFgvsyPVU7gDL3zOO91vZiqkypmm1maHNrtBw5A/s858/33.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="600" data-original-width="858" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSAIN38uCstpQeROkn2r9-xgFe3Q63Bkmg1mhcBX7nYFudKDgK3NLJRwPmmlqQBuIc9BbSmEkHgbDFvw88bgbxP8iuVRK4dn9Chsgjf5ugWEn-zFN1-Jb9On8uc33J1iLGb1OUFUfHehSsTTLSVyBsFgvsyPVU7gDL3zOO91vZiqkypmm1maHNrtBw5A/s16000/33.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeOPBpQsZxZ0aIaWaAGkc3mnuhsSDGdEpgKZkBGMBZg0fgoJDU99hOv4QvJYrkwaMdAovl3MJKKEf-mo5236CXPmwb9ir09_1JDl7s8WpJBfTNyPayLux1qbZ-BhNTMy-XaHC9fLCJ1bMjNiXT3qzKD5xX1Kx7Arj0fNv2orkXKTpw6gAnZp5qdGSgJQ/s860/34.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="551" data-original-width="860" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeOPBpQsZxZ0aIaWaAGkc3mnuhsSDGdEpgKZkBGMBZg0fgoJDU99hOv4QvJYrkwaMdAovl3MJKKEf-mo5236CXPmwb9ir09_1JDl7s8WpJBfTNyPayLux1qbZ-BhNTMy-XaHC9fLCJ1bMjNiXT3qzKD5xX1Kx7Arj0fNv2orkXKTpw6gAnZp5qdGSgJQ/s16000/34.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH7yE_Sd8PdAg2-Ui6c-CQUCqkOOeG07Iuw9OHxLSS7tJdxQy9LtTDXAkFXKqi_6ZzPFqqSYm7XnOkfjkG9_YKaKvCv197mVi0ZNZ4Be1hloIosq0v8O-SmhjFx-46BcefbajZIE1i67SBJAJaKO7aM0xsUxT48KQqxZfQ8J5aiadK0J-lAydJ8_NOpQ/s1051/35.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="540" data-original-width="1051" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH7yE_Sd8PdAg2-Ui6c-CQUCqkOOeG07Iuw9OHxLSS7tJdxQy9LtTDXAkFXKqi_6ZzPFqqSYm7XnOkfjkG9_YKaKvCv197mVi0ZNZ4Be1hloIosq0v8O-SmhjFx-46BcefbajZIE1i67SBJAJaKO7aM0xsUxT48KQqxZfQ8J5aiadK0J-lAydJ8_NOpQ/s16000/35.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg656jDGPcw0Qinf0tSSXXFO0kOn-_UN8UwiHQwBPuJVLNWlkwDLO1lCYx9E_9DzvWeZEIanhtbf0xv9vWhiyI2MDpmr6fi_8ujc-aXRwafkEhlMNPzfTn5ylVcZ1dF8NmN5zu8x4-TU17LO-fHscaSspTWaqHehdh5CKxoUIv5qiAIvrIM1QigjONgIQ/s555/36.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="555" data-original-width="407" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg656jDGPcw0Qinf0tSSXXFO0kOn-_UN8UwiHQwBPuJVLNWlkwDLO1lCYx9E_9DzvWeZEIanhtbf0xv9vWhiyI2MDpmr6fi_8ujc-aXRwafkEhlMNPzfTn5ylVcZ1dF8NmN5zu8x4-TU17LO-fHscaSspTWaqHehdh5CKxoUIv5qiAIvrIM1QigjONgIQ/s16000/36.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwIkFAMn-HLi_hMODqMSOPP9e8USeTmsSAw8WDLEYk2UyY33l-VhH7M5YSdh2kKv51443Ywt1wWtVCITh4F0jTdb3ZlfM4nGYzRdWJ7sJRQWyBD7G8S9B5lKyk1MqKvY90hxrT9-eNhbdS43DoYZQ5oYJGhTRTul5lT0KGJ9sIFbpcgyAbClGTNcC_9g/s575/37.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="575" data-original-width="389" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwIkFAMn-HLi_hMODqMSOPP9e8USeTmsSAw8WDLEYk2UyY33l-VhH7M5YSdh2kKv51443Ywt1wWtVCITh4F0jTdb3ZlfM4nGYzRdWJ7sJRQWyBD7G8S9B5lKyk1MqKvY90hxrT9-eNhbdS43DoYZQ5oYJGhTRTul5lT0KGJ9sIFbpcgyAbClGTNcC_9g/s16000/37.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD1GpI-VHEoCIjPhMmNXtFyHAY-MLB1YkLg7NZTdyEFJMtBauO-H9QfI9Caml1UIXiASEJKOGwizg2jzNACDDre4v_7fbaMTkTPPT9RJRTvnMKLjJGIxKRUtyJ5hGg7lhd6clcui1Rcxagus-LWfmtzr5fQSxute76S80dni7ChaAtnoJWVfqRq6BKjg/s462/38.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="462" data-original-width="333" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjD1GpI-VHEoCIjPhMmNXtFyHAY-MLB1YkLg7NZTdyEFJMtBauO-H9QfI9Caml1UIXiASEJKOGwizg2jzNACDDre4v_7fbaMTkTPPT9RJRTvnMKLjJGIxKRUtyJ5hGg7lhd6clcui1Rcxagus-LWfmtzr5fQSxute76S80dni7ChaAtnoJWVfqRq6BKjg/s16000/38.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirGEsaomlS0WLto-5fS0XLKUvnsdPOUZqBsZlM6zsufV17UQvcCCcpwGBA7u0XksfdjeqEdhoAFTNQf24btdoUP3Fpg-RUqZkcHhHnNtjVCNRpn8rmvD9D-8b_LjabUOoeTPMI6iT626YXeaIJO89ss_hpdHO39uDUDO44I0_cD2134dXDVzDUWN8--A/s543/39.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="543" data-original-width="405" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirGEsaomlS0WLto-5fS0XLKUvnsdPOUZqBsZlM6zsufV17UQvcCCcpwGBA7u0XksfdjeqEdhoAFTNQf24btdoUP3Fpg-RUqZkcHhHnNtjVCNRpn8rmvD9D-8b_LjabUOoeTPMI6iT626YXeaIJO89ss_hpdHO39uDUDO44I0_cD2134dXDVzDUWN8--A/s16000/39.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNGkqDsmjFsGu6QbGNscZ0KBraUX6RQbabGXf5_rQEDgKzmq_octzROTsAdETgcFVw98HNjRwILE7U7b5HVgwwWR_MPAVoOhv-L1SsxcVrKX8xOua0KlaZsyTaJkhDwR8LUexZ07hKgaBl1adjWPzrf6h31j2jg8XgDx130BFzTypt31aQ1zdlBmLugQ/s480/40.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="480" data-original-width="387" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNGkqDsmjFsGu6QbGNscZ0KBraUX6RQbabGXf5_rQEDgKzmq_octzROTsAdETgcFVw98HNjRwILE7U7b5HVgwwWR_MPAVoOhv-L1SsxcVrKX8xOua0KlaZsyTaJkhDwR8LUexZ07hKgaBl1adjWPzrf6h31j2jg8XgDx130BFzTypt31aQ1zdlBmLugQ/s16000/40.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2Dyb_5MIjXHqF4HvMZJVG6tuB21DeILl1DwyHbU92KcoSx00aTitlwW4ktjCgkRCnZ-XijmelGrS0cNzm2VJQneWoEUIaJtZGO59CW3OZTn6GcH3ED4jqySrnLqS1OPvJyGA49NfNyKWnWIi-P3rkfKxk9LHA21-3W1XUVRvkDX5gGMdpvEu8rbaNlA/s445/41.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="445" data-original-width="343" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2Dyb_5MIjXHqF4HvMZJVG6tuB21DeILl1DwyHbU92KcoSx00aTitlwW4ktjCgkRCnZ-XijmelGrS0cNzm2VJQneWoEUIaJtZGO59CW3OZTn6GcH3ED4jqySrnLqS1OPvJyGA49NfNyKWnWIi-P3rkfKxk9LHA21-3W1XUVRvkDX5gGMdpvEu8rbaNlA/s16000/41.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHNlcp6d0oFS1codrw2ndn8E0yXISTF68cmbQgQhuQ29MKStEAX0rHmsuk2tIapTsRjjd_sjIy4ebxJ5sS-qEgNAJqlgvcQa0w4eWnjd_73KXF0-zAJYnqgYXtLIyg3a3LlT2q0kFGVXyDmsuLWhvRI0hFEliR3OGGzRbDk7xM0NnAk_HLbNjiMemtvg/s540/42.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="540" data-original-width="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHNlcp6d0oFS1codrw2ndn8E0yXISTF68cmbQgQhuQ29MKStEAX0rHmsuk2tIapTsRjjd_sjIy4ebxJ5sS-qEgNAJqlgvcQa0w4eWnjd_73KXF0-zAJYnqgYXtLIyg3a3LlT2q0kFGVXyDmsuLWhvRI0hFEliR3OGGzRbDk7xM0NnAk_HLbNjiMemtvg/s16000/42.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAF1kxToVgSFNRyMXxrzb2iDikS3WM7vYC9dkpPBbZOFbI0pVoay8Ad7uCBKF2w67gIWxZFRwNIXijVu1vyWm0CU5CeevdHOYpGU7cdDbBSR71CZyDsn9L-S_3s88dLy80NNoNVvfOFsmhi7ZfZvL3X9gP0zX7T6-WOJOYKPf1WKZDAvxnQ2v78tDe1g/s666/43.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="290" data-original-width="666" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAF1kxToVgSFNRyMXxrzb2iDikS3WM7vYC9dkpPBbZOFbI0pVoay8Ad7uCBKF2w67gIWxZFRwNIXijVu1vyWm0CU5CeevdHOYpGU7cdDbBSR71CZyDsn9L-S_3s88dLy80NNoNVvfOFsmhi7ZfZvL3X9gP0zX7T6-WOJOYKPf1WKZDAvxnQ2v78tDe1g/s16000/43.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;&lt;p&gt;&lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKplXmL2IxhFIArj3H3wD3aq620VKL3uOfyMVJULAhfPkk20AWMt5jeT8azQ1r93-djTQUwdoilgPbP7glADi5irabqgzS3-DMTD8QfMQ7ccfUST9_HfC9YtJXgfmkoxxR0w01tStVBQ2Dw9QPGrLy7SCtwyVxb8L7V8UZqUdZK8iWSUH5vx80_pn-SA/s72-c/2.png" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Azure Redis</title><link>http://oracle-plsql10g.blogspot.com/2022/06/azure-redis.html</link><category>Azure Functions</category><category>Azure Redis</category><category>Conflict management</category><category>Resource hierarchy</category><pubDate>Tue, 7 Jun 2022 21:21:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-2700548953308413384</guid><description>&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpxseAVysBiMbWm_iaBCCBHBKdCeJW3d6OeYyunv-vl3gWLldNkAxkX9n21vMZnr7oKJKQYyi90ppfjzbXNqCjRxKwCVVSqiVpwJpZAXmAZuuvNnRklXGZeVS8h-AWQUOam7PmT8NEwSiixBZBkVx-u6e72kBjEUZYnwzO438GnCfpfH1n5HtUpVidiA/s752/73.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="402" data-original-width="752" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpxseAVysBiMbWm_iaBCCBHBKdCeJW3d6OeYyunv-vl3gWLldNkAxkX9n21vMZnr7oKJKQYyi90ppfjzbXNqCjRxKwCVVSqiVpwJpZAXmAZuuvNnRklXGZeVS8h-AWQUOam7PmT8NEwSiixBZBkVx-u6e72kBjEUZYnwzO438GnCfpfH1n5HtUpVidiA/s16000/73.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHNzidvE5P5v7IG5BrLY0PZqT_D60rSOWgC_kaS1NEcL00TTTwZJht5gIrRzsLgvBNbwhcv1tl209G5EYb4iJ7x3QFZk-DrI4VRdGETEERZxsvmbNNReg_pwUP5DugSWNNC6_-v66e9OoM/s731/74.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="394" data-original-width="731" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHNzidvE5P5v7IG5BrLY0PZqT_D60rSOWgC_kaS1NEcL00TTTwZJht5gIrRzsLgvBNbwhcv1tl209G5EYb4iJ7x3QFZk-DrI4VRdGETEERZxsvmbNNReg_pwUP5DugSWNNC6_-v66e9OoM/s16000/74.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBExjp-7mcJQwO80W-mS0xLhPRnwUATqja9OMzg9Wq9c_OvPBmp9eTgi2eJIDttdp0PuP1Q5u_L8JM8McRD9y1Udrq2AYEL_ARFaJ0PPh7f6gLevfygm58Mr83GceCpmI67lRy9fJqfE17yGfnLVE-uwJtbapvbKvrx6tSbiSzBizKB-dpxSqqBlTIhA/s569/75.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="233" data-original-width="569" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBExjp-7mcJQwO80W-mS0xLhPRnwUATqja9OMzg9Wq9c_OvPBmp9eTgi2eJIDttdp0PuP1Q5u_L8JM8McRD9y1Udrq2AYEL_ARFaJ0PPh7f6gLevfygm58Mr83GceCpmI67lRy9fJqfE17yGfnLVE-uwJtbapvbKvrx6tSbiSzBizKB-dpxSqqBlTIhA/s16000/75.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg75Z0Jw8AOa8PlOeNEB9VuI-YA5HoO5_FApVpsJPhguVgCU4314ilVB2LZWw-8I-8vUa3I8TSp4nMTFTeCx1n0SQXxnzvRknliDagrq7JmbZp0f63v0fymvnxPLM0IZBdxKmrJu9i-Y0sGAMUEXfVBl7u39mxBu2SXQ1HPMD7q2SisxelciB0Y-scm4A/s742/64.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="408" data-original-width="742" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg75Z0Jw8AOa8PlOeNEB9VuI-YA5HoO5_FApVpsJPhguVgCU4314ilVB2LZWw-8I-8vUa3I8TSp4nMTFTeCx1n0SQXxnzvRknliDagrq7JmbZp0f63v0fymvnxPLM0IZBdxKmrJu9i-Y0sGAMUEXfVBl7u39mxBu2SXQ1HPMD7q2SisxelciB0Y-scm4A/s16000/64.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiva0A7tcTlMT3IjX8LFwuT_Z2F9k92CTrMSUT3h2iO9H-Mai2IqHs0RfK2VVN98fhvcXf1jTTEGAm9Vb23jgnS2RO6F2_5eOsKfXRiEGcdnu4k0UKrzS6JWANRlEZ8iNrrryBwhl_BdiAPBEwlpZ35hiAzCCUazBrNzHXkey-kGArPF90MTeO-_nD-nw/s734/65.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="414" data-original-width="734" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiva0A7tcTlMT3IjX8LFwuT_Z2F9k92CTrMSUT3h2iO9H-Mai2IqHs0RfK2VVN98fhvcXf1jTTEGAm9Vb23jgnS2RO6F2_5eOsKfXRiEGcdnu4k0UKrzS6JWANRlEZ8iNrrryBwhl_BdiAPBEwlpZ35hiAzCCUazBrNzHXkey-kGArPF90MTeO-_nD-nw/s16000/65.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNrnP62tjlGJ-nOcvPVjh_1mDNh8Ap_NymUE3i_kLYqaJ6HQ7JzKNQINfivx13gNovL_YIbr34at_lrdXkMDat4AKhYbaOOLPNC3Vs2WFLTNnm_iyZ_v2mqxinDeDzK4f_4UJqKs5ogGpJlT-0WBqt4jsCFm0fGrX3uLkkzvgAZJyT-mNHdXCQmnWO-Q/s680/66.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="382" data-original-width="680" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNrnP62tjlGJ-nOcvPVjh_1mDNh8Ap_NymUE3i_kLYqaJ6HQ7JzKNQINfivx13gNovL_YIbr34at_lrdXkMDat4AKhYbaOOLPNC3Vs2WFLTNnm_iyZ_v2mqxinDeDzK4f_4UJqKs5ogGpJlT-0WBqt4jsCFm0fGrX3uLkkzvgAZJyT-mNHdXCQmnWO-Q/s16000/66.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk4X84K9Jw4OudXRaqDQCDjAotpQsJc3aFAY_qhKSEHWhAsdeLWbaP7baTeaAik49aZgIUpbLeY-I8SbZuL2KWBZYRtFR-_ubDojaWIPaQ9wHK8jHxcGtyNy_ltZ2UT5478LqC5-nv0sXBmnewdu60Lwqs3L9r1GQrBhjZPrsvLgXJrPknXhKH6USj2A/s740/67.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="409" data-original-width="740" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk4X84K9Jw4OudXRaqDQCDjAotpQsJc3aFAY_qhKSEHWhAsdeLWbaP7baTeaAik49aZgIUpbLeY-I8SbZuL2KWBZYRtFR-_ubDojaWIPaQ9wHK8jHxcGtyNy_ltZ2UT5478LqC5-nv0sXBmnewdu60Lwqs3L9r1GQrBhjZPrsvLgXJrPknXhKH6USj2A/s16000/67.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWbmI8FFparB3RwOmz0sg6SojJ6gIxCLlfDMEnhv-n0G8XpW6IHtTICtHdhQs2jmABJca7HjjH7EpO_C2R3mcmuBpzy4IplUC1cZj1XR4urrEPvRndGNnPoXTe06P67jemUfB7_bygNDUnsFzzCqfBj2ohLD3Ytdw_Ot2L01pwE3aLL--BkvVzg_u7zw/s734/68.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="400" data-original-width="734" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWbmI8FFparB3RwOmz0sg6SojJ6gIxCLlfDMEnhv-n0G8XpW6IHtTICtHdhQs2jmABJca7HjjH7EpO_C2R3mcmuBpzy4IplUC1cZj1XR4urrEPvRndGNnPoXTe06P67jemUfB7_bygNDUnsFzzCqfBj2ohLD3Ytdw_Ot2L01pwE3aLL--BkvVzg_u7zw/s16000/68.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEXs7UqhIdS_OnvfbThY1olEL3gLCOM_5JHpwV-nFKvsFcYXaLHS4eFuBxEp5Mlz0CPf0VLG8Ced3IiNj71FVoFfabRg0z8Rhu3zxEfkyBwooCYWboSeL_0YkK81iDt0O1ErQXG6oyVwNJO5FIJiU0u-VISVanhF78Fvhf9aprdoTv85c0-jY80MkpPQ/s675/69.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="403" data-original-width="675" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEXs7UqhIdS_OnvfbThY1olEL3gLCOM_5JHpwV-nFKvsFcYXaLHS4eFuBxEp5Mlz0CPf0VLG8Ced3IiNj71FVoFfabRg0z8Rhu3zxEfkyBwooCYWboSeL_0YkK81iDt0O1ErQXG6oyVwNJO5FIJiU0u-VISVanhF78Fvhf9aprdoTv85c0-jY80MkpPQ/s16000/69.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4lqGo2xyW5a9qDY6zp7gbiSckYz4qar-bpUFDLKSpnloi5G77oc_KcP0Dqxz8l28nc6q5oufa4RKZ6q-yhI5aeAasGFK1BKygFnGDGEcMOAPTFquQprYI2-nvG27AJdq0h287UINSHt70pIu2ssGi6xypdqfqFxXSveDLeXY4LK43eaS9R1I3uUCB3w/s745/70.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="372" data-original-width="745" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4lqGo2xyW5a9qDY6zp7gbiSckYz4qar-bpUFDLKSpnloi5G77oc_KcP0Dqxz8l28nc6q5oufa4RKZ6q-yhI5aeAasGFK1BKygFnGDGEcMOAPTFquQprYI2-nvG27AJdq0h287UINSHt70pIu2ssGi6xypdqfqFxXSveDLeXY4LK43eaS9R1I3uUCB3w/s16000/70.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV8aZTz2FR-PBvcQOzKV-29-fopDGc46CjBWX7dBka7N9qp6Jl8hUOaUaEsyume8vv7O8u5bQyPScu33dFJT6_D-pgpvBLQysolVnbXiGDy-z0AqfEt0hlfjZ9Eh9iQJYjoJccJ836EBy8DAFh62eKVDSWTcVzyGsKG7IiLHGWPQ_FBflmUQyGE01dKg/s714/71.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="363" data-original-width="714" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV8aZTz2FR-PBvcQOzKV-29-fopDGc46CjBWX7dBka7N9qp6Jl8hUOaUaEsyume8vv7O8u5bQyPScu33dFJT6_D-pgpvBLQysolVnbXiGDy-z0AqfEt0hlfjZ9Eh9iQJYjoJccJ836EBy8DAFh62eKVDSWTcVzyGsKG7IiLHGWPQ_FBflmUQyGE01dKg/s16000/71.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSXN-drPiBn0OIJRK8ByERvL_a0OvtCST48ppDrUaU2FCNIWtT4Tly5P1zxOGCNjkHyokuO-tl4jU-j_G_e-fmIt6iOzeVJGj9Uk2HFZRWJV354Q_x_rh8kPmumtODBQQaJVU4C0nuGYhRGfBylyLP5QCt8x04BYMy6ToNkPGwWu0jTEb9Q_Onk-7o1g/s989/72.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="530" data-original-width="989" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSXN-drPiBn0OIJRK8ByERvL_a0OvtCST48ppDrUaU2FCNIWtT4Tly5P1zxOGCNjkHyokuO-tl4jU-j_G_e-fmIt6iOzeVJGj9Uk2HFZRWJV354Q_x_rh8kPmumtODBQQaJVU4C0nuGYhRGfBylyLP5QCt8x04BYMy6ToNkPGwWu0jTEb9Q_Onk-7o1g/s16000/72.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpxseAVysBiMbWm_iaBCCBHBKdCeJW3d6OeYyunv-vl3gWLldNkAxkX9n21vMZnr7oKJKQYyi90ppfjzbXNqCjRxKwCVVSqiVpwJpZAXmAZuuvNnRklXGZeVS8h-AWQUOam7PmT8NEwSiixBZBkVx-u6e72kBjEUZYnwzO438GnCfpfH1n5HtUpVidiA/s72-c/73.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Azure Databases</title><link>http://oracle-plsql10g.blogspot.com/2022/06/azure-databases.html</link><category>Azure Databases</category><category>Cosmos DB</category><category>Redis</category><pubDate>Tue, 7 Jun 2022 17:48:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-2341690975433908461</guid><description>&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCQB1mnh0ZSSP-Gf7sdkm4XJDVs7N1i8WnMpFJBQynOnVrfniYqDlG9xq_OWcelzfelTRjCHeVjtyIa_3Q-5_mrP0YQlmqLAkT0REXVl1yINfhsqMBPDH_rnDZsxwjPPIdyTaaCGUxdKFDwSefGp4K2acfOhayzgei1iO03TrStse0iyxL_bNUhyrsww/s450/56.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="289" data-original-width="450" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCQB1mnh0ZSSP-Gf7sdkm4XJDVs7N1i8WnMpFJBQynOnVrfniYqDlG9xq_OWcelzfelTRjCHeVjtyIa_3Q-5_mrP0YQlmqLAkT0REXVl1yINfhsqMBPDH_rnDZsxwjPPIdyTaaCGUxdKFDwSefGp4K2acfOhayzgei1iO03TrStse0iyxL_bNUhyrsww/s16000/56.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivnuDLOZ047Qu_FtWAhHsQ9LQiFz0yq_ciYux-zUXjabgDGUKQW1H3zSYuOzNHvNcia1mA7tT_6fYqYunxPVmAYv2yU_Z40hZR61TYUy79mZonjj8nHKaPEduoSEWbi_jcAeM3jQ0XCFUwkDxK9MnDfXWADyX5xZrJ9VxwdMvE8MOecZ_2f_zPESyyTw/s749/57.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="385" data-original-width="749" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivnuDLOZ047Qu_FtWAhHsQ9LQiFz0yq_ciYux-zUXjabgDGUKQW1H3zSYuOzNHvNcia1mA7tT_6fYqYunxPVmAYv2yU_Z40hZR61TYUy79mZonjj8nHKaPEduoSEWbi_jcAeM3jQ0XCFUwkDxK9MnDfXWADyX5xZrJ9VxwdMvE8MOecZ_2f_zPESyyTw/s16000/57.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpuAdDw_5uN61sX8vZH47piFMFho6Zf0Brbhik25JyxrDZHkyZAgdLJyCu5pimgpb5fuprdPkwwPiHbEJiv_rhxOriNjvn6D6jysBTKEoyKTXTUiD7xUDWsvndll2rvtofrlsuwaD6QJENsSlIG7ceDsq_LZYlCBcai9xjwA890vnr8eh-zdd_astQqw/s764/58.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="403" data-original-width="764" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpuAdDw_5uN61sX8vZH47piFMFho6Zf0Brbhik25JyxrDZHkyZAgdLJyCu5pimgpb5fuprdPkwwPiHbEJiv_rhxOriNjvn6D6jysBTKEoyKTXTUiD7xUDWsvndll2rvtofrlsuwaD6QJENsSlIG7ceDsq_LZYlCBcai9xjwA890vnr8eh-zdd_astQqw/s16000/58.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSgLbricrZI7GSa1uRKx_kEhQJQ0Lj2KaQ6zBqOlJmvbBi2wKhxoS3mg9EstJntDyB23dI5Jb_j0S_VHC_oHGZmnFimffJorJR2d5p-BflRBQ9AUt003jSupEb9uQwDfgVm-3tB34Y7hcJXe8vrrVmQgGzOamErhI05Qe6qjFmblDH3TtRrrq4r0g--A/s746/59.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="411" data-original-width="746" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSgLbricrZI7GSa1uRKx_kEhQJQ0Lj2KaQ6zBqOlJmvbBi2wKhxoS3mg9EstJntDyB23dI5Jb_j0S_VHC_oHGZmnFimffJorJR2d5p-BflRBQ9AUt003jSupEb9uQwDfgVm-3tB34Y7hcJXe8vrrVmQgGzOamErhI05Qe6qjFmblDH3TtRrrq4r0g--A/s16000/59.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm0W9gD5sGlXk692QY_Li_Ln9ev30PC8n7FaBzgN6oO81rysu14eUDapwCPrgCYncXrgMuknq0drjCLohc1pSmZonBN035UFx0gUCuYQENwO5D-8aHrXNMCgKkgmSFbxaME92vZrirCM6rZxrkCalYqWPEajAbXkLZiucqH5ue5FfVsCYRcnajIZ68gA/s765/60.JPG" style="clear: left; display: inline; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="409" data-original-width="765" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm0W9gD5sGlXk692QY_Li_Ln9ev30PC8n7FaBzgN6oO81rysu14eUDapwCPrgCYncXrgMuknq0drjCLohc1pSmZonBN035UFx0gUCuYQENwO5D-8aHrXNMCgKkgmSFbxaME92vZrirCM6rZxrkCalYqWPEajAbXkLZiucqH5ue5FfVsCYRcnajIZ68gA/s16000/60.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;l&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL0kKh5faSug-3ahGWspiI6lxPzgThoWI0ovJN_1GtAQFPUp-3m3wixDpez0wa-bN218Db_sqjGdGvZIgeKRewEWE8CQOs8xtvF6AtvFy_3jebn4iZNDdVQbGLIfK1EJVSnkL6PpPXre2KET_bwuYEzbcREIGyAXKfiAsJUQFdZxHy6dpVHdNr1w3xgQ/s717/63.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="404" data-original-width="717" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL0kKh5faSug-3ahGWspiI6lxPzgThoWI0ovJN_1GtAQFPUp-3m3wixDpez0wa-bN218Db_sqjGdGvZIgeKRewEWE8CQOs8xtvF6AtvFy_3jebn4iZNDdVQbGLIfK1EJVSnkL6PpPXre2KET_bwuYEzbcREIGyAXKfiAsJUQFdZxHy6dpVHdNr1w3xgQ/s16000/63.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO93cPaKftPbH-SfhqzXR9WLamHDxYffXpwkflbp-0Qaxv98eJaXqm9cch8fm9jByzHdaqUY1kAdiMDCv_6oTj72GcJ4WtymmIIS97nwp__fsyDdy-74KqRdxb7Ritz415dJGfR4aaYRWIlFoePUCJl89yOp9If_kaqH_Gg9KAr0HRWtCRG2pJSnze5g/s713/62.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="411" data-original-width="713" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO93cPaKftPbH-SfhqzXR9WLamHDxYffXpwkflbp-0Qaxv98eJaXqm9cch8fm9jByzHdaqUY1kAdiMDCv_6oTj72GcJ4WtymmIIS97nwp__fsyDdy-74KqRdxb7Ritz415dJGfR4aaYRWIlFoePUCJl89yOp9If_kaqH_Gg9KAr0HRWtCRG2pJSnze5g/s16000/62.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSuaUZWPz8hqWluu4sQVghC1s11OcSWBrFcw0Mb-euDMi-o_FrC4_OGz_LOjhlyWepwrploaRmFffu7yeGImdB85nyMh20qKhQae8cpjnjXgwIlwWzD_YEC1z5UJNRRHGHyOILdJWY5Ui0orzvwsKZkH3HmN0jkp3nxydy8QBdvUGmOXQLGXrFvSfepg/s982/61.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="536" data-original-width="982" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSuaUZWPz8hqWluu4sQVghC1s11OcSWBrFcw0Mb-euDMi-o_FrC4_OGz_LOjhlyWepwrploaRmFffu7yeGImdB85nyMh20qKhQae8cpjnjXgwIlwWzD_YEC1z5UJNRRHGHyOILdJWY5Ui0orzvwsKZkH3HmN0jkp3nxydy8QBdvUGmOXQLGXrFvSfepg/s16000/61.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCQB1mnh0ZSSP-Gf7sdkm4XJDVs7N1i8WnMpFJBQynOnVrfniYqDlG9xq_OWcelzfelTRjCHeVjtyIa_3Q-5_mrP0YQlmqLAkT0REXVl1yINfhsqMBPDH_rnDZsxwjPPIdyTaaCGUxdKFDwSefGp4K2acfOhayzgei1iO03TrStse0iyxL_bNUhyrsww/s72-c/56.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Azure Blob</title><link>http://oracle-plsql10g.blogspot.com/2022/06/azure-blob.html</link><category>Azure Blob</category><category>Blob</category><pubDate>Tue, 7 Jun 2022 17:36:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-2680298084135856004</guid><description>&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXqwyhq8KNvJzxSCh8BkClLUbm8ogA9GvyXJZ4vrZoOXRXOXBI2PGPY1cXXn2cwCmnT797K2AH6kGqnyJF7RUx9UsrxxuegnjUy3opUpLGbXHdce5Pa7-_-wyCc3qNWn2bIcjT5Ia4zWFHv9CecXGcvS7wDorlzZ-ZHBE89R8W6eSU9-XcJzb3Egg0DA/s741/42.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="380" data-original-width="741" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXqwyhq8KNvJzxSCh8BkClLUbm8ogA9GvyXJZ4vrZoOXRXOXBI2PGPY1cXXn2cwCmnT797K2AH6kGqnyJF7RUx9UsrxxuegnjUy3opUpLGbXHdce5Pa7-_-wyCc3qNWn2bIcjT5Ia4zWFHv9CecXGcvS7wDorlzZ-ZHBE89R8W6eSU9-XcJzb3Egg0DA/s16000/42.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitOH9ZUWcKJDCqVdAHqjlIe_rvZmgIVMwHw62btCn4DiQ356MJO8y5rnA53vIHvfqGEVx57NsSCunPaxgwZ4PRaJvTKeIVOSWWg975wB8op0VCRENQZnQ8xyM-EA-12ahU663IAnfcMUmRgj3Krh14SDYBIBxp2z9bLxEARDBw6stedbCHMMSW-_-dEQ/s712/43.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="390" data-original-width="712" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitOH9ZUWcKJDCqVdAHqjlIe_rvZmgIVMwHw62btCn4DiQ356MJO8y5rnA53vIHvfqGEVx57NsSCunPaxgwZ4PRaJvTKeIVOSWWg975wB8op0VCRENQZnQ8xyM-EA-12ahU663IAnfcMUmRgj3Krh14SDYBIBxp2z9bLxEARDBw6stedbCHMMSW-_-dEQ/s16000/43.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgZeGIZ9HG10E3zU0fbtTlU2V49hnxo_9wNoUKODhBoccG3jCFXQMD1v52TsOwb_Aryam5KwQgaDwLv0lVcAXO3lppKfs4wqy1NhdDIb_gxiLrBbhNl8xl3PLse-uZ1UCfE2X9Ubs4CGhJyiYi62xOMurFpHVsXEJVY2U6BBmC7JEaVHsM7s77_2ZLng/s704/44.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="409" data-original-width="704" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgZeGIZ9HG10E3zU0fbtTlU2V49hnxo_9wNoUKODhBoccG3jCFXQMD1v52TsOwb_Aryam5KwQgaDwLv0lVcAXO3lppKfs4wqy1NhdDIb_gxiLrBbhNl8xl3PLse-uZ1UCfE2X9Ubs4CGhJyiYi62xOMurFpHVsXEJVY2U6BBmC7JEaVHsM7s77_2ZLng/s16000/44.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWxeGcFP1KnX3wJM-Hclew6Lrp14quyc5QBd7iAy4Zc_vpKtcE7V898DIR1Xv1gxN7EyiuWFfmow-xfjPpe7y0aA287-BFydATT3EmGNDTzmwjUkP04rP3EN5feMSjJHzi8nTllyZdUv-QO6cgcYWLp8mwg0faX8_1esl1V87diIhD2PPmDCzm4SAGuA/s629/45.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="429" data-original-width="629" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWxeGcFP1KnX3wJM-Hclew6Lrp14quyc5QBd7iAy4Zc_vpKtcE7V898DIR1Xv1gxN7EyiuWFfmow-xfjPpe7y0aA287-BFydATT3EmGNDTzmwjUkP04rP3EN5feMSjJHzi8nTllyZdUv-QO6cgcYWLp8mwg0faX8_1esl1V87diIhD2PPmDCzm4SAGuA/s16000/45.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuhw6XkLb8ANPE1nngtpknNpDVlNjyysk9effExDO9_SxQeRaFd9bXPifzWODWf7u4HLqLD2-Lt95xWG9vlAbVjWMZHPly1haHutslLqYHfJDVVDMtMdJIbak5oodyNE75hcr9xOnPvb0GznJ0KQJnZrPqbahQqfNDhwZD51H-nkW1B9JY_UYYciZI2A/s735/46.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="412" data-original-width="735" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuhw6XkLb8ANPE1nngtpknNpDVlNjyysk9effExDO9_SxQeRaFd9bXPifzWODWf7u4HLqLD2-Lt95xWG9vlAbVjWMZHPly1haHutslLqYHfJDVVDMtMdJIbak5oodyNE75hcr9xOnPvb0GznJ0KQJnZrPqbahQqfNDhwZD51H-nkW1B9JY_UYYciZI2A/s16000/46.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWGctbbodTJA8IcY7tuBu2RcVOgnm03lgkrZvrukzz02pS8M7vK-hpVOCHaDsocAoLRdJRVSo3z84gL0EOJC02-oeizVtdxTFhSnrxBMdvL3vHYWCF-ds0iZJBhfg063OEmRAPdrPG_ti_VUEoxvZzpWIfkDfMWEyJPDtk1k4Ee-zsV2zcy3KInKDICg/s661/47.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="411" data-original-width="661" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWGctbbodTJA8IcY7tuBu2RcVOgnm03lgkrZvrukzz02pS8M7vK-hpVOCHaDsocAoLRdJRVSo3z84gL0EOJC02-oeizVtdxTFhSnrxBMdvL3vHYWCF-ds0iZJBhfg063OEmRAPdrPG_ti_VUEoxvZzpWIfkDfMWEyJPDtk1k4Ee-zsV2zcy3KInKDICg/s16000/47.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKqdoGow2oGhk6suvIXtOtUUaLVg6MyEnDQWJtQQrr5Jvi61AUqQMyaNfxWBKQU6cmwQBvJhKWzATE1PuI6Chd0pZws8Qw1NOV74qB8qBCNpZXS51lhHLh2ZbVGJdivyf2IRynVVKYn6snVVAj0s_cUhWAByIlAOFrOryBI8VaNXZalfGON7zxmKTp_g/s661/48.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="413" data-original-width="661" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKqdoGow2oGhk6suvIXtOtUUaLVg6MyEnDQWJtQQrr5Jvi61AUqQMyaNfxWBKQU6cmwQBvJhKWzATE1PuI6Chd0pZws8Qw1NOV74qB8qBCNpZXS51lhHLh2ZbVGJdivyf2IRynVVKYn6snVVAj0s_cUhWAByIlAOFrOryBI8VaNXZalfGON7zxmKTp_g/s16000/48.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit2UAeTmo45QxdM8hBYis8umWV7ys5bPLbUActUp5o5G2ggq19GwjbxRR-r88kRLkDvlzgDwXYsJ0IMYzLuLEWSEnkK46NiMqQqScYxpGeH17Qv9TI_9H1qlvsNNvcLk_ZgalWdp1PhQNZPYhxaEiktJiwxCp8V5cG1U8wcwiBGs1mJ_VswhraxoBymg/s666/49.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="331" data-original-width="666" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit2UAeTmo45QxdM8hBYis8umWV7ys5bPLbUActUp5o5G2ggq19GwjbxRR-r88kRLkDvlzgDwXYsJ0IMYzLuLEWSEnkK46NiMqQqScYxpGeH17Qv9TI_9H1qlvsNNvcLk_ZgalWdp1PhQNZPYhxaEiktJiwxCp8V5cG1U8wcwiBGs1mJ_VswhraxoBymg/s16000/49.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieTkN5nJFx4kRcoMRqG-W9rTrJ4cp-1Lby2rzHhHB7cXzt5PgpH9mghac_xrmprXBFnHzoQcboYGRDIEXd9I6-Q4q6kJB31h6yVJ6m6EKdUbqxzaz55OV06C0rEnBHKSmyBEPbHKWfTlQMglNmBi8SiDvdRWJWbQ_GrhadcLSHFF-8jqsxbJJpdWrtLA/s743/50.JPG" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;"&gt;&lt;img border="0" data-original-height="411" data-original-width="743" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieTkN5nJFx4kRcoMRqG-W9rTrJ4cp-1Lby2rzHhHB7cXzt5PgpH9mghac_xrmprXBFnHzoQcboYGRDIEXd9I6-Q4q6kJB31h6yVJ6m6EKdUbqxzaz55OV06C0rEnBHKSmyBEPbHKWfTlQMglNmBi8SiDvdRWJWbQ_GrhadcLSHFF-8jqsxbJJpdWrtLA/s16000/50.JPG" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXZyZNftux6bbiLCItyCYck4hMqhVa6Oh_24Pu8GU0QZgruBad1OOeWRJ77TRbBlYmnyCHzZ_R2WWclHIGkLRgQiS9BYQwBOHcxF2elzFHZOPtGQK7sByXweL4w1JHL-YUS91HhYPoH9Fo03qzT9S2UlL19sAapBzZcY3DoYj3_ZQ9hk6loT-He40UtA/s744/51.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="414" data-original-width="744" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXZyZNftux6bbiLCItyCYck4hMqhVa6Oh_24Pu8GU0QZgruBad1OOeWRJ77TRbBlYmnyCHzZ_R2WWclHIGkLRgQiS9BYQwBOHcxF2elzFHZOPtGQK7sByXweL4w1JHL-YUS91HhYPoH9Fo03qzT9S2UlL19sAapBzZcY3DoYj3_ZQ9hk6loT-He40UtA/s16000/51.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjVUyy_Dx5m69b7SXFCeleyg-uujl2DKdujDvwL0kW3CSNDC5uFBTNwu6DBUrZGt5neozhCTMEFwa2fvPM_VA8Ddl7IzYE9H8PTx7q4Dw-T7pinPwjFUFe9Er107F5l629ozkMU6rNUvOcc3_rcnzNqJgbY1A36R5xWTpvxtHF58ITUyr60t4hSgcnfQ/s727/52.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="383" data-original-width="727" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjVUyy_Dx5m69b7SXFCeleyg-uujl2DKdujDvwL0kW3CSNDC5uFBTNwu6DBUrZGt5neozhCTMEFwa2fvPM_VA8Ddl7IzYE9H8PTx7q4Dw-T7pinPwjFUFe9Er107F5l629ozkMU6rNUvOcc3_rcnzNqJgbY1A36R5xWTpvxtHF58ITUyr60t4hSgcnfQ/s16000/52.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIyTf8fvBhxHlgGuzJB8uC0YsMJX4uYC3eq2LE_6MRA8WEFqKEQGyqTAh5M7Zcjzj8HhNBoJcm-MInfpFRKjyeImwn0okbZWD-95XQwFzJV2mpXGoH4FPpO4dihy1TCocVwfU_P5Bs-OpRYL-a1PTHpVX6BP3Ev8kChP8Z0fReXTGRW_fzjunBIpUWZA/s587/53.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="325" data-original-width="587" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIyTf8fvBhxHlgGuzJB8uC0YsMJX4uYC3eq2LE_6MRA8WEFqKEQGyqTAh5M7Zcjzj8HhNBoJcm-MInfpFRKjyeImwn0okbZWD-95XQwFzJV2mpXGoH4FPpO4dihy1TCocVwfU_P5Bs-OpRYL-a1PTHpVX6BP3Ev8kChP8Z0fReXTGRW_fzjunBIpUWZA/s16000/53.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitdv0Qxx9TjKHquIt5mnM4Vzim_ou5kAYiAkSNqCq_7R9GqwoLLuTAbfSU6PCNxoAi2fZTfdC6-behvZG6lmKQ7HTtZeV9C0hq_XaMiQduydO6dvKGA9oHSnTlyi3fYHIeLqLI4FAE5JnglkfEK6Bpw_5wr1if_KaxSE8FgI3i2sNL6r8qrEE5C1ZPkw/s636/54.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="300" data-original-width="636" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitdv0Qxx9TjKHquIt5mnM4Vzim_ou5kAYiAkSNqCq_7R9GqwoLLuTAbfSU6PCNxoAi2fZTfdC6-behvZG6lmKQ7HTtZeV9C0hq_XaMiQduydO6dvKGA9oHSnTlyi3fYHIeLqLI4FAE5JnglkfEK6Bpw_5wr1if_KaxSE8FgI3i2sNL6r8qrEE5C1ZPkw/s16000/54.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHMvvVEIwPfNje02LaFAKP73cYMYcRCKW7S0a0SHGHBk_CucKmupBBJ9ImwDmutnipu02-OfVI_-cibgvxJUfMYu4vBHTa-yfKawmGUv5PqYIRVvNyEX5uqHc6mb4PAAdQTgi2xfzuVtFG7-VlhXzPrwaCWFq0x8mZscAxoYPtFUlAu-w30F0pjyxs1w/s626/55.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="419" data-original-width="626" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHMvvVEIwPfNje02LaFAKP73cYMYcRCKW7S0a0SHGHBk_CucKmupBBJ9ImwDmutnipu02-OfVI_-cibgvxJUfMYu4vBHTa-yfKawmGUv5PqYIRVvNyEX5uqHc6mb4PAAdQTgi2xfzuVtFG7-VlhXzPrwaCWFq0x8mZscAxoYPtFUlAu-w30F0pjyxs1w/s16000/55.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXqwyhq8KNvJzxSCh8BkClLUbm8ogA9GvyXJZ4vrZoOXRXOXBI2PGPY1cXXn2cwCmnT797K2AH6kGqnyJF7RUx9UsrxxuegnjUy3opUpLGbXHdce5Pa7-_-wyCc3qNWn2bIcjT5Ia4zWFHv9CecXGcvS7wDorlzZ-ZHBE89R8W6eSU9-XcJzb3Egg0DA/s72-c/42.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Azure Container Registry</title><link>http://oracle-plsql10g.blogspot.com/2022/06/azure-container-registry.html</link><category>Azure Container Registry</category><pubDate>Tue, 7 Jun 2022 17:30:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-5527055276246783335</guid><description>&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6xMnjrxXQMl89423DbkdRremOA2O9wHJ5aIhHkbdU48DxzKHpgOqfKFGANtpL4Galu_aR48UdlusztCw8-IhGnXugb6PAARFOhDxsZZ8-AXk2a1XjijY4mN-K6voNTvQEPi3ZPhzvZsKhpCUA1jdsei3Py_RunRiXxVimPPtU2wF6dcbyeuJ9-Uzldw/s565/33.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="120" data-original-width="565" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6xMnjrxXQMl89423DbkdRremOA2O9wHJ5aIhHkbdU48DxzKHpgOqfKFGANtpL4Galu_aR48UdlusztCw8-IhGnXugb6PAARFOhDxsZZ8-AXk2a1XjijY4mN-K6voNTvQEPi3ZPhzvZsKhpCUA1jdsei3Py_RunRiXxVimPPtU2wF6dcbyeuJ9-Uzldw/s16000/33.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUNHdjWv3bK8YQFOjiJbyZyjfa6E6zgLz5xGcUCrjXeNsRPa1tRq30nxz6BZrVf71L6tPFtk3mheiNb42iCyItUiLLIulUeR5AnNkT_TVIcnXo7VP0kaG2R9FOg8T8kTX5c0cr1BO6Up9eukSEjx2KiAaC48MS7yFvoMkOnn85rgvIbdMVWmZSt2nTRA/s699/34.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="350" data-original-width="699" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUNHdjWv3bK8YQFOjiJbyZyjfa6E6zgLz5xGcUCrjXeNsRPa1tRq30nxz6BZrVf71L6tPFtk3mheiNb42iCyItUiLLIulUeR5AnNkT_TVIcnXo7VP0kaG2R9FOg8T8kTX5c0cr1BO6Up9eukSEjx2KiAaC48MS7yFvoMkOnn85rgvIbdMVWmZSt2nTRA/s16000/34.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVKwQaV6YHHykjxBb-McSB-MoMhAGol65f-D40Q_DbrruXkyyvzJEG7ZPxqsX3zXGiFZAWW2DH7_yQLi8Mq4HBhBGscIYTrfgvUYIoYs8jy7WsSP2NwBRnmOPP2qY9DccEE55A42q9hFSgttvakvcGmrE7dnCOB125aoF_DvZfd_8raA9XtDlWZ_ggpw/s782/35.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="445" data-original-width="782" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVKwQaV6YHHykjxBb-McSB-MoMhAGol65f-D40Q_DbrruXkyyvzJEG7ZPxqsX3zXGiFZAWW2DH7_yQLi8Mq4HBhBGscIYTrfgvUYIoYs8jy7WsSP2NwBRnmOPP2qY9DccEE55A42q9hFSgttvakvcGmrE7dnCOB125aoF_DvZfd_8raA9XtDlWZ_ggpw/s16000/35.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga6U5x_mb8MOz9WXXCJxjWzIQbKxYajEzhw_BuaPTIOJH9c4zw0-3PyuNeCChXnSQqxzxsE9VLGYCBeOWkDptasR7dztbwZCy0yDCwF_RuIR4Z03z4wx9dIosrI2ZFOPekLbgG5OyiKVQI7Ks8A9dTPUK437JUKx6aAqJRtX0KajWTeoB5TqQbVqieFQ/s749/36.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="413" data-original-width="749" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEga6U5x_mb8MOz9WXXCJxjWzIQbKxYajEzhw_BuaPTIOJH9c4zw0-3PyuNeCChXnSQqxzxsE9VLGYCBeOWkDptasR7dztbwZCy0yDCwF_RuIR4Z03z4wx9dIosrI2ZFOPekLbgG5OyiKVQI7Ks8A9dTPUK437JUKx6aAqJRtX0KajWTeoB5TqQbVqieFQ/s16000/36.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje08KezpeZaMpYf5YXAloBhLrV4AzIBCeJUchnorlwEwUjm1PpwN73kUFnweIMZ0npY--eQl1CJV4Eek1IkgaE9qCU2WkIleDvBmGzGL48LgKkoHZG8g_ENrxm770eTiDoIvcGOaFJW6rgvM6FuTUJfnelnU61LIHnuLFglsHH5Pto_8jbr2qiajItjw/s712/37.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="311" data-original-width="712" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje08KezpeZaMpYf5YXAloBhLrV4AzIBCeJUchnorlwEwUjm1PpwN73kUFnweIMZ0npY--eQl1CJV4Eek1IkgaE9qCU2WkIleDvBmGzGL48LgKkoHZG8g_ENrxm770eTiDoIvcGOaFJW6rgvM6FuTUJfnelnU61LIHnuLFglsHH5Pto_8jbr2qiajItjw/s16000/37.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCZNDynSqaX7qdDKAzO-juL3ZeoMgBzooQjb0DtPiOhDl_R1d-ENPbGUK1qbkZjv3oKLNTGVLjbyUYuD4ym_nuUO2XA51BQ4G5FnzDiLyVrgSrf8eQAxZLeQ67qDEtep9uY9cokwzF93ks1ZtVHoMJ3K74xCiQMXqLQ9a_1NtGH5cNUaliQ3h61nqdyw/s607/38.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="106" data-original-width="607" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCZNDynSqaX7qdDKAzO-juL3ZeoMgBzooQjb0DtPiOhDl_R1d-ENPbGUK1qbkZjv3oKLNTGVLjbyUYuD4ym_nuUO2XA51BQ4G5FnzDiLyVrgSrf8eQAxZLeQ67qDEtep9uY9cokwzF93ks1ZtVHoMJ3K74xCiQMXqLQ9a_1NtGH5cNUaliQ3h61nqdyw/s16000/38.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX1maBIi1lDgqoQQQtUwp83TfSDTvXTGh6Mdu7u0a868i9frWfIk9mocfW2LOPV8LIMfTUdrax2e_ct9nr_llvnsCg5NeDeROQwMRYpOLH2M17oYTNb-vHvarie5IG3Y3KHa4O1jeZpXSIcfkyBqGzMayp90yeJPZJidw1brFqfB894JphTN9ZHzUHdg/s743/39.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="398" data-original-width="743" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX1maBIi1lDgqoQQQtUwp83TfSDTvXTGh6Mdu7u0a868i9frWfIk9mocfW2LOPV8LIMfTUdrax2e_ct9nr_llvnsCg5NeDeROQwMRYpOLH2M17oYTNb-vHvarie5IG3Y3KHa4O1jeZpXSIcfkyBqGzMayp90yeJPZJidw1brFqfB894JphTN9ZHzUHdg/s16000/39.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVQwgJ9UZYHJBmWfNxtOhcm0OJ0xt3ztfFy2YfDk6wyCI2t9dQFO1LrlIUSkVbJGEB312uHkA6-3_sYKqpDEQDdLmAQ3cIP98VTdzlSFbb1e7JCsB3HTCyiFXpAapTlXFSBdrVvkjJrVKZ3f7Xu3l0MokhsZF7oBAuKZ5pohVLQKUC4BdMc_c4mRVohA/s613/40.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="404" data-original-width="613" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVQwgJ9UZYHJBmWfNxtOhcm0OJ0xt3ztfFy2YfDk6wyCI2t9dQFO1LrlIUSkVbJGEB312uHkA6-3_sYKqpDEQDdLmAQ3cIP98VTdzlSFbb1e7JCsB3HTCyiFXpAapTlXFSBdrVvkjJrVKZ3f7Xu3l0MokhsZF7oBAuKZ5pohVLQKUC4BdMc_c4mRVohA/s16000/40.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ2Q1lOjFgmFevw9RwGU6vQuOU4jgvP4EmccXyenxTeQgApR_mUhIl0A1LPgFHHWc47zykCw-6VlLyXhJQnDSY1pW62dZ1zsBC3Ll3oK9Sc3il-4vq-pLtq-u9VAr7Fny0YmHGp-GaH-Q6y4HShhP8zgCAqwxHPqyhwDaXg7y1Mtg6Z4XlgQ2ye7oyTg/s757/41.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="407" data-original-width="757" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ2Q1lOjFgmFevw9RwGU6vQuOU4jgvP4EmccXyenxTeQgApR_mUhIl0A1LPgFHHWc47zykCw-6VlLyXhJQnDSY1pW62dZ1zsBC3Ll3oK9Sc3il-4vq-pLtq-u9VAr7Fny0YmHGp-GaH-Q6y4HShhP8zgCAqwxHPqyhwDaXg7y1Mtg6Z4XlgQ2ye7oyTg/s16000/41.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6xMnjrxXQMl89423DbkdRremOA2O9wHJ5aIhHkbdU48DxzKHpgOqfKFGANtpL4Galu_aR48UdlusztCw8-IhGnXugb6PAARFOhDxsZZ8-AXk2a1XjijY4mN-K6voNTvQEPi3ZPhzvZsKhpCUA1jdsei3Py_RunRiXxVimPPtU2wF6dcbyeuJ9-Uzldw/s72-c/33.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Containerization - Docker </title><link>http://oracle-plsql10g.blogspot.com/2022/06/containerization-docker.html</link><category>Containerization</category><category>docker</category><pubDate>Tue, 7 Jun 2022 17:19:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-961685762991358853</guid><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC2M6IUaNBCktBM1s8MvPYupqJOd52f3yGDe_ZFdb3L_7LLZdb1aVX8WAztoFY53Lyr4zzNoImyYBWAq_WftUHMQkCZFtg2ZU7_TD80R6fzBxIWZVLPpaWQE37YDT3hzx9Xtf1LBbgsXj-M20mWV1A9O6j8KLro5kkW0G_Rmn0_KzwNIGW-jf08mHMkQ/s605/25.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="207" data-original-width="605" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC2M6IUaNBCktBM1s8MvPYupqJOd52f3yGDe_ZFdb3L_7LLZdb1aVX8WAztoFY53Lyr4zzNoImyYBWAq_WftUHMQkCZFtg2ZU7_TD80R6fzBxIWZVLPpaWQE37YDT3hzx9Xtf1LBbgsXj-M20mWV1A9O6j8KLro5kkW0G_Rmn0_KzwNIGW-jf08mHMkQ/s16000/25.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia7Rkk_kO9tMGnPHytj2s6atovCZ4svLua-kcDdaiU3oNw8EbBWz28-vkncEqgr2sLz79zaz09_jyod5Ixlf98mo66UaVLBftquu47zgF7EraOyWQzQLaJVHjCTsdQ29ER6OASKB-8W5RfXgYxSykXEX73T4Y0gBD8asC6AXVWIeC_7PmoyCeXcVX8Nw/s751/26.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="482" data-original-width="751" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEia7Rkk_kO9tMGnPHytj2s6atovCZ4svLua-kcDdaiU3oNw8EbBWz28-vkncEqgr2sLz79zaz09_jyod5Ixlf98mo66UaVLBftquu47zgF7EraOyWQzQLaJVHjCTsdQ29ER6OASKB-8W5RfXgYxSykXEX73T4Y0gBD8asC6AXVWIeC_7PmoyCeXcVX8Nw/s16000/26.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGSVdY_WGGzgaVYXbHbyu1SOJXJJxA6Ft3Q2bYNTPPKwHOJX_44yqsoTStQr2wnpC2LLCE3MCRpj1bAf1zvj7TpTHpxx60XowcIQZH7ga_OVLoqgUFjkKYIkx7F4NcfwedYnVkSGffhH3Squ2zdFv8mpVZWCp_jCiCfKVl2uMWBiZ1mlsDKfLl41DlHQ/s764/27.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="427" data-original-width="764" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGSVdY_WGGzgaVYXbHbyu1SOJXJJxA6Ft3Q2bYNTPPKwHOJX_44yqsoTStQr2wnpC2LLCE3MCRpj1bAf1zvj7TpTHpxx60XowcIQZH7ga_OVLoqgUFjkKYIkx7F4NcfwedYnVkSGffhH3Squ2zdFv8mpVZWCp_jCiCfKVl2uMWBiZ1mlsDKfLl41DlHQ/s16000/27.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuzFTFZGA9Lq4_cMfsGvoY0_HoUQG8CEZ8VLm220JtFj3eaL6bCMi89k7SQQStPzJH-yO6bsAa2WhNXm8xljPWeNEIBMxvn92FG26KUSXdlXM24HDPOBDjmD1_kjmv4x_y_q-cTYqWEtGFYVnDXiUABwE1tm_zQqD9Gqhp6DvLYZ77TvdnTxofAEvddA/s717/28.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="419" data-original-width="717" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuzFTFZGA9Lq4_cMfsGvoY0_HoUQG8CEZ8VLm220JtFj3eaL6bCMi89k7SQQStPzJH-yO6bsAa2WhNXm8xljPWeNEIBMxvn92FG26KUSXdlXM24HDPOBDjmD1_kjmv4x_y_q-cTYqWEtGFYVnDXiUABwE1tm_zQqD9Gqhp6DvLYZ77TvdnTxofAEvddA/s16000/28.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5G12zr-nG3N5OrUl0xUgMSoIfGN5wTLcueZVsD-jKpDXCYBEFAi2Ry0pB5NvJL_3F8N8b5mpzoTxrCVtD3AghkTKdYxwFAhah-3EF6Fe_eLX64xT1rUrcjXEfbgGGiqfebquxXA-kRGJXjoionG-P5jr3dACn8GV6ULs7XmoYhu4L5mhSxmeNqioaAA/s666/29.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="312" data-original-width="666" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5G12zr-nG3N5OrUl0xUgMSoIfGN5wTLcueZVsD-jKpDXCYBEFAi2Ry0pB5NvJL_3F8N8b5mpzoTxrCVtD3AghkTKdYxwFAhah-3EF6Fe_eLX64xT1rUrcjXEfbgGGiqfebquxXA-kRGJXjoionG-P5jr3dACn8GV6ULs7XmoYhu4L5mhSxmeNqioaAA/s16000/29.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWgEXUb6LC7_lOHycAORG7KCCJBmO4Hg0CCMJErU636X00ZzaluOt0iykJkYjRcip4qLli6wGd00dTwnalRDF9Lta-YGl3HSFkXWtiBkKKCe32k-h_qchbbK8h47KcHYvcTXYPkWb2k7gKNbNqJyIZUJpsHO9IeidRgcGecg9Ir5y5nHSAKbgFMjtplQ/s690/30.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="404" data-original-width="690" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWgEXUb6LC7_lOHycAORG7KCCJBmO4Hg0CCMJErU636X00ZzaluOt0iykJkYjRcip4qLli6wGd00dTwnalRDF9Lta-YGl3HSFkXWtiBkKKCe32k-h_qchbbK8h47KcHYvcTXYPkWb2k7gKNbNqJyIZUJpsHO9IeidRgcGecg9Ir5y5nHSAKbgFMjtplQ/s16000/30.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix0fDcN22JQcH3KQgDopMW4n5NRmV6Vr0pxbAuiXoDAVcVHA5rXJECdxiUtsok5l5xbRkd-Uw-I3zsqHIstQ2E1asvCZWmRXLAPYt2buBkoHhEGG8wmpWLFxS5ry228u4uUhq6r4WYqNzCZmbj5BIVuG0aSemK-xnnOgL7oYL0ReGqK4v3NB0qYfdATg/s650/31.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="312" data-original-width="650" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEix0fDcN22JQcH3KQgDopMW4n5NRmV6Vr0pxbAuiXoDAVcVHA5rXJECdxiUtsok5l5xbRkd-Uw-I3zsqHIstQ2E1asvCZWmRXLAPYt2buBkoHhEGG8wmpWLFxS5ry228u4uUhq6r4WYqNzCZmbj5BIVuG0aSemK-xnnOgL7oYL0ReGqK4v3NB0qYfdATg/s16000/31.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS9SPxwKLKv4ixrVxDk_bTXKOl3F4ozadoFzxEsWuowURoY2lvz2JuXTRKBGFTlm6Ra4sUyubaP1ItfBna6o7Tpj4xYyuuoS_YJSDpst-pGzMdV-0WRw0akudmSGQ4ITyanljzsDZBRqgR43TI-6dP569r5fbao3mhdjMJc_E7d28cFHGaHpmEEnxezA/s592/32.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="210" data-original-width="592" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS9SPxwKLKv4ixrVxDk_bTXKOl3F4ozadoFzxEsWuowURoY2lvz2JuXTRKBGFTlm6Ra4sUyubaP1ItfBna6o7Tpj4xYyuuoS_YJSDpst-pGzMdV-0WRw0akudmSGQ4ITyanljzsDZBRqgR43TI-6dP569r5fbao3mhdjMJc_E7d28cFHGaHpmEEnxezA/s16000/32.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgC2M6IUaNBCktBM1s8MvPYupqJOd52f3yGDe_ZFdb3L_7LLZdb1aVX8WAztoFY53Lyr4zzNoImyYBWAq_WftUHMQkCZFtg2ZU7_TD80R6fzBxIWZVLPpaWQE37YDT3hzx9Xtf1LBbgsXj-M20mWV1A9O6j8KLro5kkW0G_Rmn0_KzwNIGW-jf08mHMkQ/s72-c/25.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Azure CDNS</title><link>http://oracle-plsql10g.blogspot.com/2022/06/azure-cdns.html</link><category>Azure CDNS</category><pubDate>Tue, 7 Jun 2022 17:07:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-850970195856281031</guid><description>&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmgAklEkCD6U7RespWClt2GafP4tpVm2OhjQ9Ozb68EVbIJ-Ms0cjnynC42tnxNKRIoMCXnaYtCtjwVA9Z9sr4sNCYSQiwR4ibzejD5Hg1yJuXHwtS0UA15fmGZZmxdlbLbShSHg96BGTqIZUL_3dD6j00RG5JAvu0LTcPNhTbZpm1CVP0R72RtA2iiw/s561/19.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="101" data-original-width="561" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmgAklEkCD6U7RespWClt2GafP4tpVm2OhjQ9Ozb68EVbIJ-Ms0cjnynC42tnxNKRIoMCXnaYtCtjwVA9Z9sr4sNCYSQiwR4ibzejD5Hg1yJuXHwtS0UA15fmGZZmxdlbLbShSHg96BGTqIZUL_3dD6j00RG5JAvu0LTcPNhTbZpm1CVP0R72RtA2iiw/s16000/19.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFo33wqvF0cEM8JJ1yzwk3qLL7O2ACNwz8U_97QySK1SCj90SR-l-uh3RZ4AfW4fvp3nyDRILc0lYzripa6X8dzZOO6GhL9Bt7Ou-A1TBRhfhf6aVBJDY5zfrp7BOP03yfthUUb3bA7_awGPxJ8Q_wWTaZ_KBAr5IIcx1gX3X9FsaiARYjlnIQDUkQkg/s744/20.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="281" data-original-width="744" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFo33wqvF0cEM8JJ1yzwk3qLL7O2ACNwz8U_97QySK1SCj90SR-l-uh3RZ4AfW4fvp3nyDRILc0lYzripa6X8dzZOO6GhL9Bt7Ou-A1TBRhfhf6aVBJDY5zfrp7BOP03yfthUUb3bA7_awGPxJ8Q_wWTaZ_KBAr5IIcx1gX3X9FsaiARYjlnIQDUkQkg/s16000/20.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzqjh98xNuuwBPqIVxld8fVRI7KrpWDwnJGZuDe9DNd7e0Y69OLP3OQ42Y6KJE5AiE43iO9GjEg4zw7euRFcwqnmASvm8AQ2uCWdf7hStghuob8IIrqJlDQlYi82rQNsWLUt9xm6vqfQM2TftP1cy4cQihp2RqPxPoMPAhHWvVxO88fkDE6aXNjuhWQA/s719/21.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="428" data-original-width="719" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzqjh98xNuuwBPqIVxld8fVRI7KrpWDwnJGZuDe9DNd7e0Y69OLP3OQ42Y6KJE5AiE43iO9GjEg4zw7euRFcwqnmASvm8AQ2uCWdf7hStghuob8IIrqJlDQlYi82rQNsWLUt9xm6vqfQM2TftP1cy4cQihp2RqPxPoMPAhHWvVxO88fkDE6aXNjuhWQA/s16000/21.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgixrdhTtL9NbJo1URkzvOYn-faEwsB9EuxrJT5G_nGhHohFql4PBk2P3XcLlT1Y30yBGhRQfMWqn5VjzThZcmfztvSxUq5mSTa5wZyyeXhWzScLLiurrEeuy080vTZ4VCRbmT3nhjvOf5VgwXBDLX9z-vB-Ys-CYWj7OFxtic9FtURfQJToIp_jpUA-w/s748/22.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="336" data-original-width="748" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgixrdhTtL9NbJo1URkzvOYn-faEwsB9EuxrJT5G_nGhHohFql4PBk2P3XcLlT1Y30yBGhRQfMWqn5VjzThZcmfztvSxUq5mSTa5wZyyeXhWzScLLiurrEeuy080vTZ4VCRbmT3nhjvOf5VgwXBDLX9z-vB-Ys-CYWj7OFxtic9FtURfQJToIp_jpUA-w/s16000/22.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj58VwgKy72NjftML_DdrJVefRYbuVsSW5yXLYcQGOFybmlutClz6oXoPa3ScHDqMrqRZZYX-n1HA4xa1VUr5MdICuUQDcS7VYKZhYJ-SaiMre6LXbgYkbwNqn96gxnIHPUnQL6XzEIeq_Z9ObbJQ7BDO9-NGaMP4Z5-kR5rHf3zzM0uOZ7iLz1CWfP4g/s725/23.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="399" data-original-width="725" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj58VwgKy72NjftML_DdrJVefRYbuVsSW5yXLYcQGOFybmlutClz6oXoPa3ScHDqMrqRZZYX-n1HA4xa1VUr5MdICuUQDcS7VYKZhYJ-SaiMre6LXbgYkbwNqn96gxnIHPUnQL6XzEIeq_Z9ObbJQ7BDO9-NGaMP4Z5-kR5rHf3zzM0uOZ7iLz1CWfP4g/s16000/23.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiB1egvKsyweUwA7Q6BapCipeMk9Hxuza5cyjiYN2cXTK04MgRYaWuXZFvnb6r4fx9k5QR4LlzkzU-hXh1oybAUOlGQ9sv4-PCfQbLbEzTUsRq532DMxDURpJct1vBcVLuTHQzOFqvjUMk782NuHSgETaBYY6heodzFAsQhu9CzK5sCwei6Fnrg2SMEQ/s752/24.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="423" data-original-width="752" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjiB1egvKsyweUwA7Q6BapCipeMk9Hxuza5cyjiYN2cXTK04MgRYaWuXZFvnb6r4fx9k5QR4LlzkzU-hXh1oybAUOlGQ9sv4-PCfQbLbEzTUsRq532DMxDURpJct1vBcVLuTHQzOFqvjUMk782NuHSgETaBYY6heodzFAsQhu9CzK5sCwei6Fnrg2SMEQ/s16000/24.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;&lt;p&gt;&lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmgAklEkCD6U7RespWClt2GafP4tpVm2OhjQ9Ozb68EVbIJ-Ms0cjnynC42tnxNKRIoMCXnaYtCtjwVA9Z9sr4sNCYSQiwR4ibzejD5Hg1yJuXHwtS0UA15fmGZZmxdlbLbShSHg96BGTqIZUL_3dD6j00RG5JAvu0LTcPNhTbZpm1CVP0R72RtA2iiw/s72-c/19.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Hasura </title><link>http://oracle-plsql10g.blogspot.com/2022/04/hasura.html</link><category>hasura</category><pubDate>Wed, 27 Apr 2022 22:24:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-954435489345558185</guid><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1nXPYOpF5mZ0bbj422b1LEJ-7QLm68q6ps84--sZ4SMEK_r2YCxwYLrQIkocAfgioj2hyVfvf6TgGYCh_KiMXbK95AZGinVrG07uUALorIn9tpLD80jcqPPWLZ3jha1EBdgEDaQMVLktZC_msy7SpfkdY9IOvLf4pUn1tMErvqD5T_DnCwdtkYkW6HA/s746/hasura.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="468" data-original-width="746" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1nXPYOpF5mZ0bbj422b1LEJ-7QLm68q6ps84--sZ4SMEK_r2YCxwYLrQIkocAfgioj2hyVfvf6TgGYCh_KiMXbK95AZGinVrG07uUALorIn9tpLD80jcqPPWLZ3jha1EBdgEDaQMVLktZC_msy7SpfkdY9IOvLf4pUn1tMErvqD5T_DnCwdtkYkW6HA/s16000/hasura.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBpEIO_vVSxHN2sAbV4Pb_VYIQhnoik4-jPFeDWyQWyRIf0IPVzLs5FadNLjkVB-Q3TErQEOxOFjykF13A3xossttD7NtRBMKQkKpwEZ1QP5F0urfbwRtR3_Mj_oWpqggCXt7PqPWl9jP41BV8SVmp1TUqGVVAYiS18CNYbHHrchi3ew29ktTJWTz3sg/s745/hasura2.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBpEIO_vVSxHN2sAbV4Pb_VYIQhnoik4-jPFeDWyQWyRIf0IPVzLs5FadNLjkVB-Q3TErQEOxOFjykF13A3xossttD7NtRBMKQkKpwEZ1QP5F0urfbwRtR3_Mj_oWpqggCXt7PqPWl9jP41BV8SVmp1TUqGVVAYiS18CNYbHHrchi3ew29ktTJWTz3sg/s745/hasura2.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="306" data-original-width="745" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBpEIO_vVSxHN2sAbV4Pb_VYIQhnoik4-jPFeDWyQWyRIf0IPVzLs5FadNLjkVB-Q3TErQEOxOFjykF13A3xossttD7NtRBMKQkKpwEZ1QP5F0urfbwRtR3_Mj_oWpqggCXt7PqPWl9jP41BV8SVmp1TUqGVVAYiS18CNYbHHrchi3ew29ktTJWTz3sg/s16000/hasura2.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;f&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOTXSGItsZ0C4s14kzHD4EtZ1-vdQWvidannpH93peJKBfQcdHHORhrjDCdTuE2NS1kOJzdCQF26Y-jo-frFMwxjxaYo50N4I5IQkBL1XzpjrVaexWVdFgfGlwXCsw959vjJRoF76AI72F7TCZv8ZrninupzRWoFVOzaeG7UPOZfimrvTzCEQc51EO8A/s779/hasura1.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="317" data-original-width="779" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOTXSGItsZ0C4s14kzHD4EtZ1-vdQWvidannpH93peJKBfQcdHHORhrjDCdTuE2NS1kOJzdCQF26Y-jo-frFMwxjxaYo50N4I5IQkBL1XzpjrVaexWVdFgfGlwXCsw959vjJRoF76AI72F7TCZv8ZrninupzRWoFVOzaeG7UPOZfimrvTzCEQc51EO8A/s16000/hasura1.JPG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCzZvz5zDMLnBt5YLZ9NAlS_pQM0y6iTbD62cUBHzvXhnC6UPOhiDi3lufxQmX0Hmmkqo_Y4Iu5rVWj92SyyxrD2Y2yaMDPiwVBdUMwCqXphKTQqSnX7C_oQSru2i3JvMe8Pgyqdog8OLCR1z9W6MsFiE0BMKXi4yOVE1ifvaPtUi4NbkKTD7YEBLlGQ/s731/hasura3.JPG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="387" data-original-width="731" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCzZvz5zDMLnBt5YLZ9NAlS_pQM0y6iTbD62cUBHzvXhnC6UPOhiDi3lufxQmX0Hmmkqo_Y4Iu5rVWj92SyyxrD2Y2yaMDPiwVBdUMwCqXphKTQqSnX7C_oQSru2i3JvMe8Pgyqdog8OLCR1z9W6MsFiE0BMKXi4yOVE1ifvaPtUi4NbkKTD7YEBLlGQ/s16000/hasura3.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJxyVmAiskq7lM_dFMAjnDypj2OQAh8-VmZrzwgL8-7DyPQGv1Ent8t54d7Eg9emATRJNQ1tsKczwBrdrzkYDF0tFBgxGvNKQ6hnKQQv466s3Z_55dYWk2G1lzfKsjzblBeRLraE0o6wI-Y6l_HsRf9QMofaTF2CvDEOvYYbd2PiqPk8eeu6FpPgCUXA/s731/hasura4.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="425" data-original-width="731" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJxyVmAiskq7lM_dFMAjnDypj2OQAh8-VmZrzwgL8-7DyPQGv1Ent8t54d7Eg9emATRJNQ1tsKczwBrdrzkYDF0tFBgxGvNKQ6hnKQQv466s3Z_55dYWk2G1lzfKsjzblBeRLraE0o6wI-Y6l_HsRf9QMofaTF2CvDEOvYYbd2PiqPk8eeu6FpPgCUXA/s16000/hasura4.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgLCqiPO61LV-vahhXNu_fLQj_mPXkqPtbB5s616f2leOU4ADS1afD7ndciFhWod6IX0b9rfwuIZKEXrCCyU8PaPBbrKTn4u3PJW93k2TF26D99R38RmCX6QJp031gV_tGb0_IJXbA7lpQa6vJ4DgnH_7yTY7aDwdSMTLQi9qPpDM0xWLwWRJVCYM6Qg/s1005/hasura5.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="429" data-original-width="1005" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgLCqiPO61LV-vahhXNu_fLQj_mPXkqPtbB5s616f2leOU4ADS1afD7ndciFhWod6IX0b9rfwuIZKEXrCCyU8PaPBbrKTn4u3PJW93k2TF26D99R38RmCX6QJp031gV_tGb0_IJXbA7lpQa6vJ4DgnH_7yTY7aDwdSMTLQi9qPpDM0xWLwWRJVCYM6Qg/s16000/hasura5.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1nXPYOpF5mZ0bbj422b1LEJ-7QLm68q6ps84--sZ4SMEK_r2YCxwYLrQIkocAfgioj2hyVfvf6TgGYCh_KiMXbK95AZGinVrG07uUALorIn9tpLD80jcqPPWLZ3jha1EBdgEDaQMVLktZC_msy7SpfkdY9IOvLf4pUn1tMErvqD5T_DnCwdtkYkW6HA/s72-c/hasura.JPG" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Nagios - Continuous Monitoring</title><link>http://oracle-plsql10g.blogspot.com/2021/12/nagios-continuous-monitoring.html</link><category>DevOps</category><category>Nagios</category><pubDate>Thu, 23 Dec 2021 10:54:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-4691829182215636188</guid><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjkkPd_iM6k--JNioM7TLmtNFV2oaIPQN1xKlhK7QeV6zHj0tsTBiaeKqo-hr67dUVXnYuqTJO-KSkSdKim4i1jdZEd_IwAHwF51_RFsXqtBZsVgKF9e5FBuwfGUG44ab-aQOxznc7GKTHBgQAjmDPyhPhfvNENZYAKJywuvPs0X7nHx9y-qXX4bLcHcw=s865" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="192" data-original-width="865" src="https://blogger.googleusercontent.com/img/a/AVvXsEjkkPd_iM6k--JNioM7TLmtNFV2oaIPQN1xKlhK7QeV6zHj0tsTBiaeKqo-hr67dUVXnYuqTJO-KSkSdKim4i1jdZEd_IwAHwF51_RFsXqtBZsVgKF9e5FBuwfGUG44ab-aQOxznc7GKTHBgQAjmDPyhPhfvNENZYAKJywuvPs0X7nHx9y-qXX4bLcHcw=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjRgUrCO56iOjL5Akwrmt5FXzMVsuWjzjGK6kMczA2mHg6zQIe8KVGYIE2jQM2nOR-ieg__7RXAbJWop6wpimkKevCpD16L5ObsqKalaKY-CRRLRSD4hyYSUCZha7XL4QFdEBLmYUIKLbwdHSvDqj844sV3xTrZrnK_b_kkrcROxtM2bR3hz3_MhQ7qkw=s748" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="327" data-original-width="748" src="https://blogger.googleusercontent.com/img/a/AVvXsEjRgUrCO56iOjL5Akwrmt5FXzMVsuWjzjGK6kMczA2mHg6zQIe8KVGYIE2jQM2nOR-ieg__7RXAbJWop6wpimkKevCpD16L5ObsqKalaKY-CRRLRSD4hyYSUCZha7XL4QFdEBLmYUIKLbwdHSvDqj844sV3xTrZrnK_b_kkrcROxtM2bR3hz3_MhQ7qkw=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjBSmX2h376wR90BPcHhqhK3FFOnLr5kHFN-Sl16KHZrtM-eEtVYyl-cC9H3E72EPk1OvveWcFOdOZnDGeYRETUVscvHZalMy8TK9LFf3qmFQ30TdKOZKKQwUvpIq4yEb4ChVn0Rx_em3k9xjTVK5FENahQV10BSrn09_NAdTNi81Vh17Ol1r8Gs8t0Bg=s887" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="445" data-original-width="887" src="https://blogger.googleusercontent.com/img/a/AVvXsEjBSmX2h376wR90BPcHhqhK3FFOnLr5kHFN-Sl16KHZrtM-eEtVYyl-cC9H3E72EPk1OvveWcFOdOZnDGeYRETUVscvHZalMy8TK9LFf3qmFQ30TdKOZKKQwUvpIq4yEb4ChVn0Rx_em3k9xjTVK5FENahQV10BSrn09_NAdTNi81Vh17Ol1r8Gs8t0Bg=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEiYRMhOPzIeqvf25k5GHtOSWfuXKCEQHkzK-Wr1_EEEmu6NWYIeWT6_hxKJ7HpYzviQaaHeBTxLS5iwLOMxz_K5f92S1Kyx4mhioJRc4_7bLR3XL4yI18g4gDZBe1dNIzQeZJT9X50GA9ByH8kc7387FC2n751xrPWmpkztOb2b_yRu7YFWa9PQPJZFMA=s907" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="409" data-original-width="907" src="https://blogger.googleusercontent.com/img/a/AVvXsEiYRMhOPzIeqvf25k5GHtOSWfuXKCEQHkzK-Wr1_EEEmu6NWYIeWT6_hxKJ7HpYzviQaaHeBTxLS5iwLOMxz_K5f92S1Kyx4mhioJRc4_7bLR3XL4yI18g4gDZBe1dNIzQeZJT9X50GA9ByH8kc7387FC2n751xrPWmpkztOb2b_yRu7YFWa9PQPJZFMA=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/a/AVvXsEjkkPd_iM6k--JNioM7TLmtNFV2oaIPQN1xKlhK7QeV6zHj0tsTBiaeKqo-hr67dUVXnYuqTJO-KSkSdKim4i1jdZEd_IwAHwF51_RFsXqtBZsVgKF9e5FBuwfGUG44ab-aQOxznc7GKTHBgQAjmDPyhPhfvNENZYAKJywuvPs0X7nHx9y-qXX4bLcHcw=s72-c" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Kubernates</title><link>http://oracle-plsql10g.blogspot.com/2021/12/kubernates.html</link><category>DevOps</category><category>Kubernates</category><pubDate>Thu, 23 Dec 2021 10:20:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-97606297895995337</guid><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjOCDM6agEs2TCUL-67NxD4WhFswkXPHH5lsERYgksNn0NNGz9xZDdm3h9H_3NcCEET2N_oqo1bkN8T8soLaLldONcsQ_5Mzlhqr1IRRqrrRDGLq-YZC5dHI90vTdtIUAghuMzPeo8qjIKKArSpzIxg58elA0-6kxJH_b9mWUE-HexeBLeEkdSWo1Q5rw=s502" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="201" data-original-width="502" src="https://blogger.googleusercontent.com/img/a/AVvXsEjOCDM6agEs2TCUL-67NxD4WhFswkXPHH5lsERYgksNn0NNGz9xZDdm3h9H_3NcCEET2N_oqo1bkN8T8soLaLldONcsQ_5Mzlhqr1IRRqrrRDGLq-YZC5dHI90vTdtIUAghuMzPeo8qjIKKArSpzIxg58elA0-6kxJH_b9mWUE-HexeBLeEkdSWo1Q5rw=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEg7J6xSK44KY3MHUU8jMqlpfAOyT8Qudi1a4OkeYa8T-4vK_3osbDMnmLlRZQGbh83TngUPRwES0hIv7Sho-qQgZSR1VMtNrbiwW6c0XbtuGZs-a-wXT3eFwGm-I8Hu1DuOmo6wUFNWYHjGZOWPF_BYNkait9ALMEX77sKDAs8w4kKaT8RV6mEaQQC4Dg=s423" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="168" data-original-width="423" src="https://blogger.googleusercontent.com/img/a/AVvXsEg7J6xSK44KY3MHUU8jMqlpfAOyT8Qudi1a4OkeYa8T-4vK_3osbDMnmLlRZQGbh83TngUPRwES0hIv7Sho-qQgZSR1VMtNrbiwW6c0XbtuGZs-a-wXT3eFwGm-I8Hu1DuOmo6wUFNWYHjGZOWPF_BYNkait9ALMEX77sKDAs8w4kKaT8RV6mEaQQC4Dg=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEi5dy7TDiXpBjUXt2AeJ5aLWlVfrxHuD4-rDlNBccIZlf5R_lBqECFFbiGb9TMujFih1e835FyG7t2gdWUYUVIbA3aPty44eX6P7eSGEdxFpm18cJ75qdCrHV4hr906niXVpZBPGB8i5nxGYi751BsprRJiDcQtxDwwikxuZm2OJ6f0kcDMwKN88GJMeQ=s760" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="389" data-original-width="760" src="https://blogger.googleusercontent.com/img/a/AVvXsEi5dy7TDiXpBjUXt2AeJ5aLWlVfrxHuD4-rDlNBccIZlf5R_lBqECFFbiGb9TMujFih1e835FyG7t2gdWUYUVIbA3aPty44eX6P7eSGEdxFpm18cJ75qdCrHV4hr906niXVpZBPGB8i5nxGYi751BsprRJiDcQtxDwwikxuZm2OJ6f0kcDMwKN88GJMeQ=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEi_rqZ2G15ZD3iGys-hFM4KFZXD9TbovL4MfQCe85oxj2KEfEAnNogG41DkAoHA5joTNpnnybCmfV1no4qOZqyhBz5Nq-_091oMiLmV878AQsQdI2N2B8JIhnlLpDsrSzfuOKSnUfa6vROFmDQCNxycCf1rP3yMpYrd-66DPS_wVsmlraUBiCcx1DpuKg=s589" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="363" data-original-width="589" src="https://blogger.googleusercontent.com/img/a/AVvXsEi_rqZ2G15ZD3iGys-hFM4KFZXD9TbovL4MfQCe85oxj2KEfEAnNogG41DkAoHA5joTNpnnybCmfV1no4qOZqyhBz5Nq-_091oMiLmV878AQsQdI2N2B8JIhnlLpDsrSzfuOKSnUfa6vROFmDQCNxycCf1rP3yMpYrd-66DPS_wVsmlraUBiCcx1DpuKg=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjejlod9Uiwmx0Mw-htEkmcrPzO-24qZazASMtkOgNasfc3dmMjDun_uJUbnOGP42R65_DYs2w-rnzxKBLTr-hRWNLoBjTqCQNcNReBHelG2WLy0uEE14AlxeO447vmYOZdSSkJcn8vzoXI-vXyCFYQJ7cWi9rxLZuX3so24SV6AfKcCKTKZzF5iDUYQg=s672" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="259" data-original-width="672" src="https://blogger.googleusercontent.com/img/a/AVvXsEjejlod9Uiwmx0Mw-htEkmcrPzO-24qZazASMtkOgNasfc3dmMjDun_uJUbnOGP42R65_DYs2w-rnzxKBLTr-hRWNLoBjTqCQNcNReBHelG2WLy0uEE14AlxeO447vmYOZdSSkJcn8vzoXI-vXyCFYQJ7cWi9rxLZuX3so24SV6AfKcCKTKZzF5iDUYQg=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEgi5aiQs9wkxJNi45jxOWLys2VXiL_r6dfVvaa8dfuzFeGlzn8KZwo2vrYzh8ijPEMw6MvOS9IGWyzKpZ40KIdURLtk1UMBu9NDy3poLLFdId_BOKlNt3iD89E8KJJaU3JUbHY8Y1XZzCzYdJkEaGuitcYYAIhfAXTI-gNc3KhHxk0_nnljxfycpj3u-g=s716" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="230" data-original-width="716" src="https://blogger.googleusercontent.com/img/a/AVvXsEgi5aiQs9wkxJNi45jxOWLys2VXiL_r6dfVvaa8dfuzFeGlzn8KZwo2vrYzh8ijPEMw6MvOS9IGWyzKpZ40KIdURLtk1UMBu9NDy3poLLFdId_BOKlNt3iD89E8KJJaU3JUbHY8Y1XZzCzYdJkEaGuitcYYAIhfAXTI-gNc3KhHxk0_nnljxfycpj3u-g=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEg4KQxFfc-8SZx9NEP3UJrYeO-vtGgIBAIhDHDaXO3h8xjECL3UuziKDy44LPQMobam79ul4JvT3KrQBI0PaCpjdOxEsmzK2hqLvgrQIvHCWkDPMDdn-fhZkJiqB_F-fJiKDBubZtiOr8XDdk0tlriC2eaW7hWsaXQIR0X6py7AcgP_MGyb_CqkHaX-Tg=s762" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="221" data-original-width="762" src="https://blogger.googleusercontent.com/img/a/AVvXsEg4KQxFfc-8SZx9NEP3UJrYeO-vtGgIBAIhDHDaXO3h8xjECL3UuziKDy44LPQMobam79ul4JvT3KrQBI0PaCpjdOxEsmzK2hqLvgrQIvHCWkDPMDdn-fhZkJiqB_F-fJiKDBubZtiOr8XDdk0tlriC2eaW7hWsaXQIR0X6py7AcgP_MGyb_CqkHaX-Tg=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjGMnWxQ4gD7eibz8Ejk7evcDnv-lsZxNHFE24tkbcb8k5B2j0tkkAHnmDcR1pZvLvJJ27_0rQwFH5Uo0B4QeLjwHzXWORS6wuohzLMtYhmtvJAhv-0NDTIvYYjUCt0X5sSlc0QVZbVzE0aoyKpmB8-r4W8qcX2Ka0evbaHxC0N95jzNzcvGB-Garew3g=s758" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="267" data-original-width="758" src="https://blogger.googleusercontent.com/img/a/AVvXsEjGMnWxQ4gD7eibz8Ejk7evcDnv-lsZxNHFE24tkbcb8k5B2j0tkkAHnmDcR1pZvLvJJ27_0rQwFH5Uo0B4QeLjwHzXWORS6wuohzLMtYhmtvJAhv-0NDTIvYYjUCt0X5sSlc0QVZbVzE0aoyKpmB8-r4W8qcX2Ka0evbaHxC0N95jzNzcvGB-Garew3g=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEiO84DsLVLByuNVJ2K2xwaRtwLeibPqMRo9EwNigRic7wvT6Ftxm8L_vbkmRYFy80TmQN7b-pX-46wIp2bfr9RUu5z_mYDst7cxbCeS6S4sOJur9hLw6k2GR0Db8vCV2EgWtdl1E-Nw0chMC6SgFAcB9HiL_b0J4sfN7MuvsUtCmKJkn4dMRoBtUqt-7Q=s802" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="247" data-original-width="802" src="https://blogger.googleusercontent.com/img/a/AVvXsEiO84DsLVLByuNVJ2K2xwaRtwLeibPqMRo9EwNigRic7wvT6Ftxm8L_vbkmRYFy80TmQN7b-pX-46wIp2bfr9RUu5z_mYDst7cxbCeS6S4sOJur9hLw6k2GR0Db8vCV2EgWtdl1E-Nw0chMC6SgFAcB9HiL_b0J4sfN7MuvsUtCmKJkn4dMRoBtUqt-7Q=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjYGl-rUUsGBPak9eXVr5locnsWpJh_vqTf1cYvdCHumBRf_oA92-CdW1edznWFuZA8OHiyQ84aaZgco1u27accxYdVy9OebfHFvko0vu8a63pAXDgAU5tKb3RjGWfGWFpgrqiSOH43vjEyvuoAiTmxxCSBgXbn40-jZPKYOG9Xq1SlkRRlXw42fj0aIA=s782" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="195" data-original-width="782" src="https://blogger.googleusercontent.com/img/a/AVvXsEjYGl-rUUsGBPak9eXVr5locnsWpJh_vqTf1cYvdCHumBRf_oA92-CdW1edznWFuZA8OHiyQ84aaZgco1u27accxYdVy9OebfHFvko0vu8a63pAXDgAU5tKb3RjGWfGWFpgrqiSOH43vjEyvuoAiTmxxCSBgXbn40-jZPKYOG9Xq1SlkRRlXw42fj0aIA=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjGTNuFRlmFV7GycdXgDraRpBpBDEj5EQGKTVTZMmRd4E_z_uhaO10csaHa9DfdR0M907J-K74b_MsuR7-x5Y86tvY8F3m4Hj7cyIvuKhea2wwO1TgcdgPcCE8cqfHfbopxQCHDFQTIl3t7KPSsG7M8w1A44lVqgn57jAvdr-pt8ULQVvqTrIyUGeLhqQ=s609" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="194" data-original-width="609" src="https://blogger.googleusercontent.com/img/a/AVvXsEjGTNuFRlmFV7GycdXgDraRpBpBDEj5EQGKTVTZMmRd4E_z_uhaO10csaHa9DfdR0M907J-K74b_MsuR7-x5Y86tvY8F3m4Hj7cyIvuKhea2wwO1TgcdgPcCE8cqfHfbopxQCHDFQTIl3t7KPSsG7M8w1A44lVqgn57jAvdr-pt8ULQVvqTrIyUGeLhqQ=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjpX3i6tOIthdqAh9OlYAXSdb8qRbkr7idFUz3XvW1XRDSqL97bjIK-owLC4rl9GC53GEoKsE8u0AIY-S2EUwwXuiwOUE99mRR7pQk-x5fDFzvmoyPdhtL3gFwzwg7EeZOwuDGEv2dUP48FvP0PXiz575au_TRa5hJIOj9_Hh_51WcGRv1G22U9pkRj9g=s334" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="319" data-original-width="334" src="https://blogger.googleusercontent.com/img/a/AVvXsEjpX3i6tOIthdqAh9OlYAXSdb8qRbkr7idFUz3XvW1XRDSqL97bjIK-owLC4rl9GC53GEoKsE8u0AIY-S2EUwwXuiwOUE99mRR7pQk-x5fDFzvmoyPdhtL3gFwzwg7EeZOwuDGEv2dUP48FvP0PXiz575au_TRa5hJIOj9_Hh_51WcGRv1G22U9pkRj9g=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEgeGUvYCUBiHMdruazaX-DLwE_-ij2EdRbb2dbZi4KCAAhCc5d942nMeS2TRnzdpSrGdrnMKa7ST3AuxQmEzLodwVbHl5ytirx2oNo1P6QwZASMIfNLlU1YwBWZhSPYvC4JKHFSsDjIhwlE0RLuaiiq1yHrFf7muuaJWUizRevuDPq4-XpWX79XXSDv8A=s768" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="364" data-original-width="768" src="https://blogger.googleusercontent.com/img/a/AVvXsEgeGUvYCUBiHMdruazaX-DLwE_-ij2EdRbb2dbZi4KCAAhCc5d942nMeS2TRnzdpSrGdrnMKa7ST3AuxQmEzLodwVbHl5ytirx2oNo1P6QwZASMIfNLlU1YwBWZhSPYvC4JKHFSsDjIhwlE0RLuaiiq1yHrFf7muuaJWUizRevuDPq4-XpWX79XXSDv8A=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEhfbcWE4OVeoe5pFfgOB_l_yNOSJztNNjPJ3mjVs8sATvAVpAQQXnF3YMKYE15PKMLoyYmR2u6CMIXneBCxb9Uwd4XUFHJrIB-6z1GfoMRFpiMs_WN1CAJwcPI1723sryOnvvANYXx4LXTB7Tl7SiLAK0qbyyUDBMTmU2M8QMQlB-kk3HB-N3_xk_mKpA=s785" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="329" data-original-width="785" src="https://blogger.googleusercontent.com/img/a/AVvXsEhfbcWE4OVeoe5pFfgOB_l_yNOSJztNNjPJ3mjVs8sATvAVpAQQXnF3YMKYE15PKMLoyYmR2u6CMIXneBCxb9Uwd4XUFHJrIB-6z1GfoMRFpiMs_WN1CAJwcPI1723sryOnvvANYXx4LXTB7Tl7SiLAK0qbyyUDBMTmU2M8QMQlB-kk3HB-N3_xk_mKpA=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEhBcjp5mLMEKdaaPCLlHSmdrhQFheZN9itn2Qa-_wuO2CJ6ncnRgnyFtwXsVhz1PFpBLcGSHW-BA9kjYCrGhKPGw-2722iIMawqVSUrduPHg1GnaAIP_hs8dvQmQ6c1p4FqtTsHKW5wkKdMomwSbwdSEWB0QeiUhMsb1MeYlO8Q8fttnXaF2d9mlWhGAg=s803" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="393" data-original-width="803" src="https://blogger.googleusercontent.com/img/a/AVvXsEhBcjp5mLMEKdaaPCLlHSmdrhQFheZN9itn2Qa-_wuO2CJ6ncnRgnyFtwXsVhz1PFpBLcGSHW-BA9kjYCrGhKPGw-2722iIMawqVSUrduPHg1GnaAIP_hs8dvQmQ6c1p4FqtTsHKW5wkKdMomwSbwdSEWB0QeiUhMsb1MeYlO8Q8fttnXaF2d9mlWhGAg=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEh7nrbqto_oNMEKS2W6u3sJemG4KkQSgztm_UO5J-z0mm0Tu-MrXUMF2RFjSqHhUKUA24ySriNz0YV0FMZnj5VHXE015Du_gDlVj3ZwSofzG7VaSOLOHlHesEhbshxYN872YQpXqHvn1SFFfi9gcie6iWqKz4YTqd7H_ntLwlndi6P5tF4OuUadl5OsGw=s570" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="246" data-original-width="570" src="https://blogger.googleusercontent.com/img/a/AVvXsEh7nrbqto_oNMEKS2W6u3sJemG4KkQSgztm_UO5J-z0mm0Tu-MrXUMF2RFjSqHhUKUA24ySriNz0YV0FMZnj5VHXE015Du_gDlVj3ZwSofzG7VaSOLOHlHesEhbshxYN872YQpXqHvn1SFFfi9gcie6iWqKz4YTqd7H_ntLwlndi6P5tF4OuUadl5OsGw=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEiy0lurXaf11r0wzcliKZzpE-516xECpYIgncfRhirUZeOz5M3PtN8aawQeDWNQq6qE9CLXDbqVVly_K4VnN2LqpwzHUA_v9MmVMf7TkavgCrDGafktep5vAkTG5X0S1uTlDqT5WmM399NGa2nUPDOipluy9KaAmAslqZVES_vUec717kOg0MtFd2jTBQ=s619" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="394" data-original-width="619" src="https://blogger.googleusercontent.com/img/a/AVvXsEiy0lurXaf11r0wzcliKZzpE-516xECpYIgncfRhirUZeOz5M3PtN8aawQeDWNQq6qE9CLXDbqVVly_K4VnN2LqpwzHUA_v9MmVMf7TkavgCrDGafktep5vAkTG5X0S1uTlDqT5WmM399NGa2nUPDOipluy9KaAmAslqZVES_vUec717kOg0MtFd2jTBQ=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEi8jRtLMcKcdohhAZ2D61lvOciDzWJiNM5BmzMH5E-VS0y-5gFR4q3WCKAnTp1YA3ahHfVtdTQy1hId0KI7otlfbasSQ4vdViRchH7vvFM0l3K5kW089mv6Dw7EL07lV14N1tWS0P_alNQMjG6o8HmM2-7osgZBe4KvkxIYIqllcC3rWb8_cEABGST-YA=s799" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="338" data-original-width="799" src="https://blogger.googleusercontent.com/img/a/AVvXsEi8jRtLMcKcdohhAZ2D61lvOciDzWJiNM5BmzMH5E-VS0y-5gFR4q3WCKAnTp1YA3ahHfVtdTQy1hId0KI7otlfbasSQ4vdViRchH7vvFM0l3K5kW089mv6Dw7EL07lV14N1tWS0P_alNQMjG6o8HmM2-7osgZBe4KvkxIYIqllcC3rWb8_cEABGST-YA=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEg8fY4evvsE_0RkqbHn1_M-W8-RdG6kluAZJrDdBGYB7p5xeejn377t2HrnkYY_3ld6po0zA63YCKbJeUm6Xvt4FQ2oWyyfBKuajUjVnlZ-xYtBFAfTB3tGwTR5y7ap6MRoD49jDnZW6Gt8tj8j5ZDWty1T7B4detsmgyxEf5dE1VNcj2t4o2ZbbmqFuQ=s838" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" data-original-height="446" data-original-width="838" src="https://blogger.googleusercontent.com/img/a/AVvXsEg8fY4evvsE_0RkqbHn1_M-W8-RdG6kluAZJrDdBGYB7p5xeejn377t2HrnkYY_3ld6po0zA63YCKbJeUm6Xvt4FQ2oWyyfBKuajUjVnlZ-xYtBFAfTB3tGwTR5y7ap6MRoD49jDnZW6Gt8tj8j5ZDWty1T7B4detsmgyxEf5dE1VNcj2t4o2ZbbmqFuQ=s16000" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjz1TYCHMlkt2NhiW832Mg68D2cjzzT40ejHpBJvoafGA7BjYu-lV62L8CeiZLUA_i8VcrQeS1YnL3RNb1zgnbQxO-JZ2qFnff2AcvGRpgHH3XBIHa1kHoVkqEsJIshxDuwqj81hqPN1ldxKCGFplNTb6Ttv_DEh-z6Jb6XuEkdEUqma9tJdtvhjwScaQ=s768" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="280" data-original-width="768" src="https://blogger.googleusercontent.com/img/a/AVvXsEjz1TYCHMlkt2NhiW832Mg68D2cjzzT40ejHpBJvoafGA7BjYu-lV62L8CeiZLUA_i8VcrQeS1YnL3RNb1zgnbQxO-JZ2qFnff2AcvGRpgHH3XBIHa1kHoVkqEsJIshxDuwqj81hqPN1ldxKCGFplNTb6Ttv_DEh-z6Jb6XuEkdEUqma9tJdtvhjwScaQ=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEhAigPG813NnvLKG43ZBTIR8dQ-JGeDUbY7KdrnKTTAypoy1Lo-aO9M9dcYQVvCxtLWIXacv2gUT344snGuUDqf5VpMOdiFesp-MDw0KiYczeR9apumpnl9J1S3_GK4ssHQTUjL39i8wzQsM_0j_zcYjZRD2gZv_3Akqw_5cUNtjpnxEOm_L_Nwio9SYw=s839" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="450" data-original-width="839" src="https://blogger.googleusercontent.com/img/a/AVvXsEhAigPG813NnvLKG43ZBTIR8dQ-JGeDUbY7KdrnKTTAypoy1Lo-aO9M9dcYQVvCxtLWIXacv2gUT344snGuUDqf5VpMOdiFesp-MDw0KiYczeR9apumpnl9J1S3_GK4ssHQTUjL39i8wzQsM_0j_zcYjZRD2gZv_3Akqw_5cUNtjpnxEOm_L_Nwio9SYw=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjeKvShoMOmbn7VK1Vvpxu5gKU53NafKDi9oppAQGUyfgpNbST37bQNJWmJl8BuKIwsl7ZxEs5V4wjg8_R6miNnXJrmM98e3saVi7dpymv6rr_ULplGAKtqBafZR1-vE6vUP1m2_fN4zdrDJfRistSXCjWxpTBBBqK5TFxp_mGRHJqDJflHsX7UE5SI6Q=s767" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="196" data-original-width="767" src="https://blogger.googleusercontent.com/img/a/AVvXsEjeKvShoMOmbn7VK1Vvpxu5gKU53NafKDi9oppAQGUyfgpNbST37bQNJWmJl8BuKIwsl7ZxEs5V4wjg8_R6miNnXJrmM98e3saVi7dpymv6rr_ULplGAKtqBafZR1-vE6vUP1m2_fN4zdrDJfRistSXCjWxpTBBBqK5TFxp_mGRHJqDJflHsX7UE5SI6Q=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEiyLVriDQ8h07oVyv_1FySG7VOgNG29kJ6dtiYGsN6C998kCYYo_PcSELDXfGV5hl8uHHpO64mza3YadU9rGCi5DVmv-6sO34GbPsF-EBaZECRfsL71C13qkZweK0jbLDrNMhkwQ2lH9D1zdjLXxtFC8F43Cp31zF2gMFs7HIekGbjgM_4SWuZM6GCX2g=s464" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="181" data-original-width="464" src="https://blogger.googleusercontent.com/img/a/AVvXsEiyLVriDQ8h07oVyv_1FySG7VOgNG29kJ6dtiYGsN6C998kCYYo_PcSELDXfGV5hl8uHHpO64mza3YadU9rGCi5DVmv-6sO34GbPsF-EBaZECRfsL71C13qkZweK0jbLDrNMhkwQ2lH9D1zdjLXxtFC8F43Cp31zF2gMFs7HIekGbjgM_4SWuZM6GCX2g=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEi37pcDzxpHBrzpnI29Nn1KsfxxM7WsWe47b2N5bqedxy_RvJ_zqivQSt_Uu-gKYIG9HmuP_oTJuK3jWmyxug-SP_Gj7ZUrtSj0uVR4D_rfzhwQWH1lGyTquXwR0ZIwhFKPNF67Q7pWB49BBuIpfcfsNi7odpdWo0TCzZdxp96thEol_O8DDHqizoyXqw=s457" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="325" data-original-width="457" src="https://blogger.googleusercontent.com/img/a/AVvXsEi37pcDzxpHBrzpnI29Nn1KsfxxM7WsWe47b2N5bqedxy_RvJ_zqivQSt_Uu-gKYIG9HmuP_oTJuK3jWmyxug-SP_Gj7ZUrtSj0uVR4D_rfzhwQWH1lGyTquXwR0ZIwhFKPNF67Q7pWB49BBuIpfcfsNi7odpdWo0TCzZdxp96thEol_O8DDHqizoyXqw=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/a/AVvXsEjOCDM6agEs2TCUL-67NxD4WhFswkXPHH5lsERYgksNn0NNGz9xZDdm3h9H_3NcCEET2N_oqo1bkN8T8soLaLldONcsQ_5Mzlhqr1IRRqrrRDGLq-YZC5dHI90vTdtIUAghuMzPeo8qjIKKArSpzIxg58elA0-6kxJH_b9mWUE-HexeBLeEkdSWo1Q5rw=s72-c" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item><item><title>Ansible </title><link>http://oracle-plsql10g.blogspot.com/2021/12/ansible.html</link><category>Ansible</category><category>DevOps</category><pubDate>Thu, 23 Dec 2021 09:23:00 +0530</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-4211751644087631390.post-6070732871821163210</guid><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEgBjVxYBcx-G-T1GiwJRVd1gtuDru2FjUuPMbhAs-q36Fb1RdGGMvheV9Mja4s0oNKo1zxZ2VvnxP3N-qFmE_wnUn5e_HDGtp7a3awFKwNr2EdRypmr4pSmmmDIRXMTyhk1LhP90cVNmFFxCR6dTOWo9MaXY0h7tAYAqCY_KH4jSUeWahFc7x25hzBrQA=s714" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="268" data-original-width="714" src="https://blogger.googleusercontent.com/img/a/AVvXsEgBjVxYBcx-G-T1GiwJRVd1gtuDru2FjUuPMbhAs-q36Fb1RdGGMvheV9Mja4s0oNKo1zxZ2VvnxP3N-qFmE_wnUn5e_HDGtp7a3awFKwNr2EdRypmr4pSmmmDIRXMTyhk1LhP90cVNmFFxCR6dTOWo9MaXY0h7tAYAqCY_KH4jSUeWahFc7x25hzBrQA=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEhSYoAUSEQ-dT828aT-xu2eCWIpPQ82mvejkxUVs6KIzKOWOM0o49jFI0GhOftOPonOKGDenBOJdiNEY8rQ-zLn32KY0d7B7CNY-YW_M1SB9TaZ39zofr65dkgzGA4w3Jq-ztxffYJb9GqBd9D84TboX4RWFwy6UJb4ooLYpwLW3-wr6bQ2mdrm7TUBCA=s368" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="240" data-original-width="368" src="https://blogger.googleusercontent.com/img/a/AVvXsEhSYoAUSEQ-dT828aT-xu2eCWIpPQ82mvejkxUVs6KIzKOWOM0o49jFI0GhOftOPonOKGDenBOJdiNEY8rQ-zLn32KY0d7B7CNY-YW_M1SB9TaZ39zofr65dkgzGA4w3Jq-ztxffYJb9GqBd9D84TboX4RWFwy6UJb4ooLYpwLW3-wr6bQ2mdrm7TUBCA=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjgROk0rwv_nTUXLMsMvETrqOCKUYFE6EQxhT1bfXQjrWeLEVxlAS8gExC5ElOXP1_qIBlAONupME3GGXxvenStjiHLjfsfuF1vxwHIinvIv5CXa8fJi8F-PjNmFVXw4Wx-rBcHgqKBBp7sbCNCLFu1gMU1WKgf20lyocGQcVk5pnxIVwLsXNzq1vSaaQ=s826" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="352" data-original-width="826" src="https://blogger.googleusercontent.com/img/a/AVvXsEjgROk0rwv_nTUXLMsMvETrqOCKUYFE6EQxhT1bfXQjrWeLEVxlAS8gExC5ElOXP1_qIBlAONupME3GGXxvenStjiHLjfsfuF1vxwHIinvIv5CXa8fJi8F-PjNmFVXw4Wx-rBcHgqKBBp7sbCNCLFu1gMU1WKgf20lyocGQcVk5pnxIVwLsXNzq1vSaaQ=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEhW38NLedGuk_PU1MYsTZdXuwXCsY5wLp0EiZr8c6hHNt5p2yYWDiw4odL28xm628KnD8Al8UW8OyJbdVDNYu9h_r9TUfuM-zQkYBE_tTYQi8Pmy4bAi2hc6xyKMQIunRzvoitOULBNpoJ9L7nUCqB0yOmqOF-44KHWXD2f-r_aKVZyJ4ZldTSlg81ORA=s752" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="322" data-original-width="752" src="https://blogger.googleusercontent.com/img/a/AVvXsEhW38NLedGuk_PU1MYsTZdXuwXCsY5wLp0EiZr8c6hHNt5p2yYWDiw4odL28xm628KnD8Al8UW8OyJbdVDNYu9h_r9TUfuM-zQkYBE_tTYQi8Pmy4bAi2hc6xyKMQIunRzvoitOULBNpoJ9L7nUCqB0yOmqOF-44KHWXD2f-r_aKVZyJ4ZldTSlg81ORA=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEg8yc1vo9fnMcs3pdPgrFkwN9LeaEu9F_mfjLjtjbQu9ds1JxNHN_0uMzZxaRV9ouPHnFAnnYdLzQYUY72R4Zdn2A_TQGgOBxbd7Y25hCqaVV_GPl-Kh2qZovE424sSpf7LGsVJy1I_Ed_yfeNv5PaoqD7H4xDSDRWf7g4_DfyiDHlGJZKHzgCOD6ynEA=s638" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="227" data-original-width="638" src="https://blogger.googleusercontent.com/img/a/AVvXsEg8yc1vo9fnMcs3pdPgrFkwN9LeaEu9F_mfjLjtjbQu9ds1JxNHN_0uMzZxaRV9ouPHnFAnnYdLzQYUY72R4Zdn2A_TQGgOBxbd7Y25hCqaVV_GPl-Kh2qZovE424sSpf7LGsVJy1I_Ed_yfeNv5PaoqD7H4xDSDRWf7g4_DfyiDHlGJZKHzgCOD6ynEA=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEgrWPMQcb_BeS2iFycyd1xeGElogC4_e6OkO-58hNNq4h6XNxoP9h4ucYpfUxYYPjzC3oS3xurGDG0i7LEchAESb-Yfbj6lVnmGvl-4yZBviSH-JNlSDdXdPw-aUdryspShsIbIhTbK6K3l8d_irbLS1PJ-YGiOPSHajH5r154nH0Bh7fWetejAG29KHA=s555" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="232" data-original-width="555" src="https://blogger.googleusercontent.com/img/a/AVvXsEgrWPMQcb_BeS2iFycyd1xeGElogC4_e6OkO-58hNNq4h6XNxoP9h4ucYpfUxYYPjzC3oS3xurGDG0i7LEchAESb-Yfbj6lVnmGvl-4yZBviSH-JNlSDdXdPw-aUdryspShsIbIhTbK6K3l8d_irbLS1PJ-YGiOPSHajH5r154nH0Bh7fWetejAG29KHA=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjCURky96NXxVZeaVZr5Xtce--7KsNu8jbGzsCXdhE5Hy-VKhabOmElILAInnrSdZuWBLsOBgxTC-FFyk8EymFKTJXyUUY0GIMMUWj6qNdaLZ09VkPY1fOAAoI3SVCM9Y6PRzN3SSP0O87N2raSl7C60fdxLlfAfDJ2-h3864vMCSERiPetjZZfrpXDyg=s512" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="208" data-original-width="512" src="https://blogger.googleusercontent.com/img/a/AVvXsEjCURky96NXxVZeaVZr5Xtce--7KsNu8jbGzsCXdhE5Hy-VKhabOmElILAInnrSdZuWBLsOBgxTC-FFyk8EymFKTJXyUUY0GIMMUWj6qNdaLZ09VkPY1fOAAoI3SVCM9Y6PRzN3SSP0O87N2raSl7C60fdxLlfAfDJ2-h3864vMCSERiPetjZZfrpXDyg=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEgF5qLxbt0uQO7Wh_nG06is4pfvSlcYJV446RTFoLz6lo2dUdnS9FApj2RHAisGWGrrpEtIdg5O4ruzM5I249YURiEg-HarBlZ_731aHFU6LT4VgGF4Wp5_3eaSJ6-kmadHC8ZjJTlPOSn1wzljSv2acp6rbgynsXW0XvzawF7wvCVUO_BASM9VeHY8OA=s393" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="170" data-original-width="393" src="https://blogger.googleusercontent.com/img/a/AVvXsEgF5qLxbt0uQO7Wh_nG06is4pfvSlcYJV446RTFoLz6lo2dUdnS9FApj2RHAisGWGrrpEtIdg5O4ruzM5I249YURiEg-HarBlZ_731aHFU6LT4VgGF4Wp5_3eaSJ6-kmadHC8ZjJTlPOSn1wzljSv2acp6rbgynsXW0XvzawF7wvCVUO_BASM9VeHY8OA=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEi3-OjArdIqrilH_-hKSLfyodOxDCxleUNraUMFhQJY6G9-TNgIA4xUdNP3YSu4Ra7v8aofe6ELpGoZFReTAoAW9pQju8wQ14A9g0r9Nh_mEEbp5xhQ8zbtYJajGPL0zzjNprFYCwVycnMJ0U-5MJRlMJNU4cbRn_r2MC-vUn33OsT3Ub07Nk--oKNv3A=s847" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="411" data-original-width="847" src="https://blogger.googleusercontent.com/img/a/AVvXsEi3-OjArdIqrilH_-hKSLfyodOxDCxleUNraUMFhQJY6G9-TNgIA4xUdNP3YSu4Ra7v8aofe6ELpGoZFReTAoAW9pQju8wQ14A9g0r9Nh_mEEbp5xhQ8zbtYJajGPL0zzjNprFYCwVycnMJ0U-5MJRlMJNU4cbRn_r2MC-vUn33OsT3Ub07Nk--oKNv3A=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjrbMedoBJWJ6nZZ3FilZx3h0GJ2FlNYvKLPFZ8ZGgCYW-W9tqVDxrd-UYLAd2wX-piFzwH1GskXubdOCmnTq4w8evLVJHS-3jSE_HaWqp5EPmmEL01l_5OuXvGaX03vxBAOQK5q5TFUHA3fWwYZMgcB7xb5lKtn5K062invZrE8aVjxwNesOgSP0M7Ww=s594" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="332" data-original-width="594" src="https://blogger.googleusercontent.com/img/a/AVvXsEjrbMedoBJWJ6nZZ3FilZx3h0GJ2FlNYvKLPFZ8ZGgCYW-W9tqVDxrd-UYLAd2wX-piFzwH1GskXubdOCmnTq4w8evLVJHS-3jSE_HaWqp5EPmmEL01l_5OuXvGaX03vxBAOQK5q5TFUHA3fWwYZMgcB7xb5lKtn5K062invZrE8aVjxwNesOgSP0M7Ww=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEgX-htugC5HJ_kFYvdUuR-ES7-uj37h9_NJQV2hsoYsTvXg3QwLC14bBAPDDGEGLOMqQOqA3Fhq3K0qFX63n5Cu2-j8eatnqtZqV1FvP8oUqAxi9HaoVCiO4kmdnFyjg2mKuQU201jq8Dpm4nduDiSgiJQDRucTcY78yNu20xqXxPvGFxK6bpftW1XiuA=s622" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="343" data-original-width="622" src="https://blogger.googleusercontent.com/img/a/AVvXsEgX-htugC5HJ_kFYvdUuR-ES7-uj37h9_NJQV2hsoYsTvXg3QwLC14bBAPDDGEGLOMqQOqA3Fhq3K0qFX63n5Cu2-j8eatnqtZqV1FvP8oUqAxi9HaoVCiO4kmdnFyjg2mKuQU201jq8Dpm4nduDiSgiJQDRucTcY78yNu20xqXxPvGFxK6bpftW1XiuA=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEhM5mg4bcQYVJ-kJ65PhdtVnAHrl-JDEnx-H4ytl80FFnzIF_2BGcwRwKObYH0xs3ahhn4T2faPfEUY6Lftk7LFKTeLGDmG8L4BRhh0EHLNbjoxoXBAT-V_jKStbu3OVOEhM4c1sJkCduzHwjR8CTgZ8NPVu6n9wKPZGtq86lmN_BDAXMDLJq5_GivfpQ=s658" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="339" data-original-width="658" src="https://blogger.googleusercontent.com/img/a/AVvXsEhM5mg4bcQYVJ-kJ65PhdtVnAHrl-JDEnx-H4ytl80FFnzIF_2BGcwRwKObYH0xs3ahhn4T2faPfEUY6Lftk7LFKTeLGDmG8L4BRhh0EHLNbjoxoXBAT-V_jKStbu3OVOEhM4c1sJkCduzHwjR8CTgZ8NPVu6n9wKPZGtq86lmN_BDAXMDLJq5_GivfpQ=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEhpoNuJdrlxZbFS97AQyETQqYpwu-dW_uX30igEJ9pIvdYbKe1DM4n1HYwuYH8350JdC-2fRS4UsjebUREc8HbXiWfJ767vYYw0pz3Gc7uL7jIHf1QJUIcd0IjpyKV2VVmlRq9PxlefC3StVrR8LGFArS50bQH74Px1k_ovDc6RUjoqm1SkC2hSuRefJw=s481" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="194" data-original-width="481" src="https://blogger.googleusercontent.com/img/a/AVvXsEhpoNuJdrlxZbFS97AQyETQqYpwu-dW_uX30igEJ9pIvdYbKe1DM4n1HYwuYH8350JdC-2fRS4UsjebUREc8HbXiWfJ767vYYw0pz3Gc7uL7jIHf1QJUIcd0IjpyKV2VVmlRq9PxlefC3StVrR8LGFArS50bQH74Px1k_ovDc6RUjoqm1SkC2hSuRefJw=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEh9ky690fLkLkE55rqRPyFUvr45ESrmuxB3hPvbhkCNGHtybhnQRMjDP6vOiFiabB3I-ph16JLZl_88Mua_mahLuWHI8waeCQ72Q0ZVf4VVY4PLlnnpWTDKWxwVVnXZf4pqwl8BOc2w11A8-2pJlNBYagLqgbU3LPqG8nc6jbx9y2Jo72gIeoL2KdWHoA=s592" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="206" data-original-width="592" src="https://blogger.googleusercontent.com/img/a/AVvXsEh9ky690fLkLkE55rqRPyFUvr45ESrmuxB3hPvbhkCNGHtybhnQRMjDP6vOiFiabB3I-ph16JLZl_88Mua_mahLuWHI8waeCQ72Q0ZVf4VVY4PLlnnpWTDKWxwVVnXZf4pqwl8BOc2w11A8-2pJlNBYagLqgbU3LPqG8nc6jbx9y2Jo72gIeoL2KdWHoA=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEhwwa6zd8GkzRCER874tpmFFU8s5-eIh6CKqhh9GSIvLd8pUmCAEhW3GBPu4qnKH7aasjWDKUD0X1CieAJitO_WTk94INMO6tzyYy34xLfmcjObz4QYUCFm-VUZpESAGqT0JhIPdPC5B9G-FeP0NKUM2pt_zqagBLbTaD5_Str8awIcXB8s3KnYeacCGg=s503" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="135" data-original-width="503" src="https://blogger.googleusercontent.com/img/a/AVvXsEhwwa6zd8GkzRCER874tpmFFU8s5-eIh6CKqhh9GSIvLd8pUmCAEhW3GBPu4qnKH7aasjWDKUD0X1CieAJitO_WTk94INMO6tzyYy34xLfmcjObz4QYUCFm-VUZpESAGqT0JhIPdPC5B9G-FeP0NKUM2pt_zqagBLbTaD5_Str8awIcXB8s3KnYeacCGg=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEggX1tRja7IYfqPoVyLe8xLn1zkM5Dt8EnBDglEIu06jITOgnt7jMnRnBADA8Exg73HWSSoAGqDJBLX3kAKmnb7nXmD2tt9gxZ7l72R6XLnRCLD2YzOeuFE5pKiWWk5vvd45zGGLzI4FAMzvuci4XN34fjqt8WxH4Z_dfPwV5NHaijDC9EfeTvasrFKNg=s835" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="314" data-original-width="835" src="https://blogger.googleusercontent.com/img/a/AVvXsEggX1tRja7IYfqPoVyLe8xLn1zkM5Dt8EnBDglEIu06jITOgnt7jMnRnBADA8Exg73HWSSoAGqDJBLX3kAKmnb7nXmD2tt9gxZ7l72R6XLnRCLD2YzOeuFE5pKiWWk5vvd45zGGLzI4FAMzvuci4XN34fjqt8WxH4Z_dfPwV5NHaijDC9EfeTvasrFKNg=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjkBDzwb4_Kc8WSrW0eS41vATh94bD_okDEGAzLO-4Anw12KmrYD1vwr8XLBBsnpL71WdPJ0XgBvctNdqZo4hOkW84l_Rx9_DcXTzmZmor6RWyKWj_F29HrYfTWQA5XOdVMZTpX74AyCFBKyABTXf3HNJdicI39tafsWnc1pVPjj_ClwCI6t1i2t9glUw=s556" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="241" data-original-width="556" src="https://blogger.googleusercontent.com/img/a/AVvXsEjkBDzwb4_Kc8WSrW0eS41vATh94bD_okDEGAzLO-4Anw12KmrYD1vwr8XLBBsnpL71WdPJ0XgBvctNdqZo4hOkW84l_Rx9_DcXTzmZmor6RWyKWj_F29HrYfTWQA5XOdVMZTpX74AyCFBKyABTXf3HNJdicI39tafsWnc1pVPjj_ClwCI6t1i2t9glUw=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEhs3obiCXDEYRbBcXA6FLNULQJgalbsPpTp8OcMsRLBL3NgVp7TPa8LlQafMKwey4A0Df-xch7ta7CbQAMFYGEj65qn_DGMSp9utLK56_R7n07SGWvk9Cbtr_2YCQjFKWJoSIcPacQ9Gi2UixA24CGGf8N_PX66GwaSZqkpJMdeovXAKxCSBavpyn8Fnw=s441" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="353" data-original-width="441" src="https://blogger.googleusercontent.com/img/a/AVvXsEhs3obiCXDEYRbBcXA6FLNULQJgalbsPpTp8OcMsRLBL3NgVp7TPa8LlQafMKwey4A0Df-xch7ta7CbQAMFYGEj65qn_DGMSp9utLK56_R7n07SGWvk9Cbtr_2YCQjFKWJoSIcPacQ9Gi2UixA24CGGf8N_PX66GwaSZqkpJMdeovXAKxCSBavpyn8Fnw=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEisJNBM29xSl7stRBMkiOprz4PihMsiCyBSEAVzamHQpeobxEmbBE-UNIdMFX3clWAVPPS7hWvaw3qspHeMzG2maaqu94nUNwxRNk1klFG_paZKZgYFarDeujx7fM__1a_6Q1583o4fzckyS0bbfhS8AvAY7Iay5BKWhOjCNRBBvA6uwhYamw5F7TTqvQ=s354" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="269" data-original-width="354" src="https://blogger.googleusercontent.com/img/a/AVvXsEisJNBM29xSl7stRBMkiOprz4PihMsiCyBSEAVzamHQpeobxEmbBE-UNIdMFX3clWAVPPS7hWvaw3qspHeMzG2maaqu94nUNwxRNk1klFG_paZKZgYFarDeujx7fM__1a_6Q1583o4fzckyS0bbfhS8AvAY7Iay5BKWhOjCNRBBvA6uwhYamw5F7TTqvQ=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEjGXo3M7KK7mVSaew0rflQZrJEb2sa6w2Cyoo5qvc1cwSCF-jgrt9krESXdUYfAIjeZnn9_wL6pPudLNGQRn23QM-YcmTOSopDtOg79Pnd9C3Mf9Q91kREk5xJ18RmR35sonC2TK6BUWY30Ttm6MHRNRFuAxFT5cvUA4TbsWBmbL1jLIoZu0LltPQgcVA=s373" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="273" data-original-width="373" src="https://blogger.googleusercontent.com/img/a/AVvXsEjGXo3M7KK7mVSaew0rflQZrJEb2sa6w2Cyoo5qvc1cwSCF-jgrt9krESXdUYfAIjeZnn9_wL6pPudLNGQRn23QM-YcmTOSopDtOg79Pnd9C3Mf9Q91kREk5xJ18RmR35sonC2TK6BUWY30Ttm6MHRNRFuAxFT5cvUA4TbsWBmbL1jLIoZu0LltPQgcVA=s16000" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/a/AVvXsEgBjVxYBcx-G-T1GiwJRVd1gtuDru2FjUuPMbhAs-q36Fb1RdGGMvheV9Mja4s0oNKo1zxZ2VvnxP3N-qFmE_wnUn5e_HDGtp7a3awFKwNr2EdRypmr4pSmmmDIRXMTyhk1LhP90cVNmFFxCR6dTOWo9MaXY0h7tAYAqCY_KH4jSUeWahFc7x25hzBrQA=s72-c" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><author>oracleplsql10g@gmail.com (Oracle4u.com)</author></item></channel></rss>