Prateleira

Notas para quem quer o porquê.

Cover Image for Go Internals - Interfaces

Como interfaces são representadas no Go 1.26: layouts de eface vs iface, resolução de itab, dispatch de métodos, boxing e escape, type assertions e onde o custo de interfaces realmente aparece em profiles.

Lucas LemosLucas Lemos

Mais histórias

Cover Image for Go Internals - Tipos Nativos

Go Internals - Tipos Nativos

Layouts de slice, string e map no Go 1.26: headers vs backing storage, o que append e subslicing fazem no runtime, grupos Swiss table e extendible hashing, e como maps nativos diferem das hash tables que você implementou na série de estruturas de dados.

Lucas LemosLucas Lemos
Cover Image for Go Internals - Garbage Collector

Go Internals - Garbage Collector

Mergulho no garbage collector do Go 1.26: marcação tri-color, write barriers híbridas, mark e sweep concorrentes, pausas STW, mark assist e o que GOGC e o memory limit de fato controlam.

Lucas LemosLucas Lemos
Cover Image for Go Internals - Alocador

Go Internals - Alocador

Mergulho no heap allocator do Go 1.26: páginas e spans, size classes, tiny allocator e como mallocgc roteia objetos pequenos por mcache, mcentral e mheap com o mínimo de locks.

Lucas LemosLucas Lemos
Cover Image for Go Internals - Memória

Go Internals - Memória

Mergulho no layout de memória do Go 1.26: stacks de goroutine e crescimento, fronteira stack–heap, escape analysis, stack maps e como ler as decisões do compilador e do runtime na prática.

Lucas LemosLucas Lemos
Cover Image for Go Internals - Scheduler

Go Internals - Scheduler

Mergulho no scheduler do Go 1.26: goroutines vs threads do SO, modelo G/M/P, run queues e work stealing, bloqueios e netpoller, preempção e como observar o scheduling na prática.

Lucas LemosLucas Lemos
Cover Image for Go Internals - Essenciais

Go Internals - Essenciais

Essenciais da série Go Internals: como um programa Go é construído, o papel do runtime, quais camadas vamos aprofundar e como ler o código-fonte junto com os artigos. Com Go 1.26.

Lucas LemosLucas Lemos
Cover Image for Estruturas de Dados com Golang - Parte 5

Estruturas de Dados com Golang - Parte 5

Na parte 5 cobrimos Grafos: estratégias de representação, algoritmos de travessia (BFS e DFS), menor caminho com Dijkstra e implementações práticas em Go.

Lucas LemosLucas Lemos
Cover Image for Estruturas de Dados com Golang - Parte 4

Estruturas de Dados com Golang - Parte 4

Na parte 4 vamos cobrir Heaps e Priority Queues em profundidade: propriedades de complete binary tree, representação em array, operações de sift-up/sift-down e implementações práticas em Go.

Lucas LemosLucas Lemos
Cover Image for Estruturas de Dados com Golang - Parte 3

Estruturas de Dados com Golang - Parte 3

Na parte 3 desta série vamos fazer um deep dive em Hash Tables: hashing, colisões, chaining, load factor, resize e uma implementação prática em Go com crescimento dinâmico.

Lucas LemosLucas Lemos
Cover Image for Estruturas de Dados com Golang - Parte 2

Estruturas de Dados com Golang - Parte 2

Continuando nossa série de estruturas de dados, hoje vamos cobrir Árvores e suas variações mais comuns: Árvores Binárias, Árvores Binárias de Busca e Árvores AVL. Vamos discutir travessias, trade-offs e implementações práticas em Go.

Lucas LemosLucas Lemos
Cover Image for Estruturas de Dados com Golang - Parte 1

Estruturas de Dados com Golang - Parte 1

Neste artigo vamos cobrir Listas e suas variações mais comuns em Golang. Vamos discutir casos de uso, trade-offs e implementações práticas para cada uma.

Lucas LemosLucas Lemos
Cover Image for JWTs: o que são e como eles funcionam

JWTs: o que são e como eles funcionam

JWTs, JSON Web Tokens ou Tokens, você os conhece por vaŕios nomes, mas nesse artigo nós vamos expor eles em detalhes e mostrar como eles funcionam e como é o código para gerá-los

Lucas LemosLucas Lemos
Cover Image for O que é litografia?

O que é litografia?

Você já pensou em como processadores são feitos? Ou em como eles funcionam por dentro? Hoje eu vou tentar explicar um pouco desses assuntos para você e falar sobre litografia, que é um conceito presente na construção de todas as CPUs hoje em dia.

Lucas LemosLucas Lemos
Cover Image for Funções de hash criptográficas

Funções de hash criptográficas

Neste artigo falaremos um pouco sobre criptografia com foco em funções de hash, suas diferenças para outros algoritmos criptográficos e para que elas são úteis.

Lucas LemosLucas Lemos
Cover Image for SEO nas redes sociais

SEO nas redes sociais

Muitas pessoas ainda não entendem sobre SEO e indexação de sites, principalmente quando relacionado ao engajamento nas mídias sociais, então hoje vamos cobrir este tópico para ajudar quem deseja ter um melhor engajamento com suas publicações.

Lucas LemosLucas Lemos
Cover Image for Cluster vs Worker Threads

Cluster vs Worker Threads

Há muitas discussões sobre os módulos Cluster e Worker Threads em Node.js, mas o que eles são afinal? São os mesmos? Similares? Como eles funcionam? Nós vamos responder todas essas dúvidas com este artigo.

Lucas LemosLucas Lemos
Cover Image for Construindo gráficos com React Native

Construindo gráficos com React Native

Sempre foi um desafio construir gráficos com React Native, hoje eu demonstrarei como fazê-lo de uma maneira fácil usando uma biblioteca que constrói os gráficos usando uma abordagem de SVG

Lucas LemosLucas Lemos
Cover Image for Explicando hoisting em Javascript

Explicando hoisting em Javascript

Hoisting causa uma grande dúvida entre os desenvolvedores, aqueles que não entendem este conceito estão sempre pensando porque alguma parte do seu código não está funcionando. Hoje vamos aprender o que é hoisting e como evitar este efeito (ou usá-lo conscientemente).

Lucas LemosLucas Lemos