海外TECH |
MakeUseOf |
How to Enable Macros in Excel Without Risks |
https://www.makeuseof.com/enable-macros-in-excel/
|
excel |
2022-06-18 21:45:14 |
海外TECH |
DEV Community |
Introdução ao gRPC - Golang |
https://dev.to/gustavonicolau/introducao-ao-grpc-golang-210f
|
Introdução ao gRPC GolangHáalgum tempo a arquitetura de API s REST vem dominando o mercado seja em aplicativos web ou microserviços Porém existe outras arquiteturas mais modernas e com muito mais vantagens que o REST hoje nós vamos falar do gRPC O que égRPC gRPC éum sistema de código aberto criado pela Google em como uma melhoria para a arquitetura de comunicação chamada RPC Remote Procedure Call O gRPC usa em seu sistema de mensagens o formato Protobuf Protocol buffers que éum forma de definir uma estrutura de dados assim como o JSON e XML sóque muito mais rápido e muito mais leve Outra grande vantagem de usar o gRPC éque normalmente API s REST são escritas em HTTP ao contrário do gRPC que usa HTTP O que éProtobuf O Protobuf ou Protocol Buffer como dito anteriormente éque éum forma de definir uma estrutura de dados assim como o JSON e XML ele funciona de uma forma um pouco diferente desses dois e tem muitos benefícios sobre eles Outra vantagem muito legal do Protobuf éque vocêpode gerar automaticamente código para várias linguagens no momento que eu escrevo são elas C C Dart Go Java Kotlin e Python Mas para isso precisamos criar um arquivo com a extensão proto para que isto dêcerto dito isso vamos colocar em prática esses conceitos E qual a vantagem de usar HTTP Além do fato de que o HTTP ser muito mais recente que o HTTP as principais vantagens são Conexão Única O HTTP éum protocolo sequencial onde o navegador precisa abrir diversas conexões TCP em sequência para os arquivos e caso um arquivo seja muito pesado o processamento acaba sendo lento jáo HTTP ele precisa de apenas uma conexão TCP onde ele farátodas as requisições necessárias para buscar os arquivos e isso trás um custo de processamento e memória menor junto com uma latência mais baixa também trazendo benefícios de hardware e software Compactação dos cabeçalhos Tanto o HTTP quanto o HTTP comprimem suas mensagens nas requisições porém o HTTP usa o HPACK que éum algoritmo mais avançado que elimina algumas informações repetidas nos cabeçalhos tornando o carregamento de arquivos e pacotes muito mais rápído Server Push Outra vantagem do HTTP éque ele pode ser bidirecional ou seja tanto o servidor quanto o cliente podem trocar informações entre si sem que seja solicitado diferentemente do HTTP que énecessário fazer uma requisição nova sempre que precisar de um novo conteúdoAntes de tudo vamos usar a linguagem Go para o desenvolvimento do nosso servidor gRPC não se apegue a linguagens porque isso não vai ser importante por agora Agora vamos iniciar nosso projeto comgo mod init grpc goLogo depois vamos criar uma pasta chamada contracts que seráonde vamos criar nosso um arquivo chamado hello proto Feito isso vamos criar nossa primeira estrutura de dados que seráum request e um response da nossa aplicaçãosyntax proto message HelloRequest string name message HelloResponse string msg Aqui nós criamos duas estruturas de dados o número seguido do tipo e nome da variável éa ordem que ele vai ficar na estrutura Feito isso vamos adicionar também mais duas coisas nesse arquivooption go package pb service HelloService rpc Hello HelloRequest returns HelloResponse a primeira linha que nós adicionamos épara o gerador de código do protobuf sabe onde ele deve criar os arquivos que no caso vai ser na pasta pb jáo service HelloService que nós criamos éos serviços que vamos usar no nosso servidor dentro dele criamos a função Hello e nela recebemos a estrutura de dados de request e vamos retornar a estrutura de response Antes de prosseguirmos vamos instalar o compilador do Protobuf que irágerar nosso código Caso esteja usando Linux vocêpode usar o apt ou o apt get por exemploapt install y protobuf compilerprotoc versionCaso esteja no Mac vocêpode usar o Homebrewbrew install protobufprotoc versionCaso esteja no Windows ou outro SO vocêpode consultar o site oficial para fazer a instalaçãoFeito isso vamos rodar o comandoprotoc go out plugins grpc contracts protoIsso vai criar a pasta pb e gerar um novo arquivo go chamado hello pb go e nesse arquivo vamos ter uma série de métodos criados pelo gerador de código automático do protobuf Vamos também instalar a dependência do gRPC do go para isso damos esse comandogo get u google golang org grpcAgora depois de finalizado a instalação vamos criar nosso servidor Primeiro vamos criar uma pasta chamada server e dentro dela um arquivo chamado main go Dentro desse arquivo vamos começar com o seguintepackage mainimport context grpc go pb log net google golang org grpc type Server struct func s Server Hello ctx context Context request pb HelloRequest pb HelloResponse error func main Nós criamos uma struct chamada Server e depois criamos um método para essa struct chamado Hello que vai ser nossa primeira função do servidor e essa função recebe dois parâmetros o primeiro sendo um context que não nos interessa por agora e o segundo sendo o HelloRequest que nós tinhamos criado no arquivo hello proto Isso tudo épossível graças ao gerador de código do protobuf que criou o módulo pb que contém todas essas informações Após isso vamos criar nosso retorno da função fazendo o seguintefunc s Server Hello ctx context Context request pb HelloRequest pb HelloResponse error return amp pb HelloResponse Msg Hello request GetName nil Como podem ver nós estamos retornando a estrutura de dados de response porém temos um request GetName uma função que nós não definimos antes e isso acontece por que o protobuf ao gerar o código para gente faz os getters e setters automaticamente isso ajuda muito no desenvolvimento Agora vamos criar iniciar nosso servidor na função main do nosso arquivofunc main listen err net Listen tcp if err nil log Fatalf Failed to listen v err grpcServer grpc NewServer pb RegisterHelloServiceServer grpcServer amp Server if err grpcServer Serve listen err nil log Fatalf Failed to serve v err Na nossa primeira linha da função nós iniciamos nosso servidor na porta e logo após nós validamos para ver se não deu nada de errado Após isso iniciamos nosso servidor gRPC e depois nós registramos nosso serviço que foi criado no arquivo hello proto nós passamos como parâmetro o servidor gRPC que foi iniciado e depois nossa struct do servidor Logo após isso iniciamos o nosso servidor gRPC e verificamos se não vai dar nenhum erro Agora vamos rodar nosso servidor com umgo run server main goBom a parte de servidor estápronta porém nós precisamos testar para ver tudo funcionando para isso vamos criar uma nova pasta chamada de client e dentro dela vamos criar um arquivo main go Dentro desse arquivo vamos colocar issopackage mainimport context grpc go pb log google golang org grpc func main connection err grpc Dial localhost grpc WithInsecure if err nil log Fatalf Failed to connect v err defer connection Close client pb NewHelloServiceClient connection request amp pb HelloRequest Name Seu nome response err client Hello context Background request if err nil log Fatalf Failed to call v err log Printf Response v response Msg Nós chamamos a função main e nela começamos criando uma conexão com o gRPC e nessa função de conexão grpc Dial nós passamos dois parâmetros o endereço do servidor e também uma função que nada mais éque o tipo de conexão que estamos fazendo como nós estamos localhost vamos usar o WithInsecure Depois nós verificamos se não existe nenhum erro logo após isso nós damos um defer connection Close que basicamente vai fechar a nossa conexão antes da função ser encerrada Criamos também nossa variável de cliente onde ele conecta diretamente com o módulo gerado pelo protobuf e também montamos nosso request puxando também o módulo gerado automaticamente Depois chamamos nossa função Hello que estáatrelada a nossa variável client e nela nós passamos nossos dois parâmetros necessários o context Background que não nos interessa e também o nosso request que nós criamos acima Após isso nós verificamos se não deu nenhum erro durante a chamada da nossa função e então nós mostramos o resultado que o nosso servidor nos enviou Vamos testar isso dando umgo run client main goCaso o console exiba a mensagem Response Hello Seu nome foi porque nosso servidor e nosso cliente funcionou perfeitamente ConclusãoMesmo que ainda hoje boa parte da WEB se concentra em arquiteturas REST usar gRPC para microserviços ou atémesmo aplicações maiores pode ser uma vantagem para vocêe para seu time as vantagens que o gRPC trás valem muito a pena para serem usadas no dia a dia principalmente quando o foco éreduzir latências |
2022-06-18 21:06:36 |
金融 |
ニュース - 保険市場TIMES |
損保ジャパンら、「アイコサポート」の鉄道施設内における実証実験実施 |
https://www.hokende.com/news/blog/entry/2022/06/19/070000
|
損保ジャパンら、「アイコサポート」の鉄道施設内における実証実験実施視覚に障がいのある人向けの遠隔サポートサービス、「アイコサポート」東武鉄道株式会社以下、東武鉄道、損害保険ジャパン株式会社以下、損保ジャパンおよび株式会社プライムアシスタンス以下、プライムアシスタンスの社は年月より、視覚に障がいのある人向け遠隔サポートサービス「アイコサポート」の、鉄道施設内におけるサービス提供に向けた実証実験を実施している。 |
2022-06-19 07:00:00 |
ニュース |
@日本経済新聞 電子版 |
バイデン氏、自転車で転倒 米当局者「医療措置は不要」
https://t.co/NkAwQdvmGd |
https://twitter.com/nikkei/statuses/1538275029799952384
|
転倒 |
2022-06-18 21:38:41 |
ニュース |
BBC News - Home |
Rail strikes will punish innocent people, transport secretary warns |
https://www.bbc.co.uk/news/uk-61854567?at_medium=RSS&at_campaign=KARANGA
|
blame |
2022-06-18 21:30:08 |
ニュース |
BBC News - Home |
Canadian Grand Prix: Max Verstappen beats Fernando Alonso to pole in Montreal |
https://www.bbc.co.uk/sport/formula1/61854553?at_medium=RSS&at_campaign=KARANGA
|
Canadian Grand Prix Max Verstappen beats Fernando Alonso to pole in MontrealRed Bull s Max Verstappen takes pole position in a wet qualifying at the Canadian Grand Prix with Alpine s Fernando Alonso a surprise second |
2022-06-18 21:20:32 |
ニュース |
BBC News - Home |
Diamond League: Shelly-Ann Fraser-Pryce runs world-leading 100m time at Diamond League in Paris |
https://www.bbc.co.uk/sport/av/athletics/61854282?at_medium=RSS&at_campaign=KARANGA
|
Diamond League Shelly Ann Fraser Pryce runs world leading m time at Diamond League in ParisWatch as Shelly Ann Fraser Pryce wins the m with a world leading time for of seconds while GB s Daryll Neita finishes second in seconds |
2022-06-18 21:24:54 |
北海道 |
北海道新聞 |
広島サミット、5月後半を検討 原爆慰霊碑前で核軍縮決意 |
https://www.hokkaido-np.co.jp/article/695325/
|
首脳会議 |
2022-06-19 06:02:00 |
ニュース |
THE BRIDGE |
STEPNはナゼ盛り上がった?・スポーツ×Web3対談/Emoote(エムート)熊谷GP【フィナンシェ放送局 #14】 |
https://thebridge.jp/2022/06/emoote-interview2-financiepodcast
|
STEPNはナゼ盛り上がった・スポーツ×Web対談Emooteエムート熊谷GP【フィナンシェ放送局】本稿はトークンを使ったクラウドファンディング「フィナンシェ」が配信するポッドキャスト「フィナンシェ放送局」の記事からの転載フィナンシェ放送局はトークンを使ったクラウドファンディング「フィナンシェ」で巻き起こる、ファンとプロジェクトの話題をお届けするポッドキャストです。 |
2022-06-18 21:30:53 |
ニュース |
THE BRIDGE |
次世代型提携クレジットカードを発行のナッジ、12億円超をシリーズA調達——累積調達額は25億円超に |
https://thebridge.jp/2022/06/nudge-series-a-round-funding
|
次世代型提携クレジットカードを発行のナッジ、億円超をシリーズA調達ー累積調達額は億円超に枚からでも発行できる次世代型提携クレジットカード「Nudge」を展開するナッジは日、シリーズAラウンドで資金調達したことを明らかにした。 |
2022-06-18 21:15:06 |
ニュース |
THE BRIDGE |
WiL、複数のファンド向けに10億米ドル超を追加調達 |
https://thebridge.jp/2022/06/world-innovation-lab-raises-1-billion-pickupnews
|
WiL、複数のファンド向けに億米ドル超を追加調達WorldInnovationLabRaisesBilliontoBridgetheInnovationGapAcrosstheGlobalVentureEcosystemアメリカと日本を拠点とするベンチャーキャピタルWorldInnovationLabWiLは日、億米ドル超の追加資金を調達したとを発表した。 |
2022-06-18 21:00:51 |
コメント
コメントを投稿