Herramientas Informaticas

Autor: juliocesar20200413 Página 17 de 139

Desarrollador web apasionado y gusto por la buena musica

Comprimir varios archivos conservando las rutas en Zorin Linux

Anteriormente hemos visto como subimos los cambios que le hacemos al fuente de JCPOS2022 siempre esta en un archivo comprimido en el cual conserva la ruta para hacer los cambios mas fácil mente. y se preguntaran como le hago o si lo hago uno por uno, para verdad es que es casi en automático.

Lo ideal es actualizar desde gitlab lo cual es posible darle acceso al repositorio privado si están como mecenas en patreon como nivel intermedio

Mostrare como se hace desde Zorin Linux 16 de forma fácil.

Al hacer commit en netbeans nos salen los archivos que hemos modificado, entonces así sabremos la ruta en la columna de repository path, le damos copiar y lo pegamos en un excel
Creamos la formula para generar el comando por ejemplo para la primer linea ponemos la formula =”tar -cvzf archivos.tar ” & F3 y en la siguiente =” ” & F4 y arrastrando la columna en la esquina y automaticamente se genera el codigo
Para el primer renglón siempre quedara así
Para lo siguientes debe de quedar asi
Lo copiamos al editor de texto prederteminado en mi caso es gedit y le quitamos los espacios
Abrimos la terminal y nos posicionamos en el proyecto y pegamos el comando
Si todo salio bien saldrá algo similar a lo siguiente
Si abrimos el archivo comprimido veremos que se agregando conservando sus rutas y de esa manera facilitando la actualización a otro sistema

Saludos espero que les sirva y no se olviden ser convertirse en mecenas en mi Patreon para obtener contenido exclusivo.

JCPOS2022 CRUD Empresas Guardar Logo Certificado y Archivo Key

Bien ahora para seguir avanzando haremos las altas bajas y cambios del catalogo de empresas ya que actualmente solo tenemos para meter datos de una empresa.

Aprovechando meteremos varios campos extras como el logo, contraseña (Por si se tiene que ingresar por empresa), archivo .cer y .key y contraseña del certificado, por si en un futuro se mete la facturación electronica.

Recortar silencios Automáticamente en vídeos en Zorin Linux GNU/Linux


Últimamente hemos estado transmitiendo vídeos de diferentes cursos y siempre es un dolor de cabeza editar y subir el resumen para ahorrarles tiempo, es decir quitar los silencios incómodos.

Para ello afortunadamente existe una aplicacion hecha en python que consume la libreria FFMPEG

Bien descargaremos la aplicación y veremos como usarla en Zorin Linux 16.1

Una vez descargada descomprimimos y abrimos la terminal nos posicionamos en la carpeta donde descomprimimos los archivos y corremos el siguiente comando para instalar todos los requerimientos que necesita el programa

Agregando derecho para que permita ver stock al hacer la venta JCPOS2022

Uno de los cambios que no han estado solicitando es que no todos los usuario puedan ver el stock, si no que si no tiene derecho que solo vea el color por si esta bajo en existencia así que empezando

Primero que nada empezamos agregando el cambio del derecho en la base de datos para ello ejecutamos el siguiente comando en la base de datos

alter table perfiles add permiteVerStockVentas  varchar(5) null

Modulo Mostrar Información de la Venta en AdministrarVenta JCPOS2022

Es necesario en algunas para los administradores de venta ver el detalle de la venta sin estar saliendo de la lista de ventas.

Bien lo que haremos es mostrar la información de la venta mostrando los productos y demás información a través de una ventana modal, entonces lo que haremos primera mente es crear un botón que sera el que lanza el modal.

Quedaría el siguiente código en datatable-administrarVentas.ajax.php

  $botones .= "<button type='button' class='btn btn-info  btnMasInfo' data-toggle='modal' data-target='#modalMasInfo' data-dismiss='modal' idVenta='" . $ventas[$i]["id"] . "' idCodigo='" . $ventas[$i]["codigo"] . "' puntoVenta='" . $ventas[$i]["puntoVenta"] . "'  required data-toggle='tooltip' data-placement='top' title='Mas Info'><i class='fa fa-info'></i> </button>";

Al mostrar las ventas en la columna acciones se podrá ver los siguiente

Al final del archivo vistas/modulos/ventas.php antes de que empieze la etiqueta script ponemos el siguiente código

<script type="text/javascript">
Quedaría algo similar a esta imagen

Ahora crearemos el archivo donde estará el modal en la carpeta /ventasModulos

Al darle click quedaría de esta forma

Ahora falta que nos muestre la información de la venta así que desde la vista creamos la función cargaDatosVenta, en la cual mandamos invocar mediante AJAX los datos de la venta

Quedaría de esta forma
Así mandaríamos llamar la función de cargaDatosVenta
Y ya nos muestra los productos de la venta

Ahora falta que nos muestre la dirección del cliente, en el archivo datatable-administrarVentas.ajax.php en el mismo boton btnMasInfo agregamos el atributo del id_cliente

Quedaría de la siguiente forma
Y en el archivo vistas/modulos/ventasModulos/modalInfo.php metemos la funcion datosVenta
Y así lo mandamos llamar al hacer Click
Finalmente quedaría así

Que hacer después de instalar Zorin Linux 16.1 PRO

Después de probar Kubuntu nos hemos decidido volver a Zorin linux pero esta vez a la versión 16.

Lo que nos ha gustado de esta versión es que ya viene con muchos programas pre instalados como son los siguientes:

  1. Kdenlive
  2. Minder
  3. Audacity
  4. Blender
  5. Brasero
  6. Ardour
  7. Remmina
  8. Darktable
  9. FreeCad

Así que instalar vamos a instalar solo programas faltantes para el desarrollo y algunas utilidades necesarias.

Primero abrimos la terminal con CTRL+ALT+T accedamos como root con el siguiente comando, nos va a solicitar contraseña

sudo su

Verificamos si existen actualizaciones con el siguiente comando

apt update

Procedemos actualizar

apt upgrade

Instalamos Brave, que es un navegador que bloquea anuncios, no lo usen al navegar en mi pagina o tendrán pesadillas

Ejecutar uno a uno

sudo apt install apt-transport-https curl
sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
apt update
apt install brave-browser

Listo ya tenemos instalado Brave, ahora vamos a instalar Anydesk para conectarnos a otras PC y también para conectarnos a nuestra PC desde otra PC externa a la red.

Primero agregamos la llave de validacion

wget -qO - https://keys.anydesk.com/repos/DEB-GPG-KEY | apt-key add -

Agregamos el repositorio

echo "deb http://deb.anydesk.com/ all main" > /etc/apt/sources.list.d/anydesk-stable.list

Actualizamos el cache

apt update

Instalamos AnyDesk

apt install anydesk

Ahora vamos a instalar el IDE Netbeans para nuestros desarrollos WEB

Descargamos el archivo de instalación con el siguiente comando

wget https://dlcdn.apache.org/netbeans/netbeans-installers/14/Apache-NetBeans-14-bin-linux-x64.sh

Le asignamos propiedades de archivo ejecutable

chmod +x Apache-NetBeans-14-bin-linux-x64.sh

instalamos el JDK de Java

apt install openjdk-8-jdk

Instalamos Netbeans le damos siguiente a todo y solo escogemos bien la ruta del JDK

./Apache-NetBeans-14-bin-linux-x64.sh

Ahora instalamos PHP8 y 8.1 para debugear nuestros proyectos, ejecutamos linea por linea en caso de que no funcione todo junto

add-apt-repository ppa:ondrej/php
apt install php8.0 libapache2-mod-php8.0
apt install php8.1
apt install php8.1-mysql
apt install php8.1-xdebug
apt install php8.1-mbstring
apt-get install php-intl

Ahora instalamos XAMPP, para pruebas regulares

Primero descargamos el archivo con el siguiente codigo

wget https://downloadsapachefriends.global.ssl.fastly.net/8.1.6/xampp-linux-x64-8.1.6-0-installer.run

Asignamos la propiedad de ejecutable al archivo descargado

chmod +x xampp-linux-x64-8.1.6-0-installer.run

Instalamos XAMPP despues de ejecutar el comando le damos siguiente a todo

./xampp-linux-x64-8.1.6-0-installer.run

Instalamos Git

apt install git

Instalamos los codecs de vídeos privativos

apt install ubuntu-restricted-extras

Instalamos Telegram Desktop

apt install telegram-desktop -y

Instalamos capturador de pantalla mas fácil de usar

apt install -y deepin-screenshot

Instalamos OBS Studio

instalamos OBS Studio

Y amigos seria todo espero que les sirva, esto es lo que uso cotidianamente

CURSO MARIADB -PROCEDIMIENTOS ALMACENADOS #10

Un procedimiento almacenado (stored procedure en inglés) es un programa (o procedimiento) almacenado físicamente en una base de datos. Su implementación varía de un gestor de bases de datos a otro. La ventaja de un procedimiento almacenado es que al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y sólo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes.

Los procedimientos pueden ser ventajosos: cuando una base de datos es manipulada desde muchos programas externos. Al incluir la lógica de la aplicación en la base de datos utilizando procedimientos almacenados, la necesidad de embeber la misma lógica en todos los programas que acceden a los datos es reducida. Esto puede simplificar la creación y, particularmente, el mantenimiento de los programas involucrados.

Podemos ver un claro ejemplo de estos procedimientos cuando requerimos realizar una misma operación en un servidor dentro de algunas o todas las bases de datos y a la vez dentro de todas o algunas de las tablas de las bases de datos del mismo. Para ello podemos utilizar a los Procedimientos almacenados auto creables que es una forma de generar ciclos redundantes a través de los procedimientos almacenados.

Hoy en día existe un debate si se debe de usar procedimientos almacenados, en mi opinión digo que si, hay pros y contras en usar procedimientos almacenados, pero al final es mejor mejor practica usarlos ya que funcionara mas eficientemente siempre y cuando se haga bien, también si se da el caso de que sea una aplicación de escritorio la mayor parte de las veces no se necesitara recompilar y actualizar el ejecutable, si no que solo se tendrá que modificar la base de datos .

Bien como prueba vamos a hacer un procedimiento almacenado básico, tal procedimiento va a insertar en la tabla clientes y luego ejecutara una consulta.

CREATE PROCEDURE `SPR_InsertaCliente`(IN `strNombre` VARCHAR(256)
				    , IN `strRFC` VARCHAR(15)
                                    , IN `strDireccion` VARCHAR(15)) 

BEGIN 

	insert into clientes(nombres 
			    ,RFC
			    ,direccion ) 
			
		    values( strNombre 
			    ,strRFC
			    ,strDireccion ); 

		select * from clientes; 
END;

Ahora mandamos llamar el procedimiento almacenado que hara 2 cosas, una es insertar

SET
    @p0 = 'Cesar';
SET
    @p1 = 'XXXA';
SET
    @p2 = 'Conocido';
CALL
    `SPR_InsertaCliente`(@p0, @p1, @p2);

O simplemente lo podemos invocar de la siguiente manera

CALL SPR_InsertaCliente('Cesar', 'XXXA', 'Conocido');

El resultado será el siguiente



id	nombres	RFC	direccion	
1	Julio	xxx	conocido	
2	kakaroto	xxe	vegita	
3	Cesar	XXXA	Conocido	
4	Cesar	XXXA	Conocido	
5	Cesar	XXXA	Conocido	

Nos arroja varias ya que hemos ejecutado varias veces el procedimiento

Vídeo Demostrativo

CURSO MARIADB 10 – VISTAS

Las vistas en MariaDB o MySQL son tablas virtuales que no almacenan ningún dato sino que es el resultado de la consulta de varias tablas o una según se allá hecho la consulta, por ejemplo, tenemos la tabla clientes y la tabla ventas, en ventas aparte de los demás campos propios de una venta tenemos el idCliente que se relaciona con el campo id de la tabla cliente y de allí podemos tomar el nombre, por ejemplo generamos el siguiente guion para obtener todos los datos.

SELECT a.id as idVenta
	, a.idCliente
    , a.Concepto
    , a.total
    , b.nombres as nombreCliente
    , b.RFC as RFCCliente
    , b.direccion	as direccion
FROM ventas a
	,clientes b 
   where idCliente=b.id

Nos dará como resultado lo siguiente

idVenta	idCliente	Concepto	total	nombreCliente	RFCCliente	direccion	
1	1	venta de equipo de computo	10000.00	Julio	xxx	conocido	
2	2	Venta de semillas del hermitaño	5.00	kakaroto	xxe	vegita	

Bien en base a esa consulta podemos crear la vista

CREATE
 VIEW `vw_vistaVenta`
 AS SELECT a.id as idVenta
    , a.idCliente
    , a.Concepto
    , a.total
    , b.nombres as nombreCliente
    , b.RFC as RFCCliente
    , b.direccion   as direccion
FROM ventas a
    ,clientes b 
   where idCliente=b.id;

Ahora solo en lugar de escribir todo el código que pusimos al principio solo pondremos lo siguiente

select * from vw_vistaVenta;

Y nos arroja el mismo resultado sin tanto código

idVenta	idCliente	Concepto	total	nombreCliente	RFCCliente	direccion	
1	1	venta de equipo de computo	10000.00	Julio	xxx	conocido	
2	2	Venta de semillas del hermitaño	5.00	kakaroto	xxe	vegita	

CURSO MARIADB 10 – RESPALDOS AUTOMATICOS DIARIOS #8

Bien ya explicamos como generar respaldos manuales, pero lo importante es que se generen automáticamente sin tener que intervenir nosotros, también es importante comprimir el archivo ya que conforme pasa el tiempo y se ingresan datos la base de datos crece en tamaño, lo bueno de comprimirla es que baja su tamaño hasta 10 veces .

Bien primero para el caso de Windows vamos a descargar un compresor para Windows que se llama XZ puede descargarlo desde source forge XZ Utils for Windows download | SourceForge.net

Copiamos el archivo en c:\xampp\mysql\bin

Quedaría el ejecutable en esa carpeta

Ahora abrimos el bloc de notas y metemos el siguiente texto

cd c:\xampp\mysql\bin
mysqldump --opt --events --routines --triggers --default-character-set=utf8 -u root pos | xz > c:\respaldo\respaldo.sql.xz

Lo guardamos en la carpeta respaldos o en la carpeta de su preferencia, lo guardamos con extensión .bat o

Vemos como guardo el archivo respaldo.sql.xz
A abrir el archivo comprimido y ver el archivo SQL nos debe mostrar algo similar a la imagen

Ahora sigue para programar para que se ejecute automáticamente

Abrimos el programador de tareas ya esta instalado en Windows Solo nos vamos al Inicio y escribimos programador de tareas, luego vamos al menú acción y le damos clic en Crear Tarea básica
Le ponemos el nombre de la tarea programada y le damos siguiente
Le ponemos cada tanto tiempo se va ejecutar el archivo .bat,le damos siguiente
Escogemos cada tanto tiempo se va ejecutar y a que hora
Escogemos que programa o script se va a ejecutar

Y listo nuestro programa se estará ejecutando diariamente si la PC o Servidor se encuentra encendido

CURSO MARIADB 10 – GENERAR RESPALDOS #7

Una función importante para los administradores de la base de datos es la de generar respaldos de bases de datos y levantar respaldos, tanto para trabajar en ambientes de prueba como recurarse de errores críticos.

Primero que nada veremos como hacer el respaldos desde PHPMYADMIN es realmente muy sencillo.

Primero seleccionamos la base de datos a la cual querernos realizar el respaldo, después nos vamos a exportar y continuar, nos genera un archivo SQL el cual se descargara en el destino que se eliga
Para importar/levantar la base datos nos vamos a importar elegimos la base de datos y nos vamos al menú importar, elegimos el archivo y le damos continuar

También podemos generar respaldos y levantarlos desde HeidiSQL

Primero le damos click derecho a la base de datos que queremos realizar el respaldo y seleccionamos Exportar Base de datos como SQL
Le ponemos el nombre y ubicación a la base de datos que queremos crear y elegimos si deseamos crear la base de datos y si existe suprimirla para volverla crear, al darle exportar generar el archivo en la ruta elegida
Para levantar la base de datos desde HeidiSQL nomas nos vamos al menú Archivo y seleccionamos Ejecutar archivo SQL
Seleccionamos el archivo SQL y le damos Abrir
Nos pregunta si queremos que auto-detecte la codificación del archivo le damos click al boton Si
Y vemos como se genera la base de datos con sus tablas e información

También podemos generar el respaldos desde la consola de comandos

Primero nos posicionamos en la carpeta bin de mysql, en mi caso es la siguiente ruta

cd c:\xampp\mysql\bin

Ahora ejecutamos el siguiente comando para realizar el respaldo

mysqldump --opt --events --routines --triggers --default-character-set=utf8 -u root pos > c:\respaldo\respaldo.sql

En caso de requerir contraseña solo agregamos –password CONTRASEÑA

Para levantar la base de datos primero la creamos con el siguiente comando

/opt/lampp/bin/mysql -u root -e "CREATE SCHEMA pos DEFAULT CHARACTER SET utf8 COLLATE utf8_spanish2_ci ;"

Luego levantamos la base de datos con el siguiente comando

mysql -u root pos < c:\respaldo\respaldo.sql

Bien espero que les sirva y en la próxima publicación veremos como comprimir el respaldos y hacer respaldos automáticos

Página 17 de 139

Creado con WordPress & Tema de Anders Norén