以非阻塞方式执行一个函数 (blog.codingnow.com)
用过 skynet 的应该都碰到过:当我们在服务中不小心调用了一个长时间运行而不返回的 C 函数,会独占一个工作线程。同时,这个被阻塞的服务也无法处理新的消息。一旦这种情况发生,看似是无解的。我们通常认为,是设计问题导致了这种情况发生。skynet 的框架在监测到这种情况发生时,会输出 maybe in an endless loop 。

如果是 Lua 函数产生的死循环,可以通过发送 signal 打断正在运行运行的 Lua 虚拟机,但如果是陷入 C 函数中,只能事后追查 bug 了。

那么,如果我原本就预期一段 C 代码会运行很长时间,有没有可能从底层支持以非阻塞方式运行这段代码呢?即,在这段代码运行期间,该服务还可以接收并处理新的消息?
by @技术头条 2024-03-13 13:20 查看详情
基于 LLaMA 和 LangChain 实践本地 AI 知识库 (blog.yuanpei.me)
通用人工智能,即:AGI(Artificial General Intelligence)的实现,正在以肉眼可见的速度被缩短,以前在科幻电影中看到的种种场景,或许会比我们想象中来得更快一些。不过,等待 AGI 来临前的黑夜注定是漫长而孤寂的。在此期间,我们继续来探索 AI 应用落地的最佳实践,即:在成功部署本地 AI 大模型后,如何通过外挂知识库的方式为其 “注入” 新的知识。
by @技术头条 2024-03-13 13:12 查看详情
竞业协议的相关文章收集 (ixyzero.com)
在国内互联网行业,竞业协议已经有点被滥用了——因为依据《劳动合同法》只有高级管理人员、高级技术人员和其他负有保密义务的人员才可被列于竞业限制的对象;但是现在,全员竞业,入职时就要求签署,不签没法入职。

为了给自己一点保障,多学习一点知识,所以简单整理一下竞业协议的简单内容,方便查阅和参考。
by @技术头条 2024-03-12 22:58 查看详情
防止数据泄露的高效策略-翻译整理 (ixyzero.com)
简单来说,就是数据安全左移,在每一个阶段都做卡点和检测,提高入侵/获取敏感数据的成本,减少后续阶段的日志告警量,提高告警检测准确率,利用自动化工具/平台提高响应的速度和效率。
未授权不可访问;有账号凭证要检测是否正常(常用设备、常用网络、常见时间、常见操作行为、……);有账号也仅知其所需最小权限;梳理出的高权限账号的敏感操作进行重点关注。
数据尽量不落地,大部分操作在线即可完成,系统埋点要全面和准确;对于数据下载和外发格外关注,下载设备的DLP的健康状态和策略的有效性需要及时检查。
by @技术头条 2024-03-12 22:56 查看详情
带你认识本地大模型框架Ollama(可直接上手) (wiki.eryajf.net)
自 OpenAI 公司于2022 年 11 月 30 日发布 ChatGPT 以来,经过 23 年一整年的发展之后,大模型的概念已逐渐普及,各种基于大模型的周边产品,以及集成层出不穷,可以说已经玩出花来了。在这个过程中,也有不少本地化的模型应用方案冒了出来,针对一些企业知识库问答的场景中,模型本地化是第一优先考虑的问题,因此如何在本地把模型调教的更加智能,就是一个非常重要的技能了。在 23 年的时候,我也接触过一些本地模型的开源项目(比如 LocalAI),当时在本地部署跑起来之后,发现交互的体验,回答的速度,以及智能程度,都远低于预期。最近又一次了解本地模型的玩法,从微信群里了解到了 ollama,经过几天业余时间的研究及了解,发现现在模型本地化的玩法,以及能力都早已不可同日而语,本文,将记录我这几天来对于 ollama 的粗浅认识以及快速入门玩起来。
by @技术头条 2024-03-12 22:53 查看详情
网络空间指纹:新型网络犯罪研判的关键路径 (paper.seebug.org)
网络空间指纹是对涉案网络资产所表现的数字痕迹和服务特征的收集和分析,类似于传统刑事科学的指纹概念,每个网络犯罪活动站点都会在网络空间留下独特的特征。本文将重点介绍网络空间指纹的形成和采集方法,以及其在网络犯罪研判中的应用实践。同时,我们将通过实际案例分析,验证网络空间指纹在研判网络犯罪行为中的可行性和有效性。
by @技术头条 2024-03-12 22:52 查看详情
通过漫游交换进行隐蔽访问的新型后门 GTPDOOR 分析 (paper.seebug.org)
GTPDOOR 是一种基于 Linux 的恶意软件,旨在部署在邻近 GRX(GPRS 交换网络)的电信网络系统中,具有通过GTP-C(GPRS 隧道协议- 控制平面)信令消息传递 C2 流量的功能。这使得 C2 流量能够与正常流量混合,并重新利用可能对 GRX 网络开放且暴露的已允许端口。
by @技术头条 2024-03-12 22:49 查看详情
slog 终极指南 (colobu.com)
在本文中,我们将探讨 Go 中的结构化日志记录,并特别关注这最近推出的 log/slog 软件包, 这个软件包旨在为 Go 带来高性能、结构化和分级的日志记录标准库。

该软件包起源于由 Jonathan Amsterdam 发起的 GitHub 讨论, 后来专门建立了一个提案细化设计。一旦定稿,它在Go v1.21版本中发布。

在以下各节中,我将全面呈现slog的功能, 提供相应的例子。至于它和其它日志框架的性能比较,请参阅此 GitHub 日志框架 benchmark.
by @技术头条 2024-03-12 22:48 查看详情
一道面试题: Top K 问题 (colobu.com)
最近在招一个Go开发工程师,面试中时候我会问一个Top K的问题,这个问题是一个经典的面试题。
有时候我不会要求面试者写出答案,首先我听一下他的思想,如果写代码困难的话我都允许可以上网查标准库的文档,看看heap的用法。
相对来说比Redis的作者antirez的面试要轻松些了,他的面试题是要求面试者写出一个二叉搜索树。

这道题既然是经典题,很很多教科书或者算法网站上都有,比如leetcode也有,收录在Leetcode 算法题解精选一书中。
by @技术头条 2024-03-12 22:47 查看详情
十亿行的挑战 (colobu.com)
国外的程序员休完他们的假期之后在玩什么?他们在玩十亿行的代码挑战。

工程师贡纳尔·莫林在元旦发起一个挑战(1BRC),挑战从 1 月 1 日持续到 1 月 31 日。
如果你决定接受它,你的任务看似简单: 编写一个 Java 程序,用于从文本文件中检索温度测量值并计算每个气象站的最小、平均值和最高温度。只有一点需要注意:文件有 1,000,000,000 行!(1 billion, 10亿行)。
by @技术头条 2024-03-12 22:46 查看详情
将S端目录mount到C端文件系统中 (blog.nsfocus.net)
S、C两台Linux。想在S端执行一个静态ELF,并在C端执行与之配合的程序,将S端指定目录mount到C端文件系统中,使得C端可以只读方式访问mount点。有点类似NFS的需求,但S端比较特殊,不考虑NFS Server在S端布署成功的可能。希望是一批静态ELF在S端执行,对权限控制、写操作无要求。

网上求助后,若干网友提及几种备选方案,包括但不限于sshfs、rclone、dufs。其中sshfs依赖S端sftp服务可用,目标环境S端不满足此要求,但本文记录了sshfs的常规用法。作为WebDAV服务端,dufs比rclone小巧许多,只有3.6MB。作为客户端,rclone支持多种协议,不确认dufs能否用作客户端,本文WebDAV客户端统一用rclone或Windows。本文简单演示了对权限控制、写操作的支持。
by @技术头条 2024-03-12 22:46 查看详情
基于接口数据变异的App健壮性测试实践 (tech.meituan.com)
本文主要介绍了对网络返回数据进行变异的客户端健壮性测试实践经验。文章第一部分介绍客户端健壮性测试的基本概念;第二部分分享了基于接口返回数据变异的App健壮性测试方案设计的思路;第三部分主要解读了变异数据的构造和异常检测方案设计;第四部分介绍了精简变异数据的探索方案。
by @技术头条 2024-03-12 22:45 查看详情
为 log 实现的无锁 Ringbuffer (blog.codingnow.com)
这两天在改 log 模块。我们需要一个并发写 log 的模块,它有多个 log 生产者一个消费者,这个唯一的消费者在 log 线程中把 log 数据持久化。

大多数 log 生产者是在第三方库的 callback 函数中调用的,比如 bgfx ,如果写 log 不够快的话,就会阻塞渲染。这个 callback 需要自己保证线程安全。因为 bgfx 支持多线程渲染,所以写 log 的 callback 可能在不同的线程触发。

过去在实现 bgfx 的 luabinding 时,我实现了一个简单的 mpsc 队列,get_log 这个函数就是那个单一消费者,它取出队列中所有的 log 信息,返回到 lua 虚拟机中。

它是用 spin_lock 实现的。这两天,我想应该可以实现一个更通用的无锁版本。

在我的需求中,log 信息是允许丢掉的。所以我开了一个固定大小的 ri
by @技术头条 2024-03-12 22:45 查看详情
备份小故事一则 (blog.delphij.net)
做了自动化备份之后,时不时的就得试试看备份出来的数据是不是真的能恢复成希望的样子。
by @技术头条 2024-03-12 22:43 查看详情
ikbc C87 机械键盘有线改蓝牙小结 (mazhuang.org)
前一阵把家里的 Filco 圣手二代机械键盘单模改三模后,体验挺不错,想着改装的工具买了只用一回也比较浪费,顺手把放公司用的 ikbc C87 也改了吧。
by @技术头条 2024-03-12 22:42 查看详情
浅浅的调教一下国产智障电视 (www.iots.vip)
  双十一给家里买了台电视——酷开M85(创维的子品牌),作为典型的国产品牌“智能电视”,本土特色自然少不了,包括但不限于各种广告满天飞、无法安装第三方应用、后台自动热更新越更越卡等。恰好年前回家早,浅浅的调教折腾一下它。
by @技术头条 2024-03-12 22:41 查看详情
分布式因果推断在美团履约平台的探索与实践 (tech.meituan.com)
美团履约平台技术部在因果推断领域持续的探索和实践中,自研了一系列分布式的工具。本文重点介绍了分布式因果树算法的实现,并系统地阐述如何设计实现一种分布式因果树算法,以及因果效应评估方面qini_curve/qini_score的不足与应对技巧。希望能为从事因果推断相关工作的同学们提供一些启发或帮助。
by @技术头条 2024-03-12 22:39 查看详情
HTML MicroData微数据结构简介 (www.zhangxinxu.com)
MicroData微数据相关的知识适用于对SEO非常重视的产品,且主要针对谷歌、微软、雅虎等国外的搜索引擎,适用场景较为小众,因此,本文内容大致了解下即可。

所谓微数据,就是在原有的HTML元素基础上,通过设置若干专门给机器识别的HTML属性,让搜索引擎可以更好地理解这一块的数据。在具体展开介绍之前,有必要先介绍https://schema.org/这个网站,准确说这是一个开源协作的社区组织,由谷歌、微软、雅虎和Yandex创建,致力于在互联网、网页、电子邮件等平台上创建、维护和推广结构化数据的模式。
by @技术头条 2024-03-12 22:39 查看详情
关于私域的思考 (blog.devtang.com)
最近思考了一下私域渠道,以下为自己的总结,分享给大家。

私域是指将用户以微信群,或特定分销 App(快团团、万物心选、蜂享家、京粉等)的方式来组织的渠道。
by @技术头条 2024-03-12 22:38 查看详情
用 tar 备份 linux (ouonline.net)
像我这种把 debian 当做 arch 来用的人,把系统搞挂是常有的事,虽然备份和恢复的步骤不复杂,还是想记录一下。
by @技术头条 2024-03-12 22:35 查看详情