elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 ... 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 [319] 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 ... 431
3181  Programación / Java / Re: Quitar IF en: 4 Marzo 2018, 20:00 pm
Si los 'if' fueran ineficaces ni siquiera formarían parte de la lógica... pero es que la lógica se basa exclusivamernte en los condicinales... a nivel 'atómico', son puertas AND, OR y XOR... lo que al final configuran los 'if'... cuando hacemos un if, estamos haciendo una comparación que a nivel de diseño, es una resta, y cuyo resultado arroja uno de 3 valores <0, 0 ó >0. Como resultado uno o más bits del registro de estado del procesador (en los x86), se activa y luego es cuando el programador puede 'test'ear el resultado.

Gran parte de la lógica digital descansa precisamente en esto... y en los saltos (al caso condicionados por el resultado de la comparación).

....

Esto no quiere decir que lo que te han señalado sobre el uso y abuso de 'IF', como que es mala programación no sea correcto, siempre que se entienda sin ambigüedad a que se quiere referir..., y parta ello te expongo claramente el ejemplo de 'no usar + ifs' de los necesarios...

Por ejemplo, en el caso de calcular fechas... dado que es complejo, verificar en concreto si un día, de un mes, de un año cae por ejemplo es tal o cual día ó si es válido (existe dicho día para dicho mes), exige usando IFs, muchas comprobaciones... entonces al caso es que es preferible resolverlo de forma más arítmetica que lógica...

En otras ocasones es haciendo uso de las operaciones lógicas más elementales: AND, OR, XOR qwue al fin y al cabo, bien entendidos son otra forma de condicionales.

Lo que se hace en general es calcular, y al final basta uno solo o dos condiconales.

Una foma sencilla de usar 'If's y no sobrecargar con cada llamada es entender que todos los meses tienen un nínimo de 28 días, luego no es preciso hacer un cácluclo total y abusivo con cada fecha que se llame...

Por claridad creamos una estructura que comprenda los datos precisos.
Código:
Estructura Fecha
    byte día
    byte mes
    entero año
fin estructura

También por claridad, no se consideran (en la función) los casos en que mes, día o año estén fuera de rango...
    Si ((f.año > x) y (f.año < y)) //x,y representan un límite impuesto para el año....
    Si (f.mes > 0) y (f.Mes < 12)  // mes va en el rango 1-12, descartar cualquier otra posibilidad (aunque podría ir en el rango 0-11).
    Si (f.dia > 0) y (f.dia < 32)  // se supone que día está en el rango 1-31

Código:
buleano = Funcion ValidarFecha(fecha f)
  Si (f.dia <= 28)
     devolver TRUE
  Sino
    devolver ValidarFechaAFondo(f)
  Fin si
Fin funcion

Aquí es cuando nos meteríamos en verificar si el día es 29, 30 ó 31 en base al mes y en caso de ser febrero el mes, en si es bisiesto.
Código:
buleano = Funcion ValidarFechaAFondo(fecha f)
    byte mes = f.mes

    Si (mes = 2) // febrero
        Si (f.Dia <30)
            Si AñoEsbisiesto(f.año)
                devolver TRUE
            fin si
         fin si
    Sino
        // el 'ó', es también un condicional... así esta línea tiene 4 condicionales.
        Si (mes = 4) ó (mes = 6) ó (mes = 9) ó (mes = 11)
            Si (f.dia < 31)
                devolver TRUE
            Fin si
        Sino  //enero, marzo, mayo, julio, agosto, octubre y diciembre tienen 31 días.
            devolver TRUE  
        Fin si
    Fin si
    
    devolver FALSE  
Fin Funcion

Por ejemplo: si queremos hacer algo basado en si un mes tiene 30, 31, 28, ó 29 días... sería relativamente sencillo, crear un array... que aunque largo, contuviera ya la solución, así se ahorrarían muchísimos 'IF's, y solo sería preciso una comprobación posterior para el caso de febrero cuando se señale el día 29 y no para 30 y 31

Nota ahora como el siguiente código ahorra mucho código a cambio de ocupar más memoria, con un array...
Código:
   //                                          mes , día
   Array de bytes DiaMesValido(0 a 12, 0 a 2) // el mes 0, no se usa...

Funcion RellenarArrayValido
   // Enero
   DiaMesValido(1,0) = 1   // día 29
   DiaMesValido(1,1) = 1   // día 30
   DiaMesValido(1,2) = 1   // día 31
   // Marzo
   DiaMesValido(3,0) = 1   // día 29
   DiaMesValido(3,1) = 1   // día 30
   DiaMesValido(3,2) = 1   // día 31
   // Mayo
   DiaMesValido(5,0) = 1   // día 29
   DiaMesValido(5,1) = 1   // día 30
   DiaMesValido(5,2) = 1   // día 31
   // Julio
   DiaMesValido(7,0) = 1   // día 29
   DiaMesValido(7,1) = 1   // día 30
   DiaMesValido(7,2) = 1   // día 31
   // Agosto
   DiaMesValido(8,0) = 1   // día 29
   DiaMesValido(8,1) = 1   // día 30
   DiaMesValido(8,2) = 1   // día 31
   // Octubre
   DiaMesValido(10,0) = 1   // día 29
   DiaMesValido(10,1) = 1   // día 30
   DiaMesValido(10,2) = 1   // día 31
   // Diciembre
   DiaMesValido(12,0) = 1   // día 29
   DiaMesValido(12,1) = 1   // día 30
   DiaMesValido(12,2) = 1   // día 31

   // Mes de 29 días: Calcular bisiesto
   // Febrero
   DiaMesValido(2,0) = 255   // día 29
   DiaMesValido(2,1) = 0      // día 30
   DiaMesValido(2,2) = 0      // día 31

   / Meses de 30 días: Abril, Junio, Septiembre y Noviembre
   // Abril
   DiaMesValido(4,0) = 1   // día 29
   DiaMesValido(4,1) = 1   // día 30
   DiaMesValido(4,2) = 0   // día 31
   // Junio
   DiaMesValido(6,0) = 1   // día 29
   DiaMesValido(6,1) = 1   // día 30
   DiaMesValido(6,2) = 0   // día 31
   // Septiembre
   DiaMesValido(9,0) = 1   // día 29
   DiaMesValido(9,1) = 1   // día 30
   DiaMesValido(9,2) = 0   // día 31
   // Noviembre
   DiaMesValido(11,0) = 1   // día 29
   DiaMesValido(11,1) = 1   // día 30
   DiaMesValido(11,2) = 0   // día 31
Fin funcion

// Al inicializar el componente se crea el array (estático) una única vez.
funcion Inicializar
   llamada a la funcion RellenarArrayValido
fin funcion

La función de validación (es la misma que la previa):
Código:
buleano = Funcion ValidarFecha(fecha f)
  Si (f.dia <= 28)
     devolver TRUE
  Sino
    devolver ValidarFechaAFondo(f)
  Fin si
Fin funcion

Y finalmente la función de validación 'a fondo' ahora queda así:
Código:
buleano = Funcion ValidarFechaAFondo(fecha f)
    byte resultado

    resultado = DiaMesValido(f.mes, f.dia - 29)  
    Si (resultado = 1)
        devolver TRUE
    Si (resultado = 255)  // caso de febrero, día 29...
        Si AñoEsbisiesto(f.año)
            devolver TRUE        
        Fin si
    Fin si

    devolver FALSE
fin funcion

Incluso si comparas la primera función (que yo expongo) con tú código, ésta es mucho más óptima, sigue sin necesitar entrar en consideraciones extras si el día es inferior a 29, ya que todos los meses tienen esos días... pero en la 2ª función que expongo...

Como se puede ver, se ha limitado mucho la cantidad de los 'If's usados. Hay otras opciones igualmente aceptables, pero la idea simplemente es la demostrar que el número de condicionales puede ser limitado de diferentes maneras, en el ejemplo mediante el uso de un array pre-configurado con las soluciones...
Ante una miríada de llamadas, se puede ver que solo se va a calcular si el año es bisiesto, tan solo cuando el mes introducido es febrero y el día 29 (tampoco si se indica día 30, ni 31 para febrero), y no con cada fecha que se recibe....

La función AñoEsBisiesto... queda a tu esfuerzo, baste saber que cada 4 años es bisiesto, y que los acabados en 00, no lo son, pero cada 400 años, el que acabe enn 00 si lo es, etc... posiblemente en wikipedia esté bien explicado, si lo precisas...

Otros casos para evitar IFs conllevan usar aritmética, o solucionando casos con AND, OR y XOR (pueden testear varios bits a la vez, en vez de verificar cada caso con un 'if suelto').
3182  Foros Generales / Foro Libre / Re: El fraude de la Homeopatía y lo que la medicina moderna puede aprender de ella.. en: 23 Febrero 2018, 16:42 pm
Je... gracioso el temita...
Muchos quejándose de la homeopatía, porque dicen que no tiene nada de ciencia...

Bueno, vayamos a la Ciencia...

La mayor parte de las llamadas 'enfermedades mentales', no son ninguna enfermedad, solo comportamientos que distan de lo que quien quiera dice que es "normal" y "fuera de lo normal", de ahí se sigue una visita al pisocólogo o psiquiatra, de ahí un diágnostico y finalmente un tratamiento... y así tenemos que al final el 80% o más de la población tiene o tendrá una  enfermedad mental, por la que estará medicalizada toda su vida...

...sin ir más lejos cuando un niño es algo travieso e inquieto (vamos que le resulta imposible estar sentado en la escuela porque le aburren soberamanete las gilipolleces que está oyendo y que pretendan tratarlo como un corderito atado con cadena, lo llaman 'defícit de atención, hiperactividad' y 'hale-hop' a medicarlo... a un niño que apenas tenga o rebase los 10 años... ya ni siquiera hablo de gente adulta que algo de sesera tendrá para decidir si se deja comer el cerebro o no, pero hacerlo con niños es de cárcel para arriba.

Yo no sé que es peor, que alguien abandonado de la ciencia médica por no tener cura, pero pero que por DECISIÓN PROPIA, decida seguir un tratamiento homeópatico (al margen de su efectividad) o que gente sana sea convencida de estar enferma y necesitar medicamentos... en un caso uno está enfermo, lo tiene claro y no tiene cura, agarrarse a un clavo ardiendo por una mísera posibilidad es una cosa, y por otro estar sano y convencerlo de no estarlo y que tome 'medicamentos' que fijo que si lo van a enfermar, es sin ningún género de dudas mucho más malvado y terrible. Juzgad vosotros, yo lo tengo tan claro que mandaría a mucha gente a la guillotina sin pestañear...

...y la cosa no acaba sólo en supuestas enfermedades mentales, la cosa contnúa con los medicamentos para controlar el colesterol, los adelgazantes, etc, etc... es tan larga la lista que resulta vergonzoso. y eso sí es Ciencia????.... porque detrás de ella hay científicos a patyadas, con tanta titulitis que pareciera generada como un virus...

No pondré muchos vídeos, cualquier persona un poco sensata debería ser capaz de buscar por sí mismo (basta y sobra con el sentido común, tan ausente y carente hoy día, para conocer la verdad):

Las grandes farmacéuticas:
<iframe width="640" height="360" src="https://www.youtube.com/embed/8k25PIQpMLU" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

La salud mental, o el negocio de dictar enfermo a todo el mundo, a tí porque te gusta el ordenador o el móvil te declaramos 'adicto a las tecnologías', al otro obsesión por esto o aquello, al otro... en 20-40 años, todos seremos enfermos (si sobrevivimos para entonces, claro):
<iframe width="640" height="360" src="https://www.youtube.com/embed/YEPYnL7KDuQ" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>


Sobre el déficit de atención y tonterías similares:
<iframe width="640" height="360" src="https://www.youtube.com/embed/44tZtYa5SVo" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

Punset en su programa Redes, tratando el 'efecto placebo' (te venden humo, pero te lo cobran a precio de medicamento, más o menos es la misma queja de la homeopatía):
<iframe width="640" height="360" src="https://www.youtube.com/embed/owBWskk9B88" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

Se podría poner muchos vídeos, pero no lo creo necesario, solo una pizca, doy por supuesto que os valeis por vosotros mismos...


p.d.:
para terminar, digo yo... que si yo fuera psicólogo, lejos de diagnosticar a los niños con 'déficit de atención e hiperactividad' diagnosticaría al resto de 'carencia de actividad y exceso de inaniccción sumida en somnolencia aturdidora constante...' y 4000 adjetivos más y ¿los medicaría, o quizás a los padres por tener hijos tan soberanamente robotizados y aburridos?.
3183  Foros Generales / Noticias / Re: Cómo esta lista de 500 millones de contraseñas hackeadas puede ayudar a ... en: 23 Febrero 2018, 07:31 am
psssssssch...

Es un poco tontería. Estaremos de acuerdo en que 12345678... es una aberración, pero si 20 personas han usado alguna vez una contraseña como: 457ptbvi2kDf89Güh, preteder no usarla es tontería... deberán meter previamente ese  medio millón de contraseñas...
La contraseña "BillGatesEsTonto", no ha sido usada, pero prefiero la previa aunque hubiera sido usada 20 veces anteriormente.

El problema de la gente es que no dedica nada de tiempo a pensar un modelo de realizar contraseñas complejas, largas y aún así fácilmente memorizables...

...parte de culpa (probablemente un 90%), se deba a cosas como los candados (con 3 ó 4 rodillos de 10 cifras) y los malditos pines de teléfoonos móviles y  tarjetas de crédito, porque siendo un sistema de seguridad, donde 'la gente de la calle' confía en que 'los banqueros sabrán que es bueno para la seguridad', usan solo 4 dígitos, igual que los candados sencillos de toda la vida... La gente piensa en su interior que si los bancos sólo te reclaman 4 cifras, es seguro, introducir contraseñas de 6 letras debe ser extremadamente seguro...

...y como ninguna agencia de seguridad (ni siqueira un agente de seguridad a título personal), tiene el valor de burlarse públicamente de los imbéciles fabricantes y diseñadores de candados, telefónos móviles y tarjetas de crédito, la gente no cambia de opinión ni se toman las cosas más en serio... Si los bancos lo tienen así de simple, y ninguna autoridad, se queja ni reclama nada mejor, es razonable que los no informados consideren que algo como el nombre de su gato (que tiene 8 letras y se ha molestado en poner 2 de ellas en mayúsculas), es superseguro...

Y para rematar, los proveedores de correos electrónico, exigen un mínimo de caracteres, excesiamente bajo... 6-8, cuando lo lógico es que siendo más conscientes del problema lo subieran a un mínimo de 16 caracteres. Así Google tiene tambén gran parte de culpa, por un lado con su Gmail y también por la estúpida idea del bloqueo de Andorid con el sistema del patrón de 3x3... 

En fin, si ni siquiera las  supuestas empresas interesadas en ofrecer seguridad, se toman las debidas molestias, la gente forzosamente ha de confiar en la gente que 'supuestamente entiende del tema', alegando que sí ellos 'que saben' no lo exigen es por que es suficiente...
3184  Foros Generales / Noticias / Re: Tu youtuber de confianza no va a subir vídeo: YouTube tiene problemas en: 22 Febrero 2018, 17:38 pm
Google, una vez más, miente...

Los cambios, creo yo que tienen más que ver, con recaudar más dinero y el modo de hacerlo es pagar menos a 'sus youtubers'... en respuesta a la demanda millonaria que le impuso la UE, de 2420 millones de euros...
https://www.elconfidencial.com/tecnologia/2017-06-27/google-shopping-ue-europa-multa-comparadores-online_1405648/


...dicho de otra manera, mata varios pájaros de un tiro:
1- Solventar los problemas que sus clientes de publicidad le reclaman.
2- limitar posibles trolls en alguna medida y..
3- recaudar a base de limitar lo que paga.

Las dos previas son la excusa de para la última, cuando posiblemente la última sea la razón de las dos previas (esto es, la puesta como 3ª es en realidad la 1ª, tras lo cual surgen las siguientes, pero explicado en orden inverso, resulta más conviencente a los afectados, que decirles: "Os bajo los pagos, para recaudar los fondos para pagar la multa, en resumen, que vosotros me vais a pagar la multa, queridos youtubers".
3185  Foros Generales / Noticias / Re: Cómo 4 gigantes tecnológicos controlan toda tu vida:"Hay que frenarlos como sea" en: 22 Febrero 2018, 17:29 pm
Estoy de acuerdo en algunas cosas, especialmente en que: "hay que frenarlos...", no tanto en "...como sea", y para terminar, me extraña que por vez primera, no ver demonizado a Mocosoft... además incluiría en la lista, muchas más empresas, de hecho más que '4', yo haría una lista de 400 (como mínimo). ...si solo fueran 4, no merece la pena 'hacer una lista'... es una liga fácil de 'recordar'.
3186  Foros Generales / Noticias / Re: Todo lo que sabemos sobre el Petro, la recién nacida criptomoneda de Venezuela en: 21 Febrero 2018, 02:28 am
...y así por las buenas, se crea de la nada 100.000.000 x  60 dólares...
y algo másde 1/6 se queda en la reserva, así si sube hasta las nubes, se lo pueden repartir  y hacen de oro.

Y.. vamos... que yo en vez de poner un cambio de 60 dólares, lo hubiera puesto a 60 millones de dólares (por lo menos)...

3187  Foros Generales / Noticias / Re: Ojo con tu móvil: este es el 'modus operandi' de los ladrones para robártelo ... en: 17 Febrero 2018, 14:10 pm
Lo de los 'ladrones de calle', es realmente culpa de los jueces y en última instancia de la laxitud de las leyes.

Cada vez que detienen a un tipo de estos (y todos sabemos que más del 80% de ellos proceden de otros países, pero que resulta politicamente incorrecto decirlo y por eso siempre callan), no pasa el día sin que vuelva a la calle...
...en el proceso está que el robo, no supera cierta cantidad, así que de vuelta a la calle para volver al día siguiente a lo mismo. Así se da el casode detenidos hasta con cientos de robos.

No recuerdo si el monto total asciende a 600 euros, para que vayan a la carcel... ya, bien sólo robo, 50, 20, 450, etc... sí, pero parece que no jamaás se tiene en cuenta ningún 'efecto acumulativo'. Un tipo  que ha robado 15 veces en pocos meses (más bien que ha sido detenido 15 veces), creo que al margen de que ni un solo robo supere esa cfra, al margen incluso de que la sumka de todos ellos superasen esa cifra, solo por reiterada-reincidencia, ya sería moptivo para mandarlo a la cárcel un tiempo. Está claro que ese individuo, vive por y para robar, no creo que haga falta nada más para intentar corregirlo si es posible. Incluso en el caso de extranjeros que ya llevna cientos de delitos, yo propondría la expulsión definitiva dle país... creo que a cada país le basta con sus propios ladrones, para que encima vengan de otro paísexclsuivamente a robar.

...la policía se siente desmotivada, porque sabe que por un puertta entra en la comisaría detenido mientras por otra puerta el juez libera al que detuvieron unas horas antes... ya están archi-re-que-te-archivados, en las fichas policiales... parecen inmunes, tal cual si fueran diplomáticos. Ladrones con licencia para campar a sus anchas en las calles de las ciudades.

A veces se pregunta uno, si los políticos, no quieren modificar las leyes, porque así, mantienen en nómina chorrocientos, policías, jueces, abogados...etc... comiendo de la sopa-boba, y al tiempo si hubiera leyes más contundentes, habría menos casos, librando a los jueces de tiempo, que podrían disponer para atender debidamente todos los casos de corrupción, etc, etc...  Es como si hubiera una conclusión, un acuerdo político (porque se mantiene inalterable al cambio de signo político en el gobierno), de que las calles, deben estar henchidas de delincuentes callejeros...

Así, yo me atrevo a denunciar a las claras, que la inseguridad ciudadana es debida única y exclusivamente a la permisividad de los políticos a causa de la laxitud en las leyes.

3188  Foros Generales / Noticias / Re: Nuevo tiroteo y de nuevo la culpa a los videojuegos en: 17 Febrero 2018, 13:51 pm
Sí... son las armas, pero también los videojuegos y la psicología.

Si no hubiera armas con tan fácil acceso, supongo que al menos no se podría matar a decenas, a lo sumo usando armas blancas 1,2,3... Así que algo a investigar será (debe ser), de dónde rayos consiguió el arma, y a quién deriva la responsabilidad por no tener adecuadamente protegida dicha arma).

Pero también los videojuegos tienen parte de culpa. A cierta edad, la violencia excesiva, en los juegos, altera la mente de un niño. No tiene sentido que cuando sale una peli, y se vea una simple teta de una mujer se la califique para mayores de 18 años, y cuando hay tiroteos y asesinatos no pase nada... la correcta delimitación de violencia a ciertas edades, evita que mentes inmaduras tomen como normal algo que solo está en la imaginación de la diversión.

Podríamos discutir hasta que punto es lícito hacer videojuegos basados en cosas ilegales.... seguramente mucha gente (incluso de este foro), no esté muy de acuerdo. Pero si matar es algo ilegal en prácticamente todas partes, no tiene mucho sentido que haya juegos donde la temática esté centrada exclusivamente en eso. Para entenderlo perfectamente, es preciso poner otro ejemplo para que los que están inmersos en los videojuegos violentos, puedan verlo desde fuera.... violar mujeres es ilegal... ahora pongamos un juego en el que toda la trama de dicho videojuego consista en capturar mujeres y violarlas de las formas más diversas... y luego cuando alguien nos cuestione, digamos que es ficción solo por diversión... acaso no nos quejaríamos de que es perversamente siniestro?. ¿cómo podría haber juegos cuya temática es violar mujeres y alegar que se trata sólo de diversión?. Pués los videojuegos cuya temática es matar sin más es lo mismo (moleste a quien moleste).

Finalmente también es culpa de la psicología. Sociedades que no enseñan a sus menores a separar la realidad de la ficción y a no saber donde está el límite que los separa, es lo que lleva a lo que al final sucede con demasiada frecuencia... hacerles creer en Papa Noel (como si fuera un personaje real), el ratoncito Pérez y tal... es un capítulo que debe cerrarse para un niño a lo sumo a los 10 años. Pretender tener infantilizado a los niños hasta los 20 años, conlleva esto... que un acceso no registrado a determinados contenidos, luego no sepan valorarlo/distinguirlo en lo que en justicia es, diversión basada en la ficción. En fin, si la mente no está adecuadamente desarrollada, la interpretación que da a determinados contenidos queda distorsionada.
3189  Foros Generales / Noticias / Re: Un tipo pide a Microsoft 600 millones por actualización fallida a Windows 10 en: 16 Febrero 2018, 22:32 pm
Quién sabe, lo mismo tiene serte y la demanda sale adelante... luego pactan y se quedan en 100 veces menos, pero todavía 6 millones  :laugh: :laugh: :laugh: :silbar: :silbar: :silbar: en USA a veces ocurren cosas disparatadas de este tipo...

Lo que si es claro, es que hace falta que a las grandes compañías, les dén un buen varapalo, porque hacen demasiado a menudo lo que les da la gana y siempre escapan sin un rasguño...
3190  Foros Generales / Noticias / Re: Caduca la patente de MPEG-2, el códec de la TDT y los DVD en: 15 Febrero 2018, 16:19 pm
No es cuestión de ser un tikismikis, cuando pone una opinión, no hay que dar una precisión absoluta en todo lo que se dice, pero si uno pretender informar, entonces eso es más exigible...

Citar
"Debido a lo rápido que avanza la tecnología en las últimas décadas, es algo común que empiecen a caducar patentes de tecnologías"
Debido a lo rápido que... no caducan las patentes, las patentes caducan a los 20 años, sin importar si algo avanza rápido o se duerme en los laureles.
Páginas: 1 ... 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 [319] 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 ... 431
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines