上次在云函数里面整了一个嵌入式的SQL数据库以后爽的连云开发数据库都不想用了。不过有的时候还是需要用到kv存储,那能不能也serverless一把呢?level就是一个还不错的选择。...以后小应用就可以纯云函数实现小规模提供服务了,小并发的时候性能甚至可能比云数据库服务更好。规模上去的时候再更换存储方案大部分主要的逻辑也能沿用。 facebook的rocksDB 是另一个选择。...它和sqlite一样使用了node-gyp本地构建的方式,让人期待了一下它会不会有更好的性能表现。...,可能使用的姿势还不大对?...还有一些更简单的jsonDB类小玩具,比如lowdb(这个是pure ESM 包,引用的时候要注意一下),jsondb,simple-json-db等,使用简单又各有特色,小数据量玩玩应该都不错。
文章目录 apply()函数 介绍 样例 性能比较 apply() 数据聚合agg() 数据转换transform() applymap() 将自己定义的或其他库的函数应用于Pandas对象,有以下...这个函数需要自己实现,函数的传入参数根据axis来定,比如axis = 1,就会把一行数据作为Series的数据 结构传入给自己实现的函数中,我们在函数中实现对Series不同属性之间的计算,返回一个结果...agg() 数据聚合agg()指任何能够从数组产生标量值的过程; 相当于apply()的特例,可以对pandas对象进行逐行或逐列的处理; 能使用agg()的地方,基本上都可以使用apply()代替。...transform() 特点:使用一个函数后,返回相同大小的Pandas对象 与数据聚合agg()的区别: 数据聚合agg()返回的是对组内全量数据的缩减过程; 数据转换transform()返回的是一个新的全量数据...,将返回于原始DataFrame大小不同的DataFrame,返回结果中: 在列索引上第一级别是原始列名 在第二级别上是转换的函数名 >>> df.transform([lambda x:x-x.mean
本文探索使用 BPF 改变运行中的程序的函数参数,挖掘 BPF 的黑魔法。...这是我们的 BPF 程序,尝试修改函数参数为字符串 You are hacked!...bpf_probe_write_user 修改用户内存空间的内容,此操作存在风险,因此每当带有此函数的 BPF 程序被加载时,从 dmesg 中都可以看到如下日志: tracer[609901] is...在第二个终端再启动 BPF 程序: $ sudo ./tracer /path/to/tracee 'main.greet' 此时再看看示例程序的输出: $ ....结论 本文探索使用 BPF 修改执行中的 Go 程序的函数参数, 由于 Golang 的 ABI 是使用栈来传递函数参数,通过读取栈上的指针地址,使用 bpf_probe_write_user 修改对应地址的内存内容来达成修改函数参数的目的
直到偶然间看到阮一峰大佬的博客介绍到 FinClip 可以支持在移动端和桌面端(Windows、Linux和 macOS)运行小程序,那就随便上手试试。图片说干就干!...看官方的介绍 SDK 主要包括应用交互层、安全防护、网络通信控制和安全运行容器四个组件。应用交互层:应用交互层是为了实现业务应用打开,完成和监管部门指定机构运营平台的数据交互、感知上报。...安全防护:安全防护组件提供安全保护,检测运行时环境是否安全,如检测到被动态调试则退出业务,防止数据或业务逻辑被恶意破解。...图片细细想下,这样标准容器化的好处,可以保证在开发语言环境存在差异下,“套壳子的小程序”能独立运行的同时,也可以与“其他套壳子的小程序”联动使用。...以下是我桌面端实际运行小程序的结果。图片如果做一定适配优化,小程序的展示尺寸还可以适配打开窗口大小,效果也不错。
`TYPE_FLAG` = 1 或者 SUPPLIER_CLASS=1 实现有两种: 一、使用IF函数 SELECT temp.* FROM (SELECT tp1....SUPPLIER_CLASS`) AS temp WHERE 1 = 1 #AND temp.supplierType = 0 AND temp.supplierClass = 1; 二、使用
在云函数中使用真正serverless的SQL数据库sqlitecloud.tencent.com/developer/article/1984526之前在云函数里一直调用云开发数据库,虽然延迟有点不稳定也忍了...最近有一个需求连续对数据库进行一系列的操作,云开发数据库的性能抖动一下就被放大了,函数经常性的运行超时,这就不能忍了,因为数据量本来也不算大,动起了用nodejs的嵌入式数据库的歪心思。...测试sqlite3,它通过node-gyp本地构建依赖了一些基于本地运行环境的c的模块,并且它还需要通过v3或者v6的node-API来访问它们,而腾讯云的云函数运行环境只能支持v3的node-api接口...,5.0.3以上的版本需要用node11或者node8的环境来构建层才能让层使用v3的版本,不过就算这样也没用,5.0.3和更高的版本上需要的libm.so.6 和 libstdc++.so.6版本都超过了云函数运行环境的版本...当然也可以两个办法一起上,读写分离并且把写请求都交给同一个单实例多并发的云函数。根据这篇文章里的测试,sqlite对很大的数据量似乎也能有不错的性能。看来如果恰当优化一下的话数据量大一点也不是问题。
之前在云函数里一直调用云开发数据库,虽然延迟有点不稳定也忍了。...最近有一个需求连续对数据库进行一系列的操作,云开发数据库的性能抖动一下就被放大了,函数经常性的运行超时,这就不能忍了,因为数据量本来也不算大,动起了用nodejs的嵌入式数据库的歪心思。...测试sqlite3,它通过node-gyp本地构建依赖了一些基于本地运行环境的c的模块,并且它还需要通过v3或者v6的node-API来访问它们,而腾讯云的云函数运行环境只能支持v3的node-api接口...,5.0.3以上的版本需要用node11或者node8的环境来构建层才能让层使用v3的版本,不过就算这样也没用,5.0.3和更高的版本上需要的libm.so.6 和 libstdc++.so.6版本都超过了云函数运行环境的版本...当然也可以两个办法一起上,读写分离并且把写请求都交给同一个单实例多并发的云函数。 根据这篇文章里的测试,sqlite对很大的数据量似乎也能有不错的性能。看来如果恰当优化一下的话数据量大一点也不是问题。
如何准备数据、拿到正确格式的数据并导入后续的代码进行分析,是学习和应用过程中的第一个拦路虎。 为什么教程会习惯使用内置数据?...我不太赞成教程里面用使用内置数据,原因是: 对不会读入数据的人不友好; 不利于探索这篇教程用于实际数据时可能会遇到的问题。示例数据无脑运行,自己的数据无显著差异。...这套数据包含了30个物种在20个样品的丰度信息。...这里涉及到另外一个经常会被问起的问题: 我这一步操作需要提供原始数据,还是标准化之后的数据? 绝大多数情况下,我们需要提供的都是标准化之后的在不同样品之间可比的数据。...我们的教程问题,欢迎在http://www.ehbio.com/Esx发帖讨论;自己努力后,带着问题和思路的讨论更容易获得解答。 生物教程还是得使用生物数据!!!
Jetty 有一句口号,“不要把你的应用部署在Jetty上,把Jetty部署在你的应用上”,这意味着Jetty可以作为一个组件,来被你的Java程序像POJO一样初始化并使用。...也即,Jetty可以作为我的应用中一个HTTP模块被使用。...-------------------------------------------- 采用Jetty教程中的方法: 一、运行war包的时候 public class Test { public...(); webapp.setContextPath("/"); webapp.setWar(jetty_home+"/webapps/test.war");//war包的路径...server.setHandler(webapp); server.start(); server.join(); } } 二、在开发状态时 public
最近有一个用户反馈, 他使用 golang:1.13.1-alpine3.10 这个镜像来编译的可执行程序无法在云函数的环境运行, 报错信息如下: fork/exec /var/user/main: no...Go 程序链接出错的信息, 看起来也是在 Alpine Linux 下编译的, 有人回复道 Alpine Linux 使用的不是 glibc 啊哈, 终于有线索了, 写代码验证一下 package main...import "fmt" func main() { fmt.Println("hello world") } 在 CentOS 上编译后, 使用 ldd 查看一下程序依赖哪些 .so(也可以使用...(完整的出错信息可通过使用 Go 的 os/exec 包启动 main-alpine 获得) 解决方案 问题的原因在于云函数的运行环境(CentOS)提供的是 glibc, 而 Alpine Linux...因而使用 golang:1.13.1-alpine3.10 这个镜像编译出来的程序如果依赖于 musl libc, 则会在程序加载的时候找不到所需的动态库 解决问题的方法很简单, 只需将镜像换成 golang
Swagger问题:我希望我的Swagger在生产的时候使用,在发布的时候不使用 简介:本文讲解如何解决,我希望我的Swagger在生产的时候使用,在发布的时候不使用。...对于Swagger的讲解,看这篇文章:Swagger使用教程 ,在上面这一篇文章中也有我这个演示代码的下载地址。...解决方法 这里就涉及到的是,springboot里面的另外两种,配置文件的知识了,application-dev.properties,application-pro.properties。...application-dev.properties application-pro.properties 通过spring.profiles.active指定配置文件内容,这个可以在运维的时候设置...然后在代码层面上进行下面的修改,就饿可以完成了,只要是当前的配置的文件是application-dev.properties,就是开发环境,就可以正常显示。
大型语言模型(llm)正变得越来越流行,但是它需要很多的资源,尤其时GPU。在这篇文章中,我们将介绍如何使用Python中的llama.cpp库在高性能的cpu上运行llm。...虽然可以在直接在cpu上运行这些llm,但CPU的性能还无法满足现有的需求。而Georgi Gerganov最近的工作使llm在高性能cpu上运行成为可能。...这并没有为用户提供很大的灵活性,并且使用户很难利用大量的python库来构建应用程序。而最近LangChain的发展使得我可以可以在python中使用llama.cpp。...降低n_batch有助于加速多线程cpu上的文本生成。但是太少可能会导致文本生成明显恶化。 使用LLM生成文本 下面的代码编写了一个简单的包装器函数来使用LLM生成文本。...llama.cpp库和llama-cpp-python包为在cpu上高效运行llm提供了健壮的解决方案。如果您有兴趣将llm合并到您的应用程序中,我建议深入的研究一下这个包。
Fingerprintx可以跟类似Naabu这样的端口扫描工具一起使用,并对端口扫描过程中识别的一组端口进行指纹识别。...比如说,研究人员可能希望扫描一个IP地址范围,然后快速对在所有发现的端口上运行的服务进行指纹识别,那么Fingerprintx就可以派上用场了。 ...功能介绍 1、支持对暴露的服务执行快速指纹识别; 2、应用层服务发现; 3、可以与其他命令行工具结合使用; 4、支持从已识别的服务自动收集元数据; 支持的协议 服务 协议端口 服务 协议端口...、查看更多) 工具使用 下列命令将显示工具的完整帮助信息和支持的参数选项: fingerprintx -hUsage...or if you prefer $ fingerprintx -l input.txt http://praetorian.com:80 telnet://telehack.com:23 获取更多的元数据输出
首先简单介绍下 strpos 函数,strpos 函数是查找某个字符在字符串中的位置,这里需要明确这个函数的作用,这个函数得到的是位置。 如果存在,返回数字,否则返回的是 false。...而很多时候我们拿这个函数用来判断字符串中是否存在某个字符,一些同学使用的姿势是这样的 // 判断‘沈唁志博客’中是否存在‘博客’这个词 if (strpos('沈唁志博客', '博客')) {...沈唁志博客’中的第 0 个位置;而 0 在 if 中表示了 false,所以,如果用 strpos 来判断字符串中是否存在某个字符时 必须使用===false 必须使用===false 必须使用=...,是时候为智商讨个说法了,事实上输出的是’不存在’,细心的童鞋会发现这个 1 是不带引号的,strpos 的第二个参数必须是字符串型的,因此,如果你是在循环或者其他情况下调用的 strpos 函数,而且不确定第二个参数的类型...原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:在PHP中strpos函数的正确使用方式
最近重装系统次数有点多,密码找回有点崩溃,于是决定把密码加密一下放在云端数据库。 这样就算数据库被拖也不怕密码丢失了。..., `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL ) ; 创建插入函数...: 查看插入的数据: 创建查询函数 CREATE DEFINER=`root`@`%` PROCEDURE `QRY_PWD`(IN `srckey` VARCHAR(25)) BEGIN if srckey...`value`),IFNULL(srckey,t.sys)) AS `value` from `user_info` `t`; END 运行: 查询数据: 结果 可以插入的时候不选择加密参数 那么查询的时候也可以不用加密参数...,不过建议加密钥就算进入数据库,不知道密钥也解不开数据。
很多时候我们需要使用命令行进行一些操作,在 Mac 中有自带的终端(Terminal)可以使用,但功能比较简单,其他的一些工具也使用过不少,下面就简单介绍下我在 Mac 中用过的一些命令行工具。...使用也很方便,而且还支持中文,目前是我的主要 shell 工具,不过功能虽然强大我也只是用到了 ssh ,SFTP 我用的另一个工具 Transmit 。...刚用时很惊艳,但不太符合我的使用习惯。Warp 的 GitHub 地址为:https://github.com/warpdotdev/Warp 。...8、设置状态栏 在 iTerm2 的设置中启动状态栏: 点击 Configure Status Bar 按钮进行设置: 9、设置背景 iTerm2 可以设置背景和窗口透明、毛玻璃效果,我尝试后决定只设置一个背景比较好看...10、关闭单击选框 iTerm2 更新 3.5.0 版本后,点击窗口出现紫色框,如下图: 因为我设置了背景,这样选中后就变得非常难看,可以在设置中进行关闭: 11、设置右键粘贴 选中复制,右键粘贴这是我使用
> find ~ -group rumenz -print 查找~目录下所属者为rumenz的文件 > find ~ -user rumenz -print 查找属主账户已经被删除的文件,查找在/...-mtime -3 -print #查找更改时间在3天之内的文件 > find . -mtime -2 -print #查找更改时间在2天之前的文件 7、按大小查找文件 > find ....查找在/rumenz目录下除了src目录的其他文件 > find /rumenz -path "/rumenz/src" -prune -o -print 查找在/rumenz目录下除了src...-atime -2 找出距离此时两天之内的被访问的文件(距离现在的前48小时之内) find ....-atime +2 找出两天之前,不包括两天之前的一天(也就是不包括-2和2的)之前的被访问的文件(离此时72小时之前) 相关文章 linux中find命令的35个实际例子 Linux之find
结构体类型数据在函数之间的传递 函数之间不仅可以使用基本数据类型及其数组参数进行数据传递,也可以使用结构体类 型及其数组参数进行数据传递,传递方式与基本数据类型参数是相同的。...结构体变量在函数之间传递数据 使用结构体类型的変量作为参数进行函数之间的数据传递时,注意以下问题 (1)主调函数的实参和被调函数的形参是相同结构体类型声明的变量。...(2)实参结构体变量向形参结构体变量传值时,依然是单向值传递,实参和形参变量分配 不同的内存空间,被调函数运行期间对形参结构体变量进行的修改不影响实参结构体变量。...(3)结构体变量也可以作为函数的返回值,使用 return语句从被调函数返回一个结构体变 量的值。 例:定义结构体类型表示圆,定义函数计算一个圆的面积并返回结构体变量。...: 运行结果分析:从程序的运行结果可以看出,main函数中的实参c1把它的值传递给函数getarea的形参c,函数运行过程中计算并修改了c的成员area的值。
对应的统计结果如下: ? 在介绍之前,我还是想先说明一点,这一篇只是想先带大家体验一把Spark SQL,相关更多关于原理相关的知识,咱们会在后面的文章中详细介绍。...2、使用Spark SQL计算统计值 2.1 最大值、最小值 使用Spark SQL统计最大值或者最小值,首先使用agg函数对数据进行聚合,这个函数一般配合group by使用,不使用group by的话就相当于对所有的数据进行聚合...随后,直接使用max和min函数就可以,想要输出多个结果的话,中间用逗号分开,而使用as给聚合后的结果赋予一个列名,相当于sql中的as: import spark.implicits._ df.agg...需要注意的一点是,这里和hive sql是有区别的,在hive sql中,stddev函数代表的是总体标准差,而在spark sql中,stddev函数代表的是样本标准差,可以查看一下源代码: ?...3、踩坑总结 在计算中位数或者四分位数时,我一开始的写法如下: ? 很奇怪的一点是,$"float_part" - 0没有报错,1 - $"float_part"却报错了,报的错误是: ?
对于子系统Ubuntu,家庭版的功能是阉割了的.暂时也无法升级到2.0,而且子系统我们一般用来跑一些项目.配置太多太乱会让本就不稳定的系统更加危险.对于子系统的维护更是我们不想去经常自己操作.所以我们就可以使用...从网络上安装 配置安装的目录以及使用的用户.默认即可 配置本地包目录.默认即可 代理.默认即可 use URL 使用镜像.可以选择阿里云的那个 `https://mirrors.aliyu.com 安装...linux工具跟库 view 根据分类查看目录.一般使用 category 搜索我们需要安装的软件或者库,比如 fish ?...里的命令冲突.优先使用windows里的软件执行.所以如果冲突.我们可以把windows下的改下名字.或者取消环境变量(如果不用的话)....即可启动一个fsih当作终端 jetbrains ide : 在设置中找到 terminal既可以通过目录查找到fish的路径.应用即可 Windows terminal中 : 打开设置文件