<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1252354533270889756</id><updated>2012-01-05T13:27:03.111-08:00</updated><title type='text'>TIC Developer</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tic-developer.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1252354533270889756/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tic-developer.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Martin</name><uri>http://www.blogger.com/profile/05194115461645507361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1252354533270889756.post-7055243247653141281</id><published>2008-04-19T09:24:00.000-07:00</published><updated>2008-04-19T09:44:35.237-07:00</updated><title type='text'>Sang Shin en Cordoba</title><content type='html'>El jueves 17 de Abril de este año estuvo el señor &lt;a href="http://www.javapassion.com/"&gt;Sang Shin &lt;/a&gt; en la Universidad Tecnologica Nacional Facultad Regional de Cordoba disertando acerca del desarrollo de aplicaciones SOA, BPEL JBI y Open ESB con la IDE NetBeans.&lt;br /&gt;La conferencia fue organizada por el &lt;a href="http://www.cordobajug.ar/"&gt;grupo de usuarios java de cordoba &lt;/a&gt;&lt;br /&gt;Se diserto acerca de los conceptos fundamentales de las tecnologias SOA, BPEL JBI, y Open ESB y se siguio un &lt;a href="http://www.netbeans.org/kb/60/soa/understand-trs.html"&gt;ejemplo practico &lt;/a&gt;acerca de como la IDE NetBeans 6.0 facilita el trabajo con estas tecnologias.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.netbeans.org/"&gt;NetBeans &lt;/a&gt;ha crecido mucho desde la version 5.0 hasta la version actual. Tiene caracteristicas, entre otras, como:&lt;br /&gt;Estar soportado por una comunidad&lt;br /&gt;Plugin Central desde donde puedan descargarse los plugins para la IDE&lt;br /&gt;Tutoriales para cada una de las tecnologias que soporta&lt;br /&gt;Soporte para el desarrollo de aplicaciones colaborativas&lt;br /&gt;Soporte para el desarrollo de aplicaciones web&lt;br /&gt;Soporte para el desarrollo de aplicaciones moviles&lt;br /&gt;Soporte para el desarrollo de aplicaciones desktop&lt;br /&gt;Soporte para otros lenguajes de programacion como Ruby y C/C++&lt;br /&gt;Ventanas de edicion de codigo que facilitan el trabajo del desarrollador&lt;br /&gt;&lt;br /&gt;Es importante tener en cuenta estas caracteristicas y las caracteristicas que son sobresalientes en otras IDEs como Eclipse y JDeveloper, debido a que debemos buscar que las mismas satisfagan eficientemente nuestras necesidades como desarrolladores con el objetivo de aumentar nuestra productividad. Esto depende por lo general del tipo de proyecto que encaremos.&lt;br /&gt;&lt;br /&gt;En el proximo posteo, espero poder hacerles llegar un ejemplo practico, y "with passion" de lo visto en la conferencia del señor Sang Shin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1252354533270889756-7055243247653141281?l=tic-developer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tic-developer.blogspot.com/feeds/7055243247653141281/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1252354533270889756&amp;postID=7055243247653141281' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1252354533270889756/posts/default/7055243247653141281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1252354533270889756/posts/default/7055243247653141281'/><link rel='alternate' type='text/html' href='http://tic-developer.blogspot.com/2008/04/sang-shing-en-cordoba.html' title='Sang Shin en Cordoba'/><author><name>Martin</name><uri>http://www.blogger.com/profile/05194115461645507361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1252354533270889756.post-9532835430424603</id><published>2007-10-17T11:19:00.000-07:00</published><updated>2007-10-17T13:36:17.100-07:00</updated><title type='text'></title><content type='html'>&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;script &lt;a href="http://ruby-lang.org/"&gt;ruby&lt;/a&gt; para la busqueda de codigo en un archivo de un repositorio &lt;a href="http://subversion.tigris.org/"&gt;svn&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;El objetivo del programa es vericar la presencia de codigo en branches de un repositorio.&lt;br /&gt;El codigo a detectar se especifica en un archivo plano con pares: path, expresion-regular&lt;br /&gt;En donde la expresion-regular es la expresion regular a buscar en el path especificado&lt;br /&gt;El programa recibe como parametro la url del repositorio y los branches dentro de esa url sobre&lt;br /&gt;los cuales se iterara para detectar el codigo especificado en el archivo.&lt;br /&gt;&lt;br /&gt;ruby check_codigo http://svn.ar.empresa/Proyecto/branches/bugs 0012812 0012813 archivo&lt;br /&gt;&lt;br /&gt;Busca en el repositorio http://svn.ar.empresa/Proyecto/branches/bugs, en los branches que comiencen identificados por 0012812    y0012813 lo especificado en archivo.&lt;br /&gt;&lt;br /&gt;El archivo archivo debe contener algo como lo siguiente&lt;br /&gt;path                                                                                      expresion-regular&lt;br /&gt;&lt;/span&gt;&lt;span&gt;path                                                                                      expresion-regular&lt;br /&gt;&lt;/span&gt;&lt;span&gt;... &lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;#!/usr/bin/ruby -w&lt;br /&gt;# Created by Martin Baspineiro 9/10/2007&lt;br /&gt;&lt;br /&gt;# Lectura del archivo&lt;br /&gt;#Obtiene una estructura de datos Hash con pares: archivo en el cual buscar, patron de #busqueda.&lt;br /&gt;def leer_archivo(nombreArchivo)&lt;br /&gt;     busqueda = Hash.new&lt;br /&gt;     IO.readlines(nombreArchivo).each do |line|&lt;br /&gt;          k, v = line.split&lt;br /&gt;          busqueda[k] = v&lt;br /&gt;     end&lt;br /&gt;      busqueda&lt;br /&gt;end&lt;br /&gt; &lt;br /&gt;#Busca un conjunto de cadenas descriptas por un patron en un archivo determinado&lt;br /&gt;def buscar_en_archivo(url_branches, branch, archivo, patron)&lt;br /&gt;   out = `svn cat #{url_branches}/#{branch}/#{archivo} | grep --count --regexp=#{patron}`&lt;br /&gt;   cantidad_ocurrencias = out.chomp.to_i&lt;br /&gt;       if cantidad_ocurrencias &gt; 0&lt;br /&gt;            puts "Se encontraron #{cantidad_ocurrencias} ocurrencias"&lt;br /&gt;       else&lt;br /&gt;            puts "No se encontraron ocurrencias"&lt;br /&gt;       end&lt;br /&gt;end&lt;br /&gt; &lt;br /&gt;#Verificacion de parametros del script&lt;br /&gt;ids = ARGV&lt;br /&gt;if ids.empty? || ids.length &lt; 3&lt;br /&gt;   puts "uso: #{$0} url_branches bug1_id [bug2_id [bug3_id [...]]] search_file"&lt;br /&gt;   exit 1&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;#Inicializacion de variables&lt;br /&gt;url_branches = ids[0];&lt;br /&gt;branches = ids[1..-2];&lt;br /&gt;puts "#{branches}"&lt;br /&gt;file_name = ids.last;&lt;br /&gt;busqueda = leer_archivo(file_name);&lt;br /&gt;&lt;br /&gt;#Busco en los branches, en los archivos especificados un patron determinado&lt;br /&gt;branches.each do |branch|&lt;br /&gt;   puts "========================================================"&lt;br /&gt;   puts "Analizando branch #{branch}..."&lt;br /&gt;    busqueda.each_pair do |key, value|&lt;br /&gt;       puts "========================================================"&lt;br /&gt;       puts "Buscando..."&lt;br /&gt;       puts "En el archivo: #{key}"&lt;br /&gt;       puts "El patron: #{value}"&lt;br /&gt;       puts"========================================================"&lt;br /&gt;       buscar_en_archivo(url_branches, branch, key, value);&lt;br /&gt;   end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1252354533270889756-9532835430424603?l=tic-developer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tic-developer.blogspot.com/feeds/9532835430424603/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1252354533270889756&amp;postID=9532835430424603' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1252354533270889756/posts/default/9532835430424603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1252354533270889756/posts/default/9532835430424603'/><link rel='alternate' type='text/html' href='http://tic-developer.blogspot.com/2007/10/script-ruby-para-el-checkeo-de-cdigo-en.html' title=''/><author><name>Martin</name><uri>http://www.blogger.com/profile/05194115461645507361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1252354533270889756.post-3398305772783204939</id><published>2007-09-21T06:00:00.000-07:00</published><updated>2007-09-21T06:44:08.665-07:00</updated><title type='text'></title><content type='html'>Sistemas web para la gestion de proyectos&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.basecamphq.com/"&gt;basecamp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://goplan.info/"&gt;goplan&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1252354533270889756-3398305772783204939?l=tic-developer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tic-developer.blogspot.com/feeds/3398305772783204939/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1252354533270889756&amp;postID=3398305772783204939' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1252354533270889756/posts/default/3398305772783204939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1252354533270889756/posts/default/3398305772783204939'/><link rel='alternate' type='text/html' href='http://tic-developer.blogspot.com/2007/09/sistemas-web-para-la-gestion-de.html' title=''/><author><name>Martin</name><uri>http://www.blogger.com/profile/05194115461645507361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1252354533270889756.post-8974146926879708056</id><published>2007-09-10T07:34:00.000-07:00</published><updated>2007-09-10T07:39:00.936-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;font-size:130%;" &gt;Merges y Conflictos&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En el desarrollo de Software utilizamos &lt;a href="http://es.wikipedia.org/wiki/Control_de_versiones"&gt;Sistemas de Control de Versiones&lt;/a&gt; , como por ejemplo CVS o Subversion, para controlar las versiones o revisiones de nuestro codigo fuente. Una practica comun consiste en crear branches o ramas a partir de una linea base o tronco para el desarrollo de una funcionalidad en particular.&lt;br /&gt;Cuando mergeamos los branches creados con la linea base a partir de la cual fue creada solemos encontrarnos con conflictos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Se puede tener una gran cantidad de conflitos debido a diferentes razones:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- La introduccion de gran cantidad de cambios en el branch.&lt;br /&gt;- La introduccion de cambios en los archivos de la linea base que tambien son modificados en el branch.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Para evitar este tipo de conflictos lo recomendable es:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Evitar que pase mucho tiempo entre la resolucion del branch y el merge con la linea base.&lt;br /&gt;- Evitar crear branches si la arquitectura de la aplicacion no esta totalmente o en gran porcentaje definida.&lt;br /&gt;- Evitar introducir cambios grandes no necesarios en los branches.&lt;br /&gt;- Evitar crear branches durante un refactory de clases, realizar la creacion de branches una vez finalizado el refactory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1252354533270889756-8974146926879708056?l=tic-developer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tic-developer.blogspot.com/feeds/8974146926879708056/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1252354533270889756&amp;postID=8974146926879708056' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1252354533270889756/posts/default/8974146926879708056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1252354533270889756/posts/default/8974146926879708056'/><link rel='alternate' type='text/html' href='http://tic-developer.blogspot.com/2007/09/merges-y-conflictos-en-el-desarrollo-de.html' title=''/><author><name>Martin</name><uri>http://www.blogger.com/profile/05194115461645507361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1252354533270889756.post-8342648883134825698</id><published>2007-08-23T10:40:00.001-07:00</published><updated>2007-08-23T10:47:56.046-07:00</updated><title type='text'>Creacion del blog</title><content type='html'>Hola, el objetivo de este blog es transmitir mis experiencias con las tecnologias de las comunicaciones e informacion. Sin duda durante este proceso tambien transmitire mi humilde manera de ver las cosas. Espero que lo posteado aqui sea de utilidad.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1252354533270889756-8342648883134825698?l=tic-developer.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tic-developer.blogspot.com/feeds/8342648883134825698/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1252354533270889756&amp;postID=8342648883134825698' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1252354533270889756/posts/default/8342648883134825698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1252354533270889756/posts/default/8342648883134825698'/><link rel='alternate' type='text/html' href='http://tic-developer.blogspot.com/2007/08/creacion-del-blog.html' title='Creacion del blog'/><author><name>Martin</name><uri>http://www.blogger.com/profile/05194115461645507361</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
