- 博客(1301)
- 资源 (3)
- 收藏
- 关注
转载 用c#自己实现一个简单的JSON解析器
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。相对于另一种数据交换格式 XML,JSON 有着很多优点。例如易读性更好,占用空间更少等。在 web 应用开发领域内,得益于 JavaScript 对 JSON 提供的良好支持,JSON 要比 XML 更受开发人员青睐。所以作为开发人员,如果有兴趣的话,还是应该深入了解一下 JSON 相关的知识。本着探究 JSON 原理的目的,我将会在这篇文章中详细向大家介绍一个简单的JSON解析器的解析流程和实现细节。
2024-05-13 07:57:56
129
原创 20个有用的Python单行代码
我在下面的示例代码中展示了 3 个示例,以使你清楚地了解如何将三元运算符用于一行 if-else 语句。for 循环是一个多行语句,但是在 Python 中,我们可以使用列表推导式方法在一行中编写 for 循环。我们有两种方法可以在一行中编写函数,在第一种方法中,我们将使用与三元运算符或单行循环方法相同的函数定义。你现在可以使用 del 方法在一行代码中删除 List 中的多个元素,而无需进行任何修改。下面的示例代码将向你展示如何做到这一点。一行代码片段中的分号将向你展示如何使用分号在一行中编写多行代码。
2023-01-14 08:17:09
635
1
原创 SQL优化
复合索引也称为联合索引,当我们创建一个联合索引的时候,如(k1,k2,k3),相当于创建了(k1)、(k1,k2)和(k1,k2,k3)三个索引,这就是最左匹配原则。如果字段的大小有变化,应用就会受到影响,因为它必须修改字段宽度。默认新增SQL有事务控制,导致每条都需要事务开启和事务提交,而批量处理是一次事务开启和提交,效率提升明显,达到一定量级,效果显著,平时看不出来。列经常被修改,而且每次被修改的数据的长度不同,这会引起“行迁移”现象,而这造成多余的I/O,是数据库设计中要尽力避免的,这种情况下用。
2022-10-24 19:42:01
591
原创 Google Guava规范
每个类或成员的Javadoc以一个简短的摘要片段开始。这个片段是非常重要的,在某些情况下,它是唯一出现的文本,比如在类和方法索引中。这只是一个小片段,可以是一个名词短语或动词短语,但不是一个完整的句子。它不会以或开头, 它也不会是一个完整的祈使句,如。然而,由于开头大写及被加了标点,它看起来就像是个完整的句子。Tip:一个常见的错误是把简单的Javadoc写成,这是不正确的。它应该写成。
2022-10-10 14:30:43
624
原创 权限系统设计方案
本文从易到难非常详细的介绍了权限模型的设计,在工作中需要根据实际情况来定义模型,千人以内的公司使用RBAC模型是完全够用的,没有必要吧权限模型设计的过于复杂。模型的选择要根据具体情况,比如公司体量、业务类型、人员数量等。总之最适合自己公司的模型就是最好的模型,权限模式和设计模式是一样的,都是为了更好的解决问题,不要为了使用模型而使用模型。来源:blog.csdn.net/u010482601/article/...
2022-08-16 09:09:48
297
原创 Python轻量级Web框架:Bottle库!
清华网为我们每一个网络接入点都提供了公网ip,在cmd中使用ipconfig查看ip地址,将run中的运行参数改为你的公网ip,然后在任何一台设备的浏览器上(建议手机,电脑浏览器有时候会很慢)输入ip地址和端口号(默认80),就可以访问啦!Bottle库还有很多强大的功能,Cookie的读写、插件的安装卸载与禁用都不在话下,也可以将Bottle部署到其他的服务器,非常简单的实现多线程,这些功能有待读者大大发掘哦!如果要实现更复杂的功能,我们不但需要使用GET方法,也需要POST方法。...
2022-08-16 09:06:05
240
原创 速编写一个油猴脚本
Tampermonkey,又称 Greasemonkey 油猴脚本,是一款免费的浏览器扩展,可用于管理用户脚本,它本质上是对浏览器接口的二次封装油猴脚本可用于更改页面布局样式、完成页面自动化、去广告、下载影视等功能,适用于主流的浏览器官网:https://www.tampermonkey.net/index.php1. 介绍Tampermonkey 特点包含: 内置的编辑器,可以非常方便地管理、编辑用户脚本 支持自动更新检查功能 标签中脚本运行状态速览
2022-05-16 08:15:17
819
1
原创 数据库优化八招
前言毫不夸张的说咱们后端工程师,无论在哪家公司,呆在哪个团队,做哪个系统,遇到的第一个让人头疼的问题绝对是数据库性能问题。如果我们有一套成熟的方法论,能让大家快速、准确的去选择出合适的优化方案,我相信能够快速准备解决咱么日常遇到的80%甚至90%的性能问题。从解决问题的角度出发,我们得先了解到问题的原因;其次我们得有一套思考、判断问题的流程方式,让我们合理的站在哪个层面选择方案;最后从众多的方案里面选择一个适合的方案进行解决问题,找到一个合适的方案的前提是我们自己对各种方案之间的优缺点、场景有足够的
2022-05-16 08:14:03
2799
原创 从零快速编写一个油猴脚本
Tampermonkey,又称 Greasemonkey 油猴脚本,是一款免费的浏览器扩展,可用于管理用户脚本,它本质上是对浏览器接口的二次封装油猴脚本可用于更改页面布局样式、完成页面自动化、去广告、下载影视等功能,适用于主流的浏览器官网:https://www.tampermonkey.net/index.php1. 介绍Tampermonkey 特点包含: 内置的编辑器,可以非常方便地管理、编辑用户脚本 支持自动更新检查功能 标签中脚本运行状态速览
2022-05-03 13:36:04
3545
3
原创 Python多线程、多进程
作者:钱魏Way,来源:https://www.biaodianfu.com/python-multi-thread-and-multi-process.html在学习Python的过程中,有接触到多线程编程相关的知识点,先前一直都没有彻底的搞明白。今天准备花一些时间,把里面的细节尽可能的梳理清楚。线程与进程的区别进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调.
2022-04-05 18:32:31
329
原创 识别密文加密方式
前言爬虫工程师在做加密参数逆向的时候,经常会遇到各种各样的加密算法、编码、混淆,每个算法都有其对应的特征,对于一些较小的网站,往往直接引用这些官方算法,没有进行魔改等其他操作,这种情况下,如果我们能熟悉常见算法的特征,通过密文就能猜测出使用的哪种算法、编码、混淆,将会大大提高工作效率!在 CTF 中通常也会有密码类的题目,掌握一些常见密文特征也是 CTFer 们必备的技能!本文将介绍以下编码和加密算法的特征: 编码:Base 系列、Unicode、Escape、URL、Hex; 算法
2022-03-07 16:18:50
19886
原创 requests-cache提高爬虫效率
在做爬虫的时候,我们往往可能这些情况: 网站比较复杂,会碰到很多重复请求。 有时候爬虫意外中断了,但我们没有保存爬取状态,再次运行就需要重新爬取。 还有诸如此类的问题。那怎么解决这些重复爬取的问题呢?大家很可能都想到了“缓存”,也就是说,爬取过一遍就直接跳过爬取。那一般怎么做呢?比如我写一个逻辑,把已经爬取过的 URL 保存到文件或者数据库里面,每次爬取之前检查一下是不是在列表或数据库里面就好了。是的,这个思路没问题,但有没有想过这些问题: 写入到文件或者数据库可能
2022-03-07 16:17:12
637
原创 34 个 Python 办公自动化工具库
本次内容涵盖了Excel、Word、PPT、ODF、PDF、邮件、微信、文件处理等所有能在办公场景实现自动化的库,希望能够对大家有所帮助。Python Excel自动化库1.xlwings 库官网:https://www.xlwings.org/特点:xlwings 是开源且免费的,预装了 Anaconda 和 WinPython,可在 Windows 和 macOS 上运行。通过 Python 脚本或 Jupyter notebook 自动化 Excel,通过宏从 Excel 调用 P.
2021-12-25 18:58:46
921
原创 API 接口管理神器
API 本质是一个封装了功能并公开一个用于访问功能的接口!关于API的信息外界无从得知,所以没有好的文档,使用者就无法理解和使用。API 文档最核心的需求是简洁精准,当然要是颜值再高一点那就更好了!精准简洁的API文档可以推动研发数据规范化,降低协作成本,从而大幅度提高团队效率!最近总有阿里、腾讯、滴滴的开发朋友提到 ApiPost,自己体验操作后,发现它的优势的确明显。ApiPost 官方网站下载:https://www.apipost.cn/download.html?fr=jvhd可
2021-12-25 18:58:09
229
转载 使用 Python 地图绘制工具 -- folium 全攻略
咱们用folium进行过多次地图绘制,有粉丝反馈在进行地图绘制的时候坐标点可能是百度地图经纬度、高德地图经纬度或者腾讯地图经纬度等情况,然后发现用默认的地图底图绘制的时候存在明显的偏移另外,还有小伙伴进行地图绘制用于论文的发表,而论文要求地图是英文或者中英文显示;同样的,还有粉丝表示想用卫星影像图显示等等那么,今天我们就针对这些情况来介绍一下folium更换地图底图样式的全攻略目录: 1. 准备工作 2. 关于folium.Map() 3. 内建地图底图样式 .
2021-12-25 18:56:13
6855
7
转载 掌握 Python 中下划线的 5 个说明
文章:Python数据分析实例作者:Brook00前言本文将介绍Python中单下划线和双下划线("dunder")的各种含义和命名约定,名称修饰(name mangling)的工作原理,以及它如何影响你自己的Python类。单下划线和双下划线在Python变量和方法名称中都各有其含义。有一些含义仅仅是依照约定,被视作是对程序员的提示 - 而有一些含义是由Python解释器严格执行的。在本文中,我将讨论以下五种下划线模式和命名约定,以及它们如何影响Python程序的行为.
2021-12-25 18:54:56
259
转载 OpenPyXl
Python 下的 Excel 库Python 中有大量的原生和第三方 Excel 操作包,各有所长,不过对于刚使用 Python 与 Excel 交互的同学来说,可能有点目不暇接,所以先简单梳理一下常见的一些 Excel 包 OpenPyXL是个读写 Excel 2010 xlsx/xlsm/xltx/xltm 的 Python 库,简单易用,功能广泛,单元格格式/图片/表格/公式/筛选/批注/文件保护等等功能应有尽有,图表功能是其一大亮点 xlwings是一个基于 BSD 授权协..
2021-12-25 18:34:50
550
原创 loguru Python日志
安装这个库的安装方式很简单,直接使用 pip 就可以,我使用 Python 3 版本,安装命令如下:pip3 install loguru小试牛刀安装完毕之后,我们就可以使用了,最简单的使用方式:from loguru import loggerlogger.debug('this is a debug message')无需任何配置,即取即用。上例是打印一条 debug 级别的日志,输出结果如下:2021-03-16 22:17:23.640 | DEBUG |
2021-11-01 09:14:24
741
1
原创 全自动解密解码神器 — Ciphey
Ciphey 是一个使用自然语言处理和人工智能的全自动解密/解码/破解工具。简单地来讲,你只需要输入加密文本,它就能给你返回解密文本。就是这么牛逼。有了Ciphey,你根本不需要知道你的密文是哪种类型的加密,你只知道它是加密的,那么Ciphey就能在3秒甚至更短的时间内给你解密,返回你想要的大部分密文的答案。下面就给大家介绍 Ciphey 的实战使用教程。1.准备开始之前,你要确保Python和pip已经成功安装在电脑上。请选择以下任一种方式输入命令安装依赖:1. ..
2021-10-10 18:02:40
6537
1
原创 Python 实现定时任务的八种方案!
利用 while True: + sleep() 实现定时任务位于 time 模块中的 sleep(secs) 函数,可以实现令当前执行的线程暂停 secs 秒后再继续执行。所谓暂停,即令当前线程进入阻塞状态,当达到 sleep() 函数规定的时间后,再由阻塞状态转为就绪状态,等待 CPU 调度。基于这样的特性我们可以通过 while 死循环+sleep() 的方式实现简单的定时任务。代码示例:importdatetimeimporttimedeftime_printer()...
2021-10-10 18:01:23
742
1
原创 Python 处理日期与时间的全面总结
Python的时间处理模块在日常的使用中用的较多多,但是使用的时候基本上都是要查资料,还是有些麻烦的,梳理下,便于以后方便的使用。目录 时间相关概念 Python time模块 时间格式化 计时器功能 time模块其他内置函数 time模块包含的属性 datetime模块 date类 time类 datetime类 timedelta类 tz
2021-09-25 12:42:24
603
原创 如何防止恶意调试你的web页面,debug
作者:荣顶链接:https://zhuanlan.zhihu.com/p/404002387来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。1前言看到社区很多都在讨论如何调试,如何高级的调试,以及一些调试的奇技淫巧,今天我想和大家聊聊,怎么禁止调试,禁止他人调试我们的程序为什么会有这篇文章呢,源自一次我寻找盗版电影的遭遇,一次好奇心的驱使下,由于很多这种平台都是只做搬运,不做存储,因为存储盗版电影向他人提供是违法的,特别是那种刚出的新电影...
2021-09-12 14:32:39
1542
1
原创 python的文件监控watchdog
实时监控第三方库watchdog,其原理通过操作系统的时间触发的,不需要循环和等待使用场景: 1.监控文件系统中文件或目录的增删改情况 2.当特定的文件被创建,删除,修改,移动时执行相应的任务1. 安装pip install watchdog示例:import reimport osimport loggingfrom watchdog.events import FileSystemEventHandlerfrom watchdog.observers
2021-09-12 14:23:34
1028
原创 Rich库:丰富你的Python程序终端输出
Python是一门非常流行的语言,很多人也用它来写一些工具程序,辅助日常工作。说到写程序,大家自然想到的是各种功能强大的图形界面程序,但是写过GUI程序的朋友都知道,GUI程序虽然看起来好看,但是写起来其实是非常复杂的但是如果为了省事,写成终端程序,一个黑色的命令行界面又不太好看,有什么办法能够美化终端界面程序呢?其实在Python里还真有这样的类库,能够非常轻松的美化终端程序。今天我就为大家介绍一下这个可以美化终端输出的Python类库——rich。安装richrich和其他Pyth.
2021-09-12 14:22:09
624
原创 alive-progress进度条可视化你的项目过程
只需使用pip安装:$ pip install alive-progress唤醒它打开这样的上下文管理器:fromalive_progressimportalive_baritems=range(1000)# retrieve your set of itemswithalive_bar(len(items))asbar:# declare your expected totalforiteminitems:# iterate as usual# process each itemba
2021-09-12 14:16:00
712
原创 icecream 调试代码
使用print来调试代码,你会发现查看终端上的许多行输出,然后试图找出每个输出属于哪些代码,这是一个非常繁琐的过程。defadd(a,b):returna+bprint(add(10,8))print(add(221,91))print(add(110,78))print(add(28,14))print(add(159,76))print(add(65,4631))'''18312188422354696'''这些输出中哪...
2021-09-05 15:55:24
470
原创 You-Get 就是这么强势!
前言You-Get是什么?相信有很多人,应该还不知道它的来历,其实它就是一款支持众多网站视频下载的神器,既可以在命令提示符中操作,也可以在Python代码中运行,跟现在的很多模块都一样,下面我们来看一下它的具体用法吧。一、安装你可以选择在命令提示符使用Pip安装You-Get模块,也可以下载You-Get应用程序并安装。安装模块:pip install you-get安装好之后,我们可以先看看它的版本号:它本身支持的下载视频网站是十分多的,如图所示:可以看到,
2021-09-05 15:53:57
3115
原创 Pycharm那些隐藏的实用小技巧
Pycharm作为Python开发最常用的IDE之一,不仅兼容性好,而且功能也相当丰富,比如调试、语法高亮、智能提示等等功能,它还支持web开发框架比如Django等,当你熟悉了它之后,开发效率是相当之高的。但对于新手来说,Pycharm功能丰富的同时也是一把双刃剑,有的小伙伴刚上手之后看到一堆的英文界面难免会懵逼,哈哈哈,没有关系,今天盟主就来教大家11个Pycharm最常用的技巧,以及一些pycharm常用的快捷键,让你快速上手Python开发中最常用的IDE Pycharm,跟上老司机的车速!
2021-09-05 15:49:21
1149
2
原创 tenacity库 重试代码
00前言在爬虫过程中,经常会由于一些网络或其他不可控因素,从而遇到一些功能性问题。比如在发送请求时,会因为网络不稳定,往往会有请求超时的问题。这种情况下,我们通常会在代码中加入重试的代码。重试的代码本身不难实现,但如何写得优雅、易用,是我们要考虑的问题。Tenacity是一个通用的retry库,简化为任何任务加入重试的功能,它实现了几乎我们可以使用到的所有重试场景。先pip为敬:pip install tenacity不懂这个库怎么用, 很简单,哦对了,可能还需要
2021-09-05 15:48:10
158
1
原创 输出美观的文本化表格 prettytable
#1. 前言最近在用 Python 写一个小工具,这个工具主要就是用来管理各种资源的信息,比如阿里云的 ECS 等信息,因为我工作的电脑使用的是 LINUX,所以就想着用 python 写一个命令行的管理工具,基本的功能就是同步阿里云的资源的信息到数据库,然后可以使用命令行查询。因为信息是展现在命令行中的,众所周知,命令行展现复杂的文本看起来着实累人,于是就想着能像表格那样展示,那看起来就舒服多了。prettytable库就是这么一个工具,prettytable 可以打印出美观的表格,并且对..
2021-09-05 15:47:26
312
转载 涵盖了Excel、Word、PPT、ODF、PDF、邮件、微信、文件处理等所有能在办公场景实现自动化的库
PythonExcel自动化库// 1.xlwings 库官网:https://www.xlwings.org/特点:xlwings 是开源且免费的,预装了 Anaconda 和 WinPython,可在 Windows 和 macOS 上运行。通过 Python 脚本或 Jupyter notebook 自动化 Excel,通过宏从 Excel 调用 Python,并编写用户定义的函数(UDF 仅适用于 Windows)// 2.openpyxl 库官网:h..
2021-09-05 15:46:32
758
原创 speedtest、socket、textblob、pygame、pyqrcode、pyshorteners、googletrans、pendulum、fabulous、pywebview
Python有着很多很酷的第三方库,可以使任务变得更容易。今天就给大家分享10个有趣的Python库,每个都非常实用!分别是speedtest、socket、textblob、pygame、pyqrcode、pyshorteners、googletrans、pendulum、fabulous、pywebview。下面就给大家介绍一下~① speedtest(网速测试)Speedtest模块可以测试电脑的网络带宽大小。使用百度源安装库。#安.
2021-09-05 15:45:12
427
原创 ThreadLocal的使用场景及使用方式
两大使用场景-ThreadLocal的用途典型场景1:每个线程需要一个独享的对象(通常是工具类,典型需要使用的类有SimpleDateFormat和Random)典型场景2:每个线程内需要保存全局变量(例如在拦截器中获取用户信息),可以让不同方法直接使用,避免参数传递的麻烦。典型场景1:每个线程需要一个独享的对象每个Thread内有自己的实例副本,不共享;举例:SimpleDateFormat。(当多个线程共用这样一个SimpleDateFormat,但是这个类是不安全的) 2..
2021-08-01 17:02:08
399
原创 winreg Python也能操作注册表
前言注册表这个东西大家可能都不是很熟悉,因为我们平时用到的少;但是它是Windows的核心,很多软件的启动和日志记录什么的都包含在里面,可以说它是一个大型的数据库也不为过,今天我们就来看看Python是如何操作注册表的吧。一、注册表初次见面进入系统注册表的方法多种多样,最常见的就是运行窗口输入命令“regedit”,即可进入注册表:注册表中的几个菜单分别对应机器的根目录登陆的用户信息和本地机器信息以及用户信息和本地配置信息等。二、认识操作注册表的模块在Python中就有这
2021-08-01 17:00:53
1282
原创 Python 终结者 - 装饰器,也叫 Decorator
对于Python学习者,一旦过了入门阶段,你几乎一定会用到Python的装饰器。它经常使用在很多地方,比如Web开发,日志处理,性能搜集,权限控制等。还有一个极其重要的地方,那就是面试的时候。对,装饰器是面试中最常见的问题之一!实战入门抛出问题看这段代码:defstep1():print('step1.......')defstep2():print('step2......')defstep3():print('step3......')step1(...
2021-08-01 16:59:28
188
原创 讲透 Python 函数参数
今天给大家分享一下自己整理的一篇 Python 参数的内容,内容非常的干,全文通过案例的形式来理解知识点,自认为比网上 80% 的文章讲的都要明白,如果你是入门不久的 python 新手,相信本篇文章应该对你会有不小的帮助。接下来是正文。1. 参数分类函数,在定义的时候,可以有参数的,也可以没有参数。从函数定义的角度来看,参数可以分为两种: 必选参数:调用函数时必须要指定的参数,在定义时没有等号 可选参数:也叫默认参数,调用函数时可以指定也可以不指定,不指定就默认的参数值来。
2021-08-01 16:57:42
137
原创 httpx 爬虫效率提高一倍
最近公司 Python 后端项目进行重构,整个后端逻辑基本都变更为采用"异步"协程的方式实现。看着满屏幕经过 async await(协程在 Python 中的实现)修饰的代码,我顿时感到一脸懵逼,不知所措。虽然之前有了解过"协程"是什么东西,但并没有深入探索,于是正好借着这次机会可以好好学习一下。什么是协程?简单来说,协程是一种基于线程之上,但又比线程更加轻量级的存在。对于系统内核来说,协程具有不可见的特性,所以这种由程序员自己写程序来管理的轻量级线程又常被称作 "用户空间线...
2021-08-01 16:56:46
535
原创 爬虫相关22 个python库
1. Urllib38.93亿次下载Urllib3 是 Python 的 HTTP 客户端,它提供了许多 Python 标准库没有的功能。 线程安全 连接池 客户端 SSL/TLS 验证 使用 multipart 编码进行文件上传 用于重传请求并处理 HTTP 重定向的辅助功能 支持 gzip 和 deflate 编码 支持 HTTP 和 SOCKS 代理 尽管名字叫做 Urllib3,但它并不是 Python 自带的 urlli
2021-08-01 16:53:48
959
原创 pathlib 库用起来真是爽!!
前段时间,在使用新版本的 Django 时,我发现了 settings.py 的第一行代码从importosBASE_DIR=os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))变成了frompathlibimportPathBASE_DIR=Path(__file__).resolve().parent.parent于是我就好奇,os 和 pathlib 同样是标...
2021-08-01 16:52:18
1071
原创 常见的那些编码和加密
文章目录一、Image模块1.1准备工作1.2打开和显示已有图片(open and show)1.3创建一张新的简单图片(new)1.4图片模式的转换(convent)1.5图像的放缩1.5.1按尺寸放缩(thumbnail and resize)1.5.2按像素放缩(eval)1.6图像的裁剪、粘贴和复制1.6.1图片的裁剪(crop)1.6.2图片的粘贴(paste)1.6.3图片的复制(copy)1.7图像的融合与复合1.7.1图像的融合(blend)1.7.2图像的复合
2021-08-01 16:51:12
3558
pdf阅读器_福昕
2018-07-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人