Ir al contenido principal

Entradas

Mostrando entradas de 2025

Spring Boot: conociendo las anotaciones más importantes

  Las anotaciones en Spring Boot (y Java) nos permiten añadir metadatos a nuestra aplicación. Ya sea información en tiempo de compilación y ejecución. Nos ayuda a definir cómo debe comportarse nuestro código, pero sin afectarlo en su funcionamiento. Formato básico de una anotación: @MyAnnotation Según wikipedia, cuando se compila el código fuente de Java, el compilador Java almacena los metadatos de la anotación en los ficheros/archivos de clases. Posteriormente, la JVM u otros programas pueden buscar los metadatos para determinar cómo interactuar con los elementos del programa o cambiar su comportamiento. Anteriormente crear aplicaciones con Spring Framework (y Spring Boot ) requeria el uso de configuraciones de archivos XML . Con las anotaciones vemos que esta tarea se hace más sencilla. Anotaciones más importantes de Spring Boot (Spring Framework) Veremos una tabla con las anotaciones más usadas con una pequeña descripción sobre su uso y el paquete donde se ...

Spring Boot en un vistazo

  Spring Boot es una poderosa herramienta que extiende Spring Framework . Facilita enormemente el desarrollo de aplicaciones web y microservicios. Antes de Spring Boot el desarrollador sufría al tratar de desarrollar aplicaciones web empresariales.  Quienes sepan de EJB ( Enterprise Java Beans ) sabrán de que estoy hablando. Y es que muchos han tratado de ser la herramienta ideal para el desarrollador Java. Struts Framework y Tapestry lo intentaron, pero se quedaron en el camino.  Con Spring Boot nos encontramos que la creación, selección de JARS (dependencias) y el despliegue se vuelve fácil. El desarrollador se olvidará de configuraciones complicadas y obtusas. Sin embargo, antes no era así. Se requerían diversos archivos XML para la configuración de las clases, eventos, conexión a BD y demás. Con la nueva versión de Spring Boot tenemos el camino libre de estos obstáculos (vaya que lo eran). Las anotaciones vinieron al rescate y serán el pan de cada día. Estas se ...

TensorFlow: una herramienta para Machine Learning y Deep Learning

TensorFlow es una biblioteca de software libre y de código abierto, desarrollada por Google, para el aprendizaje automático (machine learning) y el aprendizaje profundo (deep learning). La cual se utiliza para aprendizaje automático , el procesamiento de lenguaje natutal , reconocimiento de imágenes y demás soluciones que tengan que ver con el aprendizaje automático. Instalarlo no te llevará mucho tiempo. Solo abre una consola y teclea lo siguiente: $ pip install tensorflow Una vez instalado verificamos: $ pip show tensorflow Name: tensorflow Version: 2.20 . 0 Summary: TensorFlow is an open source machine learning framework for everyone. Home - page: https: // www.tensorflow.org / Author: Google Inc. Author - email: packages@tensorflow.org License: Apache 2.0 Location: C:\Users\HP\AppData\Local\Programs\Python\Python313\Lib\site - packages Requires: absl - py, astunparse, flatbuffers, gast, google_pasta, grpcio, h5py, keras, libclang, ml_dtypes, numpy, opt_einsu...

Fortran en un vistazo

Quien lleva algo de tiempo en estos temas de la programación sabrá que existe un lenguaje de programación llamado Fortran . Un lenguaje de programación bastante poderoso para el ámbito científico y que ahora, en estos tiempos, ha ido recobrando un poco de popularidad. En este blog ya hablamos un poco de ello: https://alquimistadecodigo.blogspot.com/2024/07/fortran-un-lenguaje-de-programacion.html Pues ahora continuaremos hablando de el. Fortran al igual que C, C++, Oberon o Java es necesario especificar los tipos de datos a tratar. Olvidemos las malas costumbres de lenguajes como Javascript y Python a la hora de definir nuestras variables. No, no es lo mismo var numero = "911" que int numero = "911"; . Quienes aprendimos C como primer lenguaje lo sabemos a detalle. Pues en Javascript y/o Python se puede hacer cosas como estas (casi sin ningún reparo) var numero = "911"; numero = 911; console.log("Valor del número: ", numero); ...

Pytest: un framework para crear pruebas de tu código

Pytest es un framework que nos sirve para crear pruebas a nuestro código Python . Facilita la escritura de pruebas pequeñas y legibles, y puede escalar para soportar pruebas funcionales complejas para aplicaciones y bibliotecas. Para quien sepa la filosofía TDD entederá. La instalación no nos lleverá mucho tiempo. Abrimos una terminal y escribimos: $ pip install -U pytest Si ha funcionado, verificamos: $ pytest --version ¿Qué podemos hacer con Pytest? Básica y llanamente nos permite escribir y ejecutar pruebas automatizadas (unitarias, de integración, funcionales y en-to-end) en Python . Esto para tener una mejor calidad de código y evitar futuros errores. ¿Cómo funciona? Veamos un ejemplo. Escribamos una función para sumar dos números. Escribimos un test que falle. pruebas.py import pytest # Función que sume dos números def add (x, y): return x + y # Prueba que falle, 3 + 4 no da 5 def test_fail_add (): assert add( 3 , 4 ) == 5...

Matplotlib: una librería Python para graficar

  Matplotlib es una biblioteca completa para crear visualizaciones estáticas, animadas e interactivas en Python. ¿Qué podemos hacer con Matplotlib? Crear gráficos con calidad de publicación. Crear figuras interactivas que puedan ampliar, desplazarse y actualizarse. Personalizar el estilo visual y el diseño. Exportar a diversos formatos de archivo. Integración con JupyterLab e interfaces gráficas de usuario. Instalación y verificación: $ pip install matplotlib $ pip show matplotlib Veamos un ejemplo sencillo: grafica.py import matplotlib.pyplot as plt # Datos de ejemplo x = [ 1 , 2 , 3 , 4 , 5 ] y = [ 2 , 4 , 6 , 8 , 10 ] # Crear el gráfico plt . plot(x, y, marker = 'o' , linestyle = '-' , color = 'b' , label = 'Datos' ) # Añadir etiquetas y título plt . xlabel( 'Eje X' ) plt . ylabel( 'Eje Y' ) plt . title( 'Gráfico de Líneas Simple' ) plt . legend() # Mostrar el gráfico plt . grid(...

Scikit-learn: una biblioteca Python para aprendizaje automático

Scikit-learn es una biblioteca de Python para aprendizaje automático (machine learning) que ofrece herramientas simples y eficientes para tareas como clasificación, regresión, clustering y preprocesamiento de datos. Se usa a la par de otras librerías como SciPy , Numpy y Matplotlib . Scikit-learn provee de varios algoritmos de clasificación, regresión y análisis de grupos entre los cuales están máquinas de vectores de soporte, bosques aleatorios, Gradient boosting, K-means y DBSCAN. Sirve para: Clasificación: Identificar a qué categoría pertenece un dato (ej. spam/no spam).  Regresión: Predecir valores numéricos (ej. precios de casas).  Clustering: Agrupar datos similares sin etiquetas previas.  Preprocesamiento: Escalar, normalizar o codificar datos.  Evaluación de modelos: Métricas como precisión, recall, etc. Si no tenemos instalada la librería, la podemos instalar de esta forma: $ pip install scikit-learn Nota: Si no tenemos Scipy, N...

SciPy: una librería Python para científicos

SciPy es un paquete científico más completo, que incluye interfases a librerías científicas muy conocidas como LAPACK , BLAS u ODR entre muchas otras. Contiene módulos para optimización, álgebra lineal, integración, interpolación, funciones especiales, FFT , procesamiento de señales y de imagen, resolución de ODEs y otras tareas para la ciencia e ingeniería. Proporciona algoritmos para optimización, integración, interpolación, problemas de valores propios, ecuaciones algebraicas, ecuaciones diferenciales, estadísticas y muchas otras clases de problemas. Amplía NumPy proporcionando herramientas adicionales para el cálculo de matrices y proporciona estructuras de datos especializadas, como matrices dispersas y árboles k-dimensionales. Para instalarlo existen varias formas, nosotros usaremos pip: $ python -m pip install scipy $ pip show scipy Estos comandos lo instalarán y verificarán la instalación. Entramos al REPL de Python: $ python Importemos la lib...