JASoft.org

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

MENÚ - JASoft: JM Alarcón

Arreglar el error de que falta un ensamblado en el GAC en una aplicación ClickOnce en una aplicación .NET

Buff, ClickOnce: ¡menuda tecnología del año de la polca! Se nota que soy un viejuno. Lo cierto es que ClickOnce es una tecnología interesante que, aunque no esté tan de moda como en tiempos, se sigue utilizando y mucho. ¿No me crees? Vale, pues prueba a instalar por ejemplo Google Chrome en Windows y la verás en acción. Sí, ese pequeño ejecutable que te salta y que te pide permisos para instalar desde una ubicación remota es ClickOnce en todo su esplendor. En este artículo te cuento cómo solucionar el problema de cuando te sale el mensaje: "
No se ha podido instalar o ejecutar la aplicación. La aplicación necesita XXXXX Versión X.y.zzzz.0 en el GAC". [Más]

Resolver error al conectarse a SQL Server debido al certificado SSL

La situación es la siguiente: vas a conectarte a SQL Server desde un equipo remoto usando exactamente las mismas credenciales que usabas para conectarte en local y, al hacerlo, recibes un error como este, que dice básicamente que aunque se puede conectar, no lo hará porque no puede confiar en la autoridad que ha emitido el certificado... ¿Cómo podemos solucioanr este error? [Más]

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]