Cadernos para baixar

Exercícios para praticar o que os artigos ensinam e o gabarito comentado, em PDF.

Assincronia Avançada: Muitas Tarefas, Cancelamento e Fluxos Assíncronos
Assincronia Avançada: Muitas Tarefas, Cancelamento e Fluxos Assíncronos

Assincronia avançada no C#: Task.WhenAll e as exceções múltiplas, WaitAsync e… [+]

Concorrência: Threads, Travas e Dados Compartilhados Sem Corrupção
Concorrência: Threads, Travas e Dados Compartilhados Sem Corrupção

Concorrência no C#: condição de corrida e por que contador++ perde… [+]

Interop com C: Chamando Código Nativo com P/Invoke e unsafe
Interop com C: Chamando Código Nativo com P/Invoke e unsafe

Como chamar uma biblioteca em C a partir do C#: LibraryImport, conversão de… [+]

Testes Automatizados com xUnit: Mudar Sem Medo
Testes Automatizados com xUnit: Mudar Sem Medo

Como montar um projeto de testes com xUnit para a Livraria: Fact e Theory… [+]

SQL Essencial com SQLite: Perguntas a um Banco de Dados
SQL Essencial com SQLite: Perguntas a um Banco de Dados

O modelo relacional e a linguagem SQL na prática, com SQLite: tabelas STRICT… [+]

ADO.NET: Conexões, Comandos Parametrizados e o Perigo do SQL Injection
ADO.NET: Conexões, Comandos Parametrizados e o Perigo do SQL Injection

Como o C# conversa com o banco pelo ADO.NET: conexões e pool, ExecuteNonQuery… [+]

Dapper: SQL Seu, Sem a Cerimônia
Dapper: SQL Seu, Sem a Cerimônia

Como o Dapper elimina a cerimônia do ADO.NET sem esconder o SQL: QueryAsync… [+]

Entity Framework Core: Objetos no Banco Sem Escrever SQL
Entity Framework Core: Objetos no Banco Sem Escrever SQL

O domínio da Livraria persistido com Entity Framework Core e SQLite: DbContext… [+]