RSS

  • YouTube
  • LinkedIn
  • Google

Archivos de la : Octubre2022

Congelación de Chrome en Ubuntu 22.02 Jammy Medusas

I’;he actualizado recientemente mi portátil con Ubuntu desde 20.02 Para 22.02 a través de apt en la línea de comandos y después lo hizo, mi Chrome instalado tiene un comportamiento molesto. Cada vez que aparece un modal de descarga para guardar archivos adjuntos o incluso para subir un archivo, Chrome deja de funcionar, Congelar todas las pestañas y menús.

Es posible salir al hacer clic derecho en favoritos o dock y volver a abrir, pero el problema sigue ocurriendo.

Después de muchas búsquedas encontré esta página y Este comentario y se explicó la solución allí y finalmente el problema se resolvió hasta ahora.

La solución

Simplemente apaga Sonidos de retroalimentación de entrada.

Puede hacerlo a través de la línea de comandos:

$ dconf write /org/gnome/desktop/sound/input-feedback-sounds false

O usando dconf-editor

Espero que ayude a alguien!

Código de validación CPF para Javascript

O código abaixo é de uma função em Javascript otimizada para ter o menor numero de Complejidad ciclomática líneas que obtuve basadas en la explicación presente en el artículo Método brasileño de validación de la ACB - Registro individual. Tiene un ligero cambio en el momento del cálculo del segundo probador digitalizado. En lugar de comenzar con el segundo dígito, El código comienza con el primero y utiliza el valor 11 como multiplicador. Otro cambio notable es que para evitar la necesidad de comparación saber si estamos en el noveno dígito y decimo, Asigno el valor cero al último elemento (índice 10) para reducir una comparación más.

El algoritmo utilizado es el 1 explicado en el artículo y hay un pequeño truco para evitar comparar con el resto igual a 10 que es hacer el módulo 10 del resto.

   // Codigo que valida um CPF informado quanto a validade de seus dígitos verificadores.

const validarCpf = (cpf) => {
  if (cpf.length !== 11) { // Supõe-se já vir filtrado o valor
    return false;
  }
  let elementos = cpf.split(''); // convertendo a string em array
  elementos[10] = 0; // Forçando ao valor da ultima multiplicacao ser zero
  let somaA = 0;
  let somaB = 0;

  elementos.reduce(function(i, valor, indice) {
    let multiplicador = 11 - indice;
    somaB += (valor * multiplicador);
    somaA += (valor * (multiplicador > 2 ? multiplicador - 1 : 0));
  }, somaA);
  let moduloA = ((somaA * 10) % 11) % 10;
  let moduloB = ((somaB * 10) % 11) % 10;
  return cpf.replace(/\d{9}(\d{2})$/g, '$1') == ("" + moduloA + moduloB);
}

Puede probar este código aquí.

Código de validación CPF para PHP

El siguiente código es una función PHP optimizada para tener el menor número de complejidad ciclomática que pude según la explicación presente en el artículo. Método brasileño de validación de la ACB - Registro individual. Tiene un ligero cambio en el momento del cálculo del segundo probador digitalizado. En lugar de comenzar con el segundo dígito, El código comienza con el primero y utiliza el valor 11 como multiplicador. Otro cambio notable es que para evitar la necesidad de comparación saber si estamos en el noveno dígito y decimo, Asigno el valor cero al último elemento (índice 10) para reducir una comparación más.

El algoritmo utilizado es el 1 explicado en el artículo citado anteriormente y hay un pequeño truco para evitar comparar con el resto igual a 10 que es hacer el módulo 10 del resto.

   // Codigo que valida um CPF informado quanto a validade de seus dígitos verificadores.

   /**
     * 
     * Verifica se um CPF é válido
     * @author Marcos Regis <marcos@marcosregis.com>
     * @param  string $cpf
     * @return bool
     */
    function validar(string $cpf): bool
    {
        if (strlen($cpf) != 11) {
            return false;
        }
        $elementos = (array)str_split($cpf);
        $elementos[10] = 0; // Reduz uma comparação no calculo de $somaB
        $somaA = 0;
        $somaB = 0;
        foreach ($elementos as $indice => $elemento) {
            $multiplicador = count($elementos) - $indice;
            $somaA += (int)$elemento * (int)($multiplicador > 2 ? $multiplicador - 1 : 0);
            $somaB += (int)$elemento * (int)$multiplicador;
        }

        $moduloA = (($somaA * 10) % 11) % 10;
        $moduloB = (($somaB * 10) % 11) % 10;

        return preg_replace('#\d{9}(\d{2})$#', '$1', $cpf) == $moduloA . $moduloB;
    }

Puede probar este código aquí.