Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - rub'n

#421
Cita de: backdoor.exe en 26 Mayo 2019, 17:37 PM
De hecho, tienes la razon, no es posible aumentar esta velocidad de descarga o navegacion con un balanceo de carga, simplemente lo q nos paso es q no teniamos el mismo ejemplo de ISP aunque en mi caso si descargo ahora a 2mb como t habia explicado. te voy a detallar la situacion del ISP para q veas:
este ISP como ya t comente reparte el internet mediante DHCP con un portal cautivo, al internet te conectas mediante una cuenta de usuario o varias, OJO no puedes abrir con la misma 2 veces logicamente, pero cuando haces el login con varias cuentas x distintas interfaces t suma todo ese trafico, ya q cada una tiene asigando 250kb/s de velocidad lo redirige a tu direccion ip dando como resultado la velocidad ya mencionada, x eso te digo q tu tambien tienes razon ya q todo esto depende de como recibas el internet.

PD:Disculpas x no haberme explicado bien o no haber detallado mejor la situacion, aunque como ya dije soy nuevo en mikrotik.

OTRO DATO IMPORTANTE: Al abrir con varias cuentas logicamente consume tiempo de conexion de cada una de estas.


Mmmm, pues ya veo, claro ese admin de dicha red, tiene su configuración ya establecida y pues se ve bastante bien, para mejorar la experiencia de usuario, porque a nadie le gusta el inter lento.

Pero esta bien que cacharres con eso, así es que se aprende...un buena red de esas deberia deberia tener un server cache, que administra mejor contenido dinamico/estatico de todo tipo. desde XXX hasta lo que sea,  :xD..
#422
Java / Re: Arraylist
26 Mayo 2019, 16:28 PM
Cita de: luis9829 en 26 Mayo 2019, 00:51 AM
si osea  lo que quiero en si es que el coche que se ingreso al final se lo compare con el que se ingreso antes de ese osea el penultimo si asi lo decimos entonces lo que quiero q me salga como mensaje es que si los dos coches son iguales o si el coche ingresado anteriormente es diferente del final a lo q voy es por ejemplo

coche 10

marca toyota
placa 12
kilometraje 15


coche 11

marca chevrolet
placa 10
kilometraje 0

esto es lo que haria el metodo agregar
lo que quiero que haga este otro metodo es compararme y que me salte los mensajes anteriormente descritos


* Añadido método en clase ListaCoches, ojo esta manera compara la referencia en memoria
no los valores que tiene configurados el objeto por medio sus setters.



En este método te lo dejo para que tu mismo lo edites y compares getters con getters, tanto de vehículo anterior como penúltimo, pare que te funcione realmente lo que quieres hacer, porque así uses equals o == , no funcionara correctamente, para este caso que deseas,
ve el final en este ejemplo para que veas la diferencia. así como te lo dice Aitor va bien.


Código (java) [Seleccionar]

   /**
    * usando == para comparar coches equals también te serviría
    */
   public void compararFinalConAnterior() {
       //si la lista contiene mas de 2 coches
       if(lista.size() >= 2) {
           final Coche ultimoCoche = lista.get(lista.size() - 1);
           final Coche penultimoCoche  = lista.get(lista.size() - 2);

           if( ultimoCoche == (penultimoCoche) ) {

               LOGGER.info("El ultimo coche y penultimo son iguales");
               final StringBuilder sb = new StringBuilder()
                   .append("Ultimo coche: ")
                       .append(ultimoCoche)
                       .append("\nPenultimo coche: ")
                       .append(penultimoCoche);
               LOGGER.info(sb.toString());

           } else {

               LOGGER.info("El ultimo coche y penultimo son diferentes");
               final StringBuilder sb = new StringBuilder()
                       .append("Ultimo coche: ")
                       .append(ultimoCoche)
                       .append("\nPenultimo coche: ")
                       .append(penultimoCoche);
               LOGGER.info(sb.toString());

           }
       }
   }


Código (java) [Seleccionar]


import java.util.Objects;

/**
* @implSpec NO-THREAD-SAFE
*/
public class Coche {

   // Atributos
   private static int aux = 0;
   private final int numCarros;
   private String matricula;
   private String marca;
   private String modelo;
   private int Km;

   // Getters y setters
   public String getMatricula() {
       return matricula;
   }

   public void setMatricula(String matricula) {
       this.matricula = matricula;
   }

   public String getMarca() {
       return marca;
   }

   public void setMarca(String marca) {
       this.marca = marca;
   }

   public String getModelo() {
       return modelo;
   }

   public void setModelo(String modelo) {
       this.modelo = modelo;
   }

   public int getKm() {
       return Km;
   }

   public void setKm(int km) {
       Km = km;
   }

   public static int getAux() {
       return aux;
   }

   public static void setAux(int aux) {
       Coche.aux = aux;
   }

   public int getNumCarros() {
       return numCarros;
   }

   // constructor por defecto
   public Coche() {
       this.numCarros = ++aux;
       this.matricula = "";
       this.marca = "";
       this.modelo = "";
       Km = 0;
   }

   // constructor
   public Coche(String vmarca, String vmatricula, String vmodelo, int vkm) {
       numCarros = ++aux;
       this.marca = vmarca;
       this.matricula = vmatricula;
       this.modelo = vmodelo;
       Km = vkm;
   }


   @Override
   public boolean equals(Object obj) {
       if (this == obj)
           return true;
       if (obj == null)
           return false;
       if (getClass() != obj.getClass())
           return false;
       Coche other = (Coche) obj;
       if (Km != other.Km)
           return false;
       if (marca == null) {
           if (other.marca != null)
               return false;
       } else if (!marca.equals(other.marca))
           return false;
       if (matricula == null) {
           if (other.matricula != null)
               return false;
       } else if (!matricula.equals(other.matricula))
           return false;
       if (modelo == null) {
           if (other.modelo != null)
               return false;
       } else if (!modelo.equals(other.modelo))
           return false;
       if (numCarros != other.numCarros)
           return false;
       return true;
   }

   @Override
   public int hashCode() {
       return Objects.hash(numCarros, matricula, marca, modelo, Km);
   }

   @Override
   public String toString() {
       return "Auto # :" + numCarros + "\n Marca: " + this.getMarca() + "\n Modelo: " + modelo +
               "\n Matricula: " + this.getMatricula() + "\n Kilometraje: " + Km;
   }


}



Código (java) [Seleccionar]


import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;

public class ListaCoches {

   private ArrayList<Coche> lista;
   private static final Logger LOGGER = Logger.getLogger(ListaCoches.class.getSimpleName());

   public ArrayList<Coche> getLista() {
       return lista;
   }

   public void setLista(ArrayList<Coche> lista) {
       this.lista = lista;
   }

   public ListaCoches() {
       this.lista = new ArrayList<Coche>();
   }

   // metodos
   public void mostrarCoches() {
       for (Coche c : lista) {
           System.out.println(c);
       }
   }

   public void agregarCoches(Coche c1) {
       lista.add(c1);
   }

   public void mostrarPorMarca(String marca) {
       ListaCoches listam = new ListaCoches();
       for (Coche c : lista) {
           if (c.getMarca().equals(marca)) {
               listam.agregarCoches(c);
               System.out.println(c);
           }
       }
   }

   public void mostrarPorKm(int kilometros) {
       ListaCoches listak = new ListaCoches();
       for (Coche c : lista) {
           if (c.getKm() < kilometros) {
               listak.agregarCoches(c);
               System.out.println(c);
           }
       }
   }

   public Coche mayorKm() {
       Coche aux = new Coche();
       int numKm = 0;
       for (Coche c : lista) {
           if (c.getKm() > numKm) {
               numKm = c.getKm();
               aux = c;
           }
       }
       return aux;
   }

   public boolean verifyAllEqualUsingALoop() {
       for (Coche s : lista) {
           if (!s.equals(lista.get(0)))
               return false;
       }
       return true;
   }

   /**
    * usando == para comparar coches equals tambien te serviria
    */
   public void compararFinalConAnterior() {
       //si la lista contiene mas de 2 coches
       if(lista.size() >= 2) {
           final Coche ultimoCoche = lista.get(lista.size() - 1);
           final Coche penultimoCoche  = lista.get(lista.size() - 2);

           if( ultimoCoche == (penultimoCoche) ) {

               LOGGER.info("El ultimo coche y penultimo son iguales");
               final StringBuilder sb = new StringBuilder()
                   .append("Ultimo coche: ")
                       .append(ultimoCoche)
                       .append("\nPenultimo coche: ")
                       .append(penultimoCoche);
               LOGGER.info(sb.toString());

           } else {

               LOGGER.info("El ultimo coche y penultimo son diferentes");
               final StringBuilder sb = new StringBuilder()
                       .append("Ultimo coche: ")
                       .append(ultimoCoche)
                       .append("\nPenultimo coche: ")
                       .append(penultimoCoche);
               LOGGER.info(sb.toString());

           }
       }
   }

   public void ordenadosPorKm() {
       int i, j;
       Coche aux;
       for (i = 0; i < lista.size() - 1; i++)
           for (j = 0; j < lista.size() - i - 1; j++)
               if (lista.get(j + 1).getKm() < lista.get(j).getKm()) {
                   aux = lista.get(j + 1);
                   lista.set(j + 1, lista.get(j));
                   lista.set(j, aux);
               }


       mostrarCoches();
   }
}


Código (java) [Seleccionar]

import java.util.ArrayList;

/**
*
*/
public class MainClass {

   public MainClass() {
       final Coche cocheFiesta = new Coche();
       cocheFiesta.setMarca("Ford");
       cocheFiesta.setMatricula("124141");
       cocheFiesta.setKm(80);
       cocheFiesta.setModelo("Fiesta");
       
       final Coche cocheFocus = new Coche();
       cocheFocus.setMarca("Ford");
       cocheFocus.setMatricula("415423");
       cocheFocus.setKm(85);
       cocheFocus.setModelo("Focus");

       final Coche cocheFiat = new Coche();
       cocheFiat.setMarca("Fiat");
       cocheFiat.setMatricula("4154223");
       cocheFiat.setKm(95);
       cocheFiat.setModelo("Fiat volador");

       final Coche cocheFiat2 = new Coche();
       cocheFiat2.setMarca("Fiat");
       cocheFiat2.setMatricula("4154223");
       cocheFiat2.setKm(95);
       cocheFiat2.setModelo("Fiat volador");

       final ArrayList<Coche> cocheList = new ArrayList<>();
       cocheList.add(cocheFiesta);
       cocheList.add(cocheFocus);
       /*
        * Coches añadidos aqui iguales.
        */
       cocheList.add(cocheFiesta);
       cocheList.add(cocheFiat);
       cocheList.add(cocheFiat);

       final ListaCoches listaCoches = new ListaCoches();
       listaCoches.setLista(cocheList);
       listaCoches.compararFinalConAnterior();

   }

   public static void main(String ...blalbal) {
       new MainClass();
   }
}


salida si los ultimos coches son iguales


Código (bash) [Seleccionar]

INFORMACIÓN: El ultimo coche y penultimo son iguales
INFORMACIÓN: Ultimo coche: Auto # :3
Marca: Fiat
Modelo: Fiat volador
Matricula: 4154223
Kilometraje: 95
Penultimo coche: Auto # :3
Marca: Fiat
Modelo: Fiat volador
Matricula: 4154223
Kilometraje: 95


Mira lo que pasa así usemos == o equals

Código (java) [Seleccionar]

final Coche cocheFiat = new Coche();
cocheFiat.setMarca("Fiat");
cocheFiat.setMatricula("4154223");
cocheFiat.setKm(95);
cocheFiat.setModelo("Fiat volador");

final Coche cocheFiat2 = new Coche();
cocheFiat2.setMarca("Fiat");
cocheFiat2.setMatricula("4154223");
cocheFiat2.setKm(95);
cocheFiat2.setModelo("Fiat volador");


y usamos en la comparacion del metodo compararFinalConAnterior() este serial el resultado

Código (bash) [Seleccionar]

INFORMACIÓN: El ultimo coche y penultimo son diferentes
INFORMACIÓN: Ultimo coche: Auto # :4
Marca: Fiat
Modelo: Fiat volador
Matricula: 4154223
Kilometraje: 95
Penultimo coche: Auto # :3
Marca: Fiat
Modelo: Fiat volador
Matricula: 4154223
Kilometraje: 95


que los autos son diferentes únicamente, lo que varia es el ID, y su referencia en memoria, pero todo los demás es igual. guarro no? veo que mejor compáralos por medio de sus getters, getter a getter, espero no haberte confundido
#423
Cita de: backdoor.exe en 26 Mayo 2019, 04:10 AM
Lamento no estar de acuerdo xq ya lo hize, a lo mejor no entendiste mi pregunta ya q no se le llama suma de megas se le llama como tu dices "balanceo de carga" pero hay q añadirle otras configuraciones mas x lo q no es un solo un balanceo de carga  pero en agradecimiento x haberme respondido t explico:
10 interfaces virtuales en un mikrotik LHG5, conectadas a un AP q reparte intenet mediante un servidor DHCP, pues sí es posible sumar los megas, "aunque no se le llama asi", de cada una de estas interfaces virtuales y redirigir todo este trafico a una direccion ip especifica y queda de esta forma:
cada interfaz da una velocidad maxima de descarga de 250 kb/s, cuando logre la configuracion q tanto trabajo me dio redirigi todo ese trafico hacia mi direccion ip y obtuve una velocidad de descarga de 2mb/s.
OJO soy nuevo en mikrotik de ahi el trabajo q me dio pero al final no era tan dificil
GRACIAS DE NUEVO X INTERESARTE Y RESPONDER YA LO RESOLVI

Pues bien, esto abría que verlo con un ejemplo mas real dog, si tu ISP te asigna ciertos megas de descarga, un load balancing con cualquier aparato, porque muchos y muchas marcas vienen para hacer esto, no hará, que sobre pases esos megas contratados, esos 250kb/s se dividieron en cada interface al parecer, como en realidad sucede, pero no indica que esos 2mb/s se hayan creado/originado mágicamente por un balanceo de carga, que de verdad no lo creo  :xD. (no es burla, porque hace años quería lo mismo que tu)

Me toco en un tiempo hacerlo también con 3 interfaces y microtik router board, en un pc con alto hardware, aunque uno normal bastaría para eso, junto a un servidor con web cache el de alto hardware, ejemplo de SO usado fue Raptor cache, y ese load balancing pues, es algo normal al parecer, si una interface se cae, todo el trafico se redirige automáticamente a otra interface que este activa, puedes probar tu mismo, quitando el cable en el puerto Lan uno de ellos, el internet no debería de cortarse, tendría que continuar como si nada, gracias al balanceo de carga.

Es un tema muy discutido, no creas que te respondo por responder, y querer tener la absurda razón.



Un simple tplink tl 470t de que hace load balancing

#424
Cita de: MDd2 en 26 Mayo 2019, 00:31 AM
Ya lo había probado, pero cada vez que se inicia cambia el puerto, tiene sus limitaciones...

La técnica del ngrok es nat traversal, o algo así como UDP hole punching, tiene limitaciones xq seguro estás usando la versión free o no?
#425
Eso es en Venezuela le decimos cangrejo, es una fastidio estar perdiendo el tiempo en cangrejos así que no tienen una explicación jajajaja, y si resolviste pues mejor.
#426
Java / Re: Arraylist
26 Mayo 2019, 00:44 AM
Que tal ?

Como ?

se debe Comparar un coche con su anteriormente ingresado, formula mejor la descripción
#427
Cita de: MDd2 en 26 Mayo 2019, 00:16 AM
Muy buenas, después de tanto tiempo he decidido volver al foro porque me ha surgido una duda.

¿De qué manera puedo conectarme a una Raspberry Pi remotamente con SSH sin necesidad de tocar el router para activar un reenvio de puertos?
He probado el ssh inverso ese pero no me convence, ¿alguna alternativa?

Muchas gracias de antemano.

Con ngrok
#428
Cita de: MaX2 en 25 Mayo 2019, 20:05 PM
Algún alma caritativa que me pueda decir como volver a mostrar es Lista después de mostrar uno de sus elemento ?



Pon mas código, el código java, o reproduce tu error mejor.
#429
Scripting / Re: arreglos en python, ayuda!!
25 Mayo 2019, 12:31 PM
Cita de: tincopasan en 25 Mayo 2019, 12:16 PM
Código (python) [Seleccionar]

def __init__(self):
           self.array = []
           self.sum = 0
           print("Introduce 10 numero...")

en este caso la línea:
Código (python) [Seleccionar]

self.sum = 0

es innecesaria, y como comentario, no usa un for ¿y va a usar clases?

Cita de: tincopasan en 25 Mayo 2019, 12:16 PM
Código (python) [Seleccionar]

def __init__(self):
           self.array = []
           self.sum = 0
           print("Introduce 10 numero...")

en este caso la línea:
Código (python) [Seleccionar]

self.sum = 0

es innecesaria, y como comentario, no usa un for ¿y va a usar clases?

Tal cual, por eso el ejemplo, para que aprenda, ni que le estuviera escribiéndo en Koreano, lo del cero me lo pasé.
#430
Cita de: backdoor.exe en 16 Mayo 2019, 02:14 AM
alguien sabe como sumar los megas de 10 portales virtuales wlan1 a wlan10? y q toda esta suma sea redirigida a una direccion ip especifica? se agradecen las soluciones

load balancing ? sumar los anchos de bandas para tener segun el internet mas rapido? eso no existe. si es tu pregunta.