blog de neodevelop

Queries Dinámicos en Spring Data JPA

Tuve la necesidad de crear un Query de forma dinámica con JPA, pues tenía varios métodos definidos y podrían crecer mas, algo así:

QuestionRepository.groovy

interface QuestionRepository extends PagingAndSortingRepository<Question,Long> {
  List<Question> findAllByAuthorAndEnabledAndStatusInAndParentIsNull(UserGE author,Boolean enabled,List<String> statuses, Pageable pageable)
  List<Question> findAllByCampus_CodeLikeAndSubject_subjectNumberLikeAndTypeLikeAndCareer_codeLikeAndUnityLikeAndComplexityLikeAndAuthorAndEnabledAndStatusInAndParentIsNull(String campusCode, String subjectNumber, String type, String careerCode, String unity, String complexity, UserGE author, Boolean enabled,List<String> statuses, Pageable pageable)
  long countByAuthorAndEnabledAndStatusInAndParentIsNull(UserGE author,Boolean enabled,List<String> statuses)
  long countByCampus_CodeLikeAndSubject_subjectNumberLikeAndTypeLikeAndCareer_codeLikeAndUnityLikeAndComplexityLikeAndAuthorAndEnabledAndStatusInAndParentIsNull(String campusCode, String subjectNumber, String type, String careerCode, String unity, String complexity,UserGE author, Boolean enabled,List<String> statuses)

Aplicar AOP con JavaConfig (AspectJExpressionPointcut)

Hace poco me toco tocar un componente en dónde tuve que aplicar un aspecto, la última vez que lo hice lo configuré con el namespace de AOP de Spring, pero estz vez quise hacerlo todo con JavaConfig; he aquí lo que hice:

El XML era este:

<bean id="monitoringAdvice" class="net.bull.javamelody.MonitoringSpringInterceptor" />
<aop:config>
  <aop:pointcut expression="execution(* com.makingdevs.service..**.*(..))"
    id="monitoringPointcut" />
  <aop:advisor advice-ref="monitoringAdvice" pointcut-ref="monitoringPointcut" />
</aop:config>

Pruebas de unidad con Mockito(Aportación) - [SGCE2013]

En esta ocasión, con la finalidad de aportar algo a la comunidad(y ver si de paso me gano un pase) les quiero poner un tema que les de a conocer una herramienta que puedan usar los que están haciendo desarrollo en Java.

Les platico brevemente el escenario que me ha puesto a escribir de este tema: hace un par de meses me asignaron a la tarea de hacer el mentoring de un grupo de desarrolladores, el objetivo era "aumentar la calidad del software que se desarrollaba", y esto lo fui elaborando a través de varias técnicas: programación en pares, dojos, control de versiones, mediciones de tiempos, pomodoros, etc., y la guía técnica para ir creciendo un proyecto con Java; yo vengo desarrollado Groovy desde hace mucho tiempo y esto se me hizo interesante para medir nuevamente el tiempo de desarrollo de un proyecto con Java. El factor común de todos era Maven y por supuesto Java(en varios niveles de experiencia), lo cual lo hacía más interesante.

Video podcast de ViveCodigo 00xEOS - Final de temporada

EOS = End of Season
Muchas gracias a todos los que descargaron los podcast, muchas gracias por sus comentarios y su asistencia.
Gracias a los entrevistados por compartir su conocimiento, gracias a los asistentes a los Dojos por compartir su experiencia y participación, gracias a los patrocinadores y sobre todo gracias al público que nos demanda y nos hace mejores con sus comentarios.
En esta última emisión de esta temporada nos reunimos todos para platicar un poco de nuestra línea de tiempo en el desarrollo de software y algunas otras aficiones. Terminamos en un bar con algunas cervezas y alitas, rifando un par de libros y dos pases para Software Gurú Conferencia y Expo
Sin lugar a dudas nos divertimos, sufrimos, compartimos, creamos, innovamos, en fin…
Que lo disfruten:

Workshop de Git + Github en SynergyJ, charla abierta y Drinkup con @matthewmccull

Los sistemas de control de versiones son herramienta fundamental en cualquier proyecto de software, es por esto que a toda la comunidad de desarrolladores de cualquier plataforma, les estamos invitando asistan al evento organizado por SynergyJ el día 15 de Mayo del presente, en donde Matthew McCullough de GitHub vendrá a impartir un Workshop. Este evento es de pago y es de cupo límitado.
Toda la información para registrarte la puedes encontrar en http://synergyj.com/git/

Definitivamente no se lo pueden perder.

Seguido al workshop se les hace la cordial invitación a toda la comunidad de desarrolladores de cualquier plataforma a la sesión abierta que dará Matthew McCullough, quién es instructor oficial de GitHub.com, autor de libros como Building and Testing with Gradle y Version Control with Git: Powerful tools and techniques for collaborative software development.

La charla se llevará a cabo en las mismas instalaciones del Workshop y esta totalmente abierta al público, es gratuita y es importante que se registren al evento.

Su registro lo pueden hacer en: http://stghq.me/e/qU

La ubicación es en Av. San Lorenzo 1009 Piso 4, colonia Del Valle, Delegación Benito Juárez, México D.F., C.P. 03100 y será a las 17:30 hrs.

Después de esta sesión daremos paso al Drinkup de SynergyJ y Github, el cuál se llevará a cabo en Corazón de Maguey ubicado en Jardín Centenario 9, Colonia Villa Coyoacán, cerca del lugar de la sesión. La reservación esta hecha a nombre de SynergyJ y Github y es a partir de las 20;00 hrs.

Sin dudarlo será una excelente experiencia compartir y platicar con Matthew algunas de sus experiencias como desarrollador e instructor de compañías de software de gran renombre.

Los esperamos

Podcast de ViveCodigo 00x17 - Entrevista con Graeme Rocher

Una emisión más en audio del podcast de ViveCodigo presentando en entrevista a Graeme Rocher, creador de Grails; la liga del sitio original en:
http://vivecodigo.org/2012/04/09/episodio-17-de-la-temporada-0/

Podcast de ViveCodigo 00x16 : Agile inception

Se acerca el final de la temporada y en ViveCodigo pudimos meternos en una organización con varios desarrolladores, líderes de proyecto y arquitectos para incentivar el uso de prácticas ágiles, el resultado fue un episodio distinto a los anteriores donde seguramente encontrarás varias joyas("frases legendarias") para cuando hacemos software. No se lo pueden perder. La liga original en: http://vivecodigo.org/2012/03/31/episodio-16-de-la-temporada-0/

VideoPodcast de ViveCodigo 00x15 : Coding Dojo

VideoPodcast de ViveCodigo 00x15 : Coding Dojo

A través del sitio de ViveCodigo.org, se ha publicado su última edición en donde se realizó un Coding Dojo, en el video, se muestra a los asistentes resolviendo una Kata de nombre "Numbers to LCD", para más detalle al respecto te recomendamos visitar el blog post.

http://vivecodigo.org/2012/03/15/podcast-15-de-la-temporada-0/

Saludos

VideoPodcast de ViveCodigo 00x14 : Artesanía de Software

Desde el sitio de ViveCodigo nos complace presentar en esta ocasión a Agustín Ramos(@MachiesAreUs), un experimentado desarrollador que ha venido impulsando el concepto de Artesanía de Software.
En esta entrevista Agustín nos explica ¿Qué es y como se compone la Artesanía?, así también, nos platica acerca de su experiencia al impulsar y practicar los principios que la rigen.
Sin lugar a dudas, el contenido de esta entrevista es fundamental para quienes nos dedicamos a desarrollar software.
El artículo completo:

Videopodcast de ViveCodigo, Episodio 13 Temporada 0: Clojure

En este podcast entrevistamos a Andrés Gómez, quien es el representante principal de la comunidad de Clojure México y nos vino a platicar acerca del lenguaje, compartiendo su experiencia y la forma en la que nos podemos introducir a desarrollar con este paradigma funcional que corre sobre la JVM.

El post y más información:

http://vivecodigo.org/2012/02/07/podcast-13-de-la-temporada-0/

Distribuir contenido