首页 文章 精选 留言 我的

精选列表

搜索[响应式服务],共10000篇文章
优秀的个人博客,低调大师

微软为 Windows 11 记事本添加“流式响应”效果

微软正在为 Windows 11 的记事本(Notepad)加入一系列新特性,让这款传统的轻量级文本工具变得更加“AI 化”。 最新版本中,记事本新增了 Copilot 的文本生成功能,并支持 Streaming Results(实时流式输出) —— 当 AI 生成内容时,用户可以看到文本逐字出现,类似 ChatGPT 网页端的呈现方式。 除了 AI,记事本还开始支持 表格(Tables)。用户可通过工具栏按钮或 Markdown 插入、编辑表格,这让记事本在结构化文本处理方面更进一步。 此举被视为微软将 Windows 原生应用全面推向 AI 的最新动作,不过也引发部分用户担忧。记事本的更新方向被认为过于复杂化,有用户认为它正在失去“轻量、简洁”的传统定位。 但也有人欢迎这些增强功能,他们认为这些新增功能确实提升了记事本的实用性,使它在不需要启动全文处理器(如 Word)的情况下,也可以完成结构化文档、快速生成内容、整理笔记等功能。

优秀的个人博客,低调大师

在koa中想要优雅的发送响应?看这就对了

背景 前不久把项目中用了很久的一个伪中间件撸成了一个npm包发布了出去。为什么叫伪中间件?正常的中间件的引用方式, 就拿body-parser为例。 var Koa = require('koa'); var bodyParser = require('koa-bodyparser'); var app = new Koa(); app.use(bodyParser()); app.use(async ctx => { // the parsed body will store in ctx.request.body // if nothing was parsed, body will be an empty object {} ctx.body = ctx.request.body; }); 反观我撸的伪中间件的引用方式。 const response = require('../uitls/Response'); const data = {}; response.success(ctx, data); 为什么要这么干呢...纯粹是因为这个伪中间件与现有项目的耦合度太高了,为(就)了(是)方(懒)便在项目里面把这个伪中间件的引用方式从本地工具组件换成从node_modules里引用。例如这样。 const response = require('koa2-response'); const data = {}; response.success(ctx, data); 经过一番折腾,项目中的引用方式全部替换完了。然后我的学弟就看不下去了。。。提了一个pullrequest给我。把这个着实封装成了一个中间件 优化首先是改变了引用方式,之前的方式是直接导出了一个对象,这个对象有两个方法,分别是success和error。使用这种方式,就必须要在每个controller中都引用一次,如下。 const response = require('../utils/Response'); 优化之后,只需要在node的入口文件中做如下操作就好 const koa = require('koa'); const app = new koa(); const router = require('koa-router')(); const response = require('koa2-response'); const code = { UNKNOWN_ERROR: [1, 'Sorry, you seem to have encountered some unknown errors.'] } router .get('/', (ctx, next) => { ctx.success({ name: 'test' }) }) .get('/error_test', (ctx, next) => { ctx.error(code.UNKNOWN_ERROR); }) app.use(router.routes()); app.use(router.allowedMethods()); app.listen(3000); console.log(`Server is running on port 3000`); 对比两种方式可能有有些疑问,第一种方式,需要传入ctx,而改良之后的方式没有了ctx。那是因为在中间件中做了如下处理。 const { success, error } = require('./util'); module.exports = async (ctx, next) => { ctx.success = success.bind(null, ctx); ctx.error = error.bind(null, ctx); await next(); } 这样一来,koa的上下文ctx就会被当作ctx.success的默认第一个参数。针对不同模块的controller,不需要再去单独引用一次依赖包,可以直接通过ctx对中间件进行调用。相对于最初的版本,这样大大的提高了开发的效率。 写在后面 对于这个,还是有些顾虑。如果koa之后更新的时候,也出现了success和error的方法,再引入这个包,就会覆盖掉koa方法。不知道会不会带来什么问题。Pull Request地址 Github传送门 个人博客传送门

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册