Thank you for the tutorial, Evgeny. Could you explain how to write tests with fastapi, sqlmodel and postgres in the next tutorials? Especially I want to know how to manage and isolate test database from project database.
Santo Expedito não tem uma data de nascimento conhecida. Sabe-se que ele era Romano. Sabe-se também que foi Senador de Roma, Príncipe-Consul do Império Romano na Armênia, militar, Comandante da XII Legião Romana e, mesmo nessa condição, converteu-se ao cristianismo. História de Santo Expedito A XII Legião tinha o nome de Fulminata, nome que significa algo como Vem como um raio. A Fulminata tinha cerca de 8 mil homens contando soldados, escravos e cavaleiros. No tempo de Expedito, ela defendia as fronteiras orientais do Império Romano contra os bárbaros asiáticos. Expedito comandou a XII Legião de 296 a 303 d. C. Para ser comandante de uma Legião Romana era preciso muita competência e bravura. Tanto que, alguns anos antes, a mesma XII Legião tinha sido comandada por um Imperador romano, Marco Aurélio, numa campanha onde hoje é a Eslováquia. Sabe-se que Expedito era um líder competente. Seu cargo equivaleria hoje ao de um general. Ele se tornou famoso por manter a disciplina dos soldados e todos o respeitavam. Por outro lado, como a maioria dos soldados romanos, o Comandante Expedito tinha uma vida devassa, rodeada de luxo, prazeres e fama. Conversão ao Cristianismo O primeiro contato do Comandante Expedito com o Cristianismo aconteceu dentro da própria XII Legião. Com efeito, uma parte dos soldados da XII era formada de cristãos. Além disso, em suas andanças pelas fronteiras orientais do império, Expedito teve ainda mais contato com o cristianismo. E, para completar, a XII Legião teve um soldado chamado Polieucto de Melitene, que morreu mártir no ano 193. A semente do Cristianismo e do sangue dos mártires nunca cai na terra em vão. A Procrastinação de Santo Expedito Expedito era um líder competente na condução da XII Legião tanto nos tempos de paz quanto nas batalhas. Um comandante vitorioso na carreira militar. Porém, quanto à sua vida espiritual, tinha o vício da procrastinação, isto é, deixar para depois, adiar. Ele simpatizava com a mensagem de Jesus. Admirava os ensinamentos do Mestre de Nazaré e via no Evangelho palavras que ninguém jamais tinha dito antes na história humana. Por isso, ele pensava em um dia converter-se de verdade. Esse dia, porém, ficava sempre para mais tarde, era sempre adiado. O toque de Deus Depois de alguns anos procrastinando, Expedito foi tocado pela graça de Deus. Certa noite teve um sonho que mudou sua vida. No sonho, com um corvo representando o espírito do mal, grasnava diante dele a palavra cras, do latim, que significa amanhã, deixe sua conversão para amanhã. O corvo grasnava forte e parecia poderoso. Porém, de repente, Expedito decidiu e pisoteou o corvo dizendo: hodie, que significa hoje, em latim. O Comandante Expedito acordou do sonho decidido e confirmou sua conversão. Por isso ele é considerado o Santo das causas urgentes. Convertido, ele continuou por um tempo ainda chefe da sua legião, conseguindo converter seus soldados também ao cristianismo. A ira contra Santo Expedito Com a conversão de Expedito e da sua tropa, o imperador Diocleciano começou a perseguir o Santo e seus soldados. A importância de seu posto fazia dele uma influência muito forte a favor do Cristianismo dentro do Império Romano. Por isso, ele se tornou alvo especial do Imperador. A Morte de Santo Expedito Santo Expedito foi preso pela ordem de Diocleciano e foi forçado a renunciar à sua nova fé. Porém, ele não renunciou. Seus castigos começaram pela flagelação romana: 39 chicotadas com o flagrus, chicote que dilacera a pele e causa hemorragia. Expedito tinha aplicado este mesmo castigo a bandidos e indisciplinados. Agora, ele os recebia por causa de Jesus Cristo. E ele permaneceu firme e julgando-se indigno de sofrer o mesmo castigo que Jesus sofrera, aplicado por soldados romanos, como estava acontecendo com ele. Por fim, não renunciando à sua fé, Santo Expedito foi decapitado com espada, por ordem do Imperador Diocleciano, no dia 19 de abril de 303, em Melitene na Armênia. Canonização Como Santo Expedito foi morto por causa de Jesus Cristo, ele se tornou um mártir da Igreja e santo reconhecido oficialmente. Sua bravura diante dos sofrimentos por causa da fé serviu de exemplo para grande parte dos soldados de sua Legião, fazendo-os permanecer firmes em sua fé. O exemplo de Santo Expedito arrastou milhares de cristãos na Armênia e, logo, ele passou a ser venerado como santo, o santo das causas urgentes. Imagem de Santo Expedito Santo Expedito é representado como um Comandante Romano, vestindo uma túnica branca, uma armadura de superior e um manto vermelho sobre os ombros. Em sua mão direita ele levanta uma cruz com a palavra Hodie (Hoje). Na mão esquerda ele tem uma palma, representando o martírio e a vitória dos mártires. Seu pé direito pisa sobre um corvo, que grita a palavra Cras, (amanhã). A imagem simboliza a grande mensagem de Santo Expedito: Não adie sua conversão, não deixe para amanhã aquilo que deve ser feito hoje, não procrastine! Oração de Santo Expedito A PODEROSA ORAÇÃO DE SANTO EXPEDITO Meu Santo Expedito das Causas Justas e Urgentes. Socorrei-me nesta hora de aflição e desespero, interceda por mim junto ao Nosso Senhor Jesus Cristo. Vós que sois um Santo guerreiro. Vós que sois o Santo dos aflitos. Vós que sois o Santo dos desesperados. Vós que sois o Santo das causas urgentes. Protegei-me. Ajudai-me. Dai-me força, coragem e serenidade. Atendei ao meu pedido. (fazer o pedido). Ajudai-me a superar estas horas difíceis, protegei-me de todos que possam me prejudicar. Protegei minha família, atendei o meu pedido com urgência. Devolva-me a paz e a tranquilidade. Serei grato pelo resto de minha vida e levarei seu nome a todos que tem fé. Santo Expedito, rogai por nós. Amém.
An amazing tour from amazing lad, well done! However, how can I make an atomic transaction with SQLModel orm? If it is possible please make more videos about SqlModel orm.
hello! amazing tutorial, clears a lot of doubts. please do more... How could be implemented a token blacklist/invalidation strategy, if it worth to do that? And... token refresh too would also be awesome to see how it could beimplemented. huge thanks
thanks for the comment! I actually just wanted to keep things simple for beginners this time and maybe later release video that would go into async + http 2.0 and other stuff I didn't cover in this video.
Hi, update the gem end point for 'get('/gem/{id}' JSONResponse(status_code=HTTP_404_NOT_FOUND,content="Record not found") if we don't give content it will give error, after putting content in JSONResponse it started working
I have a question regarding sqlmodel and pydantic. I created a class based on sqlmodel, and now I want to use that for data validation using pydantic @validator (decorotor) and perform an ORM operation. So how do I do it?
easy, in the model create a method, it should be something like @validator('your_field_name', pre=True) def convert_to_number(cls, v): return float(v) or raise something here if v isn't what's needed. then as you create an instance of model, validation on set field automatically applies
I came here for the same reasons as you. The topics are spot on, but the text is very small, you should run the next videos with a much larger font. Very difficult to see what you write
53:13 i was running the program in vs-code and for me a weired eroor came like ModuleNotFoundError: No module named 'main', took me a long time to figure out what is going wrong. looks like its part of relative imports and found a solution like when we run the code for gem_repository we should run it as a module like , python -m repos.gem_repository while we are in the main parent folder
Good question! Since our price is defined by gem properties and gem type, if we put them all in one table we will have transitive functional dependency, which might not be ideal. If we want db normalized to 3NF , then we must get rid of that dependency. Plus we can reuse same gem properties row for other gems, in case they are the exact same, which I'm not doing here, but it might save some space in a large database. Hope it answers your question!
@@evgenymaksimov Thank you! I'm off to Google cu see what "transitive functional dependency" and "db normalized to 3NF" mean... hope for your sake is not something about my mom! :D
make sure the id field is set to be a primary key. It should be like at 36:47. Try dropping the existing row and create it again, and don't specify id explicitly.
Yes I realized it's too small for mobile view afterwards... My newer videos are all zoomed in/larger font, you're welcome to subscribe haha. Thanks for the comment
Thank you for the tutorial, Evgeny. Could you explain how to write tests with fastapi, sqlmodel and postgres in the next tutorials? Especially I want to know how to manage and isolate test database from project database.
Thank you for explanation! Definitely giving that approach a shot. Great video quality by the way.
Best wishes, my friend
Yo! Learned a lot from the video. The progressive learning approach is my favorite, keep up the good work, man!
Santo Expedito não tem uma data de nascimento conhecida. Sabe-se que ele era Romano. Sabe-se também que foi Senador de Roma, Príncipe-Consul do Império Romano na Armênia, militar, Comandante da XII Legião Romana e, mesmo nessa condição, converteu-se ao cristianismo.
História de Santo Expedito
A XII Legião tinha o nome de Fulminata, nome que significa algo como Vem como um raio. A Fulminata tinha cerca de 8 mil homens contando soldados, escravos e cavaleiros. No tempo de Expedito, ela defendia as fronteiras orientais do Império Romano contra os bárbaros asiáticos. Expedito comandou a XII Legião de 296 a 303 d. C. Para ser comandante de uma Legião Romana era preciso muita competência e bravura. Tanto que, alguns anos antes, a mesma XII Legião tinha sido comandada por um Imperador romano, Marco Aurélio, numa campanha onde hoje é a Eslováquia. Sabe-se que Expedito era um líder competente. Seu cargo equivaleria hoje ao de um general. Ele se tornou famoso por manter a disciplina dos soldados e todos o respeitavam. Por outro lado, como a maioria dos soldados romanos, o Comandante Expedito tinha uma vida devassa, rodeada de luxo, prazeres e fama.
Conversão ao Cristianismo
O primeiro contato do Comandante Expedito com o Cristianismo aconteceu dentro da própria XII Legião. Com efeito, uma parte dos soldados da XII era formada de cristãos. Além disso, em suas andanças pelas fronteiras orientais do império, Expedito teve ainda mais contato com o cristianismo. E, para completar, a XII Legião teve um soldado chamado Polieucto de Melitene, que morreu mártir no ano 193. A semente do Cristianismo e do sangue dos mártires nunca cai na terra em vão.
A Procrastinação de Santo Expedito
Expedito era um líder competente na condução da XII Legião tanto nos tempos de paz quanto nas batalhas. Um comandante vitorioso na carreira militar. Porém, quanto à sua vida espiritual, tinha o vício da procrastinação, isto é, deixar para depois, adiar. Ele simpatizava com a mensagem de Jesus. Admirava os ensinamentos do Mestre de Nazaré e via no Evangelho palavras que ninguém jamais tinha dito antes na história humana. Por isso, ele pensava em um dia converter-se de verdade. Esse dia, porém, ficava sempre para mais tarde, era sempre adiado.
O toque de Deus
Depois de alguns anos procrastinando, Expedito foi tocado pela graça de Deus. Certa noite teve um sonho que mudou sua vida. No sonho, com um corvo representando o espírito do mal, grasnava diante dele a palavra cras, do latim, que significa amanhã, deixe sua conversão para amanhã. O corvo grasnava forte e parecia poderoso. Porém, de repente, Expedito decidiu e pisoteou o corvo dizendo: hodie, que significa hoje, em latim. O Comandante Expedito acordou do sonho decidido e confirmou sua conversão. Por isso ele é considerado o Santo das causas urgentes. Convertido, ele continuou por um tempo ainda chefe da sua legião, conseguindo converter seus soldados também ao cristianismo.
A ira contra Santo Expedito
Com a conversão de Expedito e da sua tropa, o imperador Diocleciano começou a perseguir o Santo e seus soldados. A importância de seu posto fazia dele uma influência muito forte a favor do Cristianismo dentro do Império Romano. Por isso, ele se tornou alvo especial do Imperador.
A Morte de Santo Expedito
Santo Expedito foi preso pela ordem de Diocleciano e foi forçado a renunciar à sua nova fé. Porém, ele não renunciou. Seus castigos começaram pela flagelação romana: 39 chicotadas com o flagrus, chicote que dilacera a pele e causa hemorragia. Expedito tinha aplicado este mesmo castigo a bandidos e indisciplinados. Agora, ele os recebia por causa de Jesus Cristo. E ele permaneceu firme e julgando-se indigno de sofrer o mesmo castigo que Jesus sofrera, aplicado por soldados romanos, como estava acontecendo com ele. Por fim, não renunciando à sua fé, Santo Expedito foi decapitado com espada, por ordem do Imperador Diocleciano, no dia 19 de abril de 303, em Melitene na Armênia.
Canonização
Como Santo Expedito foi morto por causa de Jesus Cristo, ele se tornou um mártir da Igreja e santo reconhecido oficialmente. Sua bravura diante dos sofrimentos por causa da fé serviu de exemplo para grande parte dos soldados de sua Legião, fazendo-os permanecer firmes em sua fé. O exemplo de Santo Expedito arrastou milhares de cristãos na Armênia e, logo, ele passou a ser venerado como santo, o santo das causas urgentes.
Imagem de Santo Expedito
Santo Expedito é representado como um Comandante Romano, vestindo uma túnica branca, uma armadura de superior e um manto vermelho sobre os ombros. Em sua mão direita ele levanta uma cruz com a palavra Hodie (Hoje). Na mão esquerda ele tem uma palma, representando o martírio e a vitória dos mártires. Seu pé direito pisa sobre um corvo, que grita a palavra Cras, (amanhã). A imagem simboliza a grande mensagem de Santo Expedito: Não adie sua conversão, não deixe para amanhã aquilo que deve ser feito hoje, não procrastine!
Oração de Santo Expedito
A PODEROSA ORAÇÃO DE SANTO EXPEDITO
Meu Santo Expedito das Causas Justas e Urgentes.
Socorrei-me nesta hora de aflição e desespero, interceda por mim junto ao Nosso Senhor Jesus Cristo.
Vós que sois um Santo guerreiro.
Vós que sois o Santo dos aflitos.
Vós que sois o Santo dos desesperados.
Vós que sois o Santo das causas urgentes.
Protegei-me. Ajudai-me. Dai-me força, coragem e serenidade.
Atendei ao meu pedido. (fazer o pedido).
Ajudai-me a superar estas horas difíceis, protegei-me de todos que possam me prejudicar.
Protegei minha família, atendei o meu pedido com urgência.
Devolva-me a paz e a tranquilidade.
Serei grato pelo resto de minha vida e levarei seu nome a todos que tem fé.
Santo Expedito, rogai por nós. Amém.
I agree with what you say about the fast api videos I came to yours based on the chapter topics you have below.
Great video, if only you could zoom in more on your IDE. Text is a bit small.
An amazing tour from amazing lad, well done! However, how can I make an atomic transaction with SQLModel orm? If it is possible please make more videos about SqlModel orm.
I've seen the source code and Im very excited now.
hello! amazing tutorial, clears a lot of doubts. please do more... How could be implemented a token blacklist/invalidation strategy, if it worth to do that? And... token refresh too would also be awesome to see how it could beimplemented. huge thanks
I just wanted to press like again and again
Thank you, Evgeny!
Nice!!!
Thank you!
Thank you, you have all reason…, all videos out there are improvisation.., not useful…. Great idea make useful video
Very good. Thank you
Love your works! Keep on going! :)
a big thx for this tutorial!
but why you don't use async func?
thanks for the comment!
I actually just wanted to keep things simple for beginners this time and maybe later release video that would go into async + http 2.0 and other stuff I didn't cover in this video.
@@evgenymaksimov that would be great! I'm looking forward to it.
@@КириллКулаков-т7г hi! it's been a while but I just published video about best async practices in fast Api, feel free to check it out :)
thank you
Hi,
update the gem end point for 'get('/gem/{id}' JSONResponse(status_code=HTTP_404_NOT_FOUND,content="Record not found")
if we don't give content it will give error, after putting content in JSONResponse it started working
I have a question regarding sqlmodel and pydantic. I created a class based on sqlmodel, and now I want to use that for data validation using pydantic @validator (decorotor) and perform an ORM operation. So how do I do it?
easy, in the model create a method, it should be something like
@validator('your_field_name', pre=True)
def convert_to_number(cls, v):
return float(v)
or raise something here if v isn't what's needed.
then as you create an instance of model, validation on set field automatically applies
I wish you cold zoom into your code editor. One can hardly see the code.
Hi! The video is just uploading currently, please revisit it in an hour, HD is just getting processed by youtube! It wll be up to 1440p! Thanks
I came here for the same reasons as you. The topics are spot on, but the text is very small, you should run the next videos with a much larger font. Very difficult to see what you write
🤯
53:13 i was running the program in vs-code and for me a weired eroor came like ModuleNotFoundError: No module named 'main', took me a long time to figure out what is going wrong. looks like its part of relative imports and found a solution like when we run the code for gem_repository we should run it as a module like , python -m repos.gem_repository while we are in the main parent folder
as i was following the tutorial along i saw you too had the issue of circular import, and how you have solved the same
Why did you defined the properties as a separated class from gem class and also, why two tables in the db for storing a gem?
Good question! Since our price is defined by gem properties and gem type, if we put them all in one table we will have transitive functional dependency, which might not be ideal. If we want db normalized to 3NF , then we must get rid of that dependency. Plus we can reuse same gem properties row for other gems, in case they are the exact same, which I'm not doing here, but it might save some space in a large database. Hope it answers your question!
@@evgenymaksimov Thank you! I'm off to Google cu see what "transitive functional dependency" and "db normalized to 3NF" mean... hope for your sake is not something about my mom! :D
@@xr1140 ahaha, good luck diving into database normalization !
Hi
one quick question what you suggest to use for UI bootstrap or other ?
really a matter of preference, nothing else. I use material-ui more often, some people are fans of tailwind, bootstrap is a classic yep
text is FAR too small. 99% wasted screen space, 1% tiny tiny tiny text. Why do youtubers still not get it?
I'm about as much of "youtuber" as you are.That was literally my first video ever made, sorry I wasn't born a video producer.
Hi,
I have followed all steps but in ID i am getting NULL it should be 1..or some integer
can you explain what went wrong?
make sure the id field is set to be a primary key. It should be like at 36:47. Try dropping the existing row and create it again, and don't specify id explicitly.
@@evgenymaksimov thanks it worked , I was making two field as primary in same table, that's why it is placing NULL for ID.
The aspect is too small
Too small friend, next time you have to zoom it, thank you
Yes I realized it's too small for mobile view afterwards... My newer videos are all zoomed in/larger font, you're welcome to subscribe haha. Thanks for the comment
Zoom the screen abit.
White Edward Thompson Frank Wilson Mary
Мог бы и на русском говорить
Жека го на русском)