Las 5 Consultas más Populares en Stack Overflow – Mes Junio 2021

Tanto en nuestro Ranking de Lenguajes de Programación  del mes de Junio de 2021 y en nuestra lista de repositorios que fueron tendencia en GitHub en el mes de Junio de 2021, el Lenguaje de Programación Python ha marcado tendencia y en las consultas más populares en StackOverflow no ha sido la excepción, veamos las consultas sobre Python y las que fueron tendencia en el mes de Junio de 2021, vamos con ello.

Antes de continuar te invito a leer los siguientes artículos:

Asimismo te invito a escuchar el Podcast: “Consejos Para Tener Más Tiempo Para Programar”:

Spotify: Sound Cloud: Apple Podcasts

Bien ahora continuemos con el Post: Las 5 Consultas más Populares en Stack Overflow – Mes Junio 2021. 

Como en otros artículos, para mantener un 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: Refname is ambiguous 

Consulta Traducida: Refname es ambiguo

Link: Visitar

Lenguaje(s) / Tecnología(s) / Herramienta(s): Git.  

El usuario Daniel Kaplan menciona que creo un branch (rama) a partir de otra branch, hizo push y la fusiono con la rama master, comparte la siguiente línea de comandos.

$ history |less
 8358  git co master
 8359   commit # shortcut that adds all and commits
 8360  push # shortcut that `git push`'s
 8361  git lg # shortcut that logs my output
 8362  git co 1600
 8363  git co -b 1601
 8364  npm run test
 8365  npm run test
 8366  npm run test
 8367  npm run test
 8368  npm run test
 8369  npm run test
 8370  npm run test
 8371  npm run test
 8372  npm run test
 8373  npm run test
 8374  npm run test
 8375  npm run test
 8376  npm run test
 8377  ./release.sh
 8378  ./release.sh
 8379  commit
 8380  push
 8381      git push --set-upstream origin 1601
 8382  git lg
 8383  git co master
 8384  git merge --no-ff -
 8385  git st
 8386  commit 
 8387  push

Agrega otros detalles a su consulta, pero en un punto obtiene warning: refname ‘1601’ is ambiguous. El consulta, como se puede deshacer de ese error y como puede prevenirla en el futuro.

La respuesta viene del usuario jthill quien menciona que puede obtener ese error dando a una rama un nombre que coincida con el prefijo SH1 en un commit. Agrega otros detalles a su respuesta.

Si quieres saber más, puedes visitar el Link de la consulta en Stack Overflow.

Puesto N° 4

Consulta Original: Functional programming and decoupling 

Consulta Traducida: Programación funcional y desacoplamiento 

Link: Visitar

Lenguaje(s) / Tecnología(s) / Herramienta(s): C#, Programación Funcional.  

El usuario Bjarke Sporring menciona que es un desarrollador POO (Programación orientada a objetos) clásico. Sin embargo, desde que descubrió los Lenguajes de Programación, puramente funcionales, siempre ha estado intrigado por el porqué, ya que POO parecía resolver la mayoría de los casos comerciales de manera razonable. Asimismo agrega otros detalles a su consulta y al fina hace las siguientes preguntas ¿Cómo se expone una API funcional sin vincular las firmas de tipo de función en tipos específicos de implementación? ¿Estoy pensando mal en esto?

El usuario Mark Seemann le responde mencionando que lucho con esa pregunta durante años antes de darse cuenta que estaba viendo las cosas de manera incorrecta, el agrega otros detalles a su respuesta, los cuales puedes encontrar en la página de la consulta en Stack Overflow.

Si quieres saber más, puedes visitar el Link de la consulta en Stack Overflow.

Puesto N° 3

Consulta Original: Understand Python swapping: why is a, b = b, a not always equivalent to b, a = a, b? 

Consulta Traducida: Comprender el intercambio de Python: ¿por qué a, b = b, a no siempre es equivalente a b, a = a, b?

Link: Visitar

Lenguaje(s) / Tecnología(s) / Herramienta(s): Python.  

El usuario Shaun Han menciona que como todos sabemos, la forma pitónica de intercambiar los valores de 2 elementos a y b es:

a, b = b, a

Y debería ser equivalente a:

b, a = a, b

Sin embargo, cuando el estaba trabajando en un código, descubrio accidentalmente que los siguientes dos intercambios dan resultados diferentes:

nums = [1, 2, 4, 3]
i = 2
nums[i], nums[nums[i]-1] = nums[nums[i]-1], nums[i]
print(nums)
# [1, 2, 4, 3]

nums = [1, 2, 4, 3]
i = 2
nums[nums[i]-1], nums[i] = nums[i], nums[nums[i]-1]
print(nums)
# [1, 2, 3, 4]

Shaun Han menciona que esto es asombroso para el y requiere que alguien le explique que paso en el código, el pensó que en un intercambio de Python las 2 asignaciones ocurren simultáneamente e independientemente.

El usuario Silvio Mayolo le responde compartiendo un texto extraído de la página oficial de Python, en donde dice que la asignación de un objeto a una lista de objetivos, opcionalmente entre paréntesis o corchetes, se define de forma recursiva. De lo contrario: el objetivo debe ser iterable con el mismo número de elementos que los objetivos que hay en la lista de objetivos, y los elementos se asignan, de izquierda a derecha, a los objetivos correspondientes. Silvio Mayolo Agrega otros detalles a su respuesta.

Si quieres saber más, puedes visitar el Link de la consulta en Stack Overflow.

Puesto N° 2

Consulta Original: Why is Python recursion so expensive and what can we do about it? 

Consulta Traducida: ¿Por qué la recursividad de Python es tan cara y qué podemos hacer al respecto? 

Link: Visitar

Lenguaje(s) / Tecnología(s) / Herramienta(s): Python.  

El usuario jtallk menciona que suponiendo que queremos calcular algunos números de Fibonacci, módulo 997. Porque n=500 en C++ podemos ejecutar: 

#include <iostream>
#include <array>

std::array<int, 2> fib(unsigned n) {
    if (!n)
        return {1, 1};
    auto x = fib(n - 1);
    return {(x[0] + x[1]) % 997, (x[0] + 2 * x[1]) % 997};
}

int main() {
    std::cout << fib(500)[0];
}

Y en Python:

def fib(n):
    if n==1:
        return (1, 2)
    x=fib(n-1)
    return ((x[0]+x[1]) % 997, (x[0]+2*x[1]) % 997)

if __name__=='__main__':
    print(fib(500)[0])

Asimismo menciona que ambos códigos encontrarán la respuesta 996 sin problemas. También menciona que se esta tomando módulos para mantener el tamaño razonable y usando pares para evitar ramificaciones exponenciales, entonces porque n=5000, el código C++ genera 783 y Python devuelve el error:

RecursionError: maximum recursion depth exceeded in comparison

El usuario jtallk agrega otros detalles a su consulta los cuales puedes verlos en la página de la consulta en Stack Overflow. 

La respuesta viene del usuario eerorika quien responde mencionando que el problema de Python es que tiene un límite interno en el número de llamadas a funciones recursivas, asimismo agrega otros conceptos teóricos a su respuesta.

Si quieres saber más, puedes visitar el Link de la consulta en Stack Overflow. 

Puesto N° 1

Consulta Original: Password authentication is temporarily disabled as part of a brownout. Please use a personal access token instead [duplicate]

Consulta Traducida: La autenticación de contraseña está temporalmente deshabilitada como parte de un apagón. En su lugar, utilice un token de acceso personal [duplicada]

Link: Visitar

Lenguaje(s) / Tecnología(s) / Herramienta(s): Git, GitHub, GitHub API.  

El usuario Shreyas Jadhav hace una consulta que el equipo de moderación de StackOverflow lo considera como duplicada, ya que esta ya fue hecha en este enlace. Pero ya que esta consuta igual tuvo respuestas, la compartiré. Shreyas Jadhav menciona que estaba usando la contraseña del nombre de usuario para pushear su código, esto le funciono durante muchos meses, pero de repente no puede hacerlo y le aparece el siguiente error:

Username for 'https://github.com': shreyas-jadhav
Password for 'https://shreyas-jadhav@github.com': 
remote: Password authentication is temporarily disabled as part of a brownout. Please use a personal access token instead.
remote: Please see https://github.blog/2020-07-30-token-authentication-requirements-for-api-and-git-operations/ for more information.

La respuesta con mas puntos viene del usuario Kusal Shrestha quien le comparte 3 pasos que debe realizar para generar un nuevo token para developers en la configuración de GitHub como se menciona en su documentación.

Si quieres saber más, puedes visitar el Link de la consulta en Stack Overflow. 

Bueno eso es todo por este mes, hasta aquí llegamos con las 5 consultas que marcaron tendencia en el mes de Junio de 2021 en la popular comunidad de Desarrolladores Stack Overflow, nos vemos a finales del siguiente mes con un nuevo Top de consultas. 

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.