logo

midulive


Transcribed podcasts: 605
Time transcribed: 13d 3h 7m 36s

This graph shows how many times the word ______ has been mentioned throughout the history of the program.

Un nuevo método para validar URLs en JavaScript, que esto normalmente la gente lo hace con un montón, un montón de bibliotecas, historias y está muy chulo.
Aunque es curioso, mira que es raro, no siempre decimos esto, pero es curioso que esto sí que ha llegado primero a Firefox.
Esto es raro, porque normalmente las cosas estas primero llegan a Chrome, luego llegan a... y Firefox solo es el último.
En cambio, este método ha llegado ya a Firefox.
¿Cuál es el método? Pues este, un nuevo método para validar URLs en JavaScript.
Y se llama url.canparse, que te dice si lo puede parsear.
Y así lo que está haciendo es validar realmente si la URL tiene sentido, si tiene su protocolo, si tiene la URL correcta y tal.
A ver, muchas veces es un poco, lo que voy a comentar es un poco polémico, pero la definición de URL es un poco laxa.
Quiero decir que tened en cuenta que esto, este método puede ser un poco tricky.
Vamos a ver si funciona en Firefox ya.
Esto, vamos a ver esto por aquí.
CanParse.
¿Vale? ¿Veis? Ya funciona.
Entonces, podéis utilizar este método para decir, yo que sé, ¿puedo parsear google.es?
Claro, nos va a decir que false.
¿Por qué? Porque esto en realidad no es una URL, esto sería el dominio.
Y no tenemos en realidad ni protocolo, no tenemos el protocolo, no tenemos nada.
Así que necesitamos como mínimo tener el protocolo, HTTP, por ejemplo, google.es.
Y aquí sí que te diría si puede o no puede parsear.
Claro, ¿qué pasa? Que hay veces que FTP también es una URL.
¿Ves? FTP dos puntos barra barra google.es.
Así que tenete en cuenta, porque esto es una cosa que mucha gente se cabrea.
Es que claro, dice que es válida, pero a mí no me interesan los FTPs.
Bueno, claro, eso es una validación que URL tiene una definición concreta.
Y tú lo que quieres es que sea algo más específico de lo que realmente es una URL, ¿no?
Sí, también, por ejemplo, si le pones puertos así extraños, pues también va a funcionar, ¿no?
Le puedes poner midudev como protocolo.
Claro, el tema es que le puedes poner cualquier protocolo, porque los protocolos, esto cuando lo parseas,
lo que vas a tener por aquí es decir, bueno, pues esto es el protocolo midudev.
Y esto al parsearlo, cuando hagas new URL y esto hagas esto, vas a tener que el protocolo midudev puede ser.
Es que tenete en cuenta que los protocolos, ¿veis? Aquí seguramente saldrá hostname, no sé qué, protocol, midudev dos puntos.
Tiene sentido. ¿Por qué tiene sentido?
A ver, tenete en cuenta que los protocolos no son limitados, no existen ya.
Por ejemplo, el protocolo de BitTorrent se creó a posteriori.
Cada aplicación puede tener su propio protocolo para saber que es su propio enlace.
Así que hay que tener en cuenta que estas URLs, que son URLs profundas, se van creando sobre la marcha.
No son URLs que ya existen y que están especificadas.
Claro, conocemos HTTP y todo esto, y si lo que queréis, lo que podéis hacer es revisar que el protocolo que se usa sea el correcto.
La base de datos, por ejemplo.
Nada, hay un montón.
Mira, hay una pregunta muy buena que estáis haciendo, ¿no?
Que decís, ¿no tendría que llamarse isParseable?
CanParse me suena si podés, si podés o no.
Claro, tiene sentido.
A ver, esto es un ejemplo de buenas prácticas de JavaScript.
A ver, cuando utilizamos el isParseable, esto sería para el valor, ¿no?
El value, y entonces el isParseable sería para el valor.
Entonces aquí tendría sentido.
Pero si queremos crear una función para revisar, mucha gente podría hacer check isParseable, ¿no?
Por ejemplo, aquí han puesto canParse, que tampoco está mal, porque cuando se utiliza algún tipo de...
Cuando es un método o una función, se utiliza una acción, un verbo.
Entonces, tiene sentido, ¿no?
Por eso canParse no es tan mal nombre, ¿vale?
Podríamos tener otro tipo de, yo sé, check isParseable.
Pero bueno, canParse me parece corto y va al grano.
Get isParseable, joder, get isParseable es como demasiado, ¿no?
Podría haber sido url.validate, no sé.
Pero bueno, no me parece mal nombre.
Y hombre, quiero pensar que lo ha hecho gente que sabe más que nosotros, que se han estado peleando con el nombre.