Java教程 廖雪峰 2025-06-16
0 码力 | 1391 页 | 35.06 MB | 1 月前该文档是廖雪峰编写的Java教程,面向零基础学习者,旨在帮助其从入门迈向Java架构师。教程版本基于Java 22,免费提供。内容涵盖Java简介、快速入门(包括Java历史、搭建开发环境、第一个Java程序、使用IDE)、Java程序基础(程序结构、变量和数据类型、各类运算、字符和字符串、数组)、流程控制(输入输出、条件判断、循环)、数组操作、IO、日期与时间、单元测试、正则表达式、加密与安全、多线程、Maven、网络编程、XML与JSON、JDBC、函数式编程、设计模式、Web开发、Spring开发等。教程共1389页,通过系统学习可掌握Java编程核心知识。
区块链教程 廖雪峰 2025-06-16
0 码力 | 124 页 | 2.61 MB | 1 月前文档是廖雪峰于2025年6月16日发布的区块链教程,面向零基础读者,旨在通过JavaScript代码实现帮助理解区块链底层技术。教程涵盖比特币和以太坊两大核心内容:比特币部分包括区块链原理、P2P交易、私钥/公钥/地址、挖矿、UTXO模型、Segwit地址、HD钱包等;以太坊部分包括账户、区块结构、交易、智能合约的编写/部署/调用、Dapp开发及常用合约(如ERC-20、Wrapped Ether)。文档强调区块链本质是分布式不可篡改数据库,通过哈希算法(如SHA-256、RipeMD160、hash256、hash160)和Merkle Hash保证数据不可篡改。教程声明仅为技术学习,不构成投资建议。
Python教程 廖雪峰 2025-06-16
0 码力 | 475 页 | 10.09 MB | 1 月前该文档是廖雪峰于2025年6月16日发布的Python新手教程,面向零基础学习者,基于Python 3版本。文档从编程语言基础讲起,指出所有编程语言最终都需翻译成CPU能执行的机器指令,并比较了C、Java、Python完成同一任务的代码量差异。教程强调Python语法简单,采用缩进方式组织代码块,建议使用4个空格进行缩进,并区分大小写。目录涵盖简介、Python历史、安装、基础语法、函数、高级特性、函数式编程、模块、面向对象编程、错误调试测试、常用第三方模块、图形界面、网络编程、电子邮件、数据库、Web开发、异步IO和FAQ等内容。文档在期末总结中指出Python适合初学者,有助于理解计算机编程的抽象核心思想,并建议学习Java、C等不同类型语言以获比较。
Makefile教程 廖雪峰 2025-06-16
0 码力 | 32 页 | 1.06 MB | 1 月前本文是由廖雪峰编写的Makefile教程,面向零基础Linux开发人员。教程从介绍make程序及其自动化编译功能开始,阐述了Makefile类似于Java的pom.xml或Node的package.json,用于指导编译和链接。文档详细讲解了make的安装方法(包括Windows使用WSL、macOS使用Homebrew),以及如何编写规则(包括目标、依赖和命令)。通过C程序示例,展示将.c文件编译为.o文件并链接成可执行文件的过程。教程还介绍了隐式规则、变量、模式规则、自动生成依赖(利用GCC生成.d文件)以及完善Makefile的方法,包括将源码放入src目录、编译文件放入build目录。最后提及make支持条件判断、环境变量、嵌套执行等高级功能。
手写Tomcat 廖雪峰 2025-06-16
0 码力 | 75 页 | 2.14 MB | 1 月前本教程由廖雪峰编写,于2025-06-16发布,旨在指导读者从零开发一个迷你版Tomcat服务器,命名为Jerrymouse Server。文档详细介绍了服务器架构设计,参考了Tomcat的基于组件的设计,包含Service、Connectors、Engine、Host和Context等核心组件。Jerrymouse Server专注于支持Servlet 6标准的大部分功能,包括Servlet、Filter、Listener组件以及Cookie模式的Session,但不支持JSP、async模式、WebSocket、多Web App部署和热部署。教程内容涵盖HTTP服务器、Servlet服务器、Servlet组件(如ServletContext、FilterChain、HttpSession、Listener)的实现,以及Web App的加载与部署,包括自定义ClassLoader和Spring Web App的部署。期末总结强调通过手写服务器可提升架构水平,胜任Java架构师职位。
手写Spring 廖雪峰 2025-06-16
0 码力 | 109 页 | 3.16 MB | 1 月前该文档为廖雪峰编写的《手写Spring》教程,旨在指导读者从零开发一个迷你版Spring框架,命名为Summer Framework。教程涵盖实现IoC容器、AOP、JDBC和事务、Web MVC以及Boot模块。其中IoC容器包括ResourceResolver、PropertyResolver、BeanDefinition、BeanPostProcessor等;AOP实现ProxyResolver和Around;JDBC模块实现JdbcTemplate和声明式事务;Web MVC实现启动IoC容器和MVC;Boot模块实现嵌入式Tomcat启动和打包运行。通过手写Summer Framework,读者可加深对Spring框架的理解,提升架构能力,胜任Java架构师职位。
牟娜-阿里妈妈广告排序算法创新之旅
0 码力 | 34 页 | 43.43 MB | 3 月前文档介绍了牟娜在阿里妈妈从事精准定向广告排序算法创新的经历。牟娜曾在北京邮电大学求学,后任职网易有道,2017年加入阿里妈妈定向广告及信息流广告Rank团队。阿里妈妈精准定向广告业务包括Banner广告、首页猜你喜欢、购物链路广告及内容化广告,用户无主动query,需预测点击概率p(y=1|ad,scene,user)。排序算法创新历程包括大规模MLR、稀疏分组全连接GwEN、深度兴趣网络DIN、兴趣演化模型DIEN及用户兴趣Life-long建模MIMN。团队技术诉求强调有真知灼见地解决问题,注重解法泛化性和推广能力,推动生产力发展。
2.2.3 使用 Go 重新实现一套 Service Mesh
0 码力 | 24 页 | 4.02 MB | 3 月前文档介绍了使用Go语言重新实现Service Mesh的方案。当前Service Mesh方案百花齐放,Linkerd和Istio占据主要市场。重新实现的原因包括方案简单、资源占用少且完全通过容器化部署。选择Go语言的优势在于其性能优势,能应对大量网络请求和数据传输;生态丰富,Docker、Kubernetes、Istio等项目均通过Go实现,便于利用成熟工具集;开发效率高。通用架构采用Sidecar模型,通过webhook实现自动注入,Sidecar进行流量代理和拦截,Controller处理配置翻译和服务发现。此外,Apache APISIX性能更优,已有大量国内外用户,从API网关扩展到Service Mesh是用户诉求。
2.1.7 企业级 Go HTTP 框架在字节跳动的实践
0 码力 | 38 页 | 5.20 MB | 3 月前文档介绍了企业级Go HTTP框架Hertz在字节跳动的实践。首先回顾了字节内部框架的变迁,从2014年引入Golang,到2016年发布Ginex,再到2020年启动Hertz项目并于同年10月发布,2022年6月正式开源。Hertz因性能与可扩展性诉求而生,曾承接抖音春晚主会场1000万请求且零异常。在企业级框架设计考量方面,内部关注扩展性、可控性、业务视角和质量建设,外部关注功能需求、性能需求、易用性和稳定性。Hertz的核心特点包括解构框架,涉及连接处理、协议处理和路由处理,并作为CloudWeGo核心子项目,聚焦为开源用户提供一站式组件间联动的研发最佳实践。
2.1.6 谈谈 Go 泛型
0 码力 | 52 页 | 3.09 MB | 3 月前文档系统回顾了Go泛型的基本概念,包括泛型类型和泛型函数,以及类型参数和类型约束的使用。介绍了泛型类型的方法和泛型方法的限制。阐述了类型约束与接口的关系,以及泛型的实现方式。列举了标准库中泛型的使用,如atomic.Pointer、exp包中的maps、slices和arena。讨论了最佳实践,包括何时使用泛型(如语言定义的容器类型、通用数据结构)和何时避免使用(如替换接口、方法实现不同)。最后提到了对泛型的不满之处,如类型集共同字段、泛型方法实现和更智能的类型推断等提案。
共 640 条
- 1
- 2
- 3
- 4
- 5
- 6
- 64













