JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

Cómo actualizar un fork de un proyecto en GitHub

En mi anterior post explicaba cómo se podía contribuir en proyectos Open Source usando la interfaz de usuario de GitHub. Lo cierto es que es muy sencillo crear un "fork" de un repositorio y trabajar en él hasta el momento en el que queremos aportar una mejora o corregir un bug haciendo un pull request en el repositorio original, como explicaba en ese anterior artículo (léelo antes de continuar si estás familiarizado con el proceso de forking de repositorios en GitHub). Sin embargo hay una situación muy común posterior al "fork" que puede resultar complicada para los más novatos y de la cual apenas se habla: si tengo un repo clonado mediante un "fork" y pasan las semanas o los meses y quiero sincronizarlo con el proyecto original para tener lo último ¿cómo puedo hacer?. En realidad existen diversas formas de conseguirlo usando cualquier cliente de Git y jugando con los "remotes" del repo, pero hoy quiero centrarme solamente en el método más sencillo y directo: usando la interfaz de usua... [Más]

Github: Cómo contribuir en un proyecto Open Source

Github es el centro neurálgico del mundo Open Source. En este enorme almacén de código se encuentran los principales proyectos de código abierto del mundo y todos, desde el programador aficionado hasta las grandes empresas, lo usan para publicar sus proyectos. Pero cuando trabajas en un proyecto Open Source no siempre partes de cero ni es un proyecto propio. Lo más habitual, de hecho, es que colabores en un proyecto de alguien, aportando cambios para corregir errores, añadir características, etc... ¿Cuál es la mejor manera para iniciar esa colaboración? ¿es necesario que te pongas en contacto con el programador principal y que te añada como colaborador? ¿qué cosas debes tener en cuenta? Vamos a verlo... [Más]

Cómo mantener sincronizados los ajustes de Visual Studio Code entre todos nuestros equipos

He de reconocer que cuando Microsoft presentó Visual Studio Code hace ya casi dos años mi primera reacción fue de escepticismo: "¿Otro editor más, por mucho que sea multi-plataforma, para competir consigo mismo y Visual Studio? ¿tratar de robar mercado a Atom y editores similares? Decididamente han perdido el Norte...". La realidad es que con el tiempo he tenido que dejar de lado mis reservas y hoy en día es el editor que más utilizo con diferencia. Se ha convertido en una herramienta imprescindible para mi, y lo tengo instalado en todos mis ordenadores. Encima, como es multiplataforma, lo puedes usar de la misma manera en Windows, Linux y Mac. Me gusta lo ágil que es, lo bien que funciona especialmente para desarrollo web (HTML, CSS, javaScript), NodeJS y no menos importante, Markdown. Y si lo aderezas con unos cuantos complementos, entonces es mucho mejor. Desde que lo lanzaron, todos los meses sacan actualizaciones que lo hacen cada vez un poco mejor. Una de las carencias que presen... [Más]

La dificultad para entender las variables con referencias a objetos

Por lo que veo en las dudas de mis cursos y atendiendo consultas de la comunidad, a muchos programadores inexpertos les cuesta de entrada ver la diferencia entre paso por referencia y valor de parámetros de funciones, pero también la diferencia entre una variable, un valor y una referencia a un objeto. Esto suele pasar tanto en JavaScript como en otros lenguajes. Veamos un caso típico que genera dudas... Si consideramos este código:function modificaObjeto(obj2){ obj2.nombre = "Objeto"; obj2.valor = 5; } var obj = { nombre: "Pepe", valor: 0 }; modificaObjeto(obj); Lo que hacemos es pasar un objeto a la función, y a través del parámetro de ésta modificamos el objeto en si. Si ahora mostramos ese objeto en la consola veremos que se han modificado sus propiedades, como era de esperar, y que el nombre es "Objeto" y el valor es 5. Es decir, hemos modificado sus valores originales porque hemos cambiado el objeto en sí al que apunta la variable, pero no a donde apunt... [Más]

¿Es necesario cerrar todas las etiquetas en HTML5?

Puede parecer una pregunta tonta, pero tiene más "miga" de la que parece.Hace ya unos cuantos años, cuando vio la luz la anterior versión de HTML, "lo más de lo más" por aquel entonces era el lenguaje XML. Estábamos en los tiempos de apogeo de las APIs SOAP, los archivos de configuración basados en XML y hasta las bases de datos basadas en este formato. Teníamos este lenguaje de marcas hasta en la sopa, vamos. A la versión de HTML gestada en aquella época se le llamó, como no, XHTML (de XML Hyper-Text Markup Language). Una de los características de XML es que todas las etiquetas sin excepción se deben cerrar. Esto suponía un pequeño problema con algunas etiquetas de HTML que no necesitan contener a otros elementos, como por ejemplo las imágenes (<img>) o los cambios de línea (<br>), por citar dos de los más comunes. Así que para poder cumplir con la sintaxis de XHTML todas estas etiquetas se auto-cerraban poniéndoles una barra antes del cierre, por ejemplo: <img src="Im... [Más]

Cómo descargar cualquier tabla de datos de la Web en formato manejable

Un truco rápido pero útil para hoy...Hace unos meses os contaba con detalle cómo podíamos procesar mediante Excel cualquier fuente de datos JSON, incluso desde Internet, y convertirla en una tabla de datos. Esto nos permite incluir esa información en una base de datos relacional o, directamente, procesarla mediante las potentes funciones de la hoja de cálculo.En esta ocasión, y a raíz de la consulta de uno de mis alumnos, voy a explicar de manera rápida cómo podemos extraer a toda velocidad y de manera simple cualquier información tabular incluida en una página web.Para ello, otra vez, utilizaremos las potentes capacidades de Excel, pero en esta ocasión de una forma más directa y visual que con JSON, ya que los datos además están ya en formato tabular.Como ejemplo he utilizado un par de tablas de cursos de la página de información sobre Bonificación de campusMVP. Contienen el título del curso, las horas estimadas de estudio y su precio. Lo sé, dos tablas muy sencillas, pero procesar cu... [Más]