"如果要学习服务器知识,我推荐《黑客与画家》这本书。这本书详细介绍了服务器操作系统、 *** 配置和故障排查等方面的知识,并通过实例展示如何进行实际操作。书中的文章通俗易懂,适合初学者阅读。"初学服务器知识,该选择什么书籍
windows平台可以看看《Windows Server 2003服务器架设与管理》。
作为推荐,这里我主要还是推荐自己仔细研读过的书,而我读过的书中某些可能已经很老了,甚至内容已经过时了,因此,这只算是抛砖引玉,大家可以选择类似的更新、更权威的书籍学习。
基础知识主要包括:语言。这里之所以拿出来说,是因为某些语言可能导致你使用完全不同的思路来设计服务器。一般来说,C/C++、Java、C# 之类可以归为一类,而 Go、Erlang 和他们区别很显著。关于语言的经典书籍太多,这里就不说了。
*** 。想了解协议底层实现,可以看《TCP/IP 详解 卷2》。上层开发时,Windows 下可以看《Network Programming for Microsoft Windows》,Linux 下可以直接看看官方相关的 API 文档。Windows 下 IOCP,Linux 下 epoll(其他类 Unix 下的技术类似)是需要掌握的。实际开发中, *** 库可能自己实现,也可以基于某些开源库开发,所以,无论是出于学习还是使用目的,都可以研究一下开源库,例如 libuv、libevent、boost ASIO。
操作系统相关。类 Unix 系统比较好的书籍就是《Advanced Programming in the UNIX Environment》了,Windows 下则可以看看《Windows核心编程》。系统相关的最核心的东西可能就是线程、进程,以及相关同步的内容了,看看《Multithreading applications in Win32》挺不错(包括类 Unix 系统下的开发者)
数据库。主要看你选择 SQL 还是 NOSQL。基本上搞搞 mysql、redis 不会错。
一些思想。光会各种技术是不能写出好的代码的,可能还需要学习一些更抽象的知识,所谓的一些”哲学“或者开发的指导思想。比较推荐的是《UNIX 编程艺术》,还有一本书《精益思想》,这本书和编程完全无直接关系。
《 *** 游戏核心技术与实战》日本人写的 *** 游戏服务器端开发的书, 结合游戏开发讲到了服务器端的方方面面, 但是相对的可能不够深入. 适合入门, 对游戏和技术有更好的理解. 然后就可以针对特定的技术领域, 比如 *** , 数据存储等找专门的书来看了. 单纯从技术角度而言, 基础的东西并没有太多的不同. 只是 *** 游戏服务器端的应用领域相对狭窄, 所以市面上专门的书籍并不多。
Linux系统和Windows系统本质上的区别是什么这是两个完全不同的平台,
linux系统程序员用的居多,对个人用户而言,上手难度偏高。
windows系统面向的就是个人用户,操作简单,而且软件生态没有敌手