<?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>Programming Archives - EckoThemes</title>
	<atom:link href="https://onyx-dark-wp.ecko.me/category/programming-patterns/feed/" rel="self" type="application/rss+xml" />
	<link>https://onyx-dark-wp.ecko.me/category/programming-patterns/</link>
	<description>Onyx (Dark) WordPress Theme</description>
	<lastBuildDate>Fri, 17 Jan 2025 23:48:26 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://onyx-dark-wp.ecko.me/wp-content/uploads/2025/01/favicon-50x50.png</url>
	<title>Programming Archives - EckoThemes</title>
	<link>https://onyx-dark-wp.ecko.me/category/programming-patterns/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Faster Response Time with Reverse Proxy Cache</title>
		<link>https://onyx-dark-wp.ecko.me/improve-response-time-with-reverse-proxy-cache/</link>
					<comments>https://onyx-dark-wp.ecko.me/improve-response-time-with-reverse-proxy-cache/#comments</comments>
		
		<dc:creator><![CDATA[Samantha Lane]]></dc:creator>
		<pubDate>Fri, 20 Oct 2023 05:36:55 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Web]]></category>
		<guid isPermaLink="false">http://kitewp.ecko.me/?p=311</guid>

					<description><![CDATA[<p>These resources are then returned to the client as though they originated from the server itself (or servers themselves). While a forward proxy acts as an intermediary for its (usually nearby) associated clients and returns to them resources accessible on the Internet, a reverse proxy acts as an intermediary for its (usually nearby) associated servers [&#8230;]</p>
<p>The post <a href="https://onyx-dark-wp.ecko.me/improve-response-time-with-reverse-proxy-cache/">Faster Response Time with Reverse Proxy Cache</a> appeared first on <a href="https://onyx-dark-wp.ecko.me">EckoThemes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>These resources are then returned to the client as though they originated from the server itself (or servers themselves). While a forward proxy acts as an intermediary for its (usually nearby) associated clients and returns to them resources accessible on the Internet, a reverse proxy acts as an intermediary for its (usually nearby) associated servers and only returns resources provided by those associated servers.</p>



<span id="more-311"></span>



<h3 class="wp-block-heading">NGINX</h3>



<p>NGINX is a high performance, open source web application accelerator that helps over 37% of the world’s busiest websites deliver more content, faster, to its users.</p>



<p>Companies deploy NGINX to manage the complexities and pitfalls associated with HTTP and to make their web applications more responsive, scalable, fast and secure. NGINX is commonly installed between the network and the application to offload concurrency processing, URL switching, HTTP load balancing, SSL termination, caching, and security policies.</p>



<h3 class="wp-block-heading">APACHE</h3>



<p>The Apache HTTP Server Project is a collaborative software development effort aimed at creating a robust, commercial-grade, featureful, and freely-available source code implementation of an HTTP (Web) server. The project is jointly managed by a group of volunteers located around the world, using the Internet and the Web to communicate, plan, and develop the server and its related documentation. This project is part of the Apache Software Foundation. In addition, hundreds of users have contributed ideas, code, and documentation to the project. This file is intended to briefly describe the history of the Apache HTTP Server and recognize the many contributors.</p>



<h3 class="wp-block-heading">VARNISH</h3>



<p>Varnish is an HTTP accelerator designed for content-heavy dynamic web sites. In contrast to other web accelerators, such as Squid, which began life as a client-side cache, or Apache and nginx, which are primarily origin servers, Varnish was designed as an HTTP accelerator. Varnish is focused exclusively on HTTP, unlike other proxy servers that often support FTP, SMTP and other network protocols.</p>
<p>The post <a href="https://onyx-dark-wp.ecko.me/improve-response-time-with-reverse-proxy-cache/">Faster Response Time with Reverse Proxy Cache</a> appeared first on <a href="https://onyx-dark-wp.ecko.me">EckoThemes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://onyx-dark-wp.ecko.me/improve-response-time-with-reverse-proxy-cache/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>JavaScript Design Patterns Introduction</title>
		<link>https://onyx-dark-wp.ecko.me/design-patterns-introduction/</link>
					<comments>https://onyx-dark-wp.ecko.me/design-patterns-introduction/#comments</comments>
		
		<dc:creator><![CDATA[Samantha Lane]]></dc:creator>
		<pubDate>Wed, 13 Sep 2023 20:25:52 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://wpdev.ecko.me/?p=73</guid>

					<description><![CDATA[<p>A lot of mobile-minded talented folks across the globe produce great work, but yet sometimes you still hear many of them complain about their relationships with their clients. They often mention feeling isolated and not truly understanding what the client really needed.</p>
<p>The post <a href="https://onyx-dark-wp.ecko.me/design-patterns-introduction/">JavaScript Design Patterns Introduction</a> appeared first on <a href="https://onyx-dark-wp.ecko.me">EckoThemes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>In the first part of this book, we will explore the history and importance of design patterns which can really be applied to any programming language. If you&#8217;re already sold on or are familiar with this history, feel free to skip to the chapter &#8220;What is a Pattern?&#8221; to continue reading.</p>



<p>Design patterns can be traced back to the early work of an architect named Christopher Alexander. He would often write publications about his experience in solving design issues and how they related to buildings and towns. One day, it occurred to Alexander that when used time and time again, certain design constructs lead to a desired optimal effect.</p>



<span id="more-73"></span>



<p>In collaboration with Sara Ishikawa and Murray Silverstein, Alexander produced a pattern language that would help empower anyone wishing to design and build at any scale. This was published back in 1977 in a paper titled &#8220;A Pattern Language&#8221;, which was later released as a complete hardcover book.</p>



<p>Some 30 years ago, software engineers began to incorporate the principles Alexander had written about into the first documentation about design patterns, which was to be a guide for novice developers looking to improve their coding skills. It&#8217;s important to note that the concepts behind design patterns have actually been around in the programming industry since its inception, albeit in a less formalized form.</p>



<p>One of the first and arguably most iconic formal works published on design patterns in software engineering was a book in 1995 called Design Patterns: Elements Of Reusable Object-Oriented Software. This was written by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides &#8211; a group that became known as the Gang of Four (or GoF for short).</p>



<p>The GoF&#8217;s publication is considered quite instrumental to pushing the concept of design patterns further in our field as it describes a number of development techniques and pitfalls as well as providing twenty-three core Object-Oriented design patterns frequently used around the world today. We will be covering these patterns in more detail in the section &#8220;Categories of Design Patterns&#8221;.</p>



<p>In this book, we will take a look at a number of popular JavaScript design patterns and explore why certain patterns may be more suitable for your projects than others. Remember that patterns can be applied not just to vanilla JavaScript (i.e standard JavaScript code), but also to abstracted libraries such as jQuery or dojo as well. Before we begin, let’s look at the exact definition of a &#8220;pattern&#8221; in software design.</p>



<h2 class="wp-block-heading" id="whatisapattern">What is a Pattern?</h2>



<p>A pattern is a reusable solution that can be applied to commonly occurring problems in software design &#8211; in our case &#8211; in writing JavaScript web applications. Another way of looking at patterns are as templates for how we solve problems &#8211; ones which can be used in quite a few different situations.</p>



<ul class="wp-block-list"><li><strong>Patterns are proven solutions:</strong> They provide solid approaches to solving issues in software development using proven techniques that reflect the experience and insights the developers that helped define them bring to the pattern.</li><li><strong>Patterns can be easily reused:</strong> A pattern usually reflects an out of the box solution that can be adapted to suit our own needs. This feature makes them quite robust.</li><li><strong>Patterns can be expressive:</strong> When we look at a pattern there’s generally a set structure and vocabulary to the solution presented that can help express rather large solutions quite elegantly.</li></ul>



<h2 class="wp-block-heading" id="designpatterncategorization">Design Pattern Categorization</h2>



<p>In my early experiences of learning about design patterns, I personally found the following table a very useful reminder of what a number of patterns has to offer &#8211; it covers the 23 Design Patterns mentioned by the GoF. The original table was summarized by Elyse Nielsen back in 2004 and I&#8217;ve modified it where necessary to suit our discussion in this section of the book.</p>



<p>I recommend using this table as reference, but do remember that there are a number of additional patterns that are not mentioned here but will be discussed later in the book.</p>



<h3 class="wp-block-heading" id="abriefnoteonclasses">A brief note on classes</h3>



<p>Keep in mind that there will be patterns in this table that reference the concept of &#8220;classes&#8221;. JavaScript is a class-less language, however classes can be simulated using functions.</p>



<p>The most common approach to achieving this is by defining a JavaScript function where we then create an object using the new keyword. this can be used to help define new properties and methods for the object as follows:</p>



<pre class="wp-block-code eckosc_syntax eckosc_syntax_theme_dark wp-block-code__dark language-javascript" data-language="language-javascript" data-color-scheme="dark"><code>function Car( model ) {
    this.model = model;
    this.color = "silver";
    this.year  = "2012";
    this.getInfo = function () {
        return this.model + " " + this.year;
    };
}</code></pre>



<p>Learning JavaScript Design Patterns is released under a <a href="http://creativecommons.org/licenses/by-nc-nd/3.0/" target="_blank" rel="noopener">Creative Commons Attribution-Noncommercial-No Derivative Works 3.0</a> unported license. It is available for purchase via <a href="http://www.oreilly.com/" target="_blank" rel="noopener">O&#8217;Reilly Media</a> but will remain available for both free online and as a physical (or eBook) purchase for readers wishing to support the project.</p>
<p>The post <a href="https://onyx-dark-wp.ecko.me/design-patterns-introduction/">JavaScript Design Patterns Introduction</a> appeared first on <a href="https://onyx-dark-wp.ecko.me">EckoThemes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://onyx-dark-wp.ecko.me/design-patterns-introduction/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Getting Started with Version Control &#038; GitHub</title>
		<link>https://onyx-dark-wp.ecko.me/started-github/</link>
					<comments>https://onyx-dark-wp.ecko.me/started-github/#comments</comments>
		
		<dc:creator><![CDATA[Samantha Lane]]></dc:creator>
		<pubDate>Thu, 12 Jan 2023 20:15:51 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">http://koala-wp.ecko.me/?p=821</guid>

					<description><![CDATA[<p>This chapter will be about getting started with Git. We will begin by explaining some background on version control tools, then move on to how to get Git running on your system and finally how to get it set up to start working with. At the end of this chapter you should understand why Git [&#8230;]</p>
<p>The post <a href="https://onyx-dark-wp.ecko.me/started-github/">Getting Started with Version Control &#038; GitHub</a> appeared first on <a href="https://onyx-dark-wp.ecko.me">EckoThemes</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>This chapter will be about getting started with Git. We will begin by explaining some background on version control tools, then move on to how to get Git running on your system and finally how to get it set up to start working with. At the end of this chapter you should understand why Git is around, why you should use it and you should be all set up to do so.</p>



<p>What is &#8220;version control&#8221;, and why should you care? Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. For the examples in this book you will use software source code as the files being version controlled, though in reality you can do this with nearly any type of file on a computer.</p>



<span id="more-821"></span>



<h2 class="wp-block-heading">About Version Control</h2>



<p>If you are a graphic or web designer and want to keep every version of an image or layout (which you would most certainly want to), a Version Control System (VCS) is a very wise thing to use. It allows you to revert files back to a previous state, revert the entire project back to a previous state, compare changes over time, see who last modified something that might be causing a problem, who introduced an issue and when, and more. Using a VCS also generally means that if you screw things up or lose files, you can easily recover. In addition, you get all this for very little overhead.</p>



<h3 class="wp-block-heading">Local Version Control Systems</h3>



<p>Many people’s version-control method of choice is to copy files into another directory (perhaps a time-stamped directory, if they’re clever). This approach is very common because it is so simple, but it is also incredibly error prone. It is easy to forget which directory you’re in and accidentally write to the wrong file or copy over files you don’t mean to.</p>



<p>One of the more popular VCS tools was a system called RCS, which is still distributed with many computers today. Even the popular Mac OS X operating system includes the rcs command when you install the Developer Tools. RCS works by keeping patch sets (that is, the differences between files) in a special format on disk; it can then re-create what any file looked like at any point in time by adding up all the patches.</p>



<h3 class="wp-block-heading">Centralized Version Control Systems</h3>



<p>The next major issue that people encounter is that they need to collaborate with developers on other systems. To deal with this problem, Centralized Version Control Systems (CVCSs) were developed. These systems, such as CVS, Subversion, and Perforce, have a single server that contains all the versioned files, and a number of clients that check out files from that central place. For many years, this has been the standard for version control.</p>



<p>Furthermore, many of these systems deal pretty well with having several remote repositories they can work with, so you can collaborate with different groups of people in different ways simultaneously within the same project. This allows you to set up several types of workflows that aren’t possible in centralized systems, such as hierarchical models.</p>
<p>The post <a href="https://onyx-dark-wp.ecko.me/started-github/">Getting Started with Version Control &#038; GitHub</a> appeared first on <a href="https://onyx-dark-wp.ecko.me">EckoThemes</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://onyx-dark-wp.ecko.me/started-github/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced layout_masonry

Served from: onyx-dark-wp.ecko.me @ 2026-05-08 04:03:19 by W3 Total Cache
-->