年终总结 | 开发者必备书籍、工具、资料汇总贴(2024)

编程/开发
577
0
0
2024-02-24

01 开发工具都在这里

01 Docker

讲到云计算工具,你很难不提一下Docker。

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中。

当你与团队中的其他人员进行代码合作时,程序员和开发者遇到的本机问题可以协作处理。

Docker通过“容器”创建隔离环境,而容器具有使软件运行所需的一切,但是,Docker仅需要少量的资源,就可保证这个软件的运行。

与虚拟机不同,容器不需要完整的操作系统,它只需要使软件工作所需的库和设置。

这意味着软件将始终运行,无论你在何处部署它。

虽然在云开发这一环,Docker并不是必要的,但从更大的角度,Docker的出现是具有极大意义的。

有了它,开发者可以轻轻松松准备一样的开发环境,不需要花时间配置环境,这样,你就能节省很多时间,做更多有意义的工作。

02 Wireshark

Wireshark是一个开源抓包工具,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息,捕获和分析网络上的流量。

当然,作为一个开源抓包工具,Wireshark 在网络排障中使用频率非常高,可用于 Windows、macOS、Linux 和 UNIX 等主要操作系统。

它可以显示网络模型中第 2 层到第 5 层(链路层、网络层、传输层、应用层)的所有状态。

并且,wireshark抓包是抓取网卡的数据包,针对计算机上的所有应用。在针对被ssl加密的报文时,wireshark只能抓取到被加密的数据包,这点和F12是有所区别的。

不管是网工、网安、还是开发者们,只要想提升效率,用到它的概率是很高的。

当然,它还有很多其他作用,比如对网络流量捕获、检查、离线分析、对不同捕获文件类型的 R/W 支持等功能。

03 Kubernetes

Kubernetes 这个单词来自于希腊语,含义是舵手或领航员 ,其词根是 governor 和 cybernetic。

K8s 是它的缩写,用 8 字替代了“ubernete”。

作为一个自动化部署、伸缩和操作应用程序容器的开源平台,Kubernetes 本身并不是构建私有云的平台,但它可以创建类似私有云的东西,通过将服务器集合绑定到单个集群中,并在它们之间部署应用程序。

除此之外,开发者也可以设置Kubernetes网络和存储服务。

Google 公司于 2014 年启动了 Kubernetes 项目,可以这么说,Kubernetes不仅仅适用于新的云原生项目,它还可以应用在对传统应用的现代化改造上。

通过对遗留应用的容器化改造,以及Kubernetes的编排,Kubernetes可以打破原有应用架构的局限性,转变为架构适应应用需求的全新模式。

经改造过的应用程序,能够充分利用诸如弹性、可扩展性等云原生优势,以及强大的路由、日志、监控和安全工具,你可以在其之上添加新的微服务来实现扩展功能。

04 OpenStack

OpenStack是Rackspace和NASA共同成立的一个开发项目,也是一个旨在为公共及私有云的建设与管理提供软件的开源项目。

它是典型的IaaS模式的云平台,所以,它的功能就显而易见,管理基础设施资源,便于用户使用。

它是由python语言编写的出来的,主要通过命令行(CLI)、程序接口(API)或基于Web界面(GUI)实现对底层的计算资源、存储资源和网络资源的集中管理功能。

它提供与公共云相同的核心云服务类型,包括计算、存储、无服务器功能和容器,这些服务背后的所有代码都为开源。

OpenStack可以免费下载和部署,它是被设计成可插拔的,这意味着用户可以根据自己的需求自由组合不同的模块,以满足其特定的IaaS需求。

05 Ansible

Ansible是一个自由开源的配置和自动化工具,使用SSH来和节点进行通信。

Python是它的代码语言,它的显著优点,就是让使用者不需要在节点中安装任何客户端,就能直接使用。

也就是说,它只需在主控端部署Ansible环境,被控端无需做任何操作。

Ansible 通过本身集成的非常丰富的模块可以实现各种管理任务,其自带模块超过上千个。

Ansible可通过Playbooks来定制强大的配置、状态管理,对云计算平台、大数据都有很好的支持作用。

可以这么说,因为Ansible的管理模式非常简单,所以,用它,一条命令可以影响上千台主机。

在使用Ansible时,开发者可以利用变量来存储值。这是非常常用的方法。

它可以帮助开发者在Ansible项目的所有文件中重复使用这些值,从而简化项目的创建及维护,并减少错误数量。

06 腾讯云 Serverless

Serverless Computing,即无服务器计算,是当前最重要的云原生技术发展方向之一,也是被誉为继虚拟化、容器技术之后的第 3 代通用计算平台。

自 2013 年提出以来,Serverless(无服务器)作为屏蔽服务器、按调用计费、事件驱动、弹性自动伸缩的计算服务,正中开发者们的需求下怀。

用了Serverless,开发者只需要关注业务逻辑开发,业务所需的底层资源规划运维由云平台处理,轻松应对上线后的流量增长。

而且,Serverless把计算、存储的能力进行了云化,开发者只需要获得这些能力,而无需购买虚拟机,以及相关的运维工作。

可以说,Serverless给开发者真正带来了上线足够快,服务足够稳,花费足够少的完美体验。

而腾讯云推出的 Serverless 则进一步提升了Serverless的体验感,解决了更多的用户痛点。

腾讯云Serverless基于事件触发的自动伸缩机制进行优化,实现了只有当业务请求到达时,才会启动相应的进程来进行响应,能够更加随心所欲的去应对流量洪峰。

在国内云市场,腾讯云虽然不是最早布局Serverless的云计算公司,但目前从产品的深度和广度上都取得了领先。

当然,腾讯云也有更低门槛的Serverless开发应用——微搭低代码平台。

它为企业和开发者提供快速构建多端应用的服务,帮助企业在前后台营销场景和移动办公应用等方向,构建更加完善的业务应用。

07 CODING DevOps

腾讯云 CODING DevOps 是面向软件研发团队的一站式研发协作管理平台,提供从需求到设计、开发、构建、测试、发布到部署的全流程协同及研发工具支撑。

CODING 解决方案可助力企业实现代码的统一安全管控,并快速实践敏捷开发与 DevOps,提升软件交付质量与速度,降低企业研发成本,实现研发效能升级。

1. 提升研发效能

CODING 与云端优势相结合,依托业界敏捷项目管理与 DevOps 体系方法融入到产品中,打通研发过程中的工具链孤岛及协作壁垒,覆盖敏捷开发全生命周期,帮助团队实现需求、迭代、开发、测试、持续集成、持续部署全方位研发管理,提升软件研发效能。

2. 支持双态研发体系建设

CODING 适用于不同规模的开发团队以及不同类型的软件开发模式(如瀑布模型、敏捷模型),满足多业务场景的协作需求。

3. 项目工作流和度量数据可视化

CODING 提供可视化看板,支持对代码、项目进度、人员工作量等不同维度输出详尽的数据报告,为团队管理者提供决策依据,调整项目计划和合理安排研发人力。

4. 无缝集成第三方平台

CODING 支持无缝集成 GitHub、GitLab 等第三方代码库及各类常见的运维系统和云原生环境,让用户实现跨平台的无缝迁移。

访问 腾讯云 CODING 控制台 时,腾讯云具备 CODING_QCSRole 角色的主账号或子账号,会自动开通服务并创建 CODING 团队,无需手动开通服务及绑定团队。

08 腾讯云小程序平台

腾讯云小程序平台(Tencent Cloud Mini Program Platform,TCMPP)整合了腾讯在小程序开发、测试、发布、运营和小程序容器的技术能力,为企业客户提供一站式、覆盖全生命周期的小程序技术平台。

核心服务包括开发者工具 IDE、预览调试 App、Android/iOS 容器 SDK、统一企业运营端、开放平台端等,目的是为了帮助企业机构低成本、高效率地打造小程序服务。

通过平台提供多端框架,满足企业私有化部署、小程序统一管理、一码多端等能力,为企业快速构建小程序矩阵提供基础能力,助力企业业务的走出去

TCMPP 平台秉承一次开发、多端运行的思想,能够将开发完成的小程序运行在微信以及自有 App 中,同时兼容如 uni App、taro 等的主流开发框架,减少开发成本。

并提供完善开发工具能力,助力低码开发,以及配套腾讯的小程序插件能力,例如人脸识别、音视频组件等。

TCMPP 平台的运营端提供如下能力:

小程序以及第三方企业的统一管理能力,平台会在第三方企业入驻、小程序上下架过程中提供统一审核;

提供小程序安全扫描、小程序整体性能监控能力以及关键指标统计分析等。

通过多维度剖析,多项产品分析指标的预设,确保运行数据的完整收集,提升企业分析业务的效率和有效性。

提供小程序容器化能力,通过该技术能力将小程序开发者、小程序运营者、小程序三方服务商四种身份角色建立相互间的联系,同打通小程序与企业自有 App 的壁垒,构建开放生态,赋能业务价值。

09 腾讯云代码分析

腾讯云代码分析起步于 2012 年,是集众多分析工具的云原生、分布式、高性能的代码综合分析平台,其主要功能是保障多工程项目敏捷迭代下的代码质量,以及支撑团队传承代码文化,当前已发展至 6.0 版本。

代码分析是通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行分析,验证代码是否满足规范性安全性可靠性可维护性部分性能等,对代码进行综合分析和度量等指标的一种代码分析技术。

腾讯云代码分析支持选用分布式云原生计算架构,支持灵活扩缩容,执行更快更稳定

它已集成众多自研、知名开源工具等,采用分层分离架构,满足快速自助管理工具。

并且支持 Java、C++、Objective-C、C#、JavaScript、Python 和 Go 等 29 种编程语言,覆盖常见常用编程语言。

10 Cloud Studio (云端IDE)

Cloud Studio(云端 IDE)是基于浏览器的集成式开发环境(IDE),为开发者提供了一个稳定的云端工作站。

用户在使用 Cloud Studio(云端 IDE) 时无需安装,随时随地打开浏览器就能使用。

其功能包含代码高亮、自动补全、Git 集成、终端等 IDE 的基础功能,同时支持实时调试、插件扩展等,可以帮助开发者快速完成各种应用的开发、编译与部署工作。

Cloud Studio(云端 IDE)无需下载安装,随时随地开发编码,拥有媲美本地 IDE 的流畅编码体验

它可以内置 Node.js、Java、Python 等常见环境,也可以连接到云服务器进行资源管理。

塔吉克体育在线预览快速生成预览链接,方便分享他人展示项目或在线调试。

默认的配置无法满足需求,也可以在线安装 VS Code 插件来增强使用体验。

Cloud Studio(云端 IDE)还有一个很亮眼的功能,就是随开随写,随时保存,再也无需担心断电未保存,非常实用。

11 腾讯云邀驰终端

腾讯云遨驰终端 OrcaTerm(原名 WebShell)是腾讯遨驰云原生操作系统中 CVM、Lighthouse、裸金属等产品的统一网页终端,帮助用户随时随地通过浏览器远程登录服务器管理业务,相比本地远程终端更轻量便捷,无需掌握 SSH 和 FTP 也可轻松操作。

无缝对接云上服务,提供会话协作,文件编辑器等能力,并配以自动化助手 TAT 脚本固化周期性操作,提供快速、准确的运维过程。

提供可视化文件系统能力,可以对文件进行拖拽等一键上传,同时有在线 Editor,方便可视化编程。

12 腾讯移动开发平台

腾讯移动开发平台(Tencent Mobile Framework)整合了腾讯在移动产品中开发、测试、发布和运营的技术能力,为企业提供一站式、覆盖全生命周期的移动端技术平台。

核心服务包括移动客户端开发组件、H5容器、灰度发布、热更新、离线包、网关服务、消息推送、数据同步、移动分析、移动监控、应用加固、环境安全检测等移动端开发运营关键服务,帮助企业低成本、高效率地打造移动服务。

腾讯移动开发平台通过提供统一的开发框架、统一的运维模式、统一的安全能力以及统一的运营体系,助力移动服务开发体系化和高效化,实现全流程闭环管理。

针对移动端 WebView 常见问题进行了深度优化,crash 率降低到0.15%以下,加载速度提升30%+,支持46种视频和文件格式。

经微信、手机 QQ 两大App的多年实战检验,有效提升移动端访问的稳定性、兼容性和流畅性。

它还拥有海量全面的病毒库,结合腾讯10年移动终端安全对抗经验,提供云+端的多重安全防护措施,识别潜在风险,检测移动威胁,从通讯安全、应用安全、环境安全等多维度全面覆盖客户端软件安全和数据传输安全。

13 云应用

云应用是一个支持应用自动化、标准化安装到腾讯云的平台。

云应用帮助客户在其腾讯公有云账号下自动采买、部署和管理应用所需的软件与底层依赖的腾讯云资源。

云应用通过自动化采买和部署云资源的能力、标准化的软件和云资源配置、以及透明的资源权限管理,帮助客户提升云端应用安装效率、减少人工部署带来的错误以及满足客户安全可控的需求。

02 技术书籍都在这里

01 《云计算:概念、技术与架构》

对于希望了解和学习云计算及其实际应用的同学来说,这本书也是非常好的选择。

从理解云计算开始入门,它会告诉你企业在是否取采用云服务的决策上面,会考量云的特性,成本,还有组织灵活性。

从云计算概念到云计算技术再到云计算商业,不管你是云计算工程师、云计算用户又或者是IT行业的管理层,这本书对你了解云计算方面的内容都有帮助。

小彩蛋:私信发送暗号“书单”,即可获取云计算相关书籍电子档。

02 《大话云计算:从云起源到智能云未来》

如果说你的工作中日常都会接触云,想对云能有一个系统的了解,那这本书一定不会让你失望。

书里对一些技术顺手拈来,深入浅出的把云计算的起源、价值、未来都呈现在你面前。

其中也会夹杂着一些小实践,主要是试用Azure云、搭建虚拟机等等,让你对不同云服务商的产品也能有一个实际的了解。

对于公司正处于数字化转型的职场打工人来说,是一本不错的科普读物。

03《云数据中心构建实战》

作为国内第一本关于云数据中心的书籍,内容比较系统,适合准备入门或者刚入门云计算的小白食用。

作者是近10年一线运维经验资深网络运维工程师,从实践角度系统、深度讲解如何构建和运营大规模云数据中心,也算是他的经验总结。

以实际生产环境为背景,从核心技术、具体方法、运维、管理、系统安全、与高可用6个维度详解如何构建和运营大规模云数据中心。

04《深入理解云计算:基本原理和应用程序编程技术》

在实际操作中需要了解的问题,在《深入理解云计算:基本原理和应用程序编程技术》这本书中都有相对深度的阐述。

作为云计算方面的进阶书籍,很系统的从云计算环境开始到平台应用实例详细讲云计算的过程。

个人认为云计算工程师看完之后,可以对云计算应用方面的理解加深不少。

在它的配套网站上还可以找到多种免费教辅资源,干货很多,够你看很久。

05《让云落地:云计算服务模式》

这是一本和云计算有关的专业书,但它不是讲其中的技术原理的,而是给企业价格师、CIO、技术负责人看的书。

如果你的企业面临上云、采购云计算服务,有哪些问题你必须提前想清楚,你想过不?

这本书就是专门教你,在采购云服务之前,你需要考虑的问题清单。

这份清单可能包括:

云服务的三种模式 Saas Issa Pssa 有什么区别?

什么场景下用哪种更好?

选择云服务时,常见的错误是什么?

云服务对组织的影响,如何调整组织结构或者绩效,配合上云

……各类问题。

如果你是一名架构师,IT总监,或者你在参与云服务的使用、采购,那这本书很适合你。

06 《云端革命》

这是一本讲云技术的书,里面很多概念都比较深奥,更适合IT行业的人来看发。

这本书阅读门槛相对比较高,如果你是刚入坑的小白,建议先搞清楚云是什么,再来看这本书。

总的来说,这是一本讲述云端发展,以及未来构想的极其专业的好书,也很期待书中所描述的未来早日到来。

07 《MySQL必知必会》

整本书非常薄,非常适合 MySQL 新手阅读,是一本超级棒的入门教材。

本书从数据检索开始,逐步深入各种复杂内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、游标、触发器、表约束等。

通过重点突出的章节,条理清晰、系统而扼要地讲述了读者应该掌握的知识,使他们不经意间立刻功力大增。

《MySQL必知必会》注重实用性,操作性很强,适用于广大软件开发和数据库管理人员学习参考。

08 《从0到1——MySQL即学即用》

这本书的豆瓣评分高达9.6,是累计超1000万人次学习的计算机教程。

全书286个示例 + 120道习题 + 21个经典问题 + PPT讲义 + 源码素材。基于MySQL 8标准编写,零基础快速上手数据库开发。

本书介绍了MySQL的基本语法,包括查询操作、数据统计、高级查询、内置函数、表的操作、列的属性等,通过经典案例帮助读者融会贯通,也提供了常用的数据参考。

09 《高性能MySQL》

这本书绝对是从浅入深的 MySQL 领域的经典之作,拥有广泛的影响力。

涵盖了 MySQL 8.0 版本的新特性,也讲述了关于固态盘、高可扩展性设计和云计算环境下的数据库相关的新内容,原有的基准测试和性能优化部分也做了大量的扩展和补充。

10 《SQL经典实例(第2版)》

本书详细介绍了Oracle、MySQL、PostgreSQL、SQL Server、DB2等各种关系数据库的SQL查询技巧和一些基础的SQL查询语句,并且通过短小精悍的实例,不仅讲解了如何插入、更新和删除数据,还介绍了如何检索记录、为查询结果排序、同时操作多张数据库表、查询元数据、处理涉及字符串和数值的操作、根据时间数据和日期数据进行运算、执行层次查询和区间查询等。

随着多种SQL实现大量采用窗口函数,本书第2版针对相关实例做了优化,还新增了为数据科学家和算法工程师量身定制的实例。

11 《MySQL是怎样运行的》

这本书的内容主要涵盖了使用MySQL的同学在求职面试和工作中常见的一些核心概念。

本书作者,真的在设计本书的章节顺序职中煞费苦心,从现有场景引出可能出现的问题再到解决方案设计,循序渐进的揭开mysql 的内部实现细节,每一章的知识就是那么水到渠成,非常推荐!

12《JPEG2000图像压缩基础、标准和实践》、《数字信号处理》

以下两本推荐书单都是为了萌新准备的国内计算机教材,可以帮助同学们建立起来图片和音频的概念,对于图像、音频、视频有足够的认识。

13《新一代视频编码标准—H.264/AVC(第二版)》

本书系统性介绍了数字视频和视频编码的基本原理,简要概述了从H.261/H.263 到MPEG2/MPEG4以及JPEG图像编码的演进过程,详细介绍了H.264编码框架和实现,以及在视频传输中的应用。

本书适合作为阅读英文资料存在困难的音视频入门技术人员。

14 Video Demystified: A Handbook for the Digital Engineer(Fifth Edition)

本书较为全面地介绍了当时最新的数字视频相关技术,比较适合当时的广电行业音视频工程师阅读。

系统介绍了视频格式、颜色空间、视频信号、视频接口、数字视频处理需求和彩色电视制式标准等基本概念和基本原理,还包括各种视频压缩标准以及数字电视标准等。

15 Intelligent Image and Video Compression: Communicating Pictures(Second Edition)

与传统的图像与视频处理的大部头讲述经典知识不同,这本书深入浅出地讲解了人类近二十年来在视觉信息编码这一多领域交叉学科里取得的几乎所有的重要成果,非常与时俱进。

其内容涵盖视觉感知、信息论、有损与无损压缩,以及各种编码标准(从H.261到H.266,VP9和AV1等)。它不仅可以做为个人知识查漏补缺的工具书,也可以做为视觉编码方向的教科书。

16 《语音学:标音、产生、声学和感知》

这本书其实可以作为语音学的一本教材。

而发音原理和感知是计算机专业或者音频从业人员往往容易忽视的一个领域。这本书能从原理上帮助人们理解很多语音、语言发音与感知背后的自然规律。而且书籍语言浅显易懂,提供的知识却又系统完整,适合新手传阅。

17 FFmpeg-From Zero to Hero

如果你想知道YouTube或Vimeo的开发人员如何处理数十亿的视频上传或 Netflix如何大规模处理其各种标题下的音视频内容,或者想了解如何创建和开发自己的视频平台,又或者你可能想了解更多关于 FFmpeg的知识,那么这本书非常适合你。

无论你是刚开始进入音视频领域还是经验丰富的开发人员,都会从中找到几种有效的方法来执行许多任务以满足你的音频/视频/流媒体需求。

18《FFmpeg从入门到精通》

音视频开发门槛比较高,很重要的原因是缺少使用专业的开发调试工具。FFmpeg就是这样一款通用工具。

作者是国内早期的FFmpeg使用者和开发者,书中还原了开发者学习和运用音视频知识的最佳实践。也帮助开发者将枯燥复杂的音视频知识抽丝剥茧,结合实践对每一个环节进行深入学习。

这本书不适合0基础的同学学习,有一定基础的同学看过来,一定会显著提升你的工作效率。

19 The H.264 Advanced Video Compression Standard (Second Edition)

书的内容容易阅读,全面、详细地介绍了视频压缩技术,特别是H.264。大部分的人都能读懂它,而不需要大量的信息论知识。

全书对H.264规范以及很多底层细节进行了很好的概述,如bit流格式、宏块、帧内和帧间预测、预测模式、变换、量化、熵(Huffman和Arithmetic)编码、码控等。最重要的是,读完本书后,你会理解原始标准背后的why。

20《WebRTC音视频实时互动技术:原理、实战与源码分析》

这本书结合作者的实际经验,从音视频通信的历史讲起,深入浅出地讲解了WebRTC通信的原理、特点及应用场景,更从源代码角度深入剖析了WebRTC通信的关键要素和细节,内容全面又不失深度,适合各水平的音视频从业人员阅读。

最后,这一份《腾讯云数据库TDSQL MySQL资料包》+《中国信通院云计算产业白皮书的资料合集》是彩蛋,欢迎按下方提示下载