Entradas

Create a docker image from a spring boot project

In order to create a docker image from a spring boot project, First, your pom.xml has to be configured. <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- Cofiguration for creating a docker image --> <image> <name>chamow01/${project.artifactId}</name> </image> </configuration> </plugin> </plugins> </build> Then, the next maven command needs to be applied, so spring boot uses paketo-buildpacks in order to create a docker image based on you Java code mvn spring-boot:build-image ... [INFO] > Running creator [INFO] [creator] ===> DETECTING [INFO] [creator] 6 of 24 buildpacks participating [INFO] [creator] paketo-buildpacks/ca-certificates 3.2.0 [INFO] [creator] paketo-buildpacks/bellsoft-liberica 9.3.2 [INFO] ...

Tips nodejs

Crear un archivo .env para manejo de variables de entorno y no subir datos sensibles a los repositorios #.env file PORT=500 Nota 1: Agregar el archivo .evn a .gitignore Nota 2: Se debe instalar npm i dotenv

Tips React

Evitar el submit de un form cuando se da enter en un input Configurar el form como se indica <form autoComplete="off" noValidate onSubmit={e => { e.preventDefault(); }}>

Creación de una aplicación MERN

Creación de una aplicación MERN M.- MongoDB E.- Express R.- React N.- NodeJs Crear una carpeta padre llamada app y dentro crear dos carpetas hijas llamadas client y server Servidor Dentro de la carpeta server, ejecutar el comando npm init -y para crear un archivo package.json de forma automática Luego ejecutar el comando npm install body-parser cors express mongoose nodemon para instalar las dependencias básicas que se necesitan de lado del servidor Instalar las siguientes librerias para login: npm install bcryptjs jsonwebtoken Notas: Para poder utilizar los imports de tipo import module from 'module' se debe configurar la bandera "type":"module" Deploy en Heroku: Crear el archivo Procfile con el contenido: web: npm run start Esto permite a heroku levantar el servidor una vez que esté deployada Cliente Dentro de la carpeta client, ejecutar el comando npm install axios moment react-f...

Configuración de Swagger con spring boot

Swagger permite documentar las APIS de un proyecto de forma automática. Para usar swagger en un proyecto maven con spring-boot, se debe seguir los siguientes pasos Configuración de dependencias en proyecto maven. <!--SWAGGER--> <dependency> <groupId> io.springfox </groupId> <artifactId> springfox-boot-starter </artifactId> <version> 3.0.0 </version> </dependency> Crear una clase SwaggerConfig configurada con las anotaciones:  @Configuration  y que retorne un objecto de tipo   Docket import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import springfox.docum...

Comandos Ionic

ionic cordova build android ionic build Generar artefacto para android ionic cordova run android --device Debug en dispositivo android npx cap add android npx cap add ios Agregar una plataforma nativa npx cap copy Copiar el contenido construido dentro de las carpetas nativas de desarrolo npx cap sync Sincronizar los cambios realizados npx cap open android Lanzar Android Studio para debuggear la aplicacion nativa con los nuevos cambios construidos npx cap run android Correr el proyecto en Android

Configuración de JBoss para modo debug

Imagen
Para que una instancia de Jboss puede ser accedida en modo debug se debe realizar la siguiente configuración (para este ejemplo en el archivo: host-slave.xml):  Entidad Padre <server name="MI-INSTANCIA-EN-DEBUG" group="MI-INSTANCIA-EN-DEBUGL_GR" auto-start="true"> <jvm name="default"> <jvm-options> <option value="-Xrunjdwp:transport=dt_socket,address=10899,server=y,suspend=n"/> </jvm-options> </jvm> <socket-bindings socket-binding-group="standard-sockets" port-offset="19900"/> </server> Configuración en Eclipse Para poder utilizar desde eclipse el modo debug, se debe realizar un Debug Configuration de tipo Remote Java Application con el puerto configurado previamente, en este ejemplo 10899: Fuentes:  Experiencia del autor.

JPA Infinite recursion (StackOverflowError); nested exception spring boot

Parea evitar que un par de entidades JPA (padre, hijo) genere una recursión infinita al ser utilizadas en un servicio REST, se debe usar las siguientes anotaciones:  @JsonManagedReference  @JsonBackReference annotations. Entidad Padre @Entity @Table public class User extends CommonBean implements Serializable{ private static final long serialVersionUID = 1L; @Id @GeneratedValue private long id; private String name; @Column(name = "lastname") private String lastName; private String cellphone; private String email; private String password; @OneToMany(mappedBy = "user", fetch = FetchType.LAZY) @JsonManagedReference private List listHouses; } Entidad Hija @Entity public class House extends CommonBean implements Serializable { /** * */ private static final long serialVersionUID = 1L; @Id @GeneratedVa...