¿Cuál es tu aplicación para desarrollar cuando aprendes un nuevo lenguaje / framework?

Chatbots para el mensajero de FB.

Los chatbots son realmente fáciles de implementar, se pueden escribir en tan solo 1000loc y lo más importante, no te darán pesadillas. Oh una cosa, se ven geniales cuando están en acción.

Aprendizaje ofrecido:

  • Conocerás cómo funcionan las API RESTful
  • Puede escribir un bot en cualquier idioma / marco que pueda alojar una aplicación web. Sugeriría Python (Flask o Django), RoR, nodejs o Java (Spark, un servidor web micro).
  • Puedes escribir tu bot siguiendo un patrón de diseño básico para que aprendas a escribir un código estructurado correctamente. Consulte el método de fábrica y el patrón de estrategia, o puede ver esta pregunta de SO basada en aplicaciones basadas en patrones
  • También aprenderá cómo escribir patrones de expresiones regulares efectivas que identificarán entradas de lenguaje natural a través de messenger para que pueda convertirlas en operaciones significativas y devolver una salida al usuario.
  • Tendrás la oportunidad de aprender webhooks y patrones de devolución de llamada asociados.

Todo esto tomaría apenas una semana, 2 como máximo, incluso si apenas está empezando a aprender.

Aquí hay un robot de demostración que desarrollé usando python (matraz). Lo desplegué en heroku.

https://github.com/kanishk2509/f…

Realmente no tengo una aplicación para aprender sobre las herramientas de programación, porque generalmente no estoy buscando aprender la herramienta. En cambio, estoy trabajando en un proyecto (relacionado con el trabajo, principalmente, pero en ocasiones personal) y necesito / quiero usar la herramienta. Mi enfoque está en terminar el proyecto, así que no estoy buscando un tutorial, sino un ejemplo práctico de cómo hacer algo para ese proyecto.

Hacerlo de esta manera también garantiza que sepa qué estudiar en cualquier momento, ya que será lo que no pueda hacer sin aprender más. Este método es un tanto disperso, pero con el tiempo y los proyectos, creo que se traduce en una mejor comprensión, más profunda. Tengo al menos una razón para usar cada característica / método / lo que sea que haya aprendido, y tendré experiencia práctica usándolo de verdad.

Si observa mis respuestas a otras preguntas sobre el aprendizaje, verá que este es un tema común para mí. Insto a las personas a trabajar en proyectos y aprender según sea necesario, en lugar de tratar simplemente de aprender sin ningún propósito real para hacerlo.

Para el desarrollo web, siempre me gusta crear una aplicación de carrito de compras simple. Es una aplicación bastante fácil de entender. Además, implica una interfaz de usuario sencilla, un catálogo o tabla de elementos, una base de datos, un panel de administración (para completar el catálogo) y medidas de seguridad (como inicio de sesión / registro). Toca muchas bases.