自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(75)
  • 收藏
  • 关注

原创 从Quest3/Vision Pro浅淡“空间计算”

前情提要APPLE VISION PRO VS META QUEST 32023 年 6 月 6 日凌晨,苹果在 WWDC23 上发布了旗下首款 MR 产品 Apple Vision Pro,售价为 3499 美元。仅三个月后的 2023 年 9 月 28 日,Meta 在其召开的 Meta Connect 大会上发布了 Meta Quest 3 头显,售价 499 美元。二者都不约而同的强调 了...

2024-02-26 14:19:56 535

原创 不用GPT4,如何让你的AI助理更加智能

小伙伴们新年好啊,颓废的 2023 年总算是过去了,过去这一年因为自己的状态不太好,一直也没怎么更新,2024 年是时候重新拾起行囊再出发啦!前言去年年底我写过一篇《大模型小助手,Mac 工程师如何拥有自己的人工智能》,在那篇文章里我介绍了如何利用自己手头的计算资源(Mac 电脑)快速拥有一个人工智能助手,然而大多数人手头的算力是很孱弱的,以至于大家千方百计搭桥建梯想要拿到 OpenAI 这艘大船...

2024-02-12 08:22:31 1223 1

原创 大模型小助手,Mac工程师如何拥有自己的人工智能

前言历史的车轮滚滚向前,大模型的发展让 AI 离每个人都更近了一步。今年 3 月的时候简单聊了一下 AIGC,现如今半年多过去了,ChatGPT 依旧大放异彩。无论是百度的文心一言还是阿里的通义千问,在 GPTs 面前都变成了拙劣的模仿。现如今每隔几天就有新鲜的技术出炉,让人目不暇接,同时具备可玩性和想象空间的各种应用和开源库,仿佛让自己回到了第一次设置 JAVA_HOME 的日子,于是我便蹦出了...

2023-12-10 15:41:58 237

原创 设计模式解码:软件工程架构的航标

引言软件工程领域的设计模式,就像是建筑师手中的设计蓝图,它们是经验的总结,指导开发者如何在面对层出不穷的编程难题时,构建出既稳固又灵活的软件结构。就像一座经过精心设计的大厦能够经受住风雨的考验一样,一个利用了恰当设计模式的软件系统也能在快速变化的技术世界中稳定运行。它们是从无数成功(和失败)的项目中提炼出来的知识精华,为软件开发者提供了一套通用的、可复用的解决方案框架。这些模式不仅仅是静态的原则或...

2023-11-15 08:46:33 622

原创 数据库是如何分片的?

本文翻译自How does database sharding work?,如有疑问,请联系译者了解什么是数据库分片,分片如何工作的,以及一些常见的分片框架和工具。How does database sharding work?如果你使用过 Google 或 YouTube,那么你很可能已经访问过分片数据。分片通过将数据分区存储在多个服务器上,而不是将所有内容放在一个巨大的服务器上,以实现扩展数...

2023-07-19 11:04:52 145

原创 聊一聊AIGC

“UGC不存在了”——借鉴自《三体》ChatGPT 的横空出世将一个全新的概念推上风口——AIGC( AI Generated Content)。GC即创作内容(Generated Content),和传统的UGC、PGC,OGC不同的是,AIGC的创作主体由人变成了人工智能。xGCPGC:Professionally Generated Content,专业生产内容UGC:User Genera...

2023-03-21 21:01:02 1066

原创 三行代码让你的git记录保持整洁

前言笔者最近在主导一个项目的架构迁移工作,由于迁移项目的历史包袱较重,人员合作较多,在迁移过程中免不了进行多分支、多次commit的情况,时间一长,git的提交记录便混乱不堪,随便截一个图形化的git提交历史给大家感受一下。各种分支疯狂打架宛如后宫争宠的妃子们,之所以会出现这种情况,主要还是因为滥用git merge命令并且不考虑后续的理解成本导致的。如今在大厂工作的程序员们,频繁接受变更的需求,...

2023-02-25 18:26:53 429

原创 时区处理与东八区的程序员们

前言在和前端同学联调的过程中,我们通常会遇到与时间有关的场景:为什么传过来的时间落库的时候总是1970年?为什么相同的时间戳在不同的区域里转换成的时间字符串不一样?为什么不同的转换方法换成的结果一会是GMT,一会是UTC?时间,这个在开发中不起眼的一环,却又往往会让很多开发者在遇到时犹豫不决。在本文开始之前,先抛出一个问题:在日常的业务场景中,什么场景使用北京时间?什么场景使用本地时间?GMT与U...

2023-02-20 13:18:33 662

原创 微博图床挂了!

一直担心的事情还是发生了。作为hexo多年的使用者,微博图床一直是我的默认选项,hexo+typora+iPic更是我这几年写文章的黄金组合。而图床中,新浪图床一直都是我的默认选项,速度快、稳定同时支持大图片批量上传更是让其成为了众多图床工具的默认选项。虽然今年早些的时候,部分如「ws1、ws2……」的域名就已经无法使用了,但通过某些手段还是可以让其存活的,而最近,所有调用的微博图床图片都无法加载...

2023-01-18 00:22:08 377

原创 2022的取舍与得失

每年双十二结束都意味着新年降至,回想这一年发生了太多太多的事情,总觉得需要写些什么,但又不知从何下笔。提笔前翻了一下待办,里面收集了很多自己想写的文章,比如之前一直想写一篇文章来聊一聊内卷的,又或者聊一聊自己工作这一年的总结感悟,但总是由于这样或那样的原因耽搁了,如今正好趁着????了在家隔离的这段时间把这些想写的东西收一下。这篇不算年终总结的文章,也没什么脉络,就是想到什么就说什么了。如今疫情终于放开...

2022-12-19 22:44:27 152

原创 如何设计一个积分领取系统

积分作为一种营销手段,被广泛运用于线上/线下的产品中,以此来增加用户对于产品的粘性。比如天猫积分可以用来兑换商品,京豆可以在下单折扣等,如下图所示。如今,随着获客成本的增加,如何减少用户的流失,变成了各个产品的核心命题之一。也正因如此,很多业务引入了各式各样的积分系统。为了更好的面对业务带来的变化,对整个积分兑换流程做一个合理的抽象是正确且有必要的。只是,整个积分的兑换是一个非常庞大且复杂的流程,...

2022-12-02 09:20:20 1038 2

原创 Flink反压原理深入浅出及解决思路

1. 前言Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速计算。既然是对流式数据进行处理,那么就要面临数据在流动计算时,上下游数据通信以及数据处理速度不一致所带来的问题。本文先从「生产者-消费者模式」的角度介绍了Flink中的数据传输,从而引出了「反压」的概念。接着介绍了Flink在V1....

2022-10-31 15:25:19 1065

原创 浅谈策略模式在消息转发场景下的应用

背景在上一篇文章中,我们介绍了如何设计一个消息中心,传送门 ????《如何设计一个消息中心》有了承载这些消息的地方后,接下来的问题便是,这些消息从哪里来?通常对于一个内容型产品来说,在其互动体系中,为了增强消息的用户触达,增强用户的互动心智,在互动(评论、点赞等)行为发生后,会将互动消息推送至消息中心,然后根据不同的互动行为类型匹配不同的消息模版。然而随着互动行为种类的增加(内容的点赞、评论的点赞……)...

2022-09-11 16:27:01 607

原创 如何设计一个消息中心

如今的内容型产品,不管提供的是什么类型的内容,在其主功能之外,不可避免的会有另一个十分重要的功能——消息中心。而无论是信息流、论坛、信箱,还是私聊、群聊、通知,推拉模型是内容型(包括:社交型)产品架构的核心。做出正确选择的关键在于对产品形态和系统组件清晰的认识。今天我们将重心放在消息中心上,聊一聊如何设计一个消息中心。需求分析消息中心通常会有两个功能(如下图所示):用户通知(点赞、评论、关注、@等...

2022-09-08 08:44:28 2365

原创 你真的需要Apple TV吗?不如自制一个Android TV!

去年我写了一篇《树莓派家用指北》,介绍了树莓派是如何作为家庭服务器改善我的生活的,指路链接 ????树莓派家用指北今天我们的主角依旧是我的那个树莓派,只是以另一种形式在我的家里发光发热——电视盒子。看到这可能有人会好奇,这个树莓派用作电视盒子后,原先的家庭服务器怎么办?事实上我之所以把这个树莓派做成电视盒子,第一个原因是我搬家了,需要重新升级规划下家里的软件系统,第二是我用 NAS 替代了原先的树莓派...

2022-08-22 08:40:25 1512

原创 写代码也要讲规矩——SLA

软件的复杂性带来的问题工作一年多了,在涉及到跨部门合作的时候往往就是最痛苦的时候,其实道理很简单,刚开始,我们的组织和产品如左图,一切都比较简单,为了业务的发展,通过人工快速吃到技术和产品的红利,很多事情人工能掌控,有事吼一声,开个会就解决了,也运转得很好。但随着慢慢发展,组织和产品就如右图,彼此连接依赖越来越复杂,为了整体的高速运转,对每个部件的稳定性越来越高,越来越精密,发展到一定程度,人力已...

2022-08-15 17:24:58 218

原创 数据检索的玄铁剑——索引

从搬运 DTO 到 CRUD在如今的开发模式下,服务端程序员离原始数据越来越远,和农夫山泉一样,他们不生产数据,他们只是 DTO 的搬运工。从各种 service 中获取数据,再使用 Lambda 进行拆分组装成为了他们的日常工作。然而,随着各家大厂都开始“降本增效”,DTO 的搬运工越来越不具备竞争力,“技多不压身”变成了下一阶段的 OKR,于是「CRUD 工程师」便“...

2022-07-30 19:32:23 100

原创 LowCode 窥探

前言本文是笔者在团队内部做分享整理的资料的一部分,本次分享主要是站在一个服务端开发的视角对(前端)低代码平台的一些调研,已经剔除了一些敏感数据和信息,可放心食用。太阳底下无新事Dreamweaver -> Low-Code将时钟拨回到 20 年前,那个时候的开发者对于 html/css/js 还处在望而生畏的阶段,Dreamweaver 的出现仿佛让他们看见了曙光。...

2022-07-24 17:58:50 243

原创 git实用技巧之git stash

使用场景当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。储藏(stash)可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。用法储存修改git stash 储存当前修改(包括...

2022-06-11 21:19:17 188

原创 唔,突然就年中大促了啊

唔,突然就年中大促了啊5月26日晚8点,618第一波预售活动正式开始,虽然各家都在紧锣密鼓的准备这个年中大促,但说到底活动的玩法、套路营销手段都是市场部等业务方制定的,作为技术人,究竟在大促活动中承担一个什么样的角色?以及大促活动究竟能带来什么改变,确是值得我好好考虑下的。大促状态下的业务与技术对于电商业务,既然有大促活动,肯定就会有日常状态,那么大促和日常究竟有什么区别...

2022-05-28 23:55:02 162

原创 Lombok 原理探析

前言对于一个 Java 开发者来说,Lombok 应该是使用最多的插件之一了,他提供了一系列注解来帮助我们减轻对重复代码的编写,例如实体类中大量的 setter,getter 方法,各种 ...

2022-02-27 22:21:04 809

原创 2021的小结

仿佛工作之后,时间就加快了很多,明明毕业还只是半年前的事情,但每次想起来都感觉已经过去了很久。我的公众号也很久没有更新了,说实话,不知道可以写什么。望着现在那些良莠不齐的公众号都能收获非常...

2022-02-04 14:41:07 244

原创 和Vim相关的一次尝试

好久不见啊,已经好久没有更新文章了,工作之后属于自己的时间真的变得十分有限,难得的空闲时间也十分懈怠只想好好休息(996害人不浅啊)。好在已经逐渐从繁忙的工作中调整过来了,原本计划上周发一...

2021-12-26 16:53:52 245

原创 双十一我在写什么代码?从开发的角度记录一下我加入淘宝的第一次双十一

前言看到标题大家可能还会有些诧异,这不是才刚刚国庆吗,怎么都开始写双十一的文章了。的确,虽然国庆还没有过完,但今年淘宝的双十一活动已经开始了。我的上一篇文章是在 9 月 12 日发布的,直...

2021-10-07 09:00:00 196

原创 我对Node作为中间层的一些想法

Web 发展三部曲青铜时代在互联网诞生之初,网页还只是一个承载静态信息的载具,只能显示一些纯静态的文本和图片。这种静态页面不能读取后台数据库中的数据,是一个完全封闭的生态,我们姑且称这是 ...

2021-09-12 21:12:41 95

原创 从SSO出发谈谈登录态保护

抛砖引玉在文章开始前,先看看一个常见的情况????在集团内进行开发时,通常会遇到不同组之间的合作,如果是同一个组的前后端,因为交互请求都是在同一个「域」内发生的,所以一般不会存在跨域问题。...

2021-08-22 14:06:37 1568

原创 通过 Redis 构建一个响应式架构

本文翻译自Building a Reactive Architecture Around Redis[1],如果觉得本文对你有所帮助,不妨点个赞支持一下Redis 是我遇到过的最强大、最通...

2021-08-15 22:29:50 240

原创 深入浅出序列化(2)——Kryo序列化

前一篇文章我们介绍了 Java 中的两个常见的序列化方式,JDK 序列化和 Hessian2 序列化,本文我们接着来讲述一个后起之秀——Kryo 序列化,它号称 Java 中最快的序列化框...

2021-08-07 19:34:20 774

原创 一次跨域问题的分析

事件起因一个需求让我开放一个 HTTP 接口给前端,在联调的过程中,前端请求时出现了一个 CORS 错误,也即跨域问题,错误如下 ????一开始我的想法是,跨域问题,这我熟啊,在学校写代码...

2021-08-05 08:22:00 772

原创 序列化系列(1)——JDK序列化和Hessian序列化

我之前在《聊一聊RPC》中曾提过什么是序列化和反序列化,当时有说过之后要单独抽出一期来详细聊聊序列化,没想到这一拖竟然拖了一年多,现在来把这个坑补上。由于篇幅较长,本文先主要介绍两种常见的...

2021-08-02 08:00:00 507

原创 【译】JetPack Compose for Desktop 初体验

本文翻译自:An Introduction to JetPack Compose for Desktop[1]目前为止,我们只在 Android 开发中看到Jetpack Compose...

2021-07-26 08:33:00 780

原创 给编译器看的注释——「注解」

计算机的世界是由 0 和 1 构成的,为了方便人类与计算机沟通,先贤们发明了编程语言,通过编译器将这些语言翻译成机器可以看懂的机器语言。为了方便人类更好的阅读代码,避免不必要的 996,几...

2021-06-14 15:38:49 1363 1

原创 是时候和学生时代说再见了

年前和朋友吃饭,聊到了一个问题,如果可以重新选择职业方向,你还会坚持现在的选择吗?她很坚定的告诉我虽然很累,但还是会毫不犹豫的选择学医,只是单纯因为热爱。随后她便反问我,如果你可以重新选,...

2021-06-07 09:00:00 312

原创 赢在起跑线还是智商税?聊一聊少儿编程

今天正好是六一儿童节,本期作为儿童节特辑,来聊一聊一个正在兴起的行业——少儿编程。几年前路过一家店,上面赫然写着“少儿编程”四个大字,着实把我吓了一跳,那个时候我才大二,还是一个只会 ct...

2021-06-01 08:00:00 238 1

原创 抄底的艺术——量化交易之路

什么是量化?量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选出能带来超额收益的多种“大概率”事件以制定策略。它极大地降低了市场波动给投资者情绪带来的影响...

2021-05-21 10:01:33 1551 1

原创 把你的IDE搬进浏览器里——JetBrains Projector 初体验

image对于云端编程,我想大多数人的第一想法应该是微软推出的 VSCode Remote,这个功能基于开源的 VSCode,通过 SSH 远程连接到服务器,开发者可以通过端口转发、SCP 等一系列实用功能快速实现远程开发。我曾体验过这种编程方式,极大减轻了电脑性能的压力,但我认为这并不是云端编程的最终形态,因为我仍然需要在自己的电脑上安装 VSCode 才可以使用这个功能。最近 2...

2021-05-04 20:10:14 3649 1

原创 简单聊一聊MQTT

3 月 30 日,小米在其新品发布会上公布了他们要造车的消息,那场发布会我看完了,其实这个消息在意料之中,如今的手机市场已经趋向饱和,手机厂商竞争加剧,疯狂内卷,手机业务再进行大的扩张也非...

2021-04-30 15:53:00 147 1

原创 身份认证之双因素认证 2FA

image身份认证这里所说的身份认证,指的是狭义上的在计算机及其网络系统中确认操作者身份的过程,从而确定用户是否具有访问或操作某种资源的权限。image之所以要在互联网中进行身份认证,是为了防止攻击者假冒你的身份在系统中进行不利于你的操作。试想一下,万一哪天早晨起来你发现你的支付宝账号被盗了,你余额宝里的钱全没了,那岂不是亏大了。只不过,和现实世界不同的是,网络世界中...

2021-02-20 09:20:39 2030

原创 人人都是 LSP?—— 种子与文件下载的相爱相杀

前言世界上根本没有 LSP,又或者,人人都是 LSP。说起种子,你会想到什么?是农民伯伯春天播下,秋天就会收获果实的东西?还是以.torrent结尾的文件?如果是前者,那你一定是一个热爱...

2021-01-11 08:12:00 1153

原创 2020年,我在编程时遇见的几个好物

image年年都写年终总结,确实没什么新意,虽然今年也做了总结,但写完之后总觉得过于悲观,只是到了年底应该要有些什么表示,想着今年是该换个花样了,于是便有了这篇《2020 年,我在编程时遇到的几个好物》。这篇文章介绍的,有框架,有工具,有软件,都是自己在编程时遇到的有用的,而且自己比较喜欢的,这里分享给大家。正所谓相遇即是缘,若是你有幸读到这篇文章并且觉得还不错,不妨点赞关注支持一波...

2020-12-30 23:23:21 373 1

空空如也

空空如也

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

TA关注的人

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