Diário de bordo - #3
Tags: go, 100daysofcode, daily
Published: 2021-01-10 00:19:42

Esta é apenas uma documentação dos meus estudos diários, portanto se sinta a vontade para me apresentar coisas novas ou comentar algo que eu errei ou confundi, pois, isso me ajudará demais no meu crescimento pessoal.

Hoje não tive tanto tempo para estudar, porém, todo dia é dia de estudar. Sendo assim hoje dei uma olhada em alguns tópicos novos que escutei ontem e tentei algo mais simples no meu [100DaysOfCode](https://www.100daysofcode.com) então vamos ao diário de hoje!

# [Does Golang inline functions ?](https://medium.com/@felipedutratine/does-golang-inline-functions-b41ee2d743fa)
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/tn0fob8i6ozp2elzlx0g.png)
Ontem durante a leitura de refactoring do [refactoring guru](https://refactoring.guru/pt-br/refactoring) discutimos um pouco sobre a falácia de que utilizar mais métodos(para tornar o código mais limpo) era prejudicial ao desempenho e ouvi um termo que eu não conhecia, as inline functions e como elas fazem com que o código possa ser organizado para o desenvolvedor e após ser compilado o código simplesmente insere o conteúdo desses métodos criados dentro do método que chamou e assim tornando realmente desnecessária essa falácia, daí me surgiu uma dúvida Golang faz inline functions? Após ler este artigo descobri que o Golang efetua o inline, porém não cheguei a testar com minhas próprias mãos para entender melhor, até mesmo porque não tenho costume de ver instruções assembly e conseguir entender o que aquilo representa, então acho que eu vou tentar entender melhor sozinho e usando coisas como recursividade e tals caso você já tenha conhecimentos sobre esse tipo de assunto compartilhe nos comentários pois vai ajudar demais.

# [Go by Example: SHA1 Hashes](https://gobyexample.com/sha1-hashes)
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/7e0y8ffm0a2oerj1o4z3.png)
No [dia 45](https://twitter.com/figur7Plus1/status/1348037868816576517) do meu [100DaysOfCode](https://www.100daysofcode.com) eu optei por ver algo mais simples sobre Golang, pois eu não estava utilizando o meu computador e acabei escolhendo por ler sobre o uso de SHA1, achei bem tranquilo de utilizar e inclusive me deu vontade de ver o que mais esse pacote crypto faz pois já escutei que ele possui uma implementação de random não deterministico, porém não verifiquei para saber realmente como isso funciona e se realmente vale a pena testar.


# [Concorrência versus Paralelismo](https://medium.com/floripa-gophers/concorr%C3%AAncia-versus-paralelismo-26ebf0414750)
![1_S20YNBe5KqRmS08Mtn_XTw](https://dev-to-uploads.s3.amazonaws.com/i/qlsflmbmzgi3a31a10tw.png)
 Se tem uma coisa que eu acho maneiro em Go é a utilização de concorrência com [goroutines](https://gobyexample.com/goroutines) e em um treinamento de Go que rolou lá na empresa eu acabei percebendo que confundo muito concorrência com paralelismo, sendo assim hoje eu lembrei que uma leitura sobre esse assunto iria ser maneiro. Pelo que eu entendi concorrência se trata da forma como as instruções são ordenadas para obter o melhor desempenho possível com os recursos disponíveis e paralelismo se trata do uso de mais de um processador ou mais de um núcleo de um processador para executar mais de uma instrução em simultâneo.

# Materiais encontrados hoje, que não foi possível entender legal hoje mesmo: 
* [Golang além do "hello world"](https://speakerdeck.com/jeffotoni/golang-alem-do-hello-world)
* [Go Proverbs - Rob Pike](https://www.youtube.com/watch?v=PAAkCSZUG1c)

É isso pessoal, novamente peço que caso tenha algo a acrescentar, explicar ou sugerir se sinta livre para deixar no comentário, pois isto será muito importante para meu crescimento pessoal. Caso leu até aqui obrigado pela atenção!
![Alt](https://res.cloudinary.com/practicaldev/image/fetch/s--uLCaazgs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5991methcmv4ojwolws2.gif)