Mostrar los tags: n

Mostrando del 111 al 120 de 2.739 coincidencias
Se ha buscado por el tag: n
Imágen de perfil

Mostrar precios de acciones en el terminal


Python

Actualizado el 7 de Abril del 2023 por Antonio (77 códigos) (Publicado el 31 de Enero del 2023)
2.270 visualizaciones desde el 31 de Enero del 2023
Este programa ('f-tables.py') muestra en formato tabla, los precios de acciones en el terminal, haciendo uso de la API de Yahoo Finance. Incluyendo la posibilidad de guardarlas en un documento de texto, así como mostrar gráficas.

ARGUMENTOS:
-sym/--symbol: Define el Ticker o simbolo de la empresa cuyos valores quiere conocerse (Obligatorio).
-i/--info: Información que se quiere obtener (Opcional).
-s/--start: Fecha de inicio de la serie histórica (Opcional).
-e/--end: Fecha final de la serie histórica (Opcional).
-int/--interval: Intervalos de tiempo en los que se muestran los datos (Opcional).
-sv/--save: Nombre del archivo de texto en el que se quiere guardar la tabla generada (Opcional).
-plt/--plot: Grafica precios de la tabla (Opcional).
-hd/--head: Número de filas iniciales a mostrar (Opcional).
-tl/--tail: Número de filas finales a mostrar (Opcional).

PARA CUALQUIER DUDA U OBSERVACIÓN, USEN LA SECCIÓN DE COMENTARIOS.
ft1
tb5
tb2
Imágen de perfil

Compresión Fractal de imágenes


Java

Publicado el 11 de Febrero del 2023 por Francisco Javier Rojas Garrido (26 códigos)
876 visualizaciones desde el 11 de Febrero del 2023
Imágen de perfil

Usar un DatagridView como comboBox


Visual Basic.NET

Publicado el 5 de Febrero del 2023 por Mauricio Antonio (7 códigos)
1.716 visualizaciones desde el 5 de Febrero del 2023
Este es un código sencillo que sirve como ejemplo de como se puede usar un DatagridView en vez de un comboBox, con el fin de tener un mejor panorama de los datos que se manejan, ya que el combobox es muy limitado y en el DataGridview se puede ve datos multiples como en este caso que se carga Código, apellidos y nombres.

Amigos de la Comunidad espero que les guste y que sea de gran utilidad para implementarlo en sus proyectos, sobre todo las personas que inician en este mundo de la programación
sin imagen de perfil

BOOTSTRAP DATA-TABLE DINAMICA FETCH


JavaScript

Publicado el 10 de Enero del 2023 por Jefferson (11 códigos)
2.103 visualizaciones desde el 10 de Enero del 2023

Suelo trabajar con Bootstrap y ya no queria usar JQuery para manejar la libreria DataTable.

Se que existen muchas librerias DataTable con Vanilla Javascript, Vue, React, etc..

Pero queria tener algo sencillo, de solo configurar 3-4 variables y armar mi datatable dinamica.

Pues bien como suelo usar Bootstrap me ahorre de hacer el css y solo me hice el js.

Lo publico por si alguien desea usarlo y/o se animan para crear un nucleo solido con funciones mas complejas.

Repito cualquier error por favor háganlo saber (que debo tener), ya que lo hice al paso y aun no lo uso en producción.



img3
Imágen de perfil

CONTAR LÍNEAS.


C/Visual C

Publicado el 4 de Enero del 2023 por Hilario (144 códigos)
984 visualizaciones desde el 4 de Enero del 2023
**************************************
Risu inepto res ineptior nulla est.
************************************
Hilario Iglesias Martínez.
**********************************
Otro sencillo programa que abre un fichero de texto,
y cuenta caracteres y lineas del mismo.
Para probar el programa generar un fichero de
texto, por ejemplo "fichero.txt", con el "gedit" de linux.

Para su prueba con este sencillo editor
numerar las lineas que se vayan a editar.
Abrir el fichero con el programa compilado.

***********************************************
Compilar:
gcc -Wall -Werror -o define define.c

Ejecutar:
./define
**********************************************
sin imagen de perfil

Generar password seguro


JavaScript

Publicado el 2 de Enero del 2023 por Jefferson (11 códigos)
692 visualizaciones desde el 2 de Enero del 2023

SCRIPT PARA GENERAR UN PASSWORD SEGURO




Incluye tres niveles
1) Debil
2) Fuerte
3) Muy fuerte

Todas las password generadas incluyen al menos
1 Numero
1 Mayuscula
1 Minuscula
1 Caracter especial
8 lenght


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link
      href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
      rel="stylesheet"
      integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
      crossorigin="anonymous"
    />
    <title>Generar Pass</title>
  </head>
 
  <body>
    <section class="container mt-3">
      <h1 class="text-center">
        Genera tu password
        <h5 class="text-center">
          Incluimos Mayusculas, Minusculas, Numeros y Caracteres especiales
        </h5>
      </h1>
      <hr />
      <div class="row justify-content-around mt-3">
        <div class="col-4">
          <h4 class="text-center my-2 mb-4">Escoje cual contraseña</h4>
          <div class="form-check form-check-inline">
            <input
              class="form-check-input"
              type="radio"
              name="sel"
              id="i1"
              value="1"
              role="button"
            />
            <label class="form-check-label" for="i1" role="button">Debil</label>
          </div>
          <div class="vr"></div>
          <div class="form-check form-check-inline ms-2">
            <input
              class="form-check-input"
              type="radio"
              name="sel"
              id="i2"
              value="2"
              role="button"
            />
            <label class="form-check-label" for="i2" role="button"
              >Fuerte</label
            >
          </div>
          <div class="vr"></div>
          <div class="form-check form-check-inline ms-2">
            <input
              class="form-check-input"
              type="radio"
              name="sel"
              id="i3"
              value="3"
              role="button"
            />
            <label class="form-check-label" for="i3" role="button"
              >Muy Fuerte</label
            >
          </div>
          <div class="row justify-content-center mt-4">
            <button class="btn btn-primary">Generar</button>
          </div>
        </div>
        <div class="vr bg-light border-end border-secondary"></div>
        <div id="div_res" class="col-4 d-none">
          <h2 id="dev" class="text-center border rounded p-3 shadow"></h2>
          <div class="row mt-3">
            <div class="col-4">
              <span id="cop" class="btn btn-outline-dark">copy</span>
            </div>
            <div class="col-4">
              <a
                href="https://ciberprotector.com/comprobador-de-contrase%C3%B1as/"
                target="_blank"
                >Ciberprotector</a
              >
            </div>
            <div class="col-4">
              <a
                href="https://delinea.com/resources/password-strength-checker"
                target="_blank"
                >Delinea</a
              >
            </div>
          </div>
        </div>
      </div>
    </section>
 
    <script>
      document
        .querySelector(".btn-primary")
        .addEventListener("click", function () {
          let a;
          div_res.classList.add("d-none");
          dev.classList.remove(
            "bg-danger",
            "bg-secondary",
            "bg-warning",
            "text-light",
            "text-warning",
            "text-success"
          );
          document.querySelectorAll('[name="sel"]').forEach(function (e) {
            if (e.checked) a = e.value;
          });
          if (a != undefined) {
            1 == a
              ? dev.classList.add("bg-danger", "text-light")
              : 2 == a
              ? dev.classList.add("bg-secondary", "text-warning")
              : dev.classList.add("bg-warning", "text-success");
            div_res.classList.remove("d-none");
            dev.innerText = generar_pass(a);
          }
        });
      const copyContent = async () => {
        let text = document.getElementById("dev").innerText;
        try {
          await navigator.clipboard.writeText(text);
          console.log("Content copied to clipboard");
        } catch (err) {
          console.error("Failed to copy: ", err);
        }
      };
      cop.addEventListener("click", copyContent);
 
 
      /* CODIGO GENERAR PASS */
      const generar_pass = (t) => {
          let e;
          if (1 == t)
            for (let a = 0; (e = aleatorio(8)), check_pass(e) != t; a++);
          else if (2 == t)
            for (let a = 0; (e = aleatorio(12)), check_pass(e) != t; a++);
          else for (let a = 0; (e = aleatorio(14)), check_pass(e) != t; a++);
          return e;
        },
        aleatorio = (t) => {
          let e,
            a =
              "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789^!$%&|[](){}:;.*+-#@<>~";
          const r = () => (
            (e = (() => {
              let e = "";
              for (var r = 0, l = a.length; r < t; ++r)
                e += a.charAt(Math.floor(Math.random() * l));
              return e;
            })()),
            !!(
              e.match(/\W|_/g) &&
              e.match(/(\d+)/g) &&
              e.match(/[a-z]/g) &&
              e.match(/[A-Z]/g)
            ) && e
          );
          for (let t = 0; !r(); t++);
          return e;
        },
        check_pass = (t) => {
          let e,
            a = [
              t.match(/\W|_/g).length,
              t.match(/(\d+)/g).length,
              t.match(/[a-z]/g).length,
              t.match(/[A-Z]/g).length,
            ];
          for (let t = 0; t < a.length; t++) {
            let r = a[t];
            if (((e = ""), 1 == r)) {
              e = 1;
              break;
            }
            if (2 == r) {
              e = 2;
              break;
            }
            e = 3;
          }
          return e;
        };
    </script>
  </body>
</html>
Imágen de perfil

Component Linear gradient


JavaScript

Publicado el 30 de Diciembre del 2022 por Oscar (8 códigos)
551 visualizaciones desde el 30 de Diciembre del 2022
Con este script podrás probar la manera de enviar mensajes entre components en Vue 2.6.x(famoso two data binding), y javascript ver video para mas detalles en
https://www.youtube.com/watch?v=73QHJ2upcK
sin imagen de perfil

Inicio Sesion Robusto Implementando doble factor


PHP

Publicado el 29 de Diciembre del 2022 por Jefferson (11 códigos)
3.112 visualizaciones desde el 29 de Diciembre del 2022

Implementa un sistema mas robusto para el inicio de sesión



in


1) Registro de usuario verificando el email. Encriptando la url de tal forma que sea ilegible por algún pirata.

2) Al registrase le enviaremos al correo la imagen QR para que pueda ser escaneada por su smartphone / teléfono inteligente y agregar a la app de AUTENTIFICACION DOBLE FACTOR que el usuario escoja de la tienda STORE.

3) Libertad para que el usuario cree su propia pregunta de seguridad y la respuesta. Solo el usuario podrá formular su pregunta secreta escudriñando en sus recuerdos y que solo él sepa la respuesta.

4) Recuperación del password por olvido en el mismo sistema, dado que al escribir el email le devolvemos la pregunta de seguridad.

5) Recuperación por si acaso cambia su smartphone / teléfono inteligente y pierde la app móvil de AUTENTIFICACIÓN DOBLE FACTOR, enviándole a su correo la nueva imagen QR para el nuevo registro.

6) El usuario admin cuya password es admin, tendrá libertad de permitir o rechazar al usuario recién registrado.

7) El sistema funciona con cualquier app de AUTENTIFICACIÓN DOBLE FACTOR disponibles en la STORE. (No lo probé con Iphone).


allsmall
sin imagen de perfil

Registro - Login - Mail - OTP


PHP

Publicado el 25 de Diciembre del 2022 por Jefferson (11 códigos)
2.665 visualizaciones desde el 25 de Diciembre del 2022

SISTEMA DE REGISTRO-LOGIN mediante EMAIL-OTP



otp_register

1) Al descomprimir hay un archivo txt que debes leer y seguir las instrucciones

-> Bien, si seguiste todos los pasos no debería petar el sistema <-

2) No posee usuario administrador (debes crearlo tu)
simplemente agregas a la tabla usuarios un campo al que puedas llamar admin tipo INT donde 1 indica que es el administrador
luego por medio de php creas controles de seguridad

3) Una vez que te logueas, recibirás un correo donde debes pulsar el botón de activar la verificación del email
(Incluye una plantilla correo para registro/verificacion email)

4) Al verificar el email el campo email_verify de la tabla usuarios cambia a TRUE o 1 permitiendo el acceso

5) Existe un campo en la tabla usuarios llamado activo tipo INT que si lo colocas a FALSE o 0 impide el acceso
(esto, por si decides crear un usuario administrador y mediante programacion php puedes darle o quitarle acceso a cualquier usuario)

6) Una vez logueado, verificado y aceptado. Puedes ingresar al sistema, no sin antes validar un codigo OTP que se te enviara
a tu correo cada vez que entres. "Incluye una plantilla correo para OTP"
(Si utilizas algun servicio SMS o WhatsApp puedes enviar ese codigo OTP por alguna de esas vias)

7) Ofrece la posibilidad de recuperar la contraseña en caso de olvido, he diseñado una password de un solo uso y que al entrar al sistema
deberias cambiarla inmediatamente. Si no lo haces esta password aleatoria quedara invalidada.

8) Al cambiar la password o contraseña por motivo de olvido, se te enviara un email notificando del cambio y te otorgaremos una nueva
password aleatoria. Si al abrir el correo no fuistes tu quien solicito el cambio de contraseña, hay un link para revertir y dejar todo
original.
(Incluye una plantilla correo para recuperacion de contraseña)