Banner de perfil
0

Antonio J. Tomas

@antonioj-tomas

Alicante, Spain

Simplemente espectacular

Antonio J. Tomas@antonioj-tomas

Creía que sabía algo de HTML, pero con este curso he aprendido los detalles que realmente hacen que entienda realmente para qué sirve cada tag.

Un placer haber seguido este curso, con explicaciones tan precisas y prácticas a la vez. Enhorabuena, seguiré con CSS a ver que tal se me da.


content no se autorellena

Antonio J. Tomas@antonioj-tomas

Estimada comunidad, haciendo el ejercicio de este video, me he encontrado con que en la segunda linea, cuando voy a usar la propiedad content de template, VSCode no me la sugiere, y es más me cambia el contenido el cual tengo que forzar. ¿Alguien sabe por qué?

Adjunto captura:


El origen de todos los males

Antonio J. Tomas@antonioj-tomas

Personalmente creo que el type coertion, es el origen de muchos fallos en programación con lenguajes de tipado dinámico. Prefiero personalmente el tipado fuerte, que evita muchos fallos.


Qué es Vanilla JS ?

Antonio J. Tomas@antonioj-tomas

Profesor, he leído varias veces este término, pero estoy confuso al respecto de su significado. Se trata de una librería de JS, o es un standard concreto de JS ?. Gracias.


rows.Close()

Antonio J. Tomas@antonioj-tomas

He mirado en la documentación: https://golang.org/pkg/database/sql/#Rows.Close, y literalmente dice:

"If Next is called and returns false and there are no further result sets, the Rows are closed automatically and it will suffice to check the result of Err."

Si llamamos a Next() y devuelve falso y no hay más resultados, Rows es cerrado automáticamente, y bastará con chequear el resultado de Err().

Esto haría innecesario el hacer el defer rows.Close(). He visto mucho código de acceso a MySQL, que no hace uso de esta sentencia en el mismo.

Por lo que entiendo yo, el uso de esta sentencia solamente previene seguir enumerando en un futuro (Close closes the Rows, preventing further enumeration ), pero esto solo lo veo posible, en el hipotético caso de que se vuelva a hacer uso de la misma variable rows, más adelante.


Ejemplo de receptor de valor

Antonio J. Tomas@antonioj-tomas

La explicación es espectacular, solo quería añadir como ejemplo de los paquetes de Go, como receptor de valor, el caso del paquete "time", donde tanto los tipos Duration y Time, usan este tipo de receptor, ya que aquí solo se requiere acceder a los valores, y no se requiere el cambiarlos.

Me encantan estos ejemplos claros y directos que dejan clara la filosofía de Go al respecto de este tema. Excelente explicación.


Composicion vs Herencia

Antonio J. Tomas@antonioj-tomas

Yo entiendo que Go permite la composición, que es un mecanismo más dinámico para construir objetos que la herencia donde suponer con mucha antelación, la forma futura en que se usará mi programa. Por lo que desde mi punto de vista, Go es totalmente orientado a objetos desde ese punto de vista. La herencia se creó como método de creación de nuevos objetos a partir de otros preexistentes, y esto tb se puede abordar mediante composición. Me parece un acierto por parte de los creadores del lenguaje Go.