首页 文章 精选 留言 我的

精选列表

搜索[高性能全文搜索引擎],共10000篇文章
优秀的个人博客,低调大师

【Spark Summit East 2017】使用Spark和Elasticsearch构建数据集搜索引擎

更多精彩内容参见云栖社区大数据频道https://yq.aliyun.com/big-data;此外,通过Maxcompute及其配套产品,低廉的大数据分析仅需几步,详情访问https://www.aliyun.com/product/odps。 本讲义出自Oscar Castaneda Villagran在Spark Summit East 2017上的演讲,主要介绍了利用内置了Elasticsearch的Spark集群使得在集群中的驱动节点上运行嵌入式Elasticsearch实例成为了可能,这就为开发更为先进的应用程序奠定了基础,其中一个应用就是数据集搜索。

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

高性能日志库 go-logger 2.0.5 发布

前言: go-logger 是一个轻量级的日志库,提供了灵活的日志记录功能与文件备份功能,方便在应用程序中灵活地操作日志。 go-logger特点 日志级别设置:允许动态调整日志级别,以便在不同环境下控制日志的详细程度。 格式化输出:支持自定义日志的输出格式,包括时间戳、日志级别、日志位置 等元素。 文件数回滚:支持按照日志文件数自动文件回滚,并防止文件数过多。 文件压缩:支持压缩归档日志文件。 支持标准库log/slog日志文件管理:支持标准库文件切割,压缩等功能。 go-logger的使用文档 go-logger源码 go-logger v2.0.5更新内容 增加formatter参数 增加Option参数 说明: 通过formatter设置,可以自由修改输出的日志格式,添加自定义的日志标识 如,默认日志输出: [Debug]2024/06/05 11:07:22 logging_test.go:24 this is default logging 通过修改formatter,相同的日志内容可以修改为类似如下的形式输出 this is default logging 2024/06/05 11:07:22 logging_test.go:24[Debug] this is default logging [Debug] 2024/06/05 11:07:22 logging_test.go:24 [Debug]2024/06/05 11:07:22 logging_test.go:24 >>>>>>> this is default logging 通过设置Option参数,可以设置logger的所有参数,同时建议通过Option统一设置logger的系列参数,通过该方式设置更加易于维护。 Option对象包含了日志级别,控制台日志,日志格式,输出格式formatter, 日志文件对象等参数。 formatter使用说明 设置日志标识输出格式SetFormatter SetFormatter("{level} {time} {file}:{message}\n") 默认格式:"{level} {time} {file}:{message}\n" {level} 日志级别信息:如 [Debug],[Info],[Warn],[Error],[Fatal] {time} 日志时间信息 {file} 文件位置行号信息 {message} 日志内容 说明:除了关键标识 {message} {time} {file} {level} 外,其他内容原样输出,如 | , 空格,换行 等 示例1: SetFormatter("{message} | {level} {time} {file}\n") Debug("11111111111111") 执行结果: 11111111111111|[Debug] 2024/06/05 11:07:22 logging_test.go:24 示例2 SetFormatter("{level}{time} {file} >>>> {message}\n") Debug("2222222222222") 执行结果: [Debug]2024/06/05 11:08:12 logging_test.go:24 >>>> 2222222222222 Option使用说明 建议通过option参数设置log的所有参数,更加易于维护 Level :日志级别 Console :控制台打印 Format :日志格式,默认:FORMAT_LEVELFLAG | FORMAT_SHORTFILENAME | FORMAT_DATE | FORMAT_TIME Formatter :日志输出 默认:"{level} {time} {file}:{mesaage}\n" FileOption :日志文件接口参数 FileOption介绍 FileOption为接口,有FileSizeMode与FileTimeMode两个实现对象 FileTimeMode对象 Filename 日志文件路径 Timemode 按小时,天,月份:MODE_HOUR,MODE_DAY,MODE_MONTH Maxbuckup 最多备份日志文件数 IsCompress 备份文件是否压缩 FileSizeMode对象 Filename 日志文件路径 Maxsize 日志文件大小的最大值,超过则滚动备份 Maxbuckup 最多备份日志文件数 IsCompress 备份文件是否压缩 SetOption示例1 SetOption(&Option{Level: LEVEL_DEBUG, Console: false, FileOption: &FileTimeMode{Filename: "/usr/log/testlogtime.log", Maxbuckup: 10, IsCompress: true, Timemode: MODE_DAY}}) 说明:以上option对象设置日志级别:LEVEL_DEBUG,控制台日志关闭,设置写日志文件,并按天(MODE_DAY)备份日志文件,保持最多10个备份文件,压缩切割的备份文件 SetOption示例2 SetOption(&Option{Level: LEVEL_DEBUG, Console: false, FileOption: &FileSizeMode{Filename: "testlog.log", Maxsize: 1<<30, Maxbuckup: 10, IsCompress: true}}) 说明:以上option对象设置日志级别:LEVEL_DEBUG,控制台日志关闭,设置写日志文件,并按大小为 1G 切割日志文件,保持最多10个备份文件,压缩切割的备份文件

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

Meta 开源 Rust 编写的高性能构建系统

看来最近 Meta 的工程师是一点都没有闲着,前两天刚开源 AI 图像分割模型,这不就又发布了名为 Buck2 的开源构建系统。 Buck2 是一个已经在 Meta 内部使用了一段时间的大型构建系统,目前 Meta 有数千名开发人员正在使用该构建系统,每天执行数百万次的构建。在 Meta 的内部测试中,Buck2 完成构建的速度是 Buck1 的 2 倍。 虽然 Buck2 跟 Buck1 使用了相同的名称,也是 Buck1 构建系统的继任者,但前者并不是后者简单的升级版,Buck2 用 Rust 完全重写(Buck1 用的 Java),目标是使构建速度更快、更有效。 正因如此,Buck2 有一个单独的 GitHub 仓库和单独的官方网站,为的就是跟 Buck1 进行区分。 我们自己的内部分析表明,当 Buck2 执行构建时,工程师能够生成更多有意义的代码,我们希望更广泛的行业也能从中受益。 Buck2 的设计基于以下原则: 完全分离了核心规则和特定于语言的规则,将语言规则从核心中分离出来意味着规则更容易改变和理解。Buck2 的核心是用 Rust 编写的,它的语言规则(比如如何构建 C++)是用 Starlark 编写的。这种分离与 Buck1(所有规则都写在核心中)和 Bazel(C++/Java 写在核心中)形成对比。 构建系统消除了许多类型的错误并增加了并行性。 规则 API 被设计为包含先进的性能特征,以及动态依赖特征。 开源版本与 Meta 的内部版本几乎相同,唯一替换掉的部分是工具链(指向 Meta 编译器的内部副本)和远程执行(指向 Meta 内部服务器) —— 两者都提供了开源替代品。还发布了与内部使用完全相同的所有规则。 Buck2 的编写是为了与远程执行相结合,能够在远程机器上运行操作,使用与 Bazel 相同的 API,并且一直在用 Buildbarn 和 EngFlow 测试远程执行。 Buck2 还可以与虚拟文件系统集成。 上述所有这些更改都是想要帮助工程师和开发者减少等待时间,将更多时间用于迭代他们的代码。 目前 Buck2 为以下这些语言附带了对应的规则:Assembly、C/C++、Erlang、Go、Haskell、Java、JavaScript、Julia、OCaml、Python 和 Rust。开发者可以使用 Starlark 脚本语言,向 Buck2 添加或重新实现语言规则。 项目地址:链接 官方网站:链接

资源下载

更多资源
Mario

Mario

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

Nacos

Nacos

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

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

用户登录
用户注册