软体技术部落格

欢迎来到软体技术部落格,这里是 React、JavaScript 及技术技能的知识文章页面。无论是在寻找关于monorepo 的技术、zustand 的状态管理技巧,还是希望加强对前端开发的理解,这里都有丰富的资源。每篇文章都精心撰写,旨在提供清晰、易于理解的内容,帮助大家快速找到所需资讯。从基本概念到进阶技巧,无论是初学或是进阶,这里都有适合大家的内容。如果对于图文式内容有兴趣,也可以参考我们 Instagram

1 亿用户、30 万云端成本、1 次IPO 机会:Figma 如何从设计工具变成平台级公司?

Figma,一个从UI 设计工具进化成为全球设计协作平台的矽谷新星,近期再度登上新闻版面!因为它即将启动IPO,并重新点燃了设计与SaaS 界对平台未来想像的火花。
今天这篇文章将带你全面认识Figma 的成长历程、产品技术、商业模式与即将上市的市场意涵。即使你不是设计师,也能从Figma 的演进中,看到一间科技公司如何利用技术与社群撑起平台规模效应,并逐步挑战设计巨头如Adobe 的地位!

进一步了解 »

3 种自动驾驶技术、5 大挑战:拆解Robotaxi 的未来战场

在过去几年,自动驾驶技术从科幻电影走入现实,尤其以无人计程车(Robotaxi)的商业应用为代表,正在悄悄改变人们对交通的想像。从Waymo 在凤凰城开放一般民众叫车,到Tesla 在奥斯汀启动Robotaxi 测试,美国街头已出现没有司机的车辆在移动。
这是一场技术革命,也是一场制度、伦理、商业模式的全面考验。今天这篇文章,将带你整理目前全球自动驾驶的发展现况,拆解技术路线、主要玩家与关键挑战,并探讨它如何从实验迈向落地,一起看下去吧!

进一步了解 »

Meta 出手143 亿美元:为何砸重金也要收购Scale AI?

在过去,提到AI 的发展,大家常会聚焦在模型本身:GPT-4 有多强、Gemini 多厉害、Claude 多能言善道。但事实上,这些模型背后的资料,才是真正决定它们「学得多好、理解多深」的关键资产。而在这场资料竞赛中,有一家公司扮演了无人取代的角色:Scale AI
Scale AI 成立于2016 年,专注于帮企业「训练AI 模型所需的资料」。它的核心业务不是开发模型,而是提供大规模、高品质且精准标注的资料处理服务。这包含从图像、语音、文字,到自驾车场景的资料标记。想像它是一个训练场的教练:不是主角,却决定主角成败。许多顶尖AI 模型,包括OpenAI、Meta、Google 过去都使用过Scale 的资料服务。
这样一间低调但关键的公司,最近被Meta 收购了大笔股份,引发整个产业地震级反应——Google 急撤合作,OpenAI 表示继续观望。今天这篇文章就要带你拆解:为什么Meta 会重金并购Scale AI?背后代表哪些市场讯号?又会怎么影响未来AI 战局?

进一步了解 »

21 岁创业、20 亿估值:Mercor 如何用LLM 与互动式回馈机制(Response Loop)重塑招募系统?

在过去,创业是一件要靠人脉、资金与长时间规划的大事。但现在,你可能只需要一个想法、一杯咖啡,加上一套好用的AI 工具,就能启动一个小专案、建立一份商业简报,甚至产出一个早期产品构想。这种门槛的变化,正在让创业从「大胆的人做的事」变成「有好奇心的人也可以开始练习的事」。
今天这篇文章将带你认识一间由21 岁创办人打造的AI 招募新创—— Mercor。在短短不到两年内,他们募得1 亿美元、估值达20 亿美元,并已服务上千家企业。这不只是「AI + 人才媒合」的故事,也是一个结合技术敏感度、商业思维与用户洞察的创业范例。今天会从创业背景、产品设计、技术亮点、市场策略与挑战五个面向切入,试着回答一个问题:为什么Mercor 如此成功?

进一步了解 »

AI 2027:距离通用智慧(AGI) 还有多远?一篇文全面解析支持者与怀疑者论点

前言:为什么「2027」会成为一个被放大的AI 节点?
2023 年以来,生成式AI 工具的进步速度震撼全球。从ChatGPT 的爆红到GPTs、Claude、Gemini 的功能叠加,AI 已经从「写文案」进化到「能帮你做决策」。许多人开始提出更激进的假设:会不会到了2027,我们就能看到真正的AGI?
AGI,Artificial General Intelligence,即人工通用智慧,意味着AI 将不再只是回答问题,而能像人类一样学习、推理、理解与规划。 Anthropic、OpenAI 等公司的创办人近来公开表示,这样的目标可能在2027 年前后达成。这类言论既令人兴奋,也蛮让人害怕的…
身为AI 的重度使用者,每天都与这些工具共处、观察产业动态的同时,也深刻感受到需要多用更全面的研究去平衡不同观点,不然真的会被每天新的AI 研究搞得很焦虑!
因此,今天的文章不试图预言未来,而是回到一个更理性客观的角度:从支持/ 反对AI 2027双方的论点出发,理解为何「AI 2027」成为聚光灯焦点,以及我们到底该用什么心态去看待它!一起看下去吧!

进一步了解 »

GenAI 如何帮助创业?从技术工具到创业生态的转变

在过去,创业是一件要靠人脉、资金与长时间规划的大事。但现在你可能只需要一个想法、一杯咖啡,加上一套好用的AI 工具,就能启动一个小专案、建立一份商业简报,甚至产出一个早期产品构想。这种门槛的变化,正在让创业从「大胆的人做的事」变成「有好奇心的人也可以开始练习的事」。
今天这篇文章从一份汇整83 篇学术研究的论文出发,系统性整理GenAI 在创业过程中的实际角色与可能风险,并尝试回到最贴近人的视角:如果你是对创业感兴趣但还没踏出第一步的人,这场AI 革命对你意味着什么?这篇文章会从工具、行为、教育、风险与未来建议五个角度切入,陪你想清楚——AI 让事情变快了,但也让我们更需要慢慢想。

进一步了解 »

打开AI 大脑的秘密花园:透过Anthropic 解析Claude 3.5,看见AI 如何思考

2024 年后,AI 工具已经渗透进我们生活的各个角落。从在LINE 上自动回覆讯息的小机器人,到企业用来生成报告、编写程式的智慧助手,AI 仿佛成了我们工作和生活的一部分伙伴。作为一个每天至少使用五种不同AI 工具的使用者,我常常惊讶于它们的流畅与聪明,甚至在某些时刻,感觉它们懂我胜过我自己!

但也正因如此,不安感开始浮现——我们真的了解这些AI 是如何得出结论的吗?每当看到AI 完成一篇几乎无懈可击的报告时,心中不免都会浮现一个疑问:这些结果,是它真正理解了,还是只是凑巧猜对?

如果要用一个画面来形容现在的AI,那大概就是:它像是一棵会自己长大的奇异植物。我们看到它开出美丽的花,结出诱人的果,但当我们拿起放大镜,却发现自己完全不知道它的根、茎、叶是如何交互作用。

Anthropic 近日发表的研究,正是试图打开这个黑盒子。他们用近乎生物学家的方式,解析Claude 3.5 这种大型语言模型内部的运作机制。不是只看输入与输出,而是像观察细胞、追踪神经元一样,试着回答:「这棵奇异植物的每一个细胞到底在做什么?」

如果未来AI 真的进入医疗、法律、金融等敏感领域,我们不能只看结果表现,而必须真正了解它的推理过程是否可靠、安全、可控,今天就来透过Anthropic 的研究来一探AI 大脑的运作方式吧!

进一步了解 »

 「AI Agent」是下一个ChatGPT?一篇文章带你搞懂AI Agent !

当你第一次使用ChatGPT,你可能会惊讶于它的反应速度、语言能力和资料量。它就像一位全知全能的线上百科助理,能写文章、改履历、生成行销文案、甚至写出一段程式码。对许多人来说,这样的工具已经足以改变工作习惯与生活方式。
但如果你是一位创业者、PM 或是自由接案者,很快你就会发现:ChatGPT 虽然能帮你「做出东西」,但无法「完成任务」。你得亲自指挥每一步,像在跟一位很聪明但没有主动性的助理工作。这时,AI Agent 的概念就浮现了。
AI Agent(AI 代理人)不是单纯的聊天机器人,而是能主动理解目标、规划任务流程、执行多步骤行动的智能系统。你只需要告诉它「我想让网站转换率提升」,它会自动帮你从分析网站问题、提出文案建议、执行A/B 测试,到最后回报结果。这样的能力不仅颠覆我们对AI 的期待,也开启了下一波AI 革命的起点。
今天这篇文章,将带你从最基础的定义出发,深入了解AI Agent 究竟是什么、能做什么、有哪些代表性工具与框架,又为什么它是ChatGPT 之后最值得你关注的新趋势,一起看下去吧!

进一步了解 »

🤖 你敢用AI 员工吗?一场由Google Gemini 主演的企业实习体验

当一家中小企业开始扩张,第一个难题通常不是市场或产品,而是人手不够。想像今天你就是这间企业的负责人,你可能需要身兼三职:回覆客户、写文案、同时处理顾客评论。
而在这些繁琐但重要的任务中,你开始听到一种可能改变你工作方式的新帮手:AI 人工智慧,或更具体地说:大型语言模型(Large Language Model, LLM)。

进一步了解 »

[Leetcode] 1804. Implement Trie II

A trie (pronounced as “try”) or prefix tree is a tree data structure used to efficiently store and retrieve keys in a dataset of strings. There are various applications of this data structure, such as autocomplete and spellchecker.

Implement the Trie class:

Trie() Initializes the trie object.
void insert(String word) Inserts the string word into the trie.
int countWordsEqualTo(String word) Returns the number of instances of the string word in the trie.
int countWordsStartingWith(String prefix) Returns the number of strings in the trie that have the string prefix as a prefix.
void erase(String word) Erases the string word from the trie.

进一步了解 »

[LeetCode] 0020. Valid Parentheses

Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.

An input string is valid if:

Open brackets must be closed by the same type of brackets.
Open brackets must be closed in the correct order.
Every close bracket has a corresponding open bracket of the same type.

进一步了解 »

当AI 写程式比你还快,工程师该如何找到自己的新定位?

试想一下这样的场景:你坐在电脑前,描述出你心中所想的功能,几秒后,人工智慧便为你产出一段可以运行的程式码,甚至整个应用程式就此诞生。听起来是不是有些魔法感?
这个场景早已不是天方夜谭,而是正在发生的现实。近几年AI coding 技术快速崛起,逐渐从技术新闻中的新奇话题,转变成日常开发工作的重要工具。从GitHub Copilot 到DeepSeek R1,人工智慧不仅改变了程式设计的方式,更可能颠覆整个软体产业的发展方向。
那么AI coding 技术究竟发展到了什么程度?它会不会取代工程师的工作?身为科技从业人员,我们又该如何面对这波科技浪潮?本文将从AI coding 的起源、现况、实际应用、对产业影响、未来发展,以及科技业人员应对之道,逐步深入解析。

进一步了解 »

[Leetcode] 0212. Word Search II

Given an mxn board of characters and a list of strings words, return all words on the board.

Each word must be constructed from letters of sequentially adjacent cells, where adjacent cells are horizontally or vertically neighboring. The same letter cell may not be used more than once in a word.

进一步了解 »

[Leetcode] 0211. Design Add and Search Words Data Structure

Design a data structure that supports adding new words and finding if a string matches any previously added string.

Implement the WordDictionary class:

WordDictionary() Initializes the object.
void addWord(word) Adds word to the data structure, it can be matched later.
bool search(word) Returns true if there is any string in the data structure that matches word or false otherwise. word may contain dots '.' where dots can be matched with any letter.

进一步了解 »

[Leetcode] 0208. Implement Trie

A trie (pronounced as “try”) or prefix tree is a tree data structure used to efficiently store and retrieve keys in a dataset of strings. There are various applications of this data structure, such as autocomplete and spellchecker.

Implement the Trie class:

Trie() Initializes the trie object.
void insert(String word) Inserts the string word into the trie.
boolean search(String word) Returns true if the string word is in the trie (ie, was inserted before), and false otherwise.
boolean startsWith(String prefix) Returns true if there is a previously inserted string word that has the prefix prefix, and false otherwise.

进一步了解 »

[Leetcode] 0235. Lowest Common Ancestor of a Binary Search Tree

Given a binary search tree (BST), find the lowest common ancestor (LCA) node of two given nodes in the BST.

According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes p and q as the lowest node in T that has both p and q as descendants (where we allow a node to be a descendant of itself).”

进一步了解 »

[Leetcode] 0098. Validate Binary Search Tree

Given the root of a binary tree, determine if it is a valid binary search tree (BST).

A valid BST is defined as follows:

The left subtree of a node contains only nodes with keys less than the node's key.
The right subtree of a node contains only nodes with keys greater than the node's key.
Both the left and right subtrees must also be binary search trees.

进一步了解 »

[Leetcode] 0572. Subtree of Another Tree

Given the roots of two binary trees root and subRoot, return true if there is a subtree of root with the same structure and node values of subRoot and false otherwise.

A subtree of a binary tree tree is a tree that consists of a node in tree and all of this node's descendants. The tree tree could also be considered as a subtree of itself.

进一步了解 »
zh_CN简体中文