Autor Tema: Un Proyecto Especifico de Distribución Libre  (Leído 12623 veces)

0 Usuarios y 4 Visitantes están viendo este tema.

Desconectado realbo

  • -^- Elite Gold -^-
  • The Communiter-
  • **
  • Mensajes: 2720
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #15 : junio 12, 2006, 06:24:14 pm »
Cachimbonisimo... MX... esperare que lo pongas... y mira quitame ese paradigma que tengo de que para entender el JAVA hay que Saber C o C++ o C#... digo porque pareciera que son parecidos... No es de esperar alo asi como Visual Fox o Visua Basic.

La verdad necesito un codigo simple... que corra y me ayude a entender lo basico del JAVA.



Ahora.. con los reportes si es un huevo, pk Java por defecto no trae niguna API de generacion de reportes.

Por lo general tenes que o armarte vos una segun tus necesidades casi desde cero, u optar por alguna solucion de terceros... pero eso ya es $$$ aparte.

te recomiendo iReport junto con Jasper es gratuito y te saca de aguas ese usamos en el trabajo y es 100% hecho en java

iReport
Código: [Seleccionar]
http://ireport.sourceforge.net/
Jasper
Código: [Seleccionar]
http://jasperreports.sourceforge.net/

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #16 : junio 12, 2006, 06:25:23 pm »
Para Java sí es necesario saber lo básico de C, así como lo básico de la programación orientada a objetos.

Nada que ver... java me gusto porque te obliga a aprender programacion orientada a objetos al mismo tiempo que programas.

Y este conocimiento luego facilita otras cosas... como el disenio haciendo uso de UML, o incluso el desarrollo de bases de datos y sus relaciones, casi todo lo puedes representar como Objetos..

Pero bueno es mi punto de vista... un lenguaje orientado a objetos fue lo primero que aprendi, y talvez por eso me sea mas sencillo entender esos conceptos que a alguien que haya aprendido primero un lenguaje "estructurado".

Acordate que quierase o no, los algoritmos mas basicos de funcionamiento siempre tieen algo de programacion estructurada, asi que no creo que sea indispensable saber C para aprender Java


Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #17 : junio 12, 2006, 06:27:23 pm »
te recomiendo iReport junto con Jasper es gratuito y te saca de aguas ese usamos en el trabajo y es 100% hecho en java

iReport
Código: [Seleccionar]
http://ireport.sourceforge.net/
Jasper
Código: [Seleccionar]
http://jasperreports.sourceforge.net/

Esta muy bonito.. ya lo voy a probar jajajaja gracias por la recomendacion  ;)
« Última Modificación: junio 12, 2006, 06:29:19 pm por mxgxw »


Desconectado realbo

  • -^- Elite Gold -^-
  • The Communiter-
  • **
  • Mensajes: 2720
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #18 : junio 12, 2006, 06:29:22 pm »
Para Java sí es necesario saber lo básico de C, así como lo básico de la programación orientada a objetos.

Nada que ver... java me gusto porque te obliga a aprender programacion orientada a objetos al mismo tiempo que programas.

Y este conocimiento luego facilita otras cosas... como el disenio haciendo uso de UML, o incluso el desarrollo de bases de datos y sus relaciones, casi todo lo puedes representar como Objetos..

Pero bueno es mi punto de vista... un lenguaje orientado a objetos fue lo primero que aprendi, y talvez por eso me sea mas sencillo entender esos conceptos que a alguien que haya aprendido primero un lenguaje "estructurado".

Acordate que quierase o no, los algoritmos mas basicos de funcionamiento siempre tieen algo de programacion estructurada, asi que no creo que sea indispensable saber C para aprender Java


totalmente de acuerdo como te digo sicario yo jamas aprendi C para aprender java ese es un mito si es similar pero no es necesario aprenderlo para saber java eso totalmente falso

Desconectado realbo

  • -^- Elite Gold -^-
  • The Communiter-
  • **
  • Mensajes: 2720
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #19 : junio 12, 2006, 06:30:16 pm »
te recomiendo iReport junto con Jasper es gratuito y te saca de aguas ese usamos en el trabajo y es 100% hecho en java

iReport
Código: [Seleccionar]
http://ireport.sourceforge.net/
Jasper
Código: [Seleccionar]
http://jasperreports.sourceforge.net/

Esta muy bonito.. ya lo voy a probar jajajaja gracias por la recomendacion  ;)

probalo esta uva  :thumbsup: es multiplataforma despues te pegare por ahi el manual kreo ke lo tengo  :huh: tengo ke buscarlo

sicario

  • Visitante
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #20 : junio 12, 2006, 06:31:41 pm »
ok.Mx  estare en espera de ese ejemplito que decis... y asi me ire metiendo en ese facinante mundo de JAVA.. Greacias men.. esos son los tipos de aporte que yo entiendo (no como un comuniter que me manda un manual de la Universidad de Navarra ja ja ja) bromas... :thumbsup:

Desconectado realbo

  • -^- Elite Gold -^-
  • The Communiter-
  • **
  • Mensajes: 2720
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #21 : junio 12, 2006, 06:34:56 pm »
(no como un comuniter que me manda un manual de la Universidad de Navarra ja ja ja) bromas... :thumbsup:

 :offtopic: ojala me pidas ayuda

uDocProject

  • Visitante
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #22 : junio 12, 2006, 06:35:22 pm »
No importa cómo sea. Quien aprende un lenguaje al estilo C (C++, Java, Javascript, TCL...), no importa con cuál comience, puede fácilmente dominar el resto de sus derivaciones.

En ese sentido, al aprender cualquiera de esos lenguajes se aprende, no el lenguaje en sí; sino la sintaxis común que existen entre ellos.

sicario

  • Visitante
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #23 : junio 12, 2006, 06:42:44 pm »
Udoproject.... me quedo un poco pensativo con la forma que has aportado en mi post... pues es un poco cohibida en comparación con la informacion que pones en tus Post. Y no es que este yo exigiendo que digas algo aca, sino lo traigo a colacion porque quiero entender tu honda men... porque en tus post no caigo a la cuenta que tipo de programador sos y aunque me parecen interesantes tus aportes... nunca he entendido ni una pisca...y aqui con lo poco que has aportado... lo unico que advierto es que no te gusta ser explicito en lo que comentas... asi como ha sido REALBO o MX que dicen... algo objetivamente.

Seguire esperando mas consejos amigos... se los agradesco.

uDocProject

  • Visitante
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #24 : junio 12, 2006, 06:55:39 pm »
La tarea que se pidió fue mostrar un programa en Java capaz de acceder a una base de datos y generar un reporte, además de documentación abundante que permitiera comprender fácilmente todo lo relacionado.

Ese es un trabajo que tomará tiempo; pero ya que tengo muchos otros proyectos en este momento, debo darle un tiempo parcializado a esta nueva tarea para evitar monopolizar todo el tiempo solamente en eso.

Es necesario pensar primero cómo crear esa aplicación.

Había pensado crear una interfaz para cada tarea (obtención de resultados, generación del reporte, formateo de los datos, despliegue de los datos...) en lugar de una aplicación monolítica. De esa forma esos módulos podrían usarse en cualquier aplicación, sea de escritorio, o sea en un servidor a través de Internet.

Como dije, si este proyecto es realmente importante y si se requiere terminarlo rápidamente necesitaré remuneración o apoyo de modo que se compense el tiempo que se deja de usar en los otros proyectos.

De todas maneras, ya otras personas han apuntado aquí otros proyectos listos para ser usados en un trabajo. Si se requiere de un trabajo serio sin tener que pasar por un tiempo de desarrollo, tal vez la mejor opción sería usar esos paquetes; aunque luego se venga con lo que se ha pedido.

Como he dicho, las bases de datos no son exactamente mi prioridad, aunque si demuestran ser un tema crucial en mi trabajo de documentación sin duda lo incluiré, aún si es necesario desligarse de la plataforma de Java/PHP/etc... y MySQL, etc..., para que sus raíces sean comprendidas y se vuelva más fácil en general.

Por ahora tengo información que se podría calificar como de "core" o central para los elementos más básicos de un programa, específicamente, su documentación y su reimplementación siempre que sea requerida para obtener un código limpio y menos dependiente de un subpaquete de software (compiladores y sus herramientas...), y comprendiendo y exponiendo su lógica.

Desconectado mxgxw

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 5665
  • Starlet - 999cc
    • mxgxw
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #25 : junio 12, 2006, 07:13:08 pm »
Bueno Sicario.. aqui esta el ejemplo que te debia.

Para no hacerte bolas, meti todas las instrucciones dentro del "main", asi que esta bien secuencial el estilo de programacion.

Esta todo comentado..

Solo una informacion extra. La base de datos se llama "test" y accedemos con el usuario "root" que no posee password.

La tabla que consultaremos se llama "ventas", y para obtener el mismo resultado del ejemplo, se puede crear por medio del siguiente script:


ventas.sql:
Código: [Seleccionar]
CREATE TABLE `ventas` (
  `IDProducto` int(5) NOT NULL,
  `Nombre` varchar(255) NOT NULL default '',
  `Cantidad` int(3) NOT NULL
);

insert into `ventas` values('1','Jabon','4'),
 ('2','Churros','2'),
 ('3','Coca Cola','4');

Ahora.. el codigo java

DBTest.java
Código: [Seleccionar]
// Con "import" podemos especificar
// las clases que utilizaremos de las
// librerias. Para este caso Connection
// Statement, y Resultset son Interfaces
// Sin embargo las utilizaremos como
// clases comunes y corrientes.
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;

// Esta es la excepcion que se genera
// si hay algun error de SQL
import java.sql.SQLException;
/**
 *
 * @author mxgxw
 */
public class DBTest {
   
    // Cuando una clase posee una funcion main
    // esta es llamada al iniciarse el programa
    public static void main(String args[]) {
        // Estas son nuestras variables
       
        // Variable de nuestra conexion
        Connection conexion;
       
        // Variable que almacena la consulta
        Statement st;
       
        // Variable que almacena el ResultSet
        ResultSet rs;
       
       
        // Los bloques try permiten ejecutar un codigo
        // que podria lanzar excepciones.
        // Las excepciones son por lo general errores
        // que se generan en el tiempo de ejecucion
        try {
            // Cargando el driver MySQL Connector/J
            Class.forName("com.mysql.jdbc.Driver").newInstance();
           
            // El bloque catch se encarga de atrapar las
            // excepciones, y ejecutar codigo correspondiente
            // de recuperacion, o simplemente informarnos
            // del error como en este ejemplo.
        } catch (Exception ex) {
            // Si se da algun error en la carga del driver
            // como por ejemplo si no se encuentra.
            // Se ejecutara el codigo dentro de estas llaves.
            System.out.println("Error cargando el driver " +
                    "MySQL Connector/J");
        }
       
       
        // Aunque se podria meter todo el codigo dentro de un bloque
        // try grandote, no es recomendable, ya que se pueden generar
        // distintos tipos de excepciones o errores, y posiblemente
        // nos interese saber informacion acerca del error que se
        // produjo.
        try {
            // Conexion a la base de datos:
            conexion = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=");
           
            // Creamos la consulta utilizando nuestra conexion
            // Como Statement es una interface no puede ser
            // creada directamente.
            st = conexion.createStatement();
           
            // Ejecutamos la consulta con la funcion "executeQuery"
            // y el ResultSet que se devuelve se almacena en rs
            rs = st.executeQuery("SELECT IDProducto,Nombre,Cantidad FROM ventas");
           
            // Para mostrar los resultados
            // haremos uso de un ciclo while
            // Mientras podamos desplazarnos a la
            // siguiente fila, mostraremos los datos.
            int i = 1;
            while(rs.next()) {
                // Numero de fila
                System.out.print(""+rs.getRow()+": ");
                // Imprime IDProducto (int)
                System.out.print(""+rs.getInt("IDProducto")+" ");
                // Imprime Nombre (String)
                System.out.print(""+rs.getString("Nombre")+" ");
                // Imprime Cantidad (int)
                System.out.println(""+rs.getInt("Cantidad"));
            }
           
            // Liberamos el ResultSet
            // Si se van a realizar muchisimas consultas
            // esto ayuda a conservar recursos de memoria
            rs.close();
        } catch (SQLException ex) {
            // Mostramos la informacion del error
            System.out.println("SQLException: " + ex.getMessage());
            System.out.println("SQLState: " + ex.getSQLState());
            System.out.println("VendorError: " + ex.getErrorCode());
           
        }
    }
}

La salida del programa deberia ser la siguiente:

Código: [Seleccionar]
1: 1 Jabon 4
2: 2 Churros 2
3: 3 Coca Cola 4


Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #26 : junio 12, 2006, 08:50:25 pm »
interesantisimo tema , lo he leido todo , esperaba llegar poco a poco a encontrame con que se estuvieran poniendo de acuerdo los que usan java para crear un tutorial de como ir armando una aplicacion poco a poco que tuviera como finalidad hacer lo que sicario pidido en su primer post y no es paja que se podria incluso separar del foro y hacerlo un tuto directamente de svcommunity, tal vez se ponen de acuerdo y lo van creando poco a poco  :thumbsup:

yo me apunto de 1 de la lectura posterior  :)

udocproject
a cosas como estas quizas podrias dedicarle tiempo en hacer un tuto con imagenes y toda la paja creo que si recibirias comentarios positivos de algo que le interesa a muchos aprender y que si seria muy funcional y creo que no te criticarian tanto como tus pasados posts.

uDocProject

  • Visitante
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #27 : junio 12, 2006, 09:05:38 pm »
No tengo ningún problema con las críticas; estoy consciente de lo que necesito lograr, y también de que hay muchas tareas que no están directamente dentro de mi contexto, pero eso no significa que no vaya a atenderlas cuando lo necesito.

Por poner un ejemplo, esta tarea que me han dado podría decir que está fuera de contexto de lo que comúnmente atiendo. Si me dicen que use una base de datos para crear una aplicación puedo hacerlo; pero ya que ese no es mi oficio específico intento evitar esa y cualquier otra tarea similar de programación.

Pero si me dicen que cree una aplicación con su propio pequeño motor de base de datos integrado (para ahorrar recursos, prescindir de conectarse a una base de datos y explicar los conceptos de bases de datos) entonces sí está más cerca de mi contexto de acción, y me dedicaría más fácilmente a esa tarea.

Con respecto a lo de crear un tutorial de este tema, en lo personal me parece bien; pero también me gustaría que se hablara de temas que van más allá de la simple creación y manejo de las bases de datos; es decir, algo que sea aplicado y que resulte más económico en recursos que las aplicaciones usuales. Ese es el enfoque que trato de darle a todos mis trabajos.

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #28 : junio 12, 2006, 09:11:53 pm »
mira man disculpamelo que te lo diga tal vez esta mal decirte lo que voy ahorita porque en ningun momento quiero limitar tus capacidades de lo que podes hacer o lo que queres llegar hacer en tu vida , si asi fuera que alguien que tiene la capacidad de hacer algo se dejara llevar por los comentarios de los demas que tal vez piensan que no lo puede hacer habrian muchos software con los que no contariamos.

Pero en realidad no se en que capacidades estas de desarrollar un gestor de base de datos que comentas en tu post anterior que pueda competir con los gestores de base de datos de la actualidad, y cual seria la posibilidad que tu creacion fuera mejor o un par a los que ya se encuentran. Y tambien en la posibilidad de las personas utilizaran tu software y que tan fiable seria implementarlo en una aplicacion de media o larga escala.

Es como que me dijeras que aparte de crear un gestor de base de datos , vas a crear tambien el lenguaje en el que vas a progaramar tu aplicacion, lo siento por la desconfianza pero hasta el momento no creo que aqui cerca ande una persona con estas capacidades de desarrollo y no es que desconfie de la capacidad de las personas sino mas bien de el nivel de educacion de por estos rumbos.

p.d.
si vamos hablar de esto seria bueno hacerlo en otro tema para no arruinar el rumbo que este lleva.

Desconectado NoeL

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 3257
    • SvCommunity
Re: Un Proyecto Especifico de Distribución Libre
« Respuesta #29 : junio 12, 2006, 10:53:53 pm »
He leido todo el tema y me parece super interesante el tuto, en realidad leyendo los ejemplos me doy cuenta que Java en realidad no esta lejos de la sintaxis que utiliza C++ es mas la logica al momento de crear un objeto conection y al momento de mostrar las excepciones con el comando Try y catch son muy parecidas a C++ creo que daria igual si aprendes primero Java o C++ el orden de los factores no altera el producto y si aprendes esa sintaxis basica no costaria aprenderse por ahi otros lenguajes, por otra parte me parece super interesante que le dieramos un enfoque como el que plantea el rdoggsv de crear el tuto ojala mx y realbo lo piensen, por cierto deberiamos crear grupos para desarrollar algunos tutos aplicados a la realidas....