|
951
|
Foros Generales / Foro Libre / Re: Como empezar si quiero aprender seguridad web etc
|
en: 29 Octubre 2016, 15:57 pm
|
¿Controlas de programación web? Hazte una web, con login usuarios, y lo que tú quieras. A partir de ahí, irás viendo problemas que surgen. Además, buscando vulnerabilidades por ahí, entenderás mejor por qué ocurren.
¿No controlas de programación web? Es difícil entender seguridad de algo si no sabes qué es o cómo está hecho ese algo.
|
|
|
952
|
Foros Generales / Foro Libre / Re: diamantes de mirra
|
en: 29 Octubre 2016, 12:00 pm
|
@Ivancea Desconocía ese método, si alguna vez tengo el honor de recibirte en mi casa me gustaría que me lo enseñases. Un saludo
Si algún día tengo esa suerte, me llevaré a tu casa una maza de pura fibra de carbono.Espero que vivas en un bajo, para así poder recuperar fácilmente los diamantes de tus ventanas.
|
|
|
953
|
Foros Generales / Foro Libre / Re: diamantes de mirra
|
en: 28 Octubre 2016, 23:53 pm
|
Hay otro método. Si golpeas con un objeto pesado y tenaz y la suficiente fuerza una ventana (el vidrio), obtendrás un montón de diamantes. Quedarán algunos trozos grandes, que serán solo vidrio.
La explicación de esto es que la fuerza del golpe desplaza y apresiona los átomos de carbono y los separa de los de silicio. Tras esto, los átomos de carbono se juntan en las grietas formando pequeños diamantes, o polvo de diamante.
Es un proceso que se descubrió hace mucho, pero que las grandes productoras de diamantes tratan de ocultar por su sencillez, que les haría perder ventas.
Si no lo crees, solo prueba. A lo mejor la primera ventana no te da buenos resultados, la formación de diamantes es un proceso aleatorio en estos casos. Pero a la cuarta o quinta ventana probablemente lo logres. Para probar, puedes hacerlo con un martillo, o con una piedra mismo. Si la piedra tiene una alta concentración de carbono, las probabilidades de que esto ocurra aumentan.
No te quedes insatisfecho con las primeras pruebas. A veces, hay que buscar bien entre los restos del vidrio para encontrar los diamantes generados.
|
|
|
955
|
Programación / Programación C/C++ / Re: Pregunta con estructuras y Pilas en C - Cual es la opcion correcta.
|
en: 22 Octubre 2016, 13:37 pm
|
Ambas sirven, con unas pequeñas pautas: Si no vas a usar punteros de ningún tipo dentro de la estructura, entonces la primera sirve bien. Si utilizas algún puntero, la primera será incorrecta, pues no copiarás el contenido del puntero. En tal caso, tendrías que hacer una copia manual de lo apuntado por el puntero (si así lo requiere el programa). Por cierto, en el código, aveces utilizas "struct s_nodo", a veces "struct s_nodo*", a veces "t_nodo" y a veces "t_nodo*". Ten cuidadado al andar mezclando estas estructuras. Yo de ti, ponía: struct s_nodo { struct s_persona prs; struct s_nodo *sig; }; typedef struct s_nodo t_nodo;
Sin puntero en t_nodo. Ten en cuenta que tPers no es un puntero tampoco, así que o pones ambos como punteros, o ninguno. Sinó queda incongruente. Además, se supone que el uso del typedef ahí es para evitar utilizar "struct s_nodo".
|
|
|
956
|
Programación / .NET (C#, VB.NET, ASP) / Re: C# Button.Click Address
|
en: 21 Octubre 2016, 16:42 pm
|
C# trabaja sobre la maquinavirtual de :NET. No es un lenguaje compilado. No está pensado para acceder a la memoria. La memoria no la manejas tú, sino que la maneja la máquina virtual. Que yo sepa, puedes ver la dirección de memoria de variables (En un entorno unsafe). Unafunción, en .NET, según tengo entendido, puede o no estar en la memoria ensamblado.
Sea lo que sea lo que buscas, no olvides que C# no es compilado.
|
|
|
957
|
Programación / Programación C/C++ / Re: Diferencias entre C y C#
|
en: 16 Octubre 2016, 00:33 am
|
Eso es porque nunca te ha tocado usar Fortran, que pesadilla, o que decepción python, no sirve para nada.
He usado FORTRAN, y es un lenguaje como otro cualquiera ._. Y Python, pues es un lenguaje abstante especial. El tema de controlar los ámbitos con identación es fantástico y obliga a identar bien. Es como si a otro lenguaje le quitas las llaves y los BEGIN/END. Queda identado, igual que Python. Y por linea de comandos, es bastante veloz para necesidades puntuales (sea cual sea el lenguaje que manejes).
|
|
|
958
|
Programación / Programación C/C++ / Re: Diferencias entre C y C#
|
en: 15 Octubre 2016, 15:58 pm
|
La sintaxis entre C# con Basic es terriblemente diferente, tanto que cambia completamente el esquema de trabajo, odio basic con todas mis fuerzas, es difuso y actualmente las librerias .NET no ofrecen un total adaptabilidad a los nuevos paradigmas de trabajo, un ejemplo perfecto es MVC, no conozco a nadie, repito, a nadie que use esta tecnologia con Basic, simplemente porque su trabajo se volveria una pesadilla al usar ese lenguaje, lo mismo ocurre al usar otros lenguajes interpretados que pueden soportar .NET como F# o Visual C++, su uso solo esta limitado a ciertas tecnologias y ambientes de desarrollo.
No digo que sea diferente. Digo que ambos terminan en CIL, para .NET. Con ambos se puede hacer lo mismo, salvando la diferente sintaxis y diferentes estructuras que tiene cada uno. Cada lenguaje en su momento, y si alguien prefiere uno frente a otro, tendrá sus razones. Ninngún lenguaje es 'malo', simplemente tienen sus limitaciones y sus ventajas. Y cada uno le sabrá sacar lo mejor de cada parte.
|
|
|
959
|
Programación / Programación C/C++ / Re: Programa con letras c++
|
en: 15 Octubre 2016, 13:54 pm
|
Los caracteres, los char, se almacenan como datos numéricos. Normalmente, en C++, en código Ascii: http://ascii.cl/es/En C++, si haces: cout << (int)'a';
Verás el valor de la letra 'a' en ascii. En programación, todo son datos numéricos. Un int normalmente es un número de 32 bits, 4 bytes. Un short, de 16 bits, 2 bytes. Un char, de 8 bits, 1 byte. Realmente es solo un número. La razón de que al sacarlo por pantalla se vea una letra, es que cout,cuando le pasas un caracter, en vez de mostrar el número que le corresponde (que sería lo normal), hace una excepción y te muestra el caracter que representa. Dicho esto, solo falta hacer cálculos numéricos. Como un char en C++ es un número, puedes hacer: char nuevoChar = 'g' + 3; nuevoChar = nuevoChar - 3;
Así que, solo tendrásque comprobar si es mayor que 'z'.
|
|
|
960
|
Programación / Programación C/C++ / Re: [ayuda] punteros en linklist
|
en: 15 Octubre 2016, 13:47 pm
|
Bien, un detalle. void Print(){ if(first == NULL) return; curr = first; while( curr ) { cout << "Value is : "<< curr->date<<endl; curr = curr->next; } }
Al acabar esa función, curr queda siendo igual a NULL. Eso te dará un error si luego tratas de hacer un insert, al tratar de hacer curr->next. Utiliza una variable a parte: void Print(){ if(first == NULL) return; Node<T> *temp = first; while( temp ) { cout << "Value is : "<< temp->date<<endl; temp = temp->next; } }
Y como dato, el if lo puedesobviar si quieres (si es NULL, simplemente no entrará al while) void Print(){ Node<T> *temp = first; while( temp ) { cout << "Value is : "<< temp->date<<endl; temp = temp->next; } }
toma el first pero en la funcion Insert la que se lleno fue curr por que first tiene el link de first, alguien podria explicarme eso por favor. No se si estoy entendiendo muy bien. En la función Print, quieres recorrer toda la lista. Así que, empiezas desde el primer elemento (first), y vas avanzando al siguiente (temp->next) hasta que sea NULL (final de la lista). Perdona si no entendí bien la pregunta.
|
|
|
|
|
|
|