21 de octubre de 2022

Buscar informacion en archivos linux

Con el comando grep

grep nos ayuda a encontrar cadenas de caracteres dentro de todos los archivos de la ruta que le demos, con expresiones regulares.

grep -nr <path> -e <info_a_buscar> 


ls -lh | grep ^d

^d filtra solo los directorios ^l links simbolicos 


grep con git

Buscar en los comentarios del commit:

git log --grep=textoAbuscar 

Buscar en los cambios hechos al código:

git log -S textoAbuscar 

Muestra solo los comentarios de cada commit, con el operador pipe pasa a grep para hacer el filtrado de lo que buscamos: 

git log --oneline | grep textoAbuscar 


Con el comando find

find busca en los nombres de archivo y metadata

find <path> -name '*.md' -type f 

type

f file

d directory


16 de octubre de 2022

Tablas de verdad

En matemática, electrónica digital e informática, el álgebra de Boole, también llamada álgebra booleana, es una estructura algebraica que esquematiza las operaciones lógicas.

La lógica binaria es la que trabaja con variables binarias y operaciones lógicas del Álgebra de Boole. Así, las variables sólo toman dos valores discretos, V (true) y F (false), aunque estos dos valores lógicos también se pueden denotar como y no, o como 1 y 0 respectivamente.


Tablas de verdad

AND

OR

NOT

INPUT

OUTPUT

A

B

A AND B

0

0

0

0

1

0

1

0

0

1

1

1

INPUT

OUTPUT

A

B

A OR B

0

0

0

0

1

1

1

0

1

1

1

1

INPUT

OUTPUT

A

NOT A

0

1

1

0

 

XOR  u OR exclusiva

 

 

INPUT

OUTPUT

A

B

A XOR B

0

0

0

0

1

1

1

0

1

1

1

0

 

 

 

 

 

10 de octubre de 2022

Comando test en Linux

Test es un comando integrado del shell Bash que prueba los atributos de los archivos (tipo y permisos) y realiza comparaciones aritméticas y de cadenas.

Se usa con frecuencia como parte de una expresión condicional. No proporciona ningun resultado, por lo que puede verse su estado de salida con la variable "$?" y el comando echo. Devuelve 0 como un estado de salida exitoso si el comando o la expresión es "verdadero" y devuelve 1 si el comando o la expresión es "falso". Cualquier valor superior a 1 indica un error o un comando mal formado.

Sintaxis:

test [expresión]

Ejemplo:

test "$variable1" operador "$variable2"

  • Aquí, expresión puede ser cualquier comando o expresión que pueda ser evaluada por el shell. Y se recomienda encerrar siempre las variables de prueba entre comillas dobles.
  • Todos los argumentos a probar deben estar separados por un espacio, incluidos todos los operadores .
  • Los operadores < y > son comparaciones lexicográficas, basadas en numeración ASCII. No son operadores numéricos ( utilice -lt , -gt , etc. para comparar números).


Flags para archivos y directorios

test -e filename: Comprueba si el archivo existe o no. Y devuelve 0 si el archivo existe y devuelve 1 si el archivo no existe.

test -d filename: Comprueba si el archivo es un directorio o no. Y devuelve 0 si el archivo es un directorio y devuelve 1 si el archivo no es un directorio.


https://man7.org/linux/man-pages/man1/test.1.html

https://man7.org/linux/man-pages/man1/test.1p.html



6 de junio de 2022

Atajos de teclado para VLC

 VLC es un reproductor multimedia de codigo abierto compatible con multiples sistemas operativos. Reproduce gran cantidad de formatos, y aunque su interfaz grafica es muy simple e intuitiva, no todos las acciones muestran el atajo de teclado para utilizarlas.

Barra espaciadora : pausa de manera inmediata, o reactiva la reproduccion.

S : stop

N y P : si tenemos varios videos en la misma carpeta N reproduce el siguiente, P el anterior.

K : avanzar audio

J : retrasar audio

H : adelantar subtitulos

G : retrasar subtitulos

V : habilitar y cambiar subtitulos

CTRL + SHIFT + K : restablecer subtitulos

F : pantalla completa, para revertir ESC o F

A : relacion de aspecto

Control de volumen: CTRL + flecha arriba / flecha abajo

M : mute

T : mostrar tiempo


+ / - : controla la velocidad de reproducccion a pasos altos

[ / ] : controla la velocidad de reproduccion a paso fino

= : restablece la velocidad de reproduccion a norma 1.00


1. Avance lento: salta 10 segundos de video.

Alt + Derecha y Alt + Izquierda (derecha para adelante y izquierda para atrás).

2. Avance medio: omita 1 minuto de video.
Ctrl + Flecha derecha y Ctrl + Flecha izquierda.

3. Avance rápido: salta 5 minutos de video.
Ctrl + Alt + tecla de flecha derecha y Ctrl + Alt + tecla de flecha izquierda


21 de mayo de 2022

Factores estratégicos

Un factor es una concausa o elemento, es decir, algo que causará un efecto sobre algo; en el caso de la planeación estratégica, son aquellos que impactarán, ya sea positiva o negativamente, en la planeación. Cada organización tiende a tener factores que le afectan.

Muchos avances afectan de modo considerable a una industria lo bastante para denominarlos fuerzas impulsoras. Algunos impulsores del cambio son únicos y específicos de la situación particular de una industria, pero la mayoría de sus impulsores y el cambio competitivos se clasifican en una de las siguientes categorías.

  • Las nuevas capacidades y aplicaciones de la internet
  • Globalización creciente
  • Cambios en la tasa de crecimiento de largo plazo de una industria
  • Cambios de quien compra el producto y como lo usa
  • Innovación del producto
  • Cambio tecnológico e innovación del proceso de fabricación
  • Innovación del marketing
  • Entrada o salida de empresas importantes
  • Difusión de técnicas entre más empresas y países
  • Cambios en costo y eficiencia
  • Preferencias crecientes del comprador por productos diferenciados en lugar de mercancías
  • Reducciones de la incertidumbre y riesgo comerciales
  •  Influencias regulatorias y cambios de las políticas gubernamentales
  • Cambio de las preocupaciones, actitudes y estilos de vida de una sociedad

 

31 de marzo de 2022

Comprensión de la normalización

 La normalización es un término que usan los profesionales de bases de datos para referirse a un proceso de diseño de esquemas que reduce al mínimo la duplicación de los datos e impone la integridad de los datos.

Aunque hay muchas reglas complejas que definen el proceso de refactorización de los datos en varios niveles (o formas) de normalización, una definición sencilla a efectos prácticos es:

  1. Separar cada entidad en su propia tabla.
  2. Separar cada atributo discreto en su propia columna.
  3. Identificar de forma única cada instancia de entidad (fila) mediante una clave principal.
  4. Usar columnas de clave externa para vincular entidades relacionadas.
Al registrar cada instancia de una entidad como una fila en una tabla específica de la entidad, se elimina la duplicación de datos.
La descomposición de atributos en columnas individuales garantiza que cada valor esté restringido a un tipo de datos adecuado.  Además, la creación de columnas individuales aporta un nivel útil de granularidad a los datos a la hora de realizar las consultas.
Las instancias de cada entidad se identifican de forma única mediante un identificador u otro valor de clave, conocido como clave principal; y cuando una entidad hace referencia a otra, la clave principal de la entidad relacionada se almacena como una clave externa.

Normalmente, un sistema de administración de bases de datos relacionales (RDBMS) puede aplicar la integridad referencial para garantizar que un valor especificado en un campo de clave externa tenga una clave principal correspondiente existente en la tabla relacionada.
En algunos casos, se puede definir una clave (principal o externa) como una clave compuesta basada en una combinación única de varias columnas. 


Fuentes consultadas
https://docs.microsoft.com/en-us/learn/modules/explore-relational-data-offerings/3-normalization

18 de septiembre de 2021

Trabajar con Apache y MySQL en WSL

 Windows 10 permite trabajar con Linux por medio de Windows Subsystem Linux. (Instrucciones de instalación de WSL), para realizar algunas pruebas con el servidor apache podemos instalarlo con el comando usando cualquier distribución basada en Debian:

sudo apt install apache2

También podemos instalar mysql o cualquier otro gestor de base de datos, con el mismo comando apt install (instrucciones).

Para conocer nuestra IP local, podemos consultarla en el administrador de tareas de windows al seleccionar la tarjeta de red. O bien podemos consultarla con el siguiente comando. 

ip address

Para que funcione, siempre debemos tener funcionando WSL e iniciar cada servidor con:

sudo service apache2 start

sudo /etc/init.d/apache2 start

sudo /etc/init.d/mysql start

De esta forma ya podremos comenzar a realizar pruebas, con los paginas almacenadas en:

/var/www/html/

Para acceder al sitio local, en el navegador indicamos la dirección:

http://localhost/