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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 431
71  Programación / Programación General / Re: ¿Hacer programa que genere/cargue archivo y detecte que no es una copia? en: 2 Marzo 2023, 01:16 am
Técnicamente la fecha no forma parte del fichero.
La fecha y otros atributos son lo que se llaman los metadatos, igual que el nombre del fichero.
Cuando copias un fichero a otra unidad, se copia como mínimo el contenido, suele copiarse el nombre dle fichero y el resto de metadatos, pero solo cuando es posible, por ejemplo, la fecha de último acceso cambia cada vez que abres el fichero, pero las fechas no son fiables, porque se pueden cambiar, lo mismo que un atributo de 'sólo lectura', o el nombre del fichero.

Claro que usar algo, no implica conocer como funciona por dentro, pero es común que cuando alguien se interesa por algo, conozca ciertos detalles mínimos, como también es lo normal que algien que maneja algo 20 años sepa ciertos detalles más allá del mero uso, de aquello que usa. Pero no es obligatorio, ciertamente, aunque siendo éste un foro d eprogramación, se da por supuesto que los usuarios habituales, tengan un conocimiento 'muy por encima de la media'...

Si usas un programa para guardar los datos que precisas, claramente puede no tener posibilidad de hacer ciertas cosas, ahora bien, entiendo que si se trata de una partida de un juego, deberían esmerarse en no guardar los datos en texto plano, si  existe la posibilidad de que sena maniplados por el jugador o peor por otros jugadores...

Pero francamente, si usas un programa que tiene sus usos y limitaciones, para qué te preocupas por el asunto?. Es como preocuparse por que un vehículo no puede avanzar sobre zanjas de 6 metros de largo... claro, 20, 30 centímetros ya sería un reto quizás un 4x4 tenga mas capacidad pero llegado un punto es pedirle peras al manzano.

Quizás lo más acertado sea escribir al programador y pedirle lo que quieres, aclarando el porqué de dicha necesidad, si ciertamente el fichero sea accesible y manipulable, no costaría mucho convencerlo para que hiciera cambios en la siguiente versión del programa.
72  Programación / Programación C/C++ / Re: Ejecutar métodos de un objeto en otros en: 2 Marzo 2023, 01:02 am
Sí. Si el juego tiene más de un jugador, es preciso tener una banca, río, juez, árbitro o jugador que hace las veces de banca...
La clase que realiza esa labor, bien puedes llamarla juego.
Nota que el tablero es una instancia y si ha de ser servida a cada jugador, cada jugador tendrá una imagen (solo lectura) del tablero, porque quien realmente maneja el tablero es la clase 'juego'...

Cada jugador cuando el 'juego' le otorgue el turno, hara su jugada indicándoselo al 'juego', el uego verifica si su jugada es legal, hace el movimiento y verifica lo que proceda (puede desencadenar ciertos acontenimientos, según el tipo de juego que sea), luego que actualice el tablero, comunica al resto de jugadores la jugada realizada por qué jugador (por ejmplo, una banda pone el nombre en ella del jugador que tiene el turno) y qué acontenicmientos ha desmbocado (por ejemplo si es un juego de cartas, que ha tirado x carta sobre la mesa, si es un juego de apuestas, el monto de su apuesta... etc...

Tampoco te complique en exceso creando objetos... es bastante común que cuando un programador nobel empieza a entender los objetos, crea objetos para cada cosa, y en vez de tener un jardin delante d ela casa, directamente al abrir la puerta tienes el Amazonas... y al final hay un objeto 'cálcular' que a su vez contiene objetos sumar, restar,... que a su vez contienen objetos número... No. No atomices todo, sólo hasta el punto lógico de entender el proceso con fluidez. Que todo quede bien ubicado entre los objetos que 'naturalmente' surjen...

Un pequeño diagrama representando cada clase, los métodos que contiene y flechas dirigiendo (clases) entre si el flujo, te permiten tener a la vista la lógica de la comunicación. Amplía en prosa (comentarios), la descripcón de cada clase, lo que hace, los miembros que tiene... es común que pasado el tiempo si no lo dominas bien o no recuerdas todos, tengas dudas que en su día ya resolviste, pero que has olvidado, un pequeño comentario te ayuda a recordar enseguida ese detalle que parece que era o es complicado.
Siempre podrás cambiarlo, pero si antes de nada partes de un esuquema, te será más fácil seguirlo y decidir si tal o cual función debe pertenecer a está o aquella clase... y entonces verás que muchas de las dudas se responden con claridad aplastante la mayoría de las veces.
73  Programación / Programación General / Re: ¿Hacer programa que genere/cargue archivo y detecte que no es una copia? en: 1 Marzo 2023, 00:16 am
El hash calculado a un fichero, sirve para identificar si fue modificado el contenido.

Cuando dos contenidos distintos arrojan el mismo, hash se dice que se ha producido una colisión...
Las colisiones vienen a ser inevitables, es decir no se puede predecir (si el algoritmo está bien programado).

Sin embargo cuando se requiera mayor nivel de seguridad, es ideal sacar 2 hashes al fichero, esto es con dos algoritmos distintos. Las probabilidades entonces de que ambos hashes colisionen es el producto de las probabilidades de colisión de ambos algoritmos. Así icluso alguien se las apañara, para alterar el contenido de un fichero y con el mismo tamaño lograr que tuviera el mismo hash que antes... al haber dos algoritmos calculando 2 hashes distintos, los mismos cambios que fueren válidos para 'falsear' el hash para el algortimoA, va ser prácticamente imposible que también sena válidos para el hash calculado por el algoritmoB.

Respecto de tu última pregunta:
No. No hay forma se saber en el mundo digital si un fichero es una copia de otro... entendiendo por copia el mismo contenido.
Cuando se hace una copia de una obra de arte (por ejemplo), siendo algo físico, cabe la dificultad del material, si es antiguo, si usa los mismos materiales, etc... siempre habrá distinciones (otra cosa es que sean fácilmente detectables).

Pero en el mundo digital... supongamos que 1 millón de personas tenemos el mismo S.O. y misma versión y contiene un fichero llamado System.dll, es de suponer que todos tiene el msimo contenidos (salvo que se hayan compilado exprofeso para el procesador destino de cada equipo y que vamos a suponer que no fuera el caso)... Cuál es copia de cuál?. Tu fichero del mío o el mío del tuyo. Si son idénticos, que más dá.
Cuando tienes un fichero en el disco duro de tu pc, y lo copias a una memoria USB... es una copia, jamás será el del PC. No es físico, aunque la unidad de almacenamiento si lo sea. En realidad tu pregunta es absurda, y es propia de un niño que empieza a utilizar los ordenadores y no sabe gran cosa de tecnología.

Si tienes un fichero y no quieres que nadie tenga copia del mismo, entonces lo que tienes que hacer es cifrarlo con una contraseña. ...típicamente, los programas compresores permiten al comprimir cifrarlo con una contraseña. Todavía podrán tener copia de éste, pero sin la contraseña, no podrán descomprimirlo y por tanto no podran tener acceso al fichero original.

...pero todo esto es algo que si.. por lo menos utilizas ordenadores desde hace varios años, ya deberías saber.
74  Programación / Programación C/C++ / Re: AYUDA CON UN CODIGO en: 28 Febrero 2023, 18:12 pm
Siempre debes poner código donde tienes problemas, sea por un error o porque tienes dudas sobre como resolverlo o lo resuelves pero quieres ver si es posible hacerlo más eficiente...

Cuando la lista es grande y será consultado muchas veces, lo más rentable es ordenar la lista, array, ...luego el acceso al tercero, décimo primero, etc... tarda nada.

Si la lista es muy pequeña y siempre vas a necesitar buscar el tercero... lo más evidente (pero no lo más óptimo), es recorrer la lista 3 veces:
1 - buscas el menor de la lista: si elemento(x) es menor que minActual; minActual = elemento(x)
   Al término de ese bucle: hallazgo =minActual
2 - buscar de nuevo el menor de la lista, pero ahora se exige que además deba ser mayor que hallazgo.
   Si hay valores repetidos, el código hay que retocarlo.
3 - Igual que el punto 2... de hecho, tras el primer paso, el paso 2 y 3 pueden ser un bucle para buscar el enésimo.

Cuando la lista es muy grande, todavía es más rápido recorrerla 3 veces, que ordenarla, pero ... puede resolverse en sólo 1 recorrido.
A - Creas un array de 3 elementos, inicialmente les estableces el mayor valor posible que pueda tener la lista (esto es, según el tipo de datos)
B - Se empieza a buscar en un bucle:
    si elemento(x) es menor que minActual;
        minActual = elemento(x)
        TresMin(0) = TresMin(1)
        TresMin(1) = TresMin(2)
         TresMin(2) = minActual
    Fin si
    Devolver TresMin(0)
Fin función
75  Programación / Programación C/C++ / Re: Ejecutar métodos de un objeto en otros en: 28 Febrero 2023, 17:45 pm
El mapa no se debe compartir tal cual, solo consultar...
Un servicio o usuario específico hace las veces de la banca, juez...
Éste es quien debiera recibir las peticiones de los usuarios para decidir su movimiento/jugada, que traslada al mapa si es posible y devuelve true, o false si el movimiento o jugada es ilegal...
Igualmente, es este servidor quien reparte los turnos a los jugadores (si el juego funciona por turnos).
...y también quien verifica cuando termina la partida, y quien inicializa la partida, previa inscripción de los jugadores...

Supongo (o al menos eso espero), que esto te ofrece una perspectiva más clara de por dónde deben ir las cosas.
76  Programación / Programación General / Re: ¿Hacer programa que genere/cargue archivo y detecte que no es una copia? en: 28 Febrero 2023, 17:35 pm
Para eso existe el Hashing, entre otras cosas...
77  Foros Generales / Foro Libre / Re: IA de OpenAI (ChatGPT) en: 2 Febrero 2023, 00:00 am
Por ejemplo ahora estoy pensando en métodos para percibir o producir variaciones de cosas.
Se llama combinatoria... así que en vez de pensar en resolverlo, mejor 'estúdialo', no tienes que descubrir ni inventar algo ya conocido.

Preguntale si quieres, "dime métodos para percibir variaciones de cosas" y "dime métodos para producir variedades de cosas", y dinos qué te responde.
Al igual que en un foro, si no sabes hacer preguntas concretas y sin ambigüedades, las respuestas también serán dispersas en vez de ir al grano.


78  Programación / Programación C/C++ / Re: quick sort descendente en: 1 Febrero 2023, 23:49 pm
Veo, que no hay feedback... en fin...

...en realidad convertir el pseudocódigo de mi mensaje previo para ordenar en descendente basta cambiar exclusivamente 2 caracteres, lo dejo ahí... Si discurres por tu cuenta, bien, y si no, ya contarás...
79  Foros Generales / Foro Libre / Re: IA de OpenAI (ChatGPT) en: 1 Febrero 2023, 18:00 pm
...Serapis, quisiera hacerte una pregunta, si no es molestia, claro esta: hace relativamente poco leí algo tipo que que los de Open AI estaban trabajando en una nueva versión de su IA,. Entonces, ¿Se sabe cuando podrian lanzarla y que tal va con el desarrollo de esta ultima?.
Hasta donde yo sé, la versión 4.0 podría ver la luz este mismo año.

 Pero hay que tener en cuenta la expectación que ha levantado y meramente por 'estrategia comercial' podrían retrasar su salida...
80  Foros Generales / Foro Libre / IA de OpenAI (ChatGPT) en: 31 Enero 2023, 22:29 pm
Hace tiempo venía siguiente este modelo. Desde que lo hicieron público (al comienzo solo se podía usar con invitación o bajo petición).

El otro día viendo una película que trataban ciertos temas relacionados, me acordé y decidí registrarme (te piden tu correo y contraseña, luego verificar el correo, al acceder te piden nombre y luego teléfono (que también debes confirmar). Puedes elegir idioma, funciona perfectamente en español...

Le he preguntado muchas cosas cosas de Historia, cálculo, lógica, filosofía y metafísica, programación y tras probarlo varias horas a lo largo de unos días, debo decir que es bastante bueno.

Puede verse como un sustituto de Google, cuando buscas cosas específicas y no quieres andar visitando chorrocientas páginas de google...

Os animo a que os registreis y luego de usarlo un tiempo deis vuestra impresión... supongo que a la mayoría os podrá satisfacer.

http://chat.openai.com/chat

p.d.:
La versión actual data de comienzos de 2021, por lo que de entonces a esta parte no tiene datos actualizados, no accede a datos en tiempo real, pero siempre se le podrá facilitar datos. Por ejemplo, al preguntarle cuántos días faltan para la luna llena... su respuesta es que no tiene acceso a datos reales, pero si luego le dices: "sabiendo que en 6 de enero fue luna llena y que hoy es 'tal día', puedes decirme ahora cuando será la próxima luna lena?"... ahora tienes datos con los que operar, es decir que ciertas limitaciones puedes vehicularlas para obtener resultados positivos.
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 431
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines