日拱一卒的意义:开源搜索引擎Typesense作者自述:每天写一点代码,写出Typesense

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 日拱一卒的意义:开源搜索引擎Typesense作者自述:每天写一点代码,写出Typesense

日拱一卒无有尽,功不唐捐终入海”,时间长了,再小的进步也会产生价值,这就是意义所在。

最近开源搜索引擎 Typesense 作者写下了自己在开发时的心路历程,以下为原文翻译整理:

六年前我第一次开始使用 Typesense 时,我给自己定了一个简单的规则:

在每天上班前或下班后写一些代码。

很直白的一个目标,没有 DDL,没有 KPI,也没有里程碑。

我即将结婚,并且已经在全职工作了,我肩上的责任越来越沉,在这种情况下我只能用此方式来提高自身。

众所周知,从头开始构建搜索引擎并非易事,所以每天在空闲时间写一些代码可以让我不必应对额外的压力。

有些性能需要一个小时才能实现,有些性能需要几个小时才能实现,有时候完成一个性能甚至需要持续数周,但这并不重要,因为没有任何形式的截止日期。

回想起来,在过去的 6 年里遵循这一规则给我带来的收获是我不敢相信的,过程很漫长,但我坚持住了。

而在这个过程中,我的生活也引来了很多新的变化:我结婚了,有了一个女儿,也在抵抗中失去了所爱的人,因新冠肺炎经历了重大的健康问题...

不明白是从哪个时刻开始,Jason 和我已经能够从头开始构建一个开源搜索引擎了,以下是我们迄今为止旅程的简要总结:

  • 2015 年:各种数据结构的原型设计和基准测试
  • 2016 年:首次正式提交,构建核心模糊文本搜索引擎
  • 2017 年:HTTP API,支持数字过滤和分面搜索
  • 2018 年:客户端库、只读副本、Hacker News 发布失败
  • 2019 年:赚到第一美元
  • 2020 年:集群、Typesense Cloud、多个演示、Hacker News 成功发布 2021 年:全职投入 Typesense,撰写我们的第一篇博文 :)

我们踏上的路径与关于创办公司的几种流行的传统观点背道而驰,我们在一开始并没有辞掉日常工作立即开始全职开发 Typesense,没有寻求风险投资,也没有试图通过追逐高速增长来“垄断”市场。

我们没有可以利用的个人品牌或广泛的网络。直到第 5 年,我们甚至都没有赚到一美元,但我们的跑道几乎是无限长的。在这个长期的过程中,我们逐渐明白:只有当我们充分降低该选项的风险时,才能全职投入 Typesense。

如果您想通过推出自己的产品来获得一定的成功和独立性,并且希望降低风险的话,我的建议是:在一个永远有需求的大市场中获得一个想法,并开发一种适合一部分用例的产品。

选择一个并不主流的想法,并保证它在一个大型且最好是需求不断增长的市场中,这样可以大概率降低风险并且可以缓慢稳定地发展。

只要坚持下去,就会在某个时刻成功。

以 Typesense 为例:

我们从一个简单的想法开始:构建一个开箱即用并且使用感良好的搜索引擎,使搜索民主化。在我们刚开始时,我们就知道网站和应用程序总是需要搜索,而且这是一个需求庞大且不断增长的市场。

在我们慢慢构建 Typesense 的过程中,我们看到了其他几家公司也在为同一个市场发起攻击(这就是市场验证)。尽管如此,我们仍然有目的地继续前进,并从中更好地了解到了市场需求在缓慢增长。

在 Typesense 工作了 6 年,但我们的故事才刚刚开始。现在我和 Jason 都在全职开发 Typesense,我们期待着按照自己的方式去发展它。

相关文章
|
存储 NoSQL Serverless
位运算的魅力:使用Redis Bitmap高效处理百万级布尔值
位运算的魅力:使用Redis Bitmap高效处理百万级布尔值
722 0
|
移动开发 前端开发 HTML5
分享136个HTML公司企业模板,总有一款适合您
分享136个HTML公司企业模板,总有一款适合您
576 0
|
消息中间件 运维 Serverless
商业版vs开源版:一图看懂云消息队列 RocketMQ 版核心优势
自建开源 RocketMQ 集群,为保证业务稳定性,往往需要按照业务请求的峰值去配置集群资源。云消息队列 RocketMQ 版 Serverless 实例通过资源快速伸缩,实现资源使用量与实际业务负载贴近,并按实际使用量计费,有效降低企业的运维压力和使用成本。
1060 126
|
2月前
|
边缘计算 安全 定位技术
AIWCLOUD:免备案高防CDN、不限内容、抗投诉、在跨境金融级数据同步场景下
本文介绍一种专为跨境金融设计的免备案CDN架构,通过物理路径固化、PTP亚微秒时钟同步与MACsec链路层加密,实现低抖动、高安全、强合规的“数据专线级”传输,满足支付清算、外汇交易等场景的严苛要求。(239字)
226 8
|
10月前
|
存储 监控 安全
RFID车辆无感识别进出管理更高效
RFID技术广泛应用于车辆无感识别进出管理,如停车场、园区、物流等场景。通过自动识别车辆身份,实现无需停车或人工操作的高效通行,提升管理便利性与智能化水平。
|
开发框架 .NET API
.NET 10首个预览版发布:重大改进与新特性概览!
.NET 10首个预览版发布:重大改进与新特性概览!
554 3
.NET 10首个预览版发布:重大改进与新特性概览!
|
安全 API 数据库
开源邮箱?十大开源邮件系统总有一款适合
开源邮箱?十大开源邮件系统总有一款适合
|
资源调度 分布式计算 Hadoop
实时计算 Flink版操作报错合集之perjob提交给yarn,报错显示无法连接yarn- Connecting to ResourceManager,是什么导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
机器学习/深度学习 人工智能 前端开发
AI计算机视觉笔记三:WEB端部署YOLOv5
本文档介绍了如何将YOLOv5目标检测模型部署到Web端的方法,包括基于Flask和Streamlit两种实现方案。首先创建Python虚拟环境并安装必要的依赖库。接着详细展示了Flask方案下的前端HTML页面与后端Python逻辑代码,该方案利用Flask框架搭建服务器,处理实时视频流,并显示检测结果。随后介绍了Streamlit方案,该方案更简洁直观,适合快速开发交互式的机器学习应用。通过`streamlit run`命令即可启动应用,支持图像、视频及实时摄像头的目标检测演示。两种部署方式各有优势,Flask灵活性高,适用于复杂项目;而Streamlit则易于上手,便于快速原型设计。
2312 0
|
消息中间件 网络协议 Shell
VxWorks操作系统shell命令与调试方法总结
<div><p><br></p></div> <p align="center"><strong>VxWorks下的调试手段</strong></p> <p>主要介绍在Tornado集成开发环境下的调试方法,和利用支撑定位问题的步骤、思路。<strong></strong></p> <h1> <a target="_blank" name="_Toc80412618">1         To
19619 0