<?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>Performance &#8211; Kodono</title>
	<atom:link href="https://blog.kodono.info/wordpress/tag/performance/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.kodono.info/wordpress</link>
	<description>Pour tous les technophiles</description>
	<lastBuildDate>Thu, 15 Jun 2017 09:55:42 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>
	<item>
		<title>How to cache the CSS Fonts with Sharepoint</title>
		<link>https://blog.kodono.info/wordpress/2017/06/15/how-to-cache-the-css-fonts-with-sharepoint/</link>
					<comments>https://blog.kodono.info/wordpress/2017/06/15/how-to-cache-the-css-fonts-with-sharepoint/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Thu, 15 Jun 2017 09:36:20 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Niveau débutant]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[sharepoint]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=1807</guid>

					<description><![CDATA[If you use your own CSS file with your own CSS fonts, then we&#8217;ll notice that Sharepoint doesn&#8217;t send cache headers if you use the below CSS code: @font-face { font-family: 'Roboto'; src: url('/_catalogs/masterpage/css/fonts/Roboto/Regular/Roboto-Regular.woff2') format('woff2'), url('/_catalogs/masterpage/css/fonts/Roboto/Regular/Roboto-Regular.woff') format('woff'), url('/_catalogs/masterpage/css/fonts/Roboto/Regular/Roboto-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; } To have this resource sent back from the Sharepoint server with [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>If you use your own CSS file with your own CSS fonts, then we&#8217;ll notice that Sharepoint doesn&#8217;t send cache headers if you use the below CSS code:</p>
<pre class="brush:css">
@font-face {
  font-family: 'Roboto';
  src: url('/_catalogs/masterpage/css/fonts/Roboto/Regular/Roboto-Regular.woff2') format('woff2'),
       url('/_catalogs/masterpage/css/fonts/Roboto/Regular/Roboto-Regular.woff') format('woff'),
       url('/_catalogs/masterpage/css/fonts/Roboto/Regular/Roboto-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}
</pre>
<p>To have this resource sent back from the Sharepoint server with cache headers, you just need to add <code>?ctag=0</code> at the end:</p>
<pre class="brush:css">
@font-face {
  font-family: 'Roboto';
  src: url('/_catalogs/masterpage/css/fonts/Roboto/Regular/Roboto-Regular.woff2?ctag=0') format('woff2'),
       url('/_catalogs/masterpage/css/fonts/Roboto/Regular/Roboto-Regular.woff?ctag=0') format('woff'),
       url('/_catalogs/masterpage/css/fonts/Roboto/Regular/Roboto-Regular.ttf?ctag=0') format('truetype');
  font-weight: 400;
  font-style: normal;
}
</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2017/06/15/how-to-cache-the-css-fonts-with-sharepoint/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Quickly find if an object is an array [JavaScript]</title>
		<link>https://blog.kodono.info/wordpress/2015/12/15/quickly-find-if-an-object-is-an-array-javascript/</link>
					<comments>https://blog.kodono.info/wordpress/2015/12/15/quickly-find-if-an-object-is-an-array-javascript/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Tue, 15 Dec 2015 10:21:56 +0000</pubDate>
				<category><![CDATA[Niveau débutant]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[javascript]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=1580</guid>

					<description><![CDATA[You could use Array.isArray(obj) but it&#8217;s not available for IE8 and it doesn&#8217;t seem very good on the performance side. The best one on the different browsers is to test: obj instanceof Array]]></description>
										<content:encoded><![CDATA[<p>You could use <code>Array.isArray(obj)</code> but it&#8217;s not available for IE8 and it doesn&#8217;t seem very good on the performance side. The <a href="http://jsperf.com/js-isarray-comparison">best one on the different browsers</a> is to test: <code>obj instanceof Array</code></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2015/12/15/quickly-find-if-an-object-is-an-array-javascript/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tester les performances d&#8217;un code Javascript via un benchmark [performance]</title>
		<link>https://blog.kodono.info/wordpress/2011/08/19/tester-les-performances-dun-code-javascript-via-un-benchmark-performance/</link>
					<comments>https://blog.kodono.info/wordpress/2011/08/19/tester-les-performances-dun-code-javascript-via-un-benchmark-performance/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Fri, 19 Aug 2011 13:50:10 +0000</pubDate>
				<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[javascript]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=709</guid>

					<description><![CDATA[Je vous conseille de tester régulièrement votre code Javascript pour voir les performances par rapport à d&#8217;autres commandes. Il arrive qu&#8217;on hésite entre deux (ou plus!) façons de faire. Il existe le populaire http://jsperf.com/ qui offre la possibilité de tester autant de bouts de code que l&#8217;on souhaite, en appelant même quelques framework bien connus [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Je vous conseille de tester régulièrement votre code Javascript pour voir les performances par rapport à d&#8217;autres commandes. Il arrive qu&#8217;on hésite entre deux (ou plus!) façons de faire.</p>
<p>Il existe le populaire <a href="http://jsperf.com/">http://jsperf.com/</a> qui offre la possibilité de tester autant de bouts de code que l&#8217;on souhaite, en appelant même quelques framework bien connus (comme jQuery).</p>
<p>Mais si vous avez des besoins un peu plus particulier, ou vous devez travailler sur un environnement restreint, alors il est possible d&#8217;utiliser <a href="http://www.broofa.com/Tools/JSLitmus/">JSLitmus</a>. La façon de l&#8217;utiliser est <strong>incroyablement simple</strong> :</p>
<pre class="brush:javascript">&lt;script src="JSLitmus.js">&lt;/script>
&lt;script>
JSLitmus.test('Mon premier test', function() { /* do something */ });
JSLitmus.test('Mon second test', function() { /* do something else */ });
&lt;/script></pre>
<p>Cela fait apparaître un bouton &#8220;Run tests&#8221; avec un petit tableau. Une fois le test fini le tableau et un graphique vous donnent les informations nécessaires, et en l&#8217;occurrence plus le chiffre (nombre d&#8217;opérations/sec) est grand et mieux c&#8217;est.</p>
<p>Voici un exemple qui montre que l&#8217;utilisation de <code>search</code> est bien plus rapide que de déclarer une <code>RegExp</code> puis appeler <code>match</code> :</p>
<pre class="brush:javascript">&lt;html>
&lt;head>
&lt;script src="http://www.broofa.com/Tools/JSLitmus/JSLitmus.js">&lt;/script>
&lt;/head>
&lt;body>
&lt;script>
JSLitmus.test('Mon premier test', function() { var regExp = new RegExp("pouet$"); var ok = ("pouet".match(regExp) != null); });
JSLitmus.test('Mon deuxième test', function() { var ok = ("pouet".search("pouet") != -1); });
&lt;/script>
&lt;/body>&lt;/html></pre>
<p>Résultat :<br />
<img fetchpriority="high" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2011/08/JSLitmus-238x300.png" alt="" title="JSLitmus" width="238" height="300" class="aligncenter size-medium wp-image-710" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2011/08/JSLitmus-238x300.png 238w, https://blog.kodono.info/wordpress/wp-content/uploads/2011/08/JSLitmus.png 278w" sizes="(max-width: 238px) 100vw, 238px" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2011/08/19/tester-les-performances-dun-code-javascript-via-un-benchmark-performance/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>L&#8217;opérateur typeof en Javascript [programmation]</title>
		<link>https://blog.kodono.info/wordpress/2011/08/14/loperateur-typeof-en-javascript-programmation/</link>
					<comments>https://blog.kodono.info/wordpress/2011/08/14/loperateur-typeof-en-javascript-programmation/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sun, 14 Aug 2011 18:49:56 +0000</pubDate>
				<category><![CDATA[Niveau débutant]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Performance]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=687</guid>

					<description><![CDATA[Si vous avez déjà essayé d&#8217;utiliser typeof en Javascript pour trouver le type d&#8217;un objet, vous avez dû vous rendre compte que cet opérateur n&#8217;aide pas beaucoup&#8230;. Le typeof par défaut de Javascript Déjà, comme typeof est un opérateur, vous n&#8217;avez pas besoin d&#8217;utiliser des parenthèses ou une quelconque autre décoration. Ainsi on aura : [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Si vous avez déjà essayé d&#8217;utiliser <code>typeof</code> en Javascript pour trouver le type d&#8217;un objet, vous avez dû vous rendre compte que cet opérateur n&#8217;aide pas beaucoup&#8230;.</p>
<h1>Le typeof par défaut de Javascript</h1>
<p>Déjà, comme <code>typeof</code> est un opérateur, vous n&#8217;avez pas besoin d&#8217;utiliser des parenthèses ou une quelconque autre décoration.<br />
Ainsi on aura :</p>
<pre class="brush:javascript">typeof 2; // -> "number"
typeof "Kodono"; // -> "string"</pre>
<p>On peut remarquer qu&#8217;ici <code>typeof</code> nous a bien donné ce qu&#8217;on attendait&#8230; mais voilà ce qu&#8217;il se passe avec d&#8217;autres exemples :</p>
<pre class="brush:javascript">typeof []; // -> "object"
typeof new Boolean(true); // -> "object"
typeof /a/; // -> "object"
typeof new Date(); // -> "object"
typeof null; // -> "object"</pre>
<p>Comme on peut le voir, l&#8217;opérateur va fournir un &#8220;object&#8221; dans de nombreuses situations, ce qui n&#8217;aide pas du tout.</p>
<h1>Créer un meilleur typeof</h1>
<p>Pour faire court, on peut appliquer <code>Object.prototype.toString.call</code> à un objet qui va retourner une chaine au format &#8220;[object <i>Class</i>]&#8221;. Quelques exemples :</p>
<pre class="brush:javascript">Object.prototype.toString.call(new Number(2)); // -> [object Number]
Object.prototype.toString.call(new Date()); // -> [object Date]
Object.prototype.toString.call(/a/); // -> [object RegExp]</pre>
<p>Maintenant que l&#8217;on sait ça on peut créer notre propose fonction <code>typeOf</code> (en sachant que <code>Object.prototype</code> peut se raccourcir par <code>({})/</code>).<br />
On trouve sur Internet différentes façons de faire que je vais vous proposer.</p>
<h2 style="float:none; padding-top:10px">La plus lente</h2>
<p>Elle n&#8217;est pas très rapide (dûe à l&#8217;utilisation des expressions régulières), mais elle est très courte :</p>
<pre class="brush:javascript">function typeOf(obj){return({}).toString.call(obj).match(/\s(\w+)/)[1]}

console.log(typeOf(new Number(2))); // -> Number
console.log(typeOf(new Date())); // -> Date
console.log(typeOf("test")); // -> String
console.log(typeOf(null)); // -> Null
console.log(typeOf(/a/)); // -> RegExp
console.log(typeOf([])); // -> Array
console.log(typeOf(function(){})); // -> Function</pre>
<h2 style="float:none; padding-top:10px">jQuery.type</h2>
<p>Si vous utilisez déjà <em>jQuery</em>, vous pouvez utiliser la fonction <a href="http://api.jquery.com/jQuery.type/">jQuery.type</a> qui propose une fonction assez rapide et efficace.<br />
Ils utilisent la méthode suivante :</p>
<pre class="brush:javascript">
function typeOf(obj){
  var c2t={"[object Boolean]":"Boolean","[object Number]":"Number","[object String]":"String","[object Function]":"Function","[object Array]":"Array","[object Date]":"Date","[object RegExp]":"RegExp","[object Object]":"Object"};
  return obj==null?String(obj):c2t[({}).toString.call(obj)]||"object";
}

console.log(typeOf(new Number(2))); // -> Number
console.log(typeOf(new Date())); // -> Date
console.log(typeOf("test")); // -> String
console.log(typeOf(null)); // -> Null
console.log(typeOf(/a/)); // -> RegExp
console.log(typeOf([])); // -> Array
console.log(typeOf(function(){})); // -> Function</pre>
<h2 style="float:none; padding-top:10px">La plus courte et rapide</h2>
<p>Celle-ci ne prend que quelques caractères, et se veut <a href="http://jsperf.com/typeof-test-case">rapide en plus</a> !</p>
<pre class="brush:javascript">function typeOf(obj) {return({}).toString.call(obj).slice(8,-1)}

console.log(typeOf(new Number(2))); // -> Number
console.log(typeOf(new Date())); // -> Date
console.log(typeOf("test")); // -> String
console.log(typeOf(null)); // -> Null
console.log(typeOf(/a/)); // -> RegExp
console.log(typeOf([])); // -> Array
console.log(typeOf(function(){})); // -> Function</pre>
<h1>Conclusion</h2>
<p>Si vous utilisez déjà jQuery dans votre code, alors vous pouvez faire confiance à <code>jQuery.type</code>, sinon je vous conseille la dernière fonction proposée :</p>
<pre class="brush:javascript">function typeOf(obj) {return({}).toString.call(obj).slice(8,-1)}</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2011/08/14/loperateur-typeof-en-javascript-programmation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Activer la compression GZip sur WordPress [Performance]</title>
		<link>https://blog.kodono.info/wordpress/2010/02/01/activer-la-compression-gzip-sur-wordpress-performance/</link>
					<comments>https://blog.kodono.info/wordpress/2010/02/01/activer-la-compression-gzip-sur-wordpress-performance/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Mon, 01 Feb 2010 05:22:52 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Niveau débutant]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=413</guid>

					<description><![CDATA[[niveau débutant] Si vous souhaitez que WordPress serve les pages de votre blog plus rapidement (et surtout en prenant moins de bande passante, c&#8217;est-à-dire en pesant moins lourd), vous pouvez utiliser l&#8217;option de compression au format GZip. Pour cela il faut simplement ajouter la ligne suivante au début de votre fichier header.php (accessible depuis la [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[niveau débutant]</p>
<p>Si vous souhaitez que WordPress serve les pages de votre blog plus rapidement (et surtout en prenant moins de bande passante, c&#8217;est-à-dire en pesant moins lourd), vous pouvez utiliser l&#8217;option de compression au format GZip. Pour cela il faut simplement ajouter la ligne suivante au début de votre fichier <em>header.php</em> (accessible depuis la partie &#8220;Apparence &gt; Editeur&#8221; de l&#8217;admin de votre blog) :</p>
<div class="code">&lt;?php ob_start(“ob_gzhandler”); ?&gt;</div>
<p>Vous pouvez ensuite vérifier que votre blog utilise bien la compression grâce au site <a href="http://www.gidnetwork.com/tools/gzip-test.php">http://www.gidnetwork.com/tools/gzip-test.php</a>, ou en regardant les en-têtes de la page grâce à un plugin Firefox (comme <a href="http://getfirebug.com/">Firebug</a>).</p>
<p>Attention cependant de vérifier que votre hébergeur supporte cette fonctionnalité (ce qui est le cas la plupart du temps).</p>
<p>Source: <a href="http://rosedesrochers.todays-woman.net/2010/01/31/how-to-enable-gzip-compression-in-wordpress/">http://rosedesrochers.todays-woman.net/2010/01/31/how-to-enable-gzip-compression-in-wordpress/</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2010/02/01/activer-la-compression-gzip-sur-wordpress-performance/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
