martes, 1 de septiembre de 2020

Coincidencia de patrones de Postgres

Descubrí que la coincidencia de patrones de Postgres podría usarse para esto. Entonces adapté la declaración dada en este lugar para incorporar números de punto flotante. Este es mi codigo:

(Traducción del original)

WITH test(x) AS (
    VALUES (''), ('.'), ('.0'), ('0.'), ('0'), ('1'), ('123'),
    ('123.456'), ('abc'), ('1..2'), ('1.2.3.4'))

SELECT x
     , x ~ '^[0-9]*.?[0-9]*$' AS isnumeric
FROM test;

Fuente (Original):

Continúa...

martes, 11 de agosto de 2020

Programa para practicar Tabla de Multiplicar

El día de hoy decidí que la batalla por la tabla de multiplicar la llevaría a otro level....


Bueno la firme que todo se debe a que mi menor hijo la debe de estudiar y necesito que lo haga... pero no cuento con el tiempo para estar evaluándolo...

Aquí les dejo el programa en PHP por si quieren mejorarlo o lo necesitan...



<html>
<head><title>Tabla de Multiplicar!!!</title>
<script type='text/javascript' src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function() {
for (paso = 1; paso <= 12; paso++) {
//console.log("Actualizando datos",paso);
var valor=Math.floor(Math.random() * 12) + 1;
document.getElementById('resul_'+paso).value = "";
document.getElementById('rpta_'+paso).style.visibility='hidden';
document.getElementById('bien_'+paso).style.visibility='hidden';
}
});
function actualizar(opcion){
//console.log("Actualizando datos",opcion.value);
var tabla=opcion.value;
for (paso = 1; paso <= 12; paso++) {
//console.log("Actualizando datos",paso);
var valor=Math.floor(Math.random() * 12) + 1;
document.getElementById('tabla_'+paso).value = tabla;
document.getElementById('base_'+paso).value = valor;
document.getElementById('rpta_'+paso).value = (valor*tabla);
document.getElementById('resul_'+paso).value = "";
document.getElementById('rpta_'+paso).style.visibility='hidden';
document.getElementById('bien_'+paso).style.visibility='hidden';
}
}
function resultados(opcion){
//console.log("Actualizando datos",opcion.value);
var resultado=opcion.value;
if (resultado==1) {
for (paso = 1; paso <= 12; paso++) {
//document.getElementById('tabla_'+paso).value = tabla;
//document.getElementById('base_'+paso).value = paso;
//document.getElementById('rpta_'+paso).value = (paso*tabla);
console.log("Actualizando datos",paso);
var valor1=$('#resul_'+paso).val();
var valor2=$('#rpta_'+paso).val();
console.log("Valor 1",valor1);
console.log("Valor 2",valor2);
if (valor1==valor2) {
document.getElementById('bien_'+paso).value = "BIEN";
} else {
document.getElementById('bien_'+paso).value = "  :(";
}
document.getElementById('rpta_'+paso).style.visibility='visible';
document.getElementById('bien_'+paso).style.visibility='visible';
}
} else {
for (paso = 1; paso <= 12; paso++) {
document.getElementById('rpta_'+paso).style.visibility='hidden';
}
}
}

</script>
<style>
</style>
</head>
<body>
 <form name="frmTabla" id="frmTabla">
    <table>
<tr>
<td>
  Tabla:
   <select name="num_tabla"  onchange="actualizar(this)">
<option value="0" selected>0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select> 
  </td>
<td>
</td>
  <td>
  Mostrar Resultados:
   <select name="mostrar"  onchange="resultados(this)">
<option value="0" selected>No</option>
<option value="1">Si</option>
</select> 
  </td>
</tr>
<tr>
<td>
</td>
  <td>
<center>
  <table id="principal" width="100%" height="90%" border="0"> <tbody>
<?php 
$i = 1;
while ($i <= 12):
echo '<tr>';
echo '  <td><input type="text" id="tabla_'.$i.'" name="tabla_'.$i.'" maxlength="4" readonly size="4"/></td>';
echo '  <td>X</td>';
echo '  <td><input type="text" id="base_'.$i.'"  name="base_'.$i.'" value="0" maxlength="4" readonly size="4"/></td>';
echo '  <td>=</td>';
echo '  <td><input type="text" id="resul_'.$i.'" name="resul_'.$i.'" tabindex="'.$i.'" maxlength="4" size="4"/></td>';
echo '  <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resultado --->&nbsp;&nbsp;&nbsp;</td>';
echo '  <td><input type="text" id="rpta_'.$i.'"  name="rpta_'.$i.'" maxlength="4" readonly size="4"/></td>';
echo '  <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>';
echo '  <td><input type="text" id="bien_'.$i.'"  name="bien_'.$i.'" maxlength="4" readonly size="4"/></td>';
echo '</tr>';
$i++;
endwhile;
?></tbody>
  </table>
<center>
  </td>
<td>
</td>
</tr>
    <table>
 </form>
</body>
</html>

Continúa...

miércoles, 27 de mayo de 2020

Resetear una Conexion a Internet

Ingresar al CDM en modo Administrador




Luego ejecutar los siguientes comando:

ipconfig /flushdns
ipconfig /registerdns
ipconfig /release
ipconfig /renew
netsh winsock reset

Luego hay que reiniciar el equipo.
    


Continúa...

viernes, 12 de julio de 2019

Deshabilitar verificación de certificado en PHP SoapClient

Forzar la conexión a un Servidor con un Certificado no valido o de pruebas.

   $opts = [
        'ssl' => [
            // set some SSL/TLS specific options
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true,
        ],
         'http'=>[
            'user_agent' => 'PHPSoapClient'
        ]
    ];
//   Echo 'Prueba de avance 4<br>';
   $soapClient = new SoapClient("https://test.com:555/ol-ad-itseida-ws/ReceptorService.htm?wsdl", array('trace'=>true,'stream_context' => stream_context_create($opts)));

Continúa...

sábado, 7 de julio de 2018

Putty: mantener activa la sesión

Muchas veces al utilizar Puttty como cliente ssh la conexión se corta o pierde, esto me ocurre con las ultimas actualizaciones de Win 10.
La forma para solucionar este impase, al menos hasta ahora va bien, es realizando el siguiente cambio.

Ingresa a Putty y realiza el siguiente cambio.



Recuerda que debes de grabar los cambios para que estos surtan efecto.

Continúa...

jueves, 4 de mayo de 2017

Jira - Linux

To Configure System Properties in Linux Installations,
  1. From <jira-install>/bin, open setenv.sh.
  2. Find the section JVM_SUPPORT_RECOMMENDED_ARGS=






Fuete: https://confluence.atlassian.com/adminjiraserver072/setting-properties-and-options-on-startup-828788225.html
 

Continúa...

lunes, 16 de enero de 2017

pdf-online.com

pdf-online.com 
http://www.pdfaid.com/repair-pdf-file.aspx

Muy bueno. Hay que subir el PDF dañado y luego presionar lo botones "load PDF", luego "Execute" y finalmente "Save AS..." para grabar lo que recupero.

Continúa...

sábado, 26 de noviembre de 2016

error "Error en el inicio de sesión del servicio de perfil de usuario"

Para reparar el perfil de cuenta de usuario, siga estos pasos:

Importante: Esta sección, método o tarea contiene pasos en los que se indican cómo modificar el Registro. Sin embargo, se pueden producir problemas graves si modifica el Registro incorrectamente. Por tanto, asegúrese de que sigue estos pasos cuidadosamente. Para contar con protección adicional, haga una copia de seguridad del Registro antes de modificarlo. De esta manera podrá restaurar el Registro en caso de que se produzca un problema. Para obtener más información acerca de cómo realizar una copia de seguridad y restaurar el Registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

322756 Cómo realizar una copia de seguridad del Registro y restaurarlo en Windows
  1. Haga clic en Inicio, escriba regedit en el cuadro Buscar y, a continuación, presione ENTRAR.
  2. En el Editor del Registro, busque la siguiente subclave del Registro y haga clic en ella:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
  3. En el panel de navegación, busque la carpeta que comienza con S-1-5 (clave SID) seguida de un número largo.
  4. Haga clic en cada carpeta S-1-5, busque la entrada ProfileImagePath en el panel de detalles y, a continuación, haga doble clic para asegurarse de que este sea el perfil de la cuenta de usuario que presenta el error.

    • Si dispone de dos carpetas que empiezan con S-1-5 seguido de números largos y una de ellas acaba en .bak, debe cambiar el nombre de la carpeta .bak. Para ello, siga estos pasos:
      1. Haga clic con el botón derecho en la carpeta sin .bak y, a continuación, en Cambiar nombre. Escriba .ba y presione ENTRAR.
      2. Haga clic con el botón derecho en la carpeta con .bak y, a continuación, haga clic en Cambiar nombre. Quite .bak al final del nombre de la carpeta y presione ENTRAR.
      3. Haga clic con el botón derecho en la carpeta con .ba y, a continuación, haga clic en Cambiar nombre. Cambie .ba por .bak al final del nombre de la carpeta y, a continuación, presione ENTRAR.
    • Si tiene una única carpeta cuyo nombre empieza por S-1-5 seguido de números largos y que termina en .bak, haga clic con el botón derecho en la carpeta y, a continuación, en Cambiar nombre. Quite .bak al final del nombre de la carpeta y presione ENTRAR.
  5. Haga clic en la carpeta sin .bak en el panel de detalles, luego, doble clic en RefCount, escriba 0 y, a continuación, haga clic en Aceptar.
  6. Haga clic en la carpeta sin .bak en el panel de detalles, luego, doble clic en Estado, escriba 0 y, a continuación, haga clic en Aceptar.
  7. Cierre el Editor del Registro.
  8. Reinicie el equipo.
  9. Vuelva a iniciar sesión con su cuenta.

Fuente: https://support.microsoft.com/es-pe/kb/947215
 

Continúa...

sábado, 3 de septiembre de 2016

Como desactivar el Ajuste automático de Ventana de Recepción

Si estás experimentando una conexión lenta o peor de la esperada, podrías intentar mejorar la velocidad desactivando el Ajuste automático de Windows.
  • Pulsa la combinación WIN + R o despliega el menú inicio y pincha sobre Ejecutar
  • Confirma el prompt del UAC, que te pedirá permisos de administrador (debes lanzarlo con este permiso)
  • Ahora escribe el siguiente comando:
netsh interface tcp show global.
netsh interface tcp show global.
netsh interface tcp show global
Esto mostrará la configuración actual del ajuste. Si recibes un mensaje diciendo “nivel de ajuste automático de ventana de recepción: normal” quiere decir que lo tienes activo. Para desactivarlo escribe lo siguiente:
netsh int tcp set global autotuninglevel=disabled
Un mensaje de confirmación aparecerá con el resultado OK. Esto quiere decir que el nuevo ajuste ha sido aceptado y aplicado.


Ahora debes probar la conexión a Internet

Fuente: https://protegermipc.net/2016/08/22/mejorar-conexion-a-internet/

Continúa...

lunes, 9 de mayo de 2016

¿Qué es WMIC en Windows?

WMIC es la consola de Windows, para el uso de la línea de comandos. El WMIC permite la administración de equipos, locales y remotos, permite ejecutar multiples tareas como: obtener información, iniciar, detener, pausar procesos y servicios como cambiar la configuración en el equipo al que se tenga acceso como administrador.


Para obtener un detalle completo del Disco Duropuedes utilizar este comendo.

wmic DISKDRIVE get /all /format:LIST


[modificadores globales]

Los siguientes modificadores globales están disponibles:
/NAMESPACE Ruta del espacio de nombres contra el que opera el alias.
/ROLE Ruta para el rol que contiene las definiciones de alias.
/NODE Servidores contra los que operará el alias.
/IMPLEVEL Nivel de imitación de cliente.
/AUTHLEVEL Nivel de autenticación de cliente.
/LOCALE Id. de idioma que debe usar el cliente.
/PRIVILEGES Habilita o deshabilita todos los privilegios.
/TRACE Información de depuración de salidas a stderr.
/RECORD Registra todos los comandos de entrada y las salidas.
/INTERACTIVE Establece o restablece el modo interactivo.
/FAILFAST Establece o vuelve a establecer el modo FailFast.
/USER Usuario para utilizar durante la sesión.
/PASSWORD Contraseña para utilizar durante la sesión.
/OUTPUT Especifica el modo para la redirección de salida.
/APPEND Especifica el modo para la redirección de salida.
/AGGREGATE Establece o restablece el modo de agregación.
/AUTHORITY Especifica el de la conexión.
/?[:] Información de uso.

Para obtener más información sobre un modificador global específico, escriba:
nombre_modificador /?

Los alias siguientes no están disponibles en el rol actual:
ALIAS - Acceso a los alias disponibles en el sistema local
BASEBOARD - Administración de la placa base (también conocida como tarjeta madre o tarjeta del sistema).
BIOS - Administración de servicios básicos de entrada/salida (BIOS).
BOOTCONFIG - Administración de la configuración de arranque.
CDROM - Administración de CD-ROM.
COMPUTERSYSTEM - Administración de sistemas.
CPU - Administración de CPU.
CSPRODUCT - Información del producto del sistema desde SMBIOS.
DATAFILE - Administración de DataFile.
DCOMAPP - Administración de aplicación DCOM.
DESKTOP - Administración de escritorio de usuario.
DESKTOPMONITOR - Administración de monitor de escritorio.
DEVICEMEMORYADDRESS - Administración de direcciones de memoria de dispositivos.
DISKDRIVE - Administración de unidades de disco físicas.
DISKQUOTA - Uso de espacio en disco para volúmenes NTFS.
DMACHANNEL - Administración de canales de acceso directo a memoria (DMA).
ENVIRONMENT - Administración de configuración de entorno del sistema.
FSDIR - Administración de la entrada de directorio Filesystem.
GROUP - Administración de cuentas de grupo.
IDECONTROLLER - Administración de controladores IDE.
IRQ - Administración de línea de solicitud de interrupción (IRQ).
IRQ - Administración de línea de solicitud de interrupción (IRQ).
JOB - Proporciona acceso a los trabajos programados utilizando el servicio de programación.
LOADORDER - Administración de servicios del sistema que definen dependencias de ejecución.
LOGICALDISK - Administración de dispositivos de almacenamiento local.
LOGON - Sesiones de inicio.
MEMCACHE - Administración de caché de memoria.
MEMORYCHIP - Información del chip de memoria.
MEMPHYSICAL - Administración de la memoria física del sistema.
NETCLIENT - Administración de clientes de red.
NETLOGIN - Información de inicio de sesión de red (de un usuario en particular).
NETPROTOCOL - Administración de protocolos (y sus características de red).
NETUSE - Administración de conexiones activas de red.
NIC - Administración de interfaz de red (NIC).
NICCONFIG - Administración de adaptador de red.
NTDOMAIN - Administración de dominios de NT.
NTEVENT - Entradas en el registro de eventos de NT.
NTEVENTLOG - Administración de archivos de registro de eventos de NT.
ONBOARDDEVICE - Administración de dispositivos adaptadores comunes integrados en la placa base (placa del sistema).
OS - Administración de sistemas operativos instalados.
PAGEFILE - Administración del archivo de intercambio de memoria.
PAGEFILESET - Administración de la configuración del archivo de paginación.
PARTITION - Administración de áreas particionadas del disco físico.
PORT - Administración de puertos de E/S.
PORTCONNECTOR - Administración de conexiones físicas de puertos.
PRINTER - Administración de dispositivos de impresión.
PRINTERCONFIG - Administración de la configuración de dispositivos de impresión.
PRINTJOB - Administración de trabajos de impresión.
PROCESS - Administración de procesos.
PRODUCT - Administración de tareas del paquete de instalación.
QFE - Ingeniería de corrección rápida.
QUOTASETTING - Información de la configuración de cuotas de disco en un volumen.
RDACCOUNT - Administración de permisos de conexión a Escritorio remoto.
RDNIC - Administración de conexión a Escritorio remoto en un adaptador de red específico.
RDPERMISSIONS - Permisos para una conexión a Escritorio remoto específica.
RDTOGGLE - Activar o desactivar de forma remota la escucha del escritorio remoto.
RECOVEROS - Información que se generará a partir de la memoria cuando hay un error en el sistema operativo.
REGISTRY - Administración del Registro del sistema.
SCSICONTROLLER - Administración de controladores SCSI.
SERVER - Administración de información de servidor.
SERVICE - Administración de aplicación de servicio.
SHADOWCOPY - Administración de instantáneas.
SHADOWSTORAGE - Administración del área de almacenamiento de Instantáneas.
SHARE - Administración de recursos compartidos.
SOFTWAREELEMENT - Administración de los elementos de un software instalado en un sistema.
SOFTWAREFEATURE - Administración de subconjuntos de software de SoftwareElement.
SOUNDDEV - Administración de dispositivos de sonido.
STARTUP - Administración de comandos que se ejecutan automáticamente cuando los usuarios inician sesión en el sistema.
SYSACCOUNT - Administración de cuentas del sistema.
SYSDRIVER - Administración de controladores de sistema para un servicio de base.
SYSTEMENCLOSURE - Administración de la cubierta física del sistema.
SYSTEMSLOT - Administración puntos físicos de conexión, que incluyen puertos, ranuras y periféricos, y puntos de conexión de propietario.
TAPEDRIVE - Administración de unidades de cinta.
TEMPERATURE - Información de administración del sensor de temperatura (termómetro electrónico).
TIMEZONE - Administración de zonas horarias.
UPS - Administración del sistema de alimentación ininterrumpida (SAI).
USERACCOUNT - Administración de cuentas de usuario.
VOLTAGE - Administrador de datos del sensor de voltaje (voltímetro electrónico).
VOLUME - Administración de volumen de almacenamiento local.
VOLUMEQUOTASETTING - Asocia la configuración de cuota del disco con un volumen de disco específico.
VOLUMEUSERQUOTA - Administración de cuotas de volumen de almacenamiento por usuario.
WMISET - Administración de parámetros de operación del servicio WMI.

Para más información acerca de un alias especifico, escriba: alias /?

CLASS - Escapa a esquema completo de WMI.
PATH - Escapa a rutas de objetos WMI completas.
CONTEXT - Muestra el estado de todos los modificadores globales.
QUIT/EXIT - Sale del programa.

Para obtener más información sobre CLASS/PATH/CONTEXT, escriba: (CLASS | PATH | CONTEXT) /?

Continúa...