En esta página:
Terminamos el primer mes del año 2020 y como siempre tenemos las 5 consultas que marcaron tendencia o fueron más populares en la plataforma Stack Overflow, en este Post predomina el Lenguaje de Programación JavaScript, el cual tuvo 2 consultas, luego están las consultas realizadas sobre Java, C++ y C. Vamos con este Post y conozcamos las consultas que se hicieron populares en Enero de 2020.
Antes de continuar con este Post, si quieres aprender o conoces sobre algún amigo o amiga que quiere aprender HTML 5 desde 0, puedes visitar el curso con más de 45 videos totalmente gratis, el Lema de Nube Colectiva es “el conocimiento en la Nube es Colectivo”:
Continuemos con el Post: Las 5 Consultas más Populares en Stack Overflow – Mes Enero 2020
Igual que en los otros artículos, para mantener el orden, voy a colocar el título de la consulta original, la versión traducida de la consulta, el Link de la consulta, el Lenguaje o Tecnología, una Descripción y una imagen de la consulta.
Puesto N° 5
Consulta Original: Why is this “Hello, World!” JavaScript code fragment recognized as an acceptable program instruction? [duplicate]
Consulta Traducida: ¿Por qué este fragmento de código JavaScript “Hello, World!” Se reconoce como una instrucción de programa aceptable? [duplicada]
Link: Visitar
Lenguaje (s) / Tecnología (s): JavaScript
Esta consulta ya ha sido realizada, es por esto que los Moderadores de Stack Overflow la marcaron como Consulta Duplicada, pero igual tuvo respuestas y marco tendencia. El usuario devaerial hace una consulta muy peculiar, el esta imprimiendo un simple texto “Hello World!” que traducido al español significa “Hola Mundo!”.
Este usuario menciona que un compañero de trabajo le mostró el siguiente fragmento de código, el cual si los pegas en la consola de Google Chrome Developer:
1 2 3 |
greet = "".toString.bind("hello world!") |
Se ejecuta e imprime el mensaje “¡Hola, mundo!”
1 2 3 4 |
>> console.log(greet()) hello world! |
Así mismo menciona que si se pega el mismo código dentro de REPL en Node JS, este lo transpila automáticamente a formato valido o legible. Entonces el usuario devaerial tiene dudas de como funciona esto y porque se da este comportamiento en la consola de Google Chrome Developer y en Node JS.
Si te das cuenta los caracteres del texto “Hola Mundo” se encuentran invertidos: “!dlrow olleh” con el método toString (gnirtSot) y bind (dnib). El usuario deceze le responde mencionando que el código al no invertirlo sería así:
1 2 3 |
greet = "...".toString.bind("hello world!") |
Y menciona en su respuesta que donde . . . (los puntos suspensivos) en el literal de la cadena están los bytes E2 80 AE, que es el carácter de anulación de derecha a izquierda, esto hace que todo se muestre en reversa.
También afirma deceze que se usa para escribir idiomas de derecha a izquierda como el árabe o el hebreo. Si deseas saber más, puedes visitar el Link de esta consulta en Stack Overflow.
Puesto N° 4
Consulta Original: How do I make an infinite empty loop that won’t be optimized away?
Consulta Traducida: ¿ Cómo hago un bucle vacío infinito que no se optimizará ?
Link: Visitar
Lenguaje (s) / Tecnología (s): C
En este puesto el usuario nneonneo menciona que esta siguiendo el consejo de esta respuesta, en donde se menciona que un ciclo while(1) no debería estas sujeto a optimización y su duda es porqué Clang/LLVM optimiza el siguiente ciclo (compilado con cc -O2 -std=c11 test.c -o test):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <stdio.h> static void die() { while(1) ; } int main() { printf("begin\n"); die(); printf("unreachable\n"); } |
El usuario nneonneo afirma que en su PC el código anterior le imprime begin, seguido de una instrucción ilegal (una trampa ud2 colocada después de die()).
También menciona que en el siguiente código no se genera nada después de la llamada a la sentencia puts y que le ha sido difícil hacer que Clang/LLVM realice un bucle infinito debajo de -02. Menciona unos detalles más y su consulta es como se puede conseguir que Clang/LLVM genere un bucle infinito sin que acceda a la memoria con las optimizaciones activadas.
Si deseas saber más, puedes visitar el Link de esta consulta en Stack Overflow.
Puesto N° 3
Consulta Original: Why do some variables declared using let inside a function become available in another function, while others result in a reference error?
Consulta Traducida: ¿ Por qué algunas variables declaradas usando let dentro de una función están disponibles en otra función, mientras que otras dan como resultado un error de referencia ?
Link: Visitar
Lenguaje (s) / Tecnología (s): JavaScript
El usuario bleat interteiment no entiende porque las variables actúan de manera extraña cuando se declaran dentro de una función, por ejemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
function first() { let a = b = c = 10; var d = 20; second(); } function second() { alert(b + ", " + c); //shows "10, 10" alert(a); //reference error alert(d); //reference error } |
El usuario Tim Consolazio le da una respuesta medianamente detallada, el menciona que es porque en realidad esta diciendo:
1 2 3 4 5 |
c = 10; b = c; let a = b; |
Y no lo que cree que esta diciendo, que es:
1 2 3 4 5 |
let a = 10; let b = 10; let c = 10; |
Menciona que no importa cuantas variables agregue a su String, es la primera variable la que está causando el error, Tim Consolazio expone otros detalles en su respuesta.
Si deseas saber más, puedes visitar el Link de esta consulta en Stack Overflow.
Puesto N° 2
Consulta Original: If I copy a float to another variable, will they be equal ?
Consulta Traducida: Si copio un flotante a otra variable, ¿serán iguales?
Link: Visitar
Lenguaje (s) / Tecnología (s): C++
El usuario Wei Li menciona que usar el operador de comparación == para verificar la igualdad de las variables floating-point o punto flotante no es una buena manera y solo quiere saber como hacerlo correctamente con las siguientes declaraciones:
1 2 3 4 5 6 7 |
float x = ... float y = x; assert(y == x) |
Asimismo pregunta como y se copia de x y si es cierta esta afirmación.
El usuario chtz responde diciendo que además del caso assert(NaN==NaN); mencionado en la respuesta del usuario kmdreko (El usuario kmdreko dio una respuesta en esta consulta), puede tener situaciones con x97-math, cuando los valores flotantes de 80 bits se almacenan temporalmente en la memoria y luego se comparan con los valores que aún se almacenan dentro de un registro.
El usuario chtz expone otros detalles en su respuesta. Si deseas saber más, puedes visitar el Link de esta consulta en Stack Overflow.
Puesto N° 1
Consulta Original: Maven dependencies are failing with a 501 error
Consulta Traducida: Las dependencias de Maven fallan con un error 501
Link: Visitar
Lenguaje (s) / Tecnología (s): Java
Llegamos a puesto 1 de este Post, como en muchas tecnologías o herramientas, estas suelen tener actualizaciones constantes, esto a veces no depende de uno si no de los Desarrolladores o Empresas que dan soporte a estas herramientas.
En esta consulta el usuario Arunan Sugunakumar menciona que estaba realizando trabajos de compilación con Maven en Jenkins y le salto una excepción que dice que no se pueden extraer dependencias del repositorio Maven Central y debe usar una conexión segura HTTPS.
1 2 3 4 5 |
[ERROR] Unresolveable build extension: Plugin org.apache.maven.wagon:wagon-ssh:2.1 or one of its dependencies could not be resolved: Failed to collect dependencies for org.apache.maven.wagon:wagon-ssh:jar:2.1 (): Failed to read artifact descriptor for org.apache.maven.wagon:wagon-ssh:jar:2.1: Could not transfer artifact org.apache.maven.wagon:wagon-ssh:pom:2.1 from/to central (http://repo.maven.apache.org/maven2): Failed to transfer file: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-ssh-2.1.pom. Return code is: 501 , ReasonPhrase:HTTPS Required. -> [Help 2] Waiting for Jenkins to finish collecting data[ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.4.1 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.4.1: Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.4.1 from/to central (http://repo.maven.apache.org/maven2): Failed to transfer file: http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.4.1/maven-clean-plugin-2.4.1.pom. Return code is: 501 , ReasonPhrase:HTTPS Required. -> [Help 1] |
El usuario Arunan Sugunakumar pregunta como puede hacer para cambiar las solicitudes de HTTP a HTTPS.
Hay una respuesta por parte del usuario farasath en donde comparte la noticia del repositorio Maven, en donde mencionan que a partir del 15 de enero de 2020, The Central Repository ya no admite comunicaciones inseguras a través de HTTP simple y requiere que todas las solicitudes al repositorio Maven Central se cifren a través del protocolo HTTPS.
El usuario farasath menciona otros detalles importantes en su respuesta que te aconsejo leer si es que utilizas Maven.
Si deseas saber más, puedes visitar el Link de esta consulta en Stack Overflow.
Bueno hasta aquí terminamos con las mejores consultas que se dieron durante Enero de 2020, nos vemos en el siguiente mes con un nuevo Top de consultas que son tendencia en Stack Overflow.
Te invito a escuchar el Podcast: “Dominio del trabajo con Varios Lenguajes de Programación.”
Sound Cloud:
Spotify:
Nota(s)
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
- La cantidad de Respuestas, Vistas, Votos, etc. de las consultas pueden variar en Stack Overflow en el futuro, hasta la fecha de este artículo son las que presentamos en las imágenes.
- Si lees con atención las consultas y las respuestas vas aprender sobre el problema que tenia el usuario que realiza la consulta y puede que sea el problema que estas intentando solucionar, esto es importante para tu aprendizaje.
- La idea de este artículo es comentar y exponer los temas que son tendencia en el mes determinado, no intentamos dar una respuesta al problema ya que estos son resueltos por los usuarios de la comunidad Stack Overflow, que son grandes Desarrolladores y con mucha experiencia en el área o Lenguaje de Programación determinado.
- Algunos enlaces a otras páginas colocados en este artículo pueden dejar de existir o continuar en el futuro, esto no depende de nosotros si no de los usuarios o empresas que son dueños de los servidores en donde se encuentran alojados estos enlaces, hasta la fecha de este artículo estos enlaces aún están disponibles.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.