Buscar este blog

Aviso

El autor de éste blog no se hace responsable de los posibles daños o perdidas de información, que pudieran ocasionarse en su sistema o su vida por la aplicación de la información aquí contenida.

sábado, 17 de julio de 2021

Valores del manifiesto de producto

- Resolver problemas sobre implementar soluciones (Solving Problems over implementing solutions)

- Orientación a resultados sobre definir funcionalidades (Outcome Orientation over defining features)

- Validar hipótesis sobre seguir opiniones (Hypotheses Validation instead of following opinions)

- Empatizar con el usuario final en vez de presumir sus necesidades (Empathizing with End-Users instead of presuming their needs)
 

Referencias:

- https://bootcamp.uxdesign.cc/agile-manifesto-is-long-gone-we-need-a-product-manifesto-aec90699ee4e

miércoles, 7 de julio de 2021

symlink vs bind mount

Usando snap me encontré con el siguiente problema
cannot perform operation: mount --rbind /var/log /tmp/snap.rootfs_MJ9BCP//var/log: Permission denied

Esto después de aplicar https://ulisesuseche.blogspot.com/2020/10/montar-un-directorio-en-una-particion.html

Resultando un poco frustrante el tema, la solución dada es hacer un bind mount, de lo cuál se puede ejecutar:

sudo unlink /var/log
sudo mkdir /var/log
sudo mount --bind /home/var/log /var/log

Esto como siempre es temporal se desaparece en el reinicio, para hacerlo permanente hay que modificar el /etc/fstab y añadir:

/home/var/log                             /var/log              none          bind   0 0

Después de esto es posible iniciar las aplicaciones snap sin mayor problema, espero que puedan implementarlo exitosamente!

Referencias:

- https://forum.snapcraft.io/t/how-do-i-change-the-folder-in-which-a-snap-sends-its-logs/20782

- https://ulisesuseche.blogspot.com/2016/09/que-hace-cuando-se-acaba-el-espacio-en.html

 

 

domingo, 27 de junio de 2021

Programación Funcional

Funciones Puras

Una función pura, deberá cumplir con dos cosas específicamente. Primero. Dados los mismos parámetros de entrada la función debe retornar siempre el mismo valor. Segundo. La función no debe tener efectos colaterales, es decir no debe haber nada en el entorno que la altere. Como por ejemplo, variables globales.

Inmutabilidad

Hablando de variables, fomentaremos el uso de variables de tipo constante, o variables inmutables. La inmutabilidad es uno de los principios de la programación funcional donde nos promueve la ausencia de estado mutable o también conocido como Stateless, para entender esto mejor lo primero que debemos comprender es qué cosa se considera estado. Estado: será cualquier dato que se pueda guardar y modificar posteriormente en memoria Una variable Un archivo Un socket Para el caso de las variables en Kotlin preferirémos declararlas como ´val´ en vez de ´var´. Una buena práctica en nuestros programas es nunca tener variables de tipo ´var´ declaradas de manera global pues estas van en contra de la inmutabilidad, aunque sé que a veces es complicado prescindir de ellas en el resto del programa. Su mejor lugar es cuando están declaradas de manera local al método.

Ref: https://platzi.com/clases/1543-kotlin-2019/19391-programacion-funcional-funciones-puras-e-inmutabil/

domingo, 6 de junio de 2021

Cómo BUSCARV múltiples valores en LibreOffice Calc

Es normal que queramos obtener múltiples valores al usar BUSCARV o VLOOKUP, pero esto no es posible, lo que tenemos que hacer es utilizar otras funciones que nos permitan hacerlo.

Sintetizamos la operación en 4 pasos:

1. Se crea el índice de la lista o arreglo

2. Se busca en la lista o arreglo los valores del índice que coincidan con nuestra búsqueda

3. Se ordenan los valores de la lista resultante de los índices

4. Se busca con el índice resultante el valor en la columna adyacente

5. (Opcional) Si no nos gusta ver el #VALUE! podemos usar la función IFERROR

Realmente es fácil de entender por pasos, pero a veces no queremos tener que hacer una columna de índices o hacer tantas fórmulas encadenadas una con otras, así que les comparto la versión resumida sin necesidad de índices:

=INDEX($C$2:$C$7,SMALL(IF($B$2:$B$7="Colombia",MATCH(ROW($B$2:$B$7),ROW($B$2:$B$7)),""),ROWS($A$1:A1)))

La misma pero en múltiples líneas para mayor entendimiento:

=INDEX($C$2:$C$7,
SMALL(
IF(
$B$2:$B$7="Colombia",
MATCH(
ROW($B$2:$B$7),
ROW($B$2:$B$7)
),
""
),
ROWS($A$1:A1)
)
)
Ahora ya puedes aplicarla sin problema cambiando los rangos y valores a buscar, es un poco larga pero es al parecer la más corta posible.

Buena suerte!

Referencia:

 - https://www.get-digital-help.com/how-to-return-multiple-values-using-vlookup-in-excel/#vertically

Más populares

Archivo del blog