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 - ~ Yoya ~

#1
Hola,

Una opcion seria combinar las llamadas HTTP asicronicas con Promises. Hacer las llamadas asicronicas en paralelos y luego esperar que estas terminen su ejecucion. Ejemplo:

Código: javascript
async function saludo() {

//1) Ejecuto los 3 request en paralelo
request1 =  Promise.resolve($.get("https://jsonplaceholder.typicode.com/todos/1"));
request2 =  Promise.resolve($.get("https://jsonplaceholder.typicode.com/todos/2"));
request3 =  Promise.resolve($.get("https://jsonplaceholder.typicode.com/todos/3"));

//2) Espero que los 3 request se completen
const results = [await request1, await request2, await request3];

//3) Despues de este punto, puedo utilizar los valores de los request
request1.then(function(value) {
  console.log(value);
});
request2.then(function(value) {
  console.log(value);
});
request3.then(function(value) {
  console.log(value);
});
}

console.log(saludo());


Resultado:

#2
jejeje @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, creo que estas un poco fuera de tema. Estas son cosas serias, deberías tratarla como tal.

Saludos!
#3
Hello,

1 - Lo mas sencillo seria la pagina web, puedes comprar un template.

Lo mas retador y que puede causar mucho dolor de cabeza seria la arquitectura para que los usuarios puedan hacer streaming de los videos, la arquitectura puede ser mas o menos así:



Usuario grabando -> Servidor que contiene el video -> Servicio que entrega videos a los usuarios -> Usuarios

Porque es necesario un servicio entre el servidor que contiene el video y los usuarios? Debido a que el servidor que entregue los videos a los usuarios (CDN) estará en varios puntos del planeta, entregando el video desde el servidor mas cercano. Tambien tendrás banda ancha suficiente para la cantidad de usuarios que esperas tener ahora y en el futuro.

Tambien seria bueno que el streaming de video este en diferentes formatos y calidad, asi los usuarios con poco ancho de banda pueden ver el video con la menor interrupción posible.

La arquitectura se puede utilizando varios servicios de CLOUD o también esta la opción de usar un servicio CLOUD que ofrece esta solución como No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

2. Si la arquitectura esta bien diseñada y pensada, podrás tener una plataforma que pueda soportar 50, 100, 10000 o mas usuarios activos.
3. Que la pagina web tenga muchos problemas entregando los videos a los usuarios

Lo ideal seria que el programador que contrate sea un buen programador senior, y como parte de la entrevista inicial, le pueden preguntar como el realizaría la arquitectura de este proyecto y cuales problemas solventa la arquitectura que propone.

Saludos.
#4
Instala VMware Tools.

Configura la maquina virtual como Bridge y asegurate que en tu maquina host tengas internet.

Saludos.
#5
El problema esta en la linea 9 del metodo Main. Estas invocando el metodo setTeam que retorna una instancia de la clase Player y luego intentas invocar el metodo setPosition pero en este punto estas trabajando con la instancia Player (ya no la instancia Forward) y como el metodo setPosition no pertenece a la clase Player, entonces ahi Java te arroja el error que no encuentra dicho metodo.

Saludos.
#6
Dudas y pedidos generales / Re:Problema con JAXB
Julio 07, 2015, 11:24:26 PM
La clase Producto, tiene la anotacion XmlRootElement?
De lo contrario agrégasela, luego intenta de nuevo y nos cuentas.

Saludos.
#7
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
y me manda el siguiente error al ejecutar:


No se a que se deba ese error, espero puedan ayudarme.

Saludos

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
El problema es que no estás usando una arquitectura correcta en tu aplicación, no estás respetando el patrón MVC.

Me gusta mucho que ayudas, pero ahí que ser objetivo compa.
#8
A mi me pasa algo similar, hace una semanas me asignaron a 2 personas (dos programadores juniors) a trabajar junto a mi (soy programador Senior, también soy mas joven que los dos programadores juniors que me asignaron y el Senior mas joven de la empresa por mucho), y mis superiores tienen alta expectativa de que me vaya bien porque tuvieron muy buenas experiencia cuando trabajaba solo (sin nadie bajo mis responsabilidad) y porque tuvieron que hablar con el VP de tecnología en la empresa donde laboro para que me agregaran una buena suma de dinero a mi sueldo porque estaba decidido a irme. Así que no eres el único que tiene presión psicologica en su vida  ;)

Pero al final tienes dos opciones, o hacer el curso de microinformática o no hacerlo.  Y estoy seguro que si lo tomas, luego de haberlo tomado sentirás que fue la decisión correcta.

Un saludo y solo nos queda dar lo mejor.
#9
Si el material que haz leído estuvo en ingles y te aseguraste de entender lo que decía, y no obviar partes, entonces no hay problema.

Yo obtuve mi primera certificación de programación, en Julio hace unos años. Comencé a estudiar para esa certificación a partir de Abril, y en esos momento estaba tomando un curso de ingles 4 horas todos los días laborables que había comenzado en Enero ese mismo año.
#10
Dudas y pedidos generales / Re:Interaccion Jsp-Java
Enero 23, 2015, 10:37:54 PM
Utiliza un JMS Server para la integracion entre la aplicación desktop y aplicacion web, es lo mas simple, el mantenimiento sera mucho mas fácil y puedes desarrollar independientemente tanto la aplicación desktop como la aplicación web.

Otra cosa muy importante, no es muy bueno que pongas cualquier cosa que no tenga que ver con el diseño de la pagina y muestreo de datos en un JSP.

Saludos.
#11
Zona Webmaster / Redis como Session Handler en PHP
Enero 17, 2015, 11:51:51 PM
Tengo mucho tiempo que no escribo algún articulo, así que es posible que no me quede tan bien :P.



En este articulo se configurara dos Apache Server para que guarden las sesiones de los cliente en un Servidor Redis. De esta forma ambos servidores pueden acceder a las sesiones de los cliente.

La configuración es la siguiente:

Tengo 2 nodos:

  • Nodo A IP: 192.168.0.3
  • Nodo B IP: 192.168.0.12
En el Nodo A, esta corriendo los siguientes servicios:

  • Nginx Server
  • Redis Server
  • Apache Server

Nodo B:

  • Apache Server

Nodo A corre sobre Fedora 21, Nodo B corre sobre Fedora 20.




  • Los clientes realizan petición contra el servidor de Nginx
  • El Servidor Nginx enruta las peticiones hacia el Servidor Apache en el Nodo A. En caso de que el Servidor Apache del Nodo A no este disponible, entonces Nginx enrutara las peticiones hacia el Servidor Apache del Nodo B
  • Las sesiones que se crearan en el Servidor de Redis, y cada vez que se necesite leer la data de una sesion se realizara contra el Servidor de Redis


Como funcionan las sesiones.


Es necesario instalar y configurar en ambos Apache Server la extensión PHP-Redis que permite la comunicación con un servidor Redis: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Ambos Apache Server están corriendo sobre el puerto 8080. Nginx estará corriendo sobre el puerto 80 en el Nodo A. Utilizare el servidor de Nginx como Load Balancer para los Apache Server configurados en los dos nodos. El Apache Server del Nodo A, sera configurado como primario, y recibirá todas las conexiones entrantes. El Apache Server del Nodo B, sera configurado como Failover, osea que cuando el Apache Server del Nodo A no responda, entonce Nginx enrutará todas las conexiones hacia el Apache Server del Nodo B.

Configuración de NGINX
Código: ini
upstream httpbackendserver {
    server 192.168.0.3:8080;
    server 192.168.0.12:8080 backup;

    }

    server {
        listen       80 default_server;
        server_name  localhost;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            proxy_pass http://httpbackendserver;
        }

    Directivas importantes:
    • upstream: sirve para definir un grupo de server. La usaremos para definir nuestro HTTP Server.
    • server: sirve para definir un servidor y sus parámetros. En este caso definimos el servidor del nodo B, con el parámetro backup.

    Luego de instalar la extensión de Redis para PHP, de haber reiniciado el servidor Apache, entonces hay que configurar PHP para que almacenes las sesiones en el servidor de Redis. De esta forma cada vez que se vaya a utilizar sesiones, hay que utilizar Redis como repositorios de las sesiones. Para indicar que Redis maneje la sesiones guardada, hay que configurar las directivas
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y No tienes permitido ver los links. Registrarse o Entrar a mi cuenta del php.ini, de esta forma:
Código: ini
session.save_handler = redis
session.save_path    = tcp://redis-host:redis-port


En mi caso lo hice un poco mas portable, modifico las directivas desde un archivo PHP (teniendo en cuenta que la modificación solo tendrá efecto siempre y cuando se ejecute el mismo archivo PHP).

Código: php-brief

<?php

ini_set('session.save_handler', 'redis');
ini_set('session.save_path',    'tcp://192.168.0.3:6379');

session_start();


echo "Server 1,  ";
if(!empty($_GET['set'])) {
    $_SESSION['data'] = $_GET['set'];
}

if(!empty($_GET['show']) && $_GET['show'] == 1) {
echo "Session data: ".$_SESSION['data'];
}


echo "Hola mundo";
?>


Tengo las siguientes URL:

  • 192.168.0.3/test.php?set=data_a_setear
  • 192.168.0.3/test.php?show=1
La primera URL se utiliza para setear información a la sesión data. La segunda URL se utiliza para ver la información que contiene la sesión data.




Bajo el servidor Apache del Nodo 1, para que Nginx enrute todas las peticiones hacia el servidor de Apache del nodo 2.



De esta forma se puede ver que Nginx ha enrutado todas las peticiones hacia el Servidor Apache en el Nodo B, y el Servidor Apache en el Nodo B utiliza la data de la sesiones creada en el Servidor Apache en el Nodo A.

Data de la sesion guardada en el Servidor de Redis:
Código: bash
[yoya@127 ~]$ redis-cli
127.0.0.1:6379> KEYS *
1) "PHPREDIS_SESSION:n30kep1lkgnks7knlkppps6c10"
127.0.0.1:6379> get "PHPREDIS_SESSION:n30kep1lkgnks7knlkppps6c10"
"data|s:9:\"Underc0de\";"
127.0.0.1:6379>




Este tipo de configuración se puede utilizar en ocasiones en la que es posible que no siempre el mismo servidor maneje la comunicación  con el mismo cliente. También en ocasiones en que se esta trabajando una mejora de la misma aplicación y se desea que los cliente no tengan ningún tiempo de inactividad en la transferencia de la aplicación vieja a la aplicación nueva.

También hay que tener en cuenta el acceso a la sesiones en Redis sera mas rápido que acceder a la información de la sesiones almacenadas en archivos en el sistema operativo, ya que la información en Redis reside en la memoria. Pero esta afirmación dependerá del contexto donde se encuentre los servidores.

Existe configuraciones similares para el manejo de sesiones como realizar un shared disk para almacenar los archivos de sesiones generados en los servidores.

Saludos!

URLs:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#12
Dudas y pedidos generales / Re:Archivo INI en HTML5
Enero 28, 2014, 10:27:08 AM
Si quieres leer el archivo ini desde javascript, tendras que crear un parser, para parsear el archivo .ini y obtener sus propiedades.

Desde php puedes utilizar la función No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Saludos.
#13
El error se debe porque no encuentra la libreria, agregala al classpath.

Saludos.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#14
El error es debido a que estas tratando de utilizar un valor POST en procesa_inventario.php que no existe.

Verifica con un !empty que todos los valores POST que utilices en procesa_inventario.php contengan algún valor antes de comenzar a utilizar el resto del codigo.

Saludos compa.
#15
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Base de datos en SQL, PHP, ASP, Excell.    :-\

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
el tipo de base de datos es sql

...

juliianc95, debes sacar un poco de tiempo para aprender SQL.

Saludos.
#16
Si lo vas a parsear utilizando PHP, te recomiendo que no utilizes expresiones regulares para parsear HTML, te dara posibles bugs en el futuro, por experiencia te lo digo. Mejor ocupa una libreria, como esta:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#17
A esa ventana que aparece se le llama Modal Window y para mostrar la noticias, tendras que combinar las tecnologias de Ajax y DOM.

Saludos.
#18
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

PD: La clave esta en la valor fixed de la propiedad position (CSS) y utilizarla junto a la propiedad scrollTop.

Saludos.
#19
Dudas y pedidos generales / Re:Pregunta sobre mv
Diciembre 22, 2013, 06:54:22 PM
Código: php
mv /home/user/dir1/*.png /home/user/dir2/
#20
CitarÉsto en otros lenguajes es lo que se conoce como eventos, on_change on_maximum por ejemplo...

En realidad, al fondo de los "eventos en los otros lenguaje". Lo que en realidad se implementa es una técnica llamada Inversión de control.

También puedes investigar sobre Inyección de dependencia, aunque ya lo estas implementando en el source.

PD: Si te gusta la "programacion profesional", estoy seguro que estarías sumamente interesado en la creación de aplicaciones empresariales y las metodologías que estas conlleva. PHP todavía esta verde, y muchas cosas deben estar acopladas para poder funcionar en PHP.

Saludos.