首页 文章 精选 留言 我的

精选列表

搜索[副语言],共10000篇文章
优秀的个人博客,低调大师

gRPC 1.45.0 发布,跨语言 RPC 框架

gRPC 是可以在任何环境中运行的现代开源高性能 RPC 框架,目前,gRPC Core发布 v1.45.0 版本,更新内容如下: Core 将“在 XDS 错误更新 ( #29014 ) 中包含 ADS 流错误”向后移植到 1.45.x。(#29121) 将核心版本升级到 23.0.0 ,以用于即将发布的版本。( #29026 ) 修复 HTTP 请求安全握手取消中的内存泄漏。(#28971) CompositeChannelCredentials:比较器实现。( #28902 ) 删除自定义 iomgr。( #28816 ) 实施透明重试(transparent retries)。( #28548 ) 唯一化通道 args 键。( #28799 ) 在生成假状态时为 recv_initial_metadata 操作设置 trailing_metadata_available。(#28827) 消除 gRPC 不安全的构建。(#25586) 修复了一个活泼的 WorkSerializer 中止问题。(#28769) InsecureCredentials:单例对象。( #28777 ) 添加 http 取消 api。(#28354) grpc_tcp_create() 中的 Windows 内存泄漏修复。(#27457) xDS:Rbac 过滤器更新。( #28568 ) C++ 将最小 gcc 版本提高到 5。(#28786) 为 gRPC C++ TlsCredentials 添加用于 CRL 检查支持的实验性 API。( #28407 ) C# [C#] 向流接口添加取消令牌重载。( #27886 ) [C#] Grpc.Core.Api 可空修复。( #28616 ) Objective-C 修补 GRPCCallOptions ,以使用 nonatomic 属性。(#28972) Python 重新实现 Gevent 集成。( #28276 ) 支持 x64 和 x86 上的 musllinux 二进制。( #28092 ) 将 Python protobuf 要求增加到 >=3.12.0。( #28604 ) 更新公告:https://github.com/grpc/grpc/releases/tag/v1.45.0

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

gRPC 1.44.0 发布,跨语言 RPC 框架

gRPC 是可以在任何环境中运行的现代开源高性能 RPC 框架。gRPC 1.44.0 现已发布,具体更新内容如下: Core xDS:Rbac filter 更新 (#28568)。(#28608) 修复 xDS 客户端的 multiple watchers。(#28521) 为即将发布的增加 C-core 版本。(#28527) 添加追踪功能,以列出 channel stack 中包含哪些过滤器。(#28530) 删除 grpc_httpcli_context。(#27867) xDS:添加对 RBAC HTTP 过滤器的支持。(#28309) 取消 grpc_resolve_address 的 API。(#27883) 在 c-res 解析器中用 mutex 替换 work serializer。(#27858) xDS:在 listenerresource 更新时为旧连接添加正常关闭。(#28154) C++ 将 ClientContext::set_wait_for_ready 提升为非实验性的。(#28247) C# 仅在实际需要时应用“singleplatform” nuget 后缀。(#28677) [C#] 将 ConfigureAwait 添加到 AsyncUnaryCall 和 AsyncClientStreamingCall。(#28235) Python 使用生成器为 hellostreamingworld 添加 python 异步示例。(#27343) 禁用Python 构建中的__wrap_memcpy hack。(#28410) 将 Bazel Python Cython 依赖项提高到 0.29.26。(#28398) 修复 Raspberry Pi OS Bullseye 上的 libatomic 链接。(#28041) 允许在 py_proto_library 的远程存储库中生成 proto sources。(#28103) Ruby 删除 ruby​​ 2.4 支持。(#28522) 添加一个 env var 以覆盖 ruby​​ build 中的 make parallelism。(#28250) 更新说明:https://github.com/grpc/grpc/releases/tag/v1.44.0

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

gRPC 1.43.0 发布,跨语言 RPC 框架

gRPC 是可以在任何环境中运行的现代开源高性能 RPC 框架,gRPC Core发布 v1.43.0 版本,更新内容如下: Core 移除 c-ares windows 代码中冗余工作序列化器(edundant work serializer)的使用。(#28016) 支持服务器端RDS更新。(#27851) 在 XdsClient 中使用 WorkSerializer ,以同步方式传播更新。(#27975) 支持 TlsCredentials 中的自定义握手后验证。(#25631) 重新引入 EventEngine 默认 factory 。(#27920) Android API >= v21 的断言(#27943) 支持抽象 unix 域套接字。(#27906) C++ OpenCensus:将元数据存储移动到 arena。(#27948) C# [C#] 为 Grpc.Core.Api 添加可为 null 的类型属性。(#27887) Objective-C 将之前的还原“[objc] GRPCMetadataDictionary 中简化的类型定义”(#27877)还原了,也就是说此功能现在再度不可用。(#27882) Python [Aio] 验证 set_trailing_metadata 的输入类型并中止。(#27958) 更新公告:https://github.com/grpc/grpc/releases/tag/v1.43.0

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

[日常] Go语言圣经-可变参数习题

1.参数数量可变的函数称为为可变参数函数,例子就是fmt.Printf和类似函数2.参数列表的最后一个参数类型之前加上省略符号“...”3.虽然在可变参数函数内部,...int 型参数的行为看起来很像切片类型,但实际上,可变参数函数和以切片作为参数的函数是不同的 类型不同:fmt.Printf("%T\n", f)4.函数名的后缀f是一种通用的命名规范,代表该可变参数函数可以接收Printf风格的格式化字符串5.interfac{}表示函数的最后一个参数可以接收任意类型 练习5.15: 编写类似sum的可变参数函数max和min。考虑不传参时,max和min该如何处理,再编写至少接收1个参数的版本。练习5.16:编写多参数版本的strings.Join。 练习5.17:编写多参数版本的ElementsByTagName,函数接收一个HTML结点树以及任意数量的标签名,返回与这些标签名匹配的所有元素。下面给出了2个例子: func ElementsByTagName(doc *html.Node, name...string) []*html.Nodeimages := ElementsByTagName(doc, "img")headings := ElementsByTagName(doc, "h1", "h2", "h3", "h4") package main import ( "fmt" "golang.org/x/net/html" "net/http" ) func main() { fmt.Println(max(1, 2, 3, 4, 2)) fmt.Println(max()) fmt.Println(join("-", "hello", "tsh", "hi")) resp, _ := http.Get("http://mail.sina.net") doc, _ := html.Parse(resp.Body) resp.Body.Close() tNodes := ElementsByTagName(doc, "p", "a") for _, v := range tNodes { ForEachNode(v) fmt.Println("------------------------") } } /* 练习5.15: 编写类似sum的可变参数函数max和min。考虑不传参时,max和min该如何处理,再编写至少接收1个参数的版本。 */ func max(vals ...int) (int, error) { var m int num := len(vals) if num == 0 { return 0, fmt.Errorf("max: %s", "至少传递一个参数") } for _, v := range vals { if m < v { m = v } } return m, nil } /* 练习5.16:编写多参数版本的strings.Join。 */ func join(sep string, strs ...string) (string, error) { var res string var num = len(strs) if num == 0 { return "", fmt.Errorf("join: %s", "至少传递一个参数") } for i, v := range strs { if i == (num - 1) { res += v } else { res += v + sep } } return res, nil } /* 练习5.17:编写多参数版本的ElementsByTagName,函数接收一个HTML结点树以及任意数量的标签名,返回与这些标签名匹配的所有元素。下面给出了2个例子: */ var nodes []*html.Node func ElementsByTagName(n *html.Node, names ...string) []*html.Node { newNode := n for _, name := range names { if n.Type == html.ElementNode && n.Data == name { nodes = append(nodes, newNode) } } for c := n.FirstChild; c != nil; c = c.NextSibling { //可变参数传参特点 ElementsByTagName(c, names...) } return nodes } func ForEachNode(n *html.Node) { fmt.Println(n.Data) for c := n.FirstChild; c != nil; c = c.NextSibling { ForEachNode(c) } }

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

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部分的功能。

用户登录
用户注册