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

<channel>
	<title>Software Blog Archives - SM Consultant</title>
	<atom:link href="https://smconsultant.com/blog/software-blog/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>...empowering customer business</description>
	<lastBuildDate>Sun, 17 Jan 2021 06:32:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://smconsultant.com/wp-content/uploads/2020/11/smc-favicon.png</url>
	<title>Software Blog Archives - SM Consultant</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Java Basics – Arrays, ways to create objects, command line argument</title>
		<link>https://smconsultant.com/java-basics-arrays-ways-to-create-objects-command-line-argument/</link>
					<comments>https://smconsultant.com/java-basics-arrays-ways-to-create-objects-command-line-argument/#respond</comments>
		
		<dc:creator><![CDATA[Havi J]]></dc:creator>
		<pubDate>Sun, 17 Jan 2021 06:32:29 +0000</pubDate>
				<category><![CDATA[Software Blog]]></category>
		<guid isPermaLink="false">https://smconsultant.com/?p=17898</guid>

					<description><![CDATA[Java Arrays Generally, an array is a collection of the same type of elements that has a contiguous memory location. Java arrays are objects which contain the elements of similar data types. Moreover, all the elements of the array are stored in a contiguous memory location. In short, the array is a data structure where the programmers can store similar elements. However, we can only store a fixed set of elements in the array. These arrays are index-based so the]]></description>
										<content:encoded><![CDATA[<h3><strong>Java Arrays</strong></h3>
<p>Generally, an array is a collection of the same type of elements that has a contiguous memory location. Java arrays are objects which contain the elements of similar data types. Moreover, all the elements of the array are stored in a contiguous memory location. In short, the array is a data structure where the programmers can store similar elements. However, we can only store a fixed set of elements in the array. These arrays are index-based so the first element of an array is always stored at the 0th index; the second element is stored on the first index and so on.</p>
<p>With the help of the length member, we can always get the length of the array. It is not the same with languages like C or C++. There we need to use the size of the operator. We can call arrays in Java as the object of a dynamically generated class. They inherit the object class and then implement the serializable and cloneable interfaces. We can store primitive values as well as objects in the array. In Java programming language, there are two types of arrays. One is a single-dimensional array and another is a multidimensional array.</p>
<h4><strong>Single Dimensional Array</strong></h4>
<p>Its syntax is –</p>
<p>dataType[] arr; (or)</p>
<p>dataType []arr; (or)</p>
<p>dataType arr[];</p>
<p>For instantiation –</p>
<p>arrayRefVar=<strong>new</strong> datatype[size];</p>
<p>Example is given below &#8211;</p>
<p><strong>class</strong> Testarray{</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String args[]){</p>
<p><strong>int</strong> a[]=<strong>new</strong> <strong>int</strong>[5];//declaration and instantiation</p>
<p>a[0]=10;//initialization</p>
<p>a[1]=20;</p>
<p>a[2]=70;</p>
<p>a[3]=40;</p>
<p>a[4]=50;</p>
<p>//traversing array</p>
<p><strong>for</strong>(<strong>int</strong> i=0;i&lt;a.length;i++)//length is the property of array</p>
<p>System.out.println(a[i]);</p>
<p>}}</p>
<p>Output –</p>
<p>10, 20, 30, 40, 50</p>
<h4><strong>Multidimensional Array</strong></h4>
<p>In this kind of arrays, the data is stored in the form of rows and columns that are based on index and are also known as matrix form arrays. Its syntax is –</p>
<p>dataType[][] arrayRefVar; (or)</p>
<p>dataType [][]arrayRefVar; (or)</p>
<p>dataType arrayRefVar[][]; (or)</p>
<p>dataType []arrayRefVar[];</p>
<p>For instantiating –</p>
<p><strong>int</strong>[][] arr=<strong>new</strong> <strong>int</strong>[3][3];//3 row and 3 column</p>
<p>Example of a multidimensional array –</p>
<p><strong>class</strong> Testarray3{</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String args[]){</p>
<p>//declaring and initializing 2D array</p>
<p><strong>int</strong> arr[][]={{1,2,3},{2,4,5},{4,4,5}};</p>
<p>//printing 2D array</p>
<p><strong>for</strong>(<strong>int</strong> i=0;i&lt;3;i++){</p>
<p><strong>for</strong>(<strong>int</strong> j=0;j&lt;3;j++){</p>
<p>System.out.print(arr[i][j]+&#8221; &#8220;);</p>
<p>}</p>
<p>System.out.println();</p>
<p>}</p>
<p>}}</p>
<p>Output –</p>
<p>1 2 3</p>
<p>2 4 5</p>
<p>4 4 5</p>
<h3><strong>Ways to create objects in Java</strong></h3>
<p>In Java, objects are a physical and logical entity. However, in Java class is always a logical entity only. Objects have three characteristics. First is the state that represents the data or value of the object, second is its behavior that represents the functionality of the object and last is the Identity that is implemented through a unique ID. There are five ways to create an object in Java they are as follows –</p>
<h4><strong>Java New Operator</strong></h4>
<p>This is a famous way to create a develop an object in Java. a new operator is followed by a call to a constructor that initializes that new object. It takes all the space in the heap while we are creating an object. Its Syntax is –</p>
<p>class_name object_name = <strong>new</strong> class_name()</p>
<p>Example-</p>
<p><strong>public</strong> <strong>class</strong> A</p>
<p>{</p>
<p>String str=&#8221;hello&#8221;;</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String args[])</p>
<p>{</p>
<p>A obj=<strong>new</strong> A();  //creating object using new keyword</p>
<p>System.out.println(obj.str);</p>
<p>}</p>
<p>}</p>
<p>Output –</p>
<p>hello</p>
<h4><strong>Java Class.newInstance() method</strong></h4>
<p>This is the method of Class class. The Class class belongs to java.lang package. It has the responsibility of creating a new instance of a class that is represented by this Class object. After that, it returns the newly created instance of a particular class. Its Syntax is –</p>
<p><strong>public</strong> T newInstance() <strong>throws</strong> IllegalAcccessException, InstantiationException</p>
<p>It throws an <strong>IllegalAccessException </strong>if the nullary constructor or the class is not accessible. It throws InstantiationException also if the class is representing an abstract class, array class, primitive type, or an interface.</p>
<p>Example –</p>
<p><strong>public</strong> <strong>class</strong> NewInstanceExample</p>
<p>{</p>
<p>String str=&#8221;hello&#8221;;</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String args[])</p>
<p>{</p>
<p><strong>try</strong></p>
<p>{</p>
<p>//creating object of class</p>
<p>NewInstanceExample obj= NewInstanceExample.<strong>class</strong>.newInstance();</p>
<p>System.out.println(obj.str);</p>
<p>}</p>
<p><strong>catch</strong>(Exception e)</p>
<p>{</p>
<p>e.printStackTrace();</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>Output –</p>
<p>Java NewInstanceExample</p>
<p>hello</p>
<h4><strong>Java newInstance() method of constructor</strong></h4>
<p>The Java constructor class has a method called newInstance() that is similar to the newInstance() method of the Class class. This method belongs to Java.lang.reflect.Constructor class. Both methods reflect two ways of creating an object. As a matter of fact, the Class class&#8217;s newInstance() method uses the method newInstance() of the constructor class. This method then returns a new object that is created by calling the constructor. Its syntax is –</p>
<p><strong>public</strong> T newInstance(Objects&#8230;initargs)</p>
<p>Example –</p>
<p><strong>import</strong> java.lang.reflect.Constructor;</p>
<p><strong>public</strong> <strong>class</strong> NewInstanceExample1</p>
<p>{</p>
<p>String str=&#8221;hello&#8221;;</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String args[])</p>
<p>{</p>
<p><strong>try</strong></p>
<p>{</p>
<p>Constructor&lt;NewInstanceExample1&gt; obj =NewInstanceExample1.<strong>class</strong>.getConstructor();</p>
<p>NewInstanceExample1 obj1 = obj.newInstance();</p>
<p>System.out.println(obj1.str);</p>
<p>}</p>
<p><strong>catch</strong>(Exception e)</p>
<p>{</p>
<p>e.printStackTrace();</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>Output &#8211; hello</p>
<h4><strong>Java Object.clone() method</strong></h4>
<p>The Java clone() method has the responsibility of creating a copy of an existing object. This method is defined in the object class. Then it returns the clone of this instance. Its Syntax is &#8211;</p>
<p><strong>protected</strong> Object clone() <strong>throws</strong> CloneNotSupportedException</p>
<p>Example –</p>
<p><strong>public</strong> <strong>class</strong> CloneExample <strong>implements</strong> Cloneable</p>
<p>{</p>
<p>//creates and returns a copy of this object</p>
<p><strong>protected</strong> Object clone() <strong>throws</strong> CloneNotSupportedException</p>
<p>{</p>
<p><strong>return</strong> <strong>super</strong>.clone();</p>
<p>}</p>
<p>String name = &#8220;Microprocessor&#8221;;</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args)</p>
<p>{</p>
<p>CloneExample obj1 = <strong>new</strong> CloneExample();     //creating object of class</p>
<p><strong>try</strong></p>
<p>{</p>
<p>CloneExample obj2 = (CloneExample) obj1.clone();</p>
<p>System.out.println(obj1.name);</p>
<p>}</p>
<p><strong>catch</strong> (Exception e)</p>
<p>{</p>
<p>e.printStackTrace();</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>Output &#8211; Microprocessor</p>
<h4><strong>Java Object Serialization and Deserialization</strong></h4>
<p>A class should implement a serializable interface that belongs to the Java.io package. It does not have any field or method. They add special behavior to every class. In Java 8, the marker interface is not used.</p>
<p><strong>Object Serialization &#8211; </strong>We can use the ObjectOutputStream class to serialize an object. It is the process of converting objects into a sequence of bytes. This method accepts objects as a parameter. The signature of the method is –</p>
<p><strong>public</strong> <strong>final</strong> <strong>void</strong> writeObject(Object obj) <strong>throws</strong> IOException</p>
<p><strong>Object Deserialization &#8211; </strong>Deserialization is the process of creating an object from a sequence or series of bytes. The method readObject() reason object from the class ObjectInputStream and then deserializes it. Its method is –</p>
<p><strong>public</strong> <strong>final</strong> Object readObject() <strong>throws</strong> IOException</p>
<h3><strong>Command Line Argument</strong></h3>
<p>Jarv’s command-line argument is a kind of argument that is passed at the time of running a Java program. The arguments that are passed from the console can always be received in the Java program and then they can be used as input. Thus, it provides a better way to check the behavior of a program for various values. You can pass as many numbers of the arguments as you want from the command prompt. Let us understand the command-line argument in Java with the help of an example.</p>
<p>In the below example, we are getting only one argument and then printing it. In order to run the Java program, we must pass at least one argument from the command prompt.</p>
<p><strong>class</strong> CommandLineExample{</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String args[]){</p>
<p>System. out.println(&#8220;Your first argument is: &#8220;+args[0]);</p>
<p>}  }</p>
<p>Output –</p>
<p>Your first argument is: sono</p>
]]></content:encoded>
					
					<wfw:commentRss>https://smconsultant.com/java-basics-arrays-ways-to-create-objects-command-line-argument/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Java Basics – conditional statement, switch statement, loops, break continue statement, and operators</title>
		<link>https://smconsultant.com/java-basics-conditional-statement-switch-statement-loops-break-continue-statement-and-operators/</link>
					<comments>https://smconsultant.com/java-basics-conditional-statement-switch-statement-loops-break-continue-statement-and-operators/#respond</comments>
		
		<dc:creator><![CDATA[Havi J]]></dc:creator>
		<pubDate>Sun, 17 Jan 2021 06:32:06 +0000</pubDate>
				<category><![CDATA[Software Blog]]></category>
		<guid isPermaLink="false">https://smconsultant.com/?p=17888</guid>

					<description><![CDATA[Conditional Statement The Java conditional statement is also known as the Java if-else statement. It is used to test many conditions in a program. It checks the Boolean condition that is true or false. There are four types of if statements in Java are &#8211; if statement, if-else statement, if-else if ladder statement and the nested if statement. If statement  Java programming languages&#8217; if statement test a condition. It is responsible for executing the if block if the given condition]]></description>
										<content:encoded><![CDATA[<h3><strong>Conditional Statement</strong></h3>
<p>The Java conditional statement is also known as the Java if-else statement. It is used to test many conditions in a program. It checks the Boolean condition that is true or false. There are four types of if statements in Java are &#8211; if statement, if-else statement, if-else if ladder statement and the nested if statement.</p>
<h4><strong>If statement </strong></h4>
<p>Java programming languages&#8217; if statement test a condition. It is responsible for executing the if block if the given condition is true. Its Syntax is &#8211;</p>
<p>If(condition){</p>
<p>//Code executed</p>
<p>}</p>
<p>Example –</p>
<p><strong>public</strong> <strong>class</strong> IfExamp {</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {</p>
<p>//defining the &#8216;age&#8217; variable</p>
<p><strong>int</strong> age=20;</p>
<p>//check the age</p>
<p><strong>if</strong>(age&gt;18){</p>
<p>System.out.print(&#8220;Age is greater than 18&#8221;);</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>Output &#8211; Age is greater than 18</p>
<h4><strong>If else statement </strong></h4>
<p>Another statement is the if-else statement which also tests a condition. If the condition is true, it executes the if block and if the condition is false then the else block is executed. Its Syntax is &#8211;</p>
<p>If(condition){</p>
<p>//Code if condition true</p>
<p>} Else{</p>
<p>//Code if condition false</p>
<p>}</p>
<p>Example –</p>
<p><strong>public</strong> <strong>class</strong> IfElseExamp {</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {</p>
<p>//defining variable</p>
<p><strong>int</strong> number=13;</p>
<p><strong>if</strong>(number%2==0){</p>
<p>System.out.println(&#8220;it is an even number&#8221;);</p>
<p>}<strong>else</strong>{</p>
<p>System.out.println(&#8220;it is an odd number&#8221;);</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>Output – It is an odd number</p>
<h4><strong>If else if statement </strong></h4>
<p>The java’s if else if ladder statement is the one that executes a condition from many statements. Its Syntax is –</p>
<p><strong>if</strong>(condition1){</p>
<p>}<strong>else</strong> <strong>if</strong>(condition2){</p>
<p>}</p>
<p><strong>else</strong> <strong>if</strong>(condition3){</p>
<p>}</p>
<p>&#8230;</p>
<p><strong>else</strong>{</p>
<p>}</p>
<p>Example –</p>
<p><strong>public</strong> <strong>class</strong> PositiveNegativeExamp {</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {</p>
<p><strong>int</strong> number=-13;</p>
<p><strong>if</strong>(number&gt;0){</p>
<p>System.out.println(&#8220;Positive&#8221;);</p>
<p>}<strong>else</strong> <strong>if</strong>(number&lt;0){</p>
<p>System.out.println(&#8220;Negative&#8221;);</p>
<p>}<strong>else</strong>{</p>
<p>System.out.println(&#8220;Zero&#8221;);</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>Output &#8211; Negative</p>
<h4><strong>Nested if statement </strong></h4>
<p>The last conditional statement is nested if statement that represents the if block inside another if block. The important thing is that the inner if block condition executes if and only if the outer if block condition is true. Its Syntax is –</p>
<p><strong>if</strong>(condition){</p>
<p>//code to be executed</p>
<p><strong>if</strong>(condition){</p>
<p>//code to be executed</p>
<p>}</p>
<p>}</p>
<p>Example –</p>
<p><strong>public</strong> <strong>class</strong> JavaNestedIfExamp {</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {</p>
<p>//Creating two variables for both the age and weight</p>
<p><strong>int</strong> age=20;</p>
<p><strong>int</strong> weight=80;</p>
<p>//applying the condition on age and weight</p>
<p><strong>if</strong>(age&gt;=18){</p>
<p><strong>if</strong>(weight&gt;50){</p>
<p>System.out.println(&#8220;You can donate your blood&#8221;);</p>
<p>}</p>
<p>}</p>
<p>}}</p>
<p>Output &#8211; You can donate your blood</p>
<h3><strong>Switch Statement</strong></h3>
<p>Java programming language has a switch statement that executes one statement from multiple conditions that are given. It is almost similar to the if-else if ladder statement. This switch statement works with integer, long, string, byte, short, enum types, and some wrapper types such as long, byte, int, and short. We can use string also in our switch statement. In short, the switch statement basically tests the equality of one variable against multiple values. Its Syntax is –</p>
<p><strong>switch</strong>(expression){</p>
<p><strong>case</strong> value1:</p>
<p>//code to be executed;</p>
<p><strong>break</strong>;  //optional</p>
<p><strong>case</strong> value2:</p>
<p>//code to be executed;</p>
<p><strong>break</strong>;  //optional</p>
<p>&#8230;&#8230;</p>
<p><strong>default</strong>:</p>
<p>code that is executed if all cases aren’t matched;</p>
<p>}</p>
<p>Example –</p>
<p><strong>public</strong> <strong>class</strong> SwitchExamp {</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {</p>
<p><strong>int</strong> number=20;</p>
<p><strong>switch</strong>(number){</p>
<p><strong>case</strong> 10: System.out.println(&#8220;10&#8221;);</p>
<p><strong>case</strong> 20: System.out.println(&#8220;20&#8221;);</p>
<p><strong>case</strong> 30: System.out.println(&#8220;30&#8221;);</p>
<p><strong>default</strong>:System.out.println(&#8220;Not in 10, 20 or 30&#8221;);</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>Output –</p>
<p>20</p>
<p>30</p>
<p>Not in 10, 20 or 30</p>
<h3><strong>Break Continue Statement</strong></h3>
<p>Both the break and continue statements are called the jump statements and they are used to skip a few statements inside a loop or and the loop immediately without even checking the test expression. Both of these statements can be used inside the loop such as do while, for, and while loop.</p>
<h4><strong>Break </strong></h4>
<p>The first is the break statement that is used to terminate from the loop right away. When there is a break statement inside a loop, the loop iteration stops, and then control returns from the loop at that time to the first statement after that loop. In short, the break statements are used only in situations when the programmer is not sure about the exact number of iterations for a loop, or he wants to terminate that loop based on a condition. Its Syntax is &#8211; break;</p>
<p>Example –</p>
<p>class Break {</p>
<p>public static void main(String[] args)</p>
<p>{</p>
<p>// loop is set to run from the numbers 0-9</p>
<p>for (int i = 0; i &lt; 10; i++) {</p>
<p>if (i == 5)</p>
<p>break;</p>
<p>System.out.println(&#8220;i: &#8221; + i);</p>
<p>}</p>
<p>System.out.println(&#8220;Out of Loop&#8221;);</p>
<p>}</p>
<p>}</p>
<p>Output &#8211; i: 0i: 1i: 2i: 3i: 4Out of Loop</p>
<h4><strong>Continue </strong></h4>
<p>The continue statement is used to skip the existing iteration of a particular loop. We can use this statement inside any kind of loop-like for, do-while, and while loop. So, they are used in the situation where the programmer wants to continue the loop but he doesn&#8217;t want the remaining states that are after the continue statement. Its Syntax is &#8211; continue;</p>
<p>Example –</p>
<p>class Continue {</p>
<p>public static void main(String args[])</p>
<p>{</p>
<p>for (int i = 0; i &lt; 10; i++) {</p>
<p>// If the number is 2</p>
<p>// skip and continue</p>
<p>if (i == 2)</p>
<p>continue;</p>
<p>System.out.print(i + &#8221; &#8220;);</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>Output – 0 1 2 3 4 5 6 7 8 9</p>
<h3><strong>Loops</strong></h3>
<p>In Java language, the loops are used for executing some of the instructions as well as functions repeatedly when some of the conditions become true. There are three kinds of loops in this language that is for loop, while loop, and do-while loop.</p>
<h4><strong>For loop </strong></h4>
<p>This loop is used to iterate a certain part of the program a few times. It is recommended to the programmers to use the for loop if the number of iterations is fixed. For loop is of three types in java namely simple for loop, for each or enhanced for loop and labeled for a loop. Its Syntax is –</p>
<p>for(initialization;condition;incr/decr){</p>
<p>//statement or code to be executed</p>
<p>}</p>
<p>Example –</p>
<p><strong>public</strong> <strong>class</strong> ForExamp {</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {</p>
<p>//Code of Java for loop</p>
<p><strong>for</strong>(<strong>int</strong> i=1;i&lt;=10;i++){</p>
<p>System.out.println(i);</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>Output &#8211; 1, 2, 3, 4, 5, 6, 7, 8, 9, 10</p>
<h4><strong>While loop </strong></h4>
<p>Do while loop is used by the programmers to iterate a specific part of the program several times. It is recommended to use this loop when the number of iteration is not fixed. Its Syntax is –</p>
<p><strong>while</strong>(condition){</p>
<p>//code to be executed</p>
<p>}</p>
<p>Example –</p>
<p><strong>public</strong> <strong>class</strong> WhileExamp {</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {</p>
<p><strong>int</strong> i=1;</p>
<p><strong>while</strong>(i&lt;=10){</p>
<p>System.out.println(i);</p>
<p>i++;</p>
<p>}</p>
<p>}</p>
<p>}</p>
<p>Output – 1, 2, 3, 4, 5, 6, 7, 8, 9, 10</p>
<h4><strong>Do-while </strong><strong>loop </strong></h4>
<p>We can use the do-while loop in Java to iterate a part of the program several times too. It is recommended for programmers to use this loop when the number of iterations is not fixed and when they must have to execute this loop at least once in the program. This loop is executed at least once in the program because then the condition is checked after the loop body. Its Syntax is –</p>
<p><strong>do</strong>{</p>
<p>//code to be executed</p>
<p>}<strong>while</strong>(condition);</p>
<p>Example –</p>
<p><strong>public</strong> <strong>class</strong> DoWhileExamp {</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args) {</p>
<p><strong>int</strong> i=1;</p>
<p><strong>do</strong>{</p>
<p>System.out.println(i);</p>
<p>i++;</p>
<p>}<strong>while</strong>(i&lt;=10);</p>
<p>}</p>
<p>}</p>
<p>Output &#8211; 1, 2, 3, 4, 5, 6, 7, 8, 9, 10</p>
<h3><strong>Operators</strong></h3>
<p>The operators in Java are symbols that are used to perform certain operations. For example: +, /, *, &#8211; etc. There are a lot of operators in the Java programming language like the unary operator, arithmetic operator, relational operator, bitwise operator, assignment operator, shift operator, ternary operator, and the logical operator. Given below are the examples of all the operators that will help you understand them better.</p>
<h4><strong>Unary operator &#8211; </strong></h4>
<p><strong>class</strong> OperatorExamp{</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String args[]){</p>
<p><strong>int</strong> x=10;</p>
<p>System.out.println(x++);//10 (11)</p>
<p>System.out.println(++x);//12</p>
<p>System.out.println(x&#8211;);//12 (11)</p>
<p>System.out.println(&#8211;x);//10</p>
<p>}}</p>
<p>Output – 10,12,12,10</p>
<h4><strong>Arithmetic operator – </strong></h4>
<p><strong>class</strong> OperatorExamp{</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String args[]){</p>
<p>System.out.println(10*10/5+3-1*4/2);</p>
<p>}}</p>
<p>Output &#8211; 21</p>
<h4><strong>Relational operator &#8211;</strong></h4>
<p>public class Example {</p>
<p>public static void main(String args[]) {</p>
<p>int a = 10;</p>
<p>int b = 20;</p>
<p>System.out.println(&#8220;a == b = &#8221; + (a == b) );</p>
<p>System.out.println(&#8220;a != b = &#8221; + (a != b) );</p>
<p>System.out.println(&#8220;a &gt; b = &#8221; + (a &gt; b) );</p>
<p>System.out.println(&#8220;a &lt; b = &#8221; + (a &lt; b) );</p>
<p>System.out.println(&#8220;b &gt;= a = &#8221; + (b &gt;= a) );</p>
<p>System.out.println(&#8220;b &lt;= a = &#8221; + (b &lt;= a) );</p>
<p>}</p>
<p>}</p>
<p>Output &#8211; a == b = falsea != b = truea &gt; b = falsea &lt; b = trueb &gt;= a = trueb &lt;= a = false</p>
<h4><strong>Bitwise operator – </strong></h4>
<p>They are used to perform the operations on the individual bits. Example –</p>
<p>Take the number 35. In binary, it will be – 00100011. Then converted in decimal, it will be 220.</p>
<h4><strong>Assignment operator – </strong></h4>
<p><strong>class</strong> OperatorExample{</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String args[]){</p>
<p><strong>short</strong> a=10;</p>
<p><strong>short</strong> b=10;</p>
<p>a=(<strong>short</strong>)(a+b);//20 which is int now converted to short</p>
<p>System.out.println(a);</p>
<p>}}</p>
<p>Output &#8211; 20</p>
<h4><strong>Shift operator </strong></h4>
<p>This is left shift operator example.</p>
<p><strong>class</strong> OperatorExamp{</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String args[]){</p>
<p>System.out.println(10&lt;&lt;2);//10*2^2=10*4=40</p>
<p>System.out.println(10&lt;&lt;3);//10*2^3=10*8=80</p>
<p>System.out.println(20&lt;&lt;2);//20*2^2=20*4=80</p>
<p>System.out.println(15&lt;&lt;4);//15*2^4=15*16=240</p>
<p>}}</p>
<p>Output – 40, 80, 80, 240</p>
<h4><strong>Ternary operator &#8211; </strong></h4>
<p><strong>class</strong> OperatorExamp{</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String args[]){</p>
<p><strong>int</strong> a=2;</p>
<p><strong>int</strong> b=5;</p>
<p><strong>int</strong> min=(a&lt;b)?a:b;</p>
<p>System.out.println(min);</p>
<p>}}</p>
<p>Output &#8211; 2</p>
<h4><strong>Logical operator – </strong></h4>
<p>class Main {</p>
<p>public static void main(String[] args) {</p>
<p>System.out.println((5 &gt; 3) &amp;&amp; (8 &gt; 5));</p>
<p>// true</p>
<p>System.out.println((5 &gt; 3) &amp;&amp; (8 &lt; 5));</p>
<p>// false</p>
<p>System.out.println((5 &lt; 3) || (8 &gt; 5));</p>
<p>// true</p>
<p>System.out.println((5 &gt; 3) || (8 &lt; 5));</p>
<p>// true</p>
<p>System.out.println((5 &lt; 3) || (8 &lt; 5));</p>
<p>// false</p>
<p>System.out.println(!(5 == 3));</p>
<p>// true</p>
<p>System.out.println(!(5 &gt; 3));</p>
<p>// false</p>
<p>}}</p>
]]></content:encoded>
					
					<wfw:commentRss>https://smconsultant.com/java-basics-conditional-statement-switch-statement-loops-break-continue-statement-and-operators/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Java Basics – Overview, Features, JVM and more</title>
		<link>https://smconsultant.com/java-basics-overview-features-jvm-and-more/</link>
					<comments>https://smconsultant.com/java-basics-overview-features-jvm-and-more/#respond</comments>
		
		<dc:creator><![CDATA[Havi J]]></dc:creator>
		<pubDate>Sun, 17 Jan 2021 06:31:57 +0000</pubDate>
				<category><![CDATA[Software Blog]]></category>
		<guid isPermaLink="false">https://smconsultant.com/?p=17863</guid>

					<description><![CDATA[Overview The famous Java programming language was developed by Sun microsystems which were then initiated by James Gosling. It was released in the year 1995 and it acted as the main component of the Sun microsystem&#8217;s Java platform. Java SE 8 is the latest release of Java&#8217;s standard edition. As Java advanced and gained widespread popularity around the globe, many configurations were built then in order to suit different types of platforms. There are many examples such as J2ME for]]></description>
										<content:encoded><![CDATA[<h3>Overview</h3>
<p>The famous Java programming language was developed by Sun microsystems which were then initiated by James Gosling. It was released in the year 1995 and it acted as the main component of the Sun microsystem&#8217;s Java platform. Java SE 8 is the latest release of Java&#8217;s standard edition. As Java advanced and gained widespread popularity around the globe, many configurations were built then in order to suit different types of platforms.</p>
<p>There are many examples such as J2ME for mobile applications and J2EE for enterprise applications. The two versions of this language were renamed as Java EE, Java ME, and Java SE respectively. It is a write-once and runs anywhere type of language. The language Java is preferred by many people around the world because of its large number of features such as it is object-oriented, platform-independent, simple, secure, architecture-neutral, portable, robust, multithreaded, integrated, high-performance, distributed, and dynamic.</p>
<h3><strong>Features</strong></h3>
<p>In the previous section, we talked about what is Java and what are its different features. Now, in this section, we will discuss in detail those features. The features are as follows –</p>
<h4>Object-oriented</h4>
<p>Java is a programming language in which everything is an object. It can be very easily extended because it is based on the model of the object.</p>
<h4><strong>Platform independent</strong></h4>
<p>When we compile Java, it does not get compiled into a platform-specific machine. This happens in other programming languages such as C and C++. However, Java is rather into platform-independent bytecode. The bytecode is generally distributed over the web and then it is interpreted by the JVM on which platform it is running on.</p>
<h4><strong>Simple</strong></h4>
<p>Java is easy to learn. Even if you understand all the basic concepts of OOP Java, it will be very easy to master this language.</p>
<h4><strong>Secure</strong></h4>
<p>Java has a unique security feature that allows us to develop virus-free and tamper-free systems. Its authentication techniques are completely based on public-key encryption.</p>
<h4><strong>Architecture neutral </strong></h4>
<p>An architecture-neutral object file format is generated by the Java compiler and that makes the compiled code execute on different processes and that too with the presence of the Java runtime system.</p>
<h4><strong>Portable</strong></h4>
<p>Since Java is architecture-neutral and it has no implementation-dependent aspects of any specification, it makes it portable. Java compiler is written in ANSI C. It has a clean portability boundary that is a POSIX subset.</p>
<h4><strong>Robust </strong></h4>
<p>Java language mainly emphasizes the compile-time error checking as well as the runtime checking as it makes an effort to eliminate all the errors.</p>
<h4><strong>Multithreaded</strong></h4>
<p>Java is multithreaded which means that it is possible to write programs that can easily perform management tasks at once. It enables the developers to create interactive applications that run smoothly.</p>
<h4><strong>Interpreted </strong></h4>
<p>Java&#8217;s byte code translates to native machine instructions. It is not stored anywhere. Its development processes are quick as well as analytical as the linking is a lightweight and incremental process.</p>
<h4><strong>High performance</strong></h4>
<p>Java enables high performance because it uses just in time compilers.</p>
<h4><strong>Distributed</strong></h4>
<p>Java is specifically designed for the distributed environment of the internet.</p>
<h4><strong>Dynamic</strong></h4>
<p>Java is more dynamic than other languages such as C and C++. It is designed in a way that it adapts to a changing environment. Its programs can easily carry a large amount of runtime information. That information can be used to verify and then resolve access to several objects at the runtime.</p>
<h3><strong>Introduction to JVM</strong></h3>
<p>JVM stands for Java virtual machine and it has many different implementations that are there to the specs. Many organizations such as Oracle and IBM have their own JVM. JVM is a kind of a virtual machine or an abstract computer that has its own ISA, memory, heap, stack, etc. It runs on the host operating system and then it places its demands for the resources to it. The different operations that are defined inside the specs are as follows &#8211;</p>
<ul>
<li>Public design and private implementation</li>
<li>The class file format</li>
<li>Class libraries</li>
<li>Data types</li>
<li>Instruction set summary</li>
<li>Primitive types and values</li>
<li>Exceptions</li>
<li>Reference types and values</li>
<li>Special methods</li>
<li>Runtime data areas</li>
<li>Floating-point arithmetic</li>
<li>Frames</li>
<li>Representation of objects</li>
</ul>
<h3><strong>My first Java Program </strong></h3>
<p>For creating a Java program you need to install the Java development kit, set the path of the bin directory, create the Java program, and then compile and run it. The latest create our first Java program. Go through the following code to create it.</p>
<p>Class JavaFirst{</p>
<p>public static void main(String args[]){</p>
<p>System.out.println(&#8220;Hello Java&#8221;);</p>
<p>}</p>
<p>}</p>
<p>Output: Hello Java</p>
<h3><strong>Variables in Java</strong></h3>
<p>A variable in Java is a container that holds a value while your Java program is being executed. The variable is assigned with a certain data type. Variable is basically the name of a memory location full stop there are three kinds of a variable in this programming language that is the local, instance, and static variables.</p>
<p><strong>Local variable</strong> &#8211; My local variable is a kind of variable that is declared inside the body of the method. We can use it only in that method and the other methods in the class are not even aware that this variable exists.</p>
<p><strong>Instance variable</strong> &#8211; This kind of variable is declared inside the class but outside the method&#8217;s body. It cannot be declared as static. It is called so because its value is instance specific and it cannot be shared among other instances.</p>
<p><strong>Static variable</strong> &#8211; it is declared as static and it cannot be local. We can create a single copy of this variable and then can share it among other instances of the class.</p>
<h3><strong>Data types and Identifiers </strong></h3>
<p>Data types in java are classified into two categories that are the primitive data types and non-primitive data types.</p>
<ol>
<li><strong>Primitive Data Types – </strong>There are 8 kinds of primitive data types namely byte, short, int, long, float, double, char, and Boolean. Once we declare them, we can&#8217;t change them. However, its value can change.</li>
<li><strong>Non-primitive Data Types – </strong>A non-primitive data type is also known as a reference data type and it is used to refer to an object. It is specifically declared and it can never be changed. The objects can be an instance of an entity or any class.</li>
</ol>
<p><strong>Identifiers</strong> &#8211; The components of Java require names. We use the name for classes, interfaces, variables, and methods and they are known as identifiers.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://smconsultant.com/java-basics-overview-features-jvm-and-more/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Java Basics – Static and Initializer Block, Type Casting, String Handling</title>
		<link>https://smconsultant.com/java-basics-static-and-initializer-block-type-casting-string-handling/</link>
					<comments>https://smconsultant.com/java-basics-static-and-initializer-block-type-casting-string-handling/#respond</comments>
		
		<dc:creator><![CDATA[Havi J]]></dc:creator>
		<pubDate>Sun, 17 Jan 2021 06:29:47 +0000</pubDate>
				<category><![CDATA[Software Blog]]></category>
		<guid isPermaLink="false">https://smconsultant.com/?p=17877</guid>

					<description><![CDATA[The Static and Initializer Block In Java programming language, the static keyword is used for memory management mainly. The static keyword is used along with variables, nested class, methods, and blocks. It is a set of statements in a program that are executed by the Java virtual machine before the main method. When the class loading starts and if the programmer wants to perform a specific task then he or she can define the task inside this static block. This]]></description>
										<content:encoded><![CDATA[<h3><strong>The Static and Initializer Block</strong></h3>
<p>In Java programming language, the static keyword is used for memory management mainly. The static keyword is used along with variables, nested class, methods, and blocks. It is a set of statements in a program that are executed by the Java virtual machine before the main method. When the class loading starts and if the programmer wants to perform a specific task then he or she can define the task inside this static block. This task will be then executed when the class will be loading. Besides, we can define as many static blocks in a class as we want and these blocks will be always executed from the top to the bottom. Let us understand this with the help of an example.</p>
<p>When we execute a program, the static block is executed before the main method. All the statements that have been written inside this static block will be executed first. However, both are static.</p>
<p>Class Staticexample</p>
<p>{</p>
<p>Static</p>
<p>{</p>
<p>System.out.println(“Welcome everyone”);</p>
<p>System.out.println(“This is a static block”);</p>
<p>}</p>
<p>Public static void main(String args[])</p>
<p>{</p>
<p>System.out.println(“This is the main() method”);</p>
<p>}</p>
<p>}</p>
<p><strong>Output – </strong></p>
<p>Welcome everyone</p>
<p>This is a static block</p>
<p>This is the main() method</p>
<h4><strong>Initializer</strong></h4>
<p>Now, on the other hand, the initializer block in Java is used to initial all the instance data members. This block is executed whenever an object is developed or created. The initializer block is basically copied into the Java compiler and then it is copied to every constructor. The initialization block is then executed before the code in the constructor. We can have both the static as well as the initializer block in the Java program. But the static block will execute first before the initializer block.</p>
<p>class Initializer{</p>
<p>{</p>
<p>System.out.println(&#8220;Welcome everyone.&#8221;);</p>
<p>System.out.println(&#8220;This is the Initializer block&#8221;);</p>
<p>}</p>
<p>public Initializer()</p>
<p>{</p>
<p>System.out.println(&#8220;Default Constructor is invoked&#8221;);</p>
<p>}</p>
<p>public static void main(String args[])</p>
<p>{                        Initializer obj = new Initializer();</p>
<p>System.out.println(&#8220;This is the main() method&#8221;);</p>
<p>}}</p>
<p><strong>Output – </strong></p>
<p>Welcome everyone.</p>
<p>This is the Initializer block</p>
<p>Default Constructor is invoked</p>
<p>This is the main() method</p>
<h3><strong>Type Casting</strong></h3>
<p>In Java, type casting is a process or method that transforms a data type into another data type. It transforms them in both ways are manually as well as automatically. The compiler does the automatic conversion and the programmer performs the manual conversion. In this section, we will not discuss type casting and its type with some examples.</p>
<p>It is clear from the above section that converting a value from one data type to another is type casting. Type casting is of two types that is the widening type casting and narrowing type casting.</p>
<h4><strong>Widening Type Casting – </strong></h4>
<p>Converting or transforming a lower data type into a higher data type is called the widening type casting. However, the widening type casting is also known as the implicit conversion or casting down. It can be done automatically and it is safe as there is no chance to lose all your data. It takes place when:</p>
<ul>
<li>Both the data types should be compatible with one another.</li>
<li>The type target should be larger than the source type.</li>
</ul>
<p>For example, if you want to convert between numeric data types to a character or boolean then it cannot be done automatically. The Boolean and character data type is also not compatible with one another.</p>
<p><strong>public</strong> <strong>class</strong> WideningExample</p>
<p>{</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String[] args)</p>
<p>{</p>
<p><strong>int</strong> x = 7;</p>
<p>//automatically converts integer type into long type</p>
<p><strong>long</strong> y = x;</p>
<p>//automatically converts long type into float type</p>
<p><strong>float</strong> z = y;</p>
<p>System.out.println(&#8220;Before conversion, int value &#8220;+x);</p>
<p>System.out.println(&#8220;After conversion, long value &#8220;+y);</p>
<p>System.out.println(&#8220;After conversion, float value &#8220;+z);</p>
<p>}</p>
<p>}</p>
<p>Output –</p>
<p>Before conversion, the value is: 7</p>
<p>After conversion, the long value is: 7</p>
<p>After conversion, the float value is: 7.0</p>
<h4><strong>Narrowing Type Casting – </strong></h4>
<p>Converting or transforming a higher data type into a lower data type is the narrowing type casting. Although, it is also called the explicit conversion or casting up. The programmers do this type of type casting manually. If type casting is not performed then the compiler reports a compile-time error. In the below example, we have performed this type casting twice. First, we converted the double type into long, and then the long data type was converted into the int data type.</p>
<p><strong>public</strong> <strong>class</strong> NarrowingExample</p>
<p>{</p>
<p><strong>public</strong> <strong>static</strong> <strong>void</strong> main(String args[])</p>
<p>{</p>
<p><strong>double</strong> d = 166.66;</p>
<p>//converting the double data type into the long data type</p>
<p><strong>long</strong> l = (<strong>long</strong>)d;</p>
<p>//converting the long data type into the int data type</p>
<p><strong>int</strong> i = (<strong>int</strong>)l;</p>
<p>System.out.println(&#8220;Before conversion: &#8220;+d);</p>
<p>//fractional part lost</p>
<p>System.out.println(&#8220;After conversion into long type: &#8220;+l);</p>
<p>//fractional part lost</p>
<p>System.out.println(&#8220;After conversion into int type: &#8220;+i);</p>
<p>}</p>
<p>}</p>
<p>Output –</p>
<p>Before conversion: 166.66</p>
<p>After conversion into long type: 166</p>
<p>After conversion into int type: 166</p>
<h3><strong>String Handling</strong></h3>
<p>Strings are widely used in the Java programming language. Also, strings are a sequence of characters. In this language, we usually treat strings as objects. Moreover, the Java programming language platform offers the string class to develop and manipulate the strings. Therefore, the direct way to generate a string is to write the below code –</p>
<p>String example = “Hey, my name is Mark Joseph.”;</p>
<p>Whenever the compiler detects a string in the code, it creates a string object with its given value in the case, “Hey, my name is Mark.”</p>
<p>Example –</p>
<p>Public class String {</p>
<p>Public static void main(String args[]) {</p>
<p>Char[] = markArray = {‘m’,’a’,’r’,’k’};</p>
<p>String markString = new String(markArray);</p>
<p>System.out.println(markString);</p>
<p>}</p>
<p>}</p>
<p>The output will be &#8211; mark</p>
]]></content:encoded>
					
					<wfw:commentRss>https://smconsultant.com/java-basics-static-and-initializer-block-type-casting-string-handling/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Lists, Loops, strings, and dictionaries in python</title>
		<link>https://smconsultant.com/lists-loops-strings-and-dictionaries-in-python/</link>
					<comments>https://smconsultant.com/lists-loops-strings-and-dictionaries-in-python/#respond</comments>
		
		<dc:creator><![CDATA[Havi J]]></dc:creator>
		<pubDate>Sun, 17 Jan 2021 06:29:03 +0000</pubDate>
				<category><![CDATA[Software Blog]]></category>
		<guid isPermaLink="false">https://smconsultant.com/?p=17377</guid>

					<description><![CDATA[Dating back to 1991, python computer programming language is considered a gap-filler and a way out to write a script that automates the boring stuff. It is also considered as a language that rapidly prototypes the applications that will be implemented in other languages available. However, over a few years, this language has emerged as a first-class citizen in data analysis, software development, and infrastructure management. It is not a back-room utility language anymore. Python is a major part of]]></description>
										<content:encoded><![CDATA[<p>Dating back to 1991, python computer programming language is considered a gap-filler and a way out to write a script that automates the boring stuff. It is also considered as a language that rapidly prototypes the applications that will be implemented in other languages available. However, over a few years, this language has emerged as a first-class citizen in data analysis, software development, and infrastructure management. It is not a back-room utility language anymore. Python is a major part of web application development and system management. Also, it is a key driver of the increase in machine intelligence and big data analytics. In this article, we will learn about python’s lists, loops, strings, and dictionaries.</p>
<h4>Lists</h4>
<p>The list is the most flexible data type that is available in python. It can be easily written as a list of values or items between square brackets. We need to separate them with a comma. However, one of the important things in a list is that the values in it need not be of the same type. For example – list1 = [‘physics’, ‘biology’, 2020]. List indices always start at 0 and we can slice or concatenate them. We can access the values in a list and can update or delete them accordingly.</p>
<p><strong>Built-in functions and methods</strong></p>
<ol>
<li>cmp(list2,list3) – compares all the elements of both the lists.</li>
<li>Len(list) – it tells the total length of a particular list.</li>
<li>Max(list) – it returns the item from the list with the maximum value.</li>
<li>Min(list) – returns item which has the minimum value.</li>
<li>List(seq) – converts a given tuple to a list.</li>
<li>append(object1) – appends the object objec1 to the list.</li>
<li>count(objec1) – returns the count of how many times that object has occurred on the list.</li>
<li>extend(seq) – it appends the contents of seq to the list.</li>
<li>index(objec1) – returns the lowest index in the list that objec1 appears.</li>
<li>insert(index, objec1) – this inserts the object objec1 in the list at the offset index.</li>
<li><a href="https://www.tutorialspoint.com/python/list_pop.htm">pop(objec1=list[-1])</a> – removes and returns the last object from the list.</li>
<li><a href="https://www.tutorialspoint.com/python/list_remove.htm">remove(objec1)</a> – it removes the object objec1 from the list.</li>
<li><a href="https://www.tutorialspoint.com/python/list_reverse.htm">reverse()</a> – it reverses the objects of a list in place.</li>
<li><a href="https://www.tutorialspoint.com/python/list_sort.htm">sort([func])</a> – it sorts all the objects of the list.</li>
</ol>
<h4>Loops</h4>
<p>Usually, we execute the statements sequentially. In a function, the first statement is executed, then the second statement is executed and the same goes on. But then, there may be a situation when you need to execute a certain block of code more than once. For this purpose, programming languages provide you with various control structures that allow for more complicated execution paths. A loop statement is the one that allows the programmers to execute a statement or a group of statements multiple times. Python provides us with the following types of loops for handling our looping requirements.</p>
<ul>
<li>While loop – This loop statement repeats a particular statement or a group of statements while the given condition is true. It tests the given condition before actually executing the loop body.</li>
<li>For loop – For loop executes a sequence of statements several times and also abbreviates the code that manages the variable of the loop.</li>
<li>Nested loop – The programmers can use one or more than one loop inside any other for, while, or do-while loop.</li>
</ul>
<h4>Strings</h4>
<p>The string is the most popular data type in the python programming language. We can easily create them by enclosing all the characters in quotes. One important thing to remember is that python treats both the single and double quotes equally. Creating strings in a program is as simple as assigning a particular value to a variable. We can always access the values in the strings and can update the existing string by reassigning a given variable to another string. The newly assigned value can be related to the previous value or a very different string altogether. Python is a language that doesn’t support the character type string. We treat them as strings of length one. Thus, often we can also consider as a substring.</p>
<p><strong>Main built-in string methods</strong></p>
<ol>
<li><a href="https://www.tutorialspoint.com/python/string_capitalize.htm">capitalize()</a> – capitalizes the first letter of a string.</li>
<li><a href="https://www.tutorialspoint.com/python/string_center.htm">center(width, fillchar)</a> – this method returns a space-padded string with an original string centered to a total width of the columns.</li>
<li><a href="https://www.tutorialspoint.com/python/string_count.htm">count(str1, beg= 0,end=len(string))</a> – it counts how many times do str1 occurs in a string.</li>
<li><a href="https://www.tutorialspoint.com/python/string_decode.htm">decode(encoding=&#8217;UTF-8&#8242;,errors=&#8217;strict&#8217;)</a> – it decodes the given string using codec that is registered for encoding.</li>
<li><a href="https://www.tutorialspoint.com/python/string_encode.htm">encode(encoding=&#8217;UTF-8&#8242;,errors=&#8217;strict&#8217;)</a> – this method returns encoded version of string.</li>
</ol>
<h4>Dictionaries</h4>
<p>In a dictionary, the keys are separated from their values by a colon. The items or values are separated by commas and the whole thing is enclosed by curly braces. We can write an empty dictionary without any items in it with just curly braces like {}. The keys are always unique in a dictionary whereas it is not the case with the values. The values can be of any type in the dictionary but the keys should always be of an immutable data type like tuples, strings, or numbers. We can access the values in a dictionary and can update and delete the elements just like a list.</p>
<p><strong>Built-in dictionary functions and methods</strong></p>
<ol>
<li><a href="https://www.tutorialspoint.com/python/dictionary_cmp.htm">cmp(dict2, dict4)</a> – compares the elements of both dictionaries.</li>
<li><a href="https://www.tutorialspoint.com/python/dictionary_len.htm">len(dict1)</a> – gives the total length of a dictionary.</li>
<li><a href="https://www.tutorialspoint.com/python/dictionary_str.htm">str(dict1)</a> – it produces a printable string representation of a particular dictionary.</li>
<li><a href="https://www.tutorialspoint.com/python/dictionary_type.htm">type(variable)</a> – the type of passed variable is returned with this.</li>
<li><a href="https://www.tutorialspoint.com/python/dictionary_clear.htm">clear()</a> – removes all the elements.</li>
<li><a href="https://www.tutorialspoint.com/python/dictionary_copy.htm">copy()</a> – returns a copy of the dictionary.</li>
<li><a href="https://www.tutorialspoint.com/python/dictionary_fromkeys.htm">fromkeys()</a> – creates a new dictionary with the keys.</li>
<li><a href="https://www.tutorialspoint.com/python/dictionary_get.htm">get(key, default=None)</a> – returns value or default if the key is not present in the dictionary.</li>
<li><a href="https://www.tutorialspoint.com/python/dictionary_has_key.htm">has_key(key)</a> – returns true if the key is present, else false.</li>
<li><a href="https://www.tutorialspoint.com/python/dictionary_items.htm">items()</a> – returns a whole list of tuple pairs of the dictionary.</li>
<li><a href="https://www.tutorialspoint.com/python/dictionary_keys.htm">keys()</a> – returns the list of all the keys.</li>
<li><a href="https://www.tutorialspoint.com/python/dictionary_setdefault.htm">setdefault(key, default=None)</a> – it is similar to get(). But, it will set dict[key] to default if the key is not present in dict.</li>
<li><a href="https://www.tutorialspoint.com/python/dictionary_update.htm">update(dict4)</a> – it adds dictionary dict4’s key-value pairs to the dict.</li>
<li><a href="https://www.tutorialspoint.com/python/dictionary_values.htm">values()</a> – returns the list of dictionary dict’s values.</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://smconsultant.com/lists-loops-strings-and-dictionaries-in-python/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Python for finance</title>
		<link>https://smconsultant.com/python-for-finance/</link>
					<comments>https://smconsultant.com/python-for-finance/#respond</comments>
		
		<dc:creator><![CDATA[Havi J]]></dc:creator>
		<pubDate>Sun, 17 Jan 2021 06:20:40 +0000</pubDate>
				<category><![CDATA[Software Blog]]></category>
		<guid isPermaLink="false">https://smconsultant.com/?p=17565</guid>

					<description><![CDATA[Technology has become a blessing in finance. Many financial institutions are now evolving into technology companies rather than just staying engaged with the financial aspect. Technology speeds up innovation and helps to gain a competitive advantage. It has become the major helper in finance. Its because the attention for technology by financial institutions has increased a lot in recent years. Among the popular programming languages for finance, you will find Python and R as the most popular ones alongside the]]></description>
										<content:encoded><![CDATA[<p>Technology has become a blessing in finance. Many financial institutions are now evolving into technology companies rather than just staying engaged with the financial aspect. Technology speeds up innovation and helps to gain a competitive advantage. It has become the major helper in finance. Its because the attention for technology by financial institutions has increased a lot in recent years. Among the popular programming languages for finance, you will find Python and R as the most popular ones alongside the languages like Java C# and C++.</p>
<p>Python has gained popularity over the years as the language for Finance and Fintech companies. It is commonly used in applications that range from cryptocurrencies to risk management. Python proves to be an excellent tool for traders, researchers, and analysts because of its simplicity and robust modeling. Moreover, even companies like Stripe and Zopa use it.</p>
<h4>Why Python?</h4>
<p>There are a lot of features that python has made it the perfect choice for finance and fintech. Some of them are as follows:</p>
<h5>Simple and flexible:</h5>
<p>To begin with, this language is super easy to write and deploy that makes it a perfect programming language for handling financial services application; the applications that are complex most of the times. It has a simple syntax and it greatly boosts the development speed that helps the organizations to build the software quickly that they need or bring new products to the market. Besides, it reduces the error rate while developing products for finance industries.</p>
<h5>Allows building MVP quickly:</h5>
<p>There is a great need for the financial sector to be more agile and responsive to their customer demands. That’s why they need a technology that is both scalable and flexible. This is what python offers. In order to create a solid MVP, using python with frameworks such as Django will help a lot. After that, businesses can change the code or add new ones very easily to create the perfect product.</p>
<h5>Bridges economics and data science:</h5>
<p>Among economists, languages such as R and Matlab are less popular as they use Python for all their calculations. It is one reason why Python rules the finance industry because of its simplicity and practicality in generating algorithms as well as formulas. It is easy to integrate their work into python-based platforms. Several tools like NumPy and scipy allows them to perform calculations and display the results in a very sophisticated manner.</p>
<h5>A rich ecosystem of tools and libraries:</h5>
<p>Python can be a great help to developers as they don’t need to create everything from scratch. This saves a lot of time and money for everyone. Besides, financial applications need to integrate with third-parties. Python libraries make it easier too. It has a great development speed along with an enhanced collection of tools and libraries that gives a competitive advantage to the organizations whose goal is to address the changing customer demands and needs by creating products quickly.</p>
<h5>Popular:</h5>
<p>Python is a programming language that has a passionate community of developers who contribute to open-source projects, organize events to share information about python’s best practices, and build practical tools. If we talk about open-source projects, every python framework has an open-source community that helps with the development process. It is gaining more popularity year after year. The organizations and businesses that create solutions made with python can be sure that their technology is ultimately stable. It is not going to become outdated anytime soon.</p>
<h4>Uses of Python in finance</h4>
<p>Python is useful in a lot of applications. In this section, you will get to know the most famous uses of this language in the financial industry.</p>
<ol>
<li><strong>Analytics Tools: </strong>Quantitative finance gives solutions to that process and analyzes big financial data and large datasets. Several libraries such as Pandas simplify the data visualization process and allow carrying out statistical calculations. Because of its amazing libraries, every python based solution is equipped with a strong machine learning algorithm. It allows predictive analytics which is very essential to all the financial services providers.</li>
<li><strong>Banking Software: </strong>Finance organizations use python for building online banking platforms and payment solutions as well. For example, Venmo is an excellent mobile banking platform. All credit goes to the simplicity and flexibility that python offers.</li>
<li><strong>Cryptocurrency: </strong>The businesses that sell cryptocurrency require certain tools for carrying out its market analysis to get predictions and insights about it. Anaconda is a python ecosystem that helps the developers to retrieve the cryptocurrency pricing and create visualizations. This is the reason why web applications that have to deal with cryptocurrency analysis take advantage of python.</li>
<li><strong>Building trading strategy: </strong>There is a huge amount of data that stock markets create. To analyze it, developers use python to create such solutions that identify helpful trading strategies. They also provide predictive insights into the conditions of markets.</li>
</ol>
<h4>Conclusion</h4>
<p>Python is a perfect technological framework for financial organizations, both as a language and as an ecosystem. It provides a lot of benefits to the developers such as efficient development approaches, elegant syntax, usability for production and prototyping, and others. With such a huge amount of tools and libraries that Python provides, it gives answers to almost every question that a developer or a financial industry has regarding data volumes, compliance, regulation, analytics, or technology itself. Python has a great potential to provide a single, consistent, and powerful framework to streamline production efforts and end-to-end development even across large financial organizations.</p>
<p>The uses of python are not limited. It can be useful for iterative prototyping, algorithmic trading programs, interactive financial analysis, application code for valuation models, and a lot more. At the end of the day, the best feature that python has is that it is really fun to work with. If you are into problem-solving, building things, making efficient workflows, etc then it is a language you must try.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://smconsultant.com/python-for-finance/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tableau Tutorial</title>
		<link>https://smconsultant.com/tableau-tutorial/</link>
					<comments>https://smconsultant.com/tableau-tutorial/#respond</comments>
		
		<dc:creator><![CDATA[Havi J]]></dc:creator>
		<pubDate>Sat, 07 Nov 2020 09:40:35 +0000</pubDate>
				<category><![CDATA[Software Blog]]></category>
		<guid isPermaLink="false">https://smconsultant.com/?p=15381</guid>

					<description><![CDATA[Consuming large sets of data is not always easy. At times, these data sets are so huge that it is almost impossible to pick out anything useful from them. Moreover, creating the visualization of these data sets is even tougher. However, it is not completely impossible but who would want to spend hours plotting dots on a scatter chart and pull out useful information? This is where Tableau comes in. Tableau &#8211; Table of Contents What is Tableau? Why Tableau?]]></description>
										<content:encoded><![CDATA[<p>Consuming large sets of data is not always easy. At times, these data sets are so huge that it is almost impossible to pick out anything useful from them. Moreover, creating the visualization of these data sets is even tougher. However, it is not completely impossible but who would want to spend hours plotting dots on a scatter chart and pull out useful information? This is where Tableau comes in.</p>
<div class="smc-toc">
<h2 class="smc-toc-h2">Tableau &#8211; Table of Contents</h2>
<ul class="smc-toc-ul">
<li><a href="#whatistableau">What is Tableau?</a></li>
<li><a href="#whytableau">Why Tableau?</a></li>
<li><a href="#whyusetableau">Why you should use Tableau?</a></li>
<li><a href="#tableaufeatures">Tableau Features</a></li>
<li><a href="#tableauarchitecture">Tableau Architecture</a></li>
<li><a href="#tableaubenefits">Tableau Benefits</a></li>
<li><a href="#tableauofferings">Tableau New Offerings</a></li>
<li><a href="#tableauadvdisadv">Advantages and Disadvantages of Tableau</a></li>
</ul>
</div>
<h2 id="whatistableau" class="smc-tutorial-h2">What is Tableau?</h2>
<p>Tableau is the most powerful and fastest-growing visual analytics platform that is used in the business industry. It transforms the way people use data to solve millions of problems. Tableau helps by simplifying the raw data into an understandable format that empowers people and organizations to make the most out of their existing data set. Moreover, it makes data analysis very fast. The data visualizations created from it are in the form of worksheets and dashboards. Moreover, the data created using Tableau is easily understandable by any professional at any level of business. Even a non-technical user can create his/her customized dashboard easily and quickly.</p>
<h2 id="whytableau" class="smc-tutorial-h2">Why Tableau?</h2>
<p>Tableau makes its customers leaders in their businesses and industries. It changes the way people use their data. The impressive thing about Tableau is that it can be used by anyone and it doesn’t need any technical skill or programming knowledge to operate. Moreover, it turns insights into actions, cuts down the time taken for analysis, and changes the behavior helping everyone to be more data-driven in their business. Besides, it caught the interest of people from all sectors whether it be researchers, businesses, or any other industry. In conclusion, there is no doubt why it is the best and the best data visualization tool in the world.</p>
<h2 id="whyusetableau" class="smc-tutorial-h2">Why you should use Tableau?</h2>
<p>Nowadays, data is growing faster than ever. People are now generating even more information due to which analyzing this huge amount of data is tedious and complex work. Therefore, companies use Tableau as it not only helps in data visualization but it also drives millions of dollars in savings. Here are 5 reasons why one should always choose Tableau over any other similar software.</p>
<ol>
<li><strong>Quick and interactive visualizations: </strong>It allows easily analyzing the data, sharing insights, and creating beautiful visualizations.</li>
<li><strong>Easy to use: </strong>You can perform complex tasks with its drag and drop functionality, get answers to your questions in no time, and create rich visualizations in just a few seconds.</li>
<li><strong>Handles abundant amount of data: </strong>This software can handle millions of data sets that are even 10 years old or more. Moreover, this doesn’t even impact the performance of dashboards.</li>
<li><strong>Mobile friendly dashboard: </strong>Users can operate Tableau on any device whether it is a laptop, desktop, tablet, or mobile. They don’t need to perform additional steps to make it mobile-friendly.</li>
<li><strong>Integrates with scripting languages: </strong>The users can solve from the simplest problems to the most complex ones easily. The BI tool in it integrates with R or Python that helps amplify data with visual analytics.</li>
</ol>
<h2 id="tableaufeatures" class="smc-tutorial-h2">Tableau Features</h2>
<p>One interesting feature of Tableau is its drag and drop functionality which makes it the best BI tool. One can easily master this software by just understanding its UI based features and functionalities. This section highlights some of the top features of Tableau.</p>
<ol>
<li><strong>Tableau Dashboard: </strong>It provides a good view of all of the data in the form of texts, visualizations, visual objects, etc.</li>
<li><strong>Collaboration and Sharing: </strong>Tableau allows securely sharing data like sheets, dashboards, etc, and collaborating with users.</li>
<li><strong>Live and In-memory data: </strong>The software ensures connectivity to data extraction and sources from exterior data sources as in-memory data.</li>
<li><strong>Data Sources: </strong>It offers countless options of data sources to connect and fetch data from.</li>
<li><strong>Advanced Visualizations (Chart Type): </strong>You can create numerous visualizations such as histograms, box plots, bar charts, pie charts, etc.</li>
<li><strong>Maps: </strong>Users can create informative maps including cities, postal codes, etc.</li>
<li><strong>Robust Security: </strong>Tableau has a security system that is based on authentication and permission for user access as well as data connections.</li>
<li><strong>Mobile View: </strong>With the help of Tableau, users can create dashboards and reports that are compatible with mobile.</li>
<li><strong>Ask Data: </strong>This feature allows the users to type a query and it will present them with the most suitable answers.</li>
<li><strong>Trend Lines and Predictive Analysis: </strong>It is possible to create trend lines and get data predictions with Tableau.</li>
</ol>
<h2 id="tableauarchitecture" class="smc-tutorial-h2">Tableau Architecture</h2>
<p>Tableau Server Architecture is designed in such a way that it connects many data tiers. It is highly available, robust, and secure. Besides, it runs on both virtual and physical machines. Such powerful features need a robust architecture. Let’s study it in detail.</p>
<ol>
<li><strong>Data Servers: </strong>It is the primary component of the architecture. It helps Tableau to connect to data sources including database, web application, etc. Also, it is responsible for the relationship between different data sources.</li>
<li><strong>Data Connectors: </strong>Data connectors are the components that provide an interface to connect data servers to data sources. It includes a live connection or real-time data and extracted or in-memory data.</li>
<li><strong>Components: </strong>The three components are the Application server, VizQL server, and data server. The application server provides authentication and authorization. VizQL server converts the queries into visualizations from data sources and the data server stores and manages the data from external sources.</li>
<li><strong>Gateway: </strong>Gateway sends requests from users to the Tableau components and also acts as a load balancer.</li>
<li><strong>Clients: </strong>Dashboards and visualizations can be edited and viewed using clients like mobile applications, desktop, and browser.</li>
</ol>
<h2 id="tableaubenefits" class="smc-tutorial-h2">Tableau Benefits</h2>
<p>In today’s market, Tableau is the most popular do it yourself business intelligence tool for reporting and data visualization in the organization. If you are not familiar with the benefits that Tableau comes with, then in this section you’ll get to know about some of the most appealing benefits of it.</p>
<ol>
<li>Tableau has inbuilt data connections and tools that help the analysts to quickly acquire data in a useable format reducing time to pull and prepare data and making accurate decisions.</li>
<li>The drag and drop feature allows the users to try new ideas quickly, make updates, and drill into engaging areas.</li>
<li>Stakeholders can interact with the dashboard and customize it according to them and within the parameters of the creator.</li>
<li>The Tableau server provides up-to-date dashboards making it a central repository. So, dashboards can be shared and stakeholders can favorite some views, comments, etc.</li>
<li>Finally, it has a large online community; it commits improvement and listens to the needs of its customers. Besides, it has been a leader in the market for seven years in a row.</li>
</ol>
<h2 id="tableauofferings" class="smc-tutorial-h2">Tableau New Offerings</h2>
<p>It is Tableau’s mission to help its customers see and understand data in the best way possible. The new update of Tableau has brought the right capabilities for the right people at the right price. It added creator, explorer, and viewer subscriptions that provide simplicity and sophisticated analysis. Therefore, it allows customers to choose their required analytical capabilities to meet the needs of the organization. Tableau has also released new web authoring capabilities, renowned Tableau desktop and data preparation application Tableau prep so that users can choose if they want to work on-premise or in the cloud.</p>
<p>The latest features of Tableau include:</p>
<ul>
<li>Sandboxed extensions</li>
<li>Tooltip editing in the browser</li>
<li>Improved tables</li>
<li>Improved maps</li>
<li>activity feed and Ask data</li>
<li>SAP HANA connectors</li>
<li>Webhooks support</li>
<li>LinkedIn sales navigator connector</li>
<li>View recommendations</li>
</ul>
<h2 id="tableauadvdisadv" class="smc-tutorial-h2">Advantages and Disadvantages of Tableau</h2>
<p>Despite having designing capabilities, visualizing abilities, and numerous features and benefits, there are some limitations and advantages that one should take into serious consideration before making any decision.</p>
<h4>Advantages –</h4>
<ul>
<li>To begin with, it provides exceptional visualizing capabilities that its competitors are unable to match.</li>
<li>Tableau is super easy to use. Therefore, users can perform any function in it without any in-depth training for it.</li>
<li>Offering a robust and reliable performance is its specialty. It operates on big data and makes performance powerful.</li>
<li>It lets the users establish connections with multiple data sources improving data analytics quality.</li>
<li>The best customer support is offered to help users with their issues and improve their experience.</li>
<li>At last, efficient mobile apps are developed for IOS and Android users. Also, it supports full functionality in it just like a desktop.</li>
</ul>
<h4>Disadvantages –</h4>
<ul>
<li>It has a high cost. The license can be a bit more costly for small to medium businesses.</li>
<li>Inflexible pricing is another disadvantage. Customers are charged for all the features in the licensed version even if they are not using some of them.</li>
<li>This software fails to provide centralized data-level security. So, there are chances that the system can be hacked.</li>
<li>Revision history is supported by only recent versions while it is not the case with the older versions.</li>
<li>Lastly, it doesn’t allow smooth embedment. Thus, it’s a real challenge to integrate it with the company’s product from both technical and financial points of view.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://smconsultant.com/tableau-tutorial/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pentaho Tutorial</title>
		<link>https://smconsultant.com/pentaho-tutorial/</link>
					<comments>https://smconsultant.com/pentaho-tutorial/#respond</comments>
		
		<dc:creator><![CDATA[Havi J]]></dc:creator>
		<pubDate>Thu, 05 Nov 2020 06:34:24 +0000</pubDate>
				<category><![CDATA[Software Blog]]></category>
		<guid isPermaLink="false">https://smconsultant.com/?p=15478</guid>

					<description><![CDATA[Choosing the right Business Intelligence tool can be a tricky process.In this article, we will talk about Pentaho that is one of the best data integration tools in the market today. By the end of this article, you’ll be able to make your decision of going with this tool or not. Pentaho &#8211; Table of Contents What is Pentaho? Why Pentaho? Why you should use Pentaho? Pentaho Features Pentaho Architecture Pentaho Benefits Pentaho New Offerings Advantages and Disadvantages of Pentaho]]></description>
										<content:encoded><![CDATA[<div class="smc-flex">
<div class="article-introducton"><em>Choosing the right Business Intelligence tool can be a tricky process.In this article, we will talk about Pentaho that is one of the best data integration tools in the market today. By the end of this article, you’ll be able to make your decision of going with this tool or not.</em></div>
<div class="article-image"><img fetchpriority="high" decoding="async" width="770" height="365" src="https://smconsultant.com/wp-content/uploads/2020/11/Pentaho-Tutorial.jpg" class="attachment-large size-large wp-post-image" alt="Pentaho Tutorial" srcset="https://smconsultant.com/wp-content/uploads/2020/11/Pentaho-Tutorial.jpg 1023w, https://smconsultant.com/wp-content/uploads/2020/11/Pentaho-Tutorial-288x137.jpg 288w, https://smconsultant.com/wp-content/uploads/2020/11/Pentaho-Tutorial-768x364.jpg 768w" sizes="(max-width: 770px) 100vw, 770px" /></div>
</div>
<div class="smc-toc">
<h2 class="smc-toc-h2">Pentaho &#8211; Table of Contents</h2>
<ul class="smc-toc-ul">
<li><a href="#whatispentaho">What is Pentaho?</a></li>
<li><a href="#whypentaho">Why Pentaho?</a></li>
<li><a href="#whyusepentaho">Why you should use Pentaho?</a></li>
<li><a href="#pentahofeatures">Pentaho Features</a></li>
<li><a href="#pentahoarchitecture">Pentaho Architecture</a></li>
<li><a href="#pentahobenefits">Pentaho Benefits</a></li>
<li><a href="#pentahoofferings">Pentaho New Offerings</a></li>
<li><a href="#pentahoadvdisadv">Advantages and Disadvantages of Pentaho</a></li>
</ul>
</div>
<h2 id="whatispentaho" class="smc-tutorial-h2">What is Pentaho?</h2>
<p>Pentaho is a business intelligence tool that offers data integration, data mining, reporting, OLAP services information dashboards, and ETL (extract, transform, and load) capabilities. It became a part of Hitachi Vantara in 2017. Pentaho provides a wide range of business solutions to its customers. Besides that, it also provides a set of business intelligence features allowing the customers to improve their business performance and efficiency. This software further cleanses and prepares a diverse amount of data that comes from any source in any environment without code. The users can manage huge volumes and different variety and velocity of data with its visual tools. As a result, it greatly reduces the time and complexity of maintaining and building analytic data pipelines.</p>
<h2 id="whypentaho" class="smc-tutorial-h2">Why Pentaho?</h2>
<p>Pentaho is a perfect suite of business intelligence features and products. It has both low integration time and a low infrastructural cost as compared to all the other business intelligence tools that are available in the market such as BIA, IBA, and SAP, etc. This software takes lesser time and it has huge community support available for 24 hours a day along with different support forums. Moreover, it is easily scalable and can serve great volumes of data that scales to billions of terabytes of data. Pentaho has unlimited data sources and virtualizations and thus it can handle any type of data. Also, it has a very good toolset that has wide applicability beyond the base of the product. In short, Pentaho is a one-stop solution for the customer’s business analytics needs.</p>
<h2 id="whyusepentaho" class="smc-tutorial-h2">Why you should use Pentaho?</h2>
<p>There are a lot of similar BI tools in the market as Pentaho so you might be wondering that if there are so many options available then why one should use Pentaho? Here are the reasons why:</p>
<ol>
<li>It enables 15 times productivity with automation. Users can onboard thousands of data sources quickly and efficiently.</li>
<li>Faster production deployment is promised. Without changing the data pipelines, execution engines can be chosen to suit the job.</li>
<li>There is an improvement in pipeline quality. No-code functionality is added in the Hadoop environment.</li>
<li>Integration is simplified with an intuitive graphical interface.</li>
<li>It blends data anywhere on-premise or cloud. Also, it has a containerized architecture that runs anywhere with inline and stepwise visualization of data.</li>
<li>Users can switch between Apache Spark and native engine. Moreover, they can extend for analytics with the help of built-in integration.</li>
</ol>
<h2 id="pentahofeatures" class="smc-tutorial-h2">Pentaho Features</h2>
<p>The main objective of Pentaho is to help the organizations across different industries harness value from all of their data available whether it is IoT or big data. It enables them to operate more efficiently, minimize risk, find new revenue streams, and deliver outstanding service. All of this is possible because of the vast number of features that it comes with. They are:</p>
<ol>
<li><strong>Report designer – </strong>It is used for creating a pixel-perfect report.</li>
<li><strong>Connectivity – </strong>It is the connectivity between BI server and reporting tools allowing to publish content directly to the BI server.</li>
<li><strong>Metadata editor – </strong>Users can add user-friendly metadata domain to data sources.</li>
<li><strong>Mailing – </strong>Users can mail to other users the published reports.</li>
<li><strong>Design studio – </strong>Fine tunings of reports and ad-hoc reporting can be done with it.</li>
<li><strong>Scheduling sub-system – </strong>Reports can be executed by users at given time intervals.</li>
<li><strong>User console web interface – </strong>It is used for managing reports easily and analyzing views.</li>
<li><strong>Ad-hoc reporting interface – </strong>Pentaho gives a step-by-step wizard so that users can design simple reports.</li>
</ol>
<p>Apart from these features, it has intuitive dashboards, predictive analysis, user-friendly interface, cloud analytics, OLAP, customizable features, embedded analytics, and much more.</p>
<h2 id="pentahoarchitecture" class="smc-tutorial-h2">Pentaho Architecture</h2>
<p>The Pentaho stack has 4 elements namely:</p>
<ol>
<li><strong>Presentation Layer: </strong>Data can be viewed from web services, browsers, portal, etc. Data available in this is through reporting, dashboards, analytics, and process management.</li>
<li><strong>Business Intelligence Platform: </strong>It revolves around security and repository.</li>
<li><strong>Data and application integration: </strong>This is the integration layer of the ETL.</li>
<li><strong>Third-party applications: </strong>Source database can be anything here.</li>
</ol>
<p>Pentaho architecture is a three-layered architecture. It has:</p>
<ol>
<li><strong>Data Layer: </strong>This is used to connect to the data sources.</li>
<li><strong>Server Layer: </strong>This is the middle layer where the application runs. Users can deploy their dashboards and reports and can make it available for the end-user.</li>
<li><strong>Client Layer: </strong>They are of two types namely:</li>
</ol>
<ul>
<li>Thin Client – This runs on the server. For instance – Pentaho analyzer and community dashboard editor.</li>
<li>Thick Client – This runs as a standalone. For example &#8211; data integration and schema workbench.</li>
</ul>
<h2 id="pentahobenefits" class="smc-tutorial-h2">Pentaho Benefits</h2>
<p>Pentaho is one of the most effective and trustworthy open-source business intelligence tools as it gives highly accurate data solutions that can be implemented in the organization. No doubt it is the most popular tool as it provides the following benefits to its customers:</p>
<ol>
<li>It takes the minimum time to install. You can be productive in just one afternoon.</li>
<li>Pentaho gives an enterprise-class performance. It improves scalability with the help of a wide range of deployment options such as clustered, cloud-based, or dedicated ETL servers.</li>
<li>A simple plug-in architecture is provided to add your custom extensions.</li>
<li>It is a 100% java platform with support for Macintosh, Windows, and Linux.</li>
<li>The streaming engine architecture allows working with tremendously large volumes of data.</li>
<li>Pentaho comes with easy to use graphical designer. Also, it has over 100 different mapping objects including outputs, inputs, and transforms.</li>
<li>It provides the perfect environment for developing new business intelligence solutions rapidly with the help of an integrated designer that combines ETL with data visualization and metadata modeling.</li>
<li>The enterprise data integration server offers robust content management, security integration, and a schedule that includes full revision history for transformations and jobs.</li>
</ol>
<h2 id="pentahoofferings" class="smc-tutorial-h2">Pentaho New Offerings</h2>
<p>BI/analytics is the most important part of Pentaho but the usefulness of the Pentaho suite has now increased by adding data integration and data mining tools to it. The PDI component features most prominently in its recent release. The new features have been broken down into three areas: boosting team productivity, improving the connectivity to stream the data sources for real-time data processing, and optimizing processing resources. The AEL feature (Adaptive Execution Layer) was added that allows streaming data workflows to be designed. Furthermore, rather than a single server, the Kettle engine is deployed to a cluster of worker nodes that are container-based. Increased data value, reduced complexity, and accelerated data access and querying other few improvements made. Lastly, filtering functionality has been that wasn’t available in the previous version. With its continuous improvements and updates, Pentaho has become a very different product than before when it was launched.</p>
<h2 id="pentahoadvdisadv" class="smc-tutorial-h2">Advantages and Disadvantages of Pentaho</h2>
<p>This section highlights the major advantages and disadvantages of Pentaho that will help you get a clear understanding of the product. Despite Pentaho being the most wanted tool, it has a few drawbacks that can’t be overlooked.</p>
<h4>Advantages –</h4>
<ul>
<li>It provides great insights and analytics of the business that gives very useful results.</li>
<li>Most of its services are free. Besides, it is popular with a lot of features that make it stand out.</li>
<li>Users can manage and schedule reports as well as obtain scalability and performance as it is very efficient.</li>
<li>Being such a powerful tool, it allows building ETL projects in a very quick way.</li>
<li>It is easy to understand. Moreover, it has higher visual interfaces to process and has a lot of features for data mining, ETL, reporting, and integration.</li>
<li>Pentaho is compatible with many databases like MySQL. Also, users can choose from different types of outputs including rich text, HTML, Excel, etc.</li>
<li>Lastly, transformations are easy with the drag and drop feature. Also, users can analyze data efficiently and quickly from multiple sources.</li>
</ul>
<h4>Disadvantages –</h4>
<ul>
<li>Using the report designer feature locks the users into appearance constraints and removing them is a complex task.</li>
<li>The bugs that appear are not at all easy to solve. Moreover, the errors shown sometimes don’t even give a hint of what is wrong.</li>
<li>There are a lot of components in it. Thus, it can take some time for new users to fully understand the application.</li>
<li>As compared to its competitors, the design of this software is quite old.</li>
<li>Lastly, database connection information often times out after a certain period of time. This problem occurs even if the password isn’t changed.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://smconsultant.com/pentaho-tutorial/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
