Trabe ya no escribe aquí. Puedes encontrarnos en nuestra publicación en Medium: medium.com/trabe.

4Trabes Historias de una empresa en 100 metros cuadrados

El blog de Trabe Soluciones

¿Quieres trabajar en Trabe Soluciones?

| | Comentarios

Buscamos gente que quiera trabajar con nosotros.

A quién buscamos

A día de hoy necesitamos programadores JEE para ayudarnos a desarrollar aplicaciones que usan Spring e Hibernate y frameworks web como Struts, Wicket o Play! Aunque no tengas experiencia con alguna de estas tecnologías, será suficiente si nos demuestras que tienes capacidad para poder trabajar con ellas.

Eso sí, si no sabes programar en Java o no sabes lo que es un framework web lo sentimos, pero por el momento no podemos contar contigo.

Qué te ofrecemos

Un puesto de trabajo (¡claro!) con las condiciones laborales de las que disfruta todo nuestro personal: contrato fijo, sueldo competitivo, seguro médico, horario flexible, jornada de verano y todo el café, té o agua que seas capaz de tomar. Trabajarás en nuestra oficina situada en el centro de A Coruña y podrás participar en cualquiera de los eventos sociales que organizamos (tapas, cañas, cenas y pachangas).

¡Si te gusta lo que ofrecemos, contacta con nosotros!

Puedes ponerte en contacto usando la dirección de correo electrónico rrhh@trabesoluciones.com. Puedes enviarnos el clásico curriculum vitae, pero si quieres llevarte el gato al agua te recomendamos que optes por algo más original: envíanos un curriculum distinto, crea uno web o enséñanos el trabajo que hayas realizado, escríbenos una carta de presentación (nada formal, algo tipo: “este soy yo, me gusta esto, no me gusta nada aquello y por eso quiero trabajar en Trabe”). Y no lo olvides: no te tires de la moto: nadie domina 20 lenguajes de programación ni tiene nivel nativo en inglés si no es nativo ;)

¡Te estamos esperando!

Ivy y resolución de dependencias

| | Comentarios

Una receta rápida que nos permite gestionar las dependencias con Ivy en nuestras aplicaciones Play de tal modo que Ivy:

  • se conecte a nuestro repositorio maven donde tenemos artefactos que no se encuentran en el repositorio oficial.
  • busque en la cache local de maven en busca de artefactos que hemos generado pero que no se han publicado en el repositorio.
  • descargue todas las dependencias transitivas.
  • tenga en cuenta clasificadores para distinguir entre artefactos de desarrollo y producción.

En el fichero ivy.xml del proyecto definimos las dependencias marcando con m:classifier aquellas que lo necesiten. En el ejemplo, la primera dependencia es una librería que no ha sido publicada (vive en la caché local), el segundo es un driver JDBC que tenemos en nuestro repo Maven y la tercera una dependencia común.

1
2
3
4
5
6
7
8
<ivy-module version="2.0" xmlns:m="http://ant.apache.org/ivy/maven">
    <info organisation="com.trabesoluciones" module="my_awesome_app"/>
    <dependencies>
      <dependency org="com.trabesoluciones" name="awesome-api"             rev="1.2.1"    m:classifier="dev"/>
      <dependency org="com.oracle"          name="oracle-jdbcdriver-thin"  rev="10.2.0.4" />
      <dependency org="commons-lang"        name="commons-lang"            rev="2.4"      />
    </dependencies>
</ivy-module>

Para que Ant encuentre todo creamos una cadena de resolución en $HOME/.ivy2/ivysettings.xml

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>
  <settings defaultResolver="customChain"/>
  <resolvers>
    <chain name="customChain" returnFirst="true">
      <ibiblio name="m2local" m2compatible="true" root="file://${user.home}/.m2/repository"/>
      <ibiblio name="trabe"   m2compatible="true" root="http://mvn.trabesoluciones.net/repository"/>
      <ibiblio name="ibiblio" m2compatible="true"/>
    </chain>
  </resolvers>
</ivysettings>

Y por último en la tarea Ant indicamos que use esta configuración:

1
2
3
4
<target name="deps">
  <ivy:configure file="${env.HOME}/.ivy2/ivysettings.xml"/>
  <ivy:retrieve/>
</target>