Instalar Oh My Posh y personalizar el prompt del terminal

Introducción

Oh My Posh es un motor para el prompt del terminal de windows, que permite ser personalizado para cualquier shell que tenga la capacidad de ajustar la cadena de solicitud con una función o variable (usaremos powershell).

Es muy útil si programas y usas GIT porqué te muestra información útil, depende del tema que se use, pero si estás en un directorio en un repo git, la rama de trabajo, cuantos commits estás por detras del remote, cuantos ficheros pendietes de commit, si ha habido un error, y más …

El objetivo es tener un prompt (parecido, no esté en concreto necesariamente) como sl siguiente:

Continue reading

GIT: Cóomo hacer un parche con los cambios actuales

Introducción

El caso por ver en esta entrada puede ser conocido por muchos usurios veteranos de git y por los nóveles que no hayan conocido cómo solucionarlo.

Estamos trabajando en una rama de trabajo, y queremos cambiar a la principal para hacer un pull, pero … no quermos perder o descartar los cambios, ¿qué hacer? Existen soluciones usar git stash o en IntelliJ hacer un shelf, pero cómo dice el título y si quiero almacenar TODOS los cambios que hay en el working tree en un fichero, un parche.

Continue reading

Cómo unir commits en git en uno sólo [ACTUALIZADO]

En ocasiones ocurre que necesitamos juntar varios commits the git. Casó típico: en tu trabajo diario con git vas cumpliendo poco a poco mini hitos que te pones, pero a la hora de compartir el trabajo o de enviar los cambios a un repositorio compartido sólo se permite enviar el trabajo en un único commit agrupado.

¿Cómo solucionarlo? La solución se llama hacer un squash de los commits.

Continue reading

Como hacer un usuario Administrador en Windows

En Windows, una forma fácil de hacer que un usuario se administrador (pertenezca al grupo Administrador) es abrir un CMD con privilegios elevados (como administraodr) y ejecutar el comando:

> net localgroup Administrators (UserLoginName) /add

Podemos verificar que la acción ha sido un éxito con el comando:

> net localgroup "Administrators"

Nombre de alias   Administrators 
Comentario

Miembros
-------------------------------------------------------------------
Administrator
UsuarioLocal*
Dominio\UsuarioExterno*

Se ha completado el comando correctamente.

* son ejemplos de usuarios y dominios que no existen

 

Log de mensajes HTTP en Mule 4

Introducción

Mule es ESB (Enterprise Service Bus) Se usa para enviar/recibir mensajes heterogéneos entre diferentes productos/consumidores.

Admite muchos componentes de transporte y servicio como JMS, SOAP, JBI, BPEL, EJB, AS/400, HTTP, JDBC, TCP, UDP, SMTP, FILE, FTP y más.

Como en Internet el idioma padre es HTTP vamos a ver cómo hacer logging de las peticiones y respuestas HTTP que pasan por mule.

Continue reading

Configurar SSH para usar diferentes pares de claves con bitbucket y otros servicios git [ACTUALIZADO]

Introducción

Normalmente uso git como herramienta de control de código fuente. Por lo general el escenario que me he encontrado es una única cuenta en mi equipo. Ya que en equipo personal hago mis pruebas con bitbucket y en el trabajo con el servidor GIT que ponga a mi disposición la empresa.

En la actualidad, trabajo con un servidor GIT centralizado pero algunas entidades con las que colaboramos en el trabajo tienen sus propios servidores GIT. Esto plantea un escenario nuevo. Ya que si usas git sobre protocolo HTTP te da igual pero hoy en día por cuestiones de seguridad es muy recomendable SSH y en este caso es donde aparece el “problema”.

No es un problema, claro, pero para poder trabajar contra varios servidores con claves de acceso RSA para SSH diferentes es necesario configurar un poco el equipo. El siguiente ejemplo lo he hecho en Windows 10 con Git Bash pero en un shell de GNU/Linux o macOS sugpongo que irá igual (o muy parecido).

Continue reading

Cómo recuperar un ZIP de una versión antigua de un commit en Git

Introducción

En ocasiones, estamos desarrollando y queremos obtener una versión anterior de un proyecto. Lo normal es hacer uso de los tags, ¿pero qué hacer cuando no se dispone de  un tag marcando una versión completa? Se puede obtener un zip del proyecto simplemente indicando el código hash del commit deseado.

Solución

Podemos usar el comando git archive, así

git archive --format zip --output example.zip <codigo_hash_commit>

Referencias

  1. Comando git-archive

Selección en bloque / columna en Notepad++

Notepad++ (https://notepad-plus-plus.org/downloads/) es un editor para ver y modificar ficheros en diferentes lenguajes y formatos de forma rápida y sencilla.

Tiene una funcionalidad muy interesante que es seleccionar en bloque/columnas. De forma típica los editores seleccionan líneas pero si dejamos pulsada la tela ALT mientras seleccionamos con el ratón podremos marcan un bloque o columna de texto y ya realizar las típica operaciones de COPIAR, CORTAR, PEGAR, etc.

Espero que sea útil, a mi me es de mucha ayuda manejando ficheros de datos CSV, SQL, etc.

Para que sirve using en c#

La instrucción using:

using(var disposableObject = new object_that_implements_IDisposable()) { ... }

es una construcción usada para ahorra código al usar una estructura que implemente IDisposable cómo esta:

var disposableObject = new object_that_implements_IDisposable()
try
{
    ...
}
finally
{
    if(disposableObject != null)
    {
        ((IDisposable)your_object).Dispose();
    }
}

Esta instrucción sólo tiene sentido para declarar objetos que implementen el interfaz IDisposable

Referenciausing (Instrucción, Referencia de C#)