Una sinfonía en C#

Un pequeño aporte a la comunidad de habla hispana.

Javascript:¿Qué pasa cuando se mezclan el tipado débil y la concatenación?

Todos sabemos que Javascript es debilmente tipado, es decir, existen tipos de datos pero podemos hacer cosas como cambiar el tipo de una variable:

var a = "hola";
console.log(a);
a = 1;
console.log(a)

Y no pasa nada, también podemos comparar diferentes tipos sin mucho problema:

if("hola" == 1){
 //hacer algo
}

Y tampoco pasa nada, de hecho en este caso la comparación resulta ser false, pero podría ser true por la conversión de tipos:

if("1"==1){
//hacer algo
}

Esto último da como resultado true.

El tema del que quiero hablar es una curiosidad que es consecuencia de esto mismo; en el último if lo que hace Javascript es convertir comparar sin importar el tipo, es decir, hace una conversión para saber la equivalencia entre los dos valores, algo similiar pasa cuando concatenamos strings

"hola " + 1

El resultado es "hola 1", ya que Javascript convierte el 1 en un string, hasta acá todo bien, veamos otro ejemplo:

"123"+45

da como resultado "12345", es decir un string concatenado, pero...si hacemos:

"123"-45

Da como resultado 78, porque el signo - no sirve para concatenar strings, pero sí para restar, entonces en el caso de la suma Javascript convierte el 45 en un string y los concatena, pero en el caso de la resta convierte el "123" en un número y los resta, awesome.

Nos leemos pronto.

Problemas deshabilitando Hyper-V en Windows 10

La cosa es que necesitaba correr una máquina virtual en VMWare y éste no es compatible con Hyper-V pero yo lo tenía habilitado (porque los emuladores de Visual Studio lo querieren) así que hice lo que había hecho otras veces en el pasado, ir a “funcionalidades de Windows” y deshabilitar todo lo relativo a Hyper-V

 

image

Después de eso Windows pide reiniciar, decimos que sí, claro, pero al volver  iniciar nos dice que no pudo hacer los cambios y Hyper-V sigue ahí…todo mal.

La solución

Finalmente encontré en Stack exchange la solución, una línea de comando que evita que Hyper-V se reactive (que al parecer era el problema):

bcdedit /set {current} hypervisorlaunchtype off

 

Y si queremos habilitarlo de nuevo

 

bcdedit /set {current} hypervisorlaunchtype auto

 

En fin...cosas...nos leemos

Trucos en CSS: Ellipsis no funciona en las tablas

Hace ya un buen tiempo que contamos con la posibilidad de usar ellipsis, esto es, si un texto es más largo de lo que queremos mostrar simplemente seteamos algunas propiedades css para que llegado un punto se corte y muestre unos puntos al final, algo así:

.text {
    width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

Y funciona muy bien

image

Excepto que si lo aplicamos en una tabla….no funciona

image

Soluciones:

Bien, hay más de una solución para este problema (como casi siempre en css), todas con sus pro y sus contras.

Primera:

poner display : block

.text {
    width: 200px;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    text-overflow: ellipsis;
}

 

El único pero es que estamos forzando a la tabla a comportarse como bloque, pero depende de cada caso puede ser aceptable.

Segunda:

Poner un max-width a la celda

.text {
    width: 200px;
    white-space: nowrap;
    overflow: hidden;
    
    text-overflow: ellipsis;
}

td.text{
    max-width: 200px;
}

 

En este caso es un poco más elegante ya que no forzamos ningún comportamiento de la tabla más que el que queremos: que no exceda cierto ancho.

Tercera:

El tercero sería poner un div dentro de la celda con la clase text

<table>
    <tr>
        <td><div class="text">Este es un texto un poco largo para mi gusto</div></td>
    </tr>
</table>

Y con el primer css funciona, aunque ya estamos modificando el HTML, como siempre será cuestión de gustos / necesidades.

Dejo un link a una larga discusión en Stackoverflow sobre el tema.

Nos leemos.

[VIDEO SERIES] Azure para desarrolladores web

En el último mes he publicado algunos videos sobre los conceptos básicos para crear y publicar sitios web en Azure desde el punto de vista de un desarrollador web (en este caso yo mismo) los mismo están en español publicados en Channel 9, dejo los links:

Lo interesante de los videos es que son cortos y van siguieno el mismo ejemplo paso a paso.

En el futuro planeo seguir agregando más al listados. Nos leemos.