- 博客(89)
- 资源 (6)
- 收藏
- 关注
原创 php:代码中怎么搭建一个类似linux系统的crontab服务
最近使用自己搭建的php框架写一些东西,需要用到异步脚本任务的执行,但是是因为自己搭建的框架没有现成的机制,所以想自己搭建一个类似linux系统的crontab服务的功能。因为如果直接使用linux crontab的服务配置起来很麻烦,如果不了解的人接手,也不知道你配置了crontab,后续拆分生产和测试环境也会很复杂,不能一套代码包含所有。
2025-01-24 14:55:14
590
原创 php:使用socket函数创建WebSocket服务
闲来无事,最近捣鼓了下websocket,但是不希望安装第三方类库,所以打算用socket基础函数创建个websocket服务。
2024-11-20 13:58:11
751
原创 ChatGLM:基于ChatGLM-6B使用ptuning进行微调,实现类instruction的效果
基于ChatGLM-6B使用ptuning进行微调,实现类instruction的效果
2024-03-11 15:22:26
340
原创 ChatGLM:CPU版本如何安装和部署使用
前段时间想自己部署一个ChatGLM来训练相关的物料当做chatgpt使用,但是奈何没有gpu机器,只能使用cpu服务器尝试使用看看效果我部署的这个项目,使用的是LLM(ChatGLM)+embedding(GanymedeNil/text2vec-large-chinese)+langChain的组合。
2024-03-08 20:08:14
876
原创 有感:《萍聚》
别管以后将如何结束至少我们曾经相聚过不必费心地彼此约束更不需要言语的承诺只要我们曾经拥有过对你我来讲已经足够人的一生有许多回忆只愿你的追忆有个我别管以后将如何结束至少我们曾经相聚过不必费心地彼此约束更不需要言语的承诺只要我们曾经拥有过对你我来讲已经足够人的一生有许多回忆只愿你的追忆有个我别管以后将如何结束至少我们曾经相聚过不必费心地彼此约束更不需要言语的承诺只要我们曾经拥有过对你我来讲已经足够人的一生有许多回忆只愿你的追忆有个我。
2023-12-22 15:51:28
472
原创 Mysql:使用on duplicate key update时导致自增id不连续怎么办?
使用on duplicate key update时导致自增id不连续怎么办?
2023-03-05 11:25:37
2281
原创 ssh:使用ssh链接服务器的时候报错 Add correct host key in /root/.ssh/known_hosts to get rid of this message
使用ssh链接服务器的时候报错 Add correct host key in /root/.ssh/known_hosts to get rid of this message
2023-03-05 10:29:07
14395
原创 php:如何在curl方式下url请求域名使用指定ip地址来访问某个服务器
域名指向ip,如何在curl方式下url请求域名使用指定ip地址来访问某个服务器
2022-09-18 11:05:44
5224
原创 有感:顺其自然
真是计划赶不上变化,本来是规划自己学习golang来傍身的,毕竟它搭配php是真的很不错,思想转变的也很快,但是由于公司业务需要,golang技术栈并不是主打语言,反而因为开发需要,需要转java,没办法我只能又匆匆忙忙加入了java的战斗,估计接下来很长一段时间golang成长之路不会在更新呢。...
2022-06-21 15:03:09
164
原创 php: pcntl_signal信号处理
最近公司需要把老的服务器进行置换迁移,在缩容容器的时候,突然想到项目中,很多常驻进程没有做信号处理,这样会导致容器停止的时候会直接kill进程,导致数据丢失或者逻辑中断的情况,于是使用了pcntl_signal,这里顺便记录下。...
2022-06-19 16:22:30
1605
原创 php: RGB 转 HSB(HSV)
前言最近因为涉及到一个算色规则,其中需要把RGB转HSB的要求,所以自己研究了下,故此记录下。什么是RGB?RGB表示红色(R)、绿色(G)、蓝色(B),又称为三原色光。它是通过对三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。什么是HSB?在HSB模式中,H(hues)表示色相、S(saturatio...
2022-03-12 14:03:45
1193
转载 php: redis + lua 实现发号器服务
一、背景最近看到新浪微博的发号器算法,就想着自己也研究一番其中的原理,然后各种查资料,为此自己又巩固了一次位运算、计算机原码、补码、反码等相关知识。感觉很不错,因为有那么一件事情或者目标推动你学习,我感觉是挺好的,如果漫无目的反而很难坚持下去,所以在此也推荐给大家。二、为什么要实现发号器很多地方我们都需要一个全局唯一的编号,也就是uuid。举一个常见的场景,电商系统产生订单的时候,需要有一个对应的订单编号。在composer上我们也可以看到有很多可以产生uuid的优秀组件。那么,为什么我们.
2021-11-12 17:04:17
464
原创 哈希冲突和哈希冲突攻击解析
一、什么是哈希冲突?当数据插入到哈希表时,不同key值产生的h(key)却是相等的,这个时候就产生了冲突。二、怎么解决哈希冲突?常用的几种方法有:开放定址法、拉链法、再哈希法、建立公共溢出区。1、开放定址法所谓的开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入公式为:fi(key) = (f(key)+di) MOD m (di=1,2,3,……,m-1)详解:当冲突发生时,使用某种探测技术在散列表中形成一个.
2021-11-04 17:02:02
646
原创 php:雪花算法
简介SnowFlake 算法(雪花算法),是 Twitter 开源的分布式 id 生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 id。在分布式系统中的应用十分广泛,且ID 引入了时间戳,基本上保持自增的。原理1bit-不用:因为二进制中最高位是符号位,1表示负数,0表示正数。生成的id一般都是用正整数,所以最高位固定为0。41bit-时间戳:表示的是时间戳,41 bit 可以表示的数字多达 2^41 - 1,也就是可以标识 2 ...
2021-10-31 10:10:13
974
原创 php:foreach使用引用&的陷阱
有时候我们为了改变数组的值,在foreach的时候加个&来表示引用。如下:foreach ($array as &$item) {}这样一来,我们在循环中修改$item的值的时候,实际上修改的是$array中对应的值,而如果不加&符号的话,在循环中修改$item的值不会影响到$array。测试-加&例:$array = [ 'name' => 'Jobs', 'age' => 50,];foreach ($a
2021-06-24 16:33:08
276
2
原创 nginx禁止高频ip访问
有时候我们会通过在一定时间内ip访问次数来判断用户是否恶性访问,来达到防刷的目的,下面借用nginx模块来限制。nginx模块限制ip #nginx.conf http{ ... limit_req_zone $binary_remote_addr zone=limits:10m rate=50r/s; limit_conn_zone $binary_remote_addr zone=conn_zone:10m; serve
2021-06-24 15:49:39
2523
原创 error: 使用strtotime的注意点有哪些?
最近在开发一个关于游戏榜单的项目,需要区分日榜、周榜、月榜,其中需要用到strtotime函数来计算时间,就会想到strtotime的一些注意点,顺便记录下。例如:echo date( "Y-m-d", strtotime( "-1 month", strtotime('2021-03-30')));//输出 2021-03-02我们知道 2 月根本没有 30 号, 所以上面的 -1 month 还是跳到了3月2号。所以使用处理strtotime时间一般都需要注意这些问题。php5..
2021-03-13 12:13:54
166
原创 php:RPC是什么?
1、什么是RPC?RPC全称Remote Procedure Call,即远程过程调用,就是要像调用本地的函数一样去调远程函数,屏蔽远程调用的复杂性。2、为什么需要RPC?微服务、分布式应用的开发越来越常见,RPC可以解决各个节点之间的服务调用以及通信问题。 治理功能,比如连接管理、健康检测、负载均衡、优雅启停机、异常重试、业务分组以及熔断限流等等。3、demo实例(php)上面简单介绍了下rpc,下面咱们直接上代码(以json格式传递,使用http作为传输协议,也可以使用别的..
2020-12-25 11:30:40
497
原创 php:trait的特性及其作用
1、背景php从以前到现在一直都是单继承的语言,无法同时从两个基类中继承属性和方法,为了解决这个问题,php出了Trait这个特性。2、用法<?php//使用trait声明Test类trait Test{ public function getName() { echo "hello world"; } public function getAge() { echo 18; }}//使用use关键字进.
2020-12-24 21:28:21
203
原创 吞吐量(TPS)、QPS、并发数、响应时间概念
有时候开发日常中,其实我们很多时候都是比较熟悉这几个名词,但是真正含义概念的了解,可能并不是很清楚,下面就总结下吧,也方便自己的记忆,大家也可以自行百度。1、吞吐量(Throughput)指在一次性能测试过程中网络上传输的数据量的总和,对于交互式应用来说,吞吐量指标反映的是服务器承受的压力。2、QPS每秒查询率(QPS,Queries-per-second)是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。原理:每天80%的访问集中在20%的时间里,这20%时间叫..
2020-10-19 14:40:29
2586
原创 rsync:错误 some files/attrs were not transferred (see previous errors) (code 23) at main.c(1518)
1、问题在使用rsync同步操作时,rsync报错rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1518) [generator=3.0.9]2、解决方法原因是有文件没有写的权限,导致备份权限不够,两种解决办法:1、将服务端rsyncd.conf配置文件的uid和gid分别修改成root,重载下,/etc/rc.d/init.d/xinetd re
2020-10-19 14:21:34
22555
3
原创 rsync:链接失败 failed to connect to x.x.x.x: Connection refused
1、问题以前定时跑的一个脚本,有推送文件到远程服务器的命令,今天突然发现文件同步失败了,然后手动执行命令也失败了。[root@241 ~] rsync -a root@host::backup/ .rsync: failed to connect to 192.168.1.144 (192.168.1.10): Connection refused (111)rsync error: error in socket IO (code 10) at clientserver.c(128) 根
2020-10-19 14:15:46
5194
原创 有感:2020?回首已过大半
不知道怎么了,突然快下班的时候来写一段日志,2020依旧是岁月如梭的一年; 2020 上半年并没有啥大事,日复一日的上班、下班。 2020.07.11 我搬家了,那里留下了很多回忆,我并不想继续住下去了,是该走了的时候。 2020.09.21 我换工作了,因为一些事和对未来的展望,我感觉不能继续待下去呢,我感觉我成长越来越慢,虽然轻松舒适,但是我感觉自己并没有到那个该享受的年龄,所以走吧。 总的来说 2020 并没有发生什么大事,这可能是比较幸运的,经过2019的...
2020-10-16 18:00:04
124
原创 Golang成长之路:操作redis
golang操作redis的库也比较多,主要有以下几种:go get github.com/alphazero/Go-Redisgo get github.com/simonz05/godisgo get github.com/garyburd/redigogo get github.com/gosexy/redisgo get cgl.tideland.biz/redis不过我使用的还是redisgo,因为这个是官方推荐的,并且使用人数最多。一、安装redisgogo ge.
2020-09-03 18:17:23
209
原创 Golang成长之路:操作mysql
在项目中,避不可少要使用到数据库,这里以mysql为例。go目前支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种:https://github.com/go-sql-driver/mysql支持database/sql,全部采用go写。 https://github.com/ziutek/mymysql支持database/sql,也支持自定义的接口,全部采用go写。 https://github.com/Ph..
2020-09-03 17:41:30
150
原创 Golang成长之路:使用Zap来做日志服务
我们在项目中,经常会记录一些数据信息到文件中,或者日志文件。例如nginx会有nginx访问请求日志,使用golang的时候,我也想做一个这样的访问日志,所以我就找到了go的一个开源高效的日志库zap。很多人也使用logrus或者go自带的Logger(支持的东西太少,性能一般),具体为啥最后选择了zap,是因为很多人说zap性能更高些,当然我自己没有测试过。1、安装zapgo get -u go.uber.org/zap如果没反应,可能需要配置下代理,go env -w.
2020-09-03 17:03:53
1579
原创 Golang成长之路:怎么编译项目?
我们都知道golang是编译型语言,所以在我们编写完代码之后,都会进行编译打包部署。进入代码main.go所在的目录,然后执行以下命令:CGO_ENABLED=0 GOOS=linux go build -o test ./main.go有时候也会用到更复杂的命令,例:CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags '-w' -i -o homeweb-web main.go参数:CGO_ENAB
2020-09-03 16:19:58
3554
原创 Mysql:int类型和varchar类型后面跟着的长度数字是表示什么意思呢?
在创建数据表的时候,我们经常会给每一个字段设置一个长度,例如:int(5)、varchar(10) 等等,但是他们代表的意思是什么呢?是该列允许存储值的最大宽度吗?场景1:为什么我设置成 int(1), 也一样能存 101001000 呢?场景2:为什么我设置varchar(10),却只能存储最多10个字符呢?那是因为在mysql中,int后面的数字代表的是显示宽度,而varchar后面的数字代表的是字符长度。也就是说int后面的数字和存储值的大小无关,而是和类型的存储大小有关;v.
2020-07-25 16:41:16
5386
原创 Mysql:索引失效的几种可能原因
最近闲来无事,发现自己mysql的知识点忘得差不多了,打算重新拾起来捯饬捯饬,其中最重要的知识点还是mysql的优化问题,毕竟mysql使用方面都是很简单的东西。有时候我们会发现,明明已经建立了索引,但是通过explain发现语句并没有使用上索引,那咱们可能踩中了以下的几种情况:索引失效的案例:1、如果条件中有or,即使其中有部分条件带索引也不会使用(这也是为什么尽量少用or的原因)注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引。2、...
2020-06-02 19:17:18
3529
原创 Golang成长之路:简单的压测工具go_bench
前言前一章提到,怎么搭建一个简单的web服务,咱们搭建好了,是不是需要测试下自己代码的健壮性。所以我又找了个压力测试工具。发现简go_bench单实用。正文 安装方式一:go get github.com/linkxzhou/http_bench方式二:git clone git@github.com:linkxzhou/http_bench.git下载...
2020-04-21 17:20:08
1376
原创 Golang成长之路:搭建一个简单的web服务
前言都说go是搭建微服务的神器,所以我也想学习学习这方面的知识,但是万丈高楼平地起,所以咱们还是一步步来吧。首先学习下怎么搭建一个简单的web服务。正文这里我们需要借用go的一个库来实现,就是 net/http,通过http包提供了HTTP客户端和服务端的实现。同时使用这个包能很简单地对web的路由,静态文件,模版,cookie等数据进行设置和操作。例:package ...
2020-04-08 16:57:11
598
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人