<?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>Why Archives - scmGalaxy</title>
	<atom:link href="https://www.scmgalaxy.com/tutorials/tag/why/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.scmgalaxy.com/tutorials/tag/why/</link>
	<description>A Platform for Software Engineers</description>
	<lastBuildDate>Mon, 16 Aug 2021 13:18:57 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>
	<item>
		<title>Tutorial for feof () in Reading file</title>
		<link>https://www.scmgalaxy.com/tutorials/tutorial-for-feof-in-reading-file/</link>
					<comments>https://www.scmgalaxy.com/tutorials/tutorial-for-feof-in-reading-file/#respond</comments>
		
		<dc:creator><![CDATA[Ashwani Kumar]]></dc:creator>
		<pubDate>Mon, 16 Aug 2021 13:18:55 +0000</pubDate>
				<category><![CDATA[php]]></category>
		<category><![CDATA[feof ()]]></category>
		<category><![CDATA[feof () in Reading file]]></category>
		<category><![CDATA[feof () in Reading file in php]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[php feof () function]]></category>
		<category><![CDATA[php function in reading file]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Tutorial for feof () in Reading file]]></category>
		<category><![CDATA[What]]></category>
		<category><![CDATA[Why]]></category>
		<category><![CDATA[with example]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=7993</guid>

					<description><![CDATA[<p>What is feof () used in Reading file? The feof() function in PHP is an inherent function that checks a [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/tutorial-for-feof-in-reading-file/">Tutorial for feof () in Reading file</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">What is feof () used in Reading file?</h3>



<p class="wp-block-paragraph">The <code><span class="has-inline-color has-vivid-red-color"><strong>feof()</strong></span></code> function in PHP is an inherent function that checks a file pointer for the end-of-file. It determines whether or not the &#8220;end-of-file&#8221; has been reached. If the size of the content of a file is not known ahead of time, the <code><span class="has-inline-color has-vivid-red-color"><strong>feof()</strong></span></code> method is used to loop over it.</p>



<h3 class="wp-block-heading">Why  feof () used in Reading file ?</h3>



<p class="wp-block-paragraph">If the end-of-file has been reached or an error has occurred, the <span class="has-inline-color has-vivid-red-color"><code><strong>feof()</strong></code></span> method returns True. Otherwise, False is returned.</p>



<p class="wp-block-paragraph"><strong>Syntax:</strong> </p>



<pre class="wp-block-code"><code><code><span class="has-inline-color has-vivid-red-color"><strong>feof( $file )</strong></span></code></code></pre>



<p class="wp-block-paragraph"><strong>Parameters:</strong></p>



<p class="wp-block-paragraph">In PHP, the <code><span class="has-inline-color has-vivid-red-color"><strong>feof()</strong></span></code> method takes only one parameter,<code><span class="has-inline-color has-vivid-red-color"><strong> $file</strong></span></code>. The file to be examined for end-of-file is specified by this argument.</p>



<p class="wp-block-paragraph"><strong>Return Value:</strong></p>



<p class="wp-block-paragraph">If the end of the file has been reached or an error has occurred, it returns TRUE. Otherwise, False is returned.</p>



<p class="wp-block-paragraph"><strong>Errors And Exception</strong>:</p>



<ul class="wp-block-list"><li>If the supplied file reference is invalid, it enters an infinite loop since end-of-file does not return True.</li><li>If a connection opened by <code><span class="has-inline-color has-vivid-red-color"><strong>fsockopen()</strong></span></code> is not terminated by the server, the<code><span class="has-inline-color has-vivid-red-color"><strong> feof()</strong></span></code> function hangs.</li></ul>



<h3 class="wp-block-heading">Let’s take one Example:-</h3>



<p class="wp-block-paragraph">Below examples will explain the feof() function:</p>



<p class="wp-block-paragraph"><strong>Example 1:-</strong> In the below program the file named “test.txt” contains only a single line of text which is “This file consists of only a single line.”.</p>



<script src="https://gist.github.com/AdarshAshwani/68ebbe41bd2cc8410c7d687aa092ef04.js"></script>



<p class="wp-block-paragraph"><strong>Output:</strong></p>



<figure class="wp-block-image size-full"><img decoding="async" width="461" height="47" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/08/image-117.png" alt="" class="wp-image-8006" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/08/image-117.png 461w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/08/image-117-300x31.png 300w" sizes="(max-width: 461px) 100vw, 461px" /></figure>



<p class="wp-block-paragraph"><strong>Example 2:-</strong> In the below program the file named “test-test.txt” contains the following text.</p>



<pre class="wp-block-code"><code><span class="has-inline-color has-vivid-red-color">This is the first line.
This is the second line.
This is the third line.</span></code></pre>



<script src="https://gist.github.com/AdarshAshwani/11e0cf5de4607cf2f1256215b244a0b1.js"></script>



<p class="wp-block-paragraph"><strong>Output:</strong></p>



<figure class="wp-block-image size-full"><img decoding="async" width="258" height="80" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/08/image-118.png" alt="" class="wp-image-8007"/></figure>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/tutorial-for-feof-in-reading-file/">Tutorial for feof () in Reading file</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/tutorial-for-feof-in-reading-file/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tutorials for PHP Loops</title>
		<link>https://www.scmgalaxy.com/tutorials/tutorials-for-php-loops/</link>
					<comments>https://www.scmgalaxy.com/tutorials/tutorials-for-php-loops/#respond</comments>
		
		<dc:creator><![CDATA[Ashwani Kumar]]></dc:creator>
		<pubDate>Thu, 29 Jul 2021 13:09:05 +0000</pubDate>
				<category><![CDATA[php]]></category>
		<category><![CDATA[Different types of Loops]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[How to use loops in PHP]]></category>
		<category><![CDATA[loop]]></category>
		<category><![CDATA[loops in PHP]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[php loops]]></category>
		<category><![CDATA[Tutorials for PHP Loops]]></category>
		<category><![CDATA[types of Loops]]></category>
		<category><![CDATA[use loops in PHP]]></category>
		<category><![CDATA[Use of Loops]]></category>
		<category><![CDATA[What]]></category>
		<category><![CDATA[What is Loop]]></category>
		<category><![CDATA[Why]]></category>
		<category><![CDATA[Why to Use Loops]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=7176</guid>

					<description><![CDATA[<p>What is Loop? A loop is an Iterative Control Structure that requires the same number of codes to be executed [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/tutorials-for-php-loops/">Tutorials for PHP Loops</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h3 class="wp-block-heading">What is Loop?</h3>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://slideplayer.com/4972949/16/images/slide_1.jpg" alt="A loop is a repetition control structure. it causes a single statement or  block to be executed repeatedly What is a loop? - ppt download"/></figure></div>



<p class="wp-block-paragraph">A loop is an Iterative Control Structure that requires the same number of codes to be executed several times until a specific condition is met. When writing code, you may want a specific block of code to run a certain number of times. As a result, rather than applying nearly similar code lines to a script, we can employ loops.</p>



<h3 class="wp-block-heading">What are the Different types of Loops?</h3>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://www.devopsschool.com/blog/wp-content/uploads/2020/07/images.png" alt="PHP 7 Fundamental Tutorial for Beginners - PHP Loop - DevOpsSchool.com"/></figure></div>



<p class="wp-block-paragraph">Loops are used repeatedly to run the same piece of code as long as a given condition is met. A loop&#8217;s basic premise is to simplify recurring procedures in a programmer in order to save time and effort. PHP supports four different loop styles.</p>



<ul class="wp-block-list"><li><span class="has-inline-color has-vivid-red-color"><code><strong>while</strong></code> </span>– Loops through a code block as long as the given condition is true.</li><li><span class="has-inline-color has-vivid-red-color"><code><strong>do...while</strong></code> </span>– The code block running once and then is tested. State. If the condition is true, the declaration shall be repeated until the condition stated is true.</li><li><span class="has-inline-color has-vivid-red-color"><strong><code>for</code></strong> </span>– Loops via a code block before a given number is reached in the counter.</li><li><span class="has-inline-color has-vivid-red-color"><strong><code>foreach</code></strong> </span>– Loops for each unit of an array across a block of code.</li></ul>



<h3 class="wp-block-heading">Why to Use Loops?</h3>



<p class="wp-block-paragraph">When trying to recreate code, it might be tedious to retype or copy and paste the same code over and over again. Worse, unintentional mistakes might lead to programme malfunctions.</p>



<p class="wp-block-paragraph">That&#8217;s quite a few keystrokes! What if you decide later that you want to start each statement with “The count is currently: ”? You&#8217;d have to copy it and paste it into every single line.</p>



<p class="wp-block-paragraph">Fortunately, loops are a function in most programming languages that allows you to automatically repeat code before such requirements are met. Iteration is a phrase used to describe the repetition of code, and it refers to each time the code is executed. Loops will reduce the number of lines of code you write while still allowing you to update it later.</p>



<p class="wp-block-paragraph">PHP is no exception, as it offers a variety of ways to repeat the execution of a code block.</p>



<p class="wp-block-paragraph">This Article has cover the following PHP loop types:</p>



<ul class="wp-block-list"><li><strong><span class="has-inline-color has-vivid-red-color"><code>while</code></span></strong></li><li><strong><span class="has-inline-color has-vivid-red-color"><code>do</code> … <code>while</code></span></strong></li><li><strong><span class="has-inline-color has-vivid-red-color"><code>for</code></span></strong></li><li><strong><span class="has-inline-color has-vivid-red-color"><code>foreach</code></span></strong></li></ul>



<p class="wp-block-paragraph">There are conditions in each of these loops that prevent the loop from executing. If these requirements are not met, an endless loop will follow, and the software will never be able to quit executing the code block.</p>



<h3 class="wp-block-heading">How to use loops in PHP?</h3>



<p class="wp-block-paragraph">In order to write effective code, any programmer needs have a thorough understanding of loops and how to use them effectively in programming.</p>



<p class="wp-block-paragraph">When writing code, we must always repeat a same set of functions. Performing them one at a time would result in a higher number of lines of code and a longer duration. As a result, the software gets more difficult to understand. As a result, instead of using loops to run the code, we can use them!</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/tutorials-for-php-loops/">Tutorials for PHP Loops</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/tutorials-for-php-loops/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tutorials for PHP Function with Parameters or Arguments</title>
		<link>https://www.scmgalaxy.com/tutorials/tutorials-for-php-function-with-parameters-or-arguments/</link>
					<comments>https://www.scmgalaxy.com/tutorials/tutorials-for-php-function-with-parameters-or-arguments/#respond</comments>
		
		<dc:creator><![CDATA[Ashwani Kumar]]></dc:creator>
		<pubDate>Fri, 23 Jul 2021 13:51:49 +0000</pubDate>
				<category><![CDATA[php]]></category>
		<category><![CDATA[Arguments]]></category>
		<category><![CDATA[Default Values for Function]]></category>
		<category><![CDATA[Default Values for Function parameter]]></category>
		<category><![CDATA[Functions with return values]]></category>
		<category><![CDATA[Parameter passing to Functions]]></category>
		<category><![CDATA[Parameters]]></category>
		<category><![CDATA[Parameters or Arguments]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[PHP Function]]></category>
		<category><![CDATA[PHP Function with Parameters or Arguments]]></category>
		<category><![CDATA[Setting Default Values for Function parameter]]></category>
		<category><![CDATA[Tutorials for PHP Function with Parameters or Arguments]]></category>
		<category><![CDATA[What]]></category>
		<category><![CDATA[What is Function with Parameters or Arguments]]></category>
		<category><![CDATA[Why]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=7004</guid>

					<description><![CDATA[<p>What is Function with Parameters or Arguments? The information or variables included within the function&#8217;s parentheses are referred to as [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/tutorials-for-php-function-with-parameters-or-arguments/">Tutorials for PHP Function with Parameters or Arguments</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">What is <strong>Function with Parameters or Argument</strong>s?</h2>



<p class="wp-block-paragraph">The information or variables included within the function&#8217;s parentheses are referred to as parameters. These are used to keep track of values that can be used during runtime. The comma(,) operator allows the user to input as many arguments as he wants. These options are used to accept inputs during runtime. When transferring numbers, such as during a function call, arguments are used. A parameter is a container for parameters that are given to a function. A value supplied to a function is referred to as an argument. In layman&#8217;s terms, both parameter and statement have the same meaning. It&#8217;s crucial to keep in mind that each parameter must be accompanied with an argument.</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://w3programmers.com/bangla/wp-content/uploads/2017/10/function-parameter-and-arguments.png" alt="PHP functions,Parameters and arguments"/></figure></div>



<h4 class="wp-block-heading">Syntex:-</h4>



<pre class="wp-block-code"><code>function function_name($first_parameter, $second_parameter) {
    executable code;
}</code></pre>



<p class="wp-block-paragraph"><strong>Example:-</strong> </p>



<script src="https://gist.github.com/AdarshAshwani/4ba710fd954a3ddba47a43187fe99596.js"></script>



<h3 class="wp-block-heading"><strong>Setting Default Values for Function parameter</strong>:-</h3>



<p class="wp-block-paragraph">In PHP, we may define default arguments for function parameters. If no argument is supplied for a parameter with a default value, PHP will call the function with the parameter&#8217;s default specified value.</p>



<script src="https://gist.github.com/AdarshAshwani/c3cab9557310f1bc5004aef9027e262d.js"></script>



<p class="wp-block-paragraph">The default value for the parameter $num in the previous example is 12; if no value is supplied for this parameter in a function call, the default value is used. It&#8217;s also required because the option $str has no default value.</p>



<h3 class="wp-block-heading">Functions with return values:-</h3>



<p class="wp-block-paragraph">Functions can also return values to the portion of the program where they were called. The value is returned to the program section from where it was named using the return keyword. It is possible to return any type of value, including arrays and objects. The return statement also marks the conclusion of the function, stops it from running, and returns the value.</p>



<script src="https://gist.github.com/AdarshAshwani/cbd50f7be8f29fd002eecc1c95a0b60e.js"></script>



<h3 class="wp-block-heading"><strong>Parameter passing to Functions</strong>:-</h3>



<p class="wp-block-paragraph">In PHP, there are two ways to pass an argument to a function.</p>



<p class="wp-block-paragraph"><strong>Pass by Value:–</strong> Moving by value changes the value of an argument within a function, while the original value outside the function stays unaffected. This means that a statement that is a duplicate of the original value is transmitted.</p>



<p class="wp-block-paragraph"><strong>Pass by Reference:</strong>– As statements are passed via proxy, the original value is transmitted. As a result, the starting value has changed. Using the ampersand symbol in pass by reference, we just transmit the value&#8217;s address, where it is kept (&amp;).</p>



<p class="wp-block-paragraph"><strong>Example:-</strong> </p>



<script src="https://gist.github.com/AdarshAshwani/6cd07cd85061dbb4184ed93a1d9fe044.js"></script>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/tutorials-for-php-function-with-parameters-or-arguments/">Tutorials for PHP Function with Parameters or Arguments</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/tutorials-for-php-function-with-parameters-or-arguments/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tutorials for PHP Functions</title>
		<link>https://www.scmgalaxy.com/tutorials/tutorials-for-php-functions/</link>
					<comments>https://www.scmgalaxy.com/tutorials/tutorials-for-php-functions/#respond</comments>
		
		<dc:creator><![CDATA[Ashwani Kumar]]></dc:creator>
		<pubDate>Fri, 23 Jul 2021 13:30:47 +0000</pubDate>
				<category><![CDATA[php]]></category>
		<category><![CDATA[create functions in PHP]]></category>
		<category><![CDATA[functions]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[How many Types of Functions in PHP]]></category>
		<category><![CDATA[How to create functions in PHP]]></category>
		<category><![CDATA[PHP Function]]></category>
		<category><![CDATA[Tutorials for PHP Functions]]></category>
		<category><![CDATA[Types of Functions in PHP]]></category>
		<category><![CDATA[Use Functions in PHP]]></category>
		<category><![CDATA[What]]></category>
		<category><![CDATA[What is Functions]]></category>
		<category><![CDATA[Why]]></category>
		<category><![CDATA[Why we should Use Functions in PHP]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=6994</guid>

					<description><![CDATA[<p>What is Functions? A function is a segment of code in a program that is written to do a certain [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/tutorials-for-php-functions/">Tutorials for PHP Functions</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">What is Functions?</h2>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="http://www.devopsschool.com/blog/wp-content/uploads/2021/05/what-is-functions-in-PHP.jpg" alt="Complete Guide and Tutorials for PHP Functions with example -  DevOpsSchool.com"/></figure></div>



<p class="wp-block-paragraph">A function is a segment of code in a program that is written to do a certain task. We should compare functions to workers in a real-world workplace to have a better grasp of how they work. Assume the management delegated the duty of determining the annual budget to one of his employees. So, what will be the outcome of this procedure? The employee would ask his supervisor for data, perform estimations, calculate the budget, and report the results to his superior. Functions work in a similar fashion. They accept data as an argument, process it using a set of statements or operations, and then return the output.</p>



<h2 class="wp-block-heading">How many Types of Functions in PHP?</h2>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://www.devopsschool.com/blog/wp-content/uploads/2021/05/PHP-functions-Built-in-and-user-define-1.jpg" alt="Complete Guide and Tutorials for PHP Functions with example -  DevOpsSchool.com"/></figure></div>



<p class="wp-block-paragraph"><strong>There are Two Types of Functions :-</strong></p>



<p class="wp-block-paragraph"><strong><strong>User Defined Functions</strong></strong>:-These capabilities are used by developers and programmers when they need to execute their own logic. This functions are specified with the keyword function, and when a function call is made, a sequence of statements will be written within the function to execute it. Simply type functionname() in the address bar, and the function will be run.</p>



<p class="wp-block-paragraph"><strong>Built-in functions</strong>:- These routines offer us with already-built-in library functionality. The PHP installation kit includes several capabilities, making the language more efficient and helpful. To use the function&#8217;s attributes, all we have to do is call it when we want the desired outcome. PHP makes use of date, numeric, string, and other built-in functions.</p>



<ul class="wp-block-list"><li><strong>String Functions: </strong>These PHP features include built-in support for working with strings. Some of the string methods in PHP include strpos(), strncmp(), strrev(), and strlen() ,</li><li><strong>Date Function:</strong> The format is a human-readable UNIX date and time format, and these functions are PHP standard components.</li><li><strong>Numeric Functions: </strong>These functions have their own preset logic for numeric operations that PHP provides. As a result, it will either return a Boolean or a numeric value. Among them are is number(), number format(), round(), and other numeric procedures.</li></ul>



<h2 class="wp-block-heading">Why we should Use Functions in PHP?</h2>



<p class="wp-block-paragraph"><strong>Reusability</strong>:- This programming language has a feature that reduces the amount of lines of code that must be written many times. This would save time and effort for the developer or coder. We can put a piece of code in a feature and call it whenever and wherever it&#8217;s needed if it has to be used in many locations. This may be done by calling the functions from other programmes or from inside the same package.</p>



<p class="wp-block-paragraph"><strong>Easier Error Detection</strong>:- Because the code is written as functions rather than single blocks, any problems may be immediately and readily recognized and rectified.</p>



<p class="wp-block-paragraph"><strong>Easily Maintained</strong>:- Because functions are used throughout the program, we may quickly modify any function or line of code in the function, and the change will be reflected. As a result, it is simple to maintain everywhere.</p>



<h2 class="wp-block-heading">How to create functions in PHP?</h2>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://www.devopsschool.com/blog/wp-content/uploads/2021/05/function-in-php.jpg" alt="Complete Guide and Tutorials for PHP Functions with example -  DevOpsSchool.com"/></figure></div>



<p class="wp-block-paragraph">A function is to find a collection of statements in a programmer repeatedly. When a function in a program is invoked, it is simply implemented. There are a few things to keep in mind while creating a user-identified feature.</p>



<ul class="wp-block-list"><li>Any word ending in an opened and closed parenthesis is a feature.</li><li>The function keyword is commonly used to start a name of the function.</li><li>Type your name followed by a parenthesis to launch a command.</li><li>The initial letter in a function word cannot be a number. It might start with a letter or an emphasis.</li><li>The name of a feature is important.</li></ul>



<p class="wp-block-paragraph"><strong>Example:-</strong></p>



<script src="https://gist.github.com/AdarshAshwani/56e4c4010d384a035234291591b8d2f8.js"></script>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/tutorials-for-php-functions/">Tutorials for PHP Functions</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/tutorials-for-php-functions/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tutorials for PHP Data type</title>
		<link>https://www.scmgalaxy.com/tutorials/tutorials-for-php-data-type/</link>
					<comments>https://www.scmgalaxy.com/tutorials/tutorials-for-php-data-type/#respond</comments>
		
		<dc:creator><![CDATA[Ashwani Kumar]]></dc:creator>
		<pubDate>Wed, 21 Jul 2021 13:38:06 +0000</pubDate>
				<category><![CDATA[php]]></category>
		<category><![CDATA[Data type]]></category>
		<category><![CDATA[Data Types used]]></category>
		<category><![CDATA[Data Types used in PHP]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Tutorials for PHP Data type]]></category>
		<category><![CDATA[What]]></category>
		<category><![CDATA[What is Data Types]]></category>
		<category><![CDATA[Why]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=6901</guid>

					<description><![CDATA[<p>What is Data Types? Their sizes, as well as the names of the variables, might change. In most programming languages [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/tutorials-for-php-data-type/">Tutorials for PHP Data type</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">What is Data Types?</h2>



<p class="wp-block-paragraph">Their sizes, as well as the names of the variables, might change. In most programming languages (such as C++ and Java), you may use a number of data types for variables. However, because PHP does not specify type explicitly, the variable type must be determined by the form or type of data to which it is applied.</p>



<h3 class="wp-block-heading">What are the Data Types used in PHP?</h3>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://www.tutorialandexample.com/wp-content/uploads/2018/07/rrrrr.png" alt="PHP Data Types - Tutorial And Example"/></figure></div>



<p class="wp-block-paragraph">There are many data types for various purposes, such as null, binary, integer, float, text, object, property, and an array. We employ eight different types of data in PHP to create our variables. Below is a brief explanation of the various categories.</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://image.slidesharecdn.com/php-141120010751-conversion-gate01/95/basic-of-php-36-638.jpg?cb=1416445811" alt="Basic of PHP"/></figure></div>



<p class="wp-block-paragraph"><strong>Integers</strong> − There are whole numbers, including 4195, without a decimal point.</p>



<p class="wp-block-paragraph"><strong>Doubles</strong> − Floating points are numbers such as 3.14159 or 49.1</p>



<p class="wp-block-paragraph"><strong>Booleans</strong> − Have either true or false only two possible values.</p>



<p class="wp-block-paragraph"><strong>NULL</strong> − It has only one value: NULL, is a special kind.</p>



<p class="wp-block-paragraph"><strong>Strings</strong> − There are character strings, such as ‘PHP supports string operations.’</p>



<p class="wp-block-paragraph"><strong>Arrays</strong> − Collections of other values are called and indexed.</p>



<p class="wp-block-paragraph"><strong>Objects</strong> − There are instances of programming classes that can package other class-specific values and functions.</p>



<p class="wp-block-paragraph"><strong>Resources</strong> − Special variables provide access to external PHP tools (such as database connections).</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/tutorials-for-php-data-type/">Tutorials for PHP Data type</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/tutorials-for-php-data-type/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tutorials for PHP Variables</title>
		<link>https://www.scmgalaxy.com/tutorials/tutorials-for-php-variables/</link>
					<comments>https://www.scmgalaxy.com/tutorials/tutorials-for-php-variables/#respond</comments>
		
		<dc:creator><![CDATA[Ashwani Kumar]]></dc:creator>
		<pubDate>Wed, 21 Jul 2021 13:20:18 +0000</pubDate>
				<category><![CDATA[php]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[How to declare PHP variable]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[PHP Variables]]></category>
		<category><![CDATA[Types of Variable]]></category>
		<category><![CDATA[Variable Initialization]]></category>
		<category><![CDATA[What]]></category>
		<category><![CDATA[What are the Types of Variable]]></category>
		<category><![CDATA[What is Variable]]></category>
		<category><![CDATA[Why]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=6865</guid>

					<description><![CDATA[<p>What is Variable? In any programming language, a variable is a computer memory name that represents knowledge. One of the [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/tutorials-for-php-variables/">Tutorials for PHP Variables</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">What is Variable?</h2>



<p class="wp-block-paragraph">In any programming language, a variable is a computer memory name that represents knowledge. One of the numerous computer program components is the variables. For declare a variable in php, the <code><span class="has-inline-color has-vivid-red-color"><strong>$</strong></span></code> sign with its signature, like <code><span class="has-inline-color has-vivid-red-color"><strong>$myVariable</strong></span></code>, can be used.</p>



<figure class="wp-block-image"><img decoding="async" src="https://www.devopsschool.com/blog/wp-content/uploads/2021/05/image-7.png" alt=""/></figure>



<h3 class="wp-block-heading">How to declare PHP variable?</h3>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="889" height="500" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/PHP-Variable-Decleare.jpg" alt="" class="wp-image-6887" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/PHP-Variable-Decleare.jpg 889w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/PHP-Variable-Decleare-300x169.jpg 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/PHP-Variable-Decleare-768x432.jpg 768w" sizes="(max-width: 889px) 100vw, 889px" /></figure>



<ul class="wp-block-list"><li>All variables in PHP start with a $(doller) sign followed by the name of the variable.</li><li>A valid Variable name starts with a letter (A-Z, a-z) or underscore(_), followed by any number of letters, numbers, or underscores.</li><li>If a variable name is more than one word, it can be separated with underscore(for example $employee_code instead of $employeecode).</li><li>&#8216;$&#8217; is a special variable that can not be assigned.</li></ul>



<h3 class="wp-block-heading">What are the Types of Variable?</h3>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="550" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/PHP-Variable-1024x550.jpg" alt="" class="wp-image-6886" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/PHP-Variable-1024x550.jpg 1024w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/PHP-Variable-300x161.jpg 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/PHP-Variable-768x413.jpg 768w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/PHP-Variable.jpg 1366w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><strong>Local Variables</strong>:- A local variable is one that only exists inside a certain scope. They only exist in the function in which they were created. They&#8217;re frequently referred to as automatic variables since they&#8217;re produced automatically when the function starts running and disappear immediately when it&#8217;s completed. The term auto can be used to create these variables explicitly, but it isn&#8217;t required because auto is the default.</p>



<p class="wp-block-paragraph"><strong>Global Variables</strong>:- A global variable is one that is defined outside of all functions and is accessible to all of them. These variables are unaffected by scopes and are always accessible, implying that a global variable persists until the program is terminated. It&#8217;s possible to make a global variable in one file and use it in another. The variable must be defined in both files to do this, but the term extern must come before the &#8220;second&#8221; declaration.</p>



<p class="wp-block-paragraph"><strong>Static Variables</strong>:- A global or local variable can be a static variable. Both are generated by using the term static before the variable definition. A local static variable is one that can keep its value from one function call to the next and will persist until the program is finished. When creating a local static variable, it should be given an initial value. If it isn&#8217;t, the value will be set to 0 by default. A global static variable may only be accessed within the file in which it was created. File scope is a term used to describe a variable&#8217;s scope.</p>



<h2 class="wp-block-heading"><strong>Variable Initialization</strong>?</h2>



<p class="wp-block-paragraph">PHP can store all type of data in variables. Before using a variable in PHP, assign a value to it so PHP will create that variable and store data in it. That means we have to assign data to a variable before attempting to read a variable’s value.</p>



<p class="wp-block-paragraph"><strong>Example:-</strong></p>



<pre class="wp-block-code"><code>$roll = 256;
$price = 25.50;
$name = “Geeky Shows”;
Note - If a variable is created without a value, it is automatically assigned a value of NULL.</code></pre>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/tutorials-for-php-variables/">Tutorials for PHP Variables</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/tutorials-for-php-variables/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Basic Structure of PHP</title>
		<link>https://www.scmgalaxy.com/tutorials/basic-structure-of-php/</link>
					<comments>https://www.scmgalaxy.com/tutorials/basic-structure-of-php/#respond</comments>
		
		<dc:creator><![CDATA[Ashwani Kumar]]></dc:creator>
		<pubDate>Tue, 20 Jul 2021 13:47:11 +0000</pubDate>
				<category><![CDATA[php]]></category>
		<category><![CDATA[Basic Structure]]></category>
		<category><![CDATA[Basic Structure of PHP]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[where]]></category>
		<category><![CDATA[Why]]></category>
		<category><![CDATA[with exeample]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=6831</guid>

					<description><![CDATA[<p>Basic Structure of PHP The server executes the PHP script, which will send the HTML output to the browser. Normally [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/basic-structure-of-php/">Basic Structure of PHP</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"><strong>Basic Structure of PHP</strong></h2>



<p class="wp-block-paragraph">The server executes the PHP script, which will send the HTML output to the browser. Normally HTML and PHP tags can be present. A popular open source general programming language, PHP or Hypertext Preprocessor may be built into an HTML. The <code><span class="has-inline-color has-vivid-red-color">.php</span></code> extension is used to store PHP files. In PHP tags, PHP scripts and standard HTML may be written in any page.</p>



<p class="wp-block-paragraph">For beginners or pros alike, PHP is a pleasant language to use. We start working with PHP in this PHP Tutorial Series on the first floor. Even more experienced developers who need refreshment are very great to start from the start. Frequently you will realize that sophisticated difficulties are often a fairly fundamental mistake. That&#8217;s what makes the fundamentals so vital. They are the foundation for building on your whole understanding of programming. So let&#8217;s start getting our hands dirty with PHP today we look at what PHP is, and the history of this some times contentious language.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="547" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/basic-structure-2-1024x547.jpg" alt="" class="wp-image-6848" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/basic-structure-2-1024x547.jpg 1024w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/basic-structure-2-300x160.jpg 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/basic-structure-2-768x410.jpg 768w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/basic-structure-2.jpg 1364w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph"><strong>Examples:-</strong></p>



<script src="https://gist.github.com/AdarshAshwani/dd40faaa65605cf1660b815fb155cdf2.js"></script>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/basic-structure-of-php/">Basic Structure of PHP</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/basic-structure-of-php/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How PHP works?</title>
		<link>https://www.scmgalaxy.com/tutorials/how-php-works/</link>
					<comments>https://www.scmgalaxy.com/tutorials/how-php-works/#respond</comments>
		
		<dc:creator><![CDATA[Ashwani Kumar]]></dc:creator>
		<pubDate>Tue, 20 Jul 2021 12:52:09 +0000</pubDate>
				<category><![CDATA[php]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[How PHP works]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[PHP works]]></category>
		<category><![CDATA[What]]></category>
		<category><![CDATA[Why]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Works]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=6814</guid>

					<description><![CDATA[<p>How PHP works? The PHP programmer communicates with the website server, which transmits web pages to the rest of the [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-php-works/">How PHP works?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"><strong>How PHP works?</strong></h2>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://lh3.googleusercontent.com/proxy/TsSrjQl5vJH9w5ZEBha6Mg5dM15MYT_1k0A8etIQoO1GXJhKfry46_Nez1vZ1H3w74U2n96nLEPtOpZMKxoujKWMR5XCXiRl0R4-UNVhnahbmljVjG5kCanFIzK1RE9m8kc_" alt="Chapter 1 : Introduction to PHP"/></figure></div>



<p class="wp-block-paragraph">The PHP programmer communicates with the website server, which transmits web pages to the rest of the globe. You are instructing the web server in the URL to send an HTML file if you input a URL in your web browser&#8217;s address bar. The requested file is sent by the web server. Your browser reads the HTML file and displays the site. You also request a file from the web server when you press a source on a webpage. In addition, when you click a web page button that submits a form, a file is processed by the web server. The method is precisely the same when PHP is mounted. You are submitting a file and, because of PHP, the web server that runs PHP answers with HTML. Through these steps you can stand:-</p>



<p class="wp-block-paragraph"><strong>Step-1:-</strong> Client send a page request to the web server.</p>



<figure class="wp-block-image"><img decoding="async" src="https://www.devopsschool.com/blog/wp-content/uploads/2021/05/How-PHP-works-Step-1-1024x498.jpg" alt=""/></figure>



<p class="wp-block-paragraph"><strong>Step 2 –</strong> Web server forwards that request to the PHP interpreter.</p>



<figure class="wp-block-image"><img decoding="async" src="https://www.devopsschool.com/blog/wp-content/uploads/2021/05/How-PHP-works-Step-2-1024x460.jpg" alt=""/></figure>



<p class="wp-block-paragraph"><strong>Step 3 –</strong> Now PHP interpreter will take the Date from Database and response it back to the Web server.</p>



<figure class="wp-block-image"><img decoding="async" src="https://www.devopsschool.com/blog/wp-content/uploads/2021/05/How-PHP-works-Step-3-1024x472.jpg" alt=""/></figure>



<p class="wp-block-paragraph"><strong>Step 4 –</strong> At last Web server response to the client who has asked for the page request.</p>



<figure class="wp-block-image"><img decoding="async" src="https://www.devopsschool.com/blog/wp-content/uploads/2021/05/How-PHP-works-Step-4-1024x489.jpg" alt=""/></figure>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/how-php-works/">How PHP works?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/how-php-works/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What is PHP?</title>
		<link>https://www.scmgalaxy.com/tutorials/what-is-php-2/</link>
					<comments>https://www.scmgalaxy.com/tutorials/what-is-php-2/#comments</comments>
		
		<dc:creator><![CDATA[Ashwani Kumar]]></dc:creator>
		<pubDate>Tue, 20 Jul 2021 12:28:27 +0000</pubDate>
				<category><![CDATA[php]]></category>
		<category><![CDATA[features of PHP]]></category>
		<category><![CDATA[Php?]]></category>
		<category><![CDATA[the features of PHP]]></category>
		<category><![CDATA[Use of php]]></category>
		<category><![CDATA[What]]></category>
		<category><![CDATA[What are the features of PHP]]></category>
		<category><![CDATA[What is php?]]></category>
		<category><![CDATA[Why]]></category>
		<category><![CDATA[why php]]></category>
		<category><![CDATA[Why we use PHP]]></category>
		<category><![CDATA[Why we use PHP Language]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=6800</guid>

					<description><![CDATA[<p>What is PHP? PHP is an open source programming and server scripting language that is especially well suited for creating [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/what-is-php-2/">What is PHP?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">What is PHP?</h2>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://qph.fs.quoracdn.net/main-qimg-bda79af5a45f0aba142ca21dfc6d6626" alt="What is PHP? - Quora"/></figure></div>



<p class="wp-block-paragraph">PHP is an open source programming and server scripting language that is especially well suited for creating static or dynamic web pages, as well as Web applications, and may be included in HTML codes. It&#8217;s used to develop full e-commerce websites, as well as handle complicated content, databases, and session logging. Although PHP is now commonly known as a hypertext preprocessor, it was originally known as Personal Home Page. It was created in 1994 by Rasmus Lerdorf, a programmer. PHP is a reasonably straightforward language to learn, but you must first have a solid understanding of HTML. PHP works with a variety of databases, including MySQL, PostgreSQL, Oracle, Sybase, Informix, and Microsoft SQL Server, and may communicate with other services using LDAP, POP3, HTTP, IMAP, and COM protocols. PHP runs on a variety of operating systems, including Windows, Linux, Unix, and Mac OS X, among others.</p>



<h2 class="wp-block-heading"><strong>What are the features of PHP?</strong></h2>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://qph.fs.quoracdn.net/main-qimg-0397d90225c49745f98cead854811261" alt="Why do we need PHP? - Quora"/></figure></div>



<p class="wp-block-paragraph">The beauty of PHP is that it is extremely simple for a beginner to learn while still providing a variety of advanced capabilities for a seasoned developer. Don&#8217;t be scared off by PHP&#8217;s extensive list of capabilities. In a few of hours, you should be able to start developing simple programmes.</p>



<ul class="wp-block-list"><li>On a computer, PHP performs system activities like as creating, opening, reading, writing, and closing files.</li><li>PHP can handle formats, which means it can get data from databases, save it to a file, email it to the user, and return it to them.</li><li>You can edit, delete, and add entries to your database using PHP.</li><li>PHP&#8217;s main focus on Server-side scripting. If you want to practice as an independent at home, that&#8217;s the way forward.</li><li>Command line scripting is suitable for scripts in scheduling tasks. For simple text editing, it is also handy.</li><li>PHP helps us communication on all servers, such as MySQL, back-end/database.</li><li>To get the current date you will use PHP and then build a monthly calendar.</li><li>The HTML code generation in web browsers is often used by PHP.</li><li>PHP may be used to rotate the banner advertising on your website.</li><li>You may use PHP to limit the access of a user to one web page.</li><li>You may create a login page with PHP for your user.</li><li>Set up a database with a web browser.</li></ul>



<h2 class="wp-block-heading"><strong>Why we use PHP Language?</strong></h2>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSDUo_tuls8tww4xzWwKxlTzMQHiIcXBvxJgA&amp;usqp=CAU" alt="Why should we learn php programming language | PHP Zone"/></figure></div>



<p class="wp-block-paragraph">You&#8217;ve heard of several other programming languages, and perhaps are interested about why we select PHP as our web programming poison. PHP is well documented online and has a robust function structure. The language is therefore reasonably easy to learn and has a big online community. There are a host of PHP techniques and difficulties forums and manuals, so you should find no help if you want them. Here&#8217;s a fundamental point.</p>



<ul class="wp-block-list"><li>It works on several systems, such as Windows, Linux and Unix.</li><li>It works for several databases such as MySQL, PostgreSQL and Oracle.</li><li>PHP is a free open source programming language for anybody.</li><li>The learning curve is relatively quick in contrast to other languages like as JSP, ASP, and others.</li><li>The language can be easily collected and used on the server side. It works nicely.</li><li>This is perfect for creating the web since it can be included into the HTML code directly.</li><li>It is commonly used in combination with Apache on many operating systems (the application server). It is also Microsoft IIS compatible on Windows.</li><li>PHP may also be used for the production of interactive websites.</li><li>PHP also has the benefit of a server-side scripting language, which means that you just have to install it on your server. Client computers requiring server services are unnecessary for PHP. It is sufficient to use a web browser.</li></ul>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/what-is-php-2/">What is PHP?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/what-is-php-2/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Why should I used Azure DevOps?</title>
		<link>https://www.scmgalaxy.com/tutorials/what-is-azure-devops/</link>
					<comments>https://www.scmgalaxy.com/tutorials/what-is-azure-devops/#respond</comments>
		
		<dc:creator><![CDATA[Manish Kumar]]></dc:creator>
		<pubDate>Tue, 06 Jul 2021 09:15:27 +0000</pubDate>
				<category><![CDATA[azure]]></category>
		<category><![CDATA[DevOps Community]]></category>
		<category><![CDATA[azure certification]]></category>
		<category><![CDATA[Azure DevOps]]></category>
		<category><![CDATA[Benefits]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[certification]]></category>
		<category><![CDATA[Devops]]></category>
		<category><![CDATA[DevOps Certification provider]]></category>
		<category><![CDATA[DevOps Course]]></category>
		<category><![CDATA[Devops school]]></category>
		<category><![CDATA[Microsoft Azure Cloud]]></category>
		<category><![CDATA[Why]]></category>
		<guid isPermaLink="false">https://www.scmgalaxy.com/tutorials/?p=6657</guid>

					<description><![CDATA[<p>Azure DevOps is a modern DevOps tool of developing, planning, testing and deploying modern apps with optimized cycle to provide [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/what-is-azure-devops/">Why should I used Azure DevOps?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Azure DevOps</strong> is a modern DevOps tool of developing, planning, testing and deploying modern apps with optimized cycle to provide quality delivery of applications. Azure DevOps provides bunch of tool which can help you in track software building progress and also help you to take decision to deliver great software to the end users. Azure DevOps services are not dependent on cloud platform. </p>



<p class="wp-block-paragraph"><strong>Azure DevOps includes the following services:</strong></p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-01.png" alt="" class="wp-image-6658" width="559" height="132" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-01.png 1000w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-01-300x71.png 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-01-768x182.png 768w" sizes="auto, (max-width: 559px) 100vw, 559px" /></figure>



<ul class="wp-block-list"><li><strong>Azure Boards</strong></li></ul>



<p class="wp-block-paragraph">It is a powerful agile tool for managing Kanban board, reporting, and product backlog. It also helps you to plan, track, and discuss work across the team.</p>



<p class="wp-block-paragraph">It has components like work items, backlogs, Boards, queries, sprints details.</p>



<ul class="wp-block-list"><li><strong>Azure Repos</strong></li></ul>



<p class="wp-block-paragraph">Azure Repos service provides you unlimited cloud-hosted private Git repository for your project. This is a type of standard Git service and works use as distributed source controls. Azure Repos supports all Git clients and all IDEs.</p>



<ul class="wp-block-list"><li><strong>Azure Pipelines</strong></li></ul>



<p class="wp-block-paragraph">It is a cloud-hosted pipelines that helps you in for fast CI/CD that works with any language, platform, and cloud. It helps you with continuously changes Release by connecting to any source control like GitHub, this service can release changes continuously to any cloud. Azure Pipelines has components like build, release, library, task groups, and deployment groups.</p>



<ul class="wp-block-list"><li><strong>Azure Test Plans</strong></li></ul>



<p class="wp-block-paragraph">Azure Test Plans provides manual and exploratory testing tools. It also help you to do automated and manual testing. &nbsp;XML files can be used for load testing as well.</p>



<ul class="wp-block-list"><li><strong>Azure Artifacts</strong></li></ul>



<p class="wp-block-paragraph">Azure Artifact service manages the dependencies used in source code. It can host and share package (like NPM, Nuget, and Maven) feeds from public and private sources. These artifacts simplify job building process.</p>



<p class="wp-block-paragraph"><strong>Benefits of Azure DevOps</strong></p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-02-1024x536.jpg" alt="" class="wp-image-6659" width="678" height="354" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-02-1024x536.jpg 1024w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-02-300x157.jpg 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-02-768x402.jpg 768w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-02.jpg 1200w" sizes="auto, (max-width: 678px) 100vw, 678px" /></figure>



<p class="wp-block-paragraph">Azure DevOps allows their users to develop, deploy, and monitor code without opening multiple interfaces and you can also manage all of this from one view and bring ease to the customers.</p>



<p class="wp-block-paragraph"><strong>Some of the main benefits are</strong><strong></strong></p>



<ul class="wp-block-list"><li><strong>Timely Access to New Features</strong></li></ul>



<p class="wp-block-paragraph">Every three weeks, DevOps users receive access to new features. No need to scramble around and wonder what’s new. These are not to be confused with upgrades, and speaking.</p>



<ul class="wp-block-list"><li><strong>No Upgrades to Worry About</strong></li></ul>



<p class="wp-block-paragraph">Users need not worry about upgrading or patching up the toolchain because the Azure DevOps is a SaaS product. Companies that run on a CI/CD model no longer need to slow things down for the sake of upgrading.</p>



<ul class="wp-block-list"><li><strong>Reliability</strong></li></ul>



<p class="wp-block-paragraph">Azure DevOps is backed by 24 x7 support and a 99.9% SLA.</p>



<ul class="wp-block-list"><li><strong>Flexibility</strong></li></ul>



<p class="wp-block-paragraph">If your DevOps team doesn’t want or need the full suite of services, they can acquire them independently.</p>



<ul class="wp-block-list"><li><strong>Platform-agnostic</strong></li></ul>



<p class="wp-block-paragraph">DevOps is designed to run on any platform like Linux, macOS, and Windows or language for example Android, C/C++, Node.js, Python, and Java, PHP, Ruby, .Net, and iOS apps.</p>



<ul class="wp-block-list"><li><strong>Cloud-agnostic</strong></li></ul>



<p class="wp-block-paragraph">Azure DevOps works with AWS and GCP.</p>



<p class="wp-block-paragraph"><strong>Why we use Azure DevOps?</strong></p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-03-1024x512.jpg" alt="" class="wp-image-6660" width="763" height="382" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-03-1024x512.jpg 1024w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-03-300x150.jpg 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-03-768x384.jpg 768w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-03.jpg 1260w" sizes="auto, (max-width: 763px) 100vw, 763px" /></figure>



<p class="wp-block-paragraph">There has been a lot of buzz lately about Azure DevOps and you may be wondering– why we use Azure DevOps?</p>



<p class="wp-block-paragraph"><strong>Here are some of the reasons to consider Azure DevOps:</strong></p>



<p class="wp-block-paragraph">Azure DevOps is a feature-rich platform. The flexibility of supported languages, platforms and cloud vendors make it a viable option for a huge range of organisations.&nbsp; However, if you’re currently running an on-premises Team Foundation Server moving to Azure DevOps would be a natural upgrade for you.</p>



<p class="wp-block-paragraph"><strong>Azure DevOps is not focussed at organisations that are end-to-end Microsoft or Windows. Azure DevOps provides a platform that is:</strong></p>



<ul class="wp-block-list"><li><strong>Flexible</strong></li></ul>



<p class="wp-block-paragraph">You don’t have to go ‘all in’ on Azure DevOps. It is possible to adopt each of the services independently and integrate them with your existing tool chain, most popular tools are supported.</p>



<ul class="wp-block-list"><li><strong>Platform</strong><strong> </strong><strong>agnostic</strong><strong></strong></li></ul>



<p class="wp-block-paragraph">Designed to work with any platform (Linux, MacOS and Windows) or language (including Node.js, Python, Java, PHP, Ruby, and C/C++, .NET, Android and iOS apps) Azure DevOps is not just aimed at organizations building and shipping.</p>



<ul class="wp-block-list"><li><strong>Cloud</strong><strong> </strong><strong>Agnostic</strong><strong></strong></li></ul>



<p class="wp-block-paragraph">Continuous delivery is supported to AWS and GCP as well as to Azure.</p>



<p class="wp-block-paragraph"><strong>How long it take to Lean Azure DevOps?</strong></p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-17.png" alt="" class="wp-image-6661" width="688" height="383" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-17.png 860w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-17-300x167.png 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-17-768x429.png 768w" sizes="auto, (max-width: 688px) 100vw, 688px" /></figure>



<p class="wp-block-paragraph">If you have prior experience in software, programming, scripting, Linux, and Automation then you can learn DevOps basics such as CI/CD pipeline and its tools in one month.</p>



<p class="wp-block-paragraph">If you have prior experience of software, programming, and scripting but not familiar with Linux, and Automation then you have to learn Linux and Automation first before learning DevOps basics such as CI/CD pipeline and its tools in 2-3 months.</p>



<p class="wp-block-paragraph">&nbsp;If you have prior experience of computer and software background but no experience in programming, scripting, Linux, and Automation then programming and scripting take&nbsp;two months, one month for OS and automation fundamentals, and one month for learning DevOps basics such as CI/CD pipeline and its tools. Overall, 4-5 months.</p>



<p class="wp-block-paragraph"><strong>Roles and Responsibilities</strong></p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-06-1024x536.jpg" alt="" class="wp-image-6662" width="652" height="341" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-06-1024x536.jpg 1024w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-06-300x157.jpg 300w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-06-768x402.jpg 768w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-06.jpg 1536w" sizes="auto, (max-width: 652px) 100vw, 652px" /></figure>



<p class="wp-block-paragraph">DevOps Engineer works with developers and the IT team to oversee the code releases. Many-times developers who get interested in deployment and network operations or sysadmins who have a passion for scripting and coding and move into the development side where they can improve the planning of test and deployment.</p>



<p class="wp-block-paragraph"><strong>Roles&nbsp;of&nbsp;Azure DevOps Engineer</strong></p>



<ul class="wp-block-list"><li>Implementing Continuous Feedback.</li><li>Implementing Application Infrastructure.</li><li>Implementing DevOps Development Processes.</li><li>Implementing Dependency Management.</li><li>Implementing Continuous Integration.</li><li>Implementing Continuous Delivery.</li></ul>



<p class="wp-block-paragraph"><strong>Career opportunity as an Azure DevOps Engineer?</strong></p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-ddevops-12.jpg" alt="" class="wp-image-6663" width="761" height="326" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-ddevops-12.jpg 700w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-ddevops-12-300x129.jpg 300w" sizes="auto, (max-width: 761px) 100vw, 761px" /></figure>



<p class="wp-block-paragraph">Azure DevOps Engineer is someone who has an understanding of the Software Development Lifecycle and if familiar with various automation tools for developing digital pipelines (CI/ CD pipelines).</p>



<p class="wp-block-paragraph"><strong>Azure DevOps Engineers</strong>&nbsp;are responsible for defining and implementing a robust, scalable, pragmatic and realistic cloud solution that works for our clients. Design and implement cloud solutions which are secure, scalable, resilient, monitored, auditable and cost optimized.</p>



<p class="wp-block-paragraph">So what are the options in front of you when you complete your Certification as an Azure DevOps Engineer?</p>



<p class="wp-block-paragraph"><strong>Here are a few job roles that you can fill:</strong></p>



<ul class="wp-block-list"><li>Cloud Engineer</li><li>DevOps</li><li>Cloud Specialist</li><li>High Availability</li><li>MEAN</li><li>Shell Scripting</li><li>Big Data</li><li>Windows Admiration</li></ul>



<p class="wp-block-paragraph"><strong>Salary of an Azure DevOps Engineer</strong></p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/devops-azure.jpg" alt="" class="wp-image-6665" width="619" height="307"/></figure>



<p class="wp-block-paragraph">More than 500 top Fortune companies as well as start-ups or small businesses that need an Azure DevOps Engineer who is certified and are ready to offer a lucrative Azure DevOps Engineer. So, don&#8217;t worry about the job prospect or salary aspect when it comes to being a certified Azure DevOps Engineer, just focus on upscaling your real-time expertise when you wish to be a part of any of these renowned organizations and get to work with your dream company with the salary you wished for.&nbsp;</p>



<p class="wp-block-paragraph"><strong>As an Azure DevOps engineer, the national average salary is $103,314.</strong></p>



<ul class="wp-block-list"><li>The DevOps engineer based on 3 years of experience can expect $7,927 per annum.</li><li>The salary for the aforementioned experience ranges from $3,329 &#8211; $18,886.</li><li>Also, the Azure DevOps engineer salary is also dependent on experience such as Entry level, Intermediate, Senior ranging from $79,000 &#8211; $134,000.</li><li>Furthermore, Azure DevOps engineer salary also depends on the certification obtained through training platforms such as JanBask Training.</li></ul>



<p class="wp-block-paragraph"><strong>Now&nbsp;let us have a look at a range of salaries across the globe.</strong><strong></strong></p>



<ul class="wp-block-list"><li>The Azure DevOps Engineer Salary in the United Kingdom on average is<strong>&nbsp;£82,472</strong>&nbsp;per year or<strong>&nbsp;£29.18&nbsp;</strong>per hour.&nbsp;</li><li>The Azure DevOps Engineer Salary in the US on average is&nbsp;<strong>$136,500</strong>&nbsp;per year or<strong>&nbsp;$70&nbsp;</strong>per hour.&nbsp;</li><li>The Azure DevOps Engineer Salary in India on average is ₹&nbsp;<strong>2,100,000</strong>&nbsp;per year or ₹&nbsp;<strong>1,077&nbsp;</strong>per hour.</li><li>The Azure DevOps Engineer Salary in Australia starts from an average of&nbsp;<strong>$130,000</strong>&nbsp;per year or&nbsp;<strong>$66.67</strong>&nbsp;per hour.&nbsp;</li><li>The Azure DevOps Engineer Salary in Canada on average is&nbsp;<strong>$120,938</strong>&nbsp;per year or<strong>&nbsp;$62.02</strong>&nbsp;per hour.</li></ul>



<p class="wp-block-paragraph"><strong>Conclusion</strong></p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2021/07/azure-devops-16.png" alt="" class="wp-image-6667" width="369" height="223"/></figure>



<p class="wp-block-paragraph">In this Article, we all discussed on point of a career in Azure DevOps. We provided you the enough information about the salaries what you can expect to earn in different job roles with skills We also discussed the options that you can choose as a skilled DevOps professional depending on your interests. If you are curious to learn about <a href="https://www.devopsschool.com/certification/master-in-azure-devops.html" target="_blank" rel="noreferrer noopener">Azure DevOps</a>, and make a good career with this skill then I would suggest you please check out <a href="https://www.devopsschool.com/certification/master-in-azure-devops.html">DevOpsschool.com</a> for more information.</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/what-is-azure-devops/">Why should I used Azure DevOps?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/what-is-azure-devops/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Why organization should enhance DevOps skills of their employee?</title>
		<link>https://www.scmgalaxy.com/tutorials/why-organization-should-enhance-devops-skills-of-their-employee/</link>
					<comments>https://www.scmgalaxy.com/tutorials/why-organization-should-enhance-devops-skills-of-their-employee/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 08 Feb 2017 13:16:26 +0000</pubDate>
				<category><![CDATA[DevOps Practice and Process]]></category>
		<category><![CDATA[corporate]]></category>
		<category><![CDATA[Devops]]></category>
		<category><![CDATA[DevOps Adoption]]></category>
		<category><![CDATA[DevOps Importance]]></category>
		<category><![CDATA[DevOps Skills]]></category>
		<category><![CDATA[DevOps Talent]]></category>
		<category><![CDATA[DevOps Training]]></category>
		<category><![CDATA[employee]]></category>
		<category><![CDATA[enhance]]></category>
		<category><![CDATA[Enterprises]]></category>
		<category><![CDATA[organization]]></category>
		<category><![CDATA[Why]]></category>
		<category><![CDATA[Why DevOps]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2017/02/08/why-organization-should-enhance-devops-skills-of-their-employee/</guid>

					<description><![CDATA[<p>It’s not shocking that a lot of organizations struggle when it comes to DevOps execution. DevOps is a new conception [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/why-organization-should-enhance-devops-skills-of-their-employee/">Why organization should enhance DevOps skills of their employee?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2971 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/02/why-organization-should-enh.png" alt="organization-employee-devops-skills" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/02/why-organization-should-enh.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2017/02/why-organization-should-enh-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;">It’s not shocking that a lot of organizations struggle when it comes to DevOps execution. DevOps is a new conception which IT organizations use to enhance collaboration between two functions into one. In today’s cutthroat business environment, DevOps comes as an important resolution that helps organizations meet ever-growing business demands.</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;"> </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;">The meaning of DevOps is different for different peoples. Some says it&#8217;s a &#8220;collaboration of operations and developers&#8221; or it&#8217;s using automation or it is a toolchain approach or culture or a job title or it&#8217;s just a Dev. and Ops. or variety of related things. But if we look onto it, it&#8217;s not just a set of tools or not just a culture or job title. We can say It is a way of doing work where people of both operations and developer skill sets work together on projects to create quality products without wasting resources and infrastructure in a short span of time by using best practices of tools.</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;"> </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;">There are many organizations in the world who are adopting DevOps to enhance their employee Performances and revenues and profitability of their business. There are many studies done till date where it is clearly shown that where companies implement the DevOps approach get more done, plain &amp; simple. The greatest change in approach in a DevOps environment is that there is a single group made out of cross functional members including operations architects, business expert, DBA&#8217;s, QA, developers and so forth. There are many advantages of collaboration among these different roles delivers.</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;"> </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;">If we look on to benefits there are:-</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;">1. Continuous software delivery</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;">2. Less complex problems to fix</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;">3. Faster resolution of problems</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;">4. Faster delivery of features</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;">5. More stable operating environments</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;">6. More time available to add value (rather than fix/maintain)</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;"> </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;">To accomplish this, Dev and Ops must break the silos and work together with each other, share liability for keeping up the framework that runs the product, and set up the product to keep running on the framework with continuous quality input and delivery automation.</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;"> </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;">In this process there are so many tools and practices used to achieve the results. Source Code Repository, Build Server, Configuration Management, Virtual Infrastructure, Test Automation and Pipeline Orchestration any many more in the process. </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;"> </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;">DevOps is certainly a group activity, however it&#8217;s still vital to clearly define once roles and liabilities for accomplishment inside the group. Means to say it is really important for organizations to make sure dev and ops teams are collaborating and sharing responsibilities throughout the software delivery lifecycle from planning all the way to managing the production environment.</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;"> </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span style="font-size: 10.5pt; font-family: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; color: black;">Now the real problem is that there are various challenges an organization and their employee&#8217;s face when they trying to execute DevOps skills because they do not able to overcome the Developers and Operations mentality and unable to do continuous balance and change of work process, they lack of understanding the security and access management, unable to do continuous monitoring, Toochain cashes of Developers and operations and various others problems they face when they try to implement it on their projects. To overcome these challenges organization&#8217;s must provide their employees DevOps skills from industry experts. Now to make your job easy I did some research on it and found one portal &#8220;<a title="DevOps Consulting &amp; Consultant" href="http://www.devopsconsulting.in/" target="_blank" rel="noopener">DevOps Consulting</a>&#8221; where you can get best industry trainers and consultants for corporate and individual training.</span></p>
<p class="MsoNormal">
<p>The post <a href="https://www.scmgalaxy.com/tutorials/why-organization-should-enhance-devops-skills-of-their-employee/">Why organization should enhance DevOps skills of their employee?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/why-organization-should-enhance-devops-skills-of-their-employee/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Why Git is Better than X &#124; Git or X</title>
		<link>https://www.scmgalaxy.com/tutorials/why-git-is-better-than-x/</link>
					<comments>https://www.scmgalaxy.com/tutorials/why-git-is-better-than-x/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Mon, 18 Aug 2014 00:00:00 +0000</pubDate>
				<category><![CDATA[Git]]></category>
		<category><![CDATA[Better]]></category>
		<category><![CDATA[Choose]]></category>
		<category><![CDATA[Comparison]]></category>
		<category><![CDATA[Difference]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Git is Better than X]]></category>
		<category><![CDATA[Git or X]]></category>
		<category><![CDATA[How]]></category>
		<category><![CDATA[Select]]></category>
		<category><![CDATA[Why]]></category>
		<category><![CDATA[Why Git]]></category>
		<category><![CDATA[Why Git is Better than X]]></category>
		<category><![CDATA[X]]></category>
		<category><![CDATA[X or Git]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2014/08/18/why-git-is-better-than-x/</guid>

					<description><![CDATA[<p>Cheap Local Branching svn perforce Everything is Local bzr svn perforce Git is Fast svn Git is Small hg bzr [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/why-git-is-better-than-x/">Why Git is Better than X | Git or X</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><img loading="lazy" decoding="async" class="aligncenter wp-image-3410 size-full" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/08/why-git-is-better-than-x.png" alt="why-git-is-better-than-x" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/08/why-git-is-better-than-x.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2014/08/why-git-is-better-than-x-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></h2>
<h2><a href="http://thkoch2001.github.io/whygitisbetter/#cheap-local-branching" name="cheap-local-branching">Cheap Local Branching</a></h2>
<div class="span-24 section">
<div class="args"><span class="lang svn">svn</span> <span class="lang perforce">perforce</span></div>
<h2><a href="http://thkoch2001.github.io/whygitisbetter/#everything-is-local" name="everything-is-local">Everything is Local</a></h2>
</div>
<div class="span-24 section">
<div class="args"><span class="lang bzr">bzr</span> <span class="lang svn">svn</span> <span class="lang perforce">perforce</span></div>
<h2><a href="http://thkoch2001.github.io/whygitisbetter/#git-is-fast" name="git-is-fast">Git is Fast</a></h2>
</div>
<div class="span-24 section">
<div class="args"><span class="lang svn">svn</span></div>
<h2><a href="http://thkoch2001.github.io/whygitisbetter/#git-is-small" name="git-is-small">Git is Small</a></h2>
</div>
<div class="span-24 section">
<div class="args"><span class="lang hg">hg</span> <span class="lang bzr">bzr</span> <span class="lang svn">svn</span> <span class="lang perforce">perforce</span></div>
<h2><a href="http://thkoch2001.github.io/whygitisbetter/#the-staging-area" name="the-staging-area">The Staging Area</a></h2>
</div>
<div class="span-24 section">
<div class="args"><span class="lang svn">svn</span> <span class="lang perforce">perforce</span></div>
<h2><a href="http://thkoch2001.github.io/whygitisbetter/#distributed" name="distributed">Distributed</a></h2>
</div>
<div class="span-24 section">
<div class="args"><span class="lang svn">svn</span> <span class="lang perforce">perforce</span></div>
<h2><a href="http://thkoch2001.github.io/whygitisbetter/#any-workflow" name="any-workflow">Any Workflow</a></h2>
</div>
<div class="span-24 section">
<div class="args"><span class="lang hg">hg</span> <span class="lang svn">svn</span> <span class="lang perforce">perforce</span></div>
<h2><a href="http://thkoch2001.github.io/whygitisbetter/#github" name="github">GitHub</a></h2>
</div>
<div class="span-24 section">
<div class="args"><span class="lang perforce">perforce</span></div>
<h2><a href="http://thkoch2001.github.io/whygitisbetter/#easy-to-learn" name="easy-to-learn">Easy to Learn</a></h2>
</div>
<div class="args"><span class="lang hg">hg</span> <span class="lang bzr">bzr</span> <span class="lang svn">svn</span> <span class="lang perforce">perforce</span></div>
<h2><a href="http://thkoch2001.github.io/whygitisbetter/#git-is-standard" name="git-is-standard">Git is the new standard</a></h2>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/why-git-is-better-than-x/">Why Git is Better than X | Git or X</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/why-git-is-better-than-x/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>What is Code Coverage and Why Code Coverage?</title>
		<link>https://www.scmgalaxy.com/tutorials/what-is-code-coverage-and-why-code-coverage/</link>
					<comments>https://www.scmgalaxy.com/tutorials/what-is-code-coverage-and-why-code-coverage/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Fri, 17 May 2013 12:00:23 +0000</pubDate>
				<category><![CDATA[Code Analysis]]></category>
		<category><![CDATA[Advantages]]></category>
		<category><![CDATA[Benefits of Code Coverage]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Code Coverage]]></category>
		<category><![CDATA[Coverage]]></category>
		<category><![CDATA[Coverage Tools]]></category>
		<category><![CDATA[Quality analysis]]></category>
		<category><![CDATA[Software Quality]]></category>
		<category><![CDATA[Test Coverage]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[What]]></category>
		<category><![CDATA[What is Code Coverage]]></category>
		<category><![CDATA[Why]]></category>
		<category><![CDATA[Why Code Coverage]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2013/05/17/what-is-code-coverage-and-why-code-coverage/</guid>

					<description><![CDATA[<p>What is Code Coverage Code Coverage is an important measurement in Software Quality Engineering. While Software testing ensures correctness of [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/what-is-code-coverage-and-why-code-coverage/">What is Code Coverage and Why Code Coverage?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3760 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2013/05/code-coverage.png" alt="code-coverage" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2013/05/code-coverage.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2013/05/code-coverage-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p><strong>What is Code Coverage</strong><br />
Code Coverage is an important measurement in Software Quality Engineering. While Software testing ensures correctness of the applications, a metric is required to track the What is Code Coverage Code Coverage is an important measurement in Software Quality Engineering. While Software testing ensures correctness of the applications, a metric is required to track the completeness and effectiveness of the testing undertaken. Code Coverage helps achieve reliable quality through identifying untested areas of the application.</p>
<p><strong>Why Code Coverage</strong><br />
Software testing is a challenging function. The testers need to ensure complete functional and non-functional correctness of the product. Considering the complex workflows and use cases of modern day applications, the number of unique cases that the software can be used often run into millions, which is not feasible to be covered under testing exercise. The testers thus need to<br />
&#8211; While Planning Tests<br />
o Ensure covering all workflows in terms of decision trees in the code<br />
o Ensure covering all data values – by identifying patterns rather covering millions of values<br />
&#8211; While testing<br />
o Ensuring the testing is completely exercising the whole application with planned and exploratory tests.</p>
<p>At the end of testing, the decision to stop testing and release the product still remains subjective, based on the presence or absence of bugs, inflow of new bugs, success rate of each test cycle, confidence rating of the testers or users, etc. Whereas the definitive metric of quantifying how much of the application was really tested, is missed.</p>
<p>Code Coverage is measured as quantification of application code exercised by the testing activities. Code Coverage can be measured at various levels – in terms of programming language constructs – Packages, Classes, Methods, Branches or in terms of physical artifacts &#8211; Folders, Files and Lines. For Eg. A Line Coverage metric of 67% means the testing exercised 67% of all executable statements of the application. A Code Coverage metric usually is accompanied by Code Coverage Analysis Report – which helps identify the un-tested part of the application code, thereby giving the testers early inputs for complete testing.</p>
<p><strong>Benefits of Code Coverage</strong></p>
<ul>
<li>Objective Indicator of Test Coverage of application code</li>
<li>Pointers to uncovered Packages / Classes / Methods / Branches</li>
<li>Pointers to uncovered Folders / Files / Lines</li>
<li>Drill down to untested part of source code and devise new tests</li>
<li>Early Indicator for Testing Quality and Fixing it by adding new tests.</li>
<li>Remove redundancy in testing</li>
<li>Increased Confidence for Releases</li>
</ul>
<p><strong>Test Your Test</strong></p>
<p><strong>Typical Emotional Storyboard</strong></p>
<ul>
<li>Write Some code! Happy!</li>
<li>Does it work? Sad!</li>
<li>Write some test! Happy!</li>
<li>Do they really test the code? Sad!</li>
<li>Measure the Code Coverage! Happy!</li>
</ul>
<p><strong>Coverage Measurement</strong></p>
<ol>
<li>Shows Which line of code are executed</li>
<li>How much of your code is covered by your tests?</li>
<li>Your tests test your product</li>
<li>Coverage testing tests your tests</li>
</ol>
<p><strong>Goal</strong></p>
<ul>
<li>100%</li>
<li>Coverage Ideal</li>
<li>Not Always possible</li>
<li>Can be expensive to achieve</li>
<li>Design for testability</li>
</ul>
<p><strong>Good: Write more tests</strong><br />
Only way to truly increase code coverage</p>
<p><strong>Bad</strong><br />
Excluding Code to boost Coverage</p>
<p><strong>Types of Coverage</strong></p>
<ol>
<li>Statement Coverage</li>
<li>Branch Coverage</li>
<li>Path Coverage</li>
<li>Loop Path Coverage</li>
<li>Data – driven Code</li>
<li>Complex Conditionals</li>
<li>Hidden Branches</li>
</ol>
<p><strong>How; &#8211; Coverage Tools</strong></p>
<ol>
<li>Clover</li>
<li>Cobertura</li>
<li>Emma</li>
</ol>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/what-is-code-coverage-and-why-code-coverage/">What is Code Coverage and Why Code Coverage?</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/what-is-code-coverage-and-why-code-coverage/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Why and how to use Jetty in mission-critical production</title>
		<link>https://www.scmgalaxy.com/tutorials/why-and-how-to-use-jetty-in-mission-critical-production/</link>
					<comments>https://www.scmgalaxy.com/tutorials/why-and-how-to-use-jetty-in-mission-critical-production/#comments</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Tue, 09 Mar 2010 13:19:46 +0000</pubDate>
				<category><![CDATA[App / Web Servers]]></category>
		<category><![CDATA[Application server]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[how to use Jetty]]></category>
		<category><![CDATA[How to use Jetty in Test environment]]></category>
		<category><![CDATA[Instruction]]></category>
		<category><![CDATA[Jetty]]></category>
		<category><![CDATA[Jetty advantages in Test environment]]></category>
		<category><![CDATA[mission-critical]]></category>
		<category><![CDATA[production]]></category>
		<category><![CDATA[Test environment]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Use]]></category>
		<category><![CDATA[Why]]></category>
		<category><![CDATA[Why Jetty]]></category>
		<category><![CDATA[Why use Jetty]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/03/09/why-and-how-to-use-jetty-in-mission-critical-production/</guid>

					<description><![CDATA[<p>This article is a summary of a seminar I had on the topic. If it seems like it’s a continuation [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/why-and-how-to-use-jetty-in-mission-critical-production/">Why and how to use Jetty in mission-critical production</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4137 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/how-to-use-jetty.png" alt="how-to-use-jetty" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/how-to-use-jetty.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/03/how-to-use-jetty-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></p>
<p>This article is a summary of a seminar I had on the topic. If it seems like it’s a continuation of an existing discussion that’s because, to some extent, it is. If you haven’t been discussing exchanging your app server, this article probably isn’t very interesting to you.</p>
<p>By putting the application server inside my application instead of the other way around, I was able to leap tall buildings in a single bound.</p>
<p>The embedded application server</p>
<p>This is how I deploy <a href="http://svn.brodwall.com/demo/embedded-container/">my sample application</a> to a new test environment (or to production):</p>
<ol>
<li>mvn install</li>
<li>scp -server/target/-1.0.onejar.jar appuser@appserver:/home/appuser/test-env1/</li>
<li>ssh appuser@appserver “cd /home/appuser/test-env1/ &amp;&amp; java -jar -1.0.onejar.jar&amp;”</li>
</ol>
<p>This require no prior installed software on the appserver (with the exception of the JVM). It requires no prior configuration. Rolling back is a matter of replacing one jar-file with another. Clustering is a matter of deploying the same application several times.</p>
<p>In order to make this work in a real environment, there are a many details you as a developer need to take care of. As a matter of fact, you will have to take responsibility for your operational environment. The good news is that creating a good operational environment is not more time-consuming than trying to cope with the feed and care of a big-a Application Server.</p>
<p>In this scheme every application comes with its own application server in the form of jetty’s jar-files embedded in the deployed jar-file.</p>
<p>The advantages</p>
<p>Why would you want to do something like this?</p>
<ul>
<li><strong>Independent application</strong>: If you’ve ever been told that you can’t use Java 1.5 because that would require an upgrade of the application server. And if we upgrade the application server, that could affect someone else adversely. So we need to start a huge undertaking to find out who could possibly be affected.</li>
<li><strong>Developer managed libraries</strong>: Similar problems can occur with libraries. Especially those that come with the application server. For example: Oracle OC4J helpfully places a preview version of JPA 1.0 first in your classpath. If you want to use Hibernate with JPA 1.0-FINAL, it will mostly work. Until you try to use a annotation that was changed after the preview version (@Discriminator, for example). The general rule is: <em>If an API comes with your app server, you’re better served by staying away from it.</em> A rather bizarre state of affairs.</li>
<li><strong>Deployment, configuration and upgrades</strong>: Each version of the application, including all its dependencies is packaged into a single jar-file that can be deployed on several application server, or several times on the same application server (with different ports). The configuration is read from a properties-file in the current working directory. On the minus side, there’s no fancy web UI where you can step through a wizard to deploy the application or change the configuration. On the plus side, there is no fancy web UI …. If you’ve used one such web UI, you know what I mean.</li>
<li><strong>Continuous deployment</strong>: As your maven-repository will contain stand alone applications, creating a continuous deployment scheme is very easy. In my previous environment, a cron job running wget periodically was all that was needed to connect the dots. Having each server environment PULL the latest version gives a bit more flexibility if you want many test environments. (However, if you’re doing automated PUSH deployment, it’s probably just as practical for you).</li>
<li><strong>Same code in test and production</strong>: The fact that you can <a href="http://svn.brodwall.com/demo/embedded-container/embedded-container-web/src/test/java/no/steria/embeddedcontainer/web/HelloWebTest.java">start Jetty inside a plain old JUnit test</a> means that it is ideal for taking your automated tests one step further. However, if you test with Jetty and deploy on a different Application Server, the difference will occasionally trip you. It’s not a big deal. You have to test in the server environment anyway. But why not eliminate the extra source of pain if you can?</li>
<li><strong>Licenses</strong>: Sure, you can afford to pay a few million $ for an application server. You probably don’t have any better use for that money, anyway, right? However, if you have to pay licenses for each test-server in addition, it will probably mean that you will test less. We don’t want that.</li>
<li><strong>Operations</strong>: In my experience, operations people don’t like to mess around with the internals of an Application Server. An executable jar file plus a script that can be run with [start|status|stop] may be a much better match.</li>
</ul>
<p>The missing bits</p>
<p>Taking control of the application server takes away a lot of complex technology. This simplifies and makes a lot of stuff cheaper. It also puts you back in control of the environment. However, it forces you to think about some things that might’ve been solved for you before:</p>
<ul>
<li><strong>Monitoring</strong>: The first step of monitoring is simple: Just make sure you write to a log file that is being monitored by your operations department. The second step requires some work: Create a servlet (or a Jetty Handler) that a monitoring tool can ping to check that everything is okay. Taking control of this means that you can improve it: Check if your data sources can connect, if your file share is visible, if that service answers. Maybe add application-calibrated load reporting. Beyond that, Jetty has good JMX support, but I’ve never needed it myself.</li>
<li><strong>Load balancing</strong>: My setup supports no load balancing or failover out of the box. However, this is normally something that the web server or routers in front of the application server anyway. You might want to look into <a href="http://docs.codehaus.org/display/JETTY/Configuring+mod_proxy">Jetty’s options for session affinity</a>, if you need that.</li>
<li><strong>Security</strong>: Jetty supports JAAS, of course. Also: In all the environments I’ve been working with (CA SiteMinder, Sun OpenSSO, Oracle SSO), the SSO server sends the user name of the currently logged in user as an HTTP header. You can get far by just using that.</li>
<li><strong>Consistency</strong>: If you deploy more than one application as an embedded application server, the file structure used by an application (if any) should be standardized. As should the commands to start and stop the application. And the location of logs. Beyond that, reuse what you like, recreate what you don’t.</li>
</ul>
<p>Taking control of your destiny</p>
<p>Using an embedded application server means using the application server as a library instead of a framework. It means taking control of your “main” method. There’s a surprisingly small number of things you need to work out yourself. In exchange, you get the control to do many things that are impossible with a big-A Application Server.</p>
<p><strong>Reference:</strong> <a href="http://www.javaworld.com/community/?q=node/4133" target="_blank" rel="noopener">http://www.javaworld.com/community/</a></p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/why-and-how-to-use-jetty-in-mission-critical-production/">Why and how to use Jetty in mission-critical production</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/why-and-how-to-use-jetty-in-mission-critical-production/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Why Worry About Versioning? &#8211; Versioning Complete guide</title>
		<link>https://www.scmgalaxy.com/tutorials/why-worry-about-versioning/</link>
					<comments>https://www.scmgalaxy.com/tutorials/why-worry-about-versioning/#respond</comments>
		
		<dc:creator><![CDATA[scmgalaxy K]]></dc:creator>
		<pubDate>Wed, 17 Feb 2010 09:57:26 +0000</pubDate>
				<category><![CDATA[Version Management]]></category>
		<category><![CDATA[Component]]></category>
		<category><![CDATA[Configuration Management]]></category>
		<category><![CDATA[Everything about Versioning]]></category>
		<category><![CDATA[File Versioning]]></category>
		<category><![CDATA[Good version scheme]]></category>
		<category><![CDATA[How Versioning Affects Setup]]></category>
		<category><![CDATA[Understand Versioning]]></category>
		<category><![CDATA[version]]></category>
		<category><![CDATA[Version control]]></category>
		<category><![CDATA[Version scheme]]></category>
		<category><![CDATA[Versioning]]></category>
		<category><![CDATA[Versioning Best Practices]]></category>
		<category><![CDATA[Versioning Complete guide]]></category>
		<category><![CDATA[Versioning Guidance]]></category>
		<category><![CDATA[Versioning Guide]]></category>
		<category><![CDATA[Versioning Reference]]></category>
		<category><![CDATA[Versioning Tutorial]]></category>
		<category><![CDATA[Why]]></category>
		<guid isPermaLink="false">http://www.scmgalaxy.com/tutorials/2010/02/17/why-worry-about-versioning/</guid>

					<description><![CDATA[<p>Why Worry About Versioning? Having a good version scheme for your software is important for several reasons. The following are [&#8230;]</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/why-worry-about-versioning/">Why Worry About Versioning? &#8211; Versioning Complete guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3><img loading="lazy" decoding="async" class="alignnone size-full wp-image-4176 aligncenter" src="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/02/versioning.png" alt="versioning" width="600" height="400" srcset="https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/02/versioning.png 600w, https://www.scmgalaxy.com/tutorials/wp-content/uploads/2010/02/versioning-300x200.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></h3>
<h3>Why Worry About Versioning?</h3>
<p>Having a good version scheme for your software is important for several reasons. The following are the top five things a version scheme allows you to do (in random order):</p>
<p>Track your product binaries to the original source files.</p>
<p>Re-create a past build by having meaningful labels in your source tree.</p>
<p>Avoid &#8220;DLL hell&#8221; —multiple versions of the same file (library in this case) on a machine.</p>
<p>Help your setup program handle upgrades and service packs.</p>
<p>Provide your product support and Q/A teams with an easy way to identify the bits they are working with.</p>
<p>So, how do you keep track of files in a product and link them back to the owner? How can you tell that you are testing or using the latest version of a released file? What about the rest of the reasons in the list? This chapter describes my recommendations for the most effective and easiest way to set up and apply versioning to your software. Many different schemes are available, and you should feel free to create your own versioning method.</p>
<p>Ultimately, like most of the other topics in this book, the responsibility to apply versioning to the files in a build tends to fall into the hands of the build team. That might be because it is usually the build team that has to deal with the headaches that come from having a poor versioning scheme. Therefore, it is in their best interest to publish, promote, and enforce a good versioning scheme. If the build team does not own this, then someone who does not understand the full implications of versioning will make the rules. Needless to say, this would not be desirable for anybody involved with the product.</p>
<h3>File Versioning</h3>
<p>Every file in a product should have a version number; a four-part number separated by periods such as the one that follows seems to be the established best practice. There are many variations of what each part represents. I will explain what I think is the best way of defining these parts.</p>
<p>&#8230;</p>
<p><b>Major version</b>— The component owner usually assigns this number. It should be the internal version of the product. It rarely changes during the development cycle of a product release.</p>
<p><b>Minor version</b>— The component owner usually assigns this number. It is normally used when an incremental release of the product is planned instead of a full feature upgrade. It rarely changes during the development cycle of a product release.</p>
<p><b>Build number</b>— The build team usually assigns this number based on the build that the file was generated with. It changes with every build of the code.</p>
<p><b>Revision</b>— The build team usually assigns this number. It can have several meanings: bug number, build number of an older file being replaced, or service pack number. It rarely changes. This number is used mostly when servicing the file for an external release.</p>
<h3>Build Number</h3>
<p>Each build that is released out of the Central Build Lab should have a unique version stamp (also known as the build number). This number should be incremented just before a build is started. Don&#8217;t use a date for a build number or mix dates into a version number simply because there are so many date formats out there that it can be difficult to standardize on one. Also, if you have more than one build on a given date, the naming can get tricky. Stick with an n=n+1 build number. For example, if you release build 100 in the morning and rebuild and release your code in the afternoon, the afternoon build should be build 101. If you were to use a date for the build number, say 010105, what would your afternoon build number be? 010105.1? This can get rather confusing.</p>
<p>It is also a good idea to touch all the files just prior to releasing the build so that you get a current date/time stamp on the files. By &#8220;touching&#8221; the files, I simply mean using a tool (touch.exe) to modify the date/time stamp on a file. There are several free tools available for you to download, or you can write one yourself. Touching the files helps in the tracking process of the files and keeps all of the dates and times consistent in a build release. It also eliminates the need to include the current date in a build number. You already have the date by just looking at the file properties.</p>
<p>In addition, try to avoid tools that inject version numbers into binaries (as a post-build step). Although the tools might seem reliable, they introduce an instability factor into your released binaries by hacking hexadecimal code. Most Q/A teams become distressed if this happens to the binaries they are testing—and justifiably so. The build number should be built into the binary or document files.</p>
<h3>Source Code Control Trees</h3>
<p>All the source code control (SCC) software that I have seen has some kind of labeling function to track either checked-in binaries or source code. (Remember that I am not for checking in binaries, but I mention this for the groups or teams that do. This type of versioning (or more appropriately named labeling) is typically used to track a group of sources that correspond to a product release. Most of the time, they combine labeling of the sources with the branching of the source code lines.</p>
<h3>Should There Be Other Fields in the File Version Number?</h3>
<p>I am of the opinion that no, there shouldn&#8217;t be other fields in the file version number. Let&#8217;s look at some other fields that might seem like they should be included but really don&#8217;t need to be:</p>
<ul>
<li><b>Virtual Build Lab (VBL) or offsite development group number</b>— You can use this number to track a check-in back to a specific site or lab that the code was worked on. If you have a golden tree or mainline setup, and all your VBLs or offsite trees have to reverse integrate into the golden tree, this extra field would be overkill. That&#8217;s because you can trace the owner through the golden tree check-in. Having a field in which you would have to look up the VBL or offsite number would take just as long.
<p>The reality is that when you check a version number, you won&#8217;t care where the file came from. You&#8217;ll only care if it is a unique enough number to accurately trace the file to the source that created it. Most likely, you&#8217;ll already know the version number you&#8217;re looking for and you&#8217;ll just need to confirm that you&#8217;re using it.</li>
<li><b>Component</b>—If you break your whole project into separate components, should each component have its own identification number that would be included in the version string? No, similarly to the reasons in the previous bullet, you can track this information by the name of the binary or other information when checking the other properties of the file. This information would probably only come into play if you were filing a bug and you had other resources available to determine which component this file belonged to.</li>
<li><b>Service Pack Build Number</b>— If you&#8217;re doing daily builds of a service pack release, you should use the earlier example; increment the build number and keep the revision number at the current in-place file build number. This seems like a good argument for a fifth field, but it isn&#8217;t if the revision field is used properly.</li>
</ul>
<p>&nbsp;</p>
<h3>DLL or Executable Versions for .NET (Assembly Versions)</h3>
<p>This section applies to you only if you are programming in .NET.</p>
<p>When Microsoft introduced .NET, one of its goals was to get rid of DLL hell and all the extra setup steps I talk about later in this chapter. In reviewing where .NET is today, it looks like Microsoft has resolved the sideby-side DLL hell problem, but now the problem is &#8220;assembly version hell.&#8221; Without going into too much detail about the .NET infrastructure, let&#8217;s touch on the difference between file versioning and assembly versioning.</p>
<p>Assembly versions are meant for binding purposes only; they are not meant for keeping track of different daily versions. Use the file version for that instead. It is recommended that you keep the assembly version the same from build to build and change it only after each external release. For more details on how .NET works with these versions, refer to Jeffrey Richter&#8217;s .NET book. Don&#8217;t link the two versions, but make sure each assembly has both an assembly version and a file version when you right-click. You can use the same format described earlier for file versioning for the assembly version.</p>
<h3>How Versioning Affects Setup</h3>
<p>Have you ever met someone who reformats his machine every six months because &#8220;it just crashes less if I do&#8221; or it &#8220;performs better?&#8221; It might sound draconian, but the current state of component versioning and setup makes starting from scratch a likely solution to these performance issues, which are further complicated by spyware.</p>
<p>Most of the problems occur when various pieces of software end up installing components (DLLs and COM components) that are not quite compatible with each other or with the full set of installed products. Just one incorrect or incorrectly installed DLL can make a program flaky or prevent it from starting up. In fact, DLL and component installation is so important that it is a major part of the Windows logo requirement.</p>
<p>If you are involved in your product&#8217;s setup, or if you are involved in making decisions about how to update your components (produce new versions), you can do some specific things to minimize DLL hell and get the correct version of your file on the machine.</p>
<p>Installing components correctly is a little tricky, but with these tips, you can install your components in a way that minimizes the chance of breaking other products on your own.</p>
<h4>Install the Correct Version of a Component for the Operating System and Locale</h4>
<p>If you have operating system (OS)-specific components, make sure your setup program(s) check which OS you are using and install only the correct components. Also, you cannot give two components the same name and install them in the same directory. If you do, you overwrite the component on the second install on a dual-boot system. Note that the logo requirements recommend that you avoid installing different OS files if possible. Related to this problem is the problem caused when you install the wrong component or typelib for the locale in use, such as installing a U.S. English component on a German machine. This causes messages, labels, menus, and automation method names to be displayed in the wrong language.</p>
<h4>Write Components to the Right Places</h4>
<p>Avoid copying components to a system directory. An exception to this is if you are updating a system component. For that, you must use an update program provided by the group within Microsoft that maintains the component.</p>
<p>In general, you should copy components to the same directory that you copy the EXE. If you share components between applications, establish a shared components directory. However, it is not recommended that you share components between applications. The risks outweigh the benefits of reduced disk space consumption.</p>
<h4>Do Not Install Older Components Over Newer Ones</h4>
<p>Sometimes, the setup writer might not properly check the version of an installed component when deciding whether to overwrite the component or skip it. The result can be that an older version of the component is written over a newer version. Your product runs fine, but anything that depends on new features of the newer component fails. Furthermore, your product gets a reputation for breaking other products. We address the issue of whether it makes sense to overwrite components at all. But if you do overwrite them, you don&#8217;t want to overwrite a newer version.</p>
<h4>&#8220;Copy on Reboot&#8221; If Component Is in Use</h4>
<p>Another common mistake is to avoid dealing with the fact that you cannot overwrite a component that is in use. Instead, you have to set up the file to copy on reboot. Note that if one component is in use, you probably should set up all the components to copy on reboot. If you don&#8217;t, and if the user doesn&#8217;t reboot promptly, your new components could be mixed with the old ones.</p>
<h4>Register Components Correctly; Take Security into Account</h4>
<p>Sometimes setups don&#8217;t properly register COM components correctly, including the proxy and stub. Note that Windows CE requires that you also register DLLs. Note, too, that when installing DCOM components, you must be vigilant about permissions and security.</p>
<h4>Copy Any Component That You Overwrite</h4>
<p>It is smart to make a copy of any component that you overwrite before you overwrite it. You won&#8217;t want to put it back when you uninstall unless you&#8217;re sure that no product installed after yours will need the newer component—a difficult prediction! But by storing the component in a safe place, you make it possible for the user to fix his system if it turns out that the component you installed breaks it. You can let users know about this in the troubleshooting section of your documentation, the README file, or on your Web site. Doing this might not save a call to support, but it does at least make the problem solvable. If the component is not in use, you can move it rather than copying it. Moving is a much faster operation.</p>
<h4>Redistribute a Self-Extracting EXE Rather Than Raw Components</h4>
<p>If your component is redistributed by others (for instance, your component is distributed with several different products, especially third-party products), it is wise to provide a self-extracting EXE that sets up your component correctly. Make this EXE the only way that you distribute your component. (Such an EXE is also an ideal distribution package for the Web.) If you just distribute raw components, you have to rely on those who redistribute your components to get the setup just right. As we have seen, this is pretty easy to mess up.</p>
<p>Your EXE should support command-line switches for running silently (without a UI) and to force overwriting, even of newer components, so that product support can step users through overwriting if a problem arises.</p>
<p>If you need to update core components that are provided by other groups, use only the EXE that is provided by that group.</p>
<h4>Test Setup on Real-World Systems</h4>
<p>If you&#8217;re not careful, you can install all your setup testing on systems that already happen to have the right components installed and the right registry entries made. Be sure to test on raw systems, on all operating systems, and with popular configurations and third-party software already installed. Also, test other products to make sure they still work after you install your components.</p>
<h3>Even Installing Correctly Does Not Always Work</h3>
<p>Even if you follow all the preceding steps and install everything 100 percent correctly, you can still have problems caused by updating components. Why? Well, even though the new component is installed correctly, its behavior might be different enough from the old component that it breaks existing programs. Here is an example. The specification for a function says that a particular parameter must not be NULL, but the old version of the component ran fine if you passed NULL. If you enforce the spec in a new version (you might need to do this to make the component more robust), any code that passes NULL fails. Because not all programmers read the API documentation each time they write a call, this is a likely scenario.</p>
<p>It is also possible for a new version to introduce a bug that you simply didn&#8217;t catch in regression testing. It is even possible for clients to break as a result of purely internal improvements if they were relying on the old behavior. Typically, we assume that nothing will break when we update a component. In fact, according to Craig Wittenberg, one of the developers of COM who now works in the ComApps group at Microsoft, if you don&#8217;t have a plan for versioning your components in future releases, it is a major red flag for any component development project. In other words, before you ship Version 1, you need to have a plan for how you will update Version 1.1, Version 2, and beyond—besides how to bug-fix your updates.</p>
<p><b><u>Reference: </u>The Build Master: Microsoft&#8217;s Software Configuration Management Best Practices</b></p>
<p>&nbsp;</p>
<p>The post <a href="https://www.scmgalaxy.com/tutorials/why-worry-about-versioning/">Why Worry About Versioning? &#8211; Versioning Complete guide</a> appeared first on <a href="https://www.scmgalaxy.com/tutorials">scmGalaxy</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.scmgalaxy.com/tutorials/why-worry-about-versioning/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
