---- Código Facilito es una de las plataformas de aprendizaje online de programación más grandes de habla hispana. Desde el 2010 formamos programadores en toda América Latina y España enseñando. HTML, JavaScript, React, Python, Rails, Go y mucho más.
estoy haciendo un curso de análisis de datos pero, hoy me di cuenta que pagan mas a un desarrollador web clásico que a un analista de datos, que aburrición
olvidaste que switch tambien se puede usar como menu de opciones y que se pueden meter mas switch dentro de sus opciones como un menu dentro del menu. ejemplo : switch(opciones ){ case 1: switch (menu){ case 1: cout<<"hola"<<endl; case 2 :cout<<"chau"<<endl; case 3:cout<<"como estas"<<endl; } case 2: switch (menu){ case 1: cout<<"hola"<<endl; case 2 :cout<<"chau"<<endl; case 3:cout<<"como estas"<<endl; } case 3: switch (menu){ case 1: cout<<"hola"<<endl; case 2 :cout<<"chau"<<endl; case 3:cout<<"como estas"<<endl; } }
Estimado lector(a): No crean ni confíen en los canales youtube _"Destruyendo Algoritmos", "Divina Apóstata" y "Derribando Gigantes"_ entre otros, los cuales, incitan al odio religioso con contenido spam de información falsa, fake news, diseminando los delitos de difamación, falsedad ideológica, desprestigio al honor y manipulación. Compartan!
hay varios casos como esos. particularmente conozco uno de la empresa donde trabajé, que tenía un producto bueno, pero con toda la UI web hecha en el mismo lenguaje del back, que además es un lenguaje muy "particular". en la empresa no había personal capacitado en JS ni frontend realmente. pero la experiencia de usuario en ese producto era mala, y todo muy lento. finalmente se contrató y capacitó personal, se migró a react js, y el producto mejoró enormemente.
NO ENTIENDO NADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
me ha funcionado perfecto. indexSaludaTutorialCinco.html <body> {% extends "base.html" %} {% block content %} <p> este es el index5. </p> {% from "_macro.html" import renderizarFormulario %} <div> <p> aqui va a ir la parte del formulario </p> <form method="POST"> <input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/> {{ renderizarFormulario(miFormulario.username) }} {{ renderizarFormulario(miFormulario.comment) }} {{ renderizarFormulario(miFormulario.correoElectronico) }} <input type="submit" value="miEnviar"> </form> </div> {% endblock %} </body> holamundo.py from flask import Flask from flask import request # esto es para los parametros. from flask import render_template import formularios # este es el formularios.py que yo acabo de crear. from flask_wtf import CSRFProtect app = Flask(__name__); #nuevo objeto. app.secret_key = 'miPalabraSecreta'; csrf = CSRFProtect (app); @app.route('/') #cuidado con esto, que esta linea no puede llevar el punto y coma. Esto es un wrap(decorador) def index(): return ("holaMundo desde flasks."); @app.route('/saluda') def saluda(): return ("este es un saludoooo. ");
Es raro que personas tan supuestamente maduras se pongan en esos debates. Las herramientas son simples soluciones a un problema de ingeniería, por ejemplo si se necesita una aplicación multiplataforma con un frontend movil, uno web o simplemente que exponga una API pública se necesita implementar una API rest, lo cual parece para el traspaso de información, por qué acoplar tan fuertemente html si eso hace más complicado escalar o hacer más flexible un sistema.
Diré lo que vengo diciendo por todos lados. No entiendo la necesidad de querer hacer ver mal a X o Y tecnología solo por el simple hecho de que no usa o no es lo que tu quieres (no lo digo por ti Uriel ni nadie), yo amo Rails, pero uso JS, TS, Java, Python, PHP, Kotlin, y todos tienen sus pros y contras. Pero por ejemplo, si yo no uso el servicio de HEY, para qué voy a estar "probándolo" o probando que está "mal" según mis "estándares", no lo uso, pues ni lo volteo a ver. A la gente le gusta hacer polémica para tener visibilidad o porque tienen suficiente tiempo de sobra para estar haciendo tantas cosas de estas... baah...
Considero que es un video muy mediocre dado que la finalidad es explicar como crear un certificado sin tener en cuenta que muchos de los que buscan este tipo de ayudas, estan muy perdidos por lo que conviene EXPLICAR el contexto, en que situaciones deberias optar por expedir un certificado de esta manera, explicar el sistema operativo base, etc, etc, etc ..... Es mas útil la misma guia de Letsencrypt ....
Aqui algunos consejos que aplique para un proyecto personal: 1. Eviten en lo posible usar if else, si tienen python3.10 o superior (si mal no recuerdo), pueden usar match-case. 2. Usen Pylint, Ruff y alguna AI como ChatGPT-4o para buenas prácticas. 3. Traten de usar __slots__ = (), diccionarios y .copy() o set().copy(), defaultdict, acelera el codigo como no tienen idea. 4. Usen numba jit si quieren mayor velocidad (no funciona en todos los casos pero es jodidamente rapido). 5. No usen ciclos anidados, mejor usen comprension de listas. 6. Si trabajan con matrices muy grandes prueben usar itertools o numpy (hay veces que uno es mas rapido que otro). 7. Si pueden implementar un diccionario de funciones, reemplacen el match-case por uso de diccionario con if-in. 8. Eviten repetir cálculos en bucles siempre que puedan, mejor llamen a una función auxiliar y si es posible que utilice @lru_cache(maxsize=None). 9. Eviten el uso de print, mejor usen logger.info(f"Ejemplo {resultado}")
#include <stdio.h> long long facto(int k); int main() { int num; printf("Ingresa numero: "); scanf("%d", &num); int resultado = facto(num); printf("%d", resultado); return 0; } long long facto(int k) { if (k > 1) { return k * facto(k - 1); } else { return 1; } } Este ejemplo es mas sencillo, creo que te complicas mucho en ese código.