<?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>Quand N@t communique... &#187; eclipse</title>
	<atom:link href="http://www.richand.info/blog/tag/eclipse/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.richand.info/blog</link>
	<description>Développement personnel, personal MBA et tout ce qui touche à la vie d'un consultant logiciel.</description>
	<lastBuildDate>Sat, 29 Oct 2011 11:07:07 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Veille techno S12</title>
		<link>http://www.richand.info/blog/2008/03/veille-techno-s12/</link>
		<comments>http://www.richand.info/blog/2008/03/veille-techno-s12/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 15:22:46 +0000</pubDate>
		<dc:creator>Nathaniel Richand</dc:creator>
				<category><![CDATA[Veille techno]]></category>
		<category><![CDATA[AOP]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Document]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[encoded]]></category>
		<category><![CDATA[JMX]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[literal]]></category>
		<category><![CDATA[Mylin]]></category>
		<category><![CDATA[RPC]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[WSDL]]></category>

		<guid isPermaLink="false">http://www.richand.info/blog/?p=14</guid>
		<description><![CDATA[Je vous propose une sélection des articles intéressants de la semaine, principalement orientés J2EE. Au menu: Which style of WSDL should I use? JSF: the good, the bad and the ugly&#8230; Eclipse et mylyn, pour une gestion efficace des bugs et des tâches d&#8217;un projet de développement SpringSource Tool Suite Released Activer un aspect par [...]]]></description>
			<content:encoded><![CDATA[<p>Je vous propose une sélection des articles intéressants de la semaine, principalement orientés J2EE.</p>
<p>Au menu:</p>
<ul>
<li> Which style of WSDL should I use?</li>
<li>JSF: the good, the bad and the ugly&#8230;</li>
<li>Eclipse et mylyn, pour une gestion efficace des bugs et des tâches d&#8217;un projet de développement</li>
<li>SpringSource Tool Suite Released</li>
<li> Activer un aspect par JMX</li>
<li>Build time vs. render time</li>
<li> Choose your managers wisely; they have cookies on the dark side</li>
<li> Software Architecture Document Guidelines</li>
</ul>
<p><span id="more-14"></span></p>
<h2><a href="http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.ibm.com');">Which style of WSDL should I use?</a></h2>
<p>Cet article n&#8217;est pas tout récent, contrairement aux autres. Cependant, si je vous le propose c&#8217;est parce qu&#8217;il est très intéressant et très didactique.<br />
Il résume la problématique RPC vs Document et Literal vs Encoded. Cette problématique est toujours d&#8217;actualité et ne semble pas forcement résolu, comme par exemple chez mon client, où j&#8217;ai du me frotter aux urbanistes à ce sujet.<br />
Pour résumé : RPC/Encoded c&#8217;est très mal car très lourd, Document/Literal c&#8217;est pas terrible car trop léger et les outils ont du mal à s&#8217;y retrouver (c&#8217;est le cas d&#8217;Axis). Enfin, les deux solutions cohérentes sont RPC/Literal et surtout Document/Literal « wrapped ».</p>
<h2><a href="http://blog.developpez.com/index.php?blog=174&amp;title=jsf_the_good_the_bad_and_the_ugly&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1" aiotitle="JSF: the good, the bad and the ugly..." onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.developpez.com');">JSF: the good, the bad and the ugly&#8230;</a></h2>
<p>Un bref retour d&#8217;expérience sur JSF qui illustre bien ce que j&#8217;ai pu lire par ailleurs.<br />
En résumé : Pour les plus on a : les managed beans, le support d&#8217;AJAX via java et taglib  et sans horrible JavaScript, et l&#8217;aspect composants.<br />
Pour les moins : un manque de support IDE, la bookmarkabilité des pages impossible de base, la difficulté d&#8217;utiliser le scope request, la création de composants personnalisés très obscure.</p>
<h2><a href="http://www.clever-age.com/veille/blog/eclipse-et-mylyn-pour-une-gestion-efficace-des-bugs-et-des-taches-d-un-projet-de-developpement.html" aiotitle="Eclipse et mylyn, pour une gestion efficace des bugs et des tâches d'un projet de développement" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.clever-age.com');"> Eclipse et mylyn, pour une gestion efficace des bugs et des tâches d&#8217;un projet de développement</a></h2>
<p>Une brève présentation des fonctionnalités de Mylin, un des projets les plus en vogue d&#8217;Eclipse.</p>
<blockquote><p>Le but de Mylyn est de proposer une interface visuelle destinée à faciliter le traitement de tâches et de bugs directement au sein d&#8217;Eclipse. Ceci bien évidemment dans un but de gain de temps, d&#8217;efficacité et de synergie entre les outils.<br />
Mylyn n&#8217;est pas un gestionnaire de bug, il s&#8217;agit d&#8217;une interface visuelle entre Eclipse et votre gestionnaire de bugs. Le choix de ce dernier repose donc toujours sur les besoins de cette gestion et les outils disponibles sur le marché.<br />
Mylyn propose un connecteur générique pour n&#8217;importe quel outil de suivi mais s&#8217;intègre particulièrement bien avec Bugzilla, Trac et JIRA.<br />
L&#8217;intérêt ? Disposer dans Eclipse des tâches et des bugs pour faciliter et automatiser les traitements.</p></blockquote>
<p><a href="http://blog.springsource.com/main/2008/03/20/springsource-tool-suite-released/" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.springsource.com');"> </a></p>
<h2><a href="http://blog.springsource.com/main/2008/03/20/springsource-tool-suite-released/" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.springsource.com');">SpringSource Tool Suite Released</a></h2>
<p>SpringSource essaye de développer le support de Spring dans Eclipse. Elle a sortie cette semaine la bêta de &laquo;&nbsp;Spring Tool Suite&nbsp;&raquo;, un ensemble d&#8217;outils Eclipse.<br />
SpringSource précise bien que cet outil n&#8217;a pas la vocation de remplacer le projet SpringIDE.</p>
<blockquote><p>So lets see what we got:<br />
•	Spring Development Tools<br />
•	Mylyn&#8217;s Task-Focused User Interface for Java, Resources and Spring application blueprints<br />
•	Task-Focused Tutorials<br />
•	Runtime Error Analysis<br />
•	Best Practice and Architecture Review tools</p></blockquote>
<h2><a href="http://blog.xebia.fr/2008/03/19/activer-un-aspect-par-jmx/" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.xebia.fr');">Activer un aspect par JMX</a></h2>
<p>Un article sympa qui donne des idées sur les possibilités du mariage de l&#8217;AOP avec JMX. A développer.</p>
<h2><a href="http://andrewfacelets.blogspot.com/2008/03/build-time-vs-render-time.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/andrewfacelets.blogspot.com');"> Build time vs. render time</a></h2>
<p>Cet article présente le problème de base entre JSF et les pages JSP et les tags JSTL. Ceci provient du fait que les composant et les pages JSP ne sont pas interprétés au même moment :</p>
<blockquote><p>What I mean by JSF being a component technology, is that HTML is produced by the processing of a component tree by renderers. This design is much more similar to Swing than it is Servlets and JSP.<br />
&#8230;<br />
Most of the &laquo;&nbsp;work&nbsp;&raquo; of a component takes place during rendering. For example, the h:dataTable sets up the var attribute during rendering (and other phases too, but that is not pertinent to this article). This means that EL expressions that rely on variables that only have scope during the rendering phase are not valid during component creation. That is to say, there is no component lifecycle method for when the component is created.</p></blockquote>
<h2><a href="http://blog.xebia.com/2008/03/21/choose-your-managers-wisely-they-have-cookies-on-the-dark-side/" onclick="javascript:pageTracker._trackPageview('/outbound/article/blog.xebia.com');">Choose your managers wisely; they have cookies on the dark side</a></h2>
<p>Un article marrant, mais malheureusement assez vrai&#8230;</p>
<blockquote><p>&#8230;<br />
I am saying that management is one of the professional areas that is relatively easy to get in to but extremely hard to perform well.<br />
Somehow, in the Netherlands, it is fairly common that once a person becomes the best in his department (in operational sense), they get to lead the department.<br />
Nobody has ever been able to explain that to me though; why does your best programmer/business analyst/etc. make a good manager?<br />
The qualities that lead them to be the best in their field are mostly not the qualities that are required for a good manager.<br />
Besides gaining a potentially bad manager you also lose your best operational person; sounds like a lose-lose situation to me.</p></blockquote>
<h2><a href="http://www.codingthearchitecture.com/2008/03/18/software_architecture_document_guidelines.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.codingthearchitecture.com');">Software Architecture Document Guidelines</a></h2>
<p>Ce document donne une ligne directrice pour l&#8217;écriture d&#8217;un dossier d&#8217;architecture. Très intéressant, à lire.</p>
<p>Il s&#8217;articule autour des points suivants :</p>
<p>1. Functional View<br />
2. Non-functional View<br />
3. Architectural Principles<br />
4. Architectural Constraints<br />
5. Process View<br />
6. Logical View<br />
7. Interface View<br />
8. Technology Selection<br />
9. Design View<br />
10. Infrastructure View<br />
11. Deployment View<br />
12. Security View<br />
13. Monitoring, Management and Administration View<br />
14. Data View<br />
15. Justification of the Non-functional Requirements</p>
]]></content:encoded>
			<wfw:commentRss>http://www.richand.info/blog/2008/03/veille-techno-s12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse tips : regex et liste des tâches</title>
		<link>http://www.richand.info/blog/2008/03/eclipse-tips-regex-et-liste-des-taches/</link>
		<comments>http://www.richand.info/blog/2008/03/eclipse-tips-regex-et-liste-des-taches/#comments</comments>
		<pubDate>Sun, 16 Mar 2008 11:16:53 +0000</pubDate>
		<dc:creator>Nathaniel Richand</dc:creator>
				<category><![CDATA[J2EE]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[task]]></category>

		<guid isPermaLink="false">http://www.richand.info/blog/?p=13</guid>
		<description><![CDATA[Pour aujourd&#8217;hui quelques astuces Eclipse. Elles sont très simples, mais je les utilise vraiment quotidiennement et je me rend compte que pas mal de personnes ne les connaissent pas. La première est l&#8217;utilisation des regex dans l&#8217;éditeur « rechercher/remplacer ». Comment peut-on gagner beaucoup de temps et s&#8217;éviter un boulot à la con ? La [...]]]></description>
			<content:encoded><![CDATA[<p>Pour aujourd&#8217;hui quelques astuces Eclipse. Elles sont très simples, mais je les utilise vraiment quotidiennement et je me rend compte que pas mal de personnes ne les connaissent pas.<br />
<img src="http://www.picocontainer.org/script/images/eclipse-logo-white.jpg" style="width: 155px; height: 90px" height="90" width="155" /></p>
<ul>
<li> La première est l&#8217;utilisation des regex dans l&#8217;éditeur « rechercher/remplacer ». Comment peut-on gagner beaucoup de temps et s&#8217;éviter un boulot à la con ?</li>
<li>La seconde est l&#8217;utilisation des « tasks » (TODO, FIXME, &#8230;). Comment bien les utiliser, comment créer les siennes ?</li>
</ul>
<p><span id="more-13"></span></p>
<h2>Astuce 1 : gagnez du temps, utilisez les regex</h2>
<p>Il n&#8217;y a rien de plus chiant quand l&#8217;on code que de faire des séquences répétitives comme par exemple : (appui sur la touche &laquo;&nbsp;fin&nbsp;&raquo;, &laquo;&nbsp;;&nbsp;&raquo;, &laquo;&nbsp;flèche du bas&nbsp;&raquo; ) * 20 &#8230;</p>
<p>Plutôt que d&#8217;effectuer des tâches répétitives, je préfère bien souvent plutôt utiliser le temps que je passe d&#8217;habitude à effectuer ceci et ensuite à corriger les erreurs (qui s&#8217;insèrent souvent lorsque l&#8217;on fait ce genre de chose) par plutôt chercher une expression régulière qui effectuera ce boulôt.</p>
<p>Eclipse propose un support basique mais assez efficace des regex dans l&#8217;écran &laquo;&nbsp;Rechercher/Remplacer&nbsp;&raquo; (raccourci ctr+F). Pour celà, il suffit de cliquer sur la checkbox &laquo;&nbsp;Regular Expression&nbsp;&raquo;.</p>
<p><img src="/blog/wp-includes/images/EclipseTips/Replace1.jpg" /></p>
<p>La syntaxe est identique aux expressions régulières java : &laquo;&nbsp;.&nbsp;&raquo; pour tout caractère, &laquo;&nbsp;*&nbsp;&raquo; pour répéter 0 ou n fois, &laquo;&nbsp;()&nbsp;&raquo; pour capturer un groupe, &laquo;&nbsp;[\w] pour récupérer uniquement les caractères de mots, etc&#8230;</p>
<p>Pour récupérer les groupes que l&#8217;on a capturé, on utilise dans la partie &laquo;&nbsp;replace with&nbsp;&raquo; les expressions $1 pour le premier groupe, $2 pour le suivant, etc&#8230;</p>
<p><u>Un petit exemple bateau :</u></p>
<p>A partir de l&#8217;exemple ci dessus, imaginez que l&#8217;on veuille vérifier que toutes les variables de classes ne soient pas nulles.</p>
<p>On copie colle la définition des variables dans notre méthode (voir image1).</p>
<p>On recherche l&#8217;expression : &laquo;&nbsp;Private String ([\w]*) = &laquo;&nbsp;&nbsp;&raquo;;&nbsp;&raquo;</p>
<p>Que l&#8217;on remplace par exemple par : &laquo;&nbsp;if($1 != null &amp;&amp; !($1).equals(&laquo;&nbsp;&nbsp;&raquo;)){}</p>
<p>Ce qui produit comme résultat :</p>
<p><img src="/blog/wp-includes/images/EclipseTips/Replace2.jpg" style="width: 433px; height: 218px" height="218" width="433" /></p>
<p>Marvellous!</p>
<h2>Astuce 2 : n&#8217;oubliez rien, utilisez les tasks</h2>
<p>Je suis un fan des TODO/FIXME. C&#8217;est à dire que plutôt que d&#8217;écrire sur trois milles post-it les choses restant à faire, ou à corriger ou bien d&#8217;utiliser l&#8217;éternel &laquo;&nbsp;Nouveau document texte.txt&nbsp;&raquo; posé sur le bureau. Je préfère que tous ces éléments soient directement intégrés dans le code.</p>
<p>La vue des tasks se présente comme suit :</p>
<p><img src="/blog/wp-includes/images/EclipseTips/TasksList.jpg" /></p>
<p>On remarque tout de suite que l&#8217;avantage est que les tâches sont localisés à l&#8217;endroit ou elle doivent être. Un clic et on s&#8217;y rend. De plus, elle sont priorisable (high, normal ou low).</p>
<p>On peut de plus créer ses propres tâches personnalisées. Pour cela, se rendre dans les préférences -&gt; Java -&gt; Compiler -&gt; tasks tags :</p>
<p><img src="/blog/wp-includes/images/EclipseTips/AddTask.jpg" /></p>
<p>Le seul inconvénient, est que l&#8217;on sera le seul dans l&#8217;équipe à  les voir si les autres ne rajoutent pas ces mêmes tâches. Dans l&#8217;exemple, j&#8217;ai rajouté une tâche NAT avec une priorité haute. J&#8217;ai aussi pour habitude de descendre la tâche XXX en priorité faible.</p>
<p>Un autre truc cool avec les tâches est la gestion facile des filtres. Ces filtres ressemblent pas mal à ceux de la vue &laquo;&nbsp;Errors&nbsp;&raquo; :</p>
<p><img src="/blog/wp-includes/images/EclipseTips/FilterTasks.jpg" /></p>
<p>Ce qui est intéressant est de placer le filtre sur uniquement la classe ouverte lorsque l&#8217;on code (radio &laquo;&nbsp;On selected Element Only&nbsp;&raquo;) et éventuellement de filter sur les priorités. Quand on veux ensuite faire du refactoring global on enlève ces filtres, pratique!</p>
<h2>Bonus :</h2>
<p>En petit bonus aujourd&#8217;hui, je vous propose cet article que j&#8217;ai découvert hier, présentant <a href="http://java.dzone.com/news/effective-eclipse-fix-it-quick" onclick="javascript:pageTracker._trackPageview('/outbound/article/java.dzone.com');">diverses astuces Eclipse</a>.</p>
<p>Une astuce utile à laquelle je n&#8217;avais pas réfléchi et de remplacer dans les templates la génération du try/catch  pour insérer dans le catch :</p>
<p><em>   logger.severe(&laquo;&nbsp;Exception caught: &nbsp;&raquo; + ${exception_var});  </em></p>
<p>Tout bête, mais pratique.</p>
<p>C&#8217;est tout pour aujourd&#8217;hui. En espérant vous avoir fait gagner 5 minutes sur votre prochaine journée <img src='http://www.richand.info/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.richand.info/blog/2008/03/eclipse-tips-regex-et-liste-des-taches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

