自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (8)
  • 收藏
  • 关注

原创 「WSGI」WSGI概述

WSGI是什么? 为什么涉及部署时就会提到这个概念?WSGI的作用是什么?没了它,服务是不是照样没问题? 每当编写Python Web项目的时候, 这些问题就开始困扰我.经过一番阅读和讨论后, 想在此简单谈谈.在谈WSGI前, 我们需要先了解下CGI是什么.互联网初步开放于上世纪90年代, 一开始主要用于浏览资料之类的, 而对Web服务器的要求, 也就是接收用户请求, 并返回(响应)存储在其上的静态文件. 在此过程中, Web服务器主要负责编解HTTP请求. 但随着互联网

2018-12-03 15:35:41 1965

原创 「消息队列」Python使用pika的优化: 多消费者复用一个连接

通过消息队列可以非常方便的实现分布式, 上篇文章使用Python的pika搭建的"生产者-消费者"模型就是很好的例子,但经过一段时间的运行, 有两个问题令我疑惑, 下面拿出来简单谈谈.问题一: 运行一段时间后, pika会丢失与RabbitMQ的连接.问题二: 连接建立过多, 资源消耗较严重.AMQP协议规定消息队列有心跳检测机制, 即消息队列的消息代理会设置一个心跳超时时间.当客户端与消息队列的消息代理建立连接后, 客户端隔一定时间就会发送一个心跳检测包, 如果消息代理

2018-11-18 21:46:12 10154 4

原创 「操作系统」进程 线程 协程

作业与进程的区别 前者是由用户提交,后者是由系统自动生成;前者以用户任务为单位,后者是操作系统控制的单位. 作业 = 程序 + 数据 + 说明书, 进程 = 程序 + 数据 + PCB 一个作业可以分为多个进程来完成 进程与线程 进程是资源分配的最小单位, 线程是CPU调度的最小单位 一个进程下可包含1至多个线程 一个进程有独立的地址空间, 故进程间不能共享数据, 该进程下的多个线程共享该进程的地址空间,..

2021-05-28 11:58:34 322 1

原创 「网络」套接字 (Socket)

内核态与用户态 内核态: 可以访问系统资源, 比如CPU, 内存, 网络, 外设 用户态: 只能访问进程自己的资源, 无法访问系统资源 用户态访问系统资源时, 需通过系统调用, 即CPU切到内核态, 读取资源后再切回用户态. 中间涉及堆栈上下文的切换, 为避免频繁切换, 有了"用户缓冲区"和"系统缓冲区" 当用户进程需要从"磁盘/网络"中读取数据时, 系统会将"系统缓冲区"的数据复制到"用户缓冲区". 若"系统缓冲区"中没有对应数据, 系统会将当..

2021-05-27 17:27:09 792

原创 「网络」HTTP拾零

HTTPS 中间人攻击, 攻击者分别与通讯两端建立单独联系, 并交换其收到的数据, 使两端认为会话是私密的, 其实全被中间人控制,防御为HTTPS HTTPS = HTTP + TLS/SSL, HTTP包传递给TLS, 再传递给TCP. HTTPS融合了非对称加密与对称加密, 非对称加密通信仅用于首次交换对称密钥, 之后通信均使用对称加密, 提升速度 RSA非对称加密, 私钥自己持有, 公钥所有人持有; 公钥加密, 仅私钥可解密; 私钥加密, 仅公钥可解密...

2021-05-27 17:12:49 214

原创 「Nginx」负载均衡

负载均衡 负载均衡关注: 如何将请求分发到集群的不同机器上 OSI七层模型 物理层 链路层 网络层 传输层 会话层 表示层 应用层 工作在应用层的就是七层负载均衡, 工作在传输层的就是四层负载均衡 四层负载均衡 接收客户端请求后, 需要对流量做NAT处理, 即修改数据包的IP+端口号,..

2021-05-27 17:04:23 177

原创 2021春季招聘

2021年春季招聘, 获得了以下公司的offer, 感恩百度/阿里/腾讯/字节/美团/微软/旷视/猿辅导/跟谁学/伴鱼/深信服/格林深瞳/老虎证券感谢小米

2021-05-20 11:34:12 181

原创 「操作系统」IO多路复用

本文主要介绍在IO多路复用模型中, 第一阶段使用到的四个函数: select, poll, epoll, kqueue select select函数 定义 select用来监视多个文件描述符, 当文件描述符所对应事件状态不改变时, select会阻塞. 当某个文件描述符所对应事件状态改变后, select会返回 Python案例 readable_list, writeable_list, execable_list = select.s

2021-03-11 15:44:08 221

原创 「Redis」概述

概述 Redis是由C编写的key-val型内存数据库, 可以被当做数据结构服务器 value提供了如下数据结构: string(字符串), list(链表), set(集合), zset(有序集合), hash(字典) 与memcache比较 都是key-value型数据库, 都存储在内存中 memcache的value仅支持string redis支持数据持久化, 重启时可重新加载, memcache不支持持久..

2020-11-23 18:52:30 293

原创 「Raft」Raft分布式共识协议

概述 raft是一种分布式共识协议, raft解决的是多个节点如何达成共识的问题 raft保证了高可用, 但不是强一致, 而是最终一致性 raft把时间分成了一个个任期, 任期总是以选举开始的, 如果选举失败, 该任期会立即结束 在大多数节点挂掉后, 因无法选出leader, 集群就不能对外提供服务了 共识算法一般基于复制状态机, 即相同的初始状态 + 相同的输入 = 相同的结束状态. raft通过日志复制与复制状态机实现共识 ..

2020-11-16 10:27:38 572

原创 「MySQL」归档日志 重做日志 回滚日志 MVCC

MySQL分层 接入层 -> MySQL服务层 -> 存储引擎层 -> 系统文件层 接入层: 不同语言客户端通过MySQL协议与MySQL服务器连接通信, 该层负责权限验证, 连接池管理 MySQL服务层: SQL解析器, SQL优化器, 缓存 存储引擎层 系统文件层: 保存数据, 索引, 日志 binlog (归档日志) 逻辑日志, binlog是MySQL Server的日志, 用于..

2020-10-24 19:54:06 433 1

原创 「操作系统」五种IO模型 零拷贝

内核态与用户态 内核态: 可以访问系统资源, 比如CPU, 内存, 网络, 外设 用户态: 只能访问进程自己的资源, 无法访问系统资源 用户态需要访问系统资源时, 需要CPU切到内核态, 读取资源后再切回用户态. 中间涉及堆栈上下文的切换, 为避免频繁切换, 有了"用户缓冲区"和"系统缓冲区". 当用户进程需要从"磁盘/网络"中读取数据时, 系统会将"系统缓冲区"的数据复制到"用户缓冲区". 若"系统缓冲区"中没有对应数据, 系统会将当前进程挂起..

2020-10-12 21:15:19 287

原创 「Nginx」什么是代理

谈到正向代理和反向代理, 首先就要先了解代理的概念. 代理, 即代理服务器(Proxy Server), 一般我们会省略”服务器”这几个字, 代理在客户端和服务器之间充当中间人.具体过程如下, 代理接收客户端发来的请求, 代理从请求中解析出目标服务器, 并向目标服务器转发请求, 在得到目标服务器的响应后, 便将响应转发回客户端. 期间代理可以选择性的缓存响应, 以便加速后续相同访问, 因此一般代理都有较大的磁盘空间.

2020-09-30 18:51:16 1107

原创 「MySQL」拾零

存储过程: 预编译的SQL语句, 优点: 1) 避免传递SQL, 使用效率高, 2) 避免对表的直接访问, 权限控制; 缺点: 互联网因迭代快, 写在服务层其实更好. 目前不建议使用 varchar不是无限的, 取决于字符集, 一般是65536/字符集规定每个字符最大占用的字节数; char(10)与varchar(10)与int(10)区别 超大分页的优化 mysql中"limit offset, num", 是取出offset+num, 然后抛弃前offset条, 这样..

2020-09-28 22:53:41 145

原创 「操作系统」内存/编译/并发控制

编译 编译器: 将源码转成二进制的机器码. 比如gcc, javac 预处理: 替换宏定义和头文件地址 编译: 转为汇编 汇编: 转为二进制机器码, 此步将产生目标文件 链接: 分为静态链接与动态连接 静态连接: 载入代码时就会确定代码地址, 将库一起打包入可执行文件, 因此可执行文件很大, 不方便库升级, 不共享库, 耗内存. 动态链接: 调用时才确定代码地址, 共享..

2020-09-22 00:09:07 166

原创 「操作系统」调度与死锁

作业与进程的区别 前者是由用户提交,后者是由系统自动生成;前者以用户任务为单位,后者是操作系统控制的单位. 作业 = 程序 + 数据 + 说明书, 进程 = 程序 + 数据 + PCB 一个作业可以分为多个进程来完成 调度 作业调度(高级调度): 把作业从外存调入内存 进程调度(低级调度): 进程获得处理器调度 调度算法 当多个进程(作业)要使用有限资源时, 必须按一定规则选择进程(作业)来占用..

2020-09-14 22:07:45 343

原创 「网络」TCP/IP与MAC

TCP定义 TCP 是一个可靠的, 面向连接的, 基于字节流的, 全双工协议 面向连接的: 先建立逻辑连接, 再发送数据 可靠的: 超时重传, 流量控制, 拥塞控制 基于字节流: 没有固定报文边界 全双工: 发送接收并行 TCP/IP分层 具体分层 应用层: HTTP, FTP, SMTP, DNS, POP3 传输层: TCP, UDP; 信息单元为段 ..

2020-09-07 22:56:52 794

原创 「MySQL」存储结构与索引

innodb引擎的存储结构 mysql服务器中对数据的读取和写入是交给存储引擎来处理的 mysql索引分为聚簇索引, 二级索引和联合索引 记录 每条记录存储的格式称为行格式, 一般格式为: "可变字段长度列表,null值列表,记录的头信息,每列的具体数据". 头信息的delete_mask位用来标记该记录是否被删除. 头信息的record_type位表示记录类型 (0为普通记录, 1为目录项记录, 2为最小记录, 3为最大记录), 头记录的next_recor..

2020-08-28 13:46:50 217

原创 「MySQL」隔离性与锁

多个事务同时操作带来的问题 多个事务并发执行, 由此引出隔离性的问题 脏读 一个事务更新了数据, 另个事务读取了同份数据, 但前份数据回滚了 不可重复读 一个事务中两次查询的数据不一致, 因为之间另一事务提交了更新数据 幻读 一个事务中两次查询到的数据笔数不一致, 因为之间另一事务插入了数据 事务隔离级别 读取未提交内容 (read uncommited) 事务A可以读到事务B未提交的修改. 会导致...

2020-08-20 00:22:58 173

原创 「读书笔记」六月

六月七日, 坐着摇摇晃晃的绿皮火车从北京到上海参加音乐节, 看到了朴师傅和逃跑, 记得师傅的"你们加油, 我也加油", 也记得逃跑的"希望大家都能拥有美好的爱情". 当然也听了现场版的<空帆船>和<一万次悲伤>, 激动的在起伏人潮中直挺挺站立.晚上坐夜五路穿过姑苏城, 石路站上来了几个苏州小娘鱼, 静静听她们用家乡话捞家常.没有事先透露归家, 夜半扣门, 我爸认了半天也没认出我来,现在还是想再次紧紧抱着他们.

2019-06-30 05:58:44 366

原创 「操作系统」同步 异步 阻塞 非阻塞

同步/异步, 阻塞/非阻塞分别是什么? 本篇文章想简单谈谈.同步/异步当请求一个方法时, 调用者需要等待该方法执行完成, 且该方法会返回执行结果, 则对于调用者来说就是"同步"的.当请求一个方法时, 调用者不需要等待该方法执行完成, 该方法被调用后会立即返回, 注意该方法返回的不是执行结果, 比如返回None(NULL), 则对于调用者来说便是"异步"的....

2019-05-20 00:16:19 556

原创 「操作系统」进程状态模型

进程由程序代码, 相关数据集与进程控制块(Process control block, 简称PCB)所构成. 当处理器开始执行这段代码时, 我们将执行的实体称为进程, 即计算机中已运行的程序.与进程相关的一些控制信息都保存在进程控制块中, 进程控制块是操作系统支持多进程的关键. 进程控制块中的状态字段用于记录进程目前所处的状态.进程派生即在一个进程中创建一个新进程, 原先的进程为父进程, 新进程为子进程.

2019-05-19 19:27:36 4790

原创 「Nginx」Nginx配置入门

本篇文章不会做深入讲解, 阅读本篇文章, 也只能使你对配置有简单了解. 配置这部分内容比较多, 像前篇所提到的静态资源服务器, 虚拟主机, 反向代理都是需要依靠合理配置来实现的.Nginx反向代理包含被动的健康检查机制:如果在fail_timeout时间内从某服务器上收到多于max_fails个异常响应, Nginx会将该服务器标记为"失败"状态, 并在其后fail_timeout时间内避免向该服务器发送后续请求.经过这段时间后, Nginx会小心翼翼的对该"失败"服务器发送一个请求, 如果成功响应

2019-05-08 23:08:42 610

原创 「Nginx」简述Nginx

在我的理解中, Nginx是一个Web服务器, 架设在客户端和应用服务器之间, 用于在客户端与应用服务器间转发请求与响应.做反向代理服务器即为Nginx的一个作用, 常见用法在此我先一并列出, 之后都会详细提到:静态资源服务器虚拟主机(即共享主机)反向代理服务器, 并支持集群负载均衡除此之外, Nginx还可以控制IP, 缓存响应等.

2019-05-08 13:03:34 694

原创 「消息队列」Python使用pika操作RabbitMQ

前面几篇文章分别介绍了消息队列, AMQP协议以及RabbitMQ, 本篇文章开始尝试用具体语言操作RabbitMQ来搭建"生产者-消费者"模型. 本篇文章将使用Python语言, 而Python操作RabbitMQ库有很多, 比如pika, amqp以及Celery等, 下面就使用pika库来完成这个任务.调用方法和参数的含义大多已通过注释给出. 针对消费者的实现, 我提供了两种方式: MQReceiver1通过回调来处理消息, MQReceiver2通过迭代来处理消息. 当Rab

2018-11-18 21:46:22 3548 1

原创 「消息队列」RabbitMQ监控与管理

上篇文章对RabbitMQ做了大致介绍, 本篇文章还想简单谈谈RabbitMQ的监控与管理. 以我目前的理解, 监控与管理主要还是依靠rabbitmqctl命令来操作, 因此本篇文章也可以认为是命令的罗列.RabbitMQ的命令都在"RabbitMQ安装或解压目录/sbin/"目录下, 其中rabbitmqctl是RabbitMQ提供的监控与管理命令, 其支持查看状态与配置, 健康检查, 用户及权限管理, 集群管理, 虚拟主机/交换机/连接/队列/信道管理等操作.

2018-11-15 00:06:29 4446 1

原创 「消息队列」RabbitMQ概述

上篇文章谈了消息队列与AMQP是什么, 本篇文章将接着为大家介绍一款成熟的消息队列产品--RabbitMQ, 围绕其的安装, 配置, 管理以及搭建分布式集群来简单谈谈.RabbitMQ是由Rabbit公司遵循AMQP协议开发的开源消息队列产品, 经过多年的迭代, 已经演变成稳定的老牌消息队列产品.RabbitMQ是AMQP的一种实现, RabbitMQ Server是AMQP消息代理(Broker)的一种实现. RabbitMQ本质上是一个缓冲区, 其的大小只受所在主机内存和磁盘大小的限制.

2018-11-13 13:10:35 439

原创 「消息队列」消息队列概述与AMQP协议

前面几篇文章中谈了rpc服务, rpc可用于进程间通信, 使应用得以解耦, 而进程间通信还可使用消息队列来完成.本篇文章就简单谈谈消息队列, 以及其所遵守的AMQP协议.消息队列的定义消息队列, 从字面上看其必和队列有一定关系. 而队列想必大家也都有所了解, 其是一种基本的数据结构, 先入先出, 可以起到暂存数据, 共享数据的作用. 消息队列和前面的队列类似, 只是其额外还支持数据持久化, 处理确认, 流量控制, 跨服务器投递等功能.官方定义消息队列(Message Queue)是

2018-11-07 21:50:54 630

原创 「RPC」简述RPC

最近工作中一直有用到Thrift,所以想对此做个简单小结。分为两篇,第一篇(即本篇)介绍rpc是什么、其与http服务的区别、基本架构、使用步骤等,第二篇介绍常用rpc框架Thrift的Python案例。平时写程序中我们常常会用到函数调用,而一般的函数调用都在同一个进程内。但如果现在要求某个函数去调用另个工程里的一个函数,该怎么办呢?我最先想到的是http服务,编写RESTful风格的url并通过http请求传递参数从而获得远程工程的响应,这个方法可以很方便的在两个程序间保持通讯。

2018-06-16 14:37:48 1044

原创 Python traceback模块

Python的traceback模块用于从程序运行的堆栈中提取,格式化或打印程序目前执行的上下文信息。初看该模块就觉得该模块的方法普遍存在两种形式,比如extract_tb(tb)与extract_stack(f),这两个方法看上去功能就是一样的,只是一个接收tb参数,一个接收f参数。那么问题来了,这两个参数分别是什么呢?1)tb:traceback对象调用sys.exec_info()返回值是个三元组(exc_type, exc_value, exc_traceback)。其中exec_ty

2018-05-21 01:06:07 4584

原创 「信号机制」应用—程序hang住怎么办

想必大家在工作中可能遇到过这样的问题,调试和执行程序都没有问题,但在运行一段时间后,程序莫名阻塞在某处。发生这种问题,第一反应就是头疼,茫茫码海,该如何去定位问题呢?这时我会想通过增加日志寻找在哪处进入无限循环或是hang住了,但除非一次性加入很多日志,否则无法准确定位问题点。而一次无法定位,我只好等到第二次hang住后,针对日志反馈再继续对可疑区域增加记录,如此往复。结果服务可靠性没有了保证,而且整个人也十分受挫。那有没有什么办法可以一下子就找到问题在哪?不打那么多没用的日志,不用使服务多次停

2018-05-20 20:42:43 2240

原创 「信号机制」Python信号处理—signal模块

本文介绍Python语言中负责信号处理的signal模块,并会给出一些小demo.signal模块该模块提供Python中信号处理的机制,下面是几个常用的方法1. signal.signal(signalnum, handler)注册signalnum信号量的处理函数为handler其中signalnum为待注册的信号量,handler为该信号量的处理器,其是一个可调用对象,该对象必须接受两个参数,分别是信号量signum,当前程序运行堆栈frame,这两个参数Python解释器会自动传

2018-05-20 20:30:02 16022

原创 「信号机制」简述Linux信号

工作中再次接触到了Linux信号,以前认为由于离底层比较远,信号没什么用,但这次发现其的一个用途,故打算在此做个简单记录。信号是操作系统和程序间通信的一种方式,程序监听信号,并在收到信号后按照既定指示进行下一步操作,信号可由操作系统或其他应用程序发出。操作系统为每个信号都设计好了默认操作,而我们通过编程可以代替系统先前设定的操作,或直接要求程序忽略某些信号。因此程序在接收到信号后,可能会按系统既定的默认操作执行,也可能会忽略该信号,或者使用我们编写的替代方案。但有些信号是不可被替换的,具体下面会提

2018-05-20 20:10:54 1445

原创 vim命令小结

工作中经常用到vim编辑器,在此对vim做一个简单小结。抛开繁杂,挑出常用命令,做到好记又能提高工作效率。概述说到vim,不得不提vi。vi是一种轻巧的非图形化文本编辑器,“UNIX程序兼容标准”要求系统必须配备vi,而多数Linux配备有加强版的vim。相比vi,vim有着更好的使用体验,命令行键入“vi”便可知道系统所使用的编辑器版本。下面使用vim命令打开xx文件:1)vim xx:打开xx文件,并将光标定位到第一行2)vim + xx:打开xx文件,并将光标定位到最后一

2018-05-06 03:53:38 352

原创 「Python」Queue模块

Queue模块,顾名思义其实现了各种队列,比如Queue,LifoQueue与PriorityQueue。一开始我没有过多注意到该模块,随着学习深入,多线程编程越来越普遍,常常需要共享数据,而数据在共享时一旦涉及修改,就需要加锁来确保某个时刻仅有一个线程可以修改数据。由于Queue模块是线程安全的,故数据可以通过其来实现共享,比起使用锁和信号量着实方便不少。

2018-05-03 02:49:12 580

原创 jQuery发送Ajax请求

Ajax用于浏览器与服务器通信而无需刷新整个页面,服务器将不再返回整个页面,而是返回少量数据,通过JavaScript DOM更新一部分节点。期间数据传输可采用xml,json等格式,Ajax最早用于谷歌的搜索提示。其实不刷新整个页面便可与服务器通信的方法有很多,比如Flash,Java applet,iframe等,但Ajax是目前最为常见的一种。我们可以使用JavaScript扩展对象XMLHttpRequest实现Ajax,对于这种方法在这里不做介绍,下面直接了解jQuery实现Ajax的几种

2018-04-23 01:21:16 127417 4

原创 Python函数注解

函数注解是3.0版本引入的新特性,支持对函数的参数与返回值增加注释。注释可用于记录帮助信息,也可以用于标注类型。除了可以使用__annotations__属性获取外,注释没有其他附加语义。而将强制控制权交给框架,元类与装饰器,而Python则在一旁静观其变。定义1)参数注解变量名 [: 注释] [= 默认值]严格按照先注释后默认值的顺序,且两者都是可选的。注释和默认值都必须是Python表达式,在...

2018-03-10 18:46:13 6469

原创 Python强制关键字参数

强制关键字参数是3.1版本引入的新特性,目的是在可变长度的位置参数或关键字参数后增加常规参数(可选填默认值),给其赋值必须强制通过关键字传入。强制关键字参数不同于关键字参数。1)下面的参数列表在Python2中不被允许,但现在a是一个强制关键字参数,给a赋值必须强制给出"a=xx"&gt;&gt;&gt; def foo(*args, a):...   print(args, a)foo(1,2,...

2018-03-10 18:41:26 3787

原创 PIL去除写入字体的轮廓

通过之前的一篇博客,简单介绍了Python使用PIL库制作透明背景图,并写上一行文字的方法。但随后发现生成的字体有着深色轮廓,如果将该图片附在淡色背景图上会显得十分格格不入。有没有办法将这些深色轮廓去除呢?答案是肯定的,图中的文字也是由像素构成,可以考虑将那些深色像素替换成字体颜色。先用image.split方法将RGBA图像分成R、G、B、A四个单通道图像;接着使用image.point方法对R通道图像的每个像素都设成字体颜色的R值,并对G通道图像与B通道图像做同样处理,对掌管透明度的A通道图像不作处理

2018-02-04 15:00:58 2024

原创 Python生成透明背景图片

关于画图,Python不乏许多优秀的第三方库能支持操作图片,比如Matplotlib、Pillow等。这些库可以对给定图片做各种各样的修饰,甚至是直接创建新图片。今天我就尝试用Pillow来制作一张透明背景的图片,并在图片上写一句话。在画图过程中,我主要使用了Pillow的Image、ImageDraw、ImageFont三个模块,下面对它们简单介绍:Image:构建一个image对象,你可以通过new或是从现有文件中加载来创建它ImageDraw:为image对象提供简单的平面图形。我把它理解成

2018-01-20 19:21:27 26134 1

Windows下Apache,MySQL,PHP的32位安装包

Windows下Apache,MySQL,PHP的32位安装包,还包括截图与测量工具FastStone_Capture

2017-02-04

C#模仿Windows自带的扫雷游戏

使用C#模仿Windows自带的扫雷游戏,采用深度优先搜索算法,面向过程设计,提供安装版和免安装版

2017-02-04

英语单词统计软件

英语单词频数统计软件,个人自制

2016-08-22

哈弗曼编码发送与接收演示代码

哈弗曼编码发送与接收的演示代码,功能还很简单 使用C++,在VC6下调试成功

2016-08-07

英语四六级单词统计软件 V2.7

1.统计并打印多篇文章中出现过的英语单词和其的出现频率(自动剔除标点符号,中文,数字,英文人名和指定单词),可对数据进行多方式排序,搜索单词,图表分析等操作。 2.软件可进行“和原有数据合并”操作,使得不同文章间可联系、发现共同点,并通过分析数据和依照一定的统计篇数自动识别、标记出高频词汇(“高频”与“超高频”)。并可通过软件自带的词库将高频词汇翻译成中文。 3.对操作结果自动存入SQLite数据库。对关键信息进行自动备份,以便错误添加后的“数据回滚”。 4.软件自带异常处理机制,自动修复出现的部分异常。 5.该版本的源代码将会公开,软件有很多欠缺的地方,希望大家能谅解。

2015-06-16

英语单词频数统计软件 V2.6

1.统计并打印多篇文章中出现过的英语单词和其的出现频率(自动剔除标点符号,中文,数字,英文人名和指定单词),可对数据进行多方式排序,搜索单词,图表分析等操作。 2.软件可进行“和原有数据合并”操作,使得不同文章间可联系、发现共同点,并通过分析数据和依照一定的统计篇数自动识别、标记出高频词汇(“高频”与“超高频”)。 3.对操作结果自动存入文件。对关键信息进行自动备份,以便错误添加后的“数据回滚”。 4.软件自带异常处理机制,自动修复出现的部分异常。

2015-06-16

英语单词频数统计软件 V2.5

1.统计并打印多篇文章中出现过的英语单词和其的出现频率(自动剔除标点符号,中文,数字,英文人名和指定单词),可对数据进行多方式排序,搜索单词,图表分析等操作。 2.软件可进行“和原有数据合并”操作,使得不同文章间可联系、发现共同点,并通过分析数据和依照一定的统计篇数自动识别、标记出高频词汇(“高频”与“超高频”)。 3.对操作结果自动存入文件。对关键信息进行自动备份,以便错误添加后的“数据回滚”。 4.软件自带异常处理机制,自动修复出现的部分异常。

2015-06-16

空空如也

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

TA关注的人

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