Skip to content

Commit e792cf7

Browse files
authored
Añadido resumen del hacktoberfestES (#183)
* Añadido resumen del hacktoberfestES
1 parent 017f1d9 commit e792cf7

File tree

5 files changed

+181
-3
lines changed

5 files changed

+181
-3
lines changed

CONTRIBUTING.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# Contributing
22

3+
## Branch workflow
4+
5+
**READ BEFORE CREATE A BRANCH OR OPEN A PR/MR**
6+
- We use [Github Glow](https://guides.github.com/introduction/flow/)
7+
8+
9+
## Commit Message Guidelines
10+
11+
- The messages of the commits use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
12+
- See [Angular guideline](https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines)
13+
14+
315
## Installation
416

517
After cloning this repo, create a [virtualenv](https://virtualenv.pypa.io/en/stable/) and ensure dependencies are installed by running:

docs/hacktoberfest_es_2020.md

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
# HacktoberfestES 2020
2+
3+
This article is a review of the event [Python HacktoberfestES](https://hacktoberfest.es.python.org/)
4+
5+
6+
# [2020-10-04] Presentación Hacktoberfest
7+
- vídeo inaugural:
8+
https://youtu.be/bRemmaI9M34?t=1289
9+
- Presentación:
10+
https://github.com/avara1986/hacktoberfestES-pyms/blob/master/Microservicios%20v3.0%20Light.pdf
11+
12+
13+
# [2020-10-04] Presentación PyMS
14+
Buenas! Con PyMS vamos a estudiar y aprender a construir microservicios para el mundo real: No solo una API que devuelve datos. ¿qué tiene que cumplir un microservicio para ser productivo? Configuración externalizada, healthchecks, trazabilidad... ¡y mucho más!
15+
16+
- Puedes ver la documentación en: https://py-ms.readthedocs.io/en/latest/
17+
- Ver el código fuente en Github al igual que las issues abiertas (y las que se nos vayan ocurriendo): https://github.com/python-microservices/pyms
18+
- Puedes clonarte un arquetipo de microservicio funcional en: https://github.com/python-microservices/microservices-scaffold
19+
- O crearte el tuyo propio con Cookiecutter: https://github.com/python-microservices/cookiecutter-pyms
20+
21+
# [2020-10-04] Hacktoberfest: primera reunión
22+
De los que hemos participado juntamos un stack tecnológico muy interesante habiendo tocado no solo Python si no lenguajes como Java, .NET, Groovy, BASH, Ruby, además de tecnologías blockchain, sistemas e infrastructura, CI...
23+
24+
También hemos visto que PyMS, tanto la librería como el arquetipo "destacado" son sobre Flask pero puede incluir en un futuro otros frameworks como aiohttp o FastAPI. Pero además existe este proyecto https://github.com/python-microservices/microservices-django-scaffold para adaptar todas estas buenas prácticas sobre un proyecto de Django.
25+
26+
Planteamos, si a alguien no le atraen los microservicios como tal, poder crear una página web estática con la documentación, información y literatura sobre microservicios y quien sabe, hasta un posible blog con un generador de contenido estático como https://getnikola.com/ o alguno de estos https://wiki.python.org/moin/StaticSiteGenerator (pendiente de definir)
27+
28+
Como no todos tenemos el mismo nivel, hemos acordado empezar con unos tutoriales y formaciones en Python y el arquetipo para tener todos contexto y el fin de semana que viene hacer puesta en común y empezar a trabajar sobre issues de los proyectos.
29+
30+
Para poder colaborar, proponemos que cuando alguien esté mirando cosas del proyecto o dedicado a investigar, que avise por chat y si quiere, conectarse al chat de voz para resolver dudas y hacer pair-programming, presentar o charlar. Del mismo modo, si alguien quiere ver dudas que avise por chat "a tal hora me conecto"
31+
32+
## Recursos útiles para aprender Python:
33+
- 7 Repositorios para aprender Python https://towardsdatascience.com/top-7-repositories-on-github-to-learn-python-44a3a7accb44
34+
35+
## Cursos, Posts y Podcasts
36+
- https://realpython.com/ - Python en general, cursos pago, posts gratis, muy claro.
37+
- https://www.fullstackpython.com/ - Posts de desarrollo fullstack, muchos enlaces a otros recursos.
38+
- https://training.talkpython.fm/ - Podcast gratis y cursos de pago, mucho de web en Flask.
39+
- https://www.pluralsight.com/ - De pago, muchos lenguajes, mucho testing, muchos perfiles (dev, sec, devops), buenos recursos video, examenes, portfolio de habilidades y roles.
40+
- https://ed.team/ - Canal de youtube, cursos de pago, muchas tecnologías, en español.
41+
- https://codely.tv/ - Canal de youtube, cursos de pago (devops y arquitectura), algo de Golang pero nada de Python
42+
43+
## Katas
44+
- https://www.hackerrank.com/ muchos niveles, portfolio de habilidades, bolsa de trabajo.
45+
- https://exercism.io/ - muchos lenguajes, basado en tests, editas offline y envias con terminal.
46+
- https://www.codewars.com/ - muchos lenguajes, plataforma de katas, con katas de usuario.
47+
## Noticias
48+
- https://dev.to/t/python - Noticias y dudas.
49+
- https://www.reddit.com/r/Python - Noticias, dudas y nido de trolls.
50+
51+
## Aprender Jugando
52+
- https://www.codingame.com/ - Muchos lenguajes.
53+
- https://py.checkio.org/
54+
- https://www.twilio.com/quest - Gracioso pero poco codigo.
55+
56+
## Relacionadas con PyMS:
57+
- Forma más actual de hacer tests en python: https://docs.pytest.org/en/stable/
58+
- Para complementar tus test, Tox: https://tox.readthedocs.io/en/latest/
59+
- Pipenv como sustituto del típico virtualenv: https://pipenv-es.readthedocs.io/es/latest/
60+
- Linter para verificar la sintaxis del código, Pylint: https://pylint.readthedocs.io/en/latest/?badge=latest
61+
- También Flake8: https://flake8.pycqa.org/en/latest/
62+
- "Tipado" en Python: https://docs.python.org/3/library/typing.html
63+
- "La biblia" de la arquitectura de microservicios: https://microservices.io/
64+
- Trazabilidad distribuida con Python: https://github.com/opentracing/opentracing-python
65+
66+
67+
# [2020-10-05] Formación, Python Básico:
68+
https://github.com/avara1986/hacktoberfestES-pyms/blob/master/python_101/Python%20%22b%C3%A1sico%22.ipynb
69+
70+
# [2020-10-06] Formación, buenas prácticas:
71+
https://github.com/avara1986/hacktoberfestES-pyms/blob/master/python_best_practices/Python%20Best%20Practices.ipynb
72+
73+
# [2020-10-08] Formación, Cómo funciona PyMS:
74+
https://youtu.be/i9msDUKA0Zk
75+
76+
# [2020-10-08] Formación, Portainer, web-ui para manejar Docker:
77+
https://youtu.be/z-_DhL6wRFQ
78+
79+
# [2020-10-09] Fin de sprint, reparto de tareas:
80+
Se puede contribuir mediante Fork o avisadme y os añado como colaboradores para poder trabajar sobre el mismo repo. Lo que prefiráis!
81+
82+
workflow para contribuir:
83+
https://guides.github.com/introduction/flow/
84+
85+
## Tareas/issues repartidas:
86+
https://github.com/python-microservices/pyms/issues/166 @BelenC y @AmandaKhol -> En esta pueden participar más de una persona
87+
https://github.com/python-microservices/pyms/issues/89 @Rapejim (Raúl) :heavy_check_mark:
88+
https://github.com/python-microservices/microservices-scaffold/issues/213 @vmyelicich (Víctor)
89+
https://github.com/python-microservices/pyms/issues/178 @kirk
90+
https://github.com/python-microservices/microservices-scaffold/issues @felipem775
91+
https://github.com/python-microservices/cookiecutter-pyms/issues/9 @AmandaKhol :heavy_check_mark:
92+
https://github.com/python-microservices/cookiecutter-pyms/issues/4 @PandyTheBroh
93+
94+
## Tareas/issues listas para asignar:
95+
https://github.com/python-microservices/pyms/issues/68
96+
https://github.com/python-microservices/pyms/issues/180
97+
https://github.com/python-microservices/pyms/issues/182
98+
https://github.com/python-microservices/pyms/issues/184
99+
https://github.com/python-microservices/pyms/issues/188
100+
https://github.com/python-microservices/pyms/issues/189
101+
https://github.com/python-microservices/pyms/issues/185 (HARD)
102+
https://github.com/python-microservices/pyms/issues/156 (HARD)
103+
https://github.com/python-microservices/pyms/issues/186 (HARD)
104+
https://github.com/python-microservices/pyms/issues/190 (HARD)
105+
106+
## Investigación:
107+
- Access token:
108+
- Investigar https://microservices.io/patterns/security/access-token.html
109+
- Actualizar el proyecto de ejemplo https://github.com/python-microservices/oauth con lo último de PyMS
110+
- Mejorar y hacer de manera genérica la implementación de JWT
111+
- Saga:
112+
- Investigar https://microservices.io/patterns/data/saga.html
113+
- Crear un arquetipo parecido al [que ya existe](https://github.com/python-microservices/microservices-scaffold) que haga este patrón
114+
- Circuit Breaker:
115+
- Investigar https://microservices.io/patterns/reliability/circuit-breaker.html
116+
- Llevar a PyMS, si es posible, ese patrón para que se pueda usar en todos los microservicios (por ejemplo, como hace https://micronaut.io/)
117+
118+
- gRCP ([protocol buffers](https://grpc.io/docs/what-is-grpc/introduction/)):
119+
- Una forma alternativa a API Rest para comunicar microservicios es [mediante gRCP](https://grpc.io/docs/languages/python/quickstart/)
120+
- Crear un arquetipo parecido al [que ya existe](https://github.com/python-microservices/microservices-scaffold) que se comunique con otro mediante gRCP
121+
- Llevar a PyMS, si es posible, este framework
122+
123+
## Retos:
124+
- Publisher-subscriber: https://github.com/python-microservices/pyms/issues/155
125+
- Crear un script que escuche y escriba en una cola infinitamente
126+
- Evolucionar el servicio para que en un futuro se puedan ir añadiendo diferentes servicios (SQS, Kafka, Pub/sub, RabbitMQ...)
127+
- Meter este servicio en un subproceso/thread para que se pueda integrar con PyMS
128+
- Añadir endpoints para consultar información de la cola
129+
130+
131+
## Consejos y acuerdos:
132+
- Hay que visitar Valparaíso (Chile)
133+
- Es necesario visitar la isla de La Palma al menos una vez en la vida
134+
- Cuidado al pedir pizza a domicilio
135+
136+
# [2020-10-10] Debate sobre issue #89:
137+
https://youtu.be/cDR10YSnb0M
138+
139+
# [2020-10-11] Resumen de la primera semana:
140+
https://youtu.be/WU-IAGConjU
141+
142+
# [2020-10-11] Git workflow y testing:
143+
144+
*TODO: falta link*

docs/index.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@ Nowadays, is not perfect and we have a looong roadmap, but we hope this library
4646
* [Encrypt/Decrypt Configuration](encrypt_decryt_configuration.md)
4747
* [Command line](command_line.md)
4848
* [Examples](examples.md)
49-
* [Tutorials](tutorials.md)
50-
* [Tutorial: Propagate traces](tutorial_propagate_traces.md)
5149
* [PyMS structure](structure.md)
5250
* [Structure of a microservice project](structure_project.md)
51+
* [Tutorials](tutorials.md)
52+
* [Tutorial: Propagate traces](tutorial_propagate_traces.md)
53+
* [External Links and Articles](links_articles.md)
54+
* [HacktoberfestES 2020](hacktoberfest_es_2020.md)

docs/links_articles.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# External Links and Articles
2+
3+
## Articles
4+
5+
### English
6+
7+
- [Create the Python Microservice with `pyms`](https://medium.com/@JinnaBalu/create-the-python-microservice-with-pyms-d46248187d74)
8+
9+
### Spanish
10+
11+
- [¿Cómo construir microservicios en Python? (1/2)](https://www.paradigmadigital.com/dev/como-construir-microservicios-en-python-1-2/)
12+
- [Microservice Chassis Pattern en Python, historia de un sueño Open Source (2/2)](https://www.paradigmadigital.com/techbiz/microservice-chassis-pattern-python-2-2/)
13+
- [Divide y Vencerás](https://www.paradigmadigital.com/dev/divide-venceras/)
14+
15+
## Podcasts
16+
17+
## Spanish
18+
19+
- [Microservicios y Python](https://open.spotify.com/episode/2tQwbP507ACwWnGmGjEAOb?si=Rr-7gbB_RZK2vixol-VtTg)

mkdocs.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ nav:
1717
- PyMS structure: structure.md
1818
- Structure of a microservice project: structure_project.md
1919
- Tutorials: tutorials.md
20-
20+
- External Links and Articles: links_articles.md
21+
- HacktoberfestES: hacktoberfest_es_2020.md
2122
markdown_extensions:
2223
- admonition
2324
theme:

0 commit comments

Comments
 (0)