自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mrtwenty的博客

对技术保持敬畏之心

  • 博客(135)
  • 收藏
  • 关注

原创 FlowerMQ 基于workerman和redis实现的消息队列

FlowerMQFlowerMQ 一个基于Workerman和Redis实现的消息队列,一个小小工具,用来给主项目解耦的,也支持延迟队列,失败尝试这些。运行依赖php7.2Redis5上,因为用到Redis Streampecl依赖,redis扩展composer依赖,workerman/workerman 4.0以上安装composer安装composer create-project mrtwenty/flower下载安装下载或者 git clone项目根目录执行命令,c

2022-01-07 20:57:38 820

原创 php定时器 phptimer

phptimer是本人参考workerman的源码, 从里面分离出来的一个定时器,在linux上,守护进程化,可以添加多个定时器。使用方式很简单:1、composer安装composer require mrtwenty/timer2、编写测试代码,如果是win,可以在命令行上查看,linux上会定时写入时间到/tmp/test.txt上的<?phprequire ...

2019-08-17 00:16:10 836

原创 C# 程序重复启动,将程序显示到最前

编写桌面程序,有时候用户容易发生误触,就是程序启动两次,而我们并不想这样的事情发生,解决方式检测上一个程序是否存在,存在就将上一个程序移到最前面显示,启动第二次的程序直接结束掉。

2024-04-11 09:32:54 251

原创 .net core 控制台应用程序读取配置文件app.config

新增app.config,新增文件选择应用程序配置文件,会默认文件名为 App.config ,点击添加即可。我这里的开发环境是 win7 + vs2019 + .net core 3.1。如果是.net framwork ,就不需要nuget了,直接添加引用就行了,

2022-08-31 11:58:17 2060 1

原创 asp.net core 在linux上部署

最近学了下C#和asp.net core , 测试了在linux下部署程序,感觉还不错,.net core 越来越好了。

2022-08-22 23:46:58 1368

原创 C#中,浮点数的比较和decimal

C# 的浮点数类型,float、double ,当我们定义一个浮点数可以:可以使用var 关键字,可以做类型推断定义float类型,数字末尾需要加上 F或者是f。

2022-08-21 13:17:36 1376

原创 PHP调用WCF服务

我们创建了一个WCF服务,使用的C#语言实现,还使用C# 实现了,现在我们来实现跨语言,调用WCF服务,使用PHP实现。这里使用的环境是win7系统,php-7.4.0-nts-x64。

2022-08-12 23:14:27 272

原创 创建WCF客户端调用

创建一个新项目,WCF客户端,来调用我们的WCF服务端。我们使用控制台程序,运行环境用的是**.net core 3.1**.

2022-08-12 22:42:42 389

原创 创建WCF服务

WindowsCommunication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,它是.NET框架的一部分,由.NET Framework 3.0开始引入,与Windows Presentation Foundation及 Windows Workflow Foundation并行为新一代Windows操作系统以及WinFX的三个重大应用程序开发类库。...............

2022-08-12 21:35:21 755

原创 C# 异步小例子

这是一个异步小例子,使用VS新建控制台程序就可以实现,希望对各位理解异步编程有帮助,C# 提供了两个关键字、来是实现异步编程。

2022-08-12 15:06:18 1030

原创 C#之枚举

下面通过代码来学习一下:枚举默认是int类型,不过我们可以通过继承来修改:枚举类型与数值类型的转换字符串转换成枚举枚举类型判断、遍历给枚举加扩展方法方法抄这位老哥的通过利用扩展方法, 可以给枚举加中文描述,或者用描述反推会类型,给这个老哥点赞。...

2022-08-09 16:52:55 2788

原创 C#之ArrayList

C#之ArrayList。

2022-08-01 14:52:57 253

原创 Python之集合

定义一个集合,集合内的元素无序、唯一s1={1,2,2,3}s2=set([1,2,2,3])print(s1,s2)print(type(s1),type(s2))#注意,如果是空集合,只能用sets3={}s4=set()#s3变成字典print(type(s3),type(s4))

2022-07-27 15:55:32 195

原创 Python之pip和venv

python除了官方的标准库,还有很多第三方库,网址我们可以使用pip命令来安装它。pip是python的第三方库安装工具。

2022-07-27 14:22:04 2603

原创 Python字符串

糖葫芦串、是由糖葫芦串成的,羊肉串是由羊肉串成的,字符串就是由一个个字符串连在一起的。在代码里,通过单引号、双引号、三引号加上中间的字符组成的。

2022-07-26 20:18:02 170

原创 Python枚举类enum

枚举可以用来表示有限的几个值,如果我们想要让某个变量或者属性限定在某个值里,可以使用枚举类。枚举适用于数据库某些字段,可以将字段中值限定在某些范围。例如从上面的枚举类中。通常枚举成员我们建议使用大写。...

2022-07-26 15:15:56 991

原创 Python 浮点数的舍入,round与decimal舍入方式

文章目录前言书籍介绍内容介绍推荐理由总结前言提示:可以在这里写书籍推荐的初衷,记得删除示例哦。例如:在掘金和github上读过冴羽大大的很多文章,在和他私信交流后,他也告诉我,要想打牢基础除了多写代码,还要重视书本上的知识,最起码《高程》要吃透一半,我们共勉!这里列了一些个人觉得有必要看的书籍(本段引用自:前端入门技术书籍推荐:JavaScript高级程序设计等,吐血整理!)书籍介绍提示:这里可以介绍书籍的名称、作者、封面图片、适宜人群。内容介绍提示:这里可以介绍书籍的主要内容,记得删除示例哦

2022-07-20 14:17:20 900

原创 python之decimal

decimal是python的标准库之一,我们通常用它来进行浮点数的运算和比较。

2022-07-20 10:34:39 14772 3

原创 ECMAScript 6 定义变量关键字之 var 、 let 、 const

定义变量ES6 中新增了两个可以定义变量的关键字 let、const,加上之前的var,我们来看看这三个的区别和使用场景: var a = 1 let b = 2 const c = 3 console.log(a,b,c)//在一个作用域内已经声明的变量,不允许再次定义。 var a = 1 //允许重新定义 // let b = 2 //错误,无法重新定义 // const c=3 //错误,无法重新定义 // let 可以重新赋值 ,co

2022-03-10 09:59:13 254

原创 PHP之枚举

php8.1新增了枚举类,在php8.1之前,我们可以使用第三方包,https://packagist.org/packages/myclabs/php-enum,安装composer require myclabs/php-enumPHP8.1之前枚举类可以比一般的常量标识更加清晰,也能做好参数限定,提升代码的健壮性。下面是定义了一个枚举类,我们来看下怎么使用它?<?phpuse MyCLabs\Enum\Enum;require __DIR__ . '/vendor/autol

2022-03-05 14:20:24 3160

原创 Centos7.4编译安装php8.1

安装依赖包:yum -y install gcc gcc-c++ glibc automake autoconf libtool makeyum -y install libxslt-devel libjpeg libjpeg-devel libpng libpng-devel yum -y install freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel yum -y install glibc glibc-devel gl

2022-02-22 13:26:05 3138 5

原创 git使用ssh拉取项目

git拉取项目,可以使用ssh拉取,不需要输入密码,可以在生产服务器直接部署。添加公钥,查看gitee.com 上的教程 https://gitee.com/help/articles/4181配置代理,有时候香港服务器拉取gitee.com,偶尔会卡主,可以通过设置代理解决。安装一个包:yum install -y connect-proxy修改ssh的配置,vim .ssh/configHost gitee.com *.gitee.com ProxyCommand conn.

2021-12-24 14:13:50 1834

原创 一个验证token类

新写了一个超级简单的验证类,最近的一个需求用到了生成二维码核销的功能,想着给二维码做一个时效性处理,避免用户投机倒把,把核销码拿去卖给别人,出了问题,又要平台承担责任。为了避免以后用到,特地写做笔记。<?phpclass Token{ protected $secret; //这个秘钥很重要 public function __construct($secret) { $this->secret = $secret; } pu

2021-08-31 23:42:21 144

原创 Centos7 编译安装php7.4

安装wget命令yum install wget 安装依赖包yum install gcc autoconf gcc-c++yum install libxml2 libxml2-devel openssl openssl-devel yum install bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel yum install libpng libpng-devel freetype freetype-devel g

2021-08-24 11:56:52 1051 1

原创 php数组的差集与并集

当我们需要对多个数据进行操作,其中有包含了修改、删除、新增,就需要将新数据和原有的数据进行差集和并集操作,筛选出其中需要对应操作的数据,例如:<?php$old = [1, 3, 4, 5, 6];$new = [2, 3, 4, 5, 7];//移除的$remove = array_diff($old, $new);print_r($remove);//添加的$add = array_diff($new, $old);print_r($add);//修改的$updat

2021-07-16 16:25:57 1576 2

原创 Python3之md5、sha1 、bcrypt

bcrypt 如果没有,需要安装 pip install bcrypt代码定义了两个函数,是模拟php的两个加密、验证函数,可以用来跨语言验证密码。一般现在我们不建议使用md5 来对用户的密码进行加密了,所以模拟了php做了两个函数出来,可以用于用户密码加密、验证。import hashlibimport bcryptdef password_hash(password: str) -> str: '''hash加密 ''' # 生成一个salt salt

2021-06-04 11:37:14 322

原创 python3 bytes与str转换

python3 bytes与 str 的转换s1 = "测试"# 两种写法print(s1.encode())print(bytes(s1, encoding="utf-8"))# 转换回来可以用s2 = b'\xe6\xb5\x8b\xe8\xaf\x95'print(s2.decode())print(str(s2, encoding="utf-8"))结果:

2021-06-04 11:28:30 771

原创 Python时间戳与时间格式

Python时间戳与时间格式import timefrom datetime import datetimet = time.time()# 秒级时间戳print(int(t))# 毫秒时间戳print(int(t*1000))# 将当期时间戳转成时间格式print('今天的时间:', time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))print('今天的时间:', time.strftime("%Y-%m-%d %H:%M:%

2021-05-27 23:17:36 592

原创 gitee.com上的项目拉取太慢,设置git代理解决

设置git代理平常开发使用gitee.com 放置项目代码,有些项目需要放到香港服务器运行,每次拉取gitee.com 的代码都卡主,非常的慢,反应给gitee.com ,给到的解决方案是,设置gitee的dns,设置后,有一点点效果,偶尔还是卡主,无法顺畅的拉取代码。只能另寻他法。服务器上设置好账号密码、直接拉取,避免来回响应,无效,依然如此不走http,改用ssh方式实现,依然卡卡卡最后通过在国内设置一台正向代理服务器,香港服务器设置正向代理,来解决,虽然成本有点大,但是速度正常了。实现步

2021-05-25 22:26:36 3646 1

原创 Python3 threading

python2中的thread在python3中升级成了threading ,原先的thread变成了_thread ,建议大家使用threading ,Python中虽然有GIL的存在,并不能并行线程,但是对于IO密集型的应用还是挺方便快捷的。这里需要注意一个点:GIL并不能保证线程安全,看以下例子:线程安全、非线程安全的相关概念threading 并发针对同一个变量,需要加锁。例子1:import threadingnum = 0def task(count): global

2021-04-11 08:42:28 572

原创 linux命令排查日志

好了,笔记记录完毕,以后类似的查找关键字日志及其前后日志都可以按照此步骤排查。备注: 一开始日志时间如果查不到,就查查附近的秒数有没有,减少1秒,就查到了。备注: 利用tail、head 命令 ,就能显示日志指定行数的前后内容了。41224 就是行数。

2021-04-01 11:25:24 616

原创 php输出浮点数,丢失精度的问题

今天输出一个从数据库里面查询的数据,居然没有完整显示出来,丢失了后四位,一路排查下来,发现是php有个配置项,叫做`precision`, 这个配置值管理了浮点数的精度输出,我们可以用`ini_get('precision')` 来获取这个值的设置,情况复现:<?php echo ini_get('precision'); //我这里的环境是14位 $a = -0.021740039999997407; echo $a; //输出的时候,后四位被截断了。所以为了解决这种问题,我们可...

2021-03-07 13:11:06 711 1

原创 thinkphp缓存直接操作redis

tp的缓存,如果使用了redis,需要使用redis的高级操作,建议直接使用 handler 获取到对象句柄,然后直接操作redis,例如下面的list列表,可以这么写:详细的redis操作手册,请参见: https://github.com/phpredis/phpredis/#installingconfiguring echo "<pre>"; $handler = Cache::handler(); //一次性设置多个元素 $handler->rPush('name'

2021-01-07 10:48:05 263

原创 使用screen来避免远程终端的异常断开

安装 yum install screen使用命令如下: 查看所有的会话: screen -ls 创建一个新的会话: screen -S lnmp (lnmp就是会话名) 退出会话: exit 进入一个会话: screen -r lnmp

2020-12-13 16:18:26 114

原创 Centos 服务器时间同步

安装ntp或者 chrony 时间同步服务Centos7默认安装了chrony时间同步服务。管理服务器,特别是多台服务器,需要同步时间,不然服务器的时间与现实的时间不一致,容易造成程序上的逻辑错误。同步时间可以使用ntp或者chrony各个服务器商,都有提供对应的NTP服务,不用自己搭建,当我们做负载集群,多台服务器对外提供服务器时,为了保证时间的一致性,需要将多台服务器的时间与NTP服务器做同步,以便保证服务器时间的同步。下面是几个服务器上的文档说明,请对号入座:阿里云 https://hel

2020-12-04 23:34:17 503

原创 设置MySQL的group_concat_max_len长度

项目中使用到了MySQL的group_concat的函数,默认的长度只有1024,为了避免出问题,设置长一些,下面是操作笔记,避免下次别的项目要用到,忘记了。查看show variables like “group_concat_max_len”;设置长度,GLOBAL是全局,SESSION指的是当前会话,重启会无效,所以要结合第三步SET GLOBAL group_concat_max_len=10240;SET SESSION group_concat_max_len=10240;配置中设

2020-06-02 15:21:16 3185

原创 php获取指定年份下所有的周和当前周的开始和结束

composer安装包composer require nesbot/carbon下面是代码例子,注意,仅限于国内,周一开始作为这个星期的开始,周日作为结束,不同国家可能不一样,需要注意。我国算当年的第一周,是按包含1月4日的那个星期为当年的第一个星期。上代码:<?phpdate_default_timezone_set('Asia/Shanghai');require __DIR__ . '/vendor/autoload.php';function getFullWee.

2020-06-01 16:49:26 545

转载 如何看待负库存

以下这篇文章是转载自: 如何看待负库存,觉得写的不错,特地搬过来,避免以后找不到了,如侵权,请联系我删除。以下是正文:对这个问题,必须要普及一个常识——“负数不一定都是错的;而正数呢,不一定都是对的!”这本来是一条再简单不过的道理,然而,经常有不少用户产生这种误解,甚至大惊小叫的,还建议我们做什么禁止负库存的功能, 因此,不得不在此当常识提出。 举个例子,进货10件,进货单还没来得及做,或者做进货单的工作人员今天请假了。但事实上仓库已经进了货,并且已经发出了, 已经做了销售发货单了。此时,查询库存,当然

2020-05-09 10:48:26 414

原创 支付宝基金转招商证券转场内基金条件

支付宝基金转招商证券转场内基金条件:1. 基金是否支持场内交易 是2. 是否已开通券商账户、已绑定银行卡 ,场内基金账户与场外基金账户 关联3. 发起托管申请后,需要确认券商托管交易系统下挂了基金交易账户,需要与券商咨询确认4. 提供券商机构所在对应的席位号,需要致电券商客服咨询5. 基金转场份额是否支持小数,如果不支持,只能整数提交准备转场所需条件: 转托管基金代码: 转出...

2020-04-24 10:54:04 3561

原创 缓存过期删除的几种策略

从老李的文章看到的,有空顺路坐下笔记,还是不错的。定时删除,每设置一个有过期时间的缓存,就为其新增一个定时器,过期就删除,不好的地方要太多个定时器惰性删除,设置一个有过期时间的缓存,每次读取的时候,判断是否到期,到期就不返回出去,并删除掉,但是还是可能会存在一些到期了,而前台客户没有访问,没有删除掉的缓存,不过缓存是放在内存还是硬盘里,总归是占用了空间。定期删除,结合第二种方法,加一个定时...

2020-04-09 09:58:27 879

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除