IT博客汇
首页
精华
技术
设计
资讯
扯淡
权利声明
登录
注册
相关标签
作者:
David Gao
1978
source
关注
love
0
David Gao
发表于
2024-01-08 16:00:00
个人的2023年回顾以及2024的计划
*2023年在不知不觉中过去了,来到了2024年,参与某个项目已经有5年之久了。自己和小伙伴们也一起搞东西搞了3年了,但是终究是同志尚需努力。More… ...
继续阅读 (59)
love
0
David Gao
发表于
2024-01-08 16:00:00
作为一个开源项目的创始人
无意中看到尤雨溪说React挖坑不填坑,只靠文档来让用户来避开这些坑,其中言辞不乏用了夸张的手法来特意强调了这些坑的严重性。甚至用了 PUA 这样的词来刻意强调自己的观点。本来无意去写文章来说什么,但是接到了一些外国友人的消息后,进一步看了尤雨溪的后续X(前twitter)上的消息后,还是写了这篇文章说说自己的看法More… ...
继续阅读 (56)
love
0
David Gao
发表于
2023-12-18 16:00:00
RabbitMQ 和 Kafka
这是一篇2015年时我对Kafka和RabbitMQ的一些了解和使用。本文中提及的kafka特性是2.8.2之前版本的,RabbitMQ的特性也是2.x版本的,也算年代久远了。More… ...
继续阅读 (64)
love
0
David Gao
发表于
2023-12-05 16:00:00
Zero downtime Postgres upgrades
国外的一家公司介绍他们是如何将 PostgreSQL 11.9 升级到 PostgreSQL 15.3,通过使用逻辑复制和Elixir & Erlang上的工具完成了0停机的无缝切换,这篇博文将详细的描述这一过程More… ...
继续阅读 (58)
love
0
David Gao
发表于
2023-12-04 16:00:00
How React 18 Improves Application Performance
如果React 17是React的一个过渡版本,React 18则是React里程碑性质的版本,React 18 引入了并发功能,从根本上改变了 React 应用程序的渲染方式。我们将探讨这些最新功能如何影响和提高您的应用程序的性能。本篇文章将让我们学习到Transitions、Suspense 和 React Server Components 等并发功能如何提高应用程序性能。此篇为英文原文More… ...
继续阅读 (74)
love
0
David Gao
发表于
2023-12-04 16:00:00
React 18 如何提高应用程序性能
如果React 17是React的一个过渡版本,React 18则是React里程碑性质的版本,React 18 引入了并发功能,从根本上改变了 React 应用程序的渲染方式。我们将探讨这些最新功能如何影响和提高您的应用程序的性能。本篇文章将让我们学习到Transitions、Suspense 和 React Server Components 等并发功能如何提高应用程序性能。此篇为翻译后的文章More… ...
继续阅读 (66)
love
0
David Gao
发表于
2023-12-03 16:00:00
浅谈 Unicorn 的多进程模型
作为 Ruby 社区中老牌的 webserver,在今天也有很多开发者在生产环境使用 Unicorn,这是一篇很好的Unicorn的博文,保存转发More… ...
继续阅读 (64)
love
0
David Gao
发表于
2023-12-03 16:00:00
浅谈 Puma 的并发模型与实现
puma是当今Ruby社区的主流Web服务器,以方便和高性能而闻名,可是说是Ruby社区中Web服务器出现较晚的,Puma可以说吸收了前辈的很多优秀的地方,该篇博文深入的分析了Puma的设计,因此保存转发More… ...
继续阅读 (61)
love
0
David Gao
发表于
2023-12-01 16:00:00
RUBY WEB 服务器:这十五年
最近重新写了一点Ruby的代码,有一种梦回2000年的感觉,于是就翻出这篇旧文,因为该文章发布的较早,说的是Ruby的十五年,但是在不知不觉中Ruby已经升级到了3.x版本,也经历了二十年的发展,也出现了很多变化。分享这个文章就完全算是一种对Ruby的Web服务器的考古了。More… ...
继续阅读 (73)
love
0
David Gao
发表于
2023-11-12 16:00:00
Java 8之后的一些变化
因为部分项目从Common Lisp转向了Clojure,所以逐步介入了Java的生态环境。近期也将Java从Java 8升级到Java 17,但是发现了一些变化,因此从网络上找了一些文章。随着技术的不断更新迭代,一些曾经被认为是“标准答案”的观点和方法,已经不再适应当前的需求,甚至被视为过时的做法。在新的JDK版本中,许多新的特性、工具和方法被引入,使得Java编程变得更加简洁、高效和强大。所以,是时候对“八股文”进行一次知识库的清理和更新了。More… ...
继续阅读 (69)
love
0
David Gao
发表于
2023-11-11 16:00:00
Erlang Mnesia 数据库实现SQL查询
Erlang的Mnesia是一款Key Value数据库,但是我们很多时候习惯使用SQL进行查询,本文介绍如何在Mnesia上实现类似SQL的查询方法。More… ...
继续阅读 (63)
love
0
David Gao
发表于
2023-11-11 16:00:00
各种各样的I/O
介绍常见的I/O,根据操作的阻塞或非阻塞类型,以及IO的准备就绪、完成事件通知的同步和异步类型,一共有四种不同方式的IO。同时介绍IO常见的设计模式More… ...
继续阅读 (71)
love
0
David Gao
发表于
2023-11-10 16:00:00
Rust内存优化及构建配置
虽然过早优化并不是一个好事情,但是对内存使用的优化,如果在早期开发时就能注意到还是要进行的。因此找到一片关于如何对Rust的代码进行内存优化的文章,同时该博文还介绍一些构建配置优化,原文保存转发More… ...
继续阅读 (61)
love
0
David Gao
发表于
2023-11-07 16:00:00
GCC为什么需要编译两次才能完成自举
多年前安装LFS这个Linux发行版时候,GCC都需要进行多次编译进行自举,当时并为对其中的原因进行深入探索,再次看到LFS中的文档说明,就将其记录下来。More… ...
继续阅读 (62)
love
0
David Gao
发表于
2023-10-12 16:00:00
浅聊Rust程序内存布局
因为要做Rust FFI相关的事情,找到了一篇介绍rust内存布局的文章,存档转发。内存布局看似是底层和距离应用程序开发比较遥远的概念集合,但其对前端应用的功能实现颇具现实意义。从WASM业务模块至Nodejs N-API插件,无处不涉及到FFI跨语言互操作。甚至,做个文本数据的字符集转换也得FFI调用操作系统链接库libiconv,因为这意味着更小的.exe/.node发布文件。而C ABI与内存布局正是跨(计算机)语言数据结构的基础。More… ...
继续阅读 (73)
love
0
David Gao
发表于
2023-06-08 16:00:00
与程序员相关的CPU缓存知识
现在CPU的cache越来越大,AMD的CPU的Cache已经达到了GB级别。因此CPU的缓存对程序的性能影响会越来越多。在无意中想起这篇文章,保存转发。More… ...
继续阅读 (60)
love
0
David Gao
发表于
2023-04-05 16:00:00
Linux shell的演进史
因为同时使用FreeBSD,OpenBSD和GNU/Linux,所以会在tcsh,ksh和bash之间不断的切换,对之前存档IBM上关于shell的文章进行翻译工作,进行一下精读和科普。More… ...
继续阅读 (62)
love
0
David Gao
发表于
2023-03-31 16:00:00
Evolution of shells in Linux
日常工作使用shell的时间非常多,就对shell的一些东西感兴趣,因此找到了这篇文章,这是IBM开发者文档中一篇介绍Linux上的shell的进化史的文章。More… ...
继续阅读 (64)
love
0
David Gao
发表于
2022-01-10 02:22:31
如何检查React Query的请求状态
React Query使用stale-while-revalidate缓存机制,并且存在后台刷新数据的机制。因此状态检查就变的非常重要。本文主要说明后台刷新数据时,会带来的一些问题和解决方法。More… ...
继续阅读 (60)
love
0
David Gao
发表于
2021-12-28 01:00:40
React Query的数据转换
写程序,永远都要面对数据结构和算法。使用React Query去获取数据时,很多时候我们也需要进行数据转化,这篇博文就是介绍在使用React Query时如何进行数据转换。More… ...
继续阅读 (58)
love
0
David Gao
发表于
2021-12-02 07:50:58
为什么我们在所有的东西上使用Memo
eslint-plugin-react-memo的作者为了阐述Memo的重要性而写的博文,用来说明为什么使用Memo是一个非常明智的选择More… ...
继续阅读 (49)
love
0
David Gao
发表于
2021-11-01 06:13:32
为什么要有Ramda类库
JavaScript是一个Lisp特点的语言,不过这也给使用者带来了很多麻烦。在经过多年的演变,JavaScript也用了自己的规范ECMAScript。在JavaScript的不断演变的过程中,出现了很多非常优秀的类库。众所周知,程序是数据+算法,Ramda函数库为我们提供了一组简化算法编写的工具,本文将为大家介绍RamdaJS,一个非常值得学习的Point Free Style的函数编程类库。More… ...
继续阅读 (60)
love
0
David Gao
发表于
2021-10-28 02:47:55
Erlang跟踪调试指南
编程最重要的一点就是学会调试。顺序执行的时候调试难度就非常大,并发型系统的调试就更不用说了。而Erlang整体生态就是一个并发型的生态,其调试难度非常大。但是这其中还是有一些技巧的,当我们学会这些技巧,很多事情就好做多了。More… ...
继续阅读 (39)
love
0
David Gao
发表于
2021-10-26 05:57:59
不要虚度光阴
一寸光阴一寸金,寸金难买寸光阴。作为公司里的打工人,工作不是我们的全部,最好去做你能向公司以外的人展示的东西。 比如做开源项目,去会议演讲,到大学进修新的学位等。这些东西不但可以给自己带来不同的感受,同时也是上升的垫脚石。More… ...
继续阅读 (49)
love
0
David Gao
发表于
2021-10-18 01:00:34
最好的财富
能控制自己的时间,能每天醒来的时候决定今天怎么过。赚钱能力远高于开销,以至于不用去想钱。能自信地说“我不知道”而不怕丢面子,能在自己的领域讲真话而不用怕被报复。More… ...
继续阅读 (46)
love
0
David Gao
发表于
2021-10-12 02:01:00
实际工作中的编程需要用到多少数学知识
如果只是做应用(网站/app)或多数的内部工具(自动化一些流程),基本用不到什么数学 知识,会数数就行了。也就是说,多数程序员的搜索引擎驱动的编程方式与数学关系不大:)More… ...
继续阅读 (55)
love
0
David Gao
发表于
2019-10-28 07:49:33
“让人心安”也是一种生意
有一些花钱买放心的 business,如保险,教科书,杀毒软件等,有点像交保护费。这种类型的 business 需要长久累计下来的良好的信誉,用户活跃度不重要。More… ...
继续阅读 (49)
love
0
David Gao
发表于
2019-10-26 08:07:37
关于做开源项目与 side project
这是 GitHub 创始人于 2008 年在一个 Ruby 的会议上的讲话。当时 GitHub 有3个全职员 工,几千个付费用户。做 side project,做开源项目,基本上是不能直接赚钱的,但却能 间接地给你开启很多机会,结识一些有能力或者有想法的人。More… ...
继续阅读 (61)
love
0
David Gao
发表于
2019-10-24 11:12:00
如何将自己的软件卖到2万美元
如何将自己软件卖到2万美元,简单说就是:1. 市场调查一下,找出市面上那种一套卖好几 万的软件,比如看你所在的公司在哪些很难用的软件上花了大钱;2. 只实现最核心的功能; 3.卖软件+提供咨询服务,先伺候好一个客户。More… ...
继续阅读 (58)
love
0
David Gao
发表于
2019-10-15 11:12:00
如何实现高性能的秒杀服务
秒杀在以前曾经在电商中是一个非常热门的话题,但是换个角度去看问题,秒杀问题在很多 业务中都存在,本文从一个综述的方向,给读者介绍秒杀相关的问题和解决方法。More… ...
继续阅读 (50)
1/2
下一页