Comenzamos el primer día del año 2023 con nuevas espectativas, objetivos, metas para cumplir en este nuevo año. Recuerda que para mejorar en la programación y logras tus objetivos, debes tener constancia, disciplina, enfoque, constante aprendizaje y practicar mucho. Hay otros aspectos, pero los mencionandos son esenciales. En este Post te compartiré 5 Consultas Que Fueron Populares en Stack Overflow en el mes de enero de 2023, vamos con ello.
Antes de continuar te invito a leer los siguientes artículos:
- 5 Consultas Que Fueron Populares en Stack Overflow – Mes Diciembre 2022
- 5 Consultas Que Fueron Populares en Stack Overflow – Mes Noviembre 2022
- 5 Consultas Que Fueron Populares en Stack Overflow – Mes Octubre 2022
- 5 Consultas Que Fueron Populares en Stack Overflow – Mes Septiembre 2022
- 5 Consultas Que Fueron Populares en Stack Overflow – Mes Agosto 2022
- Puedes leer más en la categoría Stack Overflow
Asimismo, te invito a escuchar el Podcast: “Con Que Lenguaje De Programación Comenzar Para El Desarrollo Web” y “¿ Porqué Es Importante Saber Programar en la Ciberseguridad ?” (Anchor Podcast):
Spotify: | Sound Cloud: | Apple Podcasts | Anchor Podcasts |
Bien ahora continuemos con el Post: 5 Consultas Que Fueron Populares en Stack Overflow – Mes Enero 2023.
Al igual que 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.
Consulta N° 1
Consulta Original: Flutter [!] Android Studio (version 2022.1) X Unable to find bundled Java version
Consulta Traducida: Flutter [!] Android Studio (versión 2022.1) X No se puede encontrar la versión de Java incluida
Link: Visitar
Lenguaje(s) / Tecnología(s) / Herramienta(s): Android, Flutter.
El usuario Htoo Htet Oo menciona que le aparece el siguiente error en su consola de comandos, en donde no puede encontrar la versión de Java incluida en windows 11, pregunta ¿cómo resolverlo?
Asimismo añade que actualmente utiliza Java 19 y que cambió varias versiones de Java y variables de entorno, pero el problema aún no se resuelve. Además, no tiene una versión anterior duplicada de Android Studio.
La respuesta con más puntos viene del usuario Naing Linn Aung quien menciona que en windows lo arregló de la siguiente manera: tenía que ir a C:\Program Files\Android\Android Studio. Ya hay una carpeta jre allí, pero contenía un archivo vacío single. Elimino la carpeta jre. Creo una copia de la carpeta jbr. Cambio el nombre de la copia a jre.
Si quieres saber más, puedes visitar el Link de la consulta en Stack Overflow.
Consulta N° 2
Consulta Original: Activator.CreateInstance – MissingMethodException: Constructor on type ‘xxx’ not found
Consulta Traducida: Activator.CreateInstance – MissingMethodException: Constructor en el tipo ‘xxx’ no encontrado
Link: Visitar
Lenguaje(s) / Tecnología(s) / Herramienta(s): C#, .NET.
El usuario Freddyy menciona que tiene el siguiente código en su controlador:
1 2 3 |
var provider = DataManager.BuildDatabase<FileDatabase>(config,false,dbPath).Result; |
Tambien comparte su archivo DataManager.cs:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public static async Task<IStorageProvider> BuildDatabase<TStorageProvider>(DbConfig config, bool isBuildUniqueAddress = false,params object[] buildParam) where TStorageProvider : IStorageProvider { var t = typeof(TStorageProvider); //merging params var buildConfig= new DbData(config); buildParam= buildParam.ToList().Prepend(buildConfig).ToArray(); Console.WriteLine($"Building Database of type:{t.FullName}"); IStorageProvider? storageProvider = (IStorageProvider?)Activator.CreateInstance(t,buildParam); } |
Su constructor para el tipo FileDatabase FileDatabase.cs:
1 2 3 4 5 6 7 8 9 10 11 12 |
public FileDatabase(DbConfig config,string dbPath) { _dbData = new DbData(config); DbPath=dbPath; if (!File.Exists(dbPath)) { Flush().RunSynchronously(); } } |
Cuando trata de ejecutar el código anterior, lee da el error: MissingMethodException: Constructor on type ‘assertUpdaterRefactor.StorageProvider.FileDatabase’ not found.\
El depurador muestra que buildParam es una matriz de objetos y coincide exactamente con el constructor. Simplemente no puede entender la razón que causa este problema.
El mismo usuario Freddyy compartió la solución, actualizo su consulta mencionando:
Cuando traté de crear una nueva matriz de objetos. El problema se solucionó mágicamente: IStorageProvider? storageProvider = (IStorageProvider?)Activator.CreateInstance(t, new object[]{config,”someStringValue”});
Aquí está el código original copiado desde arriba solo como referencia: IStorageProvider? storageProvider = (IStorageProvider?)Activator.CreateInstance(t,buildParam);
Si quieres saber más, puedes visitar el Link de la consulta en Stack Overflow.
Consulta N° 3
Consulta Original: Android Studio Electric Eel: javaHome seems to be invalid
Consulta Traducida: Android Studio Electric Eel: javaHome parece no ser válido
Link: Visitar
Lenguaje(s) / Tecnología(s) / Herramienta(s): Android, React Native, Android Studio.
El usuario aman menciona que esta desarrollando una aplicación React Native – TypeScript Mobile. Actualiczo Android Studio, lo que arruinó la compilación de su aplicación. Paso varias horas pero no puede resolver el error JAVA_HOME:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
info Starting JS server... info Installing the app... FAILURE: Build failed with an exception. * What went wrong: The supplied javaHome seems to be invalid. I cannot find the java executable. Tried location: C:\Program Files\Android\Android Studio\jre\bin\java.exe * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.org error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081 FAILURE: Build failed with an exception. * What went wrong: The supplied javaHome seems to be invalid. I cannot find the java executable. Tried location: C:\Program Files\Android\Android Studio\jre\bin\java.exe * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.org |
Y necesita ayuda.
La respuesta con más puntos viene del usuario AVEbrahimi quien menciona que para windows: El problema se debe al rastro de la antigua carpeta java de Android Studio, simplemente debe eliminar esta carpeta y funcionará: C:\Archivos de programa\Android\Android Studio\jre El nuevo Android Studio Electric Eel usa jbr, no jre.
Para macOS como el usuario Jayanth respondió anteriormente en la página de la consulta: si está utilizando macOS, reemplace la ruta en .bash_profile o .zshrc:
1 2 3 4 5 6 7 |
# Reemplazar: export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/Contents/Home" # con: export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home" |
Si quieres saber más, puedes visitar el Link de la consulta en Stack Overflow.
Consulta N° 4
Consulta Original: Are algorithms with high time complexity ever used in the real world for small inputs?
Consulta Traducida: ¿Se utilizan alguna vez algoritmos con alta complejidad de tiempo en el mundo real para entradas pequeñas?
Link: Visitar
Lenguaje(s) / Tecnología(s) / Herramienta(s): Algoritmos, Implementación, Tiempo/Complejidad.
El usuario Ak2399 menciona que supongamos que tenemos un problema donde cierto algoritmo, llamémoslo algoritmo_1, lo resuelve en complejidad de tiempo O(n^2) y otro algoritmo, llamémoslo algoritmo_2, lo resuelve en complejidad de tiempo O(n), pero en realidad vemos que para n < 1000 algorithm_1 es más rápido y en caso contrario algorithm_2 es más rápido.
El usuario Ak2399 pregunta ¿Por qué no podemos simplemente escribir un código como este?
1 2 3 4 5 6 |
if ( n < 1000) do algorithm_1 else do algorithm_2 |
También pregunta ¿Es esto algo real que hacen los programadores o hay inconvenientes para esto? y añade que en un programa más pequeño esto parece ser una buena idea.
La respuesta con más puntos viene del usuario Caridorc quien menciona que eso sucede en el mundo real, por ejemplo, un famoso algoritmo de clasificación es Timsort:
Timsort
Detalles de la siguiente implementación:
Consideramos el tamaño de la ejecución como 32 y la matriz de entrada se divide en sub-matriz.
Clasificamos una por una piezas de tamaño igual a ejecutar con una clasificación de inserción simple. Después de clasificar las piezas individuales, las fusionamos una por una con la ordenación por fusión.
Duplicamos el tamaño de los subarreglos fusionados después de cada iteración.
Caridorc menciona que la ordenación por inserción tiene una complejidad O(N^2) pero es más rápida para listas pequeñas, la ordenación por fusión tiene una complejidad O(N logN), por lo que es mejor para listas más largas. Asimismo agrega otros detalles y enlaces a su respuesta.
Si quieres saber más, puedes visitar el Link de la consulta en Stack Overflow.
Consulta N° 5
Consulta Original: get_execution_role() sagemaker: UnknownServiceError: Unknown service: ‘sagemaker-metrics’. Valid service names are: accessanalyzer
Consulta Traducida: get_execution_role() sagemaker: UnknownServiceError: Servicio desconocido: ‘sagemaker-metrics’. Los nombres de servicio válidos son: accessanalyzer
Link: Visitar
Lenguaje(s) / Tecnología(s) / Herramienta(s): Python, Amazon-iam, Amazon-sagemaker, Amazon-sagemaker-debugger, Amazon-sagemaker-compilers.
El usuario iamabhaykmr menciona que esta probando el siguiente código Python para obtener el rol de iam mediante programación:
1 2 3 4 |
from sagemaker import get_execution_role get_execution_role() |
Y obtiene el siguiente error:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
UnknownServiceError Traceback (most recent call last) /tmp/ipykernel_8241/4227035378.py in <cell line: 1>() ----> 1 get_execution_role() 2 role="arn:aws:iam::984132841759:role/service-role/AmazonSageMaker-ExecutionRole-20221129T111507", ~/anaconda3/envs/tensorflow2_p38/lib/python3.8/site-packages/sagemaker/session.py in get_execution_role(sagemaker_session) 5039 """ 5040 if not sagemaker_session: -> 5041 sagemaker_session = Session() 5042 arn = sagemaker_session.get_caller_identity_arn() 5043 ~/anaconda3/envs/tensorflow2_p38/lib/python3.8/site-packages/sagemaker/session.py in __init__(self, boto_session, sagemaker_client, sagemaker_runtime_client, sagemaker_featurestore_runtime_client, default_bucket, settings, sagemaker_metrics_client) 131 self.settings = settings 132 --> 133 self._initialize( 134 boto_session=boto_session, 135 sagemaker_client=sagemaker_client, ~/anaconda3/envs/tensorflow2_p38/lib/python3.8/site-packages/sagemaker/session.py in _initialize(self, boto_session, sagemaker_client, sagemaker_runtime_client, sagemaker_featurestore_runtime_client, sagemaker_metrics_client) 183 self.sagemaker_metrics_client = sagemaker_metrics_client 184 else: --> 185 self.sagemaker_metrics_client = self.boto_session.client("sagemaker-metrics") 186 prepend_user_agent(self.sagemaker_metrics_client) 187 ~/anaconda3/envs/tensorflow2_p38/lib/python3.8/site-packages/boto3/session.py in client(self, service_name, region_name, api_version, use_ssl, verify, endpoint_url, aws_access_key_id, aws_secret_access_key, aws_session_token, config) 297 298 """ --> 299 return self._session.create_client( 300 service_name, 301 region_name=region_name, ~/anaconda3/envs/tensorflow2_p38/lib/python3.8/site-packages/botocore/session.py in create_client(self, service_name, region_name, api_version, use_ssl, verify, endpoint_url, aws_access_key_id, aws_secret_access_key, aws_session_token, config) 868 * path/to/cert/bundle.pem - A filename of the CA cert bundle to 869 uses. You can specify this argument if you want to use a --> 870 different CA cert bundle than the one used by botocore. 871 872 :type endpoint_url: string ~/anaconda3/envs/tensorflow2_p38/lib/python3.8/site-packages/botocore/client.py in create_client(self, service_name, region_name, is_secure, endpoint_url, verify, credentials, scoped_config, api_version, client_config) 85 loader, 86 endpoint_resolver, ---> 87 user_agent, 88 event_emitter, 89 retry_handler_factory, ~/anaconda3/envs/tensorflow2_p38/lib/python3.8/site-packages/botocore/client.py in _load_service_model(self, service_name, api_version) 152 'signatureVersion' 153 ), --> 154 ) 155 client_args = self._get_client_args( 156 service_model, ~/anaconda3/envs/tensorflow2_p38/lib/python3.8/site-packages/botocore/loaders.py in _wrapper(self, *args, **kwargs) 130 for this to be used, it must be used on methods on an 131 instance, and that instance *must* provide a --> 132 ``self._cache`` dictionary. 133 134 """ ~/anaconda3/envs/tensorflow2_p38/lib/python3.8/site-packages/botocore/loaders.py in load_service_model(self, service_name, type_name, api_version) 375 def load_service_model(self, service_name, type_name, api_version=None): 376 """Load a botocore service model --> 377 378 This is the main method for loading botocore models (e.g. a service 379 model, pagination configs, waiter configs, etc.). UnknownServiceError: Unknown service: 'sagemaker-metrics'. Valid service names are: accessanalyzer, account, acm, acm-pca, alexaforbusiness, amp, amplify, amplifybackend, amplifyuibuilder, apigateway, apigatewaymanagementapi, apigatewayv2, appconfig, appconfigdata, appflow, appintegrations, application-autoscaling, application-insights, applicationcostprofiler, appmesh, apprunner, appstream, appsync, athena, auditmanager, autoscaling, autoscaling-plans, backup, backup-gateway, batch, braket, budgets, ce, chime, chime-sdk-identity, chime-sdk-meetings, chime-sdk-messaging, cloud9, cloudcontrol, clouddirectory, cloudformation, cloudfront, cloudhsm, cloudhsmv2, cloudsearch, cloudsearchdomain, cloudtrail, cloudwatch, codeartifact, codebuild, codecommit, codedeploy, codeguru-reviewer, codeguruprofiler, codepipeline, codestar, codestar-connections, codestar-notifications, cognito-identity, cognito-idp, cognito-sync, comprehend, comprehendmedical, compute-optimizer, config, connect, connect-contact-lens, connectparticipant, cur, customer-profiles, databrew, dataexchange, datapipeline, datasync, dax, detective, devicefarm, devops-guru, directconnect, discovery, dlm, dms, docdb, drs, ds, dynamodb, dynamodbstreams, ebs, ec2, ec2-instance-connect, ecr, ecr-public, ecs, efs, eks, elastic-inference, elasticache, elasticbeanstalk, elastictranscoder, elb, elbv2, emr, emr-containers, es, events, evidently, finspace, finspace-data, firehose, fis |
Asimismo menciona que probo varias soluciones de Internet, como actualizar sagemaker y boto3 a la última versión y no tuvo éxito. Esta usando el kernel conda_tensorflow2_py38 en notebook sagemaker.
La respuesta con más puntos viene del usuario durga_sury quien menciona que actualizo su instalación de boto3 en su computadora portátil ejecutando – %pip install –upgrade boto3. Una vez que esté actualizado, debe reiniciar su kernel y ejecutar las celdas anteriores, debería funcionar como se esperaba.
La función get_execution_role() busca una sesión de SageMaker y crea una si no existe, y con la última versión del sdk de sagemaker, también intenta crear un cliente sagemaker-metrics, que no es compatible con la versión anterior de boto3.
Si quieres saber más, puedes visitar el Link de la consulta en Stack Overflow.
Bien, hasta aquí llegamos con 5 consultas que marcaron tendencia en el mes de Enero de 2023 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.