"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > [Resenha de livro] Guia de Beej para programação de rede

[Resenha de livro] Guia de Beej para programação de rede

Publicado em 15/08/2024
Navegar:727

[Book Review] Beej

Introdução – sobre o que é este livro?

Sim, finalmente terminei de ler este livro.

Como uma pessoa que nunca fez um curso de redes de computadores na universidade, há muito tempo pensava em aprender esse assunto intensamente. No entanto, não consegui encontrar um curso universitário sólido e aberto ao público (algo como a introdução aos algoritmos do MIT). E muitos dos livros com o prefixo “introdução” gastaram centenas de páginas explicando conceitos de baixo nível, como algoritmos de roteamento ou até mesmo fios físicos que conectam os continentes!

Então encontrei o Guia de Programação de Rede de Beej, que é frequentemente recomendado na Internet. À primeira vista, achei fácil de ler devido à maneira como o autor explica os conceitos de maneira bem-humorada. Mas, ao mesmo tempo, em comparação com outros livros sobre redes de computadores, este livro contém muitos exemplos de código, por isso achei que é mais adequado para programadores que desejam prática prática de programação de soquetes.

E depois de ler todos os capítulos, exceto o capítulo 9 (porque é mais como uma referência para um monte de funções de soquete C), achei uma boa leitura.

Boas peças

Introdução amigável aos conceitos técnicos

O livro começa com alguns conceitos básicos, como IP, porta e soquete. No entanto, não se aprofunda na introdução de algoritmos muito técnicos ou dispositivos físicos usados ​​para comunicações de rede. Como desenvolvedor que lida diariamente com aplicações web, achei isso mais relevante para o meu trabalho. Mesmo que o livro às vezes mencione bits e bytes, ele ainda é legível e você normalmente nunca faz nenhuma operação bit a bit ao ler o código C no livro.

Muitos exemplos de código

Para quem quer colocar a mão na massa com código, este livro é para você. Exceto pelas partes de visão geral sobre redes de computadores, a maioria das explicações do livro vem com exemplos de código em C. Isso é particularmente útil para saber como as comunicações de rede reais ocorrem dentro de nossas aplicações web. Por exemplo, a operação de polling varre todos os soquetes registrados para verificar se há eventos de entrada a serem tratados.

Além disso, os exemplos não importam nenhuma biblioteca externa, então você não precisa lidar com problemas irritantes de dependência de terceiros.

Peças Sossó

Focado principalmente na programação de soquetes

Este livro é muito bom como uma referência amigável para programação de soquetes e chamadas de sistema relevantes. No entanto, não vai “mais alto” ou “mais baixo”:

  • "superior": a maioria dos aplicativos da web atuais depende do protocolo HTTP. Poderia ter sido melhor se o livro contivesse mais explicações sobre essa camada superior com código em execução real.
  • "inferior": Acho que o livro poderia ter mostrado a aparência de um pacote usando ferramentas como o Wireshark, que captura pacotes gerados pelos exemplos. A introdução de alguns comandos Linux/Unix para rede também poderia ter sido útil para entender como o código do nosso aplicativo interage com o kernel.

No entanto, encontrei outro bom recurso escrito pelo mesmo autor: Beej's Guide to Networking Concepts. Parece cobrir muitos conceitos básicos de forma mais abrangente do que este livro, com muitos exercícios de codificação. Espero que este livro “conceitual” preencha a lacuna do livro “programação”.

Não recomendado para quem não está familiarizado com o código C

Se você não sabe muito sobre programação C, este livro pode ser impressionante. Não explica nenhum conceito básico, como ponteiros ou conversão de tipo. Embora não soframos com o inferno de dependências como quando lidamos com o CMake, se você não sabe muito sobre C, a leitura do código ainda será difícil.

Pessoalmente, estou bem com o código C. No entanto, o livro poderia ter sido mais amigável para iniciantes se fosse escrito em Python, que possui quase todas as contrapartes das funções de soquete de C em sua biblioteca de soquetes. O livro "conceitual" do mesmo autor usa Python desta vez, então podemos esperar um pouco de diversão lá.

Conclusão

No geral, o livro está repleto de exemplos práticos de código que são úteis para entender um aplicativo de rede usando chamadas de sistema de soquete. Claro, você realmente não precisará usar essas funções ao escrever seu próprio aplicativo, porque muitas linguagens suportam seus próprios wrappers para essas funções de rede de soquete de "baixo nível" (Python possui bibliotecas como socketserver e http). No entanto, acho que uma vez em sua carreira como desenvolvedor você deve entender o que está acontecendo por trás de todas essas comunicações altamente abstratas usando HTTPS ou websocket. Nesse sentido, este livro é uma boa leitura e também uma boa referência.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/uponthesky/book-review-beejs-guide-to-network-programming-9mg Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3