- 博客(78)
- 资源 (11)
- 收藏
- 关注
原创 【机器人系列】爬取携程产品图片式价格
携程旅行网是国内最大的在线旅游提供商,其价格为了防止爬虫,是用了图片形式,从而防爬。 据我所“爬”,美团最近也开始使用图片形式的价格。但是这种图片说白了其实是自欺欺人,防君子不防小人(应该是防菜鸟不防高手才对)。今天,咱们就来看看,如何破解携程的图片式价格。先上一张图,看看这个价格是怎么来的。可以看到,这个数字5,是由p_h57_7这个CSS样式定义的。而这个样式里定义了一个背景图片,
2015-03-26 18:05:12 4306 6
原创 【机器人系列】支付宝支付控件输入框模拟输入
企业中做自动化测试,会用到Selenium,它确实是一个强大,免费,而便捷的自动化测试框架。但有时候我们会遇到一些特别的浏览器输入控件,他们不是正常的Html input元素,因此Selenium无法获取到。当然,这种技术也不仅可以用来做测试,还可以....你懂的。切入正题。问题/任务描述: 实现向支付宝密码控件自动输入密码解决方案:使用JNA提供的Native代理,调用Windows系统
2015-03-26 15:49:36 5658 3
原创 【白话算法】如何根据动态规划数组求得最佳策略
我们使用动态规划求解完一个问题时,往往还需要获得具体的选择方案。本文给出一个通用法则,用于如何根据每个状态下的最佳值,即中间值数组来反推最佳方案。可能单独对一个例子来说不难,但是本文给出的是一个较为通用的方法,理解了可以在竞赛中事半功倍。
2014-04-03 13:13:36 1986
原创 【白话算法】动态规划算法什么时候能用一维数组解问题
先看三则算法的代码:0-1 背包问题:int dpf[N+1][W+1]; //数组从0开始int dp_solve(){ for(int i=0; i<N;i++) for(int j=0; j<=W;j++) if(j<w[i]) dpf[i+1][j]=dpf[i][j]; else dpf[i+1][j]=max(dpf[i][j],
2014-04-01 17:49:00 4478 1
原创 【白话算法】从0-1背包到无限制背包,到背包变种。
先上题目:0-1背包: 给定n个物品,考虑他们的重量 和 价值,分别为 w[0], w[1], w[2], w[3] ... w[n-1] 和 v[0], v[1], v[2], v[3], v[4] ... v[n-1]。 现在有一个载重量为 W 的背包,求这个背包能放入的物品组合的最大价值。(每个物品只有一件)。物品数量无限制背包: 给定n种物品,考虑各个种类的物品单件的 重量
2014-04-01 13:40:31 3816
原创 QQ截屏完美实现 小结
QQ截屏的完美模拟至现在2011年2月15日,网上仍然没有一个能够在灰暗遮罩的功能上和即时效率上完美模拟QQ截屏的软件,以下的帖子和软件和QQ截屏相比都相差了太多。http://download.csdn.net/source/2721924http://www.vckbase.com/document/viewdoc/?id=1671http://blog.csdn.net/laviewpbt/archive/2006/11/07/1370783.aspx我思考了30多天了,参照了很多看着很不习惯的基于V
2011-02-15 18:51:00 9596 13
原创 浅谈双十一背后的支付宝LDC架构和其CAP分析
看到很多人在盗用我的文章,还标记成原创,进行收费,非常令人作呕。我的所有技术文章全部免费阅读,大家不要花冤枉钱。请相关转载者立即停止此类行为!
2023-09-15 16:52:35 396
原创 大中台的黄粱一梦和复用性设计的繁荣盛世
未经许可,不得转载。博客原文:https://tbwork.org/2020/08/02/what-is-mid-platform/作者联系方式:182170230081 背景自从阿里巴巴现任CEO逍遥子在2015年提出"大中台,小前台"战略以来,关于"什么是中台",可谓是一石激起千层浪,大量文章在描述什么是中台。而不懂的人看完后依旧是云里雾里,我们经常听到一些词:“业务中台”,“技术中台”, "系统中台"等,我相信很多同学都会懵逼。本文为作者眼中对中台的理解,中台可广义可狭义,理解到其本质含义更为重
2020-08-05 14:03:19 1066
原创 浅谈微服务体系中的分层设计和领域划分
1.摘要本文阐述了一种将分层设计和DDD领域设计应用于微服务体系架构的方案实践,也是个人的最佳实践。对于互联网公司来说,我们主张将其Web服务架构分为五层:基础设施层、领域服务层、应用服务层、网关层和用户界面层(表示层)。领域服务层和应用服务层均可以采用微服务设计进行拆分,其中领域服务层将按照DDD领域建模进行领域划分,设计为一个个领域模块微服务,每个微服务高度内聚,仅关注自己的业务,领域服务间...
2018-10-24 09:12:12 14352 8
翻译 Mysql 5.7 InnoDB 锁机制
这个部分我们介绍一下InnoDB所使用的锁。共享shared lock和排他锁exclusive lock意向锁记录锁间隙锁Gap LockNK锁Next-Key插入意向锁自增锁AUTO-INC空间索引的预测锁共享(shared lock)和排他锁(exclusive lock)InnoDB 实现了标准的行级锁,主要分为两类:共享锁和排他锁。共享锁
2018-01-08 16:37:43 1654 3
翻译 Mysql 5.7 InnoDB 锁机制
这个部分我们介绍一下InnoDB所使用的锁。 [TOC]共享(shared lock)和排他锁(exclusive lock)InnoDB 实现了标准的行级锁,主要分为两类:共享锁和排他锁。共享锁(s)允许事务获取锁来读取某行记录。排他锁(x)允许事务获得锁来更新或者删除某行记录。如果事务T1获得某记录(r)的一个共享锁(s),那么就r记录来说,来自其他事务(T2)的请
2018-01-05 18:32:03 1356 1
原创 向Maven中央库提交自开发Jar包
摘要网上相关的教程很多,今天突然想起来写这么一篇,目的是想总结下在某台电脑全新安装遇到的问题,这些问题没有在网上已有教程中给出(正常情况下也不会遇到)。相信其他人也会遇到,也是怕自己会忘记,好记性不如烂笔头,所以决定写下来 :) 此教程仅适用于Windows操作系统详细步骤1. 创建一个Sonatype网站的帐号。创建好后记录下用户名密码,后面会用到~2. 创建一个ISSUE,填写好项目信息,
2017-12-21 19:10:50 1520
原创 【一起学AngularJS】第八章、添加链接和图片
本章中,我们将为手机列表中的每个手机添加缩略图以及链接。以后的步骤中我们就可以使用这些链接来展示目录中每个手机的详细信息了。 下面我们把实验代码切换到step-6分支:git checkout -f step-6如果之前你已经运行了网站,只需要刷新你的浏览器来查看最新的效果。点这里查看在线的效果。数据phones.json中存放了每个手机的ID和图片URL地址。这些URL地址指向app/img/p
2016-03-17 14:45:52 4116
原创 【一起学AngularJS】第七章、XHRs和依赖注入
之前几章中,我们使用的3个手机数据集都是硬编码的。下面让我们使用Angular自带的一个叫$http的service来从远程服务器上获取一个较大的数据集。我们将使用Angular的依赖注入(DI)为PhoneListCtrl控制器注入$http服务。 下面我们把代码切换到step-5:git checkout -f step-5刷新浏览器查看效果。也可以点这里在线看效果。数据项目文件中的app/p
2016-03-11 13:51:25 1056
原创 【一起学AngularJS】第六章、双向数据绑定
本章节中,我们将为之前展示的手机信息列表提供一个排序功能。要想实现动态排序的功能,我们只需要新建一个模型属性,并且把它和循环器绑定在一起,剩下的就交给数据绑定去完成了。 相比上一章中的例子,本章中的例子多添加了一个下拉菜单,它允许用户自己控制手机列表的显示顺序。首先我们把代码切换到step-4:git checkout -f step-4刷新浏览器查看效果(假设之前你已经运行了上一章的例子)。你可
2016-03-10 14:47:42 1456
原创 【一起学AngularJS】第五章、过滤循环器
在上一章中我们为了打牢基础做了很多的工作,所以这一章我们来学一点轻松的。我们将添加为这个网站应用添加全文搜索功能(没错,会很轻松的)。另外,结束之后我们还会写一个端到端(End to end)的测试,因为它是开发人员的好帮手。它会始终帮你监视着你的应用,并且能及时检测回归。 本次页面上的改动是增加了一个搜索框。然后下面展示的手机列表信息将会随着用户输入的搜索条件改变而改变。 代码不用自己写了,直
2016-03-10 14:46:53 2060
原创 【一起学AngularJS】第四章、Angular模版技术
同步自:http://www.tbwood.cn/articles/2016/03/08/1457434796630.html
2016-03-08 19:15:04 1312
原创 【一起学AngularJS】第三章、静态模版
同步自:http://www.tbwood.cn/articles/2016/03/07/1457322390421.html
2016-03-08 19:12:17 963
原创 【一起学AngularJS】第二章、入门引导
同步自http://www.tbwood.cn/articles/2016/03/04/1457069528183.html
2016-03-08 19:10:46 1111
原创 【一起学AngularJS】第一章、入门教程说明
同步更新自http://www.tbwood.cn/articles/2016/03/03/1456997889326.html
2016-03-08 19:06:42 2325
原创 【签名验证】支付宝即时到帐验证体系
有时候,作为服务的提供者S,需要保证与客户C间交易的可靠性和安全性。这种可靠性和安全性表现在:(1)S 拒绝所有非C的请求。(2)防止非C伪造C的请求。支付宝作为国内最大的在线第三方支付服务,在这方面是如何保证上述的可靠性和安全性的?1. 使用Https安全连接,保证通信协议安全。2. 使用签名密钥校验。(与加密密钥不同)如下图为支付宝和客户间的立即支付
2015-03-13 15:37:36 3921 1
原创 ITer 你真的有职业规划吗?
工作四年,依稀感觉到了软件行业的辛酸。我是一个在乎未来,并会为之思考的人。软件行业的确是一个高薪职业,但是所失去的是健康的生活状态,甚至是健康的身体,有几个软件行业从业者不是处于亚健康状态。年轻时也许是感受不到症状的,未来等感受到症状时,下半辈子就要多一个斗争对象了,那种感觉特别影响生活质量,尽管以后你也许小有积蓄。也有突发的可怕疾病,比如李开复的癌症。另外中国的软件行业很少有真正意义上...
2015-03-07 11:56:03 2003 12
原创 FastJSON 原理剖析 以及 和 Jackson的对比 who is the most fast!
FastJSON是一个阿里巴巴内部人员开发的,用于JSON对象和普通类对象互相转换的库。号称性能超越Jackson,今天我们就来看看,阿里巴巴大牛 vs Tatu Saloranta,到底 who is the most awesome!
2015-01-21 18:14:16 14715 2
原创 HTML5+MUI+HBuilder 之初探情人
MUI(Mobile User Interface)是国内DCloud的最新成果。它遵循了W3C最新的H5+规范,旨在提供一个高效的,跨平台的,H5前端开发框架。本文分享了作者对这项新技术的感受和想法。刚接触这项技术是令人振奋和激动的!对于作者本人来说,这也是十分幸福的一件事!作为开发者,我们不应惧怕新技术。那些可以极大的缩短我们开发成本的技术可以将我们从繁琐的开发中得到一定的解放,让我们有更多的时间享受生活,思考未来,学习业务,通往一条靠谱的养老之路!
2014-12-22 18:19:24 107984 14
原创 创始人股份分配方法
对于初创者来说,利益的分配十分重要。任何团队瑕疵,都会是致命的,有一句话,亘古不变——“成事在人”,而人最关心的就是利益。你可以用“兴趣”,“理想”在别人面前打着幌子,但是这始终是你最基本的追求。作为团队的CEO,你也应该记住这个真理,没有人愿意免费帮你干活。一点点的利益分配不均,埋下隐患,终将使公司分崩离析。
2014-11-20 11:20:36 12382
原创 [页面模板框架对比] Apache Tiles VS Sitemesh
1. 原理对比(1) Apache Tiles 顾名思义,Tile是瓷砖的意思,也就是说一个网页是由多个Tile组成的。 用户通过访问一个页面的Apache Tiles定义名,就可以访问一个由定义文件中包含的页面组成的最终的JSP。 如以下一个Apache Tiles定义文件: 其中首先告诉我们,
2014-11-10 17:00:33 7841
转载 Hibernate Search 初体验
不久前Hibernate推出了Hibernate Search 3.0 GA,由它的名字大家也可以大概猜到它的作用是对数据库中的数据进行检索的。它是hibernate对著名的全文检索系统Lucene的一个集成方案,作用在于对数据表中某些内容庞大的字段(如声明为text的字段)建立全文索引,这样通过hibernate search就可以对这些字段进行全文检索后获得相应的POJO,从而加快了对内容庞大
2014-10-17 13:57:30 1398
原创 【站长起步】阿里云+Ubuntu+java 7+ Tomcat 7 +Nginx1.6 +Mysql 5.6
本文记载了在阿里云ubuntu+java 镜像环境下搭建网站服务器环境中遇到的的错误和解决方案。
2014-09-04 10:30:19 2537
转载 Nginx/Netty/ZeroMQ网络模型
突发奇想,想写一篇综合性的,就算算是对到现在为止读过的框架这方面的一个总结吧,先来点客套话吧,嗯,为啥会有线程或者进程模型这种东西,因为计算机CPU主频已经很难再提高了,现在更倾向于设计多核系统,那么要发挥现在计算机的处理能力,就需要将系统设计成支持多处理器的,最简单的那肯定就是多线程(进程)程序了。。。尤其是在网络编程中,特别是对于每个事物都是独立的情况下,例如没有会话的HTTP请求啥的
2014-08-27 15:26:48 2378
原创 [NHibernate] 入门实例 NHibernate 3.3 GA + VS2010 +MySQL
[NHibernate] 入门实例 NHibernate 3.3 GA + VS2010 +MySQL
2014-04-22 14:33:38 5386 3
原创 NServiceBus 二级重试和错误队列设置
在项目的App.config文件中(1)如何设置二级重试(Second Level Retries)的参数: <section name="SecondLevelRetriesConfig" type="NServiceBus.Config.SecondLevelRetriesConfig, NServiceBus.Core"/>以上代码
2014-04-16 18:05:46 2560
原创 01背包问题的各种解决方案
#include using namespace std;/*0-1背包问题的 各种解决方案。*/#define N 4 //物品个数#define W 5 //背包载重量int w[N]={2,1,3,2}; // 各个物品的 重量数组int v[N]={3,2,4,2}; // 各个物品的 价值数组//正 逆 向 说明: 正向为 从第0个
2014-03-24 18:50:42 3980
原创 递归和动态规划的转换
最近重新研读了下《挑战程序设计》对动态规划和递归的关系有了点新的理解,之前的理解过于机械化,单纯的以为根据递推公式可以直接写DP代码。通俗的来说,递归 是 考虑所有的情况,一般使用搜索(DFS /BFS)来实现。在那些 可以转换为 DP 的递归算法中, 必定有很多重复的情况。比如要做以下算术1 + 11 + 1 + 12 + 1 + 13 + 1 + 1 那
2014-03-21 17:45:40 5278 1
原创 MFC 如何给Dialog 显示Menu菜单。
第一步:创建菜单,ID为 IDR_MENU1,进行菜单设计等。第二步:把要显示菜单的Dialog窗体的Menu属性下拉选择为IDR_MENU1第三步:在***Dlg.h的类定义中添加变量:CMenu * pMenu;第四步:在***Dlg.cpp的InitialDlg()函数中加入pMenu=new CMenu() ; pMenu->Load
2014-01-28 18:06:50 12104 2
原创 如何使用SkinMagic库进行MFC界面皮肤美化
下载 库。百度很多。。。第一步:在项目的stdafx.h文件中加入以下代码: #include "SkinMagicLib.h" #pragma comment(lib, "SkinMagic.lib")第二步:在主程序类文件 ***.cpp 中的 BOOL C***App::InitInstance() 函数中加入以下代码:VERIFY( 1 == InitSki
2014-01-28 18:01:53 4041
原创 MFC 在多字节编码 下编程 如何 使用新样式控件。
我们在使用MFC 进行应用程序开发时,如果使用的是多字节编码,那么程序运行后,控件样式全部会编程VC6的那种界面。而如果使用统一编码(UNICODE),则会引发很多地方的报错,一个个的改很费劲。如何在多字节编码下,同样让应用程序展现和从vista开始的window风格一样呢?创建文件 newstyle.manifest文件内容为: name="Mic
2014-01-28 16:47:22 2187
WaveSoft静态截屏1.0.0.3
2011-10-11
UniDAC 3.7 For C++Builder 6 木头破解
2011-10-11
WaveSoft静态截屏1.0.0.2
2011-09-10
QQ截屏实现札记和bug分析
2011-07-04
C++builder HOOK 简单实例鼠标计数器【供初学者使用】
2010-02-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人