golang处理emoji表情转码解码
golang处理emoji表情转码解码关于golang项目保存emoji表情对utf8格式的数据库会失败,可以先对表情转码存入,然后取值在解码输出 123456789101112131415161718192021222324252627282930313233// EmojiEncode Emoji表情转码func EmojiEncode(s string) string { ret := "" rs := []rune(s) for i := 0; i < len(rs); i++ { if len(string(rs[i])) == 4 { r1, r2 := utf16.EncodeRune(rs[i]) t1 := "\\u" + fmt.Sprintf("%x", r1) t2 := "\\u" + fmt.Sprintf("%x", r2) ret += t1 + t2 } else { ret ...
wps专业版激活终身授权
WPS专业版激活终身授权WPS专业版下载地址 右键进入安装位置 找到acm.dll,将其删除。 然后打开wps其中一个软件会弹出有提示输入序列号 输入以下其中一组序列号即可激活 123序列号:694BF-YUDBG-EAR69-BPRGB-ATQXH备用:R8R8P-MTT6F-KLRPM-J7CAB-PJM8C
宝塔Linux面板-安装golang环境
获取go安装包官网:https://golang.org/dl/ (需要梯子)国内安装包下载路径:https://studygolang.com/dl 下载go并解压1cd /www/server && wget https://dl.google.com/go/go1.16.5.linux-amd64.tar.gz 1tar -xzvf go1.16.5.linux-amd64.tar.gz 添加环境变量使用 打开/etc/profile 文件 1vi /etc/profile 或者 vim /etc/profile 在最底部添加 1234567export GOROOT=/www/server/goexport GOBIN=$GOROOT/binexport GOPKG=$GOROOT/pkg/tool/linux_amd64export GOARCH=amd64export GOOS=linuxexport GOPATH=/www/wwwroot/Golangexport PATH=$PATH:$GOBIN:$GOPKG:$GOPATH/bin 执行命令使环境变 ...
TP6+Swoole配置使用
由于当前使用php7.2版本,默认使用composer安装swoole的时候会自动安装3.x版本。 服务器的扩展安装这里不介绍,另外windows不支持swoole,如果需要,可通过虚拟机或者docker实现 安装swoole1composer require topthink/think-swoole 创建事件订阅类1php think make:subscribe WebSocketEvent 将以下代码覆盖到WebSocketEvent.php 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152<?phpdeclare (strict_types = 1);namespace app\subscribe;use app\Request;use Swoole\Server;use Swoole\WebSocket\Frame;use think\cache\driver\Redis;use think\Container;class ...
文件排他锁解决小型并发
众所周知,并发容易造成数据重复处理或者商品超卖等等情况; 如果使用数据库排他锁消耗的资源相对较高,那么这时可考虑使用文件排他锁。 阻塞(等待)模式: 并发时,当有第二个用户请求时,会等待第一个用户请求完成、释放锁,获得文件锁之后,程序才会继续运行下去。 123456789<?php $fp = fopen('lock.txt', 'w'); if(flock($fp, LOCK_EX)){ //文件独占锁,阻塞 //TODO 业务代码... flock($fp, LOCK_UN); //释放锁 } fclose($fp);?> 非阻塞模式: 并发时,当第一个用户请求拿得文件锁之后。后面请求的用户直接返回系统繁忙,请稍后再试。 1234567891011<?php $fp = fopen('lock.txt', 'w'); if(flock($fp, LOCK_EX|LOCK_NB)) ...
Navicat备份数据库出现 show_compatibility_56 相关错误
数据库备份错误问题备份数据库出现:3167 - The 'INFORMATION_SCHEMA.GLOBAL_STATUS' feature is disabled; see the documentation for 'show_compatibility_56' 的错误,或者 show_compatibility_56 相关错误 是因为从 mysql5.7.6 开始 information_schema.global_status 已经开始被舍弃,为了兼容性,此时需要打开 show_compatibility_56 解决方法执行命令以下命令: 查看show_compatibility_56视图状态1show variables like '%show_compatibility_56%'; 修改show_compatibility_56为on1set global show_compatibility_56=on;
解决MySQL5.7.5及以上group by报错的问题
MySQL5.7.5及以上 group by 报错问题MySQL 5.7.5及以上功能依赖检测功能。如果启用了ONLY_FULL_GROUP_BY (仅限于) SQL模式(默认情况下),MySQL将拒绝选择列表,HAVING条件或ORDER BY列表的查询引用在GROUP BY子句中既未命名的非集合列,也不在功能上依赖于它们。(5.7.5之前,MySQL没有检测到功能依赖关系,默认情况下不启用ONLY_FULL_GROUP_BY。有关5.7.5之前的行为的说明,请参见“MySQL 5.6参考手册”。) 大体意思:除开主键id作为 分组条件,其他都不行。当查找返回是聚合函数时 其他列作为分组条件可以。 解决方法一 查询mysql 相关mode select @@global.sql_mode; 查询结果 ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 重设 ...
PHP:curl error 60:SSL 的错误解决方法
接口请求报错:PHP:cURL error 60: SSL certificate unable to get local issuer certificate 是由于没有在php.ini配置curl.cainfo 解决方法如下: 下载cacert.pem cacert.pem下载链接 将文件放置对应PHP版本目录中 配置php.ini 打开对应PHP版本的php.ini,搜索curl.cainfo,将前面的 ; 删掉,在后面加上cacert.pem所在的绝对路径。 例子: 1234[curl]; A default value for the CURLOPT_CAINFO option. This is required to be an; absolute path.curl.cainfo = D:\phpstudy_pro\Extensions\php\php7.2.9nts\cacert.pem
Hexo Buffterfly主题增加叨叨点啥
简介 Q:什么是叨叨点啥?跟哔哔点啥又有什么关系?A:叨叨是 盗版 效仿版 哔哔A:哔哔点啥的白嫖版本。基于github的issue及vercel api搭建。(感谢小冰老师的开源) 话不多说,开干就完了! (vercel被墙了,有条件在vercel部署完之后,添加个自定义域名即可;下文中 .vercel.app 域名换成 .yourdomain) 教程第一步,安装hexo-daodaohexo-daodao 包地址 1npm i hexo-daodao --save 安装完之后,在博客根目录的 config.yml 添加下面的代码: 1234567891011daodao_swiper: url: https://daodao-three.vercel.app/api?q=20 #注意一:切记,这里后面需要修改,后续第三步会说明 fliter: "['img','iframe']" priority: 10 enable: true enable_page: / layout: type: id n ...
腾讯云直播配置
背景最近项目涉及到直播以及即时通信IM的业务场景,即时通信这个我们可以利用gatewayworker自行开发;但是直播需要考虑到并发等诸多因素,于是选择第三方服务,比如腾讯、阿里等,这里就以腾讯云直播【标准直播(LVB)】为例。 前期准备腾讯云账号、备案域名这就不说了。其次,首次接触直播,也不清楚直播的流程,也不清楚选择哪个服务,所有做起来就稍微比较迷茫。腾讯云入口 最笨的办法就是把云直播的产品简历浏览一遍,最好的办法就是问问周围的大佬。(PS:腾讯云的客服也超级给力) 自行根据产品需求不同进行选择吧。 开始使用云直播服务,至少需要2个域名,一个作为推流域名,一个作为播放域名,推流和播放不能使用相同的域名,这个自行在域名管理上绑定CNAME。(域名必须要备案) 注意:添加的域名,一定要按照格式: www.test.com,可以使用二级域名。比如,推流域名;push.test.com;播放域名:play.test.com; 这个域名就是你域名解析列表中的真实域名 其中系统默认分配的推流域名,可以当作测试使用,也可以当作正式推流域名使用。当然也可以自定义推流域名,默认分配的域名不需 ...