Concatenar varias filas

Me he estado pegando para conseguir en mssql laa función GROUP_CONCAT de mysql:

SELECT 1 AS a, GROUP_CONCAT(name ORDER BY name ASC SEPARATOR ', ') AS people 
FROM users 
WHERE id IN (1,2,3) 
GROUP BY a

En MSSQL:

SELECT STUFF((
    SELECT ';' + name
    FROM users
    FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
Tags: 

PHP Storm




Hace más de un año que un amigo me habló sobre otro IDE diferente a Eclipse que estaba muy bien. Personalmente en entorno Java estaba contenta con Eclipse, pero utilizando PHP, Symfony se me hacía muy complicado configurarlo para que me detectase las funciones propias del framework que utilizaba, phpunit, etc, pero no me atreví a cambiarlo porque pensaba que me iba a costar mucho más adaptarme (error!!). Así que no fue hasta que fui a un taller sobre PHPStorm en el Codemotion 2015 hasta que me atreví a probarlo en el trabajo (hay que añadir que sólo estuve 1h en ese taller porque fui incapaz de seguirlo, pero me quedé con la copla de lo que pude).

PHPStorm es un IDE desarrollao por Jetbrains, que también desarrolla otro famoso IDE para Java llamado Intelij IDEA que ya conocía pero no me he animado a probar y WebStorm. Android Studio también está basado en InteliJ IDEA. Como son IDEs de pago (excepto Android Studio), de momento el único que utilizo es el primero porque es con el entorno que más trabajo.

Antes de PHPStorm usaba Eclise con las PHP Develompents Tools, un plugin para symfony que no funcionaba del todo bien y otro para phpunit que configurarlo era un sin dios o no sabía como hacerlo para que me cogiese a la primera los tests unitarios de symfony (que para los pocos que tengo... si encima no van malo).

Cambios

La instalación de PHPStorm es sencilla, tanto en linux como en windows. Lo que más me costó fue adaptarme a tener sólo un proyecto abierto, en el eclipse sólia tener en el mismo workspace todos los proyectos con los que trabajo, ahora sólo tengo abierta la ventana de PHPStorm del proyecto con el que estoy trabajando, como mucho 2 si no quiero cerrar el anterior y me pongo con otra cosa puntual. Pero una vez superado esto, todo fue muy sencillo.

Plugins en PHPStorm

Al abrir mi proyecto de Symfony con PHPStorm me sugirió utilizar un plugin para Symfony, de pronto veo como me reconoce la sintaxis de mis archivos, como puedo ir de una entidad a otra, como me sugiere autocompletado de métodos... ideal, sin necesidad de trabajar para configurar el IDE ya estaba trabajando...




En File->Settings->Plugins aparece el listado de plugins que tienes instalados, y para instalar cualquier plugin hay que pulsar Install JetBrains plugin y aparece un buscador, por el cual buscas el Plugin que quieras instalar.




Otro detalle que me animo a usar este IDE fue que comentaron en el taller que había plugin para usar vim en el editor llamado IdeaVIM, fue el primer plugin que instalé manualmente. También utilizo el tema oscuro llamado Darcula, que es otro detalle que me encanta. He descubierto que también existe para eclipse, lo busqué hace años, pero aún no existía.

En el taller también comentaron un plugin para poner la barra lateral de vistazo rápido del sublime llamado codeglance

Enlaces

Otra ventaja de PHPStorm son los manuales y la ayuda que hay en internet.

Documentación oficial de JetBrains
Referencia de comandos para linux windows y mac
La referencia en Español

Configrar Tests de Symfony

Para configurar los Tests de Symfony: File -> Settings -> PHPUnit Seleccionar Load from include path Y no seleccionar Default configuration file y bootstrap file.



En Run -> Edit Configuration:
Seleccionar Test Runner defined in the configuration file
Ticar Use alternative configuration file y buscar nuestro: app/phpunit.xml
Y en Command Line seleccionar en Custom working directory nuestro directorio vendor.



Por otro lado para que funcione el archivo phpunit.xml que tengo es el que viene phpuni.xml.dist pero descomentando la linea siguiente y configurando el directorio:

   <php>
        <server name="KERNEL_DIR" value="/home/estheri/www/icedbp/app" />
    </php>


Codemotion 2014

Codemotion es un evento que se ha realizado por tercera vez el 21 y 22 de Noviembre de 2014 en Madrid. Han pasado dos meses, demasiado tiempo, pero no se pudo hacer nada más acabar el evento y lo he ido dejando, algún día conseguiré actualizar el blog una vez al mes...

Este año como novedad el Codemotion cambio de ubicación, paso a localizarse en la Universidad de San Pablo CEU, mejor sitio pero peor ubicado, si que pusieron autobuses privados creo que desde la Plaza España hasta el evento cada hora, más o menos, pero yo no los utilicé porque me alojaba a la otra punta de Madrid.

Ha pasado mucho tiempo y no quiero extenderme, por lo que estos son los puntos breves que tengo anotados:

  • La arquitectura hexagonal estuvo bastante presente en las charlas en las que estuve, aún tengo que entenderla.
  • Estuve en casi todas las charlas que pude sobre Android, ya que quiero hacer alguna aplicación este año. Había bastantes donde elegir así que no hubo problemas.
  • Uno de los mejores descubrimientos fue PHPStorm, un IDE que ahora mismo estoy utilizando en el trabajo.
  • En la charla sobre tendencias del sector IT en España, dieron muchos datos, pero me impactó que sólo somos el 14% de mujeres en IT y que además cobramos bastante menos, subiendo la diferencia según la experiencia (más experiencia mayor diferencia de sueldo), lo cual me entristeció y me puso de mala uva, a ver si cambiamos esto. No encuentro las diapositivas de esta charla :(

Los problemas que vi y que comenté con la gente con la que fui:

  • La ubicación, demasiado lejos, me gustaba más Vallecas, más fácil llegar en metro.
  • Me pareció que algunas charlas de la misma temática estaban en la misma hora y se podría haber evitado.
  • La comida, a los bocadillos les faltaba sustancia, y encima me perdí las empanadas de Milán Dópico que si que habrían merecido la pena :(.

Charlas, diapositivas, enlaces a otros resúmenes:

Charla introducción y práctica de Symfony2

Este miércoles 5 de marzo ¡impartí mi primera charla! Una de las cosas que quiero perder es mi miedo a hablar en público a mucha gente e impartir charlas es lo mejor que se me ha ocurrido hasta ahora.

La charla forma parte de una actividad que surgió dentro del grupo #DevBurgos, un grupo de desarrolladores de Burgos que nos hemos juntado con la idea de compartir intereses. Nos dimos cuenta que cada uno podíamos aportar conocimientos y compartirlos entre todos, de forma que cada primer jueves de cada mes nos reunimos para contarnos algo sobre un tema que nos interese. Si no surge una charla ese mes no hay problema, seguimos quedando en los bares para tomar unas cañas y hablar sobre temas diversos jeje

Ya sé que mi charla fue un miércoles y no un jueves, está hecho a posta ya que coincidía con varios eventos #iRedes (Burogs)/RootedCon (Madrid)/Vallahackaton (Valladolid)

Lo que aprendí

  • Dar una charla no es tan complicado! No quiero decir que no sea complicado, simplemente que no tenía que haberme puesto tan nerviosa como estaba los días anteriores, que no es para tanto.
  • Preparando la charla recordé cómo se montaba un proyecto de symfony desde el principio, cosa que haces al principio de un proyecto y luego te olvidas... yo al menos con mi mala memoria lo hago.
  • También recopile un montón de enlaces interesantes que me sirvieron para preparar la charla y otros que no me sirven para la charla pero si para otros proyectos.
  • Es altamente recomendable prepararse posibles preguntas, algunas preguntas que me hicieron podía haberlas preparado.
  • He utilizado mi cuenta de github y he creado mi primer repositorio, con lo que he aprendido un poco de git y a manejar github (que no viene mal... jeje).

Preguntas sin resolver

Durante el turno de pregunta surgieron dos que no supe responder y otra que no me gustó la respuesta que dí, en este apartado voy a dar los enlaces necesarios para responder a esas preguntas.

  • Páginas hechas en symfony, en la documentación de symfony enlazan varios proyectos que usan symfony, ya sea el framework completo o alguno de sus componentes, lo podéis encontrar aquí. He visto que hay dos ecommerce hechos con symfony2. Según esta noticia, Dailymotion también está hecho con symfony2.
  • Seguridad de usuarios, comenté que se hacía en los archivos de configuración pero no sabía exactamente cómo ya que aún no he llegado a esa parte en mi proyecto, lo leí en su día, ví cómo se hacía... y aún no me he puesto con ello (el proyecto es para uso interno y no llega ni a alfa). Como todo, podéis encontrar la información en la documentación de symfony2.
  • Qué es YML, la verdad es que es un formato que sólo he utilizado en symfony2, tirando de la wikipedia, es otro formato para almacenar datos human-readable como pueden ser JSON, XML, etc.

Documentación de la charla

El código, como he comentado, lo he publicado en mi github, lo puedes encontrar aquí.
Las diapositivas las colgué en slideshare, las podéis encontrar aquí.

Bilbostack 2014

Bilbostack es un evento bilbaíno sobre desarrollo web que celebró este año la tercera edición. Puedo presumir de haber asistido desde la primera edición. Lo organiza gente de allí que, por lo que me han contado, surgió después de ir al Codemotion y tomarse unas cañas cuando twittearon que iban a hacer un evento parecido en Bilbao...

Asistí a las siguientes conferencias:

  • Introducción a AngularJS, de @alfredodev una charla básica sobre este framework que sirve para tomar contacto y en caso de conocerlo pero no saber cómo funciona ni sus características (como era mi caso) me resulto muy útil para saber su potencial. Veo más vida más allá de JQuery... quizás me ponga a desarrollar algún proyecto con Angular en un futuro no muy lejano.
  • Hexagonal architecture con AngularJS, cuando estuve en la charla me quedé pensando que no conocía este patrón de diseño, también llamado patrón de puertos y adaptadores, pero más tarde me acordé que hasta lo di en la universidad! Me gustó la forma en la que dieron la conferencia @ggalmazor y @artolamola, dos ponentes que intercambiaban opiniones y dialogaban mientras daban la conferencia.
  • Deuda técnica, @r_corral nos habló sobre cómo combatir la deuda técnica y por qué hay que evitarla. Estuve toda la charla pensando en unos cuantos programas que mantengo, pero no hay problema, está planificado actualizarlos en breve!! Y me desharé de ellos... y todo estará limpio y organizado... ^^
  • De la programación al lado oscuro, la última conferencia de @david_bonilla, que aunque lo que contó muchas cosas las cuenta en la bonilista, con este hombre siempre se aprende algo nuevo. Muy útil si alguna vez me lanzo en la aventura de emprender.

Pero lo mejor del día ocurrió después del evento cuando los ponentes, organizadores y algunos asistentes nos fuimos a comer a una sidrería en el centro de Bilbao, el Asador Arriaga del cual guardo el ticket.

Chuletón, sidra, cervezas... y un ofrecimiento por parte de los organizadores para venir a Burgos a dar alguna charla, ¡no se puede pedir más!

Cosas a mejorar

  • Buscar un sitio más grande, con más plazas para que nadie se quede en reserva :D
  • Tengo merchandising de muchos eventos, en la Bilbostack llevaba el cuaderno de la codemotion y el boli de la rooted ¿lapiceros de bilbostack? :D
  • Iré pensando más... pero se me ocurren pocas cosas, el evento está muy bien, inscripciones con tiempo, puntualidad...
  • Grabar las charlas, así si falla el streaming y no puedes verla por cualquier motivo puedes verla más tarde.
  • También hemos hablado una amiga y yo que una mañana sólo te deja con ganas, pero un evento de dos días mañana y tarde a mí me resulta cansado, igual sería buena opción un evento que dure mañana y tarde, o dos días y que sean dos mañanas, tiene sus pegas, habría gente que no podría ir los dos días.

Slides de las conferencias

Los momentos más divertidos

Las pullas que se metían entre conferenciantes:

  • Los que trabajen en eclipse y abran el eclipse.... y lo abran...
  • Porque yo trabajo en lenguajes de verdad, no en .Net
  • La camiseta de @r_corral que voy a copiar en algún momento: Trust me I'm a geek

Otras crónicas recopiladas a través de twitter

Sobrevivi a mi primera RootedCon

Durante el pasado fin de semana asistí, felizmente engañada por mi jefe, a uno de los eventos más importantes de seguridad que se realizan en España.

Durante el evento logre camuflarme y creo que nadie se enteró que soy una desarrolladora de software, salvo porque me quedaba más sopa en las conferencias que mis compañeros de sistemas estaban más al tanto y yo en los temas que se hablaba sobre algo de desarrollo me quedaba con la boca abierta, un pequeño detalle sin importancia...

Fueron unos días intensos, pero muy útiles gracias a los cuales me he interesado un poquito más por la seguridad, he aprendido y me he arrepentido de no haber estudiado más sobre el tema en la universidad.  

Los momentos más divertidos

  • El comienzo del evento, la cola de espera, escuchar como todo el mundo a tu alrededor está hablando de informática y de sus proyectos.
  • Ver a Román @patowc (el presentador) disfrazado de pato
  • Conocer al escritor del blog Wardog y el mundo, comprar el libro y que me lo firme y la entrevista que le hizo @chemaalonso

Lo importante: Las ponencias

Realmente, creo que no soy lo suficiente experta en estos temas como para hacer un resumen que se mantenga al nivel de las crónicas que he recopilado en este mismo artículo, por lo que iré recopilando y añadiendo más información según me vaya llegando, las ponencias las podéis consultar aquí.

Sobre las ponencias, estos son los archivos publicados hasta ahora por los autores de las mismas que he encontrado:

Crónicas

PROYECTOS PRESENTADOS

En la última sesión del segundo día se presentaron proyectos por si alguien más quería colaborar o participar en ellos:

  • PopUp LogOut, es una extensión para Firefox cuya finalidad es sacar a un lugar más sencillo de encontrar el enlace a Logout de una página ya que en algunos servicios lo ocultan para que nunca cierres tu cuenta (lo que crea serios problemas si te olvidas en un ordenador público....)
  • GSickMinds, es otro evento parecido a la rooted pero en La Coruña del 24 al 26 de Octubre del 2013, con algunos de los ponentes que fueron a la rooted y GRATIS!
  • Relacionado con la ponencia "OWISAM - Open WIreless Security Assessment Methodology", buscan a alguien para ayudar a montar un estándar.

Comienzo del Blog

Bienvenidos a mi nuevo blog!

Como podéis ver, estreno blog, la isla de Esther será el lugar dónde vaya comentando los libros que leo, artículos que me parezcan relevantes, eventos que se realicen en Burgos sobre tecnología, etc.

Me queda mucho por montar en el blog, pero de momento ya tengo un calendario en el que iré poniendo los eventos sobre tecnología que vea en mi entorno.

Para comenzar, estoy leyendo Diseño Ágil con TDD, libro que os podéis descargar gratuitamente y que comentaré en las próximas entradas hablaré sobre qué es Test Driven Development. Os recomiendo la lectura del libro y el uso de la metodología.

Subscribe to La isla de Esther RSS