Praticamente 1 ano depois , que esse video foi postado, estou assistindo. Para quem que, assim como eu, pensava que esse negócio de camadas não é necessário, está enganado. Me arrependo amargamente de não ter iniciado há mais tempo, Invista um pouco do seu tempo para aprender e não se arrependerá. Parabéns Heber pelo video, pela didádica.
Mano, voce é incrivel. Obrigado Pela aula, estou começando com o Delphi, consegui meu primeiro trabalho como programador em delphi e estou com dificuldade por conta da falta de material top em portugues, seu canal é otimo amigo. Estou maratonando e aprendendo mt
Parabéns, não há outro igual, sua maneira simples e sincera de expressar, mostrar e entregar ferramentas de muita qualidade. Excelente profissional. O que aprendi, continuo aprendendo nas suas aulas. Que DEUS ilumine sempre tua pessoa.
Fantástico suas aula e seu trabalho.... Obrigado. Caso tenha interesse, eu fiz um "Servidor Linux" utilizando API Rest (HORSE) do Delphi, ficou bem bacana, e vi que muitos perguntaram sobre isso, me coloco a disposição, caso queira q eu demonstre. Grato mais uma vez. (LIKE mais do q dado).
Muito boa a aula!!! Estou pensando em migrar o meu sistema de um delphi mais antigo para o mais novo e já deixar ele comunicando com o servidor dentro da mesma rede mesmo com o horse do jeito que foi exemplificado no vídeo. Acho que vai dar bom! Do jeito que estou pensando fazer, vai dar tanto para servidor dentro da mesma rede quanto na nuvem. Já vou preparar para as duas formas.
Heber como sempre muito claro e didático. Parabéns, conteúdo de primeira. Uma dúvida: esta estrutura independe de banco de dados, muda muito se for PostgreSQL?
Como sempre, Héber entregando conteúdo de qualidade e com uma metodologia que realmente funciona. Parabéns. Sempre segui seu trabalho e definitivamente sempre seguirei pois é um dos melhores conteúdos do UA-cam. Aprendo sempre muito. Além de delphi, agora também o mundo web, de forma simples e descomplicada.
Boa noite. Parabéns pelo vídeo. Uma duvida, estou fazendo um server vcl, e gostaria de exibir os logs em um tmemo, é possivel? Tem algum vídeo sobre isso?
Boa tarde Heber, parabéns pela clareza em que transmites o teu conhecimento. No final do vídeo, onde apresentas um modelo de estrutura na AWS, aparecem varias instâncias EC2 acessando um único banco de dados, se entendi corretamente. De que forma Isso funcionaria com o Firebird, já que não tem RDS disponível para ele. Grato pela tua atenção.
Você teria que levantar uma máquina (EC2) e colocar o Firebird nela. Dessa forma, todas as outras máquinas acessa esse servidor. Sobre alta disponibilidade (redundância de vários bancos), acho que o Firebird não possui esse recurso nativo de replicação de dados.
Olá amigo, ótimo material. Eu gostaria de saber como proceder no caso de campos do tipo blob (binário), onde gravo fotos. Sria algo do tipo encode e decode? Estou usando o firebird 3
@@99coders Consegui resolver... No Lazarus, ao invés de usar: body := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(req.Body), 0) as TJsonValue; Declare a variável body como TJSONData e use: body := GetJSON(req.Body); E para ler os pairs, faça assim: cli.nome := body.FindPath('nome').AsString;
Otima aula Heber, estou utilizando o exemplo disponibilizado é ocorre erro no servidor quando realizo acesso sumultaneo no Get('/cliente', ListarClientes), memory violaction, se eu realizar somente um acesso ok sem erro, o problema é acesso simultaneo, alguem passou por isso nos testes? tem como resolver Heber?
@@99coders estava utilizando o mesmo exemplo conforme exemplificado pelo colega acima, uma vez realizado o consumo do método Get('/cliente', ListarClientes) , em mais de um terminal ou aparelho por exemplo, é constatado o erro de violação de acesso. é possível simular de forma mais fácil, colocando um break no começo do evento ListarClientes, de tal forma a forçar o acesso a camada de dados da aplicação simultânea.
Rapaz estou com um problema absurdo dedas 8 da manha agora são 20:44 e nada Me retorna erro 500 Internal Server Error 🐎 Access violation at address 00868183 in module 'iSoftAPI.exe'. Read of address 00000064 alguém consegue me ajudar ?
@@99coders rapaz refiz o projeto umas 4 vezes depois de ter mando a mensagem e não funcionou inclusive, usei seus fontes que tbm não funcionou, mesmo em outro PC, fui pra o RDW acabou que achei mais pratico e funcionou de primeira!
Aula top, exatamente o que eu estava procurando. Porém me deparei com um problema na unit Horse.Mime. var LKind: TMimeTypes.TKind; [dcc32 Error] Horse.Mime.pas(67): E2003 Undeclared identifier: 'TMimeTypes' Alguém pode me ajudar?
Estou recebendo este erro e não consigo arrumar. Está tudo ok com o código. "First chance exception at $75467152. Exception class EFDException with message '[FireDAC][Comp][Clnt]-340. Driver ID is not defined. Set TFDConnection.DriverName or add DriverID to your connection definition'. Process ServerHorse.exe (8996)"
@@99coders Apesar de haver passado 1 ano, quero deixar proposto no except o retorno do erro para entendimento do que ocorre, ou seja, try cli := TCliente.Create; except on e: exception do begin Res.Send('Erro ao conectar com o banco -> '+e.Message).Status(500); exit; end; end;
Eu estava com o mesmo erro, estava tentando conectar com o banco sql server, descobri que é so adicionar no use da unit connection isso FireDAC.Phys.MSSQL
Praticamente 1 ano depois , que esse video foi postado, estou assistindo. Para quem que, assim como eu, pensava que esse negócio de camadas não é necessário, está enganado. Me arrependo amargamente de não ter iniciado há mais tempo, Invista um pouco do seu tempo para aprender e não se arrependerá. Parabéns Heber pelo video, pela didádica.
🤜🤛
Faço de suas as minhas palavras, agora 1 ano depois ;/
@@RogerDourado Sim sistema de qualidade com segurança e velocidade precisa disso. isso ai mano!
Mano, voce é incrivel. Obrigado Pela aula, estou começando com o Delphi, consegui meu primeiro trabalho como programador em delphi e estou com dificuldade por conta da falta de material top em portugues, seu canal é otimo amigo. Estou maratonando e aprendendo mt
excellent, thank you so much for this Great Material! You are the best !
Parabéns.... pelo vídeos... já olhei vários... estou partindo para um APP de Pedidos...
espectacular tus videos, felicitaciones/parabens , un saludo desde Py
Vídeo incrível, fez tudo ficar simples e claro. Parabéns.
😉
Parabéns, não há outro igual, sua maneira simples e sincera de expressar, mostrar e entregar ferramentas de muita qualidade. Excelente profissional. O que aprendi, continuo aprendendo nas suas aulas. Que DEUS ilumine sempre tua pessoa.
🤜🤛
como o Rafael falou.. "de forma simples e descomplicada". parabéns pelo trabalho. valeu
Fantástico suas aula e seu trabalho.... Obrigado.
Caso tenha interesse, eu fiz um "Servidor Linux" utilizando API Rest (HORSE) do Delphi, ficou bem bacana, e vi que muitos perguntaram sobre isso, me coloco a disposição, caso queira q eu demonstre. Grato mais uma vez. (LIKE mais do q dado).
🙏
Atualmente estou usando RDW mas meu próximo projeto vai ser em Horse com certeza. Parabéns Heber.
Muito boa a aula!!! Estou pensando em migrar o meu sistema de um delphi mais antigo para o mais novo e já deixar ele comunicando com o servidor dentro da mesma rede mesmo com o horse do jeito que foi exemplificado no vídeo. Acho que vai dar bom! Do jeito que estou pensando fazer, vai dar tanto para servidor dentro da mesma rede quanto na nuvem. Já vou preparar para as duas formas.
Parabéns pelo vídeo. Excelente !!!!!
Muito bom. Estou estuando colocar algum serviço no ar com Horse.
Heber como sempre muito claro e didático. Parabéns, conteúdo de primeira. Uma dúvida: esta estrutura independe de banco de dados, muda muito se for PostgreSQL?
A estrutura não muda
Show de bola, ajudou muito
Como sempre, Héber entregando conteúdo de qualidade e com uma metodologia que realmente funciona. Parabéns. Sempre segui seu trabalho e definitivamente sempre seguirei pois é um dos melhores conteúdos do UA-cam. Aprendo sempre muito. Além de delphi, agora também o mundo web, de forma simples e descomplicada.
Brabo demais!, valeu Heber!
Cara vc é top!! nem sempre eu acompanho os "ao vivos" mas sempre que posso eu corro aqui no youtube e vejo!! parabéns Heber!!!
Boa noite. Parabéns pelo vídeo. Uma duvida, estou fazendo um server vcl, e gostaria de exibir os logs em um tmemo, é possivel? Tem algum vídeo sobre isso?
Sua didática é muito boa, excelente vídeo
Muito bom seu vídeo, simples e fácil de entender!
Boa tarde Heber, parabéns pela clareza em que transmites o teu conhecimento. No final do vídeo, onde apresentas um modelo de estrutura na AWS, aparecem varias instâncias EC2 acessando um único banco de dados, se entendi corretamente. De que forma Isso funcionaria com o Firebird, já que não tem RDS disponível para ele. Grato pela tua atenção.
Você teria que levantar uma máquina (EC2) e colocar o Firebird nela. Dessa forma, todas as outras máquinas acessa esse servidor.
Sobre alta disponibilidade (redundância de vários bancos), acho que o Firebird não possui esse recurso nativo de replicação de dados.
Eu agradeço por expor seu conhecimento, ficou sensacional, simples e direto!
Olá amigo, ótimo material. Eu gostaria de saber como proceder no caso de campos do tipo blob (binário), onde gravo fotos. Sria algo do tipo encode e decode? Estou usando o firebird 3
Gostei de mais da aula, parabéns. Teria como fazer um live ou um vídeo de como fazer o upload de arquivo com horse recebendo o arquivo no backend ?
👍
Excelente materia.. muito obrigado e parabens
Excelente... prático e direto ao ponto.
Explicação incrivelmente completa e compreensível.
Cara, você é sensacional. Obrigado por tudo!
Aula top demais, estou aprendendo coisas que eu nem imaginava. Parabéns pelo trabalho
Aula top , direto ao ponto , ótimo conteúdo ! Obrigado !
Ótima aula! Parabéns!!!
No Lazarus não tem como usar o TJSONObject.ParseJSONValue?
Não saberia dizer... ainda não me aventurei no Lazarus
@@99coders Consegui resolver...
No Lazarus, ao invés de usar: body := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(req.Body), 0) as TJsonValue;
Declare a variável body como TJSONData e use: body := GetJSON(req.Body);
E para ler os pairs, faça assim: cli.nome := body.FindPath('nome').AsString;
show de aula!
Consegue me ajudar com essa questão do pool de conexões Heber?? Requisições simultâneas não funcionam nem a pau
Obrigado.
👍👍
Heber, é possível usar o ACBR via Horse ? Ou acha melhor com o RDW, já que ele tem uma interface mais "amigável" ?
Tenho pouca experiência (praticamente zero) com o ACBR.
Fica dando erro de conexão com o banco, sendo que está igual ao que o sr disponibilizou
E se eu preferir usar o componente Firedac connection do Delphi, como configurar?
Tem algum video que ensina a fazer algum front end pra consumir as apis ?
Estamos iniciando um novo app no canal... vamos criar a api e consumir ela depois. É ao vivo toda segunda-feira às 20h
@@99coders eu percebi e já estou acompanhando. Muito bom! valeu
Otima aula Heber, estou utilizando o exemplo disponibilizado é ocorre erro no servidor quando realizo acesso sumultaneo no Get('/cliente', ListarClientes), memory violaction, se eu realizar somente um acesso ok sem erro, o problema é acesso simultaneo, alguem passou por isso nos testes? tem como resolver Heber?
Tente não usar um único TRestClient... para cada componente TRestRequest, coloque um TRestClient diferente... veja se resolve.
@@99coders estou consumindo a API utilizando o insomnia e Google somente, o erro ocorre quando acesso simultâneo o mesmo serviço.
Bom dia, Conseguiu achar a solução estou com o mesmo problema.
@@higorhenrique1579 Como está fazendo a conexão com o banco? Com módulo de dados, fdconnection, etc?
@@99coders estava utilizando o mesmo exemplo conforme exemplificado pelo colega acima, uma vez realizado o consumo do método Get('/cliente', ListarClientes) , em mais de um terminal ou aparelho por exemplo, é constatado o erro de violação de acesso. é possível simular de forma mais fácil, colocando um break no começo do evento ListarClientes, de tal forma a forçar o acesso a camada de dados da aplicação simultânea.
estou tentando fazer a Horse.upload e recebo o seguinte erro: THorseHackRequest(Req).GetWebRequest; undeclared identify..alguem sabe pq??
Horse o DelphiMVCFramework?? que usar?
Só conheço o Horse.
quando cai no except da acessViolatin e n entendi pq
Olá, como faria para conectar o banco de dados via FTP?
nao tempo como no inserir jogar o body em um dataset sem ser manual ?
Como eu faço pra jogar meu servidor Horse no Linux usando Delphi 11?
Uh… conheço quase nada de Linux
Td bem meu querido Heber, achei uns videos aqui estou testando . Grato pelo retorno abcss@@99coders
Tem como rodar como serviço do IIS para hospedar em um servidor web?
Tem sim, mas infelizmente não tenho vídeo aberto no UA-cam sobre esse assunto
Heber, este curso Amazon Pro, tem certificado ?
Tem o certificado gerado pelo Nutror (Eduzz)
Esse é melhor que o tms core ?
Não conheço tms core
não está conectando no banco. Aparece a mensagem : Erro ao conectar com o banco
Essa sua maquina na amazon é a EC2 gratuita?
se sim, da pra fazer uma maquina windows pras requisições?
Sim, dá para criar uma EC2 gratuita por um ano
@@99coders mais da pra publicar esse servidor numa máquina windows de hardware baixo no caso dessa ec2 gratuita por 1 ano
@@99coders ?
Rapaz estou com um problema absurdo dedas 8 da manha agora são 20:44 e nada
Me retorna erro 500
Internal Server Error 🐎
Access violation at address 00868183 in module 'iSoftAPI.exe'. Read of address 00000064
alguém consegue me ajudar ?
Pode ser muita coisa... geralmente você deve estar matando alguma variável que não pode...
@@99coders rapaz refiz o projeto umas 4 vezes depois de ter mando a mensagem e não funcionou inclusive, usei seus fontes que tbm não funcionou, mesmo em outro PC, fui pra o RDW acabou que achei mais pratico e funcionou de primeira!
está me retornando erro 404 - not found. Alguem poderia me dar uma dica? Estou usando o Mysql. pode ser isso?
consegui
Executei, mas não criou o arquivo ini
e tentei compilar os arquivos disponibilizados voce para comparar mas não compila da erro. pode ajudar?
Aula top, exatamente o que eu estava procurando.
Porém me deparei com um problema na unit Horse.Mime.
var
LKind: TMimeTypes.TKind;
[dcc32 Error] Horse.Mime.pas(67): E2003 Undeclared identifier: 'TMimeTypes'
Alguém pode me ajudar?
Estou recebendo este erro e não consigo arrumar. Está tudo ok com o código.
"First chance exception at $75467152. Exception class EFDException with message '[FireDAC][Comp][Clnt]-340. Driver ID is not defined. Set TFDConnection.DriverName or add DriverID to your connection definition'. Process ServerHorse.exe (8996)"
Por algum motivo o sistema não está conseguindo configurar o FDConnection com o driver do banco.
@@99coders Apesar de haver passado 1 ano, quero deixar proposto no except o retorno do erro para entendimento do que ocorre, ou seja,
try
cli := TCliente.Create;
except
on e: exception do
begin
Res.Send('Erro ao conectar com o banco -> '+e.Message).Status(500);
exit;
end;
end;
Eu estava com o mesmo erro, estava tentando conectar com o banco sql server, descobri que é so adicionar no use da unit connection isso FireDAC.Phys.MSSQL