User Tag List

Página 11 de 17 PrimerPrimer ... 789101112131415 ... ÚltimoÚltimo
Resultados 151 al 165 de 245

Tema: Ayuda con problemilla básico de Arrays JAVA (SPOILER: Soy muy malo)

  1. #151

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    6,160
    Mencionado
    175 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,848
    Agradecer Thanks Received 
    2,378
    Thanked in
    Agradecido 1,309 veces en [ARG:2 UNDEFINED] posts
    En principio la implementación es libre mientras se respete el modelo y funcione como es debido, en la práctica en estos casos hemos utilizado monitores que gestionan el resto de hilos, una baliza en un parking, el típico problema del puente de Duero... Por el enunciado interpreto que cada persona es un hilo y que el circuito controla el acceso de estos, la sala de espera será una cola con capacidad máxima. Lo más parecido que he hecho creo que es esto para el ejercicio del puente de Duero (que ya me parece un pooto milagro para el nivel que tenemos):

    Spoiler: Ver

    Código:
    package ud4ejerProp3spl;
    
    import java.util.Random;
    
    /**
     *
     * @author SPL
     */
    public class Coche extends Thread{
        private final int IZQ = 0;
        private final int DER = 1;
        private int sentido;
        private static int  n = 0;
        Monitor monitor;
        private int id;
        
        
        public Coche(Monitor monitor){
            n++;
            id = n;
            this.monitor = monitor;
        }
        
        @Override
        public void run(){
            try {
                sleep((long) ((new Random()).nextInt(80000)));
                this.sentido = (new Random()).nextInt(2); //0 o 1
                if (sentido==IZQ) {
                    puenteporlaIzq();
                }else if (sentido==DER) {
                    puenteporlaDer();
                }else{
                    System.out.println("Error, el coche se ha generado en un sentido no válido");
                }
            } catch (InterruptedException e) {
                System.out.println("Error "+e);
            }
        }
        private void puenteporlaIzq(){
            try {
                monitor.llegacocheIzq(id);
                monitor.pasacocheIzq(id);
                sleep(100);
                monitor.salecocheIzq(id);
            } catch (InterruptedException e) {
                System.out.println("Error " + e);
            }
        }
        private void puenteporlaDer(){
            try {
                monitor.llegacocheDer(id);
                monitor.pasacocheDer(id);
                sleep(100);
                monitor.salecocheDer(id);
            } catch (InterruptedException e) {
                System.out.println("Error " + e);
            }
        }
    }
    Código:
    package ud4ejerProp3spl;
    
    import javax.imageio.IIOImage;
    
    /**
     *
     * @author SPL
     */
    public class Monitor {
        private final int DER=1;
        private final int IZQ=0;
        private final int NONE=-1;
        private final int MAXSEGUIDOS =1;
        private final int CAPACIDAD = 1;
        
        private int colaCochesIzq;
        private int colaCochesDer;
        private int cochesPuenteIzq;
        private int cochesPuenteDer;
        
        int turno;
        int seguidos;
        int ocupacion;
        Monitor monIzq;
        Monitor monDer;
        
        
        public Monitor(){
            colaCochesDer = colaCochesIzq = 0;
            cochesPuenteDer = cochesPuenteIzq = 0;
            turno = NONE;
            seguidos = 0;
            ocupacion = 0;
        }
        //constructor parametrizado II
        public Monitor(Monitor izq,Monitor der){
            this();
            this.monDer = der;
            this.monIzq = izq;
        }
        
        public synchronized void llegacocheIzq(int id){
            System.out.println("El coche "+id+" llega a la cola (izquierda)");
            colaCochesIzq++;
        }
        public synchronized void llegacocheDer(int id){
            System.out.println("El coche "+id+" llega a la cola (derecha)");
            colaCochesDer++;
        }
        public synchronized void salecocheIzq(int id){
            System.out.println("El coche "+id+" sale del puente (izquierda)");
            boolean ultimo = false;
            cochesPuenteIzq--;
            ocupacion--;
            if (ocupacion==0) {
                ultimo = true;
            }
            if (cochesPuenteIzq==0) {
                if (cochesPuenteDer > 0) {
                    turno = DER;
                }else{
                    turno= NONE;
                  
                }
                if(seguidos==MAXSEGUIDOS){
                    seguidos=0;
                }
            }
            if ((turno==IZQ || turno==NONE) && seguidos<MAXSEGUIDOS && !ultimo && ocupacion < CAPACIDAD){
                despertarIzq();
            }else if (ultimo && turno==DER) {
                despertarDer();
            }
        }
        public synchronized void salecocheDer(int id){
            System.out.println("El coche "+id+" sale del puente (derecha)");
            boolean ultimo = false;
            cochesPuenteDer--;
            ocupacion--;
            if (ocupacion==0) {
                ultimo = true;
            }
            if (cochesPuenteDer==0) {
                if (cochesPuenteIzq > 0) {
                    turno = IZQ;
                }else{
                    turno= NONE;
                  
                }
                if(seguidos==MAXSEGUIDOS){
                    seguidos=0;
                }
            }
            if ((turno==DER || turno==NONE) && seguidos<MAXSEGUIDOS && !ultimo && ocupacion < CAPACIDAD){
                despertarDer();
            }else if (ultimo && turno==IZQ) {
                despertarIzq();
            }
        }
        private synchronized void despertarDer(){
            try {
                this.monDer.notify();
            } catch (Exception e) {
            }
        }
        private synchronized void despertarIzq(){
            try {
                this.monIzq.notify();
            } catch (Exception e) {
            }
        }
        public synchronized void pasacocheIzq(int id){
            try {
                if (turno == DER || seguidos >= MAXSEGUIDOS || ocupacion >= CAPACIDAD) {
                    monIzq.wait();
                }
                turno = IZQ;
                System.out.println("El coche " +id+ " está cruzando el puente (izquierda)");
                cochesPuenteIzq++;
                ocupacion++;
                System.out.println("Ocupación del puente: " + ocupacion + "/" +CAPACIDAD);
                
                colaCochesIzq--; //se quita de la cola
                if (colaCochesDer>0) {
                    seguidos++;
                }
                System.out.println("Coches seguidos mientras en DERECHA esperan: " +seguidos+ "/" + MAXSEGUIDOS);
            } catch (InterruptedException e) {
                System.out.println("Error" + e);
            }catch (IllegalMonitorStateException e){
                
            }
        }
        public  synchronized void pasacocheDer(int id){
            try {
                if (turno == IZQ || seguidos >= MAXSEGUIDOS || ocupacion >= CAPACIDAD) {
                    monDer.wait();
                }
                turno = DER;
                System.out.println("El coche " +id+ " está cruzando el puente (derecha)");
                cochesPuenteDer++;
                ocupacion++;
                System.out.println("Ocupación del puente: " + ocupacion + "/" +CAPACIDAD);
                
                colaCochesDer--; //se quita de la cola
                if (colaCochesIzq>0) {
                    seguidos++;
                }
                System.out.println("Coches seguidos mientras en IZQUIERDA esperan: " +seguidos+ "/" + MAXSEGUIDOS);
            } catch (InterruptedException e) {
                System.out.println("Error" + e);
            }catch (IllegalMonitorStateException e){
                
            }
        }
    }
    Código:
    package ud4ejerProp3spl;
    
    /**
     *
     * @author SPL
     */
    public class UD4EjerProp32SPL {
        static int numcoches = 10;
    
        public static void main(String[] args) {
    
            Monitor auxIzq = new Monitor();
            Monitor auxDer = new Monitor();
            Monitor puente = new Monitor(auxIzq,auxDer);
            
            Coche aux;
            
            for (int i = 0; i < numcoches; i++) {
                aux = new Coche(puente);
                aux.start();
            }
        }
    
    }


    A la gente con experiencia, os parece algo sencillo para un (unos) estudiante/s novatillo/s? Sed sinceros, no va a doler.
    Última edición por selecter25; 21/11/2022 a las 22:00

  2. #152

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    7,561
    Mencionado
    47 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,668
    Agradecer Thanks Received 
    1,922
    Thanked in
    Agradecido 1,289 veces en [ARG:2 UNDEFINED] posts
    Si, mas o menos estaba pensando eso, un proceso para cada persona. Ademas necesitaras de un proceso extra que se encargue de mirar de si hay suficientes clientes de un tipo (niño o adulto) y ahora los karts estan ocupados, "bloquear" a nuevos pilotos hasta que la pista quede libre y entonces metes a un cliente del otro grupo, para que niños o adultos no se queden esperando siempre. Vamos, un proceso para controlar quien accede a la pista.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.


    It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx

  3. #153

    Fecha de ingreso
    Mar 2007
    Ubicación
    Barna
    Mensajes
    10,341
    Mencionado
    93 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    368
    Agradecer Thanks Received 
    1,791
    Thanked in
    Agradecido 944 veces en [ARG:2 UNDEFINED] posts
    Bue, es un ejercicio interesantísimo y también difícil hacerlo bien. ¡Mucho ánimo!

    Para que veas lo interesante que es, lo que te piden es que implementes RabbitMQ o similar (kafka, redis, zeromq...), un broker de mensajes que está en el corazón de la computación distribuida. Es decir, en el futuro no programarás este sistema desde cero, sino que usarás RabbitMQ o similar.
    "Todo es absolutamente falso, salvo alguna cosa"

  4. Los siguientes 2 usuarios agradecen a juanvvc este post:

    selecter25 (21/11/2022), swapd0 (21/11/2022)

  5. #154

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    6,160
    Mencionado
    175 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,848
    Agradecer Thanks Received 
    2,378
    Thanked in
    Agradecido 1,309 veces en [ARG:2 UNDEFINED] posts
    Exacto, de hecho la asignatura justo entra ahora en eso, cliente-servidor con sockets y luego veremos REST, parece que se pone interesante la asignatura, a la par que complicada.

    El problema es que veremos todo en multihilo y si arrastramos carencias en lo que se supone que es la base de concurrencia, nos las vamos a ver canutas. A ver si saco algo de tiempo y le meto horas extras por otros lares, pero quedan prácticamente 3 meses de curso y esta asignatura la veo negra.

    El resto va bien, en Acceso a Datos hemos vuelto a hacer CRUD pero en BDD orientadas a objetos (Oracle y ObjectDB), creo que lo que queda es pan comido. Diseño de Interfaces estamos haciendo editores de texto con Forms y C#(no hemos salido de ahí ), Programación Multimedia y Dispositivos Móviles hemos pasado a usar Navigation y movernos entre Fragments, mucho más cómodo que andar usando Actitivies. SGE es básicamente buscar características de ERPs y CRMs en Google.

  6. #155

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,202
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    675
    Agradecer Thanks Received 
    1,847
    Thanked in
    Agradecido 1,264 veces en [ARG:2 UNDEFINED] posts
    Creo que ya te lo comenté, pero tras años trabajando en Fenix y BennuGD, donde todo son procesos, aún hoy cometo errores con la programación concurrente en .NET, y hace cosa de un mes y pico tuve que lidiar con un error de diseño que me llevaba a un interbloqueo muy chungo (para los que no lo sepan, es cuando un proceso 1 ejecuta un código que necesita datos de un proceso 2, pero al ejecutar el proceso 2 necesita que antes le devuelva un dato el proceso 1: ambos quedan a la espera y ninguno se ejecuta).

    Lo bueno de Fenix y BennuGD es que todos los procesos quedan perfectamente sincronizados, siempre, y que no tienes que trabajar con señales (bueno, esto es más una desventaja, pero te simplifica mucho los problemas, y en colaboración con el punto anterior, hay formas de suplir el envío de mensajes).
    Pero lo dicho, todo el tema de concurrencia lo he visto a nivel teórico, y en Teleco no te enseñan los algoritmos típicos que se enseñan en informática (entre otras cosas, porque los procesos y señales que tratábamos nosotros no eran sólo para C o Java, sino también para HW puro y duro, microcontroladores enviando señales a otros microcontroladores, o partes de un CI mandando señales a otros bloques). Lo que vengo a decir es que sí, es un tema muy complicado, que requiere una disciplina mental muy fuerte, una abstracción de los objetos, y un cambio de la forma de pensar que, en mi experiencia (ya es cuestión de si te fías de ella o no), la mayoría no es capaz de hacer.

    Por lo que sí, esos problemas es normal tenerlos. Sí, es muy complicado, a todos los niveles. Y sí, ese programa es muy complejo, y está hecho para ver quién ha conseguido asimilar a la perfección todos los conceptos y es capaz de llevarlos a la práctica. Si eres capaz de hacerlo, enhorabuena, has conseguido superar a muchos alumnos de 4º de carrera, y quizás de 5º (o al menos, yo he conocido gente de esos cursos a los que el tema de semáforos se les ha atragantado, o le han dado al reset tan pronto han aprobado la asignatura).

    Y como ya he escrito un chorizo, y no me las quiero dar de entendido (porque en el tema de procesos soy autodidacta), no te voy a proponer ningún esquema concreto. Reconozco que prefiero el sistema de "un proceso para controlarlos a todos" al de un "sistema colaborativo" o de "competición" (son los propios procesos los que se autorregulan), y es en torno a lo que gira mi motor de scroll tileado... pero seguro que habrá unos sistemas mejores que otros según tu situación.
    ...Aunque no me puedo resistir a apoyar lo que dice Swapd0: un proceso controlador, y luego los procesos independientes que cambian de estado solos, y se lo notifican mediante señales al controlador para que actúe en consecuencia. Y como chapuza (por favor, no lo hagas ), un proceso llamado "watchdog", que cuando detecta que el sistema se ha quedado estancado en un estado, interviene para desatascarlo (ocupando un sitio libre, o sacando de la pista a un niño que no se quiere salir pese a llevar 3 horas dando vueltas y que ya ha vomitado en tres de las protecciones del circuito).
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  7. El siguiente usuario agradece a Drumpi este mensaje:

    selecter25 (22/11/2022)

  8. #156

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    6,160
    Mencionado
    175 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,848
    Agradecer Thanks Received 
    2,378
    Thanked in
    Agradecido 1,309 veces en [ARG:2 UNDEFINED] posts
    Para nada, biblias así son bienvenidas y cualquier aporte o feedback que reciba de gente como vosotros es oro, gracias a todos.
    Tocará meterle algo de caña por mi cuenta entonces, no es que me queje de los ejercicios en sí, sino del poco contenido didáctico que hemos tenido para afrontarlos, prácticamente hemos visto clases que implementan Runnable/Thread, métodos sincronizados y poco más (a un nivel muy básico), de ahí hemos saltado a ejemplos de ejercicios resueltos con semáforos, buffers, monitores y luego este tipo de ejercicios más complejos que han acabado por estallarme la cabeza. A todo esto es un CFGS semipresencial, por lo que no recibo ningún tipo de clase (las tutorías son presenciales y el centro está a 20Km, tengo vida, trabajo, otras asignaturas...).

    Y luego el caso es que no es este ejercicio solo, hay 5 más para resolver del mismo tipo, y de momento solo he logrado hacer 2. Seguiremos mejorando.

    Nada nada Drumpi, no se nos permite utilizar ningún proceso "Watchdog", eso es como darle el golpe a la máquina de pinball . En uno de los problemas que hicimos (5 filósofos que comían en una mesa y compartían palillos) se podían producir interbloqueos si todos los filósofos cogían el palillo de la izquierda a la vez, y había que solucionarlo a mano, forzando que los filósofos con "id" par cogiesen el de la derecha.

  9. #157

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,202
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    675
    Agradecer Thanks Received 
    1,847
    Thanked in
    Agradecido 1,264 veces en [ARG:2 UNDEFINED] posts
    ¿Ves tú? el problema de los filósofos sí que nos lo plantearon en clase... pero jamás nos dieron una solución, o al menos LA solución. Nos comentaron por encima algunas posibles soluciones pero jamás llegamos a implementarlo. El caso es que me figuraba que no te dejarían "perrito guardián", por eso lo he planteado como una coña (si todo está bien sincronizado, no hace falta, claro)... pero en el contexto nuestro, los DSP, especialmente los dirigidos a sistemas en tiempo real, lo incorporan por HW (o al menos, lo incorporaban, no sé si ya han cambiado esos chips por Raspberri Pi Zero ).

    Lo único que puedo hacer ahora es darte apoyo moral, que creo que te hace falta, y plantear teóricamente alguna solución, porque como digo, el tema de semáforos y demás lo veíamos escrito en las diapositivas, jamás lo implementamos mediante teclado (y encima creo que era pseudo-código simulando C), y en C# no me han explicado más allá del async-await... y aún tengo problemas para entender por qué a veces sí que un proceso espera la respuesta del anterior y otras no.

    De todas formas, lo dicho, BennuGD trabaja de esa forma, aunque mucho más simplificado, y entender el tema de procesos te ayudará a entender el sistema de Unity, y cómo programar los distintos objetos, teniendo en cuenta este comportamiento concurrente.
    Es curioso, a la gente le cuesta entender el concepto de proceso y cómo trabajar con eso, y sin embargo, en Unity no tienen problemas y trabajan con procesos, señales, lo coordinan todo... La potencia de la percepción humana es fascinante
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  10. #158

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    6,160
    Mencionado
    175 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,848
    Agradecer Thanks Received 
    2,378
    Thanked in
    Agradecido 1,309 veces en [ARG:2 UNDEFINED] posts
    Finalmente hay desenlace "semifeliz", pamicos. Ayer empecé los exámenes (Inglés Técnico, un trámite) y los compañeros de ciclo me comentaron que los ejercicios infernales que comenté de Programación de Procesos y Servicios los dejó como opcionales para subir nota, ya que el mismo profesor (sustituto) consideró que era una fumada supina.

    Teniendo en cuenta que hay mucha gente que no entregó nada, al final conseguí hacer 3 de ellos, por lo que imagino que tendré alguna recompensa.

    Del resto de asignaturas, Acceso a Datos no hace examen, la nota son las prácticas que ya hemos hecho, lo mismo Sistemas de Gestión Empresarial. Empresa e Iniciativa Emprendedora la convalido, así que me quedan 3 exámenes, Desarrollo de Interfaces (el único práctico) y las dos asignaturas de Programación, Multimedia/Móviles y Procesos/Servicios.

    Ahora que quedan como 3 meses para acabar, me estoy planteando seriamente pedir excedencia en el curro y hacer las prácticas, aunque sea en cárnica cuencoarrocista, pillar título, seguir formándome y... quién sabe? Quizás salir de mi zona de confort a nivel laboral me venga bien.

  11. #159

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,202
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    675
    Agradecer Thanks Received 
    1,847
    Thanked in
    Agradecido 1,264 veces en [ARG:2 UNDEFINED] posts
    ¿No me digas que, después de tanto trabajo, vas a aprobar la de programación igual que yo "legislación" en el instituto, o "métodos numéricos" en la carrera: cambiando de profesor?

    Pues me semi-alegro por ti. Espero que puedas aprobarlas todas con nota, así que no te descentres.
    Respecto a dejar el trabajo para hacer las prácticas, eso ya depende de tí y de dónde te metan. Los cursos que yo hice, las prácticas eran obligatorias, y no llevaron mucho tiempo... y acabé trabajando en la empresa, aunque eso sí, no empecé con nada de lo que me habían enseñado (era testeo de manuales de despliegues). Seguramente te pase lo mismo, por una razón u otra, terminarás haciendo algo distinto y empezando de cero (bueno, nunca empiezas de cero, los conocimientos que tienes al final los aplicas de forma indirecta).

    Lo de salir de la zona de confort... no lo veo. A ver, soy el primero que opina que, si trabajas haciendo tu hobby, tu hobby se convierte en trabajo (y para muestra, que llevo desde que saqué la última versión del Echo sin tocar código propio, ya por cansancio mental). Pero también que si no te gusta lo que haces, no tienes motivación para trabajar (ni para sacarte la carrera, así que nunca hagas una carrera "porque es donde hay trabajo").

    Yo he preferido mantenerme en las empresas sobre seguro, porque se me da muy mal estar saltando de proyecto en proyecto y de empresa en empresa, y es en lo que se basan las "cárnicas", en la renovación continua de estudiantes por quemar. A partir de ahí, es tu decisión.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  12. El siguiente usuario agradece a Drumpi este mensaje:

    selecter25 (29/11/2022)

  13. #160

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    6,160
    Mencionado
    175 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,848
    Agradecer Thanks Received 
    2,378
    Thanked in
    Agradecido 1,309 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Drumpi Ver mensaje
    ¿No me digas que, después de tanto trabajo, vas a aprobar la de programación igual que yo "legislación" en el instituto, o "métodos numéricos" en la carrera: cambiando de profesor?

    Pues me semi-alegro por ti. Espero que puedas aprobarlas todas con nota, así que no te descentres.
    Respecto a dejar el trabajo para hacer las prácticas, eso ya depende de tí y de dónde te metan. Los cursos que yo hice, las prácticas eran obligatorias, y no llevaron mucho tiempo... y acabé trabajando en la empresa, aunque eso sí, no empecé con nada de lo que me habían enseñado (era testeo de manuales de despliegues). Seguramente te pase lo mismo, por una razón u otra, terminarás haciendo algo distinto y empezando de cero (bueno, nunca empiezas de cero, los conocimientos que tienes al final los aplicas de forma indirecta).

    Lo de salir de la zona de confort... no lo veo. A ver, soy el primero que opina que, si trabajas haciendo tu hobby, tu hobby se convierte en trabajo (y para muestra, que llevo desde que saqué la última versión del Echo sin tocar código propio, ya por cansancio mental). Pero también que si no te gusta lo que haces, no tienes motivación para trabajar (ni para sacarte la carrera, así que nunca hagas una carrera "porque es donde hay trabajo").

    Yo he preferido mantenerme en las empresas sobre seguro, porque se me da muy mal estar saltando de proyecto en proyecto y de empresa en empresa, y es en lo que se basan las "cárnicas", en la renovación continua de estudiantes por quemar. A partir de ahí, es tu decisión.
    No me expliqué bien del todo. El profesor que tenemos desde un principio es sustituto, y el material que maneja es de la profesora ausente. No se apaña muy bien con la plataforma, por lo que iba un poco perdido y digamos que puso el piloto automático. Imagino que varios compañeros le comentarían en las tutorías la dificultad de la última práctica, la revisó y vio lo que os comenté, que no se correspondía con el nivel de la teoría que recibimos, por lo que las ha dejado como opcionales.

    Sí claro, las prácticas en empresa son obligatorias como en cualquier FP, no es curso ni bootcamp, es Ciclo Formativo de Grado Superior y aquí tienes que hacer prácticas y TFG para aprobar, de hecho si lo saco me convalidarían 60 créditos de Ingeniería Informática (1/4 parte de la carrera), concretamente estos:

    - Laboratorio de informática.
    - Redes de computadores.
    - Sistemas operativos.
    - Bases de datos.
    - Programación audiovisual avanzada.
    - Ingeniería de software.
    - Fundamentos de administración y organización de empresas.
    - Programación orientada a objetos.
    - Fundamentos de programación I.
    - Aplicaciones para dispositivos móviles.
    - Desarrollo de aplicaciones distribuidas I.

    A lo que me refiero es que me estoy planteando si hacer las prácticas (seguramente en consultora NTT Data, que el centro tiene acuerdo, pillo cuenco de arroz) e intentar cambiar de aires, o simplemente que me las firmen en mi curro y seguir con mi vida actual de traductor.

    En mi curro también podría intentar hacerlas de verdad (tienen consultoría IT), pero seguramente acabe haciendo eso + mi trabajo actual, los proyectos son caca y la posibilidad de promoción es 0, por lo que no me llama nada.
    Última edición por selecter25; 29/11/2022 a las 23:12

  14. #161

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    6,160
    Mencionado
    175 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,848
    Agradecer Thanks Received 
    2,378
    Thanked in
    Agradecido 1,309 veces en [ARG:2 UNDEFINED] posts
    Bueno pamicos, me quedan 2 semanitas para empezar exámenes, qué rápido se me ha pasado todo, parece que fue ayer cuando empecé a llorar!!

    Finalmente le he cogido el gustillo (sobre todo a Android nativo con Kotlin) y ya he pedido la excedencia en el curro para hacer las prácticas. No se lo han tomado muy bien, porque me ven más fuera que dentro. Me apetece cambiar de aires.

    Seguramente vaya a una cárnica de las grandes, a 3 paradas de casa. Me tira un poco para atrás que el 80% de proyectos que tienen son Angular/Spring boot, y me habría gustado seguir metiendo caña al desarrollo móvil.

    Me enfrasqué en un proyecto de fin de curso (la mayoría de asignaturas nos han asignado uno) y me vine un poco arriba, al final me he cascado una app de cuestionarios de programación, MVVM, backend en Firebase con Auth/BDD NoSQL, recyclerView (adapter/ViewHolder), ViewBinding, LiveData, corrutinas...

    Me ha faltado solamente tocar algo de inyección de dependencias(Dagger Hilt), Retrofit 2 y consumir alguna API, pero en este mes trasteando por mi cuenta he aprendido más que en todo el curso, así que le meteré caña por mi cuenta todo eso y empezaré con iOS (de ahí seguramente enganche con Flutter en serio).

    Pero antes quedan los exámenes, actualizaré con el triunfo o la estampada!

  15. Los siguientes 4 usuarios agradecen a selecter25 este post:

    Drumpi (20/02/2023), josepzin (19/02/2023), Karkayu (19/02/2023), pakoito (19/02/2023)

  16. #162

    Fecha de ingreso
    Mar 2007
    Ubicación
    Barna
    Mensajes
    10,341
    Mencionado
    93 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    368
    Agradecer Thanks Received 
    1,791
    Thanked in
    Agradecido 944 veces en [ARG:2 UNDEFINED] posts
    No he entendido la mitad de las cosas que pones aquí, así que veo que has aprovechado mucho el módulo
    "Todo es absolutamente falso, salvo alguna cosa"

  17. El siguiente usuario agradece a juanvvc este mensaje:

    selecter25 (20/02/2023)

  18. #163

    Fecha de ingreso
    Nov 2005
    Ubicación
    Excartagenero
    Mensajes
    23,651
    Mencionado
    276 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5,994
    Agradecer Thanks Received 
    5,821
    Thanked in
    Agradecido 3,794 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    1
    Felicitamientos miles!

  19. El siguiente usuario agradece a josepzin este mensaje:

    selecter25 (20/02/2023)

  20. #164

    Fecha de ingreso
    Apr 2004
    Mensajes
    1,010
    Mencionado
    39 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    119
    Agradecer Thanks Received 
    95
    Thanked in
    Agradecido 68 veces en [ARG:2 UNDEFINED] posts
    Ya dirás qué tal las prácticas en empresa. Yo acabo de empezar DAM (final de la segunda evaluación de primer curso). Aún ando pensando qué hacer con las prácticas, si dejar o no un curro de más de 20 años y poco futuro.

  21. #165

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    6,160
    Mencionado
    175 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,848
    Agradecer Thanks Received 
    2,378
    Thanked in
    Agradecido 1,309 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por bitrider Ver mensaje
    Ya dirás qué tal las prácticas en empresa. Yo acabo de empezar DAM (final de la segunda evaluación de primer curso). Aún ando pensando qué hacer con las prácticas, si dejar o no un curro de más de 20 años y poco futuro.
    Graande, mucha suerte con el curso.

    Yo lo empecé simplemente por aprender algo que siempre me llamó la atención, tampoco llevo tanto tiempo en mi curro como tú, no es que me disguste lo que hago, tengo estabilidad pero no tengo posibilidades de crecer aquí, y conforme ha ido pasando el curso mi interés por aprender más cosas ha aumentado.

    Tampoco es que IT pase su mejor momento justo ahora, pero siento que siendo un polluelo puedo expandirme hasta el infinito, y es lo que me pide el cuerpo ahora, salir un poco de mi zona de confort y crecer.

    En cuanto al curso, el segundo año es mucho más interesante pero es muy corto. Del primero solo creo que han sido útiles Bases de Datos y Programación, que me dieron una base para las de segundo (Acceso a Datos, Programación de Servicios y Procesos y Programación Multimedia y Dispositivos Móviles).

    Si puedes meterles mucha caña a esas dos en primero, lo agradecerás luego. Del resto, pienso que hay demasiadas asignaturas de relleno, con temario obsoleto que podrían ser sustituidas por otras con más sentido a día de hoy, abordando algún framework modernete, algo de big data, Kubernetes (yo di Docker, pero muy por encima)...

Página 11 de 17 PrimerPrimer ... 789101112131415 ... ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •