Entradas

Git-GitLab en Windows

Imagen
Como continuación a la serie que viene desde DevSecOps ahora pasamos a la parte práctica que tiene que ver con el sistema distribuido de versiones de software. Lo primero es descargar el software en la siguiente dirección: https://git-scm.com/install/windows   La instalación es de esas triviales y clásicas de siguiente - siguiente, se ha optado por las opciones por defecto que te da el instalador. Por ahora, se ha optado por configurar Git usando la línea de comando, que para Windows en su versión 11 sigue siendo " Símbolo de Sistema " para después replicarlo en las cuentas de la "Estación de trabajo" que tiene un sistema operativo Linux. Lo primero y básico es ver si en la variable PATH tiene la ruta del ejecutable de Git, para ello vamos teclear simplemente PATH y la tecla [enter]. Entonces vamos a usar un comando básico de GIT para verificar si se realizó bien la instalación del software. Ahora vamos a la plataforma GitLab donde podemos consultar nuestro nombre ...

DevSecOps - una breve introducción

Imagen
En principio, vamos con definiciones formuladas por una IA corporativa: DevOps: Enfoque de trabajo que integra el desarrollo, la operación y el mantenimiento de soluciones informáticas mediante prácticas de colaboración, automatización e integración continua, con el propósito de mejorar la calidad, trazabilidad y oportunidad en la entrega de productos y servicios digitales. DevSecOps: Evolución del enfoque DevOps que incorpora la seguridad de la información y la gestión de riesgos de manera transversal durante todo el ciclo de vida de las soluciones tecnológicas, desde su diseño y desarrollo hasta su operación y mantenimiento. Como anécdota, empezaba el siglo XXI y debido a un cambio en los formatos de las estadísticas de cultura (hoy solo queda museos) se optó por pasar de un sistema de escritorio (standalone) a un sistema web usando Visual Studio .NET. Para hacer más ágil el desarrollo se creo una carpeta compartida e incluso se usó un cable ethernet cruzado  para que el equipo...

Java ¿se quedó atrás?

Imagen
Hace poco en la organización donde trabajo se reitero el uso obligatorio del framework desarrollado en casa y que su lenguaje base es Java y sus tecnologías adyacentes. Pensando en ese escenario se pensó en hacer un caso de uso (hacer frecuencias de ciertas variables de un archivo de texto) para que con estas cifras la generación aleatoria de datos de los llamados sintéticos tengan cierta tendencia de acuerdo a los datos reales, usando Java. Quizás a veces nos quedamos "congelados" con una forma de trabajar y debido a la gran velocidad y potencia que tiene Apache Spark para el procesamiento de archivos de gran tamaño, nos quedamos que es lo único que resuelve este caso. En el equipo se dio un pase adelante con la conversión de los archivos fuentes a parquet (ya se escribirá al respecto de este formato) y con ellos se disminuyó aun más el tiempo de procesamiento. Pero lo que no esperaba es que con un "clásico" procesamiento secuencial pudiera "ganarle" a Ap...

Visual Studio Code para trabajar con equipos remotos

Imagen
Cuando descubrí y me di cuenta como Visual Studio Code (VS Code) se empezó a popularizar en el mundo de desarrollo de software yo creía que era el mismo IDE comercial de Visual Studio (antes Visual Studio .NET) y que por alguna razón no era Express o Community. Gracias al apoyo de la Inteligencia Artificial descubrí que aunque de la misma empresa (Microsoft) son "proyectos fundamentalmente distintos". Relativo al párrafo inicial después leer aun más sucede que VS Code NO ES un entorno de desarrollo integrado, es un editor como he dicho yo antes de las colecciones de los lenguajes modernos (arreglos con anabólicos), un editor con anabólicos (que pudiera decirse que estos anabólicos son las extensiones). En si, el editor es proyecto de código abierto con licencia del MIT llamado Monaco y utilizan Electron para lograr que al ser web, el sistema operativo no es restricción para que se pueda utilizar sin distinción del mismo. Por eso VS Code es uno de los estándares en el mundo de...

Solución a la NO exportación de un notebook de Jupyter a PDF (Ubuntu Server 25.x)

Imagen
A veces es necesario pasar un "notebook" a formato PDF y en la versión que se tiene instalado en la estación de trabajo existe una versión que es: File - Save and Export Notebook As - PDF Al ejecutarla mandó el siguiente error: "nbconvert failed: Pandoc wasn't found. Please check that pandoc is installed: https://pandoc.org/installing.html" La solución es simplemente instalar pandoc lo cual se hace de la siguiente manera: sudo apt update sudo apt install pandoc texlive-xetex texlive-fonts-recommended Y con esto ya podemos convertirlo a PDF, el archivo aparece en la carpeta de Descargas. Por ahora no esta en https, sino en http normal. Hasta el siguiente post. Miguel Araujo.

SQL Server (T-SQL) función para calcular la edad

Imagen
Tenemos que diseñar e impartir un curso de Power BI de Microsoft, y queremos mostrar que no solo las fuentes de datos son archivos independientes (de texto delimitado, Excel, etc.)  sino que es posible hacer conexiones con bases de datos, en esta ocasión, del mundo de bases de datos relacionales. Consultando con el chatbot IA de Copilot - para que la cuña apriete tiene que ser mismo árbol - se recomendó la base de datos también de casa, en su versión Express, SQL Server 2025. "SQL Server Express Edition es la base de datos gratuita de nivel de entrada, ideal para aprender y compilar aplicaciones controladas por datos de escritorio y servidor pequeño . Esta edición unificada incluye SQL Server Data Tools (SSDT), integración de aprendizaje automático y Búsqueda de texto completo. Es la mejor opción para proveedores de software independientes, desarrolladores y aficionados que crean aplicaciones cliente. Si necesita características de base de datos más avanzadas, SQL Server Express s...

Acceder a Jupyter desde otros equipos (misma red)

Imagen
 Una de las últimas cosas de este ejercicio es que esta instalación de Jupyter se pueda acceder desde un equipo local y en una máquina casera este software que se ha configurado tanto para notebooks en Python como en R. Nuevamente con el acompañamiento de Deep se hace lo siguiente: Se crea el archivo de configuración y se define un password:   Lo que sigue es que una vez creado el archivo de configuración nos vamos a editar este archivo mediante nano. nano ~/.jupyter/jupyter_notebook_config.py Nos indica que tenemos que agregar las siguientes líneas para lograr el acceso desde otros equipos para el uso de este software. Para este caso, se tiene que agregar las líneas. Se guarda el archivo y queda listo el archivo. Para lanzar el Jupyter se lanza la siguiente instrucción para levantar el software. jupyter notebook --ip =0.0.0.0 --port =8888 --no-browser Queda, en la máquina que tiene Jupyter (Ubuntu), investigar la ip de este equipo, lo cual se puede usando ifconfig ...