本文探讨了LLM在处理大批量数据时面临的前后不一致性、幻觉问题、上下文溢出和无状态性等挑战,并提出了LLM与外部工具结合、使用索引系统管理数据、采用工作流模式等解决方案。
环境123node: v20.11.0npm: 10.2.4next: 14.1.0
初始化应用1npx create-next-app
客户端渲染
客户端渲染要求自身及子组件都是客户端渲染,即都需要上声明 'use client'
state 触发整个 DOM 重新渲染,所以使用必须是客户端渲染
客户端重新渲染,页面内容也要更新,所以描述页面的 DOM 也被当作客户端渲染组件,也需要声明 'use client'; 所以该组件不能以 children 组件传入。
理解了客户端渲染的方式,就可以很容易的实现分页了。
实现123456789101112...
构建一个DAPP的demo
参考How To Build A Blockchain App with Ethereum, Web3.js & Solidity Smart Contracts
本篇是关于多租户应用与架构设计关注点的一些自己的思考。本篇强调多租户本质是支持共享与隔离。同时提到应用架构可能的形式以及多租户集成的设计。核心的关注点强调了对业务未来长期的判断决定了隔离粒度,最终决定了业务应用的产品架构与技术架构设计。 本篇更多是提供一些启发,供商业规划、业务负责人、技术解决方案提供方在做多租户集成时,进行参考。本篇不作为多租户服务提供者的设计建议。
什么是多租户多租户是一种实现资源共享与隔离的架构。
一、共享用户不可直接触达的资源必然是共享。
共享是为降本增效,最重要还是为了增效。
计算资源有效运行时间
存储空间有效利用
降低应用维护、多集群维护、观测系统搭建、...
基于 internal 规划工程目录Go internal package design介绍了设计的原因
Go encourages structuring a program as a collection of packages interacting using exported APIs. However, all packages can be imported. This creates a tension when implementing a library or command: it may grow large enough to structure as mul...
git-rebase使用 git pull 的时候,要加上 --rebase,减少merge,保持 log 整洁
参考git rebase
在调研中,持续更新本篇 …
架构
Tracing核心概念此处只介绍使用中会遇到的概念,具体细节请查阅文档
API
TracerProvider 提供访问 Tracer 的入口。作为一个池子放置和管理 Tracers
Span Exporter 定义一系列接口,执行 telemetry data 的序列化与反序列化,以将数据提交到不同的 backend。
应用
Tracing根据其架构设计,所有的应用都可以实现为:
定义 Resource
创建 Provider
设置全局 Provider (option)
设置 Exporter (option)
server 中使用 Traci...
DDD 关键概念Domain 中的概念Context一个Domain独占一个Context。在Context中完成下述的一系列逻辑。在应用DDD中,最难的一步是,划定Context。将不同Domain的边界准确的描述清楚,对于抽象能力、业务理解准确性与未来预期的判断能力要求极高。边界划定的不好,也将难以保障内聚与耦合的合理性。
Aggregate、Entity、Value Object将三者放在一起,是因为三者是一个包含关系,并对上层提供引用。在这些model中,会提供独占的attribute以及对应的对attribute的访问方法。
Service对于一些无法由一个model完成执行的...
MVC与DDD比较(2022.05.23)MVC与DDD其实并不是对立的。在MVC中,我们会在controller中执行一些校验逻辑,包含可能的鉴权、参数校验等。我们也会在view里面实现service,包含各种validator与serializer以及data transfer。
DDD拆解并丰富了MVC中的M,将一些在V中执行的逻辑迁移到M中,由domain model执行model内的业务处理,同时将DTO从M中剥离出来放到infrastructure中,借由其他的设计模式如repository或者CQRS等进行处理。
同时,DDD中依然会有一些业务操作无法在model中完成,这...
commit message format提交格式12345<type>(<scope>): <subject><BLANK LINE><body><BLANK LINE><footer>
type
build:对构建系统或者外部依赖项进行了修改
ci:对CI配置文件或脚本进行了修改
feature:增加新的特征,一般指的是大的变更
func: 增加新的功能,一般指小的功能
fix:修复bug
impr: improvement,小的代码设计改进
conf: 仅配置变化,Spring配置、propert...