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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 ... 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 [584] 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 ... 1236
5831  Programación / Programación General / Re: Tengo una tabla, deseo eliminar todas las expresiones que no estén en una lista en: 6 Febrero 2015, 00:36 am
Evidentemente necesitaré una lista de las expresiones comunes, es decir, una lista de todas las ciudades, y departamentos, etcétera, para que el programa pueda 'reconocer' qué extraer... La cuestión es, aunque tengo la 'estructura lógica' de lo que quiero.. ¿cómo lo hago?...

Evidentemente si la ciudad puede estar en el campo 3 o en el 4 o 5 como en esas mismas posiciones pude estar el campo de un departamento, entonces también necesitaras evaluar y seleccionar los campos de ciudades de manera manual para generar esa lista de ciudades que luego ya sí podrás utilizar de manuera automatizada para seleccionar las ciudades de las listas originales.

Yo me imagino esta tarea dividida en tres partes bastante laboriosas:
Primera parte, coger una de las listas originales, y descartar de forma automatizada los campos dado un set de reglas/condiciones, generando una lista temporal con los campos descartados.

Segunda parte, de forma manual copiar todas las ciudades de la lista temporal, a una tercera lista llamada Ciudades.txt, y hacer lo mismo con los departamentos y una lista llamada Departamentos.txt. con una ciudad/departamento por cada linea.

Tercera Parte, Usar la metodología de la primera parte con la siguiente lista original (hacerlo con las 100 o 1.000 primeras listas), pero esta vez combinando el uso de las listas Ciudades.txt y Departamentos.txt para el filtrado automatizado, con esto descartarás campos innecesarios y ciudades/departamentos que ya hayas registrado en las listas Ciudades.txt y Departamentos.txt.
Seguir la metodología de la "segunda parte" para añadir nuevas ciudades y departamentos hasta considerarlas suficientes.

Una vez tengas una lista de Ciudades.txt y Departamentos.txt con con una cantidad suficiente para intentar procesar de forma automatizada los 50.000 archivos, hacerlo y registrar errores (registrar la linea en cuestión) en caso de que una linea no contenga ninguna ciudad/departamento registrada en las listas Ciudades.txt y Departamentos.txt. Para poder añadir la nueva ciudad/departamento y empezar de nuevo, hasta que la verificación de ciudades/departamentos en todas las lineas de los 50k de archivos haya tenido éxito, es decir, ya hayas podido asociar cada linea a ua ciudad/departamento.

Vaya una labor tienes por delante...

Para empezar a generar esas listas de ciudades.txt y departamentos.txt puedes servirte de bases de datos online:
http://www.geodatasource.com/world-cities-database/free (esta tabla es facil de parsear)
http://en.wikipedia.org/wiki/Lists_of_cities_by_country
http://www.travelgis.com/world/capitals.asp
http://lmgtfy.com/?q=cities+list



Solo se me ocurre que para la selección de los campos/ciudades para generar esa lista de campos/ciudades puedes ayudarte con la ayuda de descartes,
me refiero a generar el mismo archivo pero descartando campos que empiecen que cumplan ciertas reglas, por ejemplo comprobar si un campo empieza con dígitos (teléfonos, códigos postales) o que sigan otro set de reglas que tu ya conozcas y quieres implementar en el filtrado, para generar una lista más reducida que te ayude a seleccionar las ciudades de manera manual.
Sin duda alguna eso ayudaría a aumentar el tiempo de lectura de los campos de forma manual.

Por lo que especificas, "nombre común" siempre aparece como el primer elemento de la lista, suponiendo que eso sea así, el primer campo ya puedes descartado.

Pseudo-código:

Código:
sourceFile  = "lista1.csv"
destinyFile = "nueva lista1.csv"
lines       = []
fields      = []
tmpfields   = []
rule1Regex  = "^\d.+"
rule1Regex  = "\d.+$"
rule3Regex  = ...

# Generar la lista de lineas.
For each line in (read sourceFile) Do
lines.Add(line)
End For

# Iterar los elementos de la lista de lineas
For each line in lines Do

    # Partir la linea en campos,
    # utilizando como delimitador el caracter ",".
fields    = line.Split(",")
tmpfields = []

# Iterar los campos.
For each field in fields Do

# si el campo es numerico... descartar campo.
if field.trim Is numeric then

# si el primer caracter del campo es un número... descartar campo.
elseif field.trim[0] Is numeric then

# si el regex nº1 encuentra coincidencias en el campo... descartar campo.
elseif rule1Regex.Match(field.trim) then

# si el regex nº2 encuentra coincidencias en el campo... descartar campo.
elseif rule2Regex.Match(field.trim) then

elseif otras reglas... descartar campo.

Else
# Agregar el campo que no ha cumplido ninguna condición de descarte
# a la lista temporal de campos.
tmpfields.Add(field.trim)

End if

End For

# Escribir en la lista de destino, la lista de campos temporal que no contiene los campos descartados.
detinyFile.Append(tmpfields.Join(","))

End For

Saludos
5832  Media / Multimedia / Re: duda sobre formatos. en: 5 Febrero 2015, 23:35 pm
Por si te sirve para hacerte otra idea:

Un AVI, MKV, MP4 y etc, son archivos binarios a los que puedes adjuntar (embedir) flujos de datos (data streams) para leer, o añadir, o eliminar pistas de audio, de video, subtítulos, etc, y luego están los metadatos/etiquetas (tags),
estos tipos de formatos tienen secciones organizadas, secciones que se distinguen por un punto de acceso, como una firma estática, o mejor dicho un marcador binario.

Esto sería el diagrama de las secciones del formato MKV:



Detalles específicos de como leer los marcadores binarios de un formato MKV: Matroska Specifications

Comparación de contenedores: Comparison of container formats

Saludos
5833  Programación / Scripting / Re: py2exe funcionamiento en: 5 Febrero 2015, 22:54 pm
Bueno para perl tenemos al licenciado perl2exe que al parecer compila el código de perl, pero no se si py2exe haga lo mismo.

Es decir, no se descomprime en una carpeta temporal de Windows??
o se puede ejecutar directamente desde CMD???

Son empaquetadores (packers), no compiladores, py2exe añade una versión "reducida" del intérprete, éste se descomprime junto al script empaquetado y los archivos necesarios en una carpeta temporal.

De todas formas py2exe es un software obsoleto actualizado por última vez en el 2008, y su soporte con py3.x es malo o nulo,
en su lugar puedes utilizar CXFreeze: http://cx-freeze.sourceforge.net/

saludos
5834  Sistemas Operativos / Windows / Re: Registro de windows en: 5 Febrero 2015, 08:01 am
proponiendo soluciones... no se podría hacer estilo mac os? es decir, el menú contextual en realidad llama al programa y el programa llama al explorador de archivos para solicitar quien está seleccionado? (esto lo digo por el automator de mac (+apple script) que es una super herramienta que todo SO debería tener, no he conseguido nada similar para linux o windows)

Obtener de una sola vez las rutas absolutas de los elementos seleccionados en el explorer es una alternativa más como bien has sugerido, y que como ya sabes se puede realizar con el uso de la programación,
el problema sería que se obtendría el mismo resultado, es decir, si seleccionases 20 archivos desde un subcommand del menú contextual, se van a intentar abrir 20 instancias de la misma aplicación indiferentemente de si la app es single-instance o multi-instance, y por ende, cuantos más archivos seleccionados más instancias simultaneas, llegará un momento en que irremediablemente por una causa o por otra esa metodología dará error.

En el caso de una app single-instance el error será por un fallo de comunicación entre las distintas instancias simultaneas que se intentarán comunicarse con la primera instancia para notificarles su estado,
y en el caso de la app multi-instance el error será más bien una serie de "fallos" o "inconvenientes" por un aumento masivo de recursos que acabará en un colapso de duración indeterminada (hasta que todas las instancias se cerrasen) por una disminuición del tiempo de respuesta al abrir demasiadas instancias al mismo tiempo.
 
Por otro lado, obviamente nada de eso ocurriría si solo hablamos de abrir 2 miseros archivos, no pasa nada por tener 2 instancias abiertas de un simple programa, pero cuantos más archivos/instancias sean mayor es la probabilidad de que sucedan ese tipo de conflictos, de hecho llegará un punto en el que sucederán,
por eso considero ineficiente este tipo de técnicas, porque al fin y al cabo, utilizar el programa para obtener de una los elementos seleccionados en la ventana actual del explorer, o utilizar el programa para ir recibiendo los argumentos e ir guardándolos uno por uno, al final ambos métodos acabarán causando el mismo conflicto.

De todas formas, debo aclarar un detalle muy importante ya que he afirmado muchas cosas descuidadamente sin mencionar en que baso mi experiencia en este tema, yo estoy hablando del comportamiento de las instancias de un ensamblado .Net, lo he verificado en C# y en Vb.Net, pero no he comprobado si lo mismo pasaría con la JVM de Java por ejemplo.

Aunque por lo que he leido, el tratamiento de las instancias en Java es practicamente identico en su esencia, es decir, las nuevas instancias se deben comunicar con la primera instancia para notificarles su intento de ejecución, y luego salir, por lo que deduzco que mútiples instancias de una aplicación single-instance ocasionaría el mismo conflicto del que ya he hablado.

TL/DR:
En cambio, nada de lo comentado arriba sucedería al utilizar un menú registrado, esa es la gran diferencia, ya que ...bueno, para ser sinceros no tengo muy muy claro exactamente como es el comportamiento de un menú registrado, es algo bastante interno que no he tenido la oportunidad de estudiar en profundidad (por falta de información), como se ve me sirvo de herramientas de terceros para llevar esta tarea a cabo, es un tema muy delicado y extenso,
pero basicamente se trata de desarrollar una librería COM, en la que debemos escribir un método llamemoslo "Capturador" que recibirá un argumento y esto argumento servirá para capturar los nombres de archivos, y llamar a "X" programa al terminar de capturar (o lo que queramos hacer al terminar),
entonces al usar nuestro método "Capturador", que está asociado a un subcommand del menú contextual de nuestra librería COM registrada en el sistema, la dll llamará al método "Capturador" e interceptará todos los argumentos evitando ese tipo de conflictos que hablé entre instancias de aplicaciones.
Más o menos, tengo la idea de que trabaja de una manera parecida, dicho de una forma muy poco específica, lo siento.

Saludos!
5835  Programación / Programación General / Re: [DUDA] Aprender: Video Tuoriales o Libros de texto en: 5 Febrero 2015, 06:06 am
cada uno aprende mejor de una manera que otra... yo los video tutoriales no los soporto, especialmente porque leo y asimilo muy rapido... mucho más de lo que un videotutorial avanza...

Amén, hermano.



En los video-tutoriales de youtube, generalizando, no se aprende NADA, aunque todo depende de lo que enseñen, como lo enseñen, y los gustos y capacidades de aprendizaje de cada persona, pero yo personalmente considero que eso no es aprender, es visualizar como otra persona hace algo e intentar simular sus acciones para aprender "sobre la marcha", para aprender mal.

En mi opinión, lo mejor es evitar cualquier video-tutorial de youtube de principiantes o programadores que no te parezcan muy profesionales en ese aspecto o simplemente de aquellos que te parezcan personas muy descuidadas (cualquiera menor de edad que parezca no haber adquirido experiencia suficiente, o cualquiera que se ponga a escribir en el notepad al principio o en medio del tutorial), porque para aprender bien, debes intentar hallar y obtener la información de la fuente más experta y confiable posible.

Por otro lado, no todos los video-tutoriales me parecen mal, hay algunos excelentes en youtube (sobre Python lo desconozco, pero por supuesto habrá tutoriales decentes),
los video-tutoriales grabados, editados, resumidos, y detallados meticulosamente rozando casi la perfección por autores/desarrolladores profesionales, en ese tipo de video-tutoriales si que podrás aprender mucho, como por ejemplo en los video-tutoriales de PluralSight:
http://www.pluralsight.com/search/?searchTerm=python
http://www.pluralsight.com/courses/python-fundamentals
https://kickass.so/torrents/usearch/?q=pluralsight+python (en esta url no aparece, pero busca por torrent el tutorial que he linkeado arriba, ese es con el que deberías empezar)

Nota: He llegado a visualizar muchos tutos de esa página sobre otros lenguajes que no eran Python, y todos los tutos que vi son simplemente excelentes, hay personas en esa página capaces de explicar materias bastante avanzadas de manera muy simple, muy buenos profesores virtuales.
Nota 2: El audio de los videos, los ejercicios/código fuente, y todo lo demás está en Inglés, para despejar cualquier duda.

De todas formas, yo no soy alguien de recomendar video-tutoriales, ni libros sobre los fundamentos de la programación, aunque he visto video-tutoriales y he estudiado libros, pero quizás mi forma de aprendizaje autodidacta me hace ver las cosas de otra manera muy distinta, ya que para mi, el modo más beneficioso de aprender un lenguaje específico (y también el más duro y aburrido que a veces dan ganas de pegarte un tiro, todo sea dicho), a falta de profesores (y depende que profesores...), es leer y sobre todo practicar hasta llegar a entender de principio a fin la documentación OFICIAL del lenguaje, toda entera no, pero si toda la documentación sobre las bases del lenguaje y sobre todo aquello que esté orientado a tus necesidades de programación en ese lenguaje, que para algo existe esa documentación ...no solo para recurrir a leerla cuando no se sabe para que sirve "X" miembro del lenguaje.
https://www.python.org/doc/

Saludos!
5836  Sistemas Operativos / Windows / Re: Registro de windows en: 5 Febrero 2015, 05:17 am
bueno ahora tengo otro problema, yo cuando seleciono dos o mas archivos se abre mi programa tantas veces como archivos selecionas, osea yo por ej seleciono 3 canciones y abro con mi reproductor, y lo q hace es reproducir cada cancion por aparte no se ponen en una misma lista y yo por consola por ej hago esto:

miprograma.exe "cancion1.mp3" "cancion2.mp3"

y mi programa se abre una sola vez y agregas las dos en la misma lista

En mi comentario anterior te expliqué el porque. ¿lo has leido?.

Un menú contextual común no puede manejar múltilpes archivos, debes programar y registrar una shell extension en el sistema para registrar el menú mediante COM, no puedes hacerlo con un simple script de registro (bueno, si, añadiendo manualmente todas las claves necesarias, lo cual sería una pesadilla), necesitas aprender programación ...la utilización de un lenguaje capacitado, arriba compartí una librería que yo utilizo para dicha tarea, si estás dispuesto eso es lo único que necesitas usar.

Como último recurso, y solo como último recurso, una alternativa muy ineficiente pero que puede sacarte del apuro sería crear un batch-script y utlizar las opciones del menú para cargar los archivos en el batch en vez de cargarlos al programa como estás haciendo, el bat lo que haría sería registrar cada argumento que le pases en un archivo de texto (escribir cada nombre de fichero), y cuando pasasen digamos 5 segundos de inactividad el bat ejecutaría el prrograma pasándole todos los argumentos que ha recopilado, como en el ejemplo que has mostrado:
Citar
Código:
miprograma.exe "cancion1.mp3" "cancion2.mp3" 

El problema es que si abres 100 archivos al mismo tiempo desde el menú, se van a abrir 100 instancias de la CMD, y eso va a colapsar por momentos tu sistema, por no decir que la eficacia de este método depende del tiempo de respuesta del PC, del tiempo considerado "inactivo".
El mismo problema ocurriria con una applicación single-instance que se encargase de recoger los argumentos, al final colapsarian las instancias que se intentarían comunicar con la primera instancia del programa "recolector" para ir pasándole argumentos, y daría errores relacionados con IPC, te lo digo porque pasé por este mismo problema hace mucho.
La solución más eficiente para cargar múltiples archivos al mismo tiempo en una única instancia del programa, y de hecho la única solución viable, es registrar tu propio menu contextual, de lo contrario te tienes que conformar con que se abran los archivos en diferentes instancias, o idear métodos incompetentes cono el batch-script "recolector".

Saludos.
5837  Foros Generales / Foro Libre / Re: EL VERDADERO FIN DEL MUNDO, Descubren 300 escapes masivos de metano en el Ártico en: 4 Febrero 2015, 23:09 pm
¿Pero es que algunos de verdad que no sois capaces de ver más allá de las noticias manipuladas que os quieren poner en frente de la TV o en el periódico, solo para acojonaros y manteneros tirando de un hilo como marionetas?.

Mañana dirán que unos gases tóxicos están haciendo que las personas se mueran y revivan convertidos en zombies, y así las grandes farmaceuticas se harán multi millonarías vendiendo ""vacunas"" a los más tontos con la excusa de prevenir una invasión zombie, y esto pasará algún día en el futuro, como suele pasar siempre que "ellos" hacen algo así.

Tranquilos, que cuando realmente se vaya a acabar el mundo, ese día toda la humanidad lo sabremos con total seguridad y sin ningún ápice de confusión sobre la verdad, sin necesidad de que alguien tenga que publicar una noticia sobre el ártico de la Mass-Media.

Hasta que llegue ese día, porfavor, no creais más en tonterías como las del calentamiento global, el métano del ártico, profecias maya o de la bruja lola, o un agujero negro que nos tragará por una grieta abierta en ""La Tierra Hueca"".

Saludos!
5838  Programación / .NET (C#, VB.NET, ASP) / Re: Necesito tutorial de controles de VB.Net 2010 en PDF o blog en: 4 Febrero 2015, 22:53 pm
Sería fantástico disponer de un auténtico tutorial sobre los controles y sus propiedades, con ejemplos sencillos de cada propiedad.

Eso ya existe, MSDN.

MSDN, aparte de ser muchas otras cosas, también es una fuente de información sobre todos los miembros de la librería de classes de .Net Framework, la documentación oficial de Microsoft, todo lo que hay que saber sobre todo, con toda la documentación sobre los controles de Framework, de sus propiedades/types/métodos/funciones/etc, y ejemplos de utilización, no en uno, sino en varios lenguajes además.

Puedes descargar la librería de MSDN para repasártela de forma offline con la utilidad Microsoft Help Viewer, que se instala junto a Visual Studio, al menos en la edición Ultimate, ya que no estoy seguro de si en la edición gratuita se instala dicho componente.

No esperes encontrar algo similar de manera offline, porque eso requería un esfuerzo de años para recopilar tal cantidad de datos como la MSDN.

Saludos








⇲ Especificaciones de las características del lenguaje


⇲ Documentación de las características del lenguaje


⇲ Estándares / Adquisición de buenas costumbres


⇲ Tutoriales / Guías


⇲ Video-tutoriales


⇲ Preguntas frecuentes (F.A.Q.)


⇲ Integrated Development Environment (IDE)


⇲ Librería de Classes de .NET Framework


⇲ Windows API / Platform Invoking (P/Invoke)


⇲ Conceptos de programación


⇲ Código fuente / Aplicaciones de código abierto (OpenSource)


⇲ Foro / Soporte / Lugares de ayuda

Saludos
5839  Programación / .NET (C#, VB.NET, ASP) / Re: Como saltarme la "Alerta de seguridad" con Webbrowser en VB.Net 2010 en: 4 Febrero 2015, 22:43 pm
No es mi tema favorito pero el cliente de IE es bastante limitado en esos aspectos y si quieres mayor control sobre los scripts vas a tener que implementar otro navegador profesional de terceros, a menos que estés dispuesto a idear auténtcas pesadillas como esta solo para resolver algún que otro "conflicto" con el IE de un WebBrowser:
Suppressing Hosted WebBrowser Control Dialogs

Testea los botones de la interface de ese source con la url que te muestra una alerta de seguridad, a ver si te funciona.

saludos
5840  Programación / .NET (C#, VB.NET, ASP) / Re: Problemas a listar Archivos en: 4 Febrero 2015, 22:28 pm
Quizás esto te pueda ayudar, porque yo no dispongo ahora mismo de ninguna partición FAT32 para probar los nombres:
http://stackoverflow.com/questions/19503697/unicode-filenames-on-fat-32

¿Como solucionarlo?, ...pues sinceramente, a parte de darle un formato NTFS al dispositivo USB, ni idea.

Saludos
Páginas: 1 ... 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 [584] 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines