基础知识
文章平均质量分 86
sizhi_xht
心之所向,行必能至。
展开
-
AB Test实验设计
ABtest实验设计详细介绍原创 2022-11-23 11:21:09 · 471 阅读 · 0 评论 -
区域轮廓检测方案
根据实际应用场景,需要对之前针对固定颜色背景开发的身份证图片处理程序进行优化。前期针对固定白色背景进行图片转换、截取,但是在实际场景中,用户拍摄身份证的背景是多样的,背景颜色、光照、角度等因素都不一样,综合以上问题决定采用轮廓检测算法对身份证图片进行处理。该算法采用对图像字符区域先进行纹理分割,获取字符区域后对其上下轮廓凹凸特征近似检测单个字符的宽度,从中选出稳定的局部特征,利用结构语句识别的方法进行字符识别。1 基于区域的方法分割+提取基于灰度、颜色、纹理等来进行分割,分...原创 2020-09-01 14:40:19 · 440 阅读 · 0 评论 -
Python操作MongoDB进行文件存储
将图片、文档等存入mogodb中,需要用到两个模块,pymongo和gridfs,在存入过程中必须将文件转换为二进制的格式才能存入,存入mongoDB中会生成两个文件xxx.chunk 和xxx.files。GridFS是一种将大型文件存储在MongoDB的文件规范:数据库支持以BSON格式保存二进制对象。 但是MongoDB中BSON对象最大不能超过4MB。GridFS 规范提供了一种透明的机制,可以将一个大文件分割成为多个较小的文档。为实现这点,该规范指定了一个将文件分块的标准。每个文件都将原创 2020-09-01 14:26:31 · 2715 阅读 · 1 评论 -
Ajax-hook原理解析及使用思路
针对神器ajax-hook做一个介绍和实践。ajax-hook可以拦截所有ajax请求并允许修改请求数据和响应数据。实际项目中它可以用于请求添加统一签名、协议自动解析、接口调用统计等。1.Ajax-hook整体思路Ajax-hook实现的整体思路是实现一个XMLHttpRequest的代理对象,然后覆盖全局的XMLHttpRequest,这样一但上层调用 new XMLHttpRequest这样的代码时,其实创建的是Ajax-hook的代理对象实例。具体原理图如下:上图中...原创 2020-09-01 11:52:22 · 3720 阅读 · 1 评论 -
PyCharm 常用快捷键
显示CTRL -: 折叠当前代码CTRL +: 展开当前代码CTRL SHIFT -: 折叠所有代码CTRL SHIFT +: 展开所有代码CTRL SHIFT F7: 将当前单词在整个文件中高亮,F3移动到下一个,ESC取消高亮。CTRL F11 | F11: 设置书签.SHIFT F11: 显示所有书签。CTRL F12: 当一个文件中方法太多,要快速跳到某个方法时,可以用此快...原创 2020-05-06 11:09:00 · 499 阅读 · 0 评论 -
xpath学习-轴(总结)
XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。 XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上。 XPath轴(XPath Axes)可定义某个相对于当前节点的节点集: 1、child 选取当前节点的所有子元素...原创 2019-12-25 19:38:37 · 1003 阅读 · 0 评论 -
C#中对json数据进行取值
1、添加引用Newtonsoft.Json.dll,需要升级NuGet,在项目中右击项目名,选择“管理NuGet程序包”2、引用:using Newtonsoft.Json.Linq;3、实现代码:string s = "{\"model\":\"2\"}";JObject studentsJson = JObject.Parse(s);string model = stu...原创 2019-09-09 17:31:55 · 6381 阅读 · 0 评论 -
使用c#对MongoDB进行操作
定义实体类:public sealed class Data{ [DataId] public string DataID { get; set; } public string DataName { get; set; } public string ContactName { get; set; } public string Address {...原创 2019-09-09 17:26:39 · 344 阅读 · 0 评论 -
在Ubuntu16.04上 MongoDB的安装与简单使用
MongoDB安装首先添加签名到APT:sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 为MongoDB的创建列表文件:#下面命令针对ubuntu16.04版本,在其他ubuntu版本系统请查看MongoDB官网echo“deb [a...原创 2018-07-07 12:45:44 · 751 阅读 · 0 评论 -
Anaconda创建、激活、退出、删除虚拟环境
在Anaconda中conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。所以对虚拟环境进行创建、删除等操作需要使用conda命令。创建虚拟环境:使用 conda create -n your_env_name python=X.X(2.7、3.6等),anaconda 命令创建python版本为X.X、名字为your_env_name的虚拟环境。your_env_nam...原创 2018-07-08 23:36:11 · 346544 阅读 · 12 评论 -
为什么要使用三次握手
首先,tcp是可靠传输协议,需要三次握手建立连接服务。三次握手的目的是“为了防止已经失效的连接请求报文段突然又传到服务端,因而产生错误”,这种情况是:client端发出了一个连接请求报文,而是因为某些未知的原因在某个网络节点上发生延迟、滞留,导致延迟到连接释放以后的某个时间才到达server端。本来这是一个早已失效的报文段,但是server收到此失效的报文之后,会误认为是client再次发出的转载 2017-12-07 00:14:11 · 10825 阅读 · 0 评论 -
进程与线程的区别
1、一个程序至少有一个进程;一个进程中至少包含一个线程。 2、进程在内存中拥有独立的存储空间,而多个线程则共享它所依赖的进程的存储空间。 3、进程和线程对操作系统的资源管理的方式不同。 3.1、由于多个线程共享一个进程的存储空间(内存地址),也就是说多个线程是共享堆栈和局部变量的。即:多个线程只是一个进程中不同的执行路径(例如由多个线程执行同一个类),所以在进程中,一个线程崩溃就等于整转载 2017-12-08 14:33:52 · 232 阅读 · 0 评论