再看 AspriseOCR - OCR应用开发 我写这个博文时间为 2015/11/24日,注意时间因为,网上很多文章时间上很久远,有的已经不能参考了 很多人面对从图片中识别文字或者数字0~9  A~Z 的时候都想网上查找相关的技术文章 我也找了很多,但是很可惜没有找到多少有价值的信息 大部分的信息都很老旧而且有关 AspriseOCR 的不少 尤其关于DELPHI + AspriseOCR 的更少 我从网上找到了  AspriseOCR 破解的文件 , 并且已经打包在我的上传资料上,你们可以去…
再回顾Ajax相关的内容,再次梳理学习还是很有必要的,尤其是实际的开发中,ajax更是必不可少,仔细学习以便避免不必要的错误. 文章导读: --1.使用XMLHttpRequest---------- 1.1 必备知识点 1.2 send()方法 1.3  再看CORS --2.HTTP请求和响应---------------- 2.1 Request Header中的参数 2.2 Response Header中的参数 2.3 GET请求和POST请求的区别 --3.jQuery中的Ajax-…
今天在实验室给大家介绍了一下TDD和Docker,大家对TDD都比较感兴趣,包括老板,也问了一些问题. 还是从头来说TDD吧,TDD作为敏捷开发领域的领头军,充满魅力,同时也充满争议.一切从三大军规说起: 除非这能让失败的单元测试通过,否则不允许去编写任何的产品代码. 只允许编写刚好能够导致失败的单元测试. (编译失败也属于一种失败) 只允许编写刚好能够导致一个失败的单元测试通过的产品代码. 上面这三个是网上找的中文翻译,回来后,我还是决定要把英文原文找出来,相对与上面三句拗口蹩脚的翻译,我相信…
1.了解前端,深入前端,架构前端,再看前端.大体系-知识-小细节 个人认为:前端发展最终的导向是前端工程化,智能化,模块化,组件化,层次化. 2.面试第一关:理论知识. 2-1.http标准 2-2.w3c标准 2-3.ECMAScript标准 3.框架和类库 4.编码开发 5.运行环境 6.自我修养. 6-1.前端开发思维.敏捷软件开发流程(如SCRUM)和项目管理知识(如考取PMP). 6-2.个人github和技术博客.建立开源项目等总结经验和反思感想. 6-3.研究学习Web相关最新知识…
记录一次OCR程序开发的尝试 最近工作中涉及到一部分文档和纸质文档的校验工作,就想把纸质文件拍下来,用文字来互相校验.想到之前调用有道智云接口做了文档翻译.看了下OCR文字识别的API接口,有道提供了多种OCR识别的不同接口,有手写体.印刷体.表格.整题识别.购物小票识别.身份证.名片等.干脆这次就继续用有道智云接口做个小demo,把这些功能都试了试,当练手,也当为以后的可能用到的功能做准备了. 调用API接口的准备工作 首先,是需要在有道智云的个人页面上创建实例.创建应用.绑定应用和实例,获取…
前言 去年在项目中用到ftp上传文件,用FtpWebRequest和FtpWebResponse封装一个帮助类,这个在网上能找到很多,前台使用Uploadify控件,然后在服务器上搭建Ftp服务器,在本地测试程序上传到ftp服务器一点问题都没有,奇怪的是当发布Web和ftp到同一个IIS下,上传文件时程序直接卡死,然后页面卡死,后来我又发现把Web和ftp分开发布在两台机器上问题又得到解决,所以当时放弃了这个方案. 再看ftp上传文件 前几天偶然看到Wolfy写到一个项目总结,其中提到了用Ser…
原文:Android菜鸟的成长笔记(17)-- 再看Android中的Unbounded Service 前面已经写过关于startService(Unbounded Service)的一篇文章:<Android菜鸟的成长笔记(16)--Service简介>本篇将在这一篇的基础上再来看一下startService的用法.先看一段代码: TestService.java package com.example.myfirstapp; import android.app.Service; imp…
再看case语句,case语句只处理单条记录,而不是set 列名的使用,可以当做数值来使用: case when 后面简直是完美的的,什么东西都是能放的,只要是一个逻辑上的true/false的逻辑就可以: 执行顺序之加了 having 新手用having语句做条件分支,高手用select语句进行条件分支: case语句: 1)在group by语句中使用case表达式,可以灵活地选择作为聚合的单位的编号或者等级,这一点在进行非定制化统计时能发挥处巨大的为例: 2)在聚合函数中使用case表达式…
android 智能指针的学习先看邓凡平的书扫盲 再看前面两片博客提升…
一.再看property                                                                          一个静态属性property本质就是实现了get,set,delete三种方法 class Foo: @property def AAA(self): print('get的时候运行我啊') @AAA.setter def AAA(self,value): print('set的时候运行我啊') @AAA.deleter de…
当perf stat -e branches 是统计 再看perf record,perf record是为了是记录时间发生的时候的调用栈, 在我的测试代码中总共有200,000,000条branch的命令,但是为啥我只看到了1964这样一个数量级的采样呢? perf record设置了采样的频率吗? 发现了和sample_freq相关,这个sample_freq是干啥的? 表示我一秒钟采样多少次,但是这里有个问题,原来系统默认的采样频率是4000,那么这里就涉及到了所有管控涉及到的采样频率的问…
再看Scrapy(1) 基本概念 1 准备 安装scrapy: 国内镜像源(官方的pypi不稳定)安装 pip3 install -i https://pypi.douban.com/simple/ scrapy 安装virtualenvwrapper: 下载 pip3 install virtualenvwrapper 创建目录存放虚拟环境 mkdir ~/.virtualenvs 配置环境变量 export WORKON_HOME=~/.virtualenvs source /usr/loc…
再看GS接包过程 bool GameServer::ProcessLoop(packet& rPkt) { if(false == m_spDataLayer->Recv(rPkt)) return true;//没数据了 if(rPkt.is_data) { if(!rPkt.data) return false; GameChannel* pGC = m_vecChannel[rPkt.channel_id]; if(pGC) pGC->OnReceiveData(rPkt.dat…
再看GS线程 void GameServer::ProcessThreadTry() { ; packet rcvPkt; rcvPkt.data = * ]; //该事件工厂主要创建了两个定时器1.livemgr的检测(即是否是有效的连接)2.道具帮会差异更新数据的获取即定时从道具帮会容器中获取差异需要保存到数据库的这个数据 //3.释放队列的处理,现在玩家下线不是直接把channel删除掉而是放到释放队列中等没有数据库访问时在删除,防止数据库回调出现野指针 I_TimerFactory* p…
关于测试驱动的开发模式以及实战部分,建议看<Python Web开发测试驱动方法>这本书…
 2014年9月的时候,写过一篇面试的总结性质的文章,"2014年武汉的IT行情好像不太好". 原文地址:blog.csdn.net/fansunion/article/details/39480663 最近,有个网友对这篇文章发表了一个评论,"只看看,不说话",就顺便再看了原来写的这篇文章. 不过呢,一转眼,20个月过去了,我倒是很想再去说说其中的几家公司. 和大家透露下,当初参加过面试的一些公司的情况.黑色,表示"已黑".o(︶︿︶)o  1…
mysql索引设计的注意事项(大量示例,收藏再看) 目录 一.索引的重要性 二.执行计划上的重要关注点 (1).全表扫描,检索行数 (2).key,using index(覆盖索引) (3).通过key_len确定究竟使用了复合索引的几个索引字段 (4) order by和Using filesort 三.索引设计的注意事项 (1). 关于INNODB表PRIMARY KEY的建议 (2). 什么列上适合建索引,什么列上不适合建索引 (3). 索引一定是有益的吗? (4). where条件中不要…
前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能, 以增强浏览器端的动态处理能力.通常ActiveX控件都是用C++或VB语言开发,本文介绍另一种方式,在.NET Framework平台上,使用C#语言开发ActiveX控件. 虽然本文通篇都在讲如何使用C#语言开发ActiveX控件,但我并不极力推荐使用这种技术,因为该技术存在明显的局限,即需要浏览器端安 装.NET Framework(版本取决于开发…
今天帮一个朋友改一个bug 他可以算是初学者吧 .我给他看了看代码,从代码和跟他聊天能明显的发现他对客户端与服务器交互 基本 不是很了解.所以我花了更多时间去给他讲客户端与服务器的关系.我觉得从这个高度去做客户端开发会对开发的提高有十倍甚至百倍的效果.我希望更多的人能理解更多的人能收到帮助.所以把这个总结了一下发布出来. 首先:我介绍下服务器的一些东西 服务器开发是一门很深的学问不是一句话两句话能理解的,至少比android开发要复杂很多倍,至少想开发好是非常难的.这里只讲android需要理解…
mariadb 在10.2.4引入闪回特性,支持DML(INSERT, DELETE, UPDATE)操作的闪回,不支持DDL语句,使用闪回,必须设置binlog_row_image=FULL. 其原理和oracle有undo不一样,将INSERT重写为DELETE, DELETE重写为INSERT, UPDATE根据前后值进行交换,这也是必须设置binlog_row_image=FULL的原因. mysqlbinlog默认情况下会生成重做SQL,通过使用新增的"--flashback"…
最早认识的一个朋友是程序员,曾经到一家外包公司接单子,小外包公司经常遇到的问题就是和需求方谈产品功能.客户要做外包,对方让他一次性报价,但是客户连功能点自己都不清楚,这时朋友说还是按照具体功能点来做吧.但是客户坚持先给个估价才会考虑做不做,最终朋友在不得已的情况下给了个价钱,结果遇到另外一个程序员只报了他一半的价格去做这个单子..... 可想而知,当开发成本和需求不匹配的情况下,项目失败是必然的! 这种情况在我们目前创业的项目程序员客栈屡见不鲜,其实目前全世界都是类似的这样外包不靠谱的情况.不过…
不知不觉来博客园已经快两半了,时间过的真快. 这次的目标是再回顾一下传统的N层架构并且分析一下在DDD中的N层架构. 一.先来看一看传统的N层架构 N-层架构的出现,主要是由于观注点的分离而产生,这三层中BL层的职责一般比较难理清,具体请看下图. 接下来我们关注一下层间交互(分离出角色与职责以后,如何交互将成为架构或模式的主要特征) 然而在实际项目中我们也会出现这样的状况 这里存在一个反模式 二.传统的N层架构与DDD中N层架构的关系 三.分层架构的一个重要原则是:每层只能与位于其下方的层发生耦…
继上篇讨论了一些关于JavaScript线程的知识,我们不妨回过头再看看,是不是JavaScript就不能多线程呢?看下面一段很简单的代码(演示用,没考虑兼容问题): 代码判断一: <div id="div"> click me </div> <script> var div=document.getElementById("div"); div.addEventListener('click',function(){ alert…
之前弃用博客园的原因是其不支持markdown语法.到今天偶然进来试了一下,发现Markdown toggle原来是能支持的(不知道是不是因为它升级了),遂重新启用. 在一年前学C++的时候就对引用,常引用和右值引用迷迷糊糊的,再加上老师实在是不给力啊!(当时我问她一个很基础的关于函数对象的问题,她问我,什么是函数对象)所以那时候就只知道使用惯例而不知其具体内涵.再加上近一年时间都在其他语言上花费精力,对它们的区别就更加模糊了.直到前几天在stackoverflow上问了个关于SFINAE的问题…
1. clrscr(void) 清屏 clear screen;gotoxy(x,y); 移动光标至指定位置;…
写在前面 因为对Vue.js很感兴趣,而且平时工作的技术栈也是Vue.js,这几个月花了些时间研究学习了一下Vue.js源码,并做了总结与输出.文章的原地址:https://github.com/answershuto/learnVue.在学习过程中,为Vue加上了中文的注释https://github.com/answershuto/learnVue/tree/master/vue-src,希望可以对其他想学习Vue源码的小伙伴有所帮助.可能会有理解存在偏差的地方,欢迎提issue指出,共同学…
[前言] 前几日心血来潮想研究着做一个Spring框架,自然地就涉及到了Ioc容器对象创建的问题,研究怎么高性能地创建一个对象.第一联想到了Emit,兴致冲冲写了个Emit创建对象的工厂.在做性能测试的时候,发现居然比反射Activator.CreateInstance方法创建对象毫无优势可言.继而又写了个Expression Tree的对象工厂,发现和Emit不相上下,比起系统反射方法仍然无优势可言. 第一时间查看了园内大神们的研究,例如: Leven 的 探究.net对象的创建,质疑<再谈A…
工作线程与I/O线程     在ThreadPool中有这样一个方法: public static bool SetMaxThreads(int workerThreads, int completionPortThreads); 此方法中有两个参数:workerThreads和completionPortThreads.这两个参数引申出了两个概念:辅助线程(也叫工作线程)和异步 I/O 线程.这两个线程有什么区别么?通过查阅资料,我们可以了解到,工作线程其实就是我们编码主动向ThreadPoo…
在这一篇文章中,我们从源码的角度再次理解下 setState 的更新机制,供深入研究学习之用. 在上一篇手记「深入理解 React JS 中的 setState」中,我们简单地理解了 React 中 setState "诡异"表现的原因. 源码的部分为了保证格式显示正常就截图了,查看源码点击对应的链接直接跳转至 GitHub 查看即可. 1. React 中的 setState 更新逻辑代码 在更新逻辑的部分,可以看到 React 会通过 batchingStrategy.isBatc…
[结论] 当协议失效的时候,skb会挂载arp的neigt的一个链表上,然后直接返回了,相当于数据包发下了,当arp收到数据包去修复neigh的目的地址的时候,会把之前所有的neihe中等待的skb全部都往下刷到网卡队列中去; 当协议没生效的时候,skb会直接刷到网卡的队列中去; ----------- 网卡多ip 为什么一张网卡要多个ip,测试? 当我把自己的机器的地址设置成192.168.199.1时,发现主机上不了网了,那这个时候我的手机应该也上不了网才对!但是我的手机竟然上得了,这个时候…