Re: Update Apache2
Hola, 2016-02-11 14:52 GMT-05:00 alparkom . : > El día 11 de febrero de 2016, 15:20, Alberto Cabrejas Pérez > escribió: >> Actualice mi servidor web en debian 8.3 con apache2 a 2.4.10-10+deb8u4, y >> los virtualhost que tenia dejaron de funcionar, si los llamo por IP si >> responden, debo hacer algún cambio especifico tras la actualización o algo? > > Respaldaste el archivo httpd-vhosts.conf? > Revísalo. Además verifica que apache este aceptando dominios virtuales. > >> -- >> >> Saludos, *Alberto Cabrejas Pérez* >> Administrador de Redes Informáticas >> ARTex S.A. Sucursal Granma >> http://www.artexsa.com >> http://www.scgra.artex.sa >> Linux Usuario Registrado # 31 666 >> Teléf.+53(023) 48-1912 48-1934 48-1956 Ext 115 >> Jabber: albe...@scgr.artex.cu >> "BE FREE BE LINUX!!!" >> >> (null) >> > Algo que he visto mucho en Debian/Ubuntu al pasar de Apache 2.2 a 2.4, es que ya no acepta archivos virtualhost sin extension, a no ser tengan la extension conf Revisa tu archivo /etc/apache2/apache.conf y fijate si tienes esto IncludeOptional conf-enabled/*.conf IncludeOptional sites-enabled/*.conf Si tienes esas opciones incluidas, modificalas para que quede asi: IncludeOptional conf-enabled/* IncludeOptional sites-enabled/* En caso de que admita archivos virtualhost sin extension, tendrias que revisar tu VirtualHost y tambien los logs. Ya que en la version 2.4 hay algunas opciones de Apache que han cambiado. Nos comentas como te va. -- ~ Happy install ! Erick. --- IRC : zerick Blog: http://zerick.me About : http://about.me/zerick Linux User ID : 549567
Re: Update Apache2
El día 11 de febrero de 2016, 15:20, Alberto Cabrejas Pérez escribió: > Actualice mi servidor web en debian 8.3 con apache2 a 2.4.10-10+deb8u4, y > los virtualhost que tenia dejaron de funcionar, si los llamo por IP si > responden, debo hacer algún cambio especifico tras la actualización o algo? Respaldaste el archivo httpd-vhosts.conf? Revísalo. Además verifica que apache este aceptando dominios virtuales. > -- > > Saludos, *Alberto Cabrejas Pérez* > Administrador de Redes Informáticas > ARTex S.A. Sucursal Granma > http://www.artexsa.com > http://www.scgra.artex.sa > Linux Usuario Registrado # 31 666 > Teléf.+53(023) 48-1912 48-1934 48-1956 Ext 115 > Jabber: albe...@scgr.artex.cu > "BE FREE BE LINUX!!!" > > (null) >
FreeRadius + Ldap
Buenas Tardes, estoy intentando implementar como dice el asunto freeradius + ldap, configure todo por una guía, cuando pruebo en consola con el comando radtest user-ldap pass-ldap localhost 1812 secret me devuelve Sending Access-Request of id 152 to 127.0.0.1 port 1812 User-Name = "user-ldap" User-Password = "pass-ldap" NAS-IP-Address = 127.0.0.1 NAS-Port = 1812 rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=152, length=38 User-Password = "ACTIVE" en el log Auth: Login OK: [user-ldap/pass-ldap] (from client LocalHost port 1812) ahí todo bien, el problema es a la hora de unir alguna pc, la pc pide autenticación es decir la tarjeta WIFi pide usuario y contraseña, le pongo los datos y me da error, y en el log del freeradius me muestra lo siguiente. Auth: [ldap] Attribute "User-Password" is required for authentication. Auth: Login incorrect: [salbi/] (from client INFORMATICA port 0 cli 0018e710d7a2) Espero su ayuda, -- *SaLvAdOr SaNcHeZ SaNcHeZ *Administrador de Redes *Dirección Municipal de Salud *Grupo de Usuarios de Tecnologías Libres en Cuba -»http://gutl.jovenclub.cu/ *Proud GNU/Linux User # 525811 *http://counter.li.org/ *Cacocum - Holguín " - Se es viejo cuando se tiene más alegría por el pasado que por el futuro. - " -- Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas Infomed: http://www.sld.cu/
Re: Update Apache2
El día 11 de febrero de 2016, 15:20, Alberto Cabrejas Pérez escribió: > Actualice mi servidor web en debian 8.3 con apache2 a 2.4.10-10+deb8u4, y > los virtualhost que tenia dejaron de funcionar, si los llamo por IP si > responden, debo hacer algún cambio especifico tras la actualización o algo? Que dice la documentacion al respecto?
Update Apache2
Actualice mi servidor web en debian 8.3 con apache2 a 2.4.10-10+deb8u4, y los virtualhost que tenia dejaron de funcionar, si los llamo por IP si responden, debo hacer algún cambio especifico tras la actualización o algo? -- Saludos, *Alberto Cabrejas Pérez* Administrador de Redes Informáticas ARTex S.A. Sucursal Granma http://www.artexsa.com http://www.scgra.artex.sa Linux Usuario Registrado # 31 666 Teléf.+53(023) 48-1912 48-1934 48-1956 Ext 115 Jabber: albe...@scgr.artex.cu "BE FREE BE LINUX!!!" (null)
Re: [OT] Un poco de cultura general
El 11/02/16 a las 01:21, Felix Perez escribió: El día 10 de febrero de 2016, 18:13, libreydivagante escribió: El 30/01/16 a las 22:43, Juan Lavieri escribió: SAP* Muchas veces, mientras se investigan algunas cosas, cae información en nuestras manos que pareciera encajar con circunstancias que se viven en la actualidad. Casualmente eso me sucedió hoy y quisiera compartirlo con la comunidad; es un artículo de José Luis Cano Gil que me pareció muy interesante. He aquí el enlace: http://www.psicodinamicajlc.com/articulos/jlc/020.html Saludos. *SAP = Sin Alusiones Personales -- Juan, aqui disciento con el terapeuta-psico... mira: "El envidioso es un insatisfecho que, con frecuencia, no sabe que lo es." NO! el envidioso es algo, y puede serlo incluso logrando un gran desarrollo en algun ambito, aunque para su totalidad la imagen que tenga de si sera falsa o ilusoria. es decir: que no corresponde a la realidad de su ser. Luego cuando los actos ajenos le demuestran que no "ES" lo que creia surge la envidia. Lamentablemente el otro sin hacerle nada a este le demuestra error o inoperancia. Como sucede cuando camaleon responde mucho y bien en la lista y a los otros muchachos, sin saber ellos mismos lo que les pasa (porque solo han mirado y estudiado libros y no sus procesos y "demonios" internos...) les da bronca y de vez en cuando responden haciéndolo notar. Saludos desde el sur. P.D.: si alguien siente mucha envidia, lo mejor es que se tire un htop. Se nota que no has entendido nada de lo planteado en el link del psico-terapeuta. No se critica los aportes de camaleón sino lo que eso provoca, si a ti te sirve, bien, pero a largo plazo no sirve, genera dependencia, no aprendes, y se transforma en ruido puro y duro, repitiendo lo dicho mil veces en la lista o se repite lo que otro ya ha dicho. Lo del bloqueo es otro tema, aparece un tema pero que como esta bloqueado el usuario, esta no lo lee, ¿O sí lo lee? A veces contesta lo mismo, pero unos minutos después, para mí es extraña esa conducta. Bueno, dejo esto hasta aquí por mi parte. Che, no estaras abusando un poco de la palabra "NADA"? Che, no te diste cuenta que no critico los aportes de camaleon? Dios nos salve!! perdon! la ciencia nos salve! P.D.: perdon! alguien que nos salve!
Re: [OFF] Lenguajes de programación para escritorio
El día 11 de febrero de 2016, 12:37, Pablo JIMÉNEZ escribió: > On Thu, Feb 11, 2016 at 02:58:36PM +0100, Rafael Cantos Villanueva wrote: >> El 11/02/2016 a las 14:24, alparkom . escribió: >> >Mis argumentos? Suponiendo que tengo 50 mil personas distintas con el >> >software instalado, tendré 50 mil usuarios en la base de datos... no >> >crees que eso es demasiado? >> > >> >No hablo de columnas de una tabla, sino de usuarios de la base de datos... >> >> Si tienes una base de datos con acceso de 5 usuarios diferentes, >> simplemente necesitarásuna base de datos que te permita albergar ese número >> de usuarios, con un hosting que soporte sin problemas ese número de >> conexiones. El número de usuarios no es un problema en sí mismo. Todo >> dependerá de que utilices una base de datos apropiada, con la capacidad >> suficiente para albergar los datos personales de los usuarios (correo, >> contraseña, nombre, etc) y un servidor que te permita servir el número de >> conexiones que requieres. > > No solamente está el tema de la capacidad, sino también quizás resulte > más sensato emplear algún sistema de autenticación que sirva para tal > propósito (LDAP con cifrado TLS, RADIUS + LDAP con cifrado TLS, Kerberos > + LDAP con TLS) y que se integre con la BD. Pensar que uno puede > implementar un sistema de autenticación confiable basado en la BD es > darse un escopetazo en el pie y buscar problemas a futuro. > Okey. Me leí todos los mensajes anteriores, respondo solo a este por ser el último. Quedó claro que ni un lenguaje podrá asegurar los datos a la base de datos, que era el tema principal de este correo. Gracias chicos. > Saludos. > > -- > Pablo Jiménez >
Re: Entorno antiguo.
El 11 de febrero de 2016, 12:50, Pablo JIMÉNEZ escribió: > > ¿Has probado i3wm? https://i3wm.org/ No, ya llevo años utilizando Gnome :-( Le voy a dar un vistazo, se ve similar a Ion. ¡Saludos! -- Luis Eduardo Arevalo ReyesUser #354770 http://linuxcounter.net Fono +56 9 54012831 http://www.luchox.cl
Re: [OT] Dynatrace agent en unico vhost apache
El Thu, 11 Feb 2016 16:49:37 +0100, Maykel Franco escribió: > Buenas, me ha tocado una tarea de estas que te pide el cliente y que > consume recursos de las máquinas en producción pero bueno... (...) > He metido esa linea de LoadModule, en un vhost y la carga pero mi > pregunta es, mandará estadísticas de apache de solo ese vhost o en > general de todos los vhost? (...) Lo poco que he leído de ese Dynatrace (no lo conozco) me da a entender que monitoriza servicios/procesos (servidor web, correo, estado del equipo, gestión de recursos, etc...) por lo que entiendo que te dará estadísticas de consumo de todo lo que pase por Apache. Ahora bien, no sería muy útil que esos datos no se pudieran filtrar o configurar para no incluir información sensible (salvo que simplemente se trate de datos genéricos de consumo/rendimiento) o adecuarlos al tipo de información que te interese. Supongo que tendrá alguna opción para definir el tipo de informe que quieres que genere, no te va a dar el chorro de datos en bruto y ya :-) Web Server Monitoring https://community.dynatrace.com/community/display/DOCDT62/Web+Server+Monitoring Saludos, -- Camaleón
Re: Entorno antiguo.
On Thu, Feb 11, 2016 at 10:47:52AM -0300, Luis E. Arevalo R. wrote: > El 10 de febrero de 2016, 6:29, Jose Luis Quiroga Rodriguez > escribió: > > > Estimados amigos > > Os envío este correo por que ando buscando como loco un antiguo entorno de > > escritorio de allá a mediados de los 90. Básicamente era de estilo gótico y > > negro, muy bien decorado y precioso, no prosperó debido a que por aquel > > entonces las máquinas eran muy lentas. > > A ver si me podéis echar una mano. > > Un grato saludo debianita. > > > > Yo utilicé por mucho tiempo un entorno llamado Ion [1], el cual conocí el > 2004 en un encuentro Linux desarrollado en Chile, y era utilizado por el > entonces líder del proyecto Debian, Martin Michlmayr. Lo encontraba muy > sencillo y útil, y si no estuviera abandonado, lo seguiría utilizando :-( ¿Has probado i3wm? https://i3wm.org/ Se encuentra también en la colección de paquetes de Debian... Paquete: i3-wm Estado: instalado Instalado automáticamente: no Versión: 4.11-1~bpo8+1 Prioridad: extra Sección: x11 Desarrollador: Michael Stapelberg Arquitectura: amd64 Tamaño sin comprimir: 1.828 k Depende de: libc6 (>= 2.14), libcairo2 (>= 1.6.4-5~), libev4 (>= 1:4.04), libglib2.0-0 (>= 2.12.0), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.22.0), libpcre3 (>= 1:8.35), libstartup-notification0 (>= 0.10), libxcb-cursor0 (>= 0.0.99), libxcb-icccm4 (>= 0.4.1), libxcb-keysyms1 (>= 0.4.0), libxcb-randr0 (>= 1.3), libxcb-util0 (>= 0.3.8), libxcb-xinerama0, libxcb-xkb1, libxcb1 (>= 1.6), libxkbcommon-x11-0 (>= 0.4.0), libxkbcommon0 (>= 0.4.0), libyajl2 (>= 2.0.4), perl, x11-utils Recomienda: xfonts-base, fonts-dejavu-core, libanyevent-i3-perl (>= 0.12), libjson-xs-perl, rxvt-unicode | x-terminal-emulator Tiene conflictos con: i3-wm Proporciona: x-window-manager Descripción: improved dynamic tiling window manager Key features of i3 are good documentation, reasonable defaults (changeable in a simple configuration file) and good multi-monitor support. The user interface is designed for power users and emphasizes keyboard usage. i3 uses XCB for asynchronous communication with X11 and aims to be fast and light-weight. Please be aware i3 is primarily targeted at advanced users and developers. Página principal: http://i3wm.org/ Marcas: implemented-in::c, interface::x11, role::program, uitoolkit::TODO, x11::window-manager -- Pablo Jiménez
[OT] Dynatrace agent en unico vhost apache
Buenas, me ha tocado una tarea de estas que te pide el cliente y que consume recursos de las máquinas en producción pero bueno... Tengo que implementar un colector de datos, un agente que se encarga de enviar información del servidor donde se encuentra instalado, tal como estadísticas de red, cpu, informacion de apache... Lo tengo instalado, solo me queda conectarlo con un servidor collector de datos pero mi pregunta es, se puede poner solo y únicamente por vhost?? Según la doc: https://community.dynatrace.com/community/display/DOCDT60/Apache+Web+Server+Agent+Configuration#ApacheWebServerAgentConfiguration-Deployment/FileAccessPermissions https://community.dynatrace.com/community/display/EVAL/Step+3+-+Connect+Agent+to+Dynatrace Hay que cargar un modulo, este: LoadModule dtagent_module /opt/dynatrace-6.3/agent/lib64/libdtagent.so En ficheros de configuración globales httpd.conf o apache2.conf depende de la distro, en mi caso es apache2.conf He metido esa linea de LoadModule, en un vhost y la carga pero mi pregunta es, mandará estadísticas de apache de solo ese vhost o en general de todos los vhost? Mi sensación es que va a mandar todo, por eso pregunto en la lista, no encuentro nada en la documentación... Lo que no quiero es mandar a un cliente información de otros clientes básicamente y resumiendo
Re: [OFF] Lenguajes de programación para escritorio
On Thu, Feb 11, 2016 at 02:58:36PM +0100, Rafael Cantos Villanueva wrote: > El 11/02/2016 a las 14:24, alparkom . escribió: > >Mis argumentos? Suponiendo que tengo 50 mil personas distintas con el > >software instalado, tendré 50 mil usuarios en la base de datos... no > >crees que eso es demasiado? > > > >No hablo de columnas de una tabla, sino de usuarios de la base de datos... > > Si tienes una base de datos con acceso de 5 usuarios diferentes, > simplemente necesitarásuna base de datos que te permita albergar ese número > de usuarios, con un hosting que soporte sin problemas ese número de > conexiones. El número de usuarios no es un problema en sí mismo. Todo > dependerá de que utilices una base de datos apropiada, con la capacidad > suficiente para albergar los datos personales de los usuarios (correo, > contraseña, nombre, etc) y un servidor que te permita servir el número de > conexiones que requieres. No solamente está el tema de la capacidad, sino también quizás resulte más sensato emplear algún sistema de autenticación que sirva para tal propósito (LDAP con cifrado TLS, RADIUS + LDAP con cifrado TLS, Kerberos + LDAP con TLS) y que se integre con la BD. Pensar que uno puede implementar un sistema de autenticación confiable basado en la BD es darse un escopetazo en el pie y buscar problemas a futuro. Saludos. -- Pablo Jiménez
Re: [OFF] Lenguajes de programación para escritorio
On Thu, Feb 11, 2016 at 07:17:16AM -0300, alparkom . wrote: > El día 11 de febrero de 2016, 5:30, Adrià escribió: > > On Thu, Feb 11, 2016 at 12:42:22AM -0300, alparkom . wrote: > >> Estuve leyendo y vi a Java, Python y Ruby como los mas simples sin > >> embargo estos lenguajes son interpretados. Osea, lo ideal sería crear > > > > Ni creo que Java sea simple (eso ya es opinión personal) y por lo menos > > Java y Python se pueden compilar. > > > > Recién comienzo con Java, aunque hasta ahora lo encuentro bastante > fácil. En cuanto a "simple" tienes razón, no lo es. Confundí su > dificultad con su capacidad. > > Como dije, Java al compilar queda en bytecode pero pude obtener el > código completamente de los sources con cierto programa para > descompilar los .class. > > No entiendes mi idea, o no la expliqué bien. Lo que quiero es poder > hacer conexiones a bases de datos de forma segura, osea, si yo le paso > un programa en Java a alguien (y dicho programa tiene una conexión a > base de datos externa), este "alguien" podrá descompilar el .class y > ver los datos de conexión, eso es lo que quiero evitar. Ojo con lo que quieres. Si piensas que una aplicación «segura» es aquella donde no deseas que el usuario pueda ver la configuración para las conexiones a bases de datos que deseas establecer, eso no tiene nada que ver con seguridad. Por ejemplo, si la conexión a la base de datos no es cifrada, da lo mismo que la aplicación sea desarrollada en C++, bastará realizar una captura de paquetes con tcpdump o herramientas similares para obtener información relevante. Ni hablar del uso de strace o relacionados. Si lo que pretendes es que los usuarios no se entrometan con la configuración, hay varios elementos que tendrás que considerar, no solamente el lenguaje a emplear para el desarrollo del proyecto (cifrado de conexiones, uso de DNSSEC para verificar autenticidad del otro extremo de la conexión, bastionamiento y restricciones de accesos en el firewall del servidor de BD, el sistema de autenticación a emplear en la BD, los permisos de acceso asociados a los usuarios y un cuantohay que no voy a detallar acá). Saludos. -- Pablo Jiménez
Re: [OFF] Lenguajes de programación para escritorio
El Thu, 11 Feb 2016 11:35:22 -0300, alparkom . escribió: > El día 11 de febrero de 2016, 11:30, Camaleón > escribió: >> El Thu, 11 Feb 2016 00:42:22 -0300, alparkom . escribió: >> >>> Buenas chicos; >>> >>> Estoy interesado en aprender algún lenguaje de programación para crear >>> aplicaciones de escritorio. >>> >>> Estuve leyendo y vi a Java, Python y Ruby como los mas simples sin >>> embargo estos lenguajes son interpretados. Osea, lo ideal sería crear >>> programas con conexiones a bases de datos externas, por lo que debería >>> incluir los datos de dicha conexión. El tema está en que los archivos >>> de estos lenguajes quedan en el cliente, prácticamente sin >>> modificación, por lo que quien quiera ir y ver los datos de conexión, >>> ahí estarán. >> >> (...) >> >> Javascript para interfaces (sí, ahora está de moda), C/C++ con bindings >> a GTK+/Qt y quizá le daría un ojo a Delphi/Pascal por su conexión con >> las bdd. >> >> > Soy bueno en JavaScript (estoy a un nivel avanzado, o eso creo); puedo > diseñar interfaces en este lenguaje? Me podrías explicar como? Y con que > lenguaje se complementaría... ojala no sea HTML o PHP (ni similares) ya > que, si bien manejo ambos, la idea es crear la aplicación para > escritorio, no Web. Tengo entendido que Firefox o Gnome-Shell pintan las interfaces con javacript (html/css/xul), podrías empezar a buscar por ahí. >> Java lo descartaría directamente. >> >> > Porque? Consume mucha memoria. Si se trata de una aplicación pequeña (ejecutar/ trabajar/procesar datos/cerrar) que cargue poca información podría pasar pero para algo más gordo si no la afinas bien te va a dejar la RAM tiesa. >> En cuanto al tema de la seguridad (acceso al código con datos >> sensibles) puedes usar el lenguaje de programación que más rabia te dé >> para desarrollar el grueso de la aplicación y tira de bibliotecas C/C++ >> para enlazar con los datos que sean críticos. >> >> > Dices que haga la conexión directamente? Eso contradice todos los > mensajes anteriores, jajaja. Sí, claro. ¿Se trata de un trabajo para alguna alguna agencia de seguridad nacional? ¿tienes requisitos que cumplir? No lo creo porque de lo contrario no estarías preguntando en la lista :-) Así que si tu sistema operativo, aplicaciones como Firefox o cualquier programa que guarde datos sensibles (p. ej., credenciales de acceso a servicios) almacena los datos localmente y además en algunos casos incluso en texto claro, no veo el problema. Salvo que cifres el disco duro o los archivos tus datos son susceptibles de sufrir cualquier tipo de acceso no autorizado o procedimiento de ingeniería inversa. Punto. Saludos, -- Camaleón
Re: [OFF] Lenguajes de programación para escritorio
Saludos Rafa El 11/02/2016 a las 15:20, alparkom . escribió: El día 11 de febrero de 2016, 10:58, Rafael Cantos Villanueva escribió: Saludos Analiza los requisitos que requieres de capacidad y conexión del servidor, así como de la base de datos. A partir de ahí, y viendo las capacidades de los distintos sistemas de bases de datos y los servidores en el mercado, podrás determinar qué opción es la mejor. Claro. No es tanto por las capacidades de mis servidores, sino que siempre se busca ocupar la menor cantidad de recursos. Mencionaste que puedan guardar todos los datos requeridos, pero eso no va al tema en sí; y se distribuir bien los recursos. En eso puedes estar tranquilo. Mi único problema era ese, el de hacer las conexiones directas al servidor en el software del cliente. Y veo que no es una forma. OK Gracias por las respuestas! A todos! De nada, para eso estamos. Y ya que estamos en esto de los lenguajes de programación, también quiero aprender C++, tanto para crear aplicaciones de escritorio, como de consola. Pero tengo varias dudas al respecto: 1.- Si creo una aplicación de escritorio en C++, podrá ser funcional en otros SO aparte de Windows? Esto depende de las librerías adicionales que tengas que usar. Existe en todo lenguaje de programación una parte que es estándar, que viene incluido en el propio lenguaje, y después librerías externas. Además, existen ciertas funciones que dependen del sistema operativo. Por ejemplo, si vas a tratar con el registro de Windows, este tipo de funciones y accesos en linux fallarían, si no lo tienes especificado para que solo se ejecuten si el sistema operativo es Windows. Además, ten en cuenta que las rutas, tanto de instalación como de las carpetas de usuario, son distintas en Windows, Linux o Mac. 2.- Instalé una máquina virtual, y en ella Visual Studio Community 2015 para poder comenzar con C++. Supongo que programar en Linux para consola es bastante fácil (solo con un editor de texto cualquiera mas un compilador), pero para un software de escritorio? Que vendría a reemplazar a Visual Studio en este ámbito? Hay diferentes IDEs de programación que puedes usar. Yo hace tiempo que no programo en C++, pero sí te puedo decir que Eclipse soporta programación en este lenguaje. Alguna otra que se me pasa justo ahora; Bueno, una recomendación. Primero, cuando tengas claro qué usar, esto es, lenguaje de programación, librería gráfica, IDE de programación, etc, adquiere un libro (gratuito o de pago) que te sirva como manual de referencia y aprendizaje al mismo tiempo. Luego, zambúllete a fondo en aprender a programar en ese lenguaje siguiendo el ejemplo de dicho libro, y solo cuando tengas cierta soltura, lánzate a programar tu aplicación. Por último, algunos lenguajes tienen sus propias listas de correo, como es el caso de python, donde se te podrá orientar mejor, así como resolver posibles problemas o dudas que te salgan. --- El software de antivirus Avast ha analizado este correo electrónico en busca de virus. https://www.avast.com/antivirus --- El software de antivirus Avast ha analizado este correo electrónico en busca de virus. https://www.avast.com/antivirus
Re: [OFF] Lenguajes de programación para escritorio
El 11/02/16 a las 06:03, alparkom . escribió: Venga, no han entendido lo que quiero. Explicado de forma simple; si hago una conexión en Java, el archivo .java tendrá los datos de conexión (en caso de usar MariaDB, se debería escribir en el .java la dirección del servidor, el usuario de MariaDB, la contraseña del mismo y el puerto usado)... entonces, que pasa si descompila dicho el .class que genera Java? Tendrá los datos de conexión al servidor de MariaDB y podrá hacer con ellos lo que quiere, desde otra aplicación automática que ocupe la base de datos, hasta eliminar toda la base de datos, y todo con una simple Query. Si te referías a que cada "instalación" del software tenga una conexión distinta a la base de datos (de esta forma, si se conecta al servidor y elimina algo, se "auto-perjudicaría") no es una opción. Con respecto a lo de Java, a que te refieres? Se supone que en un software de escritorio, el programador lo hace accesible a las personas con discapacidad, o sin esta. Si mi profesor de Algoritmos leyera lo que acabas de escribir acá, seguro que te rebota el curso en el acto. 1.- Bajo ningún concepto debes poner información referente a la conexión de base de datos, usuarios y claves de acceso, dentro del código del programa. En su lugar esos datos deben estar en un archivo externo y de ser posible cifrados o hasheados de forma de hacer seguro su manejo. 2.- No importa el lenguaje de programación que uses (C/C++, Java, Python, Ada) si pones datos dentro del programa estos podrán ser accedidos usando las herramientas necesarias. Decompilar un binario te permite hacer lecturas del mismo y entonces podrán saber TODOS los datos que le has metido. Esas dos simples razones, ya te dan mas de miles ideas por lo cual NO SE DEBE poner datos de una base de datos junto al resto de la autenticación en el código de los programas, de hecho, ningún programa serio hace una cosa así. Ahora sobre "software de escritorio" TODO software puede ser diseñado para su uso en escritorio. Puedes usar el lenguaje que quieras y hacer que el programa que escribas tengo Accesibilidad para distintas diversidades motoras y audiovisuales, así que Java no es el único que puede hacer eso. -- Dios en su Cielo, todo bien en la Tierra
Re: [OFF] Lenguajes de programación para escritorio
El día 11 de febrero de 2016, 11:30, Camaleón escribió: > El Thu, 11 Feb 2016 00:42:22 -0300, alparkom . escribió: > >> Buenas chicos; >> >> Estoy interesado en aprender algún lenguaje de programación para crear >> aplicaciones de escritorio. >> >> Estuve leyendo y vi a Java, Python y Ruby como los mas simples sin >> embargo estos lenguajes son interpretados. Osea, lo ideal sería crear >> programas con conexiones a bases de datos externas, por lo que debería >> incluir los datos de dicha conexión. El tema está en que los archivos de >> estos lenguajes quedan en el cliente, prácticamente sin modificación, >> por lo que quien quiera ir y ver los datos de conexión, ahí estarán. > > (...) > > Javascript para interfaces (sí, ahora está de moda), C/C++ con bindings a > GTK+/Qt y quizá le daría un ojo a Delphi/Pascal por su conexión con las > bdd. > Soy bueno en JavaScript (estoy a un nivel avanzado, o eso creo); puedo diseñar interfaces en este lenguaje? Me podrías explicar como? Y con que lenguaje se complementaría... ojala no sea HTML o PHP (ni similares) ya que, si bien manejo ambos, la idea es crear la aplicación para escritorio, no Web. > Java lo descartaría directamente. > Porque? > En cuanto al tema de la seguridad (acceso al código con datos sensibles) > puedes usar el lenguaje de programación que más rabia te dé para > desarrollar el grueso de la aplicación y tira de bibliotecas C/C++ para > enlazar con los datos que sean críticos. > Dices que haga la conexión directamente? Eso contradice todos los mensajes anteriores, jajaja. > Saludos, > > -- > Camaleón >
Re: [OFF] Lenguajes de programación para escritorio
El Thu, 11 Feb 2016 00:42:22 -0300, alparkom . escribió: > Buenas chicos; > > Estoy interesado en aprender algún lenguaje de programación para crear > aplicaciones de escritorio. > > Estuve leyendo y vi a Java, Python y Ruby como los mas simples sin > embargo estos lenguajes son interpretados. Osea, lo ideal sería crear > programas con conexiones a bases de datos externas, por lo que debería > incluir los datos de dicha conexión. El tema está en que los archivos de > estos lenguajes quedan en el cliente, prácticamente sin modificación, > por lo que quien quiera ir y ver los datos de conexión, ahí estarán. (...) Javascript para interfaces (sí, ahora está de moda), C/C++ con bindings a GTK+/Qt y quizá le daría un ojo a Delphi/Pascal por su conexión con las bdd. Java lo descartaría directamente. En cuanto al tema de la seguridad (acceso al código con datos sensibles) puedes usar el lenguaje de programación que más rabia te dé para desarrollar el grueso de la aplicación y tira de bibliotecas C/C++ para enlazar con los datos que sean críticos. Saludos, -- Camaleón
Re: [OFF] Lenguajes de programación para escritorio
Hola. Yo no conozco mucho sobre desarrollo de aplicaciones, pero me parece que es un asunto de diseño, mas que de lenguaje. Me explico. Yo soy el usuario Juan, que voy a ejecutar un programa que tu escribiste, para manipular los datos que está administrando digamos Luis Felipe. El trabajo de tu programa se limita a manipular los datos de la forma como tu lo deseas y de transferirle a la base de datos quién está intentando hacer eso, o sea Juan. Pero tu programa no tiene que tener una tabla que por ejemplo diga: Juan, puede hacer esto, Pepe, lo otro, etc. Simplemente pasa como parámetro la identificación de aquel que está ejecutando el programa, o sea yo; para eso tuve que haber dado login en algún sitio y es allí donde se sabe que soy yo. Luego la responsabilidd de todo lo que pase en el acceso a los datos es el que administra el acceso a la misma, en este caso Luis Felipe. El programa no tiene que contener en su código ningún dato de los usuarios que acceden al mismo, en ese caso habría que estar reescribiéndolos cada vez que cambiamos a los usuarios. Bueno si trabajas para una empresa y diseñas un sistema así, tendrás trabajo por años :-). Por supuesto es mucho mas profundo que eso, pero es a manera ilustrativa. Aquí tienes algo por donde empezar, aunque esto es tema para un foro de programación. http://html.rincondelvago.com/seguridad-en-bases-de-datos.html Saludos El 11 de febrero de 2016, 9:28, Rafael Cantos Villanueva < raf...@rafaelcantos.es> escribió: > Saludos > > Rafa > > El 11/02/2016 a las 14:24, alparkom . escribió: > >> El día 11 de febrero de 2016, 10:14, German Cardozo >> escribió: >> >>> >>> On Feb 11, 2016 7:38 AM, "Rafael Cantos Villanueva" < >>> raf...@rafaelcantos.es> >>> wrote: >>> Saludos Rafa El 11/02/2016 a las 12:28, alparkom . escribió: > > El día 11 de febrero de 2016, 8:01, Luis Felipe Tabera Alonso > escribió: > >> >> On Thursday 11 February 2016 07:33:51 alparkom . wrote: >> >>> >>> Explicado de forma simple; si hago una conexión en Java, el archivo >>> .java tendrá los datos de conexión (en caso de usar MariaDB, se >>> debería escribir en el .java la dirección del servidor, el usuario de >>> MariaDB, la contraseña del mismo y el puerto usado)... entonces, que >>> pasa si descompila dicho el .class que genera Java? >>> >> >> >> Lo estás haciendo mal, si el programa tiene todos esos datos 'tal >> cual', >> te va >> a dar igual el lenguaje de programación, compilado o no. Un usuario >> malicioso >> podrá obtenerlos. ¿Quién se supone que tiene acceso a la BD? ¿Solo >> usuarios? >> ¿Solo el programa? El usuario/programa que acceda a la BD ¿Puede hacer >> con >> ella lo que quiera? ¿debería poder? >> >> > Se supone que C++ es compilado a código máquina, y es imposible > obtener el código de este lenguaje una vez compilado por lo que no > podrían obtener los datos. > Te equivocas, yo te lo vuelvo a repetir. Da igual que el programa sea compilado o no, se puede descompilar igualmente y acceder a los datos. >>> +1 >>> >>> >> Vale. Eso es ingeniería inversa, no? También quiero aprender eso, >> suena interesante. >> >> > Se supone que el software debería tener acceso a la base de datos. Si > puede hacer lo que quiera es un sí, aunque dudo importe demasiado la > respuesta a esta pregunta. > > Entonces como lo hacen softwares como algunos Adobe, donde debes > iniciar sesión para ocupar varios de sus productos? Con HTTP? > Como te indicaba en otra respuesta, centra la seguridad en la base de datos y el servidor. Una opción es esta, enviar por htp, o mejor aún por https, emplear sockets, etc, una solicitud de acceso al servidor, con un usuario y contraseña. Desde el servidor, se realiza una conexión a la base de datos, con los datos almacenados de dicha conexión en el servidor, y autenticar al usuario. Una vez que lo has autenticado, puedes devolver un tokken de conexión que valide las comunicaciones realizadas entre ese usuario y el servidor a través de la aplicación. Esto, si te fijas, es igual que cuando accedes a un servicio web introduciendo tu usuario y contraseña desde un navegador web. >>> Si lo que quieres es una aplicación cliente-servidor, donde el cliente se >>> ejecute desde la estación como una aplicación instalable, y además >>> requieres >>> (tus argumentos tendrás para ello) que se use conexiones a la Base de >>> Datos >>> >> >> Mis argumentos? Suponiendo que tengo 50 mil personas distintas con el >> software instalado, tendré 50 mil usuarios en la base de datos... no >> crees que eso es demasiado? >> >> No hablo de columnas de una tabla, sino de usuarios de la base de datos... >> > > Si tienes una base de datos con acceso de 5 usuari
Re: [OFF] Lenguajes de programación para escritorio
El día 11 de febrero de 2016, 10:58, Rafael Cantos Villanueva escribió: > Saludos > > > Analiza los requisitos que requieres de capacidad y conexión del servidor, > así como de la base de datos. A partir de ahí, y viendo las capacidades de > los distintos sistemas de bases de datos y los servidores en el mercado, > podrás determinar qué opción es la mejor. > > Claro. No es tanto por las capacidades de mis servidores, sino que siempre se busca ocupar la menor cantidad de recursos. Mencionaste que puedan guardar todos los datos requeridos, pero eso no va al tema en sí; y se distribuir bien los recursos. En eso puedes estar tranquilo. Mi único problema era ese, el de hacer las conexiones directas al servidor en el software del cliente. Y veo que no es una forma. Gracias por las respuestas! A todos! Y ya que estamos en esto de los lenguajes de programación, también quiero aprender C++, tanto para crear aplicaciones de escritorio, como de consola. Pero tengo varias dudas al respecto: 1.- Si creo una aplicación de escritorio en C++, podrá ser funcional en otros SO aparte de Windows? 2.- Instalé una máquina virtual, y en ella Visual Studio Community 2015 para poder comenzar con C++. Supongo que programar en Linux para consola es bastante fácil (solo con un editor de texto cualquiera mas un compilador), pero para un software de escritorio? Que vendría a reemplazar a Visual Studio en este ámbito? Alguna otra que se me pasa justo ahora; > --- > El software de antivirus Avast ha analizado este correo electrónico en busca > de virus. > https://www.avast.com/antivirus >
Re: [OFF] Lenguajes de programación para escritorio
Saludos Rafa El 11/02/2016 a las 14:24, alparkom . escribió: El día 11 de febrero de 2016, 10:14, German Cardozo escribió: On Feb 11, 2016 7:38 AM, "Rafael Cantos Villanueva" wrote: Saludos Rafa El 11/02/2016 a las 12:28, alparkom . escribió: El día 11 de febrero de 2016, 8:01, Luis Felipe Tabera Alonso escribió: On Thursday 11 February 2016 07:33:51 alparkom . wrote: Explicado de forma simple; si hago una conexión en Java, el archivo .java tendrá los datos de conexión (en caso de usar MariaDB, se debería escribir en el .java la dirección del servidor, el usuario de MariaDB, la contraseña del mismo y el puerto usado)... entonces, que pasa si descompila dicho el .class que genera Java? Lo estás haciendo mal, si el programa tiene todos esos datos 'tal cual', te va a dar igual el lenguaje de programación, compilado o no. Un usuario malicioso podrá obtenerlos. ¿Quién se supone que tiene acceso a la BD? ¿Solo usuarios? ¿Solo el programa? El usuario/programa que acceda a la BD ¿Puede hacer con ella lo que quiera? ¿debería poder? Se supone que C++ es compilado a código máquina, y es imposible obtener el código de este lenguaje una vez compilado por lo que no podrían obtener los datos. Te equivocas, yo te lo vuelvo a repetir. Da igual que el programa sea compilado o no, se puede descompilar igualmente y acceder a los datos. +1 Vale. Eso es ingeniería inversa, no? También quiero aprender eso, suena interesante. Se supone que el software debería tener acceso a la base de datos. Si puede hacer lo que quiera es un sí, aunque dudo importe demasiado la respuesta a esta pregunta. Entonces como lo hacen softwares como algunos Adobe, donde debes iniciar sesión para ocupar varios de sus productos? Con HTTP? Como te indicaba en otra respuesta, centra la seguridad en la base de datos y el servidor. Una opción es esta, enviar por htp, o mejor aún por https, emplear sockets, etc, una solicitud de acceso al servidor, con un usuario y contraseña. Desde el servidor, se realiza una conexión a la base de datos, con los datos almacenados de dicha conexión en el servidor, y autenticar al usuario. Una vez que lo has autenticado, puedes devolver un tokken de conexión que valide las comunicaciones realizadas entre ese usuario y el servidor a través de la aplicación. Esto, si te fijas, es igual que cuando accedes a un servicio web introduciendo tu usuario y contraseña desde un navegador web. Si lo que quieres es una aplicación cliente-servidor, donde el cliente se ejecute desde la estación como una aplicación instalable, y además requieres (tus argumentos tendrás para ello) que se use conexiones a la Base de Datos Mis argumentos? Suponiendo que tengo 50 mil personas distintas con el software instalado, tendré 50 mil usuarios en la base de datos... no crees que eso es demasiado? No hablo de columnas de una tabla, sino de usuarios de la base de datos... Si tienes una base de datos con acceso de 5 usuarios diferentes, simplemente necesitarásuna base de datos que te permita albergar ese número de usuarios, con un hosting que soporte sin problemas ese número de conexiones. El número de usuarios no es un problema en sí mismo. Todo dependerá de que utilices una base de datos apropiada, con la capacidad suficiente para albergar los datos personales de los usuarios (correo, contraseña, nombre, etc) y un servidor que te permita servir el número de conexiones que requieres. mediante un único usuario, mi recomendación es mediar con una capa entre el cliente y la BD que exponga la interfaz que deseas que conozca el cliente. Dicha capa se encargará de la funcionalidad, la autenticación y la seguridad entre otros, y allí implementar el protocolo que más convenga. La comunicación con la base de datos quedará bajo este "Middleware", y podrás protegerle mediante firewall u otras medidas, dependiendo de tus recursos y arquitectura. Varios lenguajes tienen facilidades para crear estos componentes, exponiendo mediante "buses de servicio" u otros elementos, un API. Puedes desarrollar además uno propio, pero todo dependerá del alcance propuesto para la aplicación, como por ejemplo, hacer uso de estándares como SOA. Estas tecnologías no son exclusivas de los servicios WEB, aunque su uso este más extendido en ese campo. Con este componente mediando entre tus clientes y el modelo de datos, puedes desacoplar el desarrollo de este, haciendo uso incluso de un lenguaje de programación distinto al usado en el servidor, y disponer de clientes para diferentes sistemas operativos, dispositivos o situaciones como requerimientos de accesibilidad. Siempre encontrarás problemas de seguridad a resolver, pero todo dependerá de los requerimientos exigidos y hasta donde estés dispuesto a ceder y tolerar. Vale. Veo que ni un solo lenguaje haría lo que yo quiero (aunque pensándolo bien, era obvio). La solución creo que será que el cliente tenga una base de datos propia y que cada cierto tiempo se compare con l
Re: [OFF] Lenguajes de programación para escritorio
El 11 de febrero de 2016, 14:24, alparkom . escribió: > > El día 11 de febrero de 2016, 10:14, German Cardozo > escribió: > > > > On Feb 11, 2016 7:38 AM, "Rafael Cantos Villanueva" > > wrote: > >> > >> Saludos > >> > >> Rafa > >> > >> > >> > >> El 11/02/2016 a las 12:28, alparkom . escribió: > >>> > >>> El día 11 de febrero de 2016, 8:01, Luis Felipe Tabera Alonso > >>> escribió: > > On Thursday 11 February 2016 07:33:51 alparkom . wrote: > > > > Explicado de forma simple; si hago una conexión en Java, el archivo > > .java tendrá los datos de conexión (en caso de usar MariaDB, se > > debería escribir en el .java la dirección del servidor, el usuario de > > MariaDB, la contraseña del mismo y el puerto usado)... entonces, que > > pasa si descompila dicho el .class que genera Java? > > > Lo estás haciendo mal, si el programa tiene todos esos datos 'tal cual', > te va > a dar igual el lenguaje de programación, compilado o no. Un usuario > malicioso > podrá obtenerlos. ¿Quién se supone que tiene acceso a la BD? ¿Solo > usuarios? > ¿Solo el programa? El usuario/programa que acceda a la BD ¿Puede hacer > con > ella lo que quiera? ¿debería poder? > > >>> > >>> Se supone que C++ es compilado a código máquina, y es imposible > >>> obtener el código de este lenguaje una vez compilado por lo que no > >>> podrían obtener los datos. > >> > >> > >> Te equivocas, yo te lo vuelvo a repetir. Da igual que el programa sea > >> compilado o no, se puede descompilar igualmente y acceder a los datos. > >> > > > > +1 > > > > Vale. Eso es ingeniería inversa, no? También quiero aprender eso, > suena interesante. > Hola, hola Sólo queía completar las respuestas de Rafael y German con un ejemplo práctico y desmontar por completo esa idea de que en código del programa (fuente, objeto, etc) es un buen lugar donde almacenar cualquier cosa que no sea... código ;-) Hagamos un ejemplo muy sencillo en C int main() { char string1[] = "Hello World"; char string2[] = "clavesecreta"; return 0; } Lo compilamos, etc, etc... y obtenemos nuestro ejecutable, vamos a ver que ha pasado con nuestra clave. En el interior de nuestro ejecutable encontramos esto (...) 0001720 20 c7 45 f4 48 65 6c 6c c7 45 f8 6f 20 57 6f c7 > .E.Hell.E.o Wo.< 0001740 45 fc 72 6c 64 00 c7 45 e7 63 6c 61 76 c7 45 eb >E.rld..E.clav.E.< 0001760 65 73 65 63 c7 45 ef 72 65 74 61 c6 45 f3 00 b8 >esec.E.reta.E...< 0002000 00 00 00 00 c9 c3 66 90 66 90 66 90 66 90 66 90 >..f.f.f.f.f.< (...) Decididamente no es un buen sitio para guardar unas credenciales salvo que las cifres por ejemplo, en cuyo caso... ¿para que hacer dependiente esto de la compilación del programa?. > > >>> > >>> Se supone que el software debería tener acceso a la base de datos. Si > >>> puede hacer lo que quiera es un sí, aunque dudo importe demasiado la > >>> respuesta a esta pregunta. > >>> > >>> Entonces como lo hacen softwares como algunos Adobe, donde debes > >>> iniciar sesión para ocupar varios de sus productos? Con HTTP? > >> > >> > >> Como te indicaba en otra respuesta, centra la seguridad en la base de > >> datos y el servidor. Una opción es esta, enviar por htp, o mejor aún por > >> https, emplear sockets, etc, una solicitud de acceso al servidor, con un > >> usuario y contraseña. Desde el servidor, se realiza una conexión a la base > >> de datos, con los datos almacenados de dicha conexión en el servidor, y > >> autenticar al usuario. Una vez que lo has autenticado, puedes devolver un > >> tokken de conexión que valide las comunicaciones realizadas entre ese > >> usuario y el servidor a través de la aplicación. Esto, si te fijas, es > >> igual > >> que cuando accedes a un servicio web introduciendo tu usuario y contraseña > >> desde un navegador web. > >> > > > > Si lo que quieres es una aplicación cliente-servidor, donde el cliente se > > ejecute desde la estación como una aplicación instalable, y además requieres > > (tus argumentos tendrás para ello) que se use conexiones a la Base de Datos > > Mis argumentos? Suponiendo que tengo 50 mil personas distintas con el > software instalado, tendré 50 mil usuarios en la base de datos... no > crees que eso es demasiado? > > No hablo de columnas de una tabla, sino de usuarios de la base de datos... > > > mediante un único usuario, mi recomendación es mediar con una capa entre el > > cliente y la BD que exponga la interfaz que deseas que conozca el cliente. > > Dicha capa se encargará de la funcionalidad, la autenticación y la seguridad > > entre otros, y allí implementar el protocolo que más convenga. > > > > La comunicación con la base de datos quedará bajo este "Middleware", y > > podrás protegerle mediante firewall u otras medidas, dependiendo de tus > > recursos y arquitectura. > > > > Varios lenguajes tienen facilidades para crear estos componentes, exponiendo > > mediante "buses de servicio" u otros elementos, un API. Pu
Re: Entorno antiguo.
El 10 de febrero de 2016, 6:29, Jose Luis Quiroga Rodriguez escribió: > Estimados amigos > Os envío este correo por que ando buscando como loco un antiguo entorno de > escritorio de allá a mediados de los 90. Básicamente era de estilo gótico y > negro, muy bien decorado y precioso, no prosperó debido a que por aquel > entonces las máquinas eran muy lentas. > A ver si me podéis echar una mano. > Un grato saludo debianita. > Yo utilicé por mucho tiempo un entorno llamado Ion [1], el cual conocí el 2004 en un encuentro Linux desarrollado en Chile, y era utilizado por el entonces líder del proyecto Debian, Martin Michlmayr. Lo encontraba muy sencillo y útil, y si no estuviera abandonado, lo seguiría utilizando :-( ¿Será ese? [1] http://tuomov.iki.fi/software/ -- Luis Eduardo Arevalo ReyesUser #354770 http://linuxcounter.net Fono +56 9 54012831 http://www.luchox.cl
Re: [OFF] Lenguajes de programación para escritorio
El día 11 de febrero de 2016, 10:14, German Cardozo escribió: > > On Feb 11, 2016 7:38 AM, "Rafael Cantos Villanueva" > wrote: >> >> Saludos >> >> Rafa >> >> >> >> El 11/02/2016 a las 12:28, alparkom . escribió: >>> >>> El día 11 de febrero de 2016, 8:01, Luis Felipe Tabera Alonso >>> escribió: On Thursday 11 February 2016 07:33:51 alparkom . wrote: > > Explicado de forma simple; si hago una conexión en Java, el archivo > .java tendrá los datos de conexión (en caso de usar MariaDB, se > debería escribir en el .java la dirección del servidor, el usuario de > MariaDB, la contraseña del mismo y el puerto usado)... entonces, que > pasa si descompila dicho el .class que genera Java? Lo estás haciendo mal, si el programa tiene todos esos datos 'tal cual', te va a dar igual el lenguaje de programación, compilado o no. Un usuario malicioso podrá obtenerlos. ¿Quién se supone que tiene acceso a la BD? ¿Solo usuarios? ¿Solo el programa? El usuario/programa que acceda a la BD ¿Puede hacer con ella lo que quiera? ¿debería poder? >>> >>> Se supone que C++ es compilado a código máquina, y es imposible >>> obtener el código de este lenguaje una vez compilado por lo que no >>> podrían obtener los datos. >> >> >> Te equivocas, yo te lo vuelvo a repetir. Da igual que el programa sea >> compilado o no, se puede descompilar igualmente y acceder a los datos. >> > > +1 > Vale. Eso es ingeniería inversa, no? También quiero aprender eso, suena interesante. >>> >>> Se supone que el software debería tener acceso a la base de datos. Si >>> puede hacer lo que quiera es un sí, aunque dudo importe demasiado la >>> respuesta a esta pregunta. >>> >>> Entonces como lo hacen softwares como algunos Adobe, donde debes >>> iniciar sesión para ocupar varios de sus productos? Con HTTP? >> >> >> Como te indicaba en otra respuesta, centra la seguridad en la base de >> datos y el servidor. Una opción es esta, enviar por htp, o mejor aún por >> https, emplear sockets, etc, una solicitud de acceso al servidor, con un >> usuario y contraseña. Desde el servidor, se realiza una conexión a la base >> de datos, con los datos almacenados de dicha conexión en el servidor, y >> autenticar al usuario. Una vez que lo has autenticado, puedes devolver un >> tokken de conexión que valide las comunicaciones realizadas entre ese >> usuario y el servidor a través de la aplicación. Esto, si te fijas, es igual >> que cuando accedes a un servicio web introduciendo tu usuario y contraseña >> desde un navegador web. >> > > Si lo que quieres es una aplicación cliente-servidor, donde el cliente se > ejecute desde la estación como una aplicación instalable, y además requieres > (tus argumentos tendrás para ello) que se use conexiones a la Base de Datos Mis argumentos? Suponiendo que tengo 50 mil personas distintas con el software instalado, tendré 50 mil usuarios en la base de datos... no crees que eso es demasiado? No hablo de columnas de una tabla, sino de usuarios de la base de datos... > mediante un único usuario, mi recomendación es mediar con una capa entre el > cliente y la BD que exponga la interfaz que deseas que conozca el cliente. > Dicha capa se encargará de la funcionalidad, la autenticación y la seguridad > entre otros, y allí implementar el protocolo que más convenga. > > La comunicación con la base de datos quedará bajo este "Middleware", y > podrás protegerle mediante firewall u otras medidas, dependiendo de tus > recursos y arquitectura. > > Varios lenguajes tienen facilidades para crear estos componentes, exponiendo > mediante "buses de servicio" u otros elementos, un API. Puedes desarrollar > además uno propio, pero todo dependerá del alcance propuesto para la > aplicación, como por ejemplo, hacer uso de estándares como SOA. Estas > tecnologías no son exclusivas de los servicios WEB, aunque su uso este más > extendido en ese campo. > > Con este componente mediando entre tus clientes y el modelo de datos, puedes > desacoplar el desarrollo de este, haciendo uso incluso de un lenguaje de > programación distinto al usado en el servidor, y disponer de clientes para > diferentes sistemas operativos, dispositivos o situaciones como > requerimientos de accesibilidad. > > Siempre encontrarás problemas de seguridad a resolver, pero todo dependerá > de los requerimientos exigidos y hasta donde estés dispuesto a ceder y > tolerar. Vale. Veo que ni un solo lenguaje haría lo que yo quiero (aunque pensándolo bien, era obvio). La solución creo que será que el cliente tenga una base de datos propia y que cada cierto tiempo se compare con la del servidor y se actualicen unas a otras. Entonces, conectar C++, Java, entre otros, a bases de datos como MySQL o MariaDB, no sirve de mucho? Excluyendo a SQLite obviamente.
Re: [OFF] Lenguajes de programación para escritorio
On Feb 11, 2016 7:38 AM, "Rafael Cantos Villanueva" wrote: > > Saludos > > Rafa > > > > El 11/02/2016 a las 12:28, alparkom . escribió: >> >> El día 11 de febrero de 2016, 8:01, Luis Felipe Tabera Alonso >> escribió: >>> >>> On Thursday 11 February 2016 07:33:51 alparkom . wrote: Explicado de forma simple; si hago una conexión en Java, el archivo .java tendrá los datos de conexión (en caso de usar MariaDB, se debería escribir en el .java la dirección del servidor, el usuario de MariaDB, la contraseña del mismo y el puerto usado)... entonces, que pasa si descompila dicho el .class que genera Java? >>> >>> >>> Lo estás haciendo mal, si el programa tiene todos esos datos 'tal cual', te va >>> a dar igual el lenguaje de programación, compilado o no. Un usuario malicioso >>> podrá obtenerlos. ¿Quién se supone que tiene acceso a la BD? ¿Solo usuarios? >>> ¿Solo el programa? El usuario/programa que acceda a la BD ¿Puede hacer con >>> ella lo que quiera? ¿debería poder? >>> >> >> Se supone que C++ es compilado a código máquina, y es imposible >> obtener el código de este lenguaje una vez compilado por lo que no >> podrían obtener los datos. > > > Te equivocas, yo te lo vuelvo a repetir. Da igual que el programa sea compilado o no, se puede descompilar igualmente y acceder a los datos. > +1 >> >> Se supone que el software debería tener acceso a la base de datos. Si >> puede hacer lo que quiera es un sí, aunque dudo importe demasiado la >> respuesta a esta pregunta. >> >> Entonces como lo hacen softwares como algunos Adobe, donde debes >> iniciar sesión para ocupar varios de sus productos? Con HTTP? > > > Como te indicaba en otra respuesta, centra la seguridad en la base de datos y el servidor. Una opción es esta, enviar por htp, o mejor aún por https, emplear sockets, etc, una solicitud de acceso al servidor, con un usuario y contraseña. Desde el servidor, se realiza una conexión a la base de datos, con los datos almacenados de dicha conexión en el servidor, y autenticar al usuario. Una vez que lo has autenticado, puedes devolver un tokken de conexión que valide las comunicaciones realizadas entre ese usuario y el servidor a través de la aplicación. Esto, si te fijas, es igual que cuando accedes a un servicio web introduciendo tu usuario y contraseña desde un navegador web. > Si lo que quieres es una aplicación cliente-servidor, donde el cliente se ejecute desde la estación como una aplicación instalable, y además requieres (tus argumentos tendrás para ello) que se use conexiones a la Base de Datos mediante un único usuario, mi recomendación es mediar con una capa entre el cliente y la BD que exponga la interfaz que deseas que conozca el cliente. Dicha capa se encargará de la funcionalidad, la autenticación y la seguridad entre otros, y allí implementar el protocolo que más convenga. La comunicación con la base de datos quedará bajo este "Middleware", y podrás protegerle mediante firewall u otras medidas, dependiendo de tus recursos y arquitectura. Varios lenguajes tienen facilidades para crear estos componentes, exponiendo mediante "buses de servicio" u otros elementos, un API. Puedes desarrollar además uno propio, pero todo dependerá del alcance propuesto para la aplicación, como por ejemplo, hacer uso de estándares como SOA. Estas tecnologías no son exclusivas de los servicios WEB, aunque su uso este más extendido en ese campo. Con este componente mediando entre tus clientes y el modelo de datos, puedes desacoplar el desarrollo de este, haciendo uso incluso de un lenguaje de programación distinto al usado en el servidor, y disponer de clientes para diferentes sistemas operativos, dispositivos o situaciones como requerimientos de accesibilidad. Siempre encontrarás problemas de seguridad a resolver, pero todo dependerá de los requerimientos exigidos y hasta donde estés dispuesto a ceder y tolerar.
Re: [OFF] Lenguajes de programación para escritorio
Saludos Rafa El 11/02/2016 a las 12:28, alparkom . escribió: El día 11 de febrero de 2016, 8:01, Luis Felipe Tabera Alonso escribió: On Thursday 11 February 2016 07:33:51 alparkom . wrote: Explicado de forma simple; si hago una conexión en Java, el archivo .java tendrá los datos de conexión (en caso de usar MariaDB, se debería escribir en el .java la dirección del servidor, el usuario de MariaDB, la contraseña del mismo y el puerto usado)... entonces, que pasa si descompila dicho el .class que genera Java? Lo estás haciendo mal, si el programa tiene todos esos datos 'tal cual', te va a dar igual el lenguaje de programación, compilado o no. Un usuario malicioso podrá obtenerlos. ¿Quién se supone que tiene acceso a la BD? ¿Solo usuarios? ¿Solo el programa? El usuario/programa que acceda a la BD ¿Puede hacer con ella lo que quiera? ¿debería poder? Se supone que C++ es compilado a código máquina, y es imposible obtener el código de este lenguaje una vez compilado por lo que no podrían obtener los datos. Te equivocas, yo te lo vuelvo a repetir. Da igual que el programa sea compilado o no, se puede descompilar igualmente y acceder a los datos. Se supone que el software debería tener acceso a la base de datos. Si puede hacer lo que quiera es un sí, aunque dudo importe demasiado la respuesta a esta pregunta. Entonces como lo hacen softwares como algunos Adobe, donde debes iniciar sesión para ocupar varios de sus productos? Con HTTP? Como te indicaba en otra respuesta, centra la seguridad en la base de datos y el servidor. Una opción es esta, enviar por htp, o mejor aún por https, emplear sockets, etc, una solicitud de acceso al servidor, con un usuario y contraseña. Desde el servidor, se realiza una conexión a la base de datos, con los datos almacenados de dicha conexión en el servidor, y autenticar al usuario. Una vez que lo has autenticado, puedes devolver un tokken de conexión que valide las comunicaciones realizadas entre ese usuario y el servidor a través de la aplicación. Esto, si te fijas, es igual que cuando accedes a un servicio web introduciendo tu usuario y contraseña desde un navegador web. Luis --- El software de antivirus Avast ha analizado este correo electrónico en busca de virus. https://www.avast.com/antivirus
Re: [OFF] Lenguajes de programación para escritorio
El 11/02/2016 a las 12:01, Luis Felipe Tabera Alonso escribió: On Thursday 11 February 2016 07:33:51 alparkom . wrote: Explicado de forma simple; si hago una conexión en Java, el archivo .java tendrá los datos de conexión (en caso de usar MariaDB, se debería escribir en el .java la dirección del servidor, el usuario de MariaDB, la contraseña del mismo y el puerto usado)... entonces, que pasa si descompila dicho el .class que genera Java? Lo estás haciendo mal, si el programa tiene todos esos datos 'tal cual', te va a dar igual el lenguaje de programación, compilado o no. Un usuario malicioso podrá obtenerlos. ¿Quién se supone que tiene acceso a la BD? ¿Solo usuarios? ¿Solo el programa? El usuario/programa que acceda a la BD ¿Puede hacer con ella lo que quiera? ¿debería poder? Luis Efectivamente Luís, es lo que he querido transmitirle, que aunque sea compilado el programa, un usuario malicioso puede llegar hasta los datos, por mucho que él haga, y que los esfuerzos tiene que centrarlos en la base de datos. Alparkom, he entendido perfectamente lo que quieres decir, desde un principio. Creo que el que no lo ha comprendido bien eres tú. Por mucho que hagas, se puede llegar a los datos. Existen formas de descompilar programas compilados, como es C++. La seguridad tienes que hacerla en la base de datos en el servidor, de forma que el acceso sea por usuarios, para empezar. Cada instancia de la aplicación, instaladas en distintos ordenadores, debes hacerla con acceso de usuario y contraseña, el cuál es un usuario y contraseña distinto al usuario y contraseña de la base de datos. Si algún usuario malintencionado obtiene los datos de conexión de la bd, solo puedes asegurar los datos haciendo copias de seguridad, por ejemplo, diarias. El problema que planteas es hacer inaccesibles los datos de conexión desde una aplicación de escritorio. Y la respuesta es que, por mucho que hagas y quieras, si un usuario malintencionado con los conocimientos necesarios quiere obtener los datos de conexión, lo va a hacer. Por eso te digo que tienes que centrar la seguridad en la base de datos, en el servidor, y realizar copias diarias de la base de datos. Por otra parte, la accesibilidad no sólo depende del programador, sino de que el lenguaje de programación, y más concrétamente la librería gráfica que utilices, proporcione los métodos necesarios para lograr este fin. Y en este sentido, java es de los lenguajes de programación que crean más problemas de accesibilidad, y por lo que lo descarto para software de escritorio. Genera problemas en sistemas Windows o Linux, a este respecto, pero sin embargo Android utiliza este lenguaje y las aplicaciones son accesibles, si se hacen bien, porque la interfaz gráfica de usuario no es java. Otra cuestión que tienes que tener en cuenta, es que ya uses python, C++ u otro lenguaje, para implementar una aplicación con interfaz gráfica de usuario (esto es, con ventanas, botones, etc), tendrás que utilizar una librería gráfica, ya sea GTK, QT, Wx, etc. Los lenguajes de programación tienen sus bindings para poder usar dichas librerías. Así por ejemplo, python tiene pygtk, para gek, pyqt, para qt, pywx, para wx, etc. Estas librerías son paquetes complementarios que tienes que instalar, aparte de las herramientas propias de python. Y cuando hablo de python, como en el ejemplo, sucede lo mismo para otros lenguajes como C++, pues esto no depende del lenguaje en sí. --- El software de antivirus Avast ha analizado este correo electrónico en busca de virus. https://www.avast.com/antivirus
Re: [OFF] Lenguajes de programación para escritorio
El día 11 de febrero de 2016, 8:01, Luis Felipe Tabera Alonso escribió: > On Thursday 11 February 2016 07:33:51 alparkom . wrote: >> Explicado de forma simple; si hago una conexión en Java, el archivo >> .java tendrá los datos de conexión (en caso de usar MariaDB, se >> debería escribir en el .java la dirección del servidor, el usuario de >> MariaDB, la contraseña del mismo y el puerto usado)... entonces, que >> pasa si descompila dicho el .class que genera Java? > > Lo estás haciendo mal, si el programa tiene todos esos datos 'tal cual', te va > a dar igual el lenguaje de programación, compilado o no. Un usuario malicioso > podrá obtenerlos. ¿Quién se supone que tiene acceso a la BD? ¿Solo usuarios? > ¿Solo el programa? El usuario/programa que acceda a la BD ¿Puede hacer con > ella lo que quiera? ¿debería poder? > Se supone que C++ es compilado a código máquina, y es imposible obtener el código de este lenguaje una vez compilado por lo que no podrían obtener los datos. Se supone que el software debería tener acceso a la base de datos. Si puede hacer lo que quiera es un sí, aunque dudo importe demasiado la respuesta a esta pregunta. Entonces como lo hacen softwares como algunos Adobe, donde debes iniciar sesión para ocupar varios de sus productos? Con HTTP? > Luis >
Re: [OFF] Lenguajes de programación para escritorio
On Thursday 11 February 2016 07:33:51 alparkom . wrote: > Explicado de forma simple; si hago una conexión en Java, el archivo > .java tendrá los datos de conexión (en caso de usar MariaDB, se > debería escribir en el .java la dirección del servidor, el usuario de > MariaDB, la contraseña del mismo y el puerto usado)... entonces, que > pasa si descompila dicho el .class que genera Java? Lo estás haciendo mal, si el programa tiene todos esos datos 'tal cual', te va a dar igual el lenguaje de programación, compilado o no. Un usuario malicioso podrá obtenerlos. ¿Quién se supone que tiene acceso a la BD? ¿Solo usuarios? ¿Solo el programa? El usuario/programa que acceda a la BD ¿Puede hacer con ella lo que quiera? ¿debería poder? Luis
Re: [OFF] Lenguajes de programación para escritorio
El día 11 de febrero de 2016, 7:17, Rafael Cantos Villanueva escribió: > Buenas. > > Lo primero de todo, es diferenciar entre dos cosas bien diferentes: por un > lado, los datos y el código de la aplicación, y por otra, el tipo de > lenguaje, interpretado o compilado. > Antes de seguir por este camino, y a pesar de que algunos me puedan llevar > la contraria, te descarto ya java como lenguaje para crear programas de > escritorio. Y te lo descarto tan simplemente porque crear programas > accesibles (esto es, que puedan utilizarlo personas con algún tipo de > discapacidad, y más concretamente la visual que es la mía) para personas > ciegas es un follón, aunque se supone que hay alguna posibilidad, no suelen > serlo. > Bien, volviendo a la discusión previa, cuando programas, debes separar los > datos de las instrucciones del código. En este sentido, puedes tener un > programa implementado en un lenguaje interpretado, como python, y los datos > almacenarlos en un archivo binario. Por ejemplo, python, que es el lenguaje > que yo utilicé para desarrollar una aplicación de lectura de audiolibros > llamada DBR, cuenta con una biblioteca llamada pickle que te permite > almacenar datos de forma binaria con la estructura del objeto que tú desees. > Estos datos no pueden ser accedidos directamente por el usuario, pues no son > legibles. Evidentemente, si alguien obtiene el código de la aplicación, e > implementa un pequeño script basándose en la estructura de los objetos > almacenados en el fichero binario, podrá acceder a la información contenida > en el mismo, pero ya es un poco de trabajo. > Por otra parte, los lenguajes compilados, como C o C++, generan ejecutables > que no son más que archivos binarios. Al igual que en lenguajes > interpretados, como python, puedes almacenar datos en archivos binarios, con > la estructura que tú definas (también podrías almacenarlos en formato de > texto en ambos tipos de lenguajes). Quizás aquí sí sea más complicado (yo > ahora mismo no sé cómo hacerlo) obtener la información almacenada en > ficheros binarios, pues al estar compilado, el código está aparentemente > oculto, y sería más difícil obtener la información relativa a la estructura > de los datos e implementar un programa para obtener la información contenida > en dichos archivos. Y fíjate que no digo que sea imposible, pues existen > programas que descompilan los ejecutables. > Como ves, que el lenguaje sea interpretado o compilado no tiene nada que ver > con la forma en que se almacenan los datos internos de la aplicación. Si lo > que quieres es proteger la base de datos, lo que deberás hacer es crear un > usuario específico en la base de datos para estas conexiones, con > privilegios limitados, y realizar copias de seguridad periódicas para > evitar, en la medida de lo posible, fallos por manipulación incorrecta o > indebida de dichos datos. > Además de lo anterior, podrías generar una conexión de usuario, con inicio > de sesión independiente (usuario y login por cada usuario de la aplicación), > de forma que sepas en todo momento qué usuario es el que entra. Quiero > decir, que la seguridad tienes que enfocarla en el servidor, no tanto en la > aplicación. > Venga, no han entendido lo que quiero. Explicado de forma simple; si hago una conexión en Java, el archivo .java tendrá los datos de conexión (en caso de usar MariaDB, se debería escribir en el .java la dirección del servidor, el usuario de MariaDB, la contraseña del mismo y el puerto usado)... entonces, que pasa si descompila dicho el .class que genera Java? Tendrá los datos de conexión al servidor de MariaDB y podrá hacer con ellos lo que quiere, desde otra aplicación automática que ocupe la base de datos, hasta eliminar toda la base de datos, y todo con una simple Query. Si te referías a que cada "instalación" del software tenga una conexión distinta a la base de datos (de esta forma, si se conecta al servidor y elimina algo, se "auto-perjudicaría") no es una opción. Con respecto a lo de Java, a que te refieres? Se supone que en un software de escritorio, el programador lo hace accesible a las personas con discapacidad, o sin esta. > Saludos > > Rafa > > > El 11/02/2016 a las 4:42, alparkom . escribió: >> >> Buenas chicos; >> >> Estoy interesado en aprender algún lenguaje de programación para crear >> aplicaciones de escritorio. >> >> Estuve leyendo y vi a Java, Python y Ruby como los mas simples sin >> embargo estos lenguajes son interpretados. Osea, lo ideal sería crear >> programas con conexiones a bases de datos externas, por lo que debería >> incluir los datos de dicha conexión. El tema está en que los archivos >> de estos lenguajes quedan en el cliente, prácticamente sin >> modificación, por lo que quien quiera ir y ver los datos de conexión, >> ahí estarán. >> >> Si bien, Java (que ya comencé a programar en el, por cierto) genera >> bytecode, también pude obtener el source de los archivos .class, por >> lo que los datos de conexión se podrían ver. >
Re: [OFF] Lenguajes de programación para escritorio
Buenas. Lo primero de todo, es diferenciar entre dos cosas bien diferentes: por un lado, los datos y el código de la aplicación, y por otra, el tipo de lenguaje, interpretado o compilado. Antes de seguir por este camino, y a pesar de que algunos me puedan llevar la contraria, te descarto ya java como lenguaje para crear programas de escritorio. Y te lo descarto tan simplemente porque crear programas accesibles (esto es, que puedan utilizarlo personas con algún tipo de discapacidad, y más concretamente la visual que es la mía) para personas ciegas es un follón, aunque se supone que hay alguna posibilidad, no suelen serlo. Bien, volviendo a la discusión previa, cuando programas, debes separar los datos de las instrucciones del código. En este sentido, puedes tener un programa implementado en un lenguaje interpretado, como python, y los datos almacenarlos en un archivo binario. Por ejemplo, python, que es el lenguaje que yo utilicé para desarrollar una aplicación de lectura de audiolibros llamada DBR, cuenta con una biblioteca llamada pickle que te permite almacenar datos de forma binaria con la estructura del objeto que tú desees. Estos datos no pueden ser accedidos directamente por el usuario, pues no son legibles. Evidentemente, si alguien obtiene el código de la aplicación, e implementa un pequeño script basándose en la estructura de los objetos almacenados en el fichero binario, podrá acceder a la información contenida en el mismo, pero ya es un poco de trabajo. Por otra parte, los lenguajes compilados, como C o C++, generan ejecutables que no son más que archivos binarios. Al igual que en lenguajes interpretados, como python, puedes almacenar datos en archivos binarios, con la estructura que tú definas (también podrías almacenarlos en formato de texto en ambos tipos de lenguajes). Quizás aquí sí sea más complicado (yo ahora mismo no sé cómo hacerlo) obtener la información almacenada en ficheros binarios, pues al estar compilado, el código está aparentemente oculto, y sería más difícil obtener la información relativa a la estructura de los datos e implementar un programa para obtener la información contenida en dichos archivos. Y fíjate que no digo que sea imposible, pues existen programas que descompilan los ejecutables. Como ves, que el lenguaje sea interpretado o compilado no tiene nada que ver con la forma en que se almacenan los datos internos de la aplicación. Si lo que quieres es proteger la base de datos, lo que deberás hacer es crear un usuario específico en la base de datos para estas conexiones, con privilegios limitados, y realizar copias de seguridad periódicas para evitar, en la medida de lo posible, fallos por manipulación incorrecta o indebida de dichos datos. Además de lo anterior, podrías generar una conexión de usuario, con inicio de sesión independiente (usuario y login por cada usuario de la aplicación), de forma que sepas en todo momento qué usuario es el que entra. Quiero decir, que la seguridad tienes que enfocarla en el servidor, no tanto en la aplicación. Saludos Rafa El 11/02/2016 a las 4:42, alparkom . escribió: Buenas chicos; Estoy interesado en aprender algún lenguaje de programación para crear aplicaciones de escritorio. Estuve leyendo y vi a Java, Python y Ruby como los mas simples sin embargo estos lenguajes son interpretados. Osea, lo ideal sería crear programas con conexiones a bases de datos externas, por lo que debería incluir los datos de dicha conexión. El tema está en que los archivos de estos lenguajes quedan en el cliente, prácticamente sin modificación, por lo que quien quiera ir y ver los datos de conexión, ahí estarán. Si bien, Java (que ya comencé a programar en el, por cierto) genera bytecode, también pude obtener el source de los archivos .class, por lo que los datos de conexión se podrían ver. Python y Ruby son totalmente interpretados (creo, ya que aun no comienzo a programar en ellos). Entonces, que lenguaje serviría para crear aplicaciones de escritorio?, y además permita lo que quiero hacer, osea, conectar bases de datos externas con el software. C++ sirve; de eso estoy seguro (casi). Por cierto, la idea es utilizar ese mismo lenguaje para la conexión... no utilizar recursos externos. --- El software de antivirus Avast ha analizado este correo electrónico en busca de virus. https://www.avast.com/antivirus
Re: [OFF] Lenguajes de programación para escritorio
El día 11 de febrero de 2016, 5:30, Adrià escribió: > On Thu, Feb 11, 2016 at 12:42:22AM -0300, alparkom . wrote: >> Estuve leyendo y vi a Java, Python y Ruby como los mas simples sin >> embargo estos lenguajes son interpretados. Osea, lo ideal sería crear > > Ni creo que Java sea simple (eso ya es opinión personal) y por lo menos > Java y Python se pueden compilar. > Recién comienzo con Java, aunque hasta ahora lo encuentro bastante fácil. En cuanto a "simple" tienes razón, no lo es. Confundí su dificultad con su capacidad. Como dije, Java al compilar queda en bytecode pero pude obtener el código completamente de los sources con cierto programa para descompilar los .class. No entiendes mi idea, o no la expliqué bien. Lo que quiero es poder hacer conexiones a bases de datos de forma segura, osea, si yo le paso un programa en Java a alguien (y dicho programa tiene una conexión a base de datos externa), este "alguien" podrá descompilar el .class y ver los datos de conexión, eso es lo que quiero evitar. >> programas con conexiones a bases de datos externas, por lo que debería >> incluir los datos de dicha conexión. El tema está en que los archivos >> de estos lenguajes quedan en el cliente, prácticamente sin >> modificación, por lo que quien quiera ir y ver los datos de conexión, >> ahí estarán. > > Si la BD no es muy rupestre, cualquier lenguaje actual te ofrecerá las > bibliotecas necesarias para establecer una conexión con la BD. > De eso sin duda. >> Entonces, que lenguaje serviría para crear aplicaciones de >> escritorio?, y además permita lo que quiero hacer, osea, conectar >> bases de datos externas con el software. > > Puedes tener una aplicación que haga el trabajo y otra que lo maquille > (con GTK, QT) para pintar las ventanas. > Como dije al final del primer post, lo ideal es que no hayan intermediarios. >> >> C++ sirve; de eso estoy seguro (casi). > > Sí, sirve. > Este lenguaje es compilado a código máquina (creo) por lo que obtener su código es imposible (también creo), de esta forma los datos de conexión a la base de datos no podrán ser "vistos". >> >> Por cierto, la idea es utilizar ese mismo lenguaje para la conexión... >> no utilizar recursos externos. > > Pues yo te recomiendo la lectura de La Catedral y el Bazar (o algo > así, no recuerdo el nombre exacto, pero lo encontrarás fácilmente; de > Eric S. Raymond). Gracias. > -- > Adrià García-Alzórriz > 0x09494C14 > While your friend holds you affectionately by both your hands you are > safe, for you can watch both of his. > -- Ambrose Bierce, "The Devil's Dictionary"
Re: [OFF] Lenguajes de programación para escritorio
On Thu, Feb 11, 2016 at 12:42:22AM -0300, alparkom . wrote: > Estuve leyendo y vi a Java, Python y Ruby como los mas simples sin > embargo estos lenguajes son interpretados. Osea, lo ideal sería crear Ni creo que Java sea simple (eso ya es opinión personal) y por lo menos Java y Python se pueden compilar. > programas con conexiones a bases de datos externas, por lo que debería > incluir los datos de dicha conexión. El tema está en que los archivos > de estos lenguajes quedan en el cliente, prácticamente sin > modificación, por lo que quien quiera ir y ver los datos de conexión, > ahí estarán. Si la BD no es muy rupestre, cualquier lenguaje actual te ofrecerá las bibliotecas necesarias para establecer una conexión con la BD. > Entonces, que lenguaje serviría para crear aplicaciones de > escritorio?, y además permita lo que quiero hacer, osea, conectar > bases de datos externas con el software. Puedes tener una aplicación que haga el trabajo y otra que lo maquille (con GTK, QT) para pintar las ventanas. > > C++ sirve; de eso estoy seguro (casi). Sí, sirve. > > Por cierto, la idea es utilizar ese mismo lenguaje para la conexión... > no utilizar recursos externos. Pues yo te recomiendo la lectura de La Catedral y el Bazar (o algo así, no recuerdo el nombre exacto, pero lo encontrarás fácilmente; de Eric S. Raymond). -- Adrià García-Alzórriz 0x09494C14 While your friend holds you affectionately by both your hands you are safe, for you can watch both of his. -- Ambrose Bierce, "The Devil's Dictionary" signature.asc Description: PGP signature