Gracias Eric! Es bárbaro ver esto porque ayuda a uno a entender si está bien orientado, en mi caso soy sysadmin y hace un tiempo estoy aprendiendo a programar y entendí todo lo que hiciste, me da la tranquilidad de ver que eso que llaman “senior software engineer” no es un astronauta de la NASA si no algo más terrenal
Mi humilde opinión un sysadmin que peograma es mucho mejor que un dev porque entendes el todo del sistema mucho mejor. Hay muchisimos devs que se niegan a aprender cosas básicas como docker o incluso como llevar su código a producción 🙃
@@CodinEric creo que tenemos una ventaja de entender como funcionan las diferentes partes, no soy un DBA pero toco una base, no soy un dev pero toco un poco de código (o por lo menos puedo entender donde se me rompe el sistema). Uno como sysadmin se siente lejos de poder programar, si puedo hacer scripts en python, bash, php, pero de ahí a armar un monolito con classes y que quede lindo hay mucho recorrido. Pero viendo tu ejemplo me doy cuenta que casi casi soy un dev senior, de lo que hiciste no me asusto nada, es más, antes de ver tu video me tome el tiempo de pensar como lo resolvería y fue muy similar! saludos! Tambien creo que tu video anima al resto de los que estan por ahí aprendiendo y siempre sienten que son juniors, ojalá este video les sirva como a mí! abrazo!
Me encanta! yo hubiera implementado un patron builder para generar cualquier tipo de consultas SQL .. todos los ORMs implementan ese patron para encadenar statements dinamicamente. Buen video Eric saludos!
Hola Eric, viendo el ejercicio creo que lo has hecho con muy poco código (punto a favor) pero creo que es mas rebuscado y difícil de mantener. El "error" que veo es que el ejercicio lo resuelves con un POST cuando la solución estándar creo que debería ser un GET con parámetros donde pasar los filtros en la url. Creo que para una entrevista de senior backend seria una red flag. Yo hubiera optado por una petición usando el SQLAlchemy donde aplicar los filtros de forma opcional. (Más código pero creo que mas mantenible) Igualmente hubiera también creado un archivo de populate, pero eso es quizas un gusto personal. Quiero agradecerte por todo el contenido que nos ofreces a la comunidad. No quiero generar ningún tipo de toxicidad, solo abrir el debate en la comunidad y que compartáis vuestros punto de vista y su justificación en caso de que tengamos la misma opinión.
Buenísimo el caso resuelto Eric. Me quedó una duda: por qué en el Dockerfile exportaste el requirements y luego instalaste las dependencias con pip y no corriste Poetry Install? Saludos!
Es una muy buena pregunta. No tiene mucho sentido usar poetry dentro de docker ya que con el requirements salis andando. Hoy en dia yo implementaria el step de poetry en un proceso de CD con un github action o algo tipo jenkins que me buildee la imagen. Esto hace que la imagen sea un poco mas liviana y que solo tenga lo necesario para prod
@@CodinEric es parecido pero no igual, no creé una api, lo que hago parecido es lo que vos haces al armar el string SQL y tengo la metadata de las tablas que quiero bajar del mssql en jsons luego uso pyodbc (tengo restricciones en mí entorno que me hacen usarlo) para ejecutar las consultas, luego la data la voy guardando en csv por ahora ya que mí idea es ir subiendola al PostgreSQL directamente. También uso multiprocessing para acelerar un poco las cosas.
El EXPOSE de Dockerfile es informativo, realmente no es necesario, pero sí que es recomendable para que quien vaya a usarlo sepa que puerto usa el servicio que va a ejecutar. ¡Ánimo y sigue así!
@@CodinEric Hola amigo, ah so sorry, igual cuando tenga mi canal de youtube podés joderme. Te comento cosas que vi, no las recuerdo todas. Disclaimer: Desconozco vuestro seniority en `python` y/o roles como Backend Engineer, primer video que ví de vos. El proyecto que colocaste en este video en particular, no está bien segmentado, tenés modelos regados a lo largo de código por ejemplo, debes ordenarte allí. El `Dockerfile` lo tenés del ostión, puedes por ejemplo: - "Concatenar" comandos es más "rápido", generas menos "layers" de ejecución (no tengo referencias de la docu de Docker en este momento): ``` RUN A RUN B -> # Same as: RUN A && B ``` Deberías instalar sin cache las dependencias y definir una versión explícita en todas tus depedencias (instalaste `poetry` y ni idea de la versión). No explicaste por qué editaste la variable de entorno `PYTHONPATH` (la editaste para indicarle al intérprete de `python` donde buscar las dependencias del proyecto), reconozco que los "virtual envs." de `python` no se llevan bien con Docker, podés checar `pdm`. Ahm, el tema de jinja copado, no llegué a ver la implementación, está un poco rebuscada porque tendrías que dejar Docus del por qué y si otro SWE lo ve (independientemente del seniority el o ella va a estallar). Cheers from Venezuela 👍
Gran video! El repo que usaste lo tenes publico en algun lado? Por otro lado, estaria bueno un video sobre Jinga y como integrarlo con FastAPI y un frontend. Just saying :D
Te iba a mentir que no lo subi pero sabes que si? github.com/codin-eric/fast-api-backend No creo que haga mucho mas de desarrollo web. No quiero que se piensen que se de esto del full stack (?
TREMENDO... un gran contenido especializado y bastante claro... Felicidades !!! y muchas gracias !!!
Muy bueno Eric
Gracias Jose querido
Gracias Eric! Es bárbaro ver esto porque ayuda a uno a entender si está bien orientado, en mi caso soy sysadmin y hace un tiempo estoy aprendiendo a programar y entendí todo lo que hiciste, me da la tranquilidad de ver que eso que llaman “senior software engineer” no es un astronauta de la NASA si no algo más terrenal
Me gusto que dejaste en el vídeo la parte en que borraste el print. +10 de respeto
Mi humilde opinión un sysadmin que peograma es mucho mejor que un dev porque entendes el todo del sistema mucho mejor. Hay muchisimos devs que se niegan a aprender cosas básicas como docker o incluso como llevar su código a producción 🙃
@@CodinEric creo que tenemos una ventaja de entender como funcionan las diferentes partes, no soy un DBA pero toco una base, no soy un dev pero toco un poco de código (o por lo menos puedo entender donde se me rompe el sistema). Uno como sysadmin se siente lejos de poder programar, si puedo hacer scripts en python, bash, php, pero de ahí a armar un monolito con classes y que quede lindo hay mucho recorrido. Pero viendo tu ejemplo me doy cuenta que casi casi soy un dev senior, de lo que hiciste no me asusto nada, es más, antes de ver tu video me tome el tiempo de pensar como lo resolvería y fue muy similar! saludos!
Tambien creo que tu video anima al resto de los que estan por ahí aprendiendo y siempre sienten que son juniors, ojalá este video les sirva como a mí! abrazo!
Me encanta! yo hubiera implementado un patron builder para generar cualquier tipo de consultas SQL .. todos los ORMs implementan ese patron para encadenar statements dinamicamente.
Buen video Eric saludos!
Buenísimo video! Me sirve banda!
Muchas gracias! Buenísimoooo
Me alegra que te sirva :)
Muy bueno Eric! un abrazo y posta tus videos son muy didácticos.
Gracias Diego ❤
Muy bueno!! Siempre es interesante ver qué piden para las entrevistas.
Gracias 🥰
Fue muy divertido de hacer
La primera vez que veo un video que toque casos prácticos en español. Muy bueno.
Por suerte entendí todo así que me voy contento
Si puedo conseguir mas casos reales los voy a ir haciendo videos 🥰
Sos Genial Eric 👍🏻💯
Hola Eric, viendo el ejercicio creo que lo has hecho con muy poco código (punto a favor) pero creo que es mas rebuscado y difícil de mantener. El "error" que veo es que el ejercicio lo resuelves con un POST cuando la solución estándar creo que debería ser un GET con parámetros donde pasar los filtros en la url. Creo que para una entrevista de senior backend seria una red flag.
Yo hubiera optado por una petición usando el SQLAlchemy donde aplicar los filtros de forma opcional. (Más código pero creo que mas mantenible)
Igualmente hubiera también creado un archivo de populate, pero eso es quizas un gusto personal.
Quiero agradecerte por todo el contenido que nos ofreces a la comunidad. No quiero generar ningún tipo de toxicidad, solo abrir el debate en la comunidad y que compartáis vuestros punto de vista y su justificación en caso de que tengamos la misma opinión.
interesante video erick!
Me alegra que te guste 😌
Gracias Eric. Sería genial si haces un vídeo explicando más a detalle como es la conexión don Docker cuando usas postgres
Creo que lo expliqué todo en este video, no estoy seguro que mas detalles puedo dar 😅
🥲
Buenísimo el caso resuelto Eric. Me quedó una duda: por qué en el Dockerfile exportaste el requirements y luego instalaste las dependencias con pip y no corriste Poetry Install?
Saludos!
Es una muy buena pregunta. No tiene mucho sentido usar poetry dentro de docker ya que con el requirements salis andando. Hoy en dia yo implementaria el step de poetry en un proceso de CD con un github action o algo tipo jenkins que me buildee la imagen. Esto hace que la imagen sea un poco mas liviana y que solo tenga lo necesario para prod
Buen video máster , tengo una pregunta técnica de docker :"v, la cual pues no hice hsjsjs podrías hacer un vídeo de ella?
Pues si no la haces no te la puedo responder :v
@@CodinEric :v no POS ya la hice xd máster
Gracias por el video saludos
😘
Me sirve para practicar con Docker 😎
excelente!
❤️
Gracias crack
Gracias por el video justo estoy haciendo algo parecido para automatizar una importación de tablas desde mssql a PostgreSQL en mí trabajo. Saludos!
Con una api de por medio? Como la usas? 🤔
@@CodinEric es parecido pero no igual, no creé una api, lo que hago parecido es lo que vos haces al armar el string SQL y tengo la metadata de las tablas que quiero bajar del mssql en jsons luego uso pyodbc (tengo restricciones en mí entorno que me hacen usarlo) para ejecutar las consultas, luego la data la voy guardando en csv por ahora ya que mí idea es ir subiendola al PostgreSQL directamente. También uso multiprocessing para acelerar un poco las cosas.
El EXPOSE de Dockerfile es informativo, realmente no es necesario, pero sí que es recomendable para que quien vaya a usarlo sepa que puerto usa el servicio que va a ejecutar. ¡Ánimo y sigue así!
Oh gracias! Siempre me olvido de investigar estas cosas
genial
¿Cómo es que te funciona correr "docker compose up", no debería ser "docker-compose up"?
En las últimas versiones de docker agregaron el command compose 😏
muy bueno
🥰
Genial el challenge, por lo que noto no eres nativo para un rol Backend, pifiaste muchas cosas, in general, buena explicación.
Leyendote rápido suena muy mala leche tu comentario 😅
Estaría bueno si amplias un poco más que hice mal así aprendo :)
@@CodinEric Hola amigo, ah so sorry, igual cuando tenga mi canal de youtube podés joderme. Te comento cosas que vi, no las recuerdo todas.
Disclaimer: Desconozco vuestro seniority en `python` y/o roles como Backend Engineer, primer video que ví de vos.
El proyecto que colocaste en este video en particular, no está bien segmentado, tenés modelos regados a lo largo de código por ejemplo, debes ordenarte allí.
El `Dockerfile` lo tenés del ostión, puedes por ejemplo:
- "Concatenar" comandos es más "rápido", generas menos "layers" de ejecución (no tengo referencias de la docu de Docker en este momento):
```
RUN A
RUN B ->
# Same as:
RUN A && B
```
Deberías instalar sin cache las dependencias y definir una versión explícita en todas tus depedencias (instalaste `poetry` y ni idea de la versión).
No explicaste por qué editaste la variable de entorno `PYTHONPATH` (la editaste para indicarle al intérprete de `python` donde buscar las dependencias del proyecto), reconozco que los "virtual envs." de `python` no se llevan bien con Docker, podés checar `pdm`.
Ahm, el tema de jinja copado, no llegué a ver la implementación, está un poco rebuscada porque tendrías que dejar Docus del por qué y si otro SWE lo ve (independientemente del seniority el o ella va a estallar).
Cheers from Venezuela 👍
Gracias! justo mañana tengo mi segunda entrevista de backend y me vino bien para entender, comparando un par de cosas.
No entindo una mierda de backend, pero que buen video amigo
X2
Me alegra que sirva 😅
Estoy igual ustedes ya saben o hasta están trabajando de ésto, colegas un consejo estoy iniciando 😅😢
"no seas bobi" lmao
Gran video! El repo que usaste lo tenes publico en algun lado? Por otro lado, estaria bueno un video sobre Jinga y como integrarlo con FastAPI y un frontend. Just saying :D
Te iba a mentir que no lo subi pero sabes que si? github.com/codin-eric/fast-api-backend
No creo que haga mucho mas de desarrollo web. No quiero que se piensen que se de esto del full stack (?
@@CodinEric genio gracias!
Es excelente! docker the shit out of it xD
'docker... because fuck you'
'docker compose... because fuck you too'
buen vídeo Eric! bien explicado todo 👍
Gracias! Me alegro que te haya gustado 🥰
Dejo mí me gusta y me voy, pero después vuelvo a verlo completo
Gracias vuelva prontos (?