自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 shell编程 变量作用域

shell编程 变量作用域

2023-07-30 01:49:58 226

原创 cmake简要

cmake常用语法

2022-12-24 23:18:27 216 1

原创 Linux sed awk文本处理

linux文本处理

2022-12-18 11:25:11 164

原创 Linux 计划任务

linux计划任务

2022-11-27 15:30:49 227

原创 Linux 命令系统

linux命令系统

2022-11-27 15:11:36 479

原创 Linux 基本信息

linux基本信息

2022-11-27 15:08:28 291

原创 Linux 用户系统

linux用户系统

2022-11-26 01:42:14 352

原创 Linux 权限系统

linux权限系统

2022-11-26 01:39:37 382

原创 Linux 进程管理

linux进程管理

2022-11-26 01:30:46 481

原创 Linux 日志系统

linux日志系统

2022-11-26 01:27:59 415

原创 Linux 软件管理

linux软件管理

2022-11-26 01:23:09 473

原创 Linux 目录管理

linux目录管理

2022-11-26 01:20:15 301

原创 shell编程

shell编程,简要语法

2022-11-20 23:56:48 406

原创 单元测试框架

https://en.wikipedia.org/wiki/Unit_testinghttps://en.wikipedia.org/wiki/List_of_unit_testing_frameworkshttps://docs.python-guide.org/writing/tests/https://docs.python.org/zh-cn/3/library/unittest.html#module-unittesthttps://docs.python.org/zh-cn/3/usi.

2022-05-03 12:41:32 256

转载 浏览器cache机制

https://odino.org/wasec-understanding-the-browser/浏览器做什么DNS解析:一旦用户输入一个URL,浏览器就知道它必须连接到哪个服务器,浏览器联系一个DNS服务器来找到这个服务器HTTP交换:一旦浏览器确定了哪个服务器将为我们的请求提供服务,它将与它发起一个TCP连接并开始HTTP交换呈现:浏览器根据content - type头解析响应内容,解析HTML,加载标记中包含的额外资源(例如,可能需要获取JavaScript文件或CSS文档),并尽快.

2022-05-03 12:37:05 190

原创 python常用模块

os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境运行信息系统平台sys.platform解释器版本信息sys.version sys.version_info当前Unicode实现所使用的默认字符串编码名称sys.getdefaultencoding()命令行传递参数sys.argvsys.getrefcount()对象引用计数,返回的计数通常比预期的多一,因为它包括了作.

2022-05-02 15:00:10 196

转载 消息队列简要

消息队列架构消息队列是一种可靠的异步消息传递服务消息服务器由一个或多个代理组成,并执行消息路由和传递,它是消息队列服务的核心消息服务器由一个或一组共同工作的代理(作为代理集群)组成,以执行消息路由和传递服务身份验证,操作授权设置和客户端通信协议接受客户端消息,并将其放置在各自的物理目的地将消息路由并交付给一个或多个消费客户端保证可靠的交付为监控系统性能提供数据客户端运行时代理管理到消息服务器的消息传递建立连接,建立客户的身份实现客户端确认控制跨连接的消息流可以覆盖由生

2022-05-02 14:56:10 100

原创 python发布模块

distutilshttps://docs.python.org/zh-cn/3.7/distutils/introduction.htmldistutils可以用来在Python环境中构建和安装额外的模块。新的模块可以是纯Python的,也可以是用C/C++写的扩展模块,或者可以是Python包,包中包含了由C和Python编写的模块。模块构建流程编写setup脚本(一般是setup.py)编写一个setup配置文件(可选)创建一个源码发布创建一个或多个构建(二进制)发布(可选)s

2022-05-02 14:53:16 1563

原创 http安全头

https://www.keycdn.com/blog/http-security-headershttps://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policyhttps://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protectionhttps://developer.mozilla.org/en-US/docs/Web/HTT.

2022-05-01 15:54:14 440

转载 安全API checklist

https://github.com/shieldfy/API-Security-Checklist身份认证不要使用 Basic Auth ,请使用标准的认证协议(如 JWT,OAuth)。不要重新实现 Authentication、token generating 和 password storing,请使用标准库。限制密码错误尝试次数,并且增加账号冻结功能。加密所有的敏感数据。JWT(JSON Web Token)使用随机复杂的密钥(JWT Secret)以增加暴力破解的难度。.

2022-05-01 15:10:54 183

原创 unicode_escape转义字符串普通字符相互转化

用unicode_escape转义字符串普通字符相互转化def convert_unicode_escape(): ''' 转义字符串普通字符相互转化 ''' #转义字符串 s1 = u'\u597d\u4eba' #普通字符串 s2 = r'\u597d\u4eba' print(s1, s2) #out ---- 好人 \u597d\u4eba print( s1.encode('unicode_esca

2022-05-01 15:06:24 1173

原创 python集合set运算

集合支持 x in set和 for x in set构建方法使用花括号内以逗号分隔元素的方式: {'jack', 'sjoerd'}使用集合推导式: {c for c in 'abracadabra' if c not in 'abc'}使用类型构造器: set(), set('foobar'), set(['a', 'b', 'foo'])比较运算aa = {'a', 'b', '444'}bb = {'a', 'b', 'c'}cc = {'a', 'b'}dd = ..

2022-02-23 22:48:19 497

原创 python __eq__ == 比较运算符

参考官方文档https://docs.python.org/zh-cn/3/reference/datamodel.html?highlight=eq#object.eqx==y调用x.__eq__(y)默认情况下,object 通过使用 is 来实现__eq__(),并在比较结果为假值时返回NotImplementedclass A(object): def __init__(self, age): self.age = age def __eq__(.

2022-02-19 23:57:50 1314

原创 pyinstaller简单使用

https://pyinstaller.readthedocs.io/en/stable/pyinstaller打包py脚本为系统可执行程序格式,windows下支持打包为exe可执行文件。安装pip install pyinstaller工作流程对脚本进行解析在脚本目录生成 xxx.spec 文件创建一个 build 目录,写入一些日志文件和中间流程文件到 build 目录创建 dist 目录,生成可执行文件到 dist 目录使用pyinstaller -F xxx.py-.

2022-02-06 02:08:08 799

原创 sizeof用于计算数组长度时注意

https://www.geeksforgeeks.org/sizeof-operator-c/可用于数据类型或表达式(包含变量),不属于任何头文件,编译器内置操作符,编译时用常数值替换sizeof,不是运行时计算的当用于数据类型时,返回该类型在内存中占用的字节数。(sizeof(int ) === 2)当用于表达式时,返回表达式值占用的字节数注意可用于计算数组大小,sizeof(arr) / sizeof(float) //arr size: 5可用于动态申请内存块,int * .

2022-02-03 00:35:47 691

原创 常用软件推荐

Title: 常用软件推荐Date: 2022-01-03持续更新推荐软件,侧重几个特点:跨平台,可以在linux,macOS,windows使用简洁,功能简洁,简单易用,能满足日常工作需要,特殊群体特殊行业可能不适合,需要定制软件轻量,体积小,占用系统资源少尽量开源免费尽量文档丰富IDEvscode跨平台,插件形式扩展功能,可支持c/c++,python,js等多种语言,配置文本化(默认图形界面)快捷键Ctrl+,快速打开配置UI插件Atom One Dark Theme.

2022-01-03 12:28:14 993

原创 python通过pywin32使用COM组件

https://mhammond.github.io/pywin32/pywin32模块封装了几乎所有的Windows API,可以从Python直接调用,安装模块pip install pywin32,安装完成后附带帮助文件Lib\site-packages\PyWin32.chmpython使用COM组件# python调用COM组件import win32com.clientimport pythoncomtry: # 使用ProgID with win32com.c.

2021-12-23 15:45:39 2140

转载 GUI库比较

复制整理https://www.zhihu.com/question/23480014回答UI设计原则各个UI系统,包括MFC、WPF、Qt,也包括其它,诸如Android SDK、Cocoa的构建建立在UI设计3大原则的基础上:面向对象;MVC;消息队列驱动;图形库构建“套路”对于一个图形界面的程序,大致可以分为3个层+----------------------+| user application |+----------------------+| ui.

2021-12-18 23:54:10 559

原创 系统GUI历史

https://de.wikipedia.org/wiki/Memexhttps://en.wikipedia.org/wiki/History_of_the_graphical_user_interfacehttp://toastytech.com/guis/guitimeline.html《个人电脑》2005年第7期183-190 追溯GUI历史做一个提纲,大致了解下系统GUI历史,更详细查看参考链接早期研究1945年范内瓦·布什(Vannevar Bush,信息论之父香农的老师)提出.

2021-12-18 00:12:47 572

原创 setTimeout传递了函数执行结果,没有延迟执行

https://developer.mozilla.org/zh-CN/docs/Web/API/setTimeoutsetTimeout处理一段请求失败后重试,原计划5秒延迟,结果发现失败后都是立即执行语法setTimeout(function[, delay, arg1, arg2, ...]);setTimeout(code[, delay]);setTimeout可以延迟delay时间后,执行function函数,或者code可执行代码字符串,arg1为执行function的参数.

2021-11-17 19:34:04 276

原创 转换沟通语言

https://97-things-every-x-should-know.gitbooks.io/97-things-every-programmer-should-know/content/en/thing_03/用户会探索自己的使用模式,他们会找到一种可行的方法,不管它有多复杂,他们都会坚持下去,提供一种显而易见的做事方式比提供两三个捷径要好。用户说他们想要什么和他们实际做什么之间存在差距,这就是为什么获取需求的最佳方法是观察用户,花一个小时观察用户比花一天时间猜测他们想要什么信息更有用程序员.

2021-11-16 18:07:54 233

原创 sum二维数组扁平为一维数组

leetcode LCP39 无人机方阵 python代码解法技术群有小伙伴不理解,自己探索解读下from typing import Listfrom collections import Counterclass Solution: def minimumSwitchingTimes(self, source: List[List[int]], target: List[List[int]]) -> int: source, target = Counter(s

2021-11-04 23:21:53 329

原创 c++源码工具

c++/c源代码查看辅助工具unifdefhttps://docs.oracle.com/cd/E75432_01/html/E71066/unifdef-1.html解析删除C程序源中经过ifdef的行,非系统自带要安装命令格式:unifdef [-clt] [-Dname] [-Uname] [-iDname] [-iUname] … [filename]–c 正常操作补充。将被删除或留空的行会得到保留,反之亦然–l 使用空白行代替删除的行–t 纯文本选项。unifde

2021-11-04 21:00:31 680

原创 tuple比较大小

https://howtodoinjava.com/python/misc/compare-tuples/tuple比较大小内置了__lt__ __le__ __gt__ __ge__通过比较两个元组中对应的元素按字典顺序进行比较的,第一个元组的第一项与第二个元组的第一项进行比较;如果它们不相等,那就是比较的结果。否则考虑第二项,然后是第三项,依此类推多重列表的比较可以转化为元组比较,在leetcode常用到# 先按第一个元素升序比较,再按第二个元素降序比较arr = [[1, 2], .

2021-11-02 00:02:23 743

原创 浏览器Cache-Control ETag缓存机制

问题最近代理一个源服务器,在源服务器返回的基础上加一些业务,其中一个html(该页面需要在GET请求url不变情况下,根据服务器时间定制document.ready脚本)后面几次请求html内容没有变化,且在devtool上要么没有发送请求,要么返回200或304查阅一番资料,原来是浏览器的缓存机制缓存https://datatracker.ietf.org/doc/html/rfc7232https://datatracker.ietf.org/doc/html/rfc7234浏览

2021-10-30 11:52:05 451

原创 windows清理脚本

闲来无事,试着用python重写之前的cmd脚本,清理下系统# 清理系统垃圾import globimport osimport winregdef remove_files(rootdir, ext): ''' 清理rootdir目录下的符合的文件 ''' for i in glob.glob(os.path.join(rootdir, ext)): try: os.remove(i) except Ex

2021-10-26 09:28:42 1085 2

原创 python日志配置demo

python日志配置demo日志类# -*- coding: utf-8 -*-import osimport sysimport threadingimport loggingimport logging.configCONFIG_FILE = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'log.config')class LogConfig(object): """日志配置类 """

2021-10-21 12:59:37 283 1

转载 对称非对称加密 数据签名

https://www.tutorialspoint.com/cryptography/index.htmhttps://www.educba.com/advanced-encryption-standard/?source=leftnav攻击被动攻击的主要目标是获得对信息的未经授权的访问,例如在通信信道上进行拦截、窃听等行为可以视为被动攻击主动攻击涉及通过对信息进行一些处理以某种方式改变信息,例如未经授权发起或修改信息传统加密传统数据以字母字符串表示,处理字母字符串转换为另一.

2021-10-14 18:51:27 100

原创 使用form的target属性实现post打开新窗口

html中form属性target取值_blank 新窗口打开_self 默认值本iframe打开_parent 父iframe打开_top 本窗口打开framename指定iframe打开利用form的target的_blank可以post方法打开新窗口,window.open是get方法打开新窗口<html><head> <title> 孙悟空 </title> <script src="

2021-10-13 18:30:03 1050

原创 代理XMLHttpRequest,hook特定Ajax请求,隐层aes加密

通过代理XMLHttpRequest.prototype原型的open方法hook特定的Ajax请求// hook.jsconst hook_urls = ["/user/info.do"];(function () { let proxy_open = window.XMLHttpRequest.prototype.open; // let proxy_send = window.XMLHttpRequest.prototype.send; window.XMLHtt

2021-10-13 13:46:12 1660

空空如也

空空如也

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

TA关注的人

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