- 博客(84)
- 资源 (7)
- 收藏
- 关注
原创 excel用公式进行多重查找替换
IFNA(IFS(ISNUMBER(FIND("(A)",A1)),"A",ISNUMBER(FIND("(B)",A1)),"B",ISNUMBER(FIND("(C)",A1)),"C",ISNUMBER(FIND("(D)",A1)),"D"),"没找到")
2024-04-26 23:12:08 282
原创 16 个优秀的 Vue 开源项目
最初,该产品是作为编写技术文档的工具而创建的,但现在它是一个小型、紧凑、功能强大的headless CMS。它也是模块化的,所以你可以只使用你的apage所需要的模块简而言之,Nu xt 将您从构建和优化您的apage的工作中拯救出来Nuxt. js 具有模块化的架构,有50多个模块可供选择。这是特别有价值的,因为团队有一个清晰的路线图,所以你作为一个贡献者可以选择你可以做的任务。Vue是结合react和angular的最好的方法,并且拥有一个有凝聚力的,活跃的,能够应对开发问题的大型社区。
2023-04-14 08:29:54 2213 1
原创 Python 人脸识别 + 手机推送,老板来了你就会收到短信提示
前言在你上班的时候刷知乎,看视频,玩手机的时候,老板来了!不用担心,不用着急,基于最新的人脸识别 + 手机推送做出的 BossComing。老板站起来的时候,BossComing 会通过人脸识别发现老板已经站起来,然后通过手机推送发送通知 BossComing,并且震动告诉你有情况。效果展示不明真相吃瓜群众和身后领导:身后领导扭头过来,马上被人脸识别程序发现,并标记为 boss:手机收到推送,并震动:Boss Coming:
2023-01-13 22:55:17 6248
原创 《销售就是玩转情商》作者科林·斯坦利 精华解读附电子版
发烧躺在床上给男朋友发信息:“发烧了…”他回:“多喝水啊”我:“…39.2度”他:“牛啊!多喝水!”你咋不多喝呢,喝死你……虽是段子,但隔着屏幕也能闻得见缺情商的捉急。本书要讲销售者们的情商,大家都知道,销售领域是高情商人士的集中营,用俗常的话讲这些人精们善于察言观色、溜须拍马、见风使舵、化腐朽为神奇……这是高情商的表现吗?错!这些大部分都与本书倡导的高情商背道而驰。好了,这本书说的是销售的事,我又不干销售,我就不用看了吧?错!我们每个人在这一生中何尝没有扮演销售的角色,追求女朋
2023-01-06 21:08:22 1890
原创 边玩边学,15个学习Python 的编程游戏网站!
这款游戏由粘粘世界(World of Goo)的设计者和制作小小炼狱(Little Inferno)的团队共同制作,游戏虽是走解谜路线,但玩法相当新颖:玩家将扮演一个从基层做起的员工,需要通过指令代码来编写一条条程序,完成每个阶段的任务,最终走上职场巅峰。当你打开 CodeCombat 网站,你不会觉得这是一个让你看不懂的代码学习网站,因为他的网站外观看起来就像是一个魔兽争霸风格的线上游戏,而且当你实际玩玩看,你会发现过程真的就是英雄要去打怪、寻宝与解谜,只是搭配了程序语言的学习。
2022-12-26 12:03:18 372
原创 Python定时任务工具--APScheduler
APScheduler (advanceded python scheduler)是一款Python开发的定时任务工具。html文档地址python特色:git不依赖于Linux系统的crontab系统定时,独立运行redis能够新的定时任务,以下单后30分钟内必须支付,不然取消订单,就能够借助此工具(每下一单就要添加此订单的定时任务)sql对添加的定时任务能够作持久保存mongodb。
2022-12-22 19:56:24 629
原创 Python 实现定时任务的八种方案
在日常工作中,我们常常会用到需要周期性执行的任务,一种方式是采用Linux 系统自带的 crond[1]结合命令行实现。另外一种方式是直接使用 Python。接下里整理的是常见的 Python 定时任务的实现方式。利用 while True: + sleep() 实现定时任务位于 time 模块中的 sleep(secs) 函数,可以实现令当前执行的线程暂停 secs 秒后再继续执行。所谓暂停,即令当前线程进入阻塞状态,当达到 sleep() 函数规定的时间后,再由阻塞状态转为就
2022-12-20 16:37:36 264
原创 领导:谁再用 Redis 实现过期订单关闭,立马滚蛋
日前拜读阿牛老师的大作 领导:谁再用定时任务实现关闭订单,立马滚蛋!发现其方案有若干瑕疵,特此抛砖引玉讨论一二。在电商、支付等领域,往往会有这样的场景,用户下单后放弃支付了,那这笔订单会在指定的时间段后进行关闭操作,细心的你一定发现了像某宝、某东都有这样的逻辑,而且时间很准确,误差在1s内;那他们是怎么实现的呢?一般实现的方法有几种:1、使用rocketmq、rabbitmq、pulsar等消息队列的延时投递功能;2、使用redisson提供的DelayedQueue;有一些
2022-12-20 15:13:17 7456 1
原创 python包管理pip常见操作
5 https://pypi.tuna.tsinghua.edu.cn/simple/ # 清华源。6 http://pypi.mirrors.ustc.edu.cn/simple/ # 中科大源。2 index-url=http://pypi.douban.com/simple # 豆瓣源()升级指定的包,通过使用==, >=, , < 来指定一个版本号。可以通过使用==, >=, , < 来指定一个版本号。
2022-12-13 00:32:41 694
原创 django依赖文件创建的两种方法
该命令在项目目录下执行,会将当前django项目的import的依赖写到requirements.txt文件,不会冗余,推荐使用。该命令在项目目录下执行,会将当前环境的所有依赖全部写到requirements.txt文件,其中包含很多冗余依赖,可用但不推荐。备注:1.pipreqs命令使用时可能会报该模块不存在,使用pip安装即可,安装命令:pip install pipreqs。2.pipreqs命令写入的依赖可能不全,需要手动写入依赖或者改版本。部署django项目到新的环境时,需要先安装所需的依赖。
2022-12-11 09:06:45 782
原创 css 文字两端对齐完全兼容的方法
所以加了一个after伪元素内容为空并且长度撑满保证伪元素另起一行inline-block与需要排版的内容连成一个整体,使得需要排版的内容成为倒数第二行,自然就会两端对齐了,因为伪元素另起了一行,元素就变高了,所以还要设置只显示一行文字的高度。
2022-11-12 22:19:53 235
原创 python获取请求ip以及对应的地址
# 获取请求IPdef get_request_ip(request): if request.META.get('HTTP_X_FORWARDED_FOR'): ip = request.META.get("HTTP_X_FORWARDED_FOR") else: ip = request.META.get("REMOTE_ADDR") return ipdef ip_to_location(ip): """ 通过ip获取地.
2022-10-26 09:39:57 1753 1
原创 超详细的 Python 文件操作知识
python进行文件操作,在日常编程中是很常用的。为了方便大家,这里对各种文件操作的知识进行汇总。一文在手,无须它求!来一起学习吧。一、文件的打开和关闭open()函数f1=open(r'd:\测试文件.txt',mode='r',encoding='utf-8')content=f1.read()print(content)f1.close()withopen(r'd:\测试文件.txt',mode='r',encoding='utf-8')asf1
2022-10-16 12:29:48 424
原创 python之round()舍入函数
要求保留位数的后一位“=5”,且该位数后面没有数字,则不进位,如round(5.215,2),结果为5.21。要求保留位数的后一位“=5”,且该位数后面有数字,则进位,如round(5.2151,2),结果为5.22。要求保留位数的后一位=6”,则进位。如round(5.216,2),结果为5.22。round()是python自带的一个函数,用于数字的舍入。使用方法(环境python3)
2022-10-02 21:33:19 1171
原创 Django ORM数据去重
1、聚合中去重(聚合函数中添加参数distinct=True)goods_pay_rank = Pay.objects.filter( pay_time__range=[start_time, end_time]).values( 'order__order_details__goods_attribute__goods').annotate( count=Count('uuid', distinct=True), goods=F
2022-05-29 10:05:35 3347
原创 python字符串切片语法
# 格式[start: end:step]# 起始偏移量:start# 终止偏移量:end# 可选步长:step[:] # 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串[start:] # 从 start 提取到结尾[: end] # 从开头提取到 end[start: end] # 从 start 提取到 end[start: end:step] # 从 start 提取到 end,每 step 个字符提取 1 个# 左侧第一个字符的位置/偏移量为0,右侧.
2022-05-09 21:28:51 493
原创 python正则速查表及常用正则表达式
一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:<span style="color:#000000"><span style="background-color:#282c34"><code class="language-python"><span s...
2022-05-02 23:01:06 406
原创 常见 User-Agent 大全
window.navigator.userAgent Chrome Win7: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163Safari/535.1 Firefox Win7: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0 Safari.
2022-05-02 21:18:30 7373
原创 爬虫:xpath解析dom
选择器正则表达式、BeautifulSoup、Lxml进行性能对比 示例:import requestsfrom lxml import etreeheaders = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'}url = 'http://www.qiushiba
2022-05-02 18:48:42 268
原创 python多进程、多线程、协程与异步io
CPU密集型 VS IO密集型我们可以把任务分为计算密集型和IO密集型。第一种计算密集型任务的特点是要进⾏⼤量的计算,消耗CPU资源,⽐如计算圆周率、对视频进⾏⾼清解码等等,全靠CPU的运算能⼒。这种计算密集型任务虽然也可以⽤多任务完成,但是任务越多,花在任务切换的时间就越多,CPU执⾏任务的效率就越低,所以,要最⾼效地利⽤CPU,计算密集型任务同时进⾏的数量应当等于CPU的核⼼数。计算密集型任务由于主要消耗CPU资源,因此,代码运⾏效率⾄关重要。Python这样的脚本语...
2022-05-02 12:51:06 2561
原创 爬虫中文乱码问题
wb_data = requests.get(url, headers=headers)soup = BeautifulSoup(wb_data.text.encode(wb_data.encoding), 'lxml', from_encoding='utf-8')
2022-05-01 22:09:16 748
原创 mysql主从数据库配置
1、主库修改my.cnf文件,在[mysqld]加入下面的内容:# 服务的唯一编号server-id = 1# 开启mysql binlog功能log-bin = mysql-bin# binlog记录内容的方式,记录被操作的每一行binlog_format = ROW# 减少记录日志的内容,只记录受影响的列binlog_row_image = minimal# 指定需要复制的数据库名为jgywbinlog-do-db = furniture_store修改好配置文件,
2022-04-26 20:19:18 1125 1
原创 JS中处理文件路径URL
假设现有一地址:let url = "http://www.bilibili.com/yellowbooks.pdf";;提取文件名(含后缀):let fileName = url.match(/[^\/]+\.[^\/]+$/)[0];//"yellowbooks.pdf"提取文件名(不含后缀):let _fileName =fileName.replace(/\.(\w+)$/, '');//"yellowbooks"提取文件后缀:let fileEx=fil...
2022-04-23 22:03:17 1147
原创 python文件路径操作
print("获取当前文件路径——" + os.path.realpath(__file__)) # 获取当前文件路径parent = os.path.dirname(os.path.realpath(__file__))print("获取其父目录——" + parent) # 从当前文件路径中获取目录garder = os.path.dirname(parent)print("获取父目录的父目录——" + garder)print("获取文件名" + os.path.basename(os.
2022-04-23 21:40:47 977
原创 Django ImageField 一些内置属性
下面引用来自Django的官方文档管理文件 | Django 文档 | Django在模型中使用文件¶当您使用FileField或ImageField时,Django提供了一组处理文件的API。考虑下面的模型,使用ImageField来存储照片:from django.db import modelsclass Car(models.Model): name = models.CharField(max_length=255) price = models.D.
2022-04-23 18:05:17 1626
原创 python保存文件之前检查路径,不存在则先创建,再保存
img = Image.open(instance.img)path = os.path.join(BASE_DIR, target_filename)os.makedirs(os.path.dirname(path), exist_ok=True)img.save(path)
2022-04-23 16:46:35 1739
原创 python对接口sign签名操作
描述一般公司对外的接口都会用到sign签名,对不同的客户提供不同的apikey ,这样可以提高接口请求的安全性,避免被人抓包后乱请求。sign签名是一种很常见的方式#!/usr/bin/env python # -*- coding:utf-8 -*-import urllib.parseimport hashlibimport requestsimport json#_______________________签名方式一___________________________..
2022-04-21 10:19:47 1248
原创 js和wxs精确四舍五入,保留两位小数
js:toFix方法为银行家算法,0.15会算成0.01,所以舍弃var num =2.446242342;num = Math.round((num + Number.EPSILON) * 100) / 100; // 输出结果为 2.45wxs:var toFixedFn = function (x) { var f = parseFloat(x); if (isNaN(f)) { return '0.00';
2022-04-11 16:25:11 715
原创 localStoryge存储数据,全部自动转化成字符串,别的类型取出来用时需要转化数据类型
localStorage存储数据的格式都是以字符串的形式来存储的,localStorage存储数据的格式都是以字符串的形式来存储的,存储数组对象的方式就是将数组对象转为字符串,在读取的时候再将字符串转成数组对象操作的方式:存:var obj = {"name":"xiaoming","age":"16"}localStorage.setItem("userInfo",JSON.stringify(obj));取:var user = JSON.parse(loca...
2022-04-02 12:50:24 1475
原创 微信小程序父组件、子组件互相调用方法
<my-page id="page"></my-page>#父组件中this.selectComponent("#page").getData('我是参数');#子组件methods中getData(data){ console.log('我是子组件方法',data)}
2022-03-27 12:01:57 1062
原创 js对象和字符串互转
1. 对象转为字符串const obj = { id: 0, name: '张三', age: 12}const objToStr = JSON.stringify(obj)console.log('obj:', obj)console.log('objToStr:', objToStr)2. json字符串转为对象const str = '{"id":0,"name":"张三","age":12}'const strToObj = JSON.parse(.
2022-03-26 14:05:13 940
原创 小程序上传图片、回显、并上传到服务器
//选取图片wx.chooseImage({ count: 1, sizeType: ['original'],//原图 sourceType: [ 'album','camera'],//支持选取图片 success (res) { // tempFilePath可以作为img标签的src属性显示图片 const tempFilePaths =.
2022-03-25 23:28:54 914
原创 百度、腾讯地图坐标系互相转化
根据不同语言按照自己改造/** * 中国正常GCJ02坐标---->百度地图BD09坐标 * 腾讯地图用的也是GCJ02坐标 * @param double $lat 纬度 * @param double $lng 经度 */function Convert_GCJ02_To_BD09($lng,$lat){ $x_pi = 3.14159265358979324 * 3000.0 / 180.0; $x = $lng; $y = $lat; $z .
2022-03-23 21:34:15 1197 1
原创 js查找某个值在数组里面的索引,某个对象 (该对象存在唯一索引) 在数组里面的索引
js正常语法//存在唯一索引的对象数组let i = checkedGoodsAttributes.findIndex(function(item){return item.goods_attribute_uuid == checkedAttr.goods_attribute_uuid})if (i != -1){ checkedGoodsAttributes.splice(i,1)}// 数值类数组let j = checkedCartUuids.indexOf(uuid);if (.
2022-03-20 18:39:46 1533
原创 微信小程序动态改变数组中某个元素的值
let temp = 'cartArray[' + index + '].goodsNumber'_this.setData({ [temp]: count})
2022-03-20 16:53:42 407
mpdf56 html to pdf
2013-04-18
mpdf html to pdf
2013-04-18
光学课程设计球差概念及公式
2011-06-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人