Skip to content

Instantly share code, notes, and snippets.

View danirod's full-sized avatar
🎯
I may be slow to respond.

Dani Rodríguez danirod

🎯
I may be slow to respond.
View GitHub Profile
@danirod
danirod / fgets.txt
Created January 14, 2024 19:24
Cómo funciona fgets para gente con poca memoria
Cómo funciona fgets para gente con poca memoria
===============================================
fgets(buffer, len, source)
Lee hasta (len-1) caracteres desde [source] y los deja sobre
el buffer apuntado por [buffer]. Normalmente lo invocarás
para leer de stdin como
fgets(buffer, BUFSIZ, stdin)
@danirod
danirod / Genre.java
Created July 24, 2023 20:18
Ejemplo completo del código para hablar de filtros de Hibernate en Quarkus. El código está asociado a las notas de capítulo que hay aquí colgadas, https://www.makigas.es/series/acceso-a-datos-con-quarkus/aplicar-filtros-dinamicos, y el vídeo está aquí: https://www.youtube.com/watch?v=iBP2qw2d3tI
package es.danirod.quarkus.bookshelf.genres;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import org.hibernate.annotations.Filter;
import org.hibernate.annotations.FilterDef;
import org.hibernate.annotations.ParamDef;
@danirod
danirod / PaginatedResponse.java
Created July 24, 2023 19:38
Ejemplo de respuesta paginada. Este código tiene que ver con las notas del episodio de este tutorial de Quarkus: https://www.makigas.es/series/acceso-a-datos-con-quarkus/paginacion-de-resultados. El vídeo puede verse aquí: https://www.youtube.com/watch?v=itWumBxloo8
public record PaginatedResponse<E>(int currentPage, int totalPages, List<E> data) {
public PaginatedResponse(PanacheQuery<E> query) {
this(query.page().index + 1, query.pageCount(), query.list());
}
}
@danirod
danirod / Book.java
Created July 24, 2023 18:28
Código del capítulo de Quarkus donde hablo de servicios. Las notas del episodio están en https://www.makigas.es/series/acceso-a-datos-con-quarkus/modificar-y-borrar-registros y el vídeo se puede ver en https://www.youtube.com/watch?v=KLeavUAk_H0
package es.danirod.quarkus.bookshelf;
import jakarta.persistence.Entity;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import java.time.LocalDate;
import java.util.Objects;
@danirod
danirod / Book.java
Created July 24, 2023 18:00
Código del capítulo de Quarkus donde hablo de Active Record. Las notas del episodio están en https://www.makigas.es/series/acceso-a-datos-con-quarkus/active-record-con-panacheentity y el vídeo se puede ver en https://www.youtube.com/watch?v=Z9PVz5XBTdA
package es.danirod.quarkus.bookshelf;
import jakarta.persistence.Entity;
import io.quarkus.hibernate.orm.panache.PanacheEntity;
import java.time.LocalDate;
import java.util.Objects;
@Entity
public class Book extends PanacheEntity {
@danirod
danirod / Temperatura.java
Created July 24, 2023 11:25
Código del capítulo de Quarkus donde hablo de servicios. Las notas del episodio están en https://www.makigas.es/series/fundamentos-de-uso-de-quarkus/servicios-e-inyeccion-de-dependencia y el vídeo se puede ver en https://www.youtube.com/watch?v=HhTX3qbKhEs
package es.danirod.quarkus.bookshelf.temperaturas;
public record Temperatura(String ciudad, int minima, int maxima) {
}
@danirod
danirod / pacman.groovy
Last active September 16, 2022 20:39
pacman.groovy es el peor código que haya escrito jamás, lo siento mucho
import javax.swing.*
import java.awt.Color
import java.awt.Graphics
import java.awt.Graphics2D
import java.awt.event.*
class Fantasmita {
public int posx, posy
public int dx, dy
@danirod
danirod / full_height.css
Last active May 24, 2022 15:57
Como posicionar el footer al fondo -- gracias a twitch.tv/manuelv3g4 por la ayuda
/* Primero declaras tu página como flex y le das una altura mínima */
body {
min-height: 100vh;
display: flex;
flex-direction: column;
}
/* En tu elemento principal pones esto para expandirlo si fuese necesario.
Con esto si la pagina no es lo suficientemente alta, al menos se expande
verticalmente para rellenar el hueco que queda. */
@danirod
danirod / types.ts
Created January 21, 2019 13:17
Algo que he aprendido hoy sobre tipos en TypeScript.
/**********************************************************
* COSAS SIMPLES CON TIPOS PARA IR ABRIENDO BOCA.
*********************************************************/
/* Una interfaz que maneja datos en una agenda de contactos. */
interface Person {
/* Datos personales sobre esta persona. */
name: string;
age: number;
city: string;
CREATE TABLE alumnos (
id_alumno INT NOT NULL AUTO_INCREMENT,
nombre VARCHAR(32) NOT NULL,
apellidos VARCHAR(64) NOT NULL,
fecha_nac DATE NOT NULL,
UNIQUE KEY id_alumno_uq (id_alumno)
);
CREATE TABLE profesores (
id_profesor INT NOT NULL AUTO_INCREMENT,