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.
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.
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.
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”:
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”.
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á.
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.
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