自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 资源 (27)
  • 收藏
  • 关注

原创 当TCP情侣闹分手:一次TCP连接关闭引发的悬疑剧

资深工程师在TLS握手失败后发现,原本标准的TCP四次挥手竟演变成五步"分手闹剧"。当客户端因证书错误主动关闭连接时,服务端也同步发出FIN包,导致双方FIN/ACK序列错位。服务端重传FIN后,客户端才最终确认关闭,使双方都进入TIME_WAIT状态。这场协议层的"情感大戏"揭示了网络通信中时序错位带来的复杂性,也印证了TCP协议在连接管理中既严谨又充满变数的特性。

2025-06-18 20:24:28 622

原创 异步编程演进史:从回调到Promise再到Async/Await

本文梳理了异步编程的三波技术浪潮——从 Callback 到 Promises 再到 Async/Await,逐层剖析了每波浪潮在解决旧痛点的同时引入的新问题:回调地狱、错误吞噬、函数着色税、并发劣化、取消断链等经典陷阱。文章最后展望了 Go(goroutine)、Java(虚拟线程)、Zig 等现代语言如何在运行时或编译器层面绕道而行,试图打破这一魔咒。

2026-06-27 15:09:20 87

原创 从噪音到情报:用AI读懂用户观察趋势

信息爆炸的时代,真正的机会往往藏在那些不起眼的群聊里。本文将通过一款开源工具 `wx-cli`,演示如何将杂乱无章的群聊,转化为清晰的“用户画像”与“市场趋势”。

2026-05-17 15:13:23 358

原创 收到YC邀请?一文读懂硅谷顶级创业加速器的魅力与价值

YC是全球顶尖的创业加速器,为入选初创提供50万美元投资、3个月密集培训和顶级资源网络。其校友包括Airbnb、OpenAI等知名企业。收到YC邀请意味着你的创始人潜力被认可,可能源于你的思维模式或项目潜力。入选后将获得导师陪跑、结构化训练、强大校友网络和融资支持。申请需在2026年5月4日前提交,重点阐述市场需求、解决方案和团队优势。建议认真对待邀请,深入研究YC文化,真诚准备申请材料。YC是创业催化剂,能快速提升认知、资源和网络,助力实现改变世界的想法。

2026-04-05 18:53:30 413

原创 访问自己集群的VIP时好时坏?一个“火星包”引发的故障

想象这样一个场景:在一个高可用的LVS集群中,作为流量入口的Master节点,竟然无法稳定地访问自己对外提供的虚拟IP(VIP)。监控曲线如同心律不齐般跳动,`curl`命令的返回在“成功”与“超时”之间随机切换。这并非天方夜谭,而是一个发生在复杂网络架构下的真实问题。

2026-03-28 15:29:07 368

原创 程序员只做技术够吗:一位AI创业先驱的反思录

2016年,当AI还远未成为全民浪潮时,一位名叫徐宥(Eric Xu)的工程师做了一件疯狂的事:用语言模型来理解、修改和生成代码。他给公司起名叫 ai.codes,意思是“用AI写代码”。十年后的今天,AI编程已成为现实,但他当年的创业却停在了2016年。这段往事不仅是对技术爆发前夜的记录,更是一面镜子,照出了程序员职业发展的核心命题:只做技术,够吗?

2026-03-21 10:43:13 390

翻译 如何避免过度设计:从0到1千万用户的演进之路

你是否曾好奇,一个成功的互联网产品,其技术后台是如何从零开始,一步步支撑起百万、千万乃至亿级用户的?当应用和数据库开始争夺同一台服务器的CPU和内存时,第一步就是将数据库分离到独立的服务器。让我们沿着这条清晰的路径,走过每一个关键的里程碑。最好的架构,永远是能够满足当前需求的最简单的那一个,并保留清晰、可执行的演进路径。通常从“主-从”模式开始(一个主区写,多个从区读),逐步演进到更复杂但体验更佳的“多主”模式。成为新前沿,将计算逻辑从中心数据中心推向离用户更近的CDN边缘节点,实现极致的低延迟。

2026-03-03 11:06:46 32

翻译 文档的灵魂:教导,而非告知

优秀技术文档的核心在于"教导而非告知",需模拟耐心教师引导用户从零到精通。常见误区包括仅提供源码、测试或零散文档,缺乏系统教学。完整文档应包含四部分:初次接触(明确项目价值)、黑色三角形(快速上手示例)、毛线团(结构化教程)和参考手册(深度API文档)。文档作者需培养教学思维,通过实践教学预见用户困惑,并借助高效工具提升写作质量。技术文档的本质是构建用户与项目之间的理解桥梁,而非信息壁垒。

2026-02-28 10:47:50 32

翻译 职场未来:AI时代的价值坐标系

AI正加速重塑职场,传统技能迅速贬值。资深分析师Sarah的案例显示,企业更倾向用低成本AI替代人力而非重新定义岗位。常见的应对策略(精通AI工具、深耕专业或强调软技能)往往被动且无效。真正的出路在于主动转型为"协同指挥者",利用AI突破人力限制,规模化执行并聚焦决策层。关键行动:每周用AI扩大一项工作规模,从中提炼新洞察。经验堆积的护城河正在瓦解,唯有自我重塑能力才是应对之策。不要等待企业或教育系统指引,而应主动构建前所未有的新角色。

2026-02-07 08:33:01 33

翻译 从码农到指挥家:软件开发的30年历程

从精打细算的底层编程,历经面向对象、框架库、云计算等阶段,发展到当前的AI革命。开发者角色正从“编码者”转变为“系统指挥者”,通过自然语言指导AI协作。未来,专业开发者的核心竞争力将转向架构设计、安全合规和业务理解等更高层次的能力,以在全民开发时代脱颖而出。

2025-11-15 08:18:00 63

原创 ​时延揭密:探索不同函数调用实现背后的性能差异​​

本文通过基准测试对比了四种函数调用方式的性能差异,并结合汇编分析性能差异的真实原因。文章揭示了性能优化的关键权衡:标准库提供安全但牺牲效率,内联提升性能但增加复杂度,无调用实现极致性能但风险最高。这些微观决策共同塑造了系统的宏观性能特征。

2025-08-10 16:19:49 1097

原创 设备重启神奇断连40秒:交换机LACP配置的致命陷阱

摘要: 设备重启后网络出现40秒通信中断,原因在于交换机LACP配置的Long超时模式。通过抓包分析发现,LACP协议在Long模式下链路恢复缓慢(30秒间隔),而Short模式可实现秒级恢复。调整交换机为Short模式后,网络恢复时间从40秒缩短至3秒内。建议高故障率链路采用Short模式实现快速切换,稳定链路使用Long模式降低协议开销。该案例揭示了LACP超时模式选择对网络恢复速度的关键影响。

2025-07-26 11:52:39 885

原创 Nginx代理上游响应时延之谜:前端并发为何增大后端时延

Nginx监控发现异常现象:上游服务资源充足时,客户端并发越高,上游响应耗时($upstream_response_time)反而显著增长。通过eBPF深度追踪发现,Nginx事件循环在高并发下处理单轮事件的时间成倍增加,导致上游响应数据在内核缓冲区排队等待,这部分隐性等待时间被计入响应耗时。根本原因是Nginx的异步事件驱动架构中,$upstream_response_time实际包含上游处理时间与事件循环调度延迟。

2025-07-20 15:12:27 743

原创 AI行业的历史、当下与未来

OpenAI首席执行官Sam Altman在Y Combinator的AI Startup School活动上分享了OpenAI的发展历程和AI行业未来趋势。他系统复盘了从创业维艰到打造行业标杆的完整历程,并针对奠基性战略抉择、突破性技术前景、人机交互范式及组织治理哲学等维度,提出了前瞻性战略预见。

2025-07-06 10:14:23 615

原创 HTTP协议中的60秒魔咒:一个不规范响应引发的性能谜案

HTTP协议中,当响应既无Content-Length头也未启用Chunked编码时,接收方需依赖TCP连接关闭事件判断响应完整性。这导致三种典型场景:立即关闭(理想情况)、浏览器60秒内主动关闭(触发SSL网关终止连接)及60秒超时关闭(造成浏览器加载卡顿)。问题根源在于Web服务未遵循协议规范,加上代理超时机制碰撞,形成精确的60秒延迟。文章通过生动的技术场景分析,揭示了看似简单的HTTP响应机制背后复杂的交互逻辑,为运维优化提供了重要启示。

2025-06-29 12:09:46 960

原创 Windows Live Writer 使用指南

一、简介         Windows Live Writer 是一个强大的离线博客编辑工具,通过它可以离线编辑内容丰富的博文。Windows Live Writer除了自身强大的编辑功能之外,还提供了接口,让其它开发人员通过插件提供工具自身没有提供的功能。   二、安装 参考:http://www.2cto.com/os/201305/211736.html   指定安装目录进行安装,方法如下

2015-05-12 14:49:49 740

原创 证书吊销列表(CRL)介绍

一、证书吊销列表(CRL) 证书吊销列表 (Certificate Revocation List ,简称: CRL) 是 PKI 系统中的一个结构化数据文件,该文件包含了证书颁发机构 (CA) 已经吊销的证书的序列号及其吊销日期。 CRL 文件中还包含证书颁发机构信息、吊销列表失效时间和下一次更新时间,以及采用的签名算法等。证书吊销列表最短的有效期为一个小时,一般为 1 天,甚至一个月不等,

2015-04-25 14:47:57 29330 9

原创 时间处理:计算下一天日期,如输入"2004/12/31"(注释2014年12月31日),则输出"2005/1/1".

/* ============================================================================ Name : Exercise.c Author : haier Version : 0.01 Copyright : Your copyright notice Descr

2015-03-11 22:43:07 661

原创 朱迪矩阵

朱迪矩阵[编辑] (重定向自Judy array) Judy array是一个计算机科学和软件工程学中的名词,是一种高性能、低内存消耗的数据结构,实现了关联数组的功能。与普通数组不同,Judy array可以是稀疏的,这一点更像是散列表,而非数组。Judy array可以用整形或字符串作为键值来存储、查询数据,它最大的优势是可动态自动扩展,高性能,节省内存并且易于使用。 由于Judy arr

2015-03-09 23:48:58 1078

原创 Linux设备模型应用

simple.c#include #include #include #include #include #include #include MODULE_AUTHOR("haoyu");MODULE_LICENSE("Dual BSD/GPL"); struct my_kobject{ int value; struct kobject kobj;

2015-01-09 09:35:12 479

转载 Linux设备模型

simple.c#include #include #include #include #include #include #include MODULE_AUTHOR("haoyu");MODULE_LICENSE("Dual BSD/GPL");struct my_kobject{ int value; struct kobject kobj;};

2015-01-08 22:24:39 531

转载 设备驱动--中断

short.c#include #include #include #include #include /* printk() */#include /* everything... */#include /* error codes */#include /* udelay */#include #include #include #include #in

2015-01-05 22:22:42 658

原创 设备驱动--定时、延时操作

jit.c#include #include #include #include #include #include #include #include #include #include #include /* * This module is a silly one: it only embeds short code fragments * that s

2015-01-03 22:09:37 715

原创 设备驱动--时间与延迟操作

jit.c#include #include #include #include #include #include #include #include #include #include #include /* * This module is a silly one: it only embeds short code fragments * that s

2015-01-03 17:20:58 572

原创 字符设备驱动

main.c//#include #include #include #include #include /* printk() */#include /* kmalloc() */#include /* everything... */#include /* error codes */#include /* size_t */#include #in

2015-01-03 11:55:43 1299

原创 块设备驱动程序3

Virtual_blkdev.c//============================================================================ // Name : Virtual_blkdev // Author : Haier // Version : 0.3 // Copyrigh

2014-12-31 19:29:09 593

原创 块设备驱动程序2

Virtual_blkdev.c//============================================================================ // Name : Virtual_blkdev // Author : Haier // Version : 0.2 // Copyrigh

2014-12-30 13:48:41 568

原创 块设备驱动程序1

//============================================================================ // Name : Virtual_blkdev // Author : Haier // Version : 0.1 // Copyright : Your copyrig

2014-12-29 13:43:54 617

转载 typedef的用法总结

不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别

2014-11-23 14:25:19 404

原创 web服务器

//============================================================================// Name : CExercise.cpp// Author : Haier// Version : 0.1// Copyright : Your copyright notice// Desc

2014-11-09 11:24:55 486

原创 Oracle 客户端(oci方式)

//============================================================================// Name : CExercise.cpp// Author : Haier// Version : 0.1// Copyright : Your copyright notice// Desc

2014-11-08 00:23:34 1665

原创 Oracle数据库操作3(OCI方式)

//============================================================================// Name : CExercise.cpp// Author : Haier// Version : 0.1// Copyright : Your copyright notice// Desc

2014-11-05 16:01:10 1074

原创 Oracle数据库编程2(OCI方式)

//============================================================================// Name : CExercise.cpp// Author : Haier// Version : 0.1// Copyright : Your copyright notice// Desc

2014-11-05 11:45:11 704

原创 Oracle数据库操作(pro*c/c++方式)

//============================================================================ // Name : CExercise.pc // Author : Haier // Version : 0.1 // Copyright : Your copyright notice

2014-11-03 22:09:55 1898

转载 Oracle数据库操作(OCCI方式)

#include #define LINUXOCCI //避免函数重定义错误#include using namespace std;using namespace oracle::occi;int main(){ Environment *env=Environment::createEnvironment(Environment::DEFAULT); cout<<"su

2014-11-03 00:17:38 737

原创 Oracle数据库操作1(OCI方式)

//============================================================================// Name : CExercise.cpp// Author : Haier// Version : 0.1// Copyright : Your copyright notice// Desc

2014-11-02 14:58:33 2203

原创 mysql数据库文件操作

//============================================================================// Name : CExercise.cpp// Author : Haier// Version : 0.1// Copyright : Your copyright notice// Desc

2014-11-01 23:33:43 613

原创 mysql数据库编程

//============================================================================// Name : CExercise.cpp// Author : Haier// Version : 0.1// Copyright : Your copyright notice// Desc

2014-11-01 19:54:58 581

转载 套接字选项的应用

#include #include #include #include #include #include #include #include #include #include #include #include #define PORT 8888#define BACKLOG 8static int alive = 1;static void sigpipe(

2014-10-01 23:27:58 535

原创 取得套接字选项

getsopts.c/*============================================================================ Name : getsopts.c Author : Haier Version : 1.01 Copyright : Copyright (c) 2

2014-10-01 21:40:43 555

10年编程无师自通

一些研究者(Hayes、Bloom)的研究表明,在许多领域,都需要大约10 年时间才能培养出 专业技能,包括国际象棋、作曲、绘画、钢琴、游泳、网球,以及神经心理学和拓扑学的 研究。似乎并不存在真正的捷径:即使是莫扎特,他4 岁就显露出音乐天才,在他写出世 界级的音乐之前仍然用了超过13年时间。再看另一种音乐类型的代表??披头士,他们似乎 是在1964年的Ed Sullivan节目中突然冒头的。但其实他们从1957年就开始表演了,即使他 们很早就显示出了巨大的吸引力,他们第一次真正的成功之作《Sgt. Peppers》也要到196 7年才发行。Samuel Johnson(译注:英国诗人)认为10 年还是不够的:“任何领域的卓 越成就都只能通过一生的努力来获得;稍低一点的代价也换不来。”(Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.)乔叟(译注:Chaucer,英国诗人,1340-1400)也抱 怨说:“生命如此短暂,掌握技艺却要如此长久。”(the lyf so short, the craft so long to lerne.)

2013-08-17

TCP IP详解 卷一 二 三

《TCP IP详解卷1:协议》描述了属于每一层的各个协议以及它们如何在不同操作系统中运行 作者LawrenceBerkeley实验室的tcpdump程序来捕获不同操作系统和TCP IP实现之间传输的不同分组 对tcpdump输出的研究可以帮助理解不同协议如何工作 《TCP IP详解卷1:协议》是网络构建原型 4 4BSD的建造者的倾力之作 《TCP IP解析》中的第1卷 主要讲述TCP IP协议方面的内容 与其他的TCP IP书藉的最大不同在于 本书不仅仅讲述了RFCS的标准协议 而且结合大量实例讲述了TCP IP协议包的定义原因及在各种不同的操作系统中(如Sunos4 1 3 Soloris2 2 AIX3 2 2)的应用与工作方式 这样可以以动态方式讲述TCP IP的知识 使读者可以轻松掌握TCP IP的知识:路由协议 寻址协议 组控制协议 简单邮件传输协议等 全书内容实用性强 是在校生学习TCP IP知识的良师益友 ">《TCP IP详解卷1:协议》描述了属于每一层的各个协议以及它们如何在不同操作系统中运行 作者LawrenceBerkeley实验室的tcpdump程序来捕获不同操作系统和TCP IP实现之间传输的不同分组 对tcpdump输出的研究可以帮助理解不同协议如 [更多]

2014-08-04

Linux内核阅读

对于源代码的阅读,要想比较顺利,事先最好对源代码的知识背景有一定的了解。对于linux内核源代码来讲,我认为,基本要求是:1、操作系统的基本知识;2、对C语言比较熟悉,最好要有汇编语言的知识和GNU C对标准C的扩展的知识的了解。另外在阅读之前,还应该知道Linux内核源代码的整体分布情况。我们知道现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序、网络等组成。

2014-10-18

使用curl-config配置选项

curl-config displays information about the curl and libcurl installation.

2015-05-05

glibc rpm升级包

linux glibc (2.14/2.15/2.18)rpm升级包

2015-04-29

CentOS6 yum源

CentOS6 提供的yum官方源,已作调整

2015-11-08

Oracle Spatial与OCI高级编程源码

本源码详细演示了Oracle数据库中两项关键开发技术Oracle Spatial和OCI(Oracle Call Interface)。侧重于从多个平台的角度来讲解,使用OCI时,也强调开发跨平台的应用程序。书中所有源程序都在Windows和Linux下调试通过。读者对象为用c/c++语言开发Oracle数据库系统的管理人员,Oracle Spatial应用开发人员(GIS、CAD、工程图形领域),还可供空间数据库领域的研究人员参考。    

2014-11-07

Oracle Spatial与OCI高级编程 代码

本书详细介绍了Oracle数据库中两项关键开发技术Oracle Spatial和OCI(Oracle Call Interface)。侧重于从多个平台的角度来讲解,使用OCI时,也强调开发跨平台的应用程序。书中所有源程序都在Windows和Linux下调试通过。读者对象为用c/c++语言开发Oracle数据库系统的管理人员,Oracle Spatial应用开发人员(GIS、CAD、工程图形领域),还可供空间数据库领域的研究人员参考。

2014-11-04

Oracle 11g Pro﹡C C++编程艺术

《Oracle 11g Pro﹡C/C++编程艺术》为应用开发人员提供了使用Pro*C/C++开发数据库应用的方法。针对各种不同类型的Pro*C/C++应用,《Oracle 11g Pro﹡C/C++编程艺术》都提供了非常详细、具体的开发方法,并且为读者提供了大量的示例程序。《Oracle 11g Pro﹡C/C++编程艺术》不仅介绍了各种类型Pro*C/C++应用的开发方法,而且还介绍了Oracle 11g在Pro*C/C++方面所提供的各种新特征,包括使用大纲固定执行计划、DB2数组插入和数组提取、隐含缓冲区插入、动态SQL语句缓存等。通过学习《Oracle 11g Pro﹡C/C++编程艺术》,读者可以快速掌握使用Pro*C/C++开发数据库应用的方法。

2014-11-04

汇编语言程序设计(AT&T)

每种高级语言程序在连接为可执行程序之前,都必须被编译为汇编语言程序,因此对于高级语言程序设计者来说,了解编译器如何生成汇编语言代码十分有用。本书分为三部分。第一部分讲解汇编语言程序设计环境基础,第二部分研究汇编语言程序设计,最后一部分讲解高级汇编语言技术。本书的主要目的是向使用高级语言的程序员讲解编译器如何从C和C++程序创建汇编语言例程,以及编程人员应如何掌握生成的汇编语言代码,调整汇编语言例程以提高应用程序的性能。本书适合有一定编程经验的开发人员参考。

2014-10-30

汇编语言程序设计(AT&T英)

每种高级语言程序在连接为可执行程序之前,都必须被编译为汇编语言程序,因此对于高级语言程序设计者来说,了解编译器如何生成汇编语言代码十分有用。本书分为三部分。第一部分讲解汇编语言程序设计环境基础,第二部分研究汇编语言程序设计,最后一部分讲解高级汇编语言技术。本书的主要目的是向使用高级语言的程序员讲解编译器如何从C和C++程序创建汇编语言例程,以及编程人员应如何掌握生成的汇编语言代码,调整汇编语言例程以提高应用程序的性能。本书适合有一定编程经验的开发人员参考。

2014-10-30

linux-0.11-gcc4.3

linux-0.11的GCC4.3下可编译源码 修改了相应的makefile和代码使之支持GCC4.3的自动优化

2014-10-18

linux-0.11-gcc4.3.rar

linux-0.11的GCC4.3下可编译源码 修改了相应的makefile和代码使之支持GCC4.3的自动优化

2014-10-18

学习DOS的书籍

想学DOS下汇编的同学有福了,这个资料包括完成教程和源代码,配合《自己动手写操作系统》非常不错,里面还包括许多微机原理的知识,相信看完之后你会对计算机有个清晰的认识

2013-08-17

CiteSpaceII.zip

CiteSpaceⅡ基于JAVA平台的信息可视化软,是美国Drexel大学陈超美(Chaomei Chen)教授开发的,用于文献引文网络分析的工具

2015-07-07

编程高手箴言

本书是作者十余年编程生涯中的技术和经验的总结。内容涵盖了从认识CPU、Windows运行机理、编程语言的运行机理,到代码的规范和风格、分析方法、调试方法和内核优化,内有作者对许多问题的认知过程和透彻的分析,以及优秀和精彩的编程经验.

2013-08-17

oci编程开发实例

oci编程开发指南及开发实例,请放心下载

2014-11-04

linux-0.11-mingw.rar

赵炯老师的修改后的可以用MinGW32编译的linux0.11版本内核包括MinGW32

2014-10-18

基于OCI的Oracle程序设计

Linux下基于OCI的Oracle数据库程序设计

2014-11-07

OCI编程指南

oci编程开发指南

2014-11-04

linux-0.11

[linux0.11.rar] - linux完全注释的源代码。内核版本为0.11的linux kernel。

2014-10-18

linux0.11.rar

[linux0.11.rar] - linux完全注释的源代码。内核版本为0.11的linux kernel。

2014-10-18

Linux命令大全

Linux虽然是免费的,但它的确是一个非常优秀的操作系统,与MS-WINDOWS相比具有可靠、 稳定、速度快等优点,且拥有丰富的根据UNIX版本改进的强大功能。下面,作为一个典型的DOS 和WINDOWS用户,让我们一起来学习Linux的一些主要命令,希望大家能尽快进入到Linux的世界里,成为玩转Linux高手

2013-08-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除