#llamada ajax
Explore tagged Tumblr posts
belvedia02 · 2 years ago
Text
Can I have this dance?
Una vez más había llegado la segunda celebración favorita de Enid Sinclair en la Academia Nevermore, el Raven. Este año sería distinto, esta vez no había conseguido una pareja para el baile. Hubo varios interesados inclusos algunas chicas de primer año le habían pedido formalmente asistir con ella al baile, pero ella rechazó a todos, porque la única persona que realmente quería que la invitara, no está interesada en ese evento.
—Enid, desde aquí puedo escuchar tus pensamientos— Le dijo mientras le daba la espalda a su compañera de cuarto, aún estaba en su hora de escritura.
— Lo siento Wends— Enid se lanzó a su cama, en un intento de acallar su grito de frustración, aún no sabía cómo invitar a Wednesday al baile.
—Sigue viendo tu teléfono mientras termina mi tiempo de escritura, que sería en… — Wednesday observó su particular reloj— 10 minutos.
— Lo que digas— Sin moverse para agarrar su teléfono Enid permaneció en la misma posición hasta que Wednesday se levantó de su escritorio y se acercó al lado colorido de la habitación.
Sentándose con ligereza en la cama de Enid, sin que ella lo notase y considerando siempre una distancia razonable, Wednesday le preguntó.
—¿Qué es lo que tanto te preocupa? — Mantuvo su espalda recta y su mirada hacia su escritorio
Enid al escuchar a Wednesday tan de cerca se sobresaltó, aún no entiende como no puede sentir sus movimientos incluso con sus sentidos mejorados gracias a su transformación en lobo durante las noches de luna llena desde el incidente del Hyde. Se sentó con las piernas cruzadas mirando a Wednesday y jugando nerviosamente con sus manos.
—Sabes que queda una semana para el Raven, ¿cierto? — Wednesday asintió— Bien para decirlo en pocas palabras, es que aún no tengo pareja para ir. — Wednesday alzó su ceja derecha en señal de incomprensión. — Estoy segura que al menos has tenido 10 invitaciones en estos días, ¿cómo puede ser que todavía no encuentras a alguien adecuado para asistir a ese baile?
Wednesday había sido testigo de algunas peticiones por parte de algunos estudiantes de primer año, un hecho que la incomodó por razones desconocidas y que se sentía aliviada cuando veía en los rostros de esas chicas al ser rechazadas por su roomie.
— Es que ese es el problema, todavía espero que la persona adecuada me invite— Enid miró fijamente a Wednesday en un intento de comprendiera que era ella la indicada.
—Enid, actúas como si estuviéramos en una época antigua, aprecio aquel tiempo, sobre todo por sus instrumentos de tortura, pero creo que deberías tomar la iniciativa.
— No sé, llámame anticuada, lo prefiero así— Enid estaba indecisa de que este fuera el momento adecuado para invitarla.
—Entonces, no te quejes si un tonto hombre-lobo no te invita y no puedas asistir al baile.
— En eso te equivocas Willa, no espero a un hombre-lobo.
—¿Una gorgona? Después de todo el drama que viviste por su nula preocupación por ti durante las vacaciones extendidas del año pasado.
Enid recordaba perfectamente como fue ignorada por Ajax durante ese tiempo, realmente no era un novio preocupado, sus llamadas y mensajes de texto eran tan esporádicos, que la hacía sentir que solo eran amigos que se besaban.
—No, tampoco es solo que la persona que deseo que me invite es terca y no entiende de las señales.
—Si es así, deberías tomar la iniciativa, insisto porque tampoco entiendo ese tipo de situaciones y como le dije una vez a Tyler; no comprendía su código morse emocional. 
Enid nunca le gustaba oír ni de la persona que estaba detrás del Hyde, ni tampoco del artista que tenía la habilidad de que sus dibujos cobraran vida. Al menos ninguno de los dos está cerca de nosotras. Pensó con disgusto.
— Esperaré un par de días, quizás la suerte me acompañe y unos tres días antes del Raven ya tenga pareja.
—Enid, ya te he dicho en varias ocasiones que la suerte no existe.
—Lo sé, me gusta creer en aquello.
Dieron por terminada su conversación. Enid pensó que quizás esto haya sido el empujó que necesitaba Wednesday para captar finalmente las señales como dijo que quería ser más que su compañera de cuarto y amiga. Por otro lado, Wednesday mientras iba caminando hacia su cama, comenzó a idear un plan para averiguar quien podría ser el interés amoroso de Enid en esta ocasión.
Ese lunes Wednesday siguió de cerca a Enid, especialmente en las horas que no tenían clases. Como lo supuso, continuaron las invitaciones y siguiendo el mismo patrón, Enid los rechazo amablemente. Por su parte, ella recibía una o dos invitaciones, realmente admiraba a los sujetos que se habían atrevido siquiera hablarle. Por supuesto, fueron rechazados sin gesticular ninguna palabra, solo con una mirada hizo que se dieran la media vuelta y se alejaran de su vista.
El martes tampoco fue distinto del día anterior, lo que sí cambió fue que nadie se atrevió a cruzar ninguna palabra con ella.
El día de su onomástica, hubo un ligero cambio, esta vez tuvo compañía en la vigilancia de Enid.
—Te veo preocupada Addams— Yoko se había acercado a ella, sin que notara su presencia.
—Metete en tus asuntos, Tanaka.
—Deberías ser más sincera contigo mismo— Bebió un sorbo de sangre, al mismo estilo que un normie tomaría jugo en caja.
—No sé de lo que hablas. — Se negaba a mirarla, seguía manteniendo su vista en Enid.
—Creo que es obvio para todos, menos para ti.
—¿Todos? Explícate. — Enid había entrado en la cafetería, ya era hora del almuerzo.
— ¡Vamos! Para ser tan inteligente, eres bastante torpe en cuanto a sentimientos se trata.
Wednesday la miró fijamente, para que le explicara lo que acaba de decir.
—¿En serio? Por dios Addams—Suspiró— Esta bien, te lo diré, porque veo que el cachorro tampoco te lo dirá.
—¿Cachorro?
—Tienes sentimientos por Enid, y no son los que se tienen por un familiar, un amigo o lo que sea lo que amen los Addams.
Wednesday sintió que sus latidos se aceleraron, ahora entendía lo que sentía cuando observaba a Enid hablar con los otros estudiantes. Y recordó la conversación del domingo.
—Creo que lo entendiste perfectamente— Yoko se fue sin despedirse, porque su trabajo ya estaba hecho. Esperaba que ya no tendría que escuchar a Enid hablar de su enamoramiento hacia su roomie o consolarla cuando ya veía todo perdido.
Wednesday se saltó el almuerzo y fue hasta su habitación, necesitaba comprobar las palabras de Yoko, para eso había alguien más que podría conocer esta situación.
Observando donde podría estar Thing, Wednesday lo encontró en la cama de Enid leyendo una revista.
—Thing— Siguió pasando las hojas sin prestar atención.
—¡Thing! — Lo llamó una segunda vez, con un tono casi de enfado.
Thing dejo la revista a un lado. Esperando a que Wednesday hablara, después preguntaría.
—¿Sabes quién es la persona con quien Enid desea ir al baile?
—Lo sé— Dio breves golpes en respuesta.
— Y ¿quién es? — Wednesday estaba expectante
Thing la señaló.
—¿Yo? — Podía sentir como sus mejillas adquirían un leve rubor. Ahora todo encajaba perfectamente, los motivos de Enid para rechazar las invitaciones, su conversación del otro día y porque aún no había elegido un vestido
—¿Quizás no irá si no la invito? — Murmuró.
Ahora tendría que idear la mejor forma de invitarla, mucho mejor que esos adolescentes que solo hacían la petici��n sin darle si quiera un regalo. Tendría que darse prisa, para mañana ella invitaría a Enid al Raven.
Enid dejó caer pesadamente su mochila, sin ni siquiera cambiarse, se acostó en su cama con la vista hacia el techo, hoy era el plazo que se había impuesto para tener la esperanza que Wednesday, la invitara, lo bueno es que no había comprado el vestido que había visto la semana pasada. Por unos momentos cerró los ojos, no quería llorar.
Será mejor que me bañe y ver las tareas pendientes de mañana. Enid se levantó y fue a buscar lo necesario para tomar una ducha.
Wednesday entró en su habitación, sabiendo perfectamente que Enid no estaba a la vista, la había visto entrar y se quedó junto a la puerta escuchando hasta que escuchó cerrarse la puerta del baño.
La gran caja negra que traía la dejó en la cama de Enid, acompañado por una rosa negra y una carta sellada con su inicial y salió al balcón.
Enid salió sintiéndose más ligera y aceptando el hecho que tendría que ir sola o quizás acompañar a Wednesday porque de seguro no iría al baile, sin embargo se detuvo cuando vio el gran regalo que estaba en su cama.
Cerca de la cinta negra había un sobre el que abrió y leyó rápidamente, junto a la rosa que tenía en su mano izquierda. Dejó ambas cosas en su escritorio y abrió con cuidado la caja, cuando vio lo que había en su interior, unas cuantas lágrimas de alegría corrieron por sus mejillas.
Necesitaba encontrar a Wednesday para darle su respuesta, no tuvo necesidad de llamarla, vio que estaba apoyada en el balcón mirando hacia adentro.
—Espero que mis averiguaciones hayan sido correctas.
Sin responderle, Enid la abrazó fuertemente. Wednesday correspondió el abrazo.
—Lo fueron, solo pensé que nunca darías con las pequeñas pistas que te di.
—El crédito no es completamente mío, tuve ayuda.
—¿De quién? — Enid se limpió las mejillas y miraba a Wednesday
—De un vampiro y de una mano incorpórea entrometida— Hizo una pausa— ¿Cuál es tu respuesta?
—Debo ser formal y también escribir una nota o puedo darte mi respuesta ahora?
—Informal.
—Sí, quiero ir al Raven contigo.
Esa tarde Enid siguió mirando el vestido, ya estaba pensando en el sábado, lo bueno es que el viernes las clases solo estaban programadas hasta el mediodía, aunque siendo sincera no les prestó atención.
El sábado por la tarde, horas antes del Raven, Enid decidió salir de la habitación necesitaba despejar su mente, así que agarrando su vestido, su maquillaje y su teléfono celular, salió de la habitación para ir donde su amiga Yoko, no podía calmar sus nervios si seguía pensando en aquel baile.  
Wednesday Addams había ido a pasar un rato en la colmena para tranquilizarse, aunque si tuviera que admitir la verdad tendría que decir que fue a calmar sus sentimientos confusos, acerca de ese baile. Ella había asistido a varias fiestas en la mansión Addams, pero en esas ocasiones solo acudían sus familiares. Esta vez era una fiesta escolar, un escenario parecido al ocurrido el año anterior, donde fue engañada por esa mano, llamada Thing, que había confabulado para que asistiera con el hijo del sheriff Galpin.
—Aunque no estoy segura de eso, pues todavía no comienzo mi cortejo hacia quien ocupa mis pensamientos la mayor parte del día— Wednesday verbalizó sus tribulaciones a nadie, sabía que Eugene no iría a revisar a las abejas pues lo había hecho en la mañana, además las abejas no tenían una buena audición o eso era lo que recordaba que le había comentado Eugene en las primeras reuniones de los Hummers. 
Volvió a revisar la colmena número 5 antes de salir e ir a su habitación para enfrentarse con Enid, aunque ya sabía cómo evitarla, se encerraría en el baño hasta salir preparada para el baile de primavera. 
Enid que había llegado sin avisar a la habitación de Yoko, la encontró vacía. 
Supongo que está con Divina. Pensó mientras dejaba sus pertenencias encima de la cama de Yoko. Para relajarse buscó en su lista de reproducción una canción que tenía en modo repetición en su mente, cuando la encontró comenzó a cantar con un tono de voz bastante alto. 
—Ah, why? Ah, why? Ah, why? 
I’m feeling lonely (lonely) 
Cantando los siguientes versos mientras se iba desvestía, se sintió más ligera, llenándose de optimismo y teniendo en cuenta que solo sería un baile con su compañera de habitación, su mejor amiga y la persona de la cual estaba enamorada.
Wednesday había abierto la puerta con decisión, encubriendo su nerviosismo bajo su acostumbrada máscara de seriedad, inspiró fuertemente antes de enfrentar a Enid. Cuál sería su sorpresa en encontrar en absoluto silencio. Había estado convencida de que Enid estaría escuchando su música k-pop. Se sintió aliviada. Con esa aparente tranquilidad comenzó a desvestirse para tomar una breve ducha y alistarse para ese dichoso baile. 
Enid y Wednesday le daban los últimos arreglos a sus atuendos, cuando se miraron en los espejos de los baños de las respectivas habitaciones. Wednesday consideró esperar a Enid en el cuarto, todavía quedaban 15 minutos para el comienzo del baile.  Wednesday no tuvo que esperar demasiado, sintió el ruido de los tacones de Enid, así que preparó su sorpresa detrás de su espalda caminando hasta la mitad de la habitación donde aún quedaban rastros de la cinta negra que ella pegó el primer día que llegó a Nevemore. 
Enid abrió la puerta y lo primero que vio fue a Wednesday en un vestido negro, muy parecido al que usó en el otro baile, aunque tenía unas pequeñas diferencias en las capas de tela que eran mucho menos especialmente en el área del cuello. Enid se maravilló con la vista y se quedó sin palabras al notar que no llevaba sus habituales trenzas. 
Wednesday por su parte también había notado que había acertado con el estilo del vestido, era muy propio debido a su color un rosa pastel con cuatro volantes que le daban un aire sofisticado. También observó cómo sus brazos estaban cubiertos con una tela delgada con un diseño de tallos que se asemejaban a rosas. Sin la necesidad de un gran peinado, llevaba su cabello suelto haciendo lucir sus hermosos ojos azules y sus cicatrices que siempre las había encontrado hermosas. 
Wednesday fue la que se acercó hasta Enid. 
—Enid tu belleza me ha dejado sin palabras, me siento halagada siendo tu compañera de baile, es por esto que humildemente te ofrezco esto— Wednesday le entrega un ramo de 6 rosas negras. Enid la agarra con ambas manos y se la lleva hasta su rostro para apreciar su aroma. 
—Gracias Willa son hermosas— Las dejó junto a la otra rosa que le había regalado hace dos días.
—Bien es hora de irnos.
Wednesday lideró el camino ofreciendo su brazo derecho. Cuando ingresó al salón todos quedaron mirando a la pareja por un breve momento. Saludaron a sus conocidos, compartiendo una breve conversación y cuando el ritmo de la música fue más lento, Wednesday le hizo una petición a Enid.
—¿Me concedes este baile? — Enid agarró la mano que le ofrecía su roomie y danzaron al ritmo del vals.
@choicesprompts
9 notes · View notes
amdisenoweb · 8 years ago
Text
Cuso jQuery: 11 llamada a Ajax, envio formulario
Nueva noticia publicada en https://amdisenoweb.es/cuso-jquery-11-llamada-ajax-envio-formulario/
Cuso jQuery: 11 llamada a Ajax, envio formulario
Tumblr media
AJAX significa Asynchronous JavaScript and XML, es una tecnología que se utiliza mucho en las páginas web, esta tecnología nos permite conectarnos con el servidor web si tener que recargar la pagina, de forma que se ejecuta un servicio o una pagina web sin necesidad de volver a cargar la web.
Por ejemplo cuando usamos formmail.php se llama a ese archivo y se carga otra página web, con la tecnología AJAX no es necesario volver a cargar la web sino que la ejecución de ese archivo se haría en “segundo plano” sin inteferir en el funcionamiento de la web.
Para ejecutar un comando en AJAX desde jQuery es muy sencillo, la sintasix seria similar a la siguiente:
$.ajax( type: //tipo de envio de datos POST o GET url: //nombre del fichero a ejecutar data: //datos que se le van a enviar al fichero success: function(data) //funcion que se ejecutara en caso de que todo vaya bien , error: function(data) //funcion que se ejecutara en caso de que se haya producido un fallo );
Hoy en día podemos encontrar AJAX en cualquier página web, por ejemplo en una tienda online en la que al pinchar en un producto se añade al carrito y la web no se recarga estaría utilizando AJAX.
Vamos a hacer un ejemplo para el envió de un formulario por correo electrónico usando AJAX. Lo primero que vamos a hacer es crearnos un formulario y un div para que nos informe si todo ha ido bien o si se han producido errores.
<style type="text/css"> .correcto border: 2px green solid; .error border: 2px red solid; .resultado display:none; </style> </head> <body> <div class="formulario"> <form class="datos"> <p><input type="text" name="nombre" placeholder="Introduce tu nombre"></p> <p><input type="text" name="email" placeholder="Introduce tu email"></p> <p><textarea name="comentarios" placeholder="Deja tus comentarios" rows="8" cols="40"></textarea></p> <input type="button" class="enviar" value="Enviar"> </form> </div> <div class="resultado"> </div>
Hemos definido una clase correcto y otra error para que el div resultado cambie dependiendo de lo que haya pasado. A continuación usando jQuery y AJAX llamamos a un archivo que sera enviar.php para el envió de los datos por correo electrónico.
<script type="text/javascript" src="js/jquery-3.2.1.min.js"></script> <script type="text/javascript"> $(document).ready(function(e) $(".enviar").click(function(e) $.ajax( type: "POST", url: "enviar.php", data: $(".datos").serialize(), success: function(data) $(".formulario").fadeOut(1000,function() $(".resultado").addClass("correcto"); $(".resultado").html("Se han enviado los datos correctamente, nos pondremos en contacto lo antes posible"); $(".resultado").fadeIn(500); ); , error: function(data) $(".formulario").fadeOut(1000,function() $(".resultado").addClass("error"); $(".resultado").html("No Se han enviado los datos, intentalo mas tarde o envia un correo a info@......"); $(".resultado").fadeIn(500); ); ); ); ); </script>
Llamamos al archivo enviar y le pasamos los datos del formulario, si todo ha ido bien ocultamos el formulario y mostramos un mensaje ademas de poner la clase correcto al mensaje y si todo ha ido mal ademas de ocultar el formulario y mostrar el mensaje ponemos la clase error al resultado.
Por último tendríamos que crear el archivo enviar.php que sera el encargado de que se envíen los datos por correo.
<?php $nombre=$_POST["nombre"]; $email=$_POST["email"]; $comentarios=$_POST["comentarios"]; $destinatario="[email protected]"; $asunto="Peticion de informacion desde la web"; $mensaje="Estos son los datos recogidos de la web <br/>"; $mensaje.="<br/>Nombre: ".$nombre; $mensaje.="<br/>Email: ".$email; $mensaje.="<br/>Comentarios: ".$comentarios; $cabecera="MIME-Version: 1.0\r\n"; $cabecera.="Content-type: text/html;"; $cabecera.="charset=UTF-8\r\n"; $cabecera.="From: ".$nombre."<".$email.">" . "\r\n"; $cabecera.="Reply-To: ".$email. "\r\n"; $cabecera.="X-Mailer: PHP/" . phpversion(); mail($destinatario,$asunto,$mensaje,$cabecera); ?>
El archivo esta hecho para los campos nombre, email y comentarios, si nuestro formulario tuviese mas campos tendríamos que añadirlo de la misma forma que hemos hecho con el nombre el email o los comentarios. Sobra decir que solo funciona en un servidor web real o en un servidor virtual tipo xampp.
0 notes
laplumadel7 · 3 years ago
Text
¿El ocaso de la élite?
Con la debacle del Manchester United el día de hoy se puede confirmar una tendencia de los últimos años, los equipos “clásicos” de Europa ya no están para la máxima competición de clubes. Hubo una época en la que equipos hicieron su historia con base en talento, mística e historia local. Titanes que forjaron su leyenda en sus competiciones locales mucho antes que el negocio y el dinero irrumpiera en el fútbol.
Y fueron esos clubes, los primeros beneficiados cuando los patrocinios y venta de espacios publicitarios en sus playeras, comenzaron. Todos querían asociarse con los más famosos. Y entre ellos se destacaban gigantes por cada país. Real Madrid, Manchester United, Bayern Munich, Inter, Ajax, Milan y algunos más. Los jugadores más grandes quería jugar ahí, porque ahí se ganaban los títulos más grandes, tanto colectivos como individuales. Y se ganaba dinero. La gloria y la fama se encontraban ahí. La comodidad y solvencia también. Era un club cerrado, de vez en cuando se colaba algún plebeyo, pero casi siempre ganaban los mismos. Y parecía que así sería siempre. Era bonito y estaba bien.
Pero de repente llegaron verdaderos millonarios, magnates rusos y jeques buscando en qué podían gastar su dinero. Al tener dinero sin límite y con sanciones económicas que parecen que aplican a todos menos a ellos, se hicieron de fichajes de algunos cracks pero equipos altamente competitivos. Y jugadores jóvenes y ambiciosos, dejaron de soñar en jugar con los grandes. A golpes de billetes, muchas promesas emigraron a los clubes llamados “nuevos ricos”, quienes empezaron a ganar dominio y potencia en una competición de pocos.  Muchos clubes leyenda fueron perdiendo protagonismo, no solo en Europa sino en su liga local. Otros pocos resisten y parece que tienen la capacidad de reinvención. El Madrid, aún sin ser el equipo de aquellos galácticos (ya no pueden pagar lo que otros), sigue ganando Champions y sigue venciendo a estos nuevos ricos.
Pero otros se han ido diluyendo, el otrora poderoso United hoy no es más que un equipo comparsa de liga. Hubo un tiempo en el que referirse al “Manchester”, significaba Manchester United, dicho sea de paso, inspiraba respeto e incluso temor. Cruzarse en una eliminatoria con ellos era durísimo. Hoy, los más jóvenes, asocian el título al Manchester City, el rival citadino que tanto años vivió a su sombra y quien hoy domina a plenitud la Premier League sin que se asome un cercano fin a la hegemonía. Y quizá el Manchester United no se supo reinventar como el Madrid, creyó que por su nombre, su historia y legado, pasaría por la tempestad. O quizá creyó que sería temporal el éxito del rival. Su fórmula ha fallado, sin figuras (Cristiano, Pogba y Mata en franco declive), ni canteranos con el hambre de Scholes, Beckham y compañía, hoy se hunden de a poco en esta competencia sangrienta llamada Champions League, se hunden y se alejan de la élite del fútbol.
0 notes
electrogeekarg · 5 years ago
Link
Continuamos con la sección de entradas dedicadas al ESP8266. En esta ocasión nos toca ver cómo integrar la popular librería AXIOS para realizar peticiones AJAX desde un cliente web a un API REST servido desde el ESP8266.
Hace varias entradas que vimos cómo servir un API REST desde el ESP8266. Por su parte, en las dos últimas entradas hemos hecho un pequeño “paron” para ver los framework VueJS y Vuetify.
Por supuesto, el objetivo de las próximas entradas es integrar todos estos componentes para servir una aplicación en VueJS/Vuetify que comunique con un API REST servida desde el ESP8266. Así que en esta entrada veremos cómo realizar esta comunicación a través del API REST.
Para ello vamos a ver otro componente, la librería AXIOS, una popular librería en Javascript para realizar peticiones. AXIOS nos va a permitir hacer las peticiones AJAX en el cliente de una forma más “limpia”.
Anuncio:
Para ver su uso vamos a basarnos en la entrada en la que serviamos nuestro API REST de ejemplo, correctamente formateado, y vamos a adaptarla para ilustrar la comunicación con el cliente usando AXIOS. Lógicamente, el cambio respecto a esta entrada afecta principalmente al cliente, por lo que toda la parte backend no va a tener cambios.
Es decir, el programa principal del ESP8266 sigue siendo.
#include #include #include #include
#include “config.h” // Sustituir con datos de vuestra red #include “API.hpp” #include “Server.hpp” #include “ESP8266_Utils.hpp”
void setup(void) { Serial.begin(115200); SPIFFS.begin();
ConnectWiFi_STA();
InitServer(); }
void loop(void) { }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include
#include
#include
#include
  #include “config.h”  // Sustituir con datos de vuestra red
#include “API.hpp”
#include “Server.hpp”
#include “ESP8266_Utils.hpp”
  void setup(void)
{
   Serial.begin(115200);
   SPIFFS.begin();
       ConnectWiFi_STA();
       InitServer();
}
  void loop(void)
{
}
Así como la definición del servidor en el fichero ‘Server.hpp’.
AsyncWebServer server(80);
void notFound(AsyncWebServerRequest *request) { request->send(404, “text/plain”, “Not found”); }
void InitServer() { server.serveStatic(“/”, SPIFFS, “/”).setDefaultFile(“index.html”);
server.on(“/item”, HTTP_GET, getRequest); server.on(“/item”, HTTP_POST, [](AsyncWebServerRequest * request){}, NULL, postRequest); server.on(“/item”, HTTP_PUT, [](AsyncWebServerRequest * request){}, NULL, putRequest); server.on(“/item”, HTTP_PATCH, [](AsyncWebServerRequest * request){}, NULL, patchRequest); server.on(“/item”, HTTP_DELETE, deleteRequest);
server.onNotFound(notFound);
server.begin(); Serial.println(“HTTP server started”); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
AsyncWebServer server(80);
  void notFound(AsyncWebServerRequest *request) {
   request->send(404, “text/plain”, “Not found”);
}
  void InitServer()
{
   server.serveStatic(“/”, SPIFFS, “/”).setDefaultFile(“index.html”);
       server.on(“/item”, HTTP_GET, getRequest);
   server.on(“/item”, HTTP_POST, [](AsyncWebServerRequest * request){}, NULL, postRequest);
   server.on(“/item”, HTTP_PUT, [](AsyncWebServerRequest * request){}, NULL, putRequest);
   server.on(“/item”, HTTP_PATCH, [](AsyncWebServerRequest * request){}, NULL, patchRequest);
   server.on(“/item”, HTTP_DELETE, deleteRequest);
       server.onNotFound(notFound);
     server.begin();
    Serial.println(“HTTP server started”);
}
Y del API REST servido que tenemos definido en el fichero ‘API.hpp’.
#include “ESP8266_Utils_APIREST.hpp”
const char* PARAM_FILTER = “filter”;
void getAll(AsyncWebServerRequest *request) { String message = “Get All”; Serial.println(message); request->send(200, “text/plain”, message); }
void getFiltered(AsyncWebServerRequest *request) { String message = “Get filtered by ” + request->getParam(PARAM_FILTER)->value(); Serial.println(message); request->send(200, “text/plain”, message); }
void getById(AsyncWebServerRequest *request) { int id = GetIdFromURL(request, “/item/”);
String message = String(“Get by Id “) + id; Serial.println(message); request->send(200, “text/plain”, message); }
void getRequest(AsyncWebServerRequest *request) {
if (request->hasParam(PARAM_FILTER)) { getFiltered(request); } else if(request->url().indexOf(“/item/”) != -1) { getById(request); } else { getAll(request); } }
void postRequest(AsyncWebServerRequest * request, uint8_t *data, size_t len, size_t index, size_t total) { String bodyContent = GetBodyContent(data, len);
StaticJsonDocument<200> doc; DeserializationError error = deserializeJson(doc, bodyContent); if (error) { request->send(400); return;}
String string_data = doc[“data”]; String message = “Create ” + string_data; Serial.println(message); request->send(200, “text/plain”, message); }
void patchRequest(AsyncWebServerRequest * request, uint8_t *data, size_t len, size_t index, size_t total) { int id = GetIdFromURL(request, “/item/”); String bodyContent = GetBodyContent(data, len);
StaticJsonDocument<200> doc; DeserializationError error = deserializeJson(doc, bodyContent); if (error) { request->send(400); return;}
String string_data = doc[“data”]; String message = String(“Update “) + id + ” with ” + string_data; Serial.println(message); request->send(200, “text/plain”, message); }
void putRequest(AsyncWebServerRequest * request, uint8_t *data, size_t len, size_t index, size_t total) { int id = GetIdFromURL(request, “/item/”); String bodyContent = GetBodyContent(data, len);
StaticJsonDocument<200> doc; DeserializationError error = deserializeJson(doc, bodyContent); if (error) { request->send(400); return;}
String string_data = doc[“data”]; String message = String(“Replace “) + id + ” with ” + string_data; Serial.println(message); request->send(200, “text/plain”, message); }
void deleteRequest(AsyncWebServerRequest *request) { int id = GetIdFromURL(request, “/item/”);
String message = String(“Delete “) + id; Serial.println(message); request->send(200, “text/plain”, message); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include “ESP8266_Utils_APIREST.hpp”
  const char* PARAM_FILTER = “filter”;
  void getAll(AsyncWebServerRequest *request)
{
  String message = “Get All”;
  Serial.println(message);
  request->send(200, “text/plain”, message);
}
  void getFiltered(AsyncWebServerRequest *request)
{
  String message = “Get filtered by “ + request->getParam(PARAM_FILTER)->value();
  Serial.println(message);
  request->send(200, “text/plain”, message);
}
  void getById(AsyncWebServerRequest *request)
{
  int id = GetIdFromURL(request, “/item/”);
    String message = String(“Get by Id “) + id;
  Serial.println(message);
  request->send(200, “text/plain”, message);
}
  void getRequest(AsyncWebServerRequest *request) {
     if (request->hasParam(PARAM_FILTER)) {
    getFiltered(request);
  }
  else if(request->url().indexOf(“/item/”) != –1)
  {
    getById(request);
  }
  else {
    getAll(request);
  }
}
  void postRequest(AsyncWebServerRequest * request, uint8_t *data, size_t len, size_t index, size_t total)
{
  String bodyContent = GetBodyContent(data, len);
     StaticJsonDocument<200> doc;
  DeserializationError error = deserializeJson(doc, bodyContent);
  if (error) { request->send(400); return;}
    String string_data = doc[“data”];
  String message = “Create “ + string_data;
  Serial.println(message);
  request->send(200, “text/plain”, message);
}
  void patchRequest(AsyncWebServerRequest * request, uint8_t *data, size_t len, size_t index, size_t total)
{
  int id = GetIdFromURL(request, “/item/”);
  String bodyContent = GetBodyContent(data, len);
     StaticJsonDocument<200> doc;
  DeserializationError error = deserializeJson(doc, bodyContent);
  if (error) { request->send(400); return;}
    String string_data = doc[“data”];
  String message = String(“Update “) + id + ” with “ + string_data;
  Serial.println(message);
  request->send(200, “text/plain”, message);
}
  void putRequest(AsyncWebServerRequest * request, uint8_t *data, size_t len, size_t index, size_t total)
{
  int id = GetIdFromURL(request, “/item/”);
  String bodyContent = GetBodyContent(data, len);
     StaticJsonDocument<200> doc;
  DeserializationError error = deserializeJson(doc, bodyContent);
  if (error) { request->send(400); return;}
    String string_data = doc[“data”];
  String message = String(“Replace “) + id + ” with “ + string_data;
  Serial.println(message);
  request->send(200, “text/plain”, message);
}
  void deleteRequest(AsyncWebServerRequest *request) {
  int id = GetIdFromURL(request, “/item/”);
    String message = String(“Delete “) + id;
  Serial.println(message);
  request->send(200, “text/plain”, message);
}
Ahora vamos con el cliente, donde sí vamos a tener cambios importantes. El fichero ‘index.html’ cambia para incluir la librería AXIOS bien desde CDN (comentada) o desde la memoria del ESP8266.
ESP8266 Axios
Get All Get Filtered Get by Id
Create
Update
Replace
Delete
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
</span>
          ESP8266 Axios
      charset=“utf-8”>
      name=“viewport” content=“width=device-width, initial-scale=1.0”>
                                                onclick=“getAllRequest()”>Get All
                onclick=“getFilteredRequest()”>Get Filtered
                onclick=“getByIdRequest()”>Get by Id
                                          onclick=“postRequest()”>Create
                                          onclick=“patchRequest()”>Update
                                          onclick=“putRequest()”>Replace
                                          onclick=“deleteRequest()”>Delete
                                                         <span class="crayon-e ">type="text/javascript" src="./vendor/axios.min.js">
          <span class="crayon-e ">src="./js/API.js">
     Por otro lado, hemos externalizado todas las funciones de llamada a nuestro API REST en el fichero ‘API.js’, que contiene las funciones de ejemplo para las respectivas llamadas realizadas empleando la librería AXIOS.
function getAllRequest() { axios.get(‘item’) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }) .then(function () { }); }
function getFilteredRequest() { axios.get(‘item’, { params: { filter : ‘myFilter’ } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }) .then(function () { }); }
function getByIdRequest() { id = 10; axios.get(‘item/’ + id) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }) .then(function () { }); }
function postRequest() { axios.post(‘item’, { data: ‘NewItem’ }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }) .then(function () { }); }
function putRequest() { id = 10; axios.put(‘item/’ + id, { data: ‘NewItem’ }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }) .then(function () { }); }
function patchRequest() { id = 10; axios.patch(‘item/’ + id, { data: ‘NewItem’ }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }) .then(function () { }); }
function deleteRequest() { id = 10; axios.delete(‘item/’ + id) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }) .then(function () { }); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
function getAllRequest()
{
   axios.get(‘item’)
     .then(function (response) {
      console.log(response);
     })
     .catch(function (error) {
      console.log(error);
     })
     .then(function () {
     });
}
  function getFilteredRequest()
{
   axios.get(‘item’, {
      params: {
         filter : ‘myFilter’
      }
     })
     .then(function (response) {
      console.log(response);
     })
     .catch(function (error) {
      console.log(error);
     })
     .then(function () {
     });
}
  function getByIdRequest()
{
   id = 10;
   axios.get(‘item/’ + id)
     .then(function (response) {
      console.log(response);
     })
     .catch(function (error) {
      console.log(error);
     })
     .then(function () {
     });
}
  function postRequest()
{
   axios.post(‘item’, {
      data: ‘NewItem’
     })
     .then(function (response) {
      console.log(response);
     })
     .catch(function (error) {
      console.log(error);
     })
     .then(function () {
     });
}
  function putRequest()
{
   id = 10;
   axios.put(‘item/’ + id, {
      data: ‘NewItem’
     })
     .then(function (response) {
      console.log(response);
     })
     .catch(function (error) {
      console.log(error);
     })
     .then(function () {
     });
}
  function patchRequest()
{
   id = 10;
   axios.patch(‘item/’ + id, {
      data: ‘NewItem’
     })
     .then(function (response) {
      console.log(response);
     })
     .catch(function (error) {
      console.log(error);
     })
     .then(function () {
     });
}
  function deleteRequest()
{
   id = 10;
   axios.delete(‘item/’ + id)
     .then(function (response) {
      console.log(response);
     })
     .catch(function (error) {
      console.log(error);
     })
     .then(function () {
     });
}
Si cargamos todo en el ESP8266, y accedemos a la página web servida, veremos nuestra sencilla (y sí, feísima otra vez) interface para probar que conectamos correctamente con el API REST.
Si pulsamos en los distintos botones podremos comprobar como, efectivamente, el backend en el ES8266 recibe correctamente las peticiones y muestra los datos oportunos en la consola de comandos.
Como vemos, es muy sencillo integrar AXIOS en el ESP8266. Esta pequeña librería nos va a simplificar mucho el trabajo en nuestros proyectos, en especial al trabajar con API REST, haciendo nuestro código más sencillo y mantenible.
Por supuesto, es sólo un ejemplo para ilustrar la comunicación. En un proyecto real habría que definir el API REST, hacer el interface web completo, y hacer las acciones que queramos en el backend. Pero el ejemplo contiene todo el código necesario para hacer las peticiones CRUD (get/post/update/delete) tanto en backend como en frontend.
En las próximas dos entradas continuaremos mejorando este ejemplo, sobre todo la parte del interface web, añadiendo la integración del API REST y AXIOS a nuestras soluciones junto con VueJS y Vuetify ¡Hasta pronto! 
Descarga el código
Todo el código de esta entrada está disponible para su descarga en GitHub.
Si te ha gustado esta entrada y quieres leer más sobre ESP8266 puedes consultar la sección tutoriales de ESP8266
Anuncio:
0 notes
wincatcherses · 5 years ago
Text
Todos saben que mi sueño es entrenar al Barça – Koeman
Tumblr media
Ronald Koeman dijo que "todos saben que es mi sueño entrenar al Barcelona", pero el holandés sigue centrado en los Países Bajos. Koeman había sido vinculado al Barça después de que Ernesto Valverde fuera despedido, antes de que los campeones de La Liga finalmente recurrieran a Quique Setien en enero. El ex defensor del Barça, Koeman, reveló previamente que su contrato con los Países Bajos contiene una cláusula que le permite partir hacia el Camp Nou después de la Eurocopa 2020, aunque el Campeonato de Europa se retrasó 12 meses debido al coronavirus. Koeman, quien se sometió a una cirugía cardíaca en mayo, abordó la especulación del Barça y su futuro. "Recibí una llamada telefónica [desde el Barça], como he explicado muchas veces. Pero quiero mantener mi palabra con el equipo nacional, pensé que tendríamos Euro 2020 este verano", dijo Koeman a Catalunya Radio. "Estoy contento de cómo están las cosas con el equipo nacional y para mí, eso es lo más importante en este momento. Ninguno de nosotros sabe lo que sucederá en el futuro". "En mi contrato, hay una cláusula que me permitirá dejar el trabajo del equipo nacional después de los Euros, pero ahora no es el momento de pensar en eso. Todos saben que es mi sueño entrenar al Barça". "Espero tener la oportunidad de hacerlo en el futuro. Pero, como siempre, eso depende de tu desempeño y éxitos como entrenador. Necesitas mucha experiencia para entrenar a un equipo como el Barça".
El líder de la Liga, el Barça, estaba a dos puntos del rival del Real Madrid cuando la temporada 2019-20 se pospuso en marzo debido a la pandemia de Covid-19. "Es realmente difícil para mí decir lo que pienso sobre el Barça", dijo Koeman, quien ganó cuatro títulos de La Liga y la Copa de Europa / Liga de Campeones durante su estadía en el Camp Nou. "El Barça de hoy no es lo mismo que [Pep] Guardiola, pero sigue siendo un equipo fantástico". "Debido a [Frenkie] De Jong, he estado viendo más de sus partidos. Espero que ganen La Liga. En cuanto a la Liga de Campeones, necesitarán mejorar para tener la oportunidad de ganarla". " El mediocampista internacional holandés Frenkie de Jong se unió al Barça del campeón de Eredivisie Ajax al comienzo de la temporada. De Jong había marcado dos goles y suministrado tantas asistencias en La Liga antes de la suspensión de la liga. El artículo continúa abajo Koeman agregó: "Creo que De Jong es un jugador que puede adaptarse a una nueva posición en el centro del campo, jugando un poco más adelante. Pero todavía creo que su mejor posición es justo en frente de los últimos cuatro, donde juega [Sergio] Busquets". Esa es su mejor posición, donde juega para el equipo nacional y donde jugó con el Ajax. "No es malo adaptarse a otras posiciones. Todavía es joven y hay que darle tiempo a los jugadores jóvenes. En poco tiempo mostrará su calidad con el Barça. Lo hizo con el Ajax y con el equipo nacional". "No tengo dudas de que es el jugador adecuado para el Barça. Sabe que puede hacer más, pero se lo toma todo con calma porque es feliz en el Barça".
from Noticias Wincatchers https://noticias.wincatchers.com/2020/06/07/todos-saben-que-mi-sueno-es-entrenar-al-barca-koeman/
0 notes
asistecno · 5 years ago
Text
Tumblr media
Los lenguajes de programación más populares del mundo
¿Qué lenguaje merece la pena aprender? Si quieres apostar sobre seguro, lo más sensato es optar por los más populares. Son los más utilizados y, por tanto, los que más demanda tienen. Con la ventaja de que disponen de abundante documentación y ayuda.
Como en el mundo real, en informática existen cientos de lenguajes. Y elegir uno no es sencillo. De nuevo, como en los lenguajes humanos, unos son fáciles de aprender pero tienen poco alcance. Otros tienen muchos usuarios, pero quizá no se usan para las tareas que necesitas. O quizá hay varios que te sirven, pero no te decides por uno. Para ayudarte a tomar una decisión, vamos a echar un vistazo a los 10 lenguajes de programación más populares del mundo.
El término popular, es un concepto un poco difuso. Podemos interpretarlo como los 10 lenguajes que más se usan. Pero en algunos casos son lenguajes tan implantados que no crecen. Se usan principalmente para actualizar los programas ya creados, en lugar de diseñar otros nuevos.
Explicamos para qué sirven, sus principales características, y por qué se han vuelto tan populares.
En otros casos un lenguaje de programación crece espectacularmente, pero hay que poner las cosas en contexto. Puede haber crecido un 500% pero porque solo tenía 1000 usuarios, y ha pasado a 5.000 en unas semanas. Pero no es significativo frente a lenguajes que tienen millones de desarrolladores.
Con estas premisas en mente, hemos elegido los 10 lenguajes de programación más populares del mundo, combinando lenguajes con muchos usuarios, otros que han crecido mucho, y otros que son muy demandados en nuestros días.
Los lenguajes de programación más populares
Java
Javascript
Go
Kotlin
Python
Lenguaje C / C++
Scala
Ruby
Swift
Dart
Java
Tumblr media
Desarrollado en 1995 por Sun Microsystems, su principal punto fuerte es que es muy versátil. Puede usarse prácticamente para todo, desde aplicaciones webs a programas de ordenadores, apps de Android, juegos, etc. Minecraft, por ejemplo, se ha creado en Java.
Java es el lenguaje de programación más usado del mundo, según el índice TIOBE. Un puesto que ha mantenido durante varios años, aunque según los meses a veces lo intercambia con el lenguaje C.
No hay que confundirlo con Javascript, que es un lenguaje completamente diferente, también muy popular, y del que hablamos en otro apartado. 
Otra de sus ventajas es que es independiente del hardware. Solo tienes que escribir la aplicación una vez, y funcionará en cualquier ordenador o móvil, mediante un intérprete de Java. Así que de lo único que debes preocuparte es de programar.
Java es un lenguaje estable y seguro, y existe mucha documentación, así que es fácil de aprender. Es un lenguaje orientado a objetos, una forma de programar más sencilla e intuitiva en donde se trabaja con entidades que hacen una función y manejan unos datos. Se trata de relacionar esas entidades, según los datos, para crear los programas.
Google o eBay emplean Java en muchas de sus aplicaciones. Parte de Android está desarrollado en Java.
Javascript
Un error de novato es confundir Java con Javascript, pero no tienen nada que ver. Son lenguajes diferentes con propósitos distintos. Es cierto que Javascript tiene cosas de Java y del lenguaje C, pero no se usan igual.
Como vemos es un lenguaje jerarquizado y muy bien estructurado, en donde resulta sencillo seguir el flujo del programa.
Javascript es el lenguaje más utilizado para escribir aplicaciones dentro de las páginas webs. Funciona directamente en el navegador, así que lo único que necesita para usar Javascript es escribir el programa como un documento de texto, y abrirlo en el navegador como si fuese una página web. El navegador se encargará de ponerlo en marcha:
Tumblr media
Se trata de un lenguaje orientado a objetos, lo que significa que hay una serie de bloques de programación que aceptan ciertos datos, y ofrecen ciertos resultados. Estos objetos son creados por los programadores y compartidos para que todo el mundo pueda usarlos. Así que muchas funciones y herramientas ya estás programadas, y simplemente tienes que añadirlas a tus aplicaciones.
Java es sencillo de aprender, y muy demandado. Pero hay que tener en cuenta que solo sirve para crear herramientas y funciones dentro de una página web, y para poder usarlo antes tendrás que conocer otros lenguajes con los que se crean las propias páginas web, como HTML y PHP. O incluso AJAX, si o vas a usarlo a nivel servidor, y no solo como cliente (usuario de la web).
Go
Go es un lenguaje desarrollado por Google en 2009, que se ha popularizado mucho en los últimos años. Está inspirado en C, pero aspira a ser tan fácil de entender como Python, sin perder la rapidez de C++.
Es un lenguaje procedural, lo que significa que el programa se divide en una serie de componentes o procedimientos, que se pueden utilizar en diferentes partes del programa. Por ejemplo un programa para multiplicar se puede crear usando la componente Suma, que se repite las veces que pida la multiplicación, ya que por ejemplo multiplicar por 3 es sumar el número 3 veces.
Este tipo de programación ayuda a localizar los errores, y permite crear procedimientos muy básicos que se pueden usar en muchas aplicaciones.
Es un lenguaje más simple que en los que se basa, y al mismo tiempo moderno porque ofrece soporte de varios nucleos del procesador, por ejemplo.
Se usa para crear todo tipo de aplicaciones, principalmente aplicaciones web. Netflix y Dropbox están desarrolladas parcialmente en Go.
Kotlin
Kotlin es un lenguaje desarrollado en Rusia en 2016. Aunque no está entre los más populares de la lista TIOBE de 2020, se utiliza mucho para desarrollar aplicaciones Android, desarrollo web, aplicaciones científicas, y apps multiplataforma que van a funcionar tanto en iOS como en Android.
El ambicioso objetivo de Kotlin es sustituir a Java, ofreciendo un lenguaje que puede hacer lo mismo, pero de forma más sencilla. Eso sí, es totalmente compatible con Java, para que las empresas puedan migrar fácilmente.
Puede funcionar con la Máquina Virtual de Java (JVM),  y puede ser compilado a código fuente de Javascript. Incluso puede utilizar los frameworks y librerías de Java existentes.
Apps de Android como Evernote o Coursera, y servicios como Pinterest y Flipboard, usan Kotlin.
Python
Un poco olvidado durante años, el lenguaje Python ha vuelto con fuerza en los últimos tiempos porque se ha descubierto que es perfecto para desarrollar una tecnología que prácticamente no existía cuando el programador holandés Guido van Rossum creó Python, en los años 80: la inteligencia artificial.
Python es un lenguaje muy amigable, porque van Rossum lo desarrolló con el único objetivo de que fuese sencillo de aprender . Sus órdenes y comandos son palabras comunes en inglés, así que su código (lista de órdenes que forman un programa) es fácil de leer:
Tumblr media
Python es sencillo de aprender y sencillo de leer, así que podrás crear fácilmente aplicaciones y podrás seguir sin problemas el flujo del código para encontrar fallos o mejorarlo. Incluso aunque el programa no lo hayas escrito tu.
Con órdenes tan sencillas como Print, imprimes un texto en pantalla. Si tienes una condición, por ejemplo Si el usuario ha acumulado 4 créditos haz esto, y sino haz esto otro. Se usan palabras directas en inglés como If o else.
Es el lenguaje más utilizado en las finanzas, o cuando hay que realizar cálculos y aplicar fórmulas, o desarrollar interfaces. En su contra, que es un poco lento a la hora de ejecutar tareas, con respecto a otros lenguajes.
Y como hemos dicho, resulta que se adapta muy bien a las necesidades de un tipo de inteligencia artificial llamada aprendizaje de máquinas o aprendizaje automático, así que hoy en día tiene un gran demanda.
No solo te resultará sencillo de entender, sino que además podrás ganarte la vida si decides aprenderlo a fondo.
Compañías como Google o la NASA usan Python en algunos de sus proyectos. Es también el lenguaje base de plataformas como Pinterest, Instagram y YouTube.
Sin embargo, no es muy bueno para crear aplicaciones para móviles o aplicaciones web, así que tenlo en cuenta.
C/C++
Tumblr media
Fue creado nada menos que en 1969 por Dennis Ritchie, cuando no exístia la informática doméstica y solo alguna empresas privilegiadas tenían ordenadores.
El lenguaje C es uno de los más antiguos que existen. Y eso, a la postre, ha sido una de sus principales bazas, que lo ha mantenido como el más usado del mundo, junto con Java.
Es un lenguaje que se creó para diseñar sistemas operativos, como Unix y otros muchos. Pero al tratarse de un lenguaje de bajo nivel (muy cercano al hardware de la máquina, pero más difícil de aprender), y muy rápido y eficiente (si está bien escrito), también comenzó a usarse para escribir aplicaciones y programas.
Otra de las ventajas del lenguaje C es que muchos otros lenguajes se basan en él, incluido Java y Javascript. Así que si lo aprendes, adelantarás mucho trabajo con otros lenguajes.
50 años después, buena parte de los programas comerciales que usan las grandes empresas, incluyendo bases de datos, programas de contabilidad, etc., están escritos en C. Y como cuesta muchos sustituirlos por completo, el lenguaje C es muy solicitado para mantener o mejorar aplicaciones ya existentes. Por eso es el más usado.
La variante más popular es el lenguaje C++ (se pronuncia plus plus), también muy utilizado. Es un lenguaje orientado a objetos, así que resulta algo más sencillo de usar, y reutilizar funciones y código. También es más fácil de depurar.
Es más fácil de aprender que C, y está disponible para todas las plataformas. Si vas a empezar de cero, mejor hacerlo con C++ en lugar de C.
Se usa mucho para crear bases de datos, sistemas operativos (parte de Windows y Linux se han creado con C++), videojuegos, y mucho más.
Scala
Como Kotlin, Scala es un lenguaje que intenta ir un poco más allá de Java, sin perder la compatibilidad con él, para que los desarrolladores puedan incorporarlo fácilmente en sus aplicaciones. Fue desarrollado por Martin Odersky, del EPFL, en 2001.
Scala se ejecuta en la máquina virtual de Java, y puede usar las miles de librerías Java y Javascript, así que resulta muy sencillo incorporarlo a las actualizaciones de aplicaciones ya existentes, para integrarlo en cualquier proyecto.
Es un lenguaje de alto nivel, es decir, cercano al usuario: fácil de aprender y escribir. Su punto fuerte es su soporte para extensiones del lenguaje. Permite agregar bibliotecas externas con muy pocos pasos.
Empresas como Twiiter o el BBVA, han usado Scala en algunas de sus aplicaciones. Se emplea también mucho en aplicaciones de análisis de datos y servicios en la nube, gracias a su condición de lenguaje funcional: se basa en funciones que pueden ejecutarse en diferentes núcleos de procesador, o diferentes servidores en una plataforma en la nube.
que pueden ejecutarse en diferentes núcleos de procesador, o diferentes servidores en una plataforma en la nube.
Si quieres aprender los conceptos de Scala, echa un vistazo a esta Introducción a Scala en español, que ofrece la propia web oficial de Scala.
Ruby
Aunque su popularidad en el índice TIOBE ha descendido en los últimos tiempos, sigue siendo uno de los lenguajes más utilizados en 2020.
Hemos querido incluirlo porque es un buen lenguaje para los principiantes, y porque al contrario que otros, es un lenguaje orientado a los humanos, y no al hardware. Es decir, intenta que sea divertido de aprender y usar. Que la máquina se ajuste a nosotros, y no al revés.
Lo explica muy bien su creador, el japonés Yukihiro Matsumoto:
"A menudo la gente, especialmente los programadores, se centran en las máquinas. Ellos piensan, "Haciendo esto, la máquina funcionará más rápido. Haciendo esto otro, la máquina funcionará de manera más eficiente. Haciendo esto..." Están centrados en las máquinas, pero en realidad necesitamos centrarnos en las personas, en cómo hacen programas o cómo manejan las aplicaciones en los ordenadores".
Se usa principalmente para crear aplicaciones web, pero también se pueden creer aplicaciones de escritorio, o apps para el móvil. Apps como Twitter, Github, Airnbn o SoundCloud han sido creadas con parte del código desarrollado con Ruby.
Swift
Swift es un lenguaje de programación creado por Apple para diseñar apps para iOS, Mac, el Apple TV y el Apple Watch. Es el lenguaje oficial de la plataforma Apple, así que necesitas aprenderlo si quieres crear apps para estos sistemas.
Es un lenguaje que sigue creciendo a buen ritmo, y ya está en la posición 11 de la lista TIOBE.
Es rápido y fácil de usar, y lógicamente optimizado para crear aplicaciones para iOS. Además se puede integrar sin problemas el código escrito en Objetive-C.
Apple asegura que su código es 2,6 veces más rápido que Objetive-C, y 8,4 veces más rápido que Phyton.
Apps para iOS como LinkedIn, Airbnb, KickStarter o Khan Academy se han desarrollado en parte o por completo, usando Swift.
Pese a ser un lenguaje de Apple es gratuito, de código abierto, y con compiladores de código para iOS, OS X, watchOS, tvOS y Linux.
Dart
Dart es otro lenguaje creado por Google, con el objetivo de superar algunas de las limitaciones de Javascript.
Se ha vuelto muy popular porque es un lenguaje pensado para desarrollar interfases de usuario: menús, botones de acceso, y otros comandos de entrada que son imprescindibles en las apps de móvil y en las páginas web.
Como vemos aquí, bastan una líneas de código para crear una vistosa pantalla informativa en una app para el móvil:
Tumblr media
Otra ventaja de Dart es que cualquier cambio que hagas, lo ves reflejado inmediatamente en la app. Así que puedes probar cambios sobre la marcha y hacer los ajustes en función del resultado final.
Finalmente, Dart también se puede compilar en código máquina de los procesador ARM (móviles) y x764 (PC), para obtener la máxima velocidad en la ejecución de las apps de móvil o las aplicaciones de escritorio.
0 notes
astillasdetinta · 5 years ago
Link
Todo lo que el fútbol fue, es y será. Todas las razones que justifican que cientos de millones de personas en el planeta contemplen sus vidas a través de este juego atraviesa un diálogo de El secreto de sus ojos (2009), del argentino Juan José Campanella.
En la película, Benjamín Espósito (interpretado por Ricardo Darín) es un funcionario retirado que investiga la muerte y violación de una joven ocurrida en 1974. Ayudado por su amigo Pablo Sandoval (Guillermo Francella), roba unas cartas que ocultan nombres de antiguos futbolistas que quizá les revelen el paradero del asesino.
Las cifras mundiales del fútbol
En 2018, el fútbol generó a nivel mundial más del doble de ingresos que el segundo deporte.
El índice bursátil Stoxx Europe Football,que agrupa a los clubes cotizados, subió un 30% en 2019.
139
40.000 millones de euros
140 puntos
134
130
30.000
120
20.000
110
10.000
104
0100
Fútbol
Fútbol
americano
Béisbol
Balon-
cesto
Jockey
sobre
hielo
Cricket
Rugby
E
F
M
A
M
J
J
A
S
O
N
D
E
2019
2020
Fuente: Fuente: Victor Mathesson, webs de las competiciones, pro-football-reference.com,
quenathockey, transfermarkt.com, Stoxx.com,
EL PAÍS
—¿Te das cuenta, Benjamín? —lanza Pablo—. El tipo puede cambiar de todo, de cara, de casa, de familia, de novia, de religión; de dios, pero hay una cosa que no puede cambiar, Benjamín: ¡no puede cambiar de pasión! El Racing [de Avellaneda]. El fútbol.
El exjugador Jorge Valdano, un héroe de esa pasión, defiende aquí cerca que el fútbol es un deporte infinito. También es resistente como un partisano emboscado. “Ha sobrevivido a dos guerras mundiales, a la deflagración de Yugoslavia y entre medias a muchísimos cambios económicos, políticos y demográficos”, reflexiona Christopher Anderson, profesor de Política Europea en la London School of Economics (LSE). Quizá porque para practicarlo no se necesita ni un equipo caro ni un espacio complejo. Se juega en las favelas brasileñas y en los deprimidos arrabales africanos. Nunca ha dejado de ser un juego global y reconocible. En el campo recrea la tensión y la táctica de las partidas de ajedrez entre Bobby Fischer y Boris Spassky. En las oficinas, las hojas Excel registran un negocio enorme. Un informe de la UEFA describe que en la temporada 2018/2019 aproximadamente el 75% de los clubes de las cinco (España, Francia, Inglaterra, Italia y Alemania) grandes Ligas europeas consiguieron 626 millones de euros en beneficios. Solamente por derechos de retransmisiones internacionales la Premier League (1.526 millones) y LaLiga (897) se embolsan cantidades extraordinarias. El encuentro es millonario. Los ingresos globales del Barça llegan a 840,8 millones de euros —acorde con Deloitte— y los del Real Madrid superan los 757 millones. Una alineación de ricos. Los 20 principales clubes del mundo sobrepasaron la cifra de 9.200 millones de euros en la temporada 2018/2019. Jamás habían generado tanto.
El fútbol no es solo el deporte más popular del planeta, sino también uno de los más rentables. El índice Stoxx Europe Football —reúne a los equipos europeos cotizados— subió un 30% el año pasado, un porcentaje que casi triplica las ganancias del Ibex 35. La economía del fútbol es única. “Dentro de la industria de los deportes profesionales es el más global. La NFL [Liga Nacional del Fútbol Americano] y el béisbol estadounidense casi no tienen mercado exterior, y la NBA, uno pequeño. Pero clubes como el Barça y el Manchester United venden en todo el mundo”, observa Simon Kuper, coautor del libro Soccernomics. “Además, ahora, con el fair play financiero [los equipos deben gastar en un función de sus ingresos], hay más restricciones en los presupuestos, lo que ayuda a que sean más rentables”. De repente todo el mundo pide el balón. Oligarcas, multimillonarios estadounidenses o grupos de capital riesgo.
MÁS INFORMACIÓN
El cáncer del negocio del fútbol
El negocio del fútbol, en llamas
Footters, la televisión del fútbol modesto
“Tener un club de fútbol se ha convertido en un negocio muy lucrativo”, resume Teresa de Lemus, directora en España de la consultora Brand Finance. También supone fichar marca personal, marketing, política; estatus. Acierta Valdano. Es ilimitado. “En términos prácticos, los límites son políticos y de organización. Hay conflictos entre los distintos organismos (FIFA, UEFA, RFEF). Esto no es otra cosa que un reflejo de la pelea por el control del fútbol. Además, los Gobiernos están interesados en utilizarlo para conseguir sus fines. Sin embargo, la gran pregunta aquí es el papel que China va a desempeñar en este juego mundial”, advierte Stefan Szymanski, profesor de gestión deportiva en la Universidad de Míchigan.
Pero todo lo que fue, es y será el fútbol ha llegado a su año cero. “Este deporte, con más de 150 años de antigüedad, acaba de nacer. Estamos en un momento de cambio absoluto en la gestión”, defiende Luis García, responsable de Mapfre AM Behavioral Fund, un fondo que tiene al Ajax de Ámsterdam (5% de la cartera) y al Olympique de Lyon (4,5%) como dos posiciones de peso. Son equipos, sobre todo el Ajax, vendedores (esta temporada traspasaron al Barça a De Jong y De Ligt por 150 millones), con una caja saneada, un estadio en propiedad e ingresos recurrentes. “Por eso el Celta y el Valladolid están presionando a sus Ayuntamientos y amenazan con irse de la ciudad, quieren ser dueños de sus estadios; protegen el negocio”, comenta el presidente de un club de Primera que pide no ser citado.
Esta pasión necesita una verdadera estrategia industrial, que nunca ha tenido. Los formatos de las competiciones apenas han cambiado en décadas. Y pese al éxito, existen fuerzas cíclicas y estructurales que amenazan al juego. Los precios de los traspasos, las comisiones de los agentes y los salarios de los futbolistas están en alturas históricas. Solo en la temporada 2017/2018 los clubes ingleses de la Premier pagaron, según Deloitte, 2.910 millones de euros en nóminas. Y el salario medio del primer equipo del Barça supera —acorde con Sporting Intelligence— los 12,2 millones de euros al año. Unos 235.000 euros semanales, aunque es un dato condicionado por alta la ficha de Leo Messi. Esto añade presión a los grandes clubes por pagar y atraer talento; y a los pequeños por seguir vivos. Sin hacer rehenes, la tecnología está revolucionando las formas de consumir el juego, y las mujeres —pese a que su presencia “solo representa entre el 1% y el 3% en la jerarquía del fútbol”, denuncia Ebru Köksal, presidenta de Women in Football— empiezan a llenar estadios.
Silicon Valley también está inflando la burbuja del juego. El multimillonario Egon Durban, gerente de la firma californiana de private equity Silver Lake y cuyo equipo de fútbol favorito son los desconocidos San Jose Earthquakes, ha invertido 500 millones de dólares en el 10,5% del City Football Group (CFG), dueño, entre otros, del Manchester City de Pep Guardiola. La operación valora al Grupo (controlado por Abu Dabi) en la cifra récord de 4.050 millones de euros. Ningún club deportivo, de cualquier disciplina, alcanza esa tasación. Otro magnate, este de Texas, Dan Friedkin, está cerca de adquirir la Roma por 790 millones. Y se supone que sus asesores —JP Morgan— habrán leído bien el balance. Pues los ingresos operativos (beneficios antes de impuestos, intereses y amortizaciones) fueron negativos en unos 29 millones de euros durante el año fiscal 2018/2019.
Los 20 clubes que más ingresos generaron
Temporada 2018/2019.
Márketing
Derechos de televisión
Entradas
Millones de euros
FC Barcelona
840,8
384
298
159
Real Madrid
757,3
355
258
145
Manchester United
711,5
317
274
121
Bayern Munich
660,1
357
211
92
PSG
635,9
363
157
116
Manchester City
610,6
261
287
62
Liverpool
604,7
210
299
95
Tottenham Hotspur
521,1
152
277
93
Chelsea
513,1
210
227
76
Juventus
459,7
186
209
66
Arsenal
445,6
126
211
109
Borussia Dortmund
377,1
150
167
60
Atlético de Madrid
367,6
100
209
59
Inter de Milán
364,6
155
159
51
Schalke 04
324,8
110
161
54
Roma
231
55
145
32
Olympique Lyon
220,8
57
122
42
West Ham
216,4
41
145
31
Everton
213
45
152
17
Nápoles
207,4
46
145
16
Fuente: Deloitte.
EL PAÍS
Esto sucede dentro, fuera la fiebre del oro pierde fulgor. El boom de los derechos de televisión, el principal motor del crecimiento en la última década del sector, ha cesado. Los ingresos —revela la consultora Enders Analysis— por las subastas de las licencias de la Premier para las temporadas 2019-2022 cayeron un 10%. Es la mayor bajada desde que se paga por ver fútbol en directo en televisión. “El sector ha crecido a doble dígito desde la crisis financiera, por lo que no resulta una sorpresa que el ciclo se esté enfriando”, subraya François Godard, experto de Enders Analysis. Pero avisa: “El problema es que muchos clubes no tienen un modelo sostenible”. Sin los ingresos pasados, cuando vivían en el jardín del Gran Gatsby, no podrán soportar los gastos presentes. Estas cifras están en riesgo. Un club que compite en la Premier tiene garantizados más de 100 millones de libras.
Si se pierde esa felicidad será por la avalancha del dinero. Es la razón que explica que el fútbol inglés domine el negocio. Es una aritmética sencilla. El Manchester City gastó en fichajes entre 2008 y 2012 unos 520 millones de libras, bastante más, incluso, que en los cuatro años de derroche de Abramovich en el Chelsea. Un ejemplo. El Liverpool ha pasado de ser rescatado en 2010 de la bancarrota por el Fenway Sports Group (FSG), un conglomerado estadounidense dueño del equipo de béisbol los Red Sox de Boston, a convertirse en uno de los grandes compradores de futbolistas de la Premier.
Menos licencias
Esta industria sin estrategia empresarial clara tiene razones para estar preocupada por la caída de las licencias. Surgen dudas. “Primero: ¿La disminución de la audiencia en la televisión tradicional tendrá un efecto negativo en lo que los emisores están dispuestos a pagar? Ya vemos algunos signos de saturación. Segundo: La bajada del valor de los derechos televisivos se compensará con un aumento del precio de los nuevos paquetes de contenidos diseñados para atraer a gigantes tecnológicos del streaming como Amazon, donde los fans más jóvenes cada vez pasan más tiempo”, se cuestiona Barry Flanigan, director de producto de la plataforma deportiva COPA90. La tecnología cambia la forma de entender el juego. “Estadísticas avanzadas, visualizaciones interactivas, realidad aumentada”, desgrana Pablo Peña, experto de la consultora StatsBomb. Pero no se detiene. Pese a quien pese. El excesivo número de partidos y torneos que juega la élite del deporte conduce a situaciones que tensan el oficio. El Liverpool se vio obligado a disputar en diciembre dos partidos oficiales en 24 horas a 5.500 kilómetros de distancia. Uno con el equipo profesional, otro con el sub23. “El fútbol y sus parámetros económicos están cambiando. Cada vez es más exigente (entrenamientos, competiciones, desplazamientos) con el jugador. Y toda actividad, ya sea empresarial o humana, se basa en el equilibrio. No es bueno que se rompa”, alerta Manuel García Quilón, quizá el agente de la ­FIFA más poderoso de España.
El mercado de los profesionales
Valor de mercado de los diez futbolistas más cotizados.
Los salarios medios más elevados de los profesionales del deporte mundial en 2019 corresponden al fútbol.
Euros
anuales
Euros
semanales
Millones de euros
Barcelona
11 millones
11
212.050
Mbappé
PSG
225
210.000
Barça y Real Madrid pagan los mejores sueldos del mundo.
Neymar
PSG
196
200.000
Messi
Barcelona
188
Real Madrid
10
10
192.547
Hazard
Real Madrid
163
190.000
Salah
Liverpool
160
180.000
Kane
Tottenham
Juventus
137
9,1
174.456
9
Sterling
Manchester C.
131
170.000
Ocho clubes de baloncesto de la NBA están entre los mejores pagadores.
Griezmann
Barcelona
131
160.000
De Bruyne
Manchester C.
130
8
8
154.218
Pogba
Manchester U.
PSG
128
150.000
Fuente: Sportintelligence y KPMG.
EL PAÍS
La nobleza del fútbol quiere más ingresos frente al imperio de la Premier y los clubes-Estado como el Manchester City o el PSG. Florentino Pérez lidera la ruptura del sistema. La recién creada Asociación Mundial de Clubes, que preside el mandatario blanco, defiende una Superliga europea con ramificaciones internacionales. Tiene el respaldo de Gianni Infantino, presidente de la FIFA, y de cierta oligarquía futbolera —Milan, Barcelona, Arsenal, Manchester United, Liverpool, Chelsea, Manchester City, Bayern de Múnich— del Viejo Continente. Enfrente atruena el enfado de Aleksander Ceferin, responsable de la UEFA y gestor de la Liga de Campeones, el torneo más lucrativo de clubes. La victoria se paga a 19 millones de euros. Pero con el respaldo, siempre incierto, de Infantino, el sueño de Florentino Pérez de una Liga en la que los grandes equipos escriban las reglas y controlen los ingresos está más cerca que nunca. Ceferin contesta a la provocación y sostiene que es una “locura” que los grandes abandonen sus Ligas nacionales.
Cuestionado por la prensa, el técnico del Liverpool, Jürgen ­Klopp, condensa el pensamiento de muchos fans. “Una completa estupidez”. ¿Lo es? “La idea de clubes de diferentes partes del mundo compitiendo es interesante y responde a esa vieja pregunta de hasta qué punto los equipos globales son comparables unos con otros. Por ejemplo, ¿en qué posición de la Liga terminaría el River Plate de Argentina? Según nuestros modelos acabaría en la mitad de la tabla”, expone Ben Marlow, responsable de fútbol de 21st Club.
Pero es el dinero, y no los datos, quien reinventará el fútbol. Infantino quiere más ingresos. Escuchamos al presidente más ambicioso que jamás ha tenido la FIFA. Una institución que hasta ahora se conformaba con organizar el Mundial, un torneo multimillonario de donde procede el 90% de sus ganancias. Sin embargo, anhela más. En 2018 fue obligado —reveló The New York Times— a abandonar un acuerdo de 25.000 millones de dólares con el emporio japonés SoftBank por dos nuevas competiciones y una extensión de la Copa del Mundo de clubes. No lo aprobaron ni su consejo ni algunos clubes. Pero es solo un contratiempo. “Ambiciona cambiar el juego y lo va a lograr”, afirma un experto que le conoce bien y pide el anonimato. Evidencia de esta fortaleza es que se ha sentado —según Financial Times— con CVC Capital Partners, una de las mayores firmas de private equity del mundo, que tiene inversiones importantes en rugby y motociclismo. Sobre la mesa no existe, aún, un nuevo formato de competición. Sin embargo, muchos creen que lo habrá.
Toda esta revolución dejará hermosos vencidos. Especialmente los clubes pequeños. En septiembre, por ejemplo, fue expulsado de la Liga inglesa el Bury Football Club. Un acontecimiento sísmico. Jugaba desde hace 135 años y era la primera vez en la historia de la Tercera División que ocurría algo así. Derrotado por las deudas, lega un vacío. “Fuera de la tierra prometida de la Premier, los clubes dependen de los ingresos de sus mercados locales. Esto significa que quizá la desaparición del equipo en términos económicos o de productividad regional y empleo no sea elevada. Pero la pérdida social resulta enorme”, lamenta James Reade, profesor asociado de Economía de la Universidad de Reading. “Se pierden hábitos, rituales, pertenencia, unión. Ese tipo de cosas a las que resulta imposible poner un valor económico”. Si desaparecen los estadios se malogra, además, uno de los pocos lugares inmunes a la desigualdad del mundo.
Nuevos gestores
Al fútbol español llegan gestores jóvenes y profesionales. Alejados de los viejos modelos oligarcas y nepotistas. El Mallorca ha vivido bastantes temporadas en Segunda e incluso llegó a descender durante 2017 a Segunda B. Años inclementes. “Cuando llegamos nos encontramos con una deuda de 70 millones y tienes que tomar decisiones drásticas y dolorosas: prescindir de gente, cerrar la mitad del estadio porque no es rentable, pero no tienes otra opción”, rememora Maheta Molango, 37 años, consejero delegado del Mallorca. Hoy el club cobra 43 millones de euros por sus derechos y el equipo juega en Primera. “Incluso si descendiésemos, algo que no sucederá, tendríamos unos beneficios de entre 18 y 20 millones de euros”, defiende. Es un cambio de escala y, también, la universalización de un juego hasta dimensiones impensables. Eibar (Gipuzkoa) suma 27.400 habitantes, pero su equipo de fútbol —milita en Primera y tiene un presupuesto de 53 millones— es propiedad de 11.100 accionistas de 69 países. “Para nosotros es algo extraordinario”, incide Jon Ander Ulazia, 32 años, consejero delegado del club, que planea este año una ciudad deportiva y crecer más allá de los actuales 5.500 abonados y 8.100 asientos.
Aunque el juego se abisma hacia sus límites morales. El fútbol juega en algunos casos en estadios construidos con trabajadores-esclavos. Sirve al propósito de déspotas. Blanquea países como Azerbaiyán, China, Qatar o Arabia Saudí, donde los derechos humanos son frágiles. El fútbol europeo quiere su dinero y su poder (la ­FIFA ha concedido el Mundial a Qatar y la UEFA varias finales de sus torneos a Azerbaiyán), pero ignora la responsabilidad de aceptarlo. Sostiene que es apolítico. ¿En qué realidad vive? “China, que ocupa el puesto 177º de 180 países en la clasificación de Reporteros Sin Fronteras (RSF) sobre la libertad de prensa, sigue mostrando conductas que nos preocupan a todos en materia de derechos humanos y, en particular, de libertad de expresión”, advierte Ángel Badillo, investigador principal del Real Instituto Elcano. Mientras tanto, las Ligas europeas y sus clubes no entienden que el crecimiento por todo objetivo es la filosofía del cáncer. Estampan los nombres de casi cualquier compañía en sus camisetas, recorren el mundo vendiendo sus productos y plantan su bandera allí donde creen que pueden ganar dinero a la vez que sostienen la autoridad moral de Nelson Mandela. El fútbol trasciende la vida. O aceptan su legado social o el juego dejará de ser infinito.
OLIGARCAS, JEQUES Y MULTIMILLONARIOS
Nunca la propiedad del fútbol había sido tan compleja. Oligarcas, fondos de private equity, inversores estadounidenses venidos de la NFL (Liga Nacional de Fútbol Americano) o el béisbol, empresas chinas, monarquías absolutistas, aseguradoras, marcas deportivas, familias multimillonarias, aficionados. El balón jamás había pertenecido a tanta gente porque el balón jamás había movido tanto dinero. La revista The Economist cree que ingresa más de 42.000 millones de dólares (37.600 millones de euros) al año. Ningún deporte del mundo tiene esas cifras.
El Paris Saint Germain de Neymar refleja el puzle que es hoy el capital y el juego. Es propiedad de Qatar Sports Investments —creada por el hijo del emir y heredero al trono catarí Sheikh Tamim Bin Hamad al Thani— quien compró en 2011 el 70% de las acciones al PSG. El restante 30% lo adquirió el año siguiente el fondo de capital riesgo californiano Colony Capital, a un precio que valoraba el club en 100 millones de euros. Más al norte, en Alemania, el mítico Bayern de Múnich reparte su propiedad con sus aficionados (75%) y con Adidas, Audi y la aseguradora Allianz. Los tres tienen un 8,33% del equipo. Otro coloso de los nuevos tiempos, el Manchester United, fue adquirido en 2005 por la familia estadounidense Glazar por 790 millones de libras de aquellos años. Desde 2012 cotiza en el New York Stock Exchange y vale unos 3.250 millones de dólares (2.900 millones de euros). Un Manchester distinto, el City, forma parte del City Football Group (CFG), cuya propiedad domina Sheikh Mansour Bin Zayed al Nahyan. Más dos lugartenientes. La firma de private equity Silver Lake (10%) y el holding de entretenimiento CMC (12%). En Italia, donde el fútbol para millones de tifosi es un patrimonio equiparable a las ruinas de Pompeya, el Inter de Milán trasciende el interés de Asia por el juego. El 70% de sus acciones las compró en 2016 el grupo de electrónica chino Suning Commerce Group por 270 millones de euros. La mayor adquisición de un equipo europeo procedente del gigante asiático. Mientras, en España, el Barcelona y el Real Madrid son propiedad de sus socios. Una rareza financiera que tal vez el tiempo acabe por golear.
Sin embargo, cada dueño, cada socio, es atraído al juego por sus propios motivos.“Es difícil entenderlos. Pero, en general, ser dueño de un club tiene un par de ventajas. Para empezar, las valoraciones [económicas] continúan aumentando, por lo que la inversión podía ser una explicación. Sin embargo, la mayoría de los propietarios no compran un equipo para ganar dinero. Por decirlo de forma sencilla: lo hacen porque pocas cosas hay más geniales y de moda que poseer un club. Es el definitivo espacio de la vanidad”, reflexiona Ben Shields, Senior Lecturer de la Escuela de Administración y Dirección de Empresas Sloan del MIT y coautor de The Sports Strategist: Developing Leaders for a High Performance Industry (sin traducción al español). Y avanza: “No sé porque los empresarios estadounidenses están adquiriendo equipos europeos. Una hipótesis es que los equipos deportivos no salen todos los días a la venta en Estados Unidos. Quizá haya más oferta en Europa”. Quizá, el mundo, como el balón, gira.
0 notes
pruebasblog · 6 years ago
Text
Vinicius analiza su 'espaldinha' frente al Villarreal: "La suerte del principiante"
Tumblr media
El brasileño volvió a los terrenos de juego y dejó un movimiento que ha explicado con mucho humor. 
El brasileño Vinicius Júnior volvió a jugar dos meses después un partido con el Real Madrid, recuperado de su lesión y dejando en su reaparición ante el Villarreal una 'espaldinha' casual, al controlar con la espalda sin querer un pase en largo.
"La suerte del principiante", bromeó en las redes sociales Vinicius al publicar la foto del momento en el que controla el balón con la espalda junto a un icono de una cara llorando de risa.
Una dura entrada el 5 de marzo en el partido de la Champions League ante el Ajax, provocó la primera lesión de Vinicius en el fútbol español. Una rotura de ligamentos en la articulación tibioperonea de su pierna derecha frenó en seco la progresión de un jugador que se había convertido en el referente del Real Madrid a sus 18 años.
Tumblr media
Vinicius, en el duelo ante el Villarreal. Foto: Twitter. (@viniciusjunior)
La vuelta de Vinicius
Tras 61 días de baja reapareció Vinicius y recibió el cariño de la afición madridista. "Mantener el foco en lo que se cree, derramar toda la energía que hay en ti y sobre todo, tener actitud. ¡Cree que eres capaz, nunca dudes de las posibilidades, todo es posible! Feliz por volver a jugar! ¡Gloria a Dios por todo!", escribió el brasileño tras volver a jugar.
Desde ahora y con dos jornadas de La Liga por disputarse, Vinicius inicia una carrera por demostrar que está en perfectas condiciones para ser llamado por la selección brasileña que acuda a la disputa de la Copa América, que se celebra en su país del 14 de junio al 7 de julio. Aún no ha debutado con la absoluta después de que la primera llamada del seleccionador Tite, se truncase por la lesión, pero desde la Canarinha se le ha seguido de cerca durante los últimos meses y no sería descabellado pensar en que forme parte de la lista de convocados definitiva.
[Más información: El día V: comienza la era Zidane - Vinicius]
dailymotion
from El Bernabéu :: Últimas noticias - Fútbol http://bit.ly/2Y9U5La via IFTTT
0 notes
adansinacento · 8 years ago
Text
Intentando mantener la seguridad con llamadas AJAX
Yo debería estar escribiendo código en lugar de esto, pero pensé en escribirlo para distraerme un poco.
Así que, mi cuñado me pide que le desarrolle un pequeño sitio administrativo para su empresa, que es una escuela de idiomas, pero me pide que cuide mucho el asunto de la seguridad, dado que en el sitio maneja mucha información personal de sus alumnos.
Yo sé muy poco de seguridad de la información (no te enseñan nada de técnicas de seguridad en la escuela) pero le digo que vale, que yo me encargo, que haré lo que pueda.
Conforme avanza el desarrollo, cada que añado un nuevo feature al sitio me pregunto ¿Cómo alguien más listo que yo podría usar este nuevo feature para robarle a mi cuñado la valiosísima información de sus alumnos?
La mayoría de las veces termino añadiendo un if() y caso cerrado. Let's hope for the best... El problema vino cuando comencé a hacer AJAX requests porque naturalmente uso (con mucha frecuencia) el método $.ajax() de jQuery y termino llamando a un script de php hospedado en algún rincón mi server. Entonces, alguien más listo que yo, podría browsear entre mis archivos .js y terminar dando con la ruta, el método e incluso con los parámetros de cada script de php de manera que fácilmente podrían usar algún software externo (o inclusive el mismo browser) para hacer un GET a "la/ruta/de/el/script.php?params=servidos" Y por la naturaleza (y el propósito) de AJAX la mayoría de esos scripts revelarían información importante. Así comenzó la búsqueda y la misíon, intentar hacer de los AJAX requests algo seguro para el cliente. Empecemos con una definición, por si hay alguien perdido. ¿Qué es AJAX? AJAX (Wikipedia mediante) es el acrónimo de Asynchronous JavaScript And XML. Solo para dejar las cosas claras: en este ejemplo voy a usar Php en el server side Es una técnica de desarrollo que permite la interacción del Client Side con el Server Side en tiempo real sin tener que hacer un page reload. Bueno, eso de
"En tiempo real"
no es tan certero, porque después de todo de ahí viene la primer A de AJAX: asíncrono, esto es, JavaScript corre el código, ejecuta las llamadas AJAX y sigue con lo suyo sin esperar respuesta (la cual de cualquier manera llegará, eventualmente, tarda lo que tardaría cualquier otro server request) En fin, dejemos un momento lo básico y dediquémonos a lo que nos importa: mantener seguros esos server request a menú abierto. Las ideas más obvias ya las cubrí (o eso espero) y de hecho lo hacía desde antes: por ejemplo, verificar el inicio de sesión en los scripts de php para AJAX de la misma manera que lo hago con el resto de los .php del sitio... De nuevo solucionado con un if() que evalúa las variables de $_SESSION[] fácil, pero aun siento muy vulnerable ese sistema, ya que un usuario puede loggearse, darle los valores correctos a todas las variables de $_SESSION[] que necesite y después comenzar a meterse con scripts que no le incumben y que simplemente no debería estar viendo. O bien, aunque no lo necesito yo en este proyecto imaginemos por ejemplo que necesito verificar que el mail del usuario no ha sido registrado antes, para poder hacer INSERT de esos datos en la DB. Ahí estoy en una situación difícil, ya que hacer esto con page requests sería una falta de respeto al UX, la mejor manera, sería un request AJAX que llame a un script, reciba el correo en cuestion por GET o POST verifique en la DB y devuelva, por ejemplo
"El mail ya fue registrado"
O si no
"El mail está disponible"
para cuando sea el caso apropiado. Imaginemos entonces que un hacker se da cuenta de este sistema y comienza a explotarlo debidamente. Un par de horas haciendo requests con algún bot (o desde el mismísimo browser) y ya tiene en su poder todos los mails de tu base de datos, listos para ofertar al mejor postor. La primer opción que me viene a la mente (no sé si la mejor, díganme ustedes, que son los expertos) sería regular el número de requests que el script puede servir, explico: Digamos que al cargar la página, PHP crea una variable de tipo $_SESSION[] y le asigna un valor, 10 por ejemplo. Entonces en el script de Php que sirve al AJAX modifica la variable, restándole 1 y solo sirve el request en caso de que la variable valga más que 0. Naturalmente en caso de no serlo haces la respuesta necesaria indicándole al usuario que debe de hacer un reload manual para poder serguirse valiendo de esa opción, así con el reload la variable vuelve a ser 10 y está lista para volver a ser disminuida a 0, hasta el siguiente reload ad infinitum. Este método puede servir para dificultar el proceso de hacking y te quitas de encima a algunos bots, asegurándote también de que el request solo se haga desde un browser que ha servido tu sitio. Solo por no dejar así las cosas escribo un pequeño ejemplo de como implementaría yo esta acción. En el php principal (que para esta acción llamaremos ClientSide.php) se incluiría:
<?php session_start(); $_SESSION["AJAXreq"] = 10; ?>
Y más adelante:
$.ajax({ url: "ServerSide.php", dataType: "json", data: { mail: request.term }, success: function(data) { alert(data); } });
Y como ya habrán notado mi otro php (el que sirve el AJAX request) se llama ServerSide.php e incluiría (entre otras) estas líneas de código
<?php session_start(); if ($_SESSION["AJAXreq"] > 0){ /* Código para verificar si el mail existe en la DB */ echo "El mail " . (($MailRegistrado == true) ? "ya fue registrado" : "está disponible"); $_SESSION["AJAXreq"]--; } else { echo "Por favor recarga la página para poder seguir verificando"; } ?>
Aunque el código podría llevarse a optimización, esta es una manera sencilla de por lo menos no dejar todas las puertas abiertas. Y así como este hay muchos métodos que podriamos utilizar:
Pensemos en, por ejemplo no solo servir 10 request en cada page reload, sino que limitarlos a 10 por hora, o algo así
Realizar alguna confirmación humana despues de cierto número de requests
Ralentizar el tiempo de respuesta acorde al número de requests
Crear un token en ClientSide.php y verificarlo en ServerSide.php
Más casos recomendados son: Checar el HTTP ORIGIN (aunque esto no ayuda si los request son hechos desde el browser, en tu sitio) o Intenta ocultar tus funciones de JavaScript guardándolas en un archivo .php en lugar de en un .js, para que así puedas medir el nivel de acceso del usuario (en cierta medida). En fin estas son solo un par de ideas, bastante simplonas, pero espero que a alguien le sean de ayuda; además, genuinamente estoy en búsqueda de mas métodos para asegurar el sitio, siéntanse libres de contactarme. Que tengan felices y seguros AJAX requests AdanSinAcento
2 notes · View notes
elarea · 5 years ago
Text
Efemérides 28 de noviembre
Tumblr media
Los restos del avión siniestrado. Hace cuatro años el Planeta Fútbol se conmocionaba por la tragedia aérea del Chapecoense. También se registraron inauguraciones, despedidas, se lograron consagraciones a nivel local, continental y mundial y muchas cosas más.
Recuerden que también pueden escuchar esta Efemérides en el canal Ivoox de “Planeta Fútbol”, de El AreA.
Pasen y vean.
Sucesos
1862- En Nottingham, Inglaterra se funda el Nottingham FC (luego, Notts County FC). Su apodo es “Magpies” (Urracas). Es el club profesional más antiguo del mundo. Milita en el cuarto nivel del fútbol inglés.
1885- En Newark, Nueva Jersey, Estados Unidos y en el Estadio Clark Field un combinado canadiense (Western F.A.) venció a los locales por 1 a 0; éstos representaban a la American F.A. El gol lo marcó Alexander Gibson. Hubo 2.000 espectadores, incluyendo 60 damas. Fue el primer cotejo internacional -no oficial- fuera de Europa.
1926- Se fusionan la Asociación Argentina de Football y la Asociación Amateurs de Football, separadas desde 1919. Los clubes afiliados a esta última obtienen la prerrogativa de que no descenderán durante dos temporadas. El nuevo organismo se llamó Asociación Amateurs Argentina de Football.
Tumblr media
El Casto Martínez Laguarda (Fuente I Florida Ciudad).
1943- En San José, Uruguay, se inaugura el estadio Casto Martínez Laguarda. El 25 de noviembre de 1978 fue reconstruido, agregándose más tribunas entre otras cosas. Ese día se jugó un amistoso entre la Selección de San José de Mayo y la Selección Sub-19 de la República Argentina, que se preparaba para jugar el torneo Juventud de América 1979. Por Argentina jugó el astro mundial Diego Armando Maradona. El partido terminó con victoria argentina 4 a 0 con anotaciones de Ramón Ángel Díaz a los 24', Ronaldo Barrera a los 50' y de Diego Armando Maradona a los 81' y 87'.
1970- En la victoria de Peñarol 2 a 1 sobre Cerro, juega su último partido Néstor Gonçálvez, una de las glorias de los aurinegros. Había debutado en 1957.
1973- Independiente, de Argentina, gana su primera Copa Intercontinental al derrotar a Juventus en Roma por 1 a 0, con gol de Ricardo Enrique Bochini.
1979- Primera final de la Copa América. Paraguay venció por 3-0 a Chile en el Defensores del Chaco.
1995- En Tokyo, Japón, por la Final de la Copa Mundial de Clubes Ajax (Holanda) venció a Gremio (Brasil), por 4 a 3 en los penales. El juego había finalizado 0 a 0.
1995- En Nouakchott, Mauritania, Sierra Leona vence a los locales (4 a 3 en los penales) adjudicándose la edición de la Copa Amílcar Cabral. Este torneo entre selecciones de África Occidental, se jugó entre 1979 y 2007. El citado fue un líder revolucionario de Guinea Bisáu, que logró la independencia de esta colonia y de Cabo Verde (ex dominios portugueses).
1999- El arquero paraguayo José Luis Chilavert estableció un récord a nivel mundial: en el partido que Vélez goleó a Ferro por 6 a 1, se convirtió en el primero en su puesto en marcar un hattrick (tres goles en un mismo encuentro).
2000- Boca Juniors obtiene la Copa Intercontinental al ganarle 2 a 1 al Real Madrid en Tokio con dos goles de Martín Palermo.
2012- En Ecuador el Barcelona SC se consagra campeón de la temporada 2012 tras 15 años.
2016- Se produce la llamada "Tragedia de Medellín". El avión que trasladaba al equipo brasileño Chapecoense se estrelló y provocó la muerte de 71 personas, entre jugadores, cuerpo técnico, dirigentes, periodistas y personal de la aerolínea LaMia. El conjunto de la región de Santa Catarina, que durante el torneo había eliminado a Independiente y a San Lorenzo, se dirigía a Colombia para jugar el partido de ida de la final de la Copa Sudamericana ante Atlético Nacional. Sólo hubo seis sobrevivientes.
Nacimientos / Muertes
1955- En Sonnino, Provincia de Latina, Italia, nace Alessandro Altobelli, exdelantero italiano campeón con su selcción en el Mundial de 1982. Jugó siempre en Italia.
Tumblr media
Alessandro Altobelli.
1978- A los 76 años murió Antonio Vespucio Liberti, quien fuera durante varios periodos presidente del Club Atlético River Plate. A modo de homenaje, el estadio Monumental lleva su nombre.
Partidos
Amateurismo 1915
Peñarol 4 X 0 Wanderers River Plate 1 X 1 Central
Ese año el campeón fue: Nacional. Descendieron: Bristol e Independencia.
Primera Inicio de la 1F Rueda por el título de 1970
Peñarol 2 X 1 Cerro
Ese año el campeón fue: Nacional. Descendió: Rampla Juniors.
Segunda 9F 2R de la Temporada 1981
Colón 1 X 0 El Tanque Alto Perú 0 X 2 Racing Basáñez 1 X 1 Universidad Mayor La Luz 1 X 2 Oriental Salus 2 X 1 Central Español Villa Española 1 X 1 Rentistas
Ese año el campeón fue: Tanque Sisley Descendieron: Universidad Mayor y Alto Perú.
A pesar de ser campeón el Tanque Sisley no ascendió pues se disputó un Repechaje entre Primera y Segunda División que se saldó con la permanencia de Liverpool en la Primera División, descendiendo Fénix a la Segunda, División desde donde no lograron ascender El Tanque Sisley y Racing.
Tumblr media
Plantel de El Tanque de 1981 que no logró el ascenso. (Fuente I Julio Giovinatti).
Tercera
9F Temporada 2010/11 de la Segunda División B Amateur.
Potencia 0 X 1 Platense Mar de Fondo 0 X 4 Oriental Basáñez 1 X 2 Torque Colón 4 X 0 Albion Villa  Teresa 2 X 1 Uruguay Montevideo Parque del Plata 4 X 2 Alto Perú
Ese año el campeón fue: Villa Teresa.
Fuentes I Archivos Propios, Efemérides futboleras, CIHF y CIHEFE
0 notes
wincatcherses · 5 years ago
Text
La Juventus se une a la carrera por Iling-Junior ya que el Chelsea teme perder al extremo de 16 años
El joven tiene una gran demanda, con jugadores como el PSG, el Bayern de Múnich, el Ajax y el Schalke que se han relacionado con el Chelsea, la estrella del U-17 de Inglaterra, podría perder al extremo de 16 años Samuel Iling-Junior en el verano, con la Juventus El último club en unirse a la carrera por su firma. Paris Saint-Germain es otro gran contendiente para fichar a Iling-Junior, y también se rumorea que el Bayern de Múnich, Ajax y Schalke están interesados. Los Blues están ansiosos por vincular al internacional Sub-17 de Inglaterra con su primer contrato profesional, pero están preocupados de que pueda verse tentado a irse. La temporada 2019-20 marcó la campaña innovadora para el delantero, a quien se considera uno de los mejores en su grupo de edad que impresionó en el equipo de menores de 18 años de Ed Brand. El Borussia Dortmund se ha relacionado con hacer un movimiento para el otro talento de ataque superior del Chelsea del mismo grupo de edad, Charlie Webster, a quien los londinenses occidentales buscan firmar en términos profesionales. Sin embargo, el Chelsea tiene más confianza en renovar el acuerdo de Webster, con el jugador de 16 años listo para un papel destacado en Brand la próxima temporada. Frank Lampard ya ha dado ocho debuts a estrellas de la academia desde la base de entrenamiento Cobham del club esta temporada y se espera que la nueva dirección del gerente pueda ayudar a retener a los jóvenes más talentosos. Ruben Loftus-Cheek, Mason Mount, Reece James, Fikayo Tomori, Billy Gilmour y Armando Broja han optado por renovar sus acuerdos esta temporada, mientras que los Blues también están en conversaciones avanzadas para vincular a Tammy Abraham a un nuevo contrato a largo plazo. Mientras tanto, Tino Anjorin ya ha acordado los términos, pero el anuncio sigue pendiente mientras el club intenta realizar un anuncio formal, algo que está resultando más difícil en medio del brote de coronavirus. Del mismo modo, la confirmación de la extensión de un año de Olivier Giroud se retiene por las mismas razones. Con la incertidumbre en torno al mercado de transferencias en el fútbol mundial, Chelsea ha priorizado fortalecer su academia con nuevos talentos en los últimos meses en una campaña de reclutamiento agresiva. Ya han fichado a varios jugadores juveniles de Escandinavia, incluidos los jóvenes finlandeses Jimi Tauriainen y Lucas Bergstrom, el talento noruego Bryan Fiabema y Edwin Andersson de Suecia. El artículo continúa abajo También están compitiendo con el Atlético de Madrid para fichar a Mohamed Sankoh de Stoke City. La FA, la Premier League y la EFL se han movido para cancelar las competiciones juveniles con el Chelsea como líder de la división Sub-23 llamada Premier League 2. Los Blues también estaban en disputa para ganar la Premier League de menores de 18 años y la FA Youth Cup, aunque esta última aún no se ha cancelado oficialmente.
from Noticias Wincatchers https://noticias.wincatchers.com/2020/05/19/la-juventus-se-une-a-la-carrera-por-iling-junior-ya-que-el-chelsea-teme-perder-al-extremo-de-16-anos/
0 notes
isabella880 · 5 years ago
Text
Reinventarse en la cuarentena coruñesa produciendo contenido audiovisual en casa
La empresa coruñesa de videomarketing especializada en streaming Miraveo no cesó su actividad durante el estado de rebato. Todo lo contrario: encontró la forma de reinventarse y producir contenido audiovisual desde casa para Delikia. La marca emite semanalmente un software en el que el campeó de baristas de España, Marcos González, desvela los secretos del café en directo gracias a la costura que hacen a distancia los trabajadores de Miraveo.
La empresa Delikia barajaba desde hace tiempo la idea de Root Café, que consiste en una nueva itinerario de este producto “para llegar al usuario”, remotamente de las máquinas de vending de la firma. Cuando el tesina comenzaba a tomar forma, apareció el coronavirus y se decretó el estado de rebato. “No podíamos salir a rodar ni estar juntos en un rodaje. Nos reunimos, hablamos y decidimos combinar las herramientas que ya teníamos: el uso del streaming y la idea de Root Café”, explica el director de proyectos de Miraveo y diestro en live streaming, Jairo Aldana. Fue entonces cuando decidieron crear un producto en formato televisivo exclusivamente online para promocionar Root Café, así como unas “píldoras” o vídeos de corta duración con la misma temática.
Los responsables de Miravea le hicieron calar una cámara GoPro, unos fotos y un micrófono al protagonista de los vídeos, Marcos González. Con todo esto, monta su propio tablas y manda la señal con la imagen y el sonido a la empresa encargada de gestionarlo. Hay ocho personas trabajando desde sus casas en diferentes aspectos de la retransmisión, conectadas todas a un ordenador central desde donde se hace la realización. “Hemos desarrollado sistemas que estaban ahí pero que no habíamos usado, como la fusión de llamadas”, explica Aldana, que indica que su costura requiere ahora más compenetración y una emplazamiento diaria para organizar los contenidos y anañizar como se desarrolla el trabajo.
La mayoría de las empresas se muestran reacias a este sistema, dicen que la conexión puede errar y que las audiencias “son relativas”. A los responsables de Miraveo les costó convencerlas de que esta opción para crear contenidos tiene un “potencial grande” y ahora ya hay otras dos marcas interesadas en hacer un tesina similar al de Delikia. “Se puede hacer y funciona”, concluye Aldana. Y si todavía hay dudas, siempre se puede recapacitar que ya fue posible durante el confinamiento.
Sus otros proyectos
AFundación le encargó a esta empresa la retransmisión de los eventos que tenía programados en sus sedes y que ahora forman parte del tesina AFundación na casa, que emite cada día en directo y que acumulan más de 130.000 personas de audiencia. “Hacemos llegar la señal a nuestro control de realización desde la cámara del ordenador, del móbil o cualquier otra que use el ponente y le metemos música, rótulos, ráfagas, cabeceras…”, explica el director de proyectos de Miraveo, que concreta que desarrollan diferentes formatos como entrevistas, clases de yoga o charlas sobre temas muy variados. En total, común unas cinco horas diarias de contenido que se emiten en tres canales distintos.
Miraveo, que ya trabajó con la irradiación de recetas Pescanova en directo o el formato entrevistas con Pull&Bear, todavía se encargó de la realización del evento de clausura de la asociación de transportistas Asetrans, con Luís Fraga como moderador. “Antes los eventos solo se consideraban en presencial, pero esta útil viene para quedarse con aquellos compatibles con su realización online“, asegura Jairo Aldana.
Una de las ventajas que la empresa detectó respecto a los eventos tradicionales es la billete de la clan, menos reacia a formular preguntas cuando está al otro flanco de la pantalla, por lo que hay más interacción con el moderador. En cuanto a los ponentes, este sistema facilita su disponibilidad y los hace más accesibles al no tener que preocuparse por problemas de dietario, vuelos o alojamiento. Además, el superficie no es definido: una charla “que funcione bien” tiene unas 1.200 personas de audiencia, poco impensable en un teatro.
Aldana asegura que se han regalado cuenta de que es posible utilizar la webcam del ponente o expedir a un cámara para conseguir una imagen de mejor calidad y hacer la realización desde casa. “Ya no vamos a alucinar como hacíamos antaño, un equipo de seis o siete personas para cubrir un evento“, indica el diestro en live streaming. El coste, de esta forma, se reduciría y optimizaría sin compendiar la calidad del trabajo.
eventosScrollLoad.push(function() { !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '283470385904458'); fbq('track', 'PageView'); }); var facebook_cargado=0; var instagram_cargado=0; var twitter_cargado=0; var flickr_cargado=0; var tiktok_cargado=0; var facebook_cargar=0; function oembed_generar () { var oembed_divs=document.getElementsByClassName('wp-block-embed__wrapper'); for(var i=0;i<oembed_divs.length;i++) { var url=oembed_divs[i].innerHTML.trim(); if(url.match(/^http/)) { if(url.match(/twitter/)) { oembed_elemento_invocar("twitter",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/instagram/)) { oembed_elemento_invocar("instagram",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/facebook/)) { facebook_cargar=1; oembed_elemento_invocar("facebook",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/spotify/)) { oembed_elemento_invocar("spotify",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/vimeo/)) { oembed_elemento_invocar("vimeo",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/dailymotion/)) { oembed_elemento_invocar("dailymotion",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/flickr/)) { oembed_elemento_invocar("flickr",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/datawrapper/)) { oembed_elemento_invocar("flickr",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/tiktok/)) { oembed_elemento_invocar("tiktok",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } } else { if(url.match(/class="twitter-tweet"/)) { oembed_elemento_sustituir("twitter",null,""); } if(url.match(/class="instagram-media"/)) { oembed_elemento_sustituir("instagram",null,""); } if(url.match(/class="fb-post"/)) { oembed_elemento_sustituir("facebook",null,""); } } } /*SE CARGAN LOS SCRIPTS*/ } function oembed_elemento_invocar(tipo,div,url) { var req = generar_ajax(); req.onreadystatechange= function () { if (req.readyState != 4) {return;} if (req.status == 200) { oembed_elemento_sustituir(tipo,div,req.responseText); } else {} req = null; } req.open("GET", url, true); var encoded=""; req.send(encoded); } function oembed_elemento_sustituir (tipo,div,respuesta) { if(div!=null) { div.innerHTML=respuesta; } if(tipo=='instagram') { if(instagram_cargado==0) { console.log("cargamos instagram"); cargarscript("https://www.instagram.com/embed.js"); instagram_cargado=1; } } if(tipo=='twitter') { if(twitter_cargado==0) { console.log("cargamos twitter"); cargarscript("https://platform.twitter.com/widgets.js"); twitter_cargado=1; } } if(tipo=='flickr') { if(flickr_cargado==0) { console.log("cargamos flickr"); cargarscript("https://embedr.flickr.com/assets/client-code.js"); flickr_cargado=1; } } if(tipo=='tiktok') { if(tiktok_cargado==0) { console.log("cargamos tiktok"); cargarscript("https://www.tiktok.com/embed.js"); tiktok_cargado=1; } } if(tipo=='facebook' && !facebook_cargado) { if(facebook_cargado==0) { console.log("cargamos fb"); cargarscript("https://connect.facebook.net/es_ES/sdk.js?xfbml=1&version=v3.2&appId=444569736084554"); facebook_cargado==1; } } } eventosScroll2.push(function() {oembed_generar();}); eventosScroll2.push(function() { if(!facebook_cargar) { cargarscript("https://connect.facebook.net/es_ES/sdk.js#xfbml=1&autoLogAppEvents=1&version=v3.2&appId=444569736084554"); } }); from La Crónica Coruña https://lacronicacoruna.com/reinventarse-en-la-cuarentena-corunesa-produciendo-contenido-audiovisual-en-casa/ from La Crónica Coruña https://lacronicacoruna.tumblr.com/post/617628435777568768
0 notes
lacronicacoruna1 · 5 years ago
Text
Reinventarse en la cuarentena coruñesa produciendo contenido audiovisual en casa
La empresa coruñesa de videomarketing especializada en streaming Miraveo no cesó su actividad durante el estado de rebato. Todo lo contrario: encontró la forma de reinventarse y producir contenido audiovisual desde casa para Delikia. La marca emite semanalmente un software en el que el campeó de baristas de España, Marcos González, desvela los secretos del café en directo gracias a la costura que hacen a distancia los trabajadores de Miraveo.
La empresa Delikia barajaba desde hace tiempo la idea de Root Café, que consiste en una nueva itinerario de este producto “para llegar al usuario”, remotamente de las máquinas de vending de la firma. Cuando el tesina comenzaba a tomar forma, apareció el coronavirus y se decretó el estado de rebato. “No podíamos salir a rodar ni estar juntos en un rodaje. Nos reunimos, hablamos y decidimos combinar las herramientas que ya teníamos: el uso del streaming y la idea de Root Café”, explica el director de proyectos de Miraveo y diestro en live streaming, Jairo Aldana. Fue entonces cuando decidieron crear un producto en formato televisivo exclusivamente online para promocionar Root Café, así como unas “píldoras” o vídeos de corta duración con la misma temática.
Los responsables de Miravea le hicieron calar una cámara GoPro, unos fotos y un micrófono al protagonista de los vídeos, Marcos González. Con todo esto, monta su propio tablas y manda la señal con la imagen y el sonido a la empresa encargada de gestionarlo. Hay ocho personas trabajando desde sus casas en diferentes aspectos de la retransmisión, conectadas todas a un ordenador central desde donde se hace la realización. “Hemos desarrollado sistemas que estaban ahí pero que no habíamos usado, como la fusión de llamadas”, explica Aldana, que indica que su costura requiere ahora más compenetración y una emplazamiento diaria para organizar los contenidos y anañizar como se desarrolla el trabajo.
La mayoría de las empresas se muestran reacias a este sistema, dicen que la conexión puede errar y que las audiencias “son relativas”. A los responsables de Miraveo les costó convencerlas de que esta opción para crear contenidos tiene un “potencial grande” y ahora ya hay otras dos marcas interesadas en hacer un tesina similar al de Delikia. “Se puede hacer y funciona”, concluye Aldana. Y si todavía hay dudas, siempre se puede recapacitar que ya fue posible durante el confinamiento.
Sus otros proyectos
AFundación le encargó a esta empresa la retransmisión de los eventos que tenía programados en sus sedes y que ahora forman parte del tesina AFundación na casa, que emite cada día en directo y que acumulan más de 130.000 personas de audiencia. “Hacemos llegar la señal a nuestro control de realización desde la cámara del ordenador, del móbil o cualquier otra que use el ponente y le metemos música, rótulos, ráfagas, cabeceras…”, explica el director de proyectos de Miraveo, que concreta que desarrollan diferentes formatos como entrevistas, clases de yoga o charlas sobre temas muy variados. En total, común unas cinco horas diarias de contenido que se emiten en tres canales distintos.
Miraveo, que ya trabajó con la irradiación de recetas Pescanova en directo o el formato entrevistas con Pull&Bear, todavía se encargó de la realización del evento de clausura de la asociación de transportistas Asetrans, con Luís Fraga como moderador. “Antes los eventos solo se consideraban en presencial, pero esta útil viene para quedarse con aquellos compatibles con su realización online“, asegura Jairo Aldana.
Una de las ventajas que la empresa detectó respecto a los eventos tradicionales es la billete de la clan, menos reacia a formular preguntas cuando está al otro flanco de la pantalla, por lo que hay más interacción con el moderador. En cuanto a los ponentes, este sistema facilita su disponibilidad y los hace más accesibles al no tener que preocuparse por problemas de dietario, vuelos o alojamiento. Además, el superficie no es definido: una charla “que funcione bien” tiene unas 1.200 personas de audiencia, poco impensable en un teatro.
Aldana asegura que se han regalado cuenta de que es posible utilizar la webcam del ponente o expedir a un cámara para conseguir una imagen de mejor calidad y hacer la realización desde casa. “Ya no vamos a alucinar como hacíamos antaño, un equipo de seis o siete personas para cubrir un evento“, indica el diestro en live streaming. El coste, de esta forma, se reduciría y optimizaría sin compendiar la calidad del trabajo.
eventosScrollLoad.push(function() { !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '283470385904458'); fbq('track', 'PageView'); }); var facebook_cargado=0; var instagram_cargado=0; var twitter_cargado=0; var flickr_cargado=0; var tiktok_cargado=0; var facebook_cargar=0; function oembed_generar () { var oembed_divs=document.getElementsByClassName('wp-block-embed__wrapper'); for(var i=0;i<oembed_divs.length;i++) { var url=oembed_divs[i].innerHTML.trim(); if(url.match(/^http/)) { if(url.match(/twitter/)) { oembed_elemento_invocar("twitter",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/instagram/)) { oembed_elemento_invocar("instagram",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/facebook/)) { facebook_cargar=1; oembed_elemento_invocar("facebook",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/spotify/)) { oembed_elemento_invocar("spotify",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/vimeo/)) { oembed_elemento_invocar("vimeo",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/dailymotion/)) { oembed_elemento_invocar("dailymotion",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/flickr/)) { oembed_elemento_invocar("flickr",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/datawrapper/)) { oembed_elemento_invocar("flickr",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/tiktok/)) { oembed_elemento_invocar("tiktok",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } } else { if(url.match(/class="twitter-tweet"/)) { oembed_elemento_sustituir("twitter",null,""); } if(url.match(/class="instagram-media"/)) { oembed_elemento_sustituir("instagram",null,""); } if(url.match(/class="fb-post"/)) { oembed_elemento_sustituir("facebook",null,""); } } } /*SE CARGAN LOS SCRIPTS*/ } function oembed_elemento_invocar(tipo,div,url) { var req = generar_ajax(); req.onreadystatechange= function () { if (req.readyState != 4) {return;} if (req.status == 200) { oembed_elemento_sustituir(tipo,div,req.responseText); } else {} req = null; } req.open("GET", url, true); var encoded=""; req.send(encoded); } function oembed_elemento_sustituir (tipo,div,respuesta) { if(div!=null) { div.innerHTML=respuesta; } if(tipo=='instagram') { if(instagram_cargado==0) { console.log("cargamos instagram"); cargarscript("https://www.instagram.com/embed.js"); instagram_cargado=1; } } if(tipo=='twitter') { if(twitter_cargado==0) { console.log("cargamos twitter"); cargarscript("https://platform.twitter.com/widgets.js"); twitter_cargado=1; } } if(tipo=='flickr') { if(flickr_cargado==0) { console.log("cargamos flickr"); cargarscript("https://embedr.flickr.com/assets/client-code.js"); flickr_cargado=1; } } if(tipo=='tiktok') { if(tiktok_cargado==0) { console.log("cargamos tiktok"); cargarscript("https://www.tiktok.com/embed.js"); tiktok_cargado=1; } } if(tipo=='facebook' && !facebook_cargado) { if(facebook_cargado==0) { console.log("cargamos fb"); cargarscript("https://connect.facebook.net/es_ES/sdk.js?xfbml=1&version=v3.2&appId=444569736084554"); facebook_cargado==1; } } } eventosScroll2.push(function() {oembed_generar();}); eventosScroll2.push(function() { if(!facebook_cargar) { cargarscript("https://connect.facebook.net/es_ES/sdk.js#xfbml=1&autoLogAppEvents=1&version=v3.2&appId=444569736084554"); } }); from La Crónica Coruña https://lacronicacoruna.com/reinventarse-en-la-cuarentena-corunesa-produciendo-contenido-audiovisual-en-casa/
0 notes
lacronicacoruna · 5 years ago
Text
Reinventarse en la cuarentena coruñesa produciendo contenido audiovisual en casa
La empresa coruñesa de videomarketing especializada en streaming Miraveo no cesó su actividad durante el estado de rebato. Todo lo contrario: encontró la forma de reinventarse y producir contenido audiovisual desde casa para Delikia. La marca emite semanalmente un software en el que el campeó de baristas de España, Marcos González, desvela los secretos del café en directo gracias a la costura que hacen a distancia los trabajadores de Miraveo.
La empresa Delikia barajaba desde hace tiempo la idea de Root Café, que consiste en una nueva itinerario de este producto “para llegar al usuario”, remotamente de las máquinas de vending de la firma. Cuando el tesina comenzaba a tomar forma, apareció el coronavirus y se decretó el estado de rebato. “No podíamos salir a rodar ni estar juntos en un rodaje. Nos reunimos, hablamos y decidimos combinar las herramientas que ya teníamos: el uso del streaming y la idea de Root Café”, explica el director de proyectos de Miraveo y diestro en live streaming, Jairo Aldana. Fue entonces cuando decidieron crear un producto en formato televisivo exclusivamente online para promocionar Root Café, así como unas “píldoras” o vídeos de corta duración con la misma temática.
Los responsables de Miravea le hicieron calar una cámara GoPro, unos fotos y un micrófono al protagonista de los vídeos, Marcos González. Con todo esto, monta su propio tablas y manda la señal con la imagen y el sonido a la empresa encargada de gestionarlo. Hay ocho personas trabajando desde sus casas en diferentes aspectos de la retransmisión, conectadas todas a un ordenador central desde donde se hace la realización. “Hemos desarrollado sistemas que estaban ahí pero que no habíamos usado, como la fusión de llamadas”, explica Aldana, que indica que su costura requiere ahora más compenetración y una emplazamiento diaria para organizar los contenidos y anañizar como se desarrolla el trabajo.
La mayoría de las empresas se muestran reacias a este sistema, dicen que la conexión puede errar y que las audiencias “son relativas”. A los responsables de Miraveo les costó convencerlas de que esta opción para crear contenidos tiene un “potencial grande” y ahora ya hay otras dos marcas interesadas en hacer un tesina similar al de Delikia. “Se puede hacer y funciona”, concluye Aldana. Y si todavía hay dudas, siempre se puede recapacitar que ya fue posible durante el confinamiento.
Sus otros proyectos
AFundación le encargó a esta empresa la retransmisión de los eventos que tenía programados en sus sedes y que ahora forman parte del tesina AFundación na casa, que emite cada día en directo y que acumulan más de 130.000 personas de audiencia. “Hacemos llegar la señal a nuestro control de realización desde la cámara del ordenador, del móbil o cualquier otra que use el ponente y le metemos música, rótulos, ráfagas, cabeceras…”, explica el director de proyectos de Miraveo, que concreta que desarrollan diferentes formatos como entrevistas, clases de yoga o charlas sobre temas muy variados. En total, común unas cinco horas diarias de contenido que se emiten en tres canales distintos.
Miraveo, que ya trabajó con la irradiación de recetas Pescanova en directo o el formato entrevistas con Pull&Bear, todavía se encargó de la realización del evento de clausura de la asociación de transportistas Asetrans, con Luís Fraga como moderador. “Antes los eventos solo se consideraban en presencial, pero esta útil viene para quedarse con aquellos compatibles con su realización online“, asegura Jairo Aldana.
Una de las ventajas que la empresa detectó respecto a los eventos tradicionales es la billete de la clan, menos reacia a formular preguntas cuando está al otro flanco de la pantalla, por lo que hay más interacción con el moderador. En cuanto a los ponentes, este sistema facilita su disponibilidad y los hace más accesibles al no tener que preocuparse por problemas de dietario, vuelos o alojamiento. Además, el superficie no es definido: una charla “que funcione bien” tiene unas 1.200 personas de audiencia, poco impensable en un teatro.
Aldana asegura que se han regalado cuenta de que es posible utilizar la webcam del ponente o expedir a un cámara para conseguir una imagen de mejor calidad y hacer la realización desde casa. “Ya no vamos a alucinar como hacíamos antaño, un equipo de seis o siete personas para cubrir un evento“, indica el diestro en live streaming. El coste, de esta forma, se reduciría y optimizaría sin compendiar la calidad del trabajo.
eventosScrollLoad.push(function() { !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '283470385904458'); fbq('track', 'PageView'); }); var facebook_cargado=0; var instagram_cargado=0; var twitter_cargado=0; var flickr_cargado=0; var tiktok_cargado=0; var facebook_cargar=0; function oembed_generar () { var oembed_divs=document.getElementsByClassName('wp-block-embed__wrapper'); for(var i=0;i<oembed_divs.length;i++) { var url=oembed_divs[i].innerHTML.trim(); if(url.match(/^http/)) { if(url.match(/twitter/)) { oembed_elemento_invocar("twitter",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/instagram/)) { oembed_elemento_invocar("instagram",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/facebook/)) { facebook_cargar=1; oembed_elemento_invocar("facebook",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/spotify/)) { oembed_elemento_invocar("spotify",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/vimeo/)) { oembed_elemento_invocar("vimeo",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/dailymotion/)) { oembed_elemento_invocar("dailymotion",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/flickr/)) { oembed_elemento_invocar("flickr",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/datawrapper/)) { oembed_elemento_invocar("flickr",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } else if(url.match(/tiktok/)) { oembed_elemento_invocar("tiktok",oembed_divs[i],"https://www.elespanol.com/quincemil/ajax/ajax_oembed.php?url="+url); } } else { if(url.match(/class="twitter-tweet"/)) { oembed_elemento_sustituir("twitter",null,""); } if(url.match(/class="instagram-media"/)) { oembed_elemento_sustituir("instagram",null,""); } if(url.match(/class="fb-post"/)) { oembed_elemento_sustituir("facebook",null,""); } } } /*SE CARGAN LOS SCRIPTS*/ } function oembed_elemento_invocar(tipo,div,url) { var req = generar_ajax(); req.onreadystatechange= function () { if (req.readyState != 4) {return;} if (req.status == 200) { oembed_elemento_sustituir(tipo,div,req.responseText); } else {} req = null; } req.open("GET", url, true); var encoded=""; req.send(encoded); } function oembed_elemento_sustituir (tipo,div,respuesta) { if(div!=null) { div.innerHTML=respuesta; } if(tipo=='instagram') { if(instagram_cargado==0) { console.log("cargamos instagram"); cargarscript("https://www.instagram.com/embed.js"); instagram_cargado=1; } } if(tipo=='twitter') { if(twitter_cargado==0) { console.log("cargamos twitter"); cargarscript("https://platform.twitter.com/widgets.js"); twitter_cargado=1; } } if(tipo=='flickr') { if(flickr_cargado==0) { console.log("cargamos flickr"); cargarscript("https://embedr.flickr.com/assets/client-code.js"); flickr_cargado=1; } } if(tipo=='tiktok') { if(tiktok_cargado==0) { console.log("cargamos tiktok"); cargarscript("https://www.tiktok.com/embed.js"); tiktok_cargado=1; } } if(tipo=='facebook' && !facebook_cargado) { if(facebook_cargado==0) { console.log("cargamos fb"); cargarscript("https://connect.facebook.net/es_ES/sdk.js?xfbml=1&version=v3.2&appId=444569736084554"); facebook_cargado==1; } } } eventosScroll2.push(function() {oembed_generar();}); eventosScroll2.push(function() { if(!facebook_cargar) { cargarscript("https://connect.facebook.net/es_ES/sdk.js#xfbml=1&autoLogAppEvents=1&version=v3.2&appId=444569736084554"); } }); from La Crónica Coruña https://lacronicacoruna.com/reinventarse-en-la-cuarentena-corunesa-produciendo-contenido-audiovisual-en-casa/
0 notes
pruebasblog · 6 years ago
Text
Las claves del "fichaje imposible" de Mbappé por el Real Madrid
Tumblr media
El club blanco desmiente que prepare una oferta por el francés y asegura que es una opción "irreal" debido a que tiene contrato hasta 2022 con el PSG. 
El pasado 11 de marzo, tras presentar a Zinedine Zidane como nuevo entrenador del Real Madrid, Florentino Pérez dejó abierta la puerta a la llegada de Neymar (27 años, Brasil) o Kylian Mbappé (20 años, Francia). Fue la primera vez que el presidente blanco se refirió públicamente en esos términos a las dos estrellas del PSG.
"Es francés y se lleva bien con Mbappé, podría hacer algo...", aseguró el máximo mandatario merengue al ser preguntado sobre si el regreso de Zidane podría ayudar a fichar a su compatriota. Además, no se mojó al elegir entre el galo o Neymar. "Los dos", afirmó. Florentino Pérez, muy cuidadoso siempre en sus declaraciones, lanzó así su particular guiño a ambos futbolistas. 
Un guante que parece haber recogido tanto Neymar como Mbappé. El brasileño, tal y como adelantó EL BERNABÉU, espera una llamada del club blanco porque quiere regresar a España. Por su parte, el francés, que había mostrado su confianza en el proyecto del PSG, ya no está tan seguro de su continuidad e incluso un familiar suyo confirmó que el crack se ve "jugando en el Real Madrid". 
La maquinaria merengue para los fichajes de verano ya está en marcha desde la eliminación ante el Ajax en la Champions. La primera incorporación de cara al próximo curso fue Militao, aunque el acuerdo estaba cerrado ya de antes. Por su parte, Hazard está muy cerca y su llegada debería ser la siguiente en confirmarse.
Pero sin lugar a dudas, el gran reto del Real Madrid para este verano sería el de poder firmar a Mbappé o Neymar. El galo siempre se ha visto como una opción completamente imposible.
El Real Madrid desmiente la 'Operación Mbappé'
Hay una serie de claves que han hecho que Mbappé ganara enteros últimamente como posible fichaje del Real Madrid. Sin embargo, en el club blanco califican la operación desvelada por France Football como "irreal" y aseguran que no preparan "ninguna oferta".
De hecho, el Real Madrid no quiere ningún malentendido con el PSG y, tal como ocurriera con Neymar en el pasado, nunca interferirá en la relación del conjunto francés con ninguna estrella. Sin embargo, esa puerta mínimamente abierta se debe más a las dudas de Mbappé que a cualquier movimiento, que no ha habido, de la entidad merengue.
Según puede confirmar EL BERNABÉU, el club blanco está trabajando en la actualidad en otras opciones de su lista como Hazard o Pogba. No obstante, el equipo blanco se mantiene muy atento al mercado y a cualquier cambio que pudiera haber en la situación de los grandes cracks, y lógicamente Mbappé y Neymar están entre ellos. 
Tumblr media
Kylian Mbappé, en la gala del Balón de Oro Reuters
Los motivos de las dudas de Mbappé
El fracaso del PSG en Champions
Quiere ganar un Balón de Oro
El Madrid busca un jugador franquicia
El regreso de Zidane
La eliminación en octavos de final de la Champions ha sido un duro mazazo para Mbappé. Por segundo año consecutivo, el conjunto galo fracasaba en la máxima competición continental de forma estrepitosa a las primeras de cambio. 
En un principio, Mbappé salió para alejar los rumores sobre una posible salida. No era el momento, el caso es que después de un tiempo de reflexión sabe que la Ligue-1 se le queda pequeña y que al PSG le falta experiencia y competitividad en la competición continental más importante. Todo lo contrario que al Real Madrid, que ha ganado cuatro de las últimas cinco. 
Uno de los grandes objetivos de Mbappé es ser el mejor jugador del mundo y ganar el Balón de Oro. Sabe que, precisamente, ese fracaso en la Champions le ha eliminado de la carrera por el de 2019. Incluso es de la opinión de que con otra actuación en el torneo más importante de clubes el pasado año, hubiera sido reconocido con los premios individuales en lugar de Modric.
El joven Kylian sabe que el Real Madrid es el mejor lugar posible para ganar el Balón de Oro, ya que lucharía de tú a tú con Leo Messi y estaría en el mejor equipo de la historia. 
Otro punto clave para que se haya abierto mínimamente la posibilidad de ver a Mbappé de blanco es la vuelta de Zinedine Zidane al banquillo del Real Madrid. El entrenador mantiene una gran relación con el crack del PSG y ya intentó su contratación antes de que firmara por el conjunto parisino. 
Para Zidane, Mbappé es una de las grandes joyas de la actualidad. Ambos se conocieron cuando el futbolista era solo un niño. Si alguien puede sacar al mejor actual francés del momento de la Ligue-1, ese es Zizou. 
Tras la marcha de Cristiano Ronaldo, el club blanco tiene libre el puesto de jugador franquicia. Ese líder dentro y fuera del campo. Aquí entra también en juego el marketing, por ejemplo. Mbappé, al igual que Neymar, es uno de los pocos futbolistas que puede tener ese rol.
El francés sabe que este verano es una oportunidad única para recalar en el Real Madrid y por eso ya no tiene segura su continuidad en el PSG. Dejó escapar un vez el tren blanco y hacerlo por una segunda vez podría ser definitivo. Quizá no esperaba que volviera a pasar tan rápido, pero las circunstancias se han dado así. 
Si Mbappé decide finalmente dar el paso y abandonar el PSG, el club galo tendría un grave problema. Al-Khelaifi sabe que el francés no es Neymar y que no sería una cuestión económica. Todo dependerá de lo que esté dispuesto a hacer el jugador para salir, aunque en cualquier caso sería una situación difícil para la entidad parisina.
El caso de Mbappé es distinto al de Verratti o Rabiot al ser una estrella mundial y actual líder del proyecto. Ahí está Cristiano Ronaldo, que abandonó el Real Madrid por propia voluntad y el club blanco tuvo que facilitar su salida a la Juventus. 
Hay (muy pocas) opciones para el fichaje de Mbappé, que por mínimas que sean ya son más que las que había hace escasas semanas. Todo puede pasar cuando están por medio el Real Madrid y Florentino Pérez. Una operación altamente difícil, una misión ahora (casi) imposible.
from El Bernabéu :: Últimas noticias - Fútbol https://ift.tt/2WmPVi7 via IFTTT
0 notes
koudnouts · 6 years ago
Text
Confirmación de acción
Los actionlinks nos permiten ejecutar una acción del controlador:  <td>@Html.ActionLink("Eliminar", "DeleteRecurso", "Market", new { id = r.id, confirm = true }, null) </td>
Al hacer click en este enlace se ejecutará esta acción del controlador.
    public ActionResult DeleteProducto(int id, bool confirm = false)        {            if (confirm)            {                Models.Market market = new Models.Market();                market.DeleteProducto(id);            }            return RedirectToAction("Index");        }
Hemos intentado dar un parámetro de confirmación de borrado, dado que esta es una operación que deseamos confirmar. Sin embargo este parámetro se obtiene del lado del cliente, por lo que no vemos forma de cambar ese “confirm”, que es estático.
Para ello necesitamos recurrir a una función javascript de confirmación y una ejecución de la acción del controlador si procede.
function confirmDelete(url,data) {    if (confirm("Desea realmente elinminar?")) {        console.log("delete");        $.ajax({            url: url,            data: data        }).done(function () { alert("Acción realizada") });    } }
Sustituiremos el actionlink anterior por la una llamada a esta función para el evento click.
<td onclick="confirmDelete('@Url.Action("DeleteRecurso","Market")',{id: @r.id, confirm:true})"> Eliminar</td>
0 notes