支付宝即时到帐接口集成常见问题

1、支付宝 total_fee 使用的什么单位,是分还是元?

答:元。比如total_fee如果是0.01,那么指0.01元。

2、支付宝接口中的“支付宝页面跳转同步通知页面”和“支付宝服务器异步通知页面”分别是什么作用,有什么区别?

答:“同步通知页面”是return_url.asp(或php、aspx等),这个页面是用户支付成功后,会自动跳转到的页面。大家如果用支付宝买过东西,那么都会知道,支付宝交易成功页面会有短暂的停留时间,过了这个停留时间后页面会自动跳转回商户网站。但买家看到这个提示信息后有可能会把支付宝交易成功页面关掉,导致页面没有自动跳转回商户网站(return_url.asp),使得商户的业务数据没有被处理(通常是更新数据库中的订单信息)。所以,“异步通知页面”(notify_url.asp)就是为了解决这个问题而产生的。如果用户支付完成后没有跳转回return_url这个页面,但服务器异步通知页面notify_url.asp也会执行同样的更新订单操作。

但需要注意一点,因为同步通知页面和异步通知页面可能都会执行订单处理,因此在两个页面文件的订单处理代码部分需要包含防止该笔交易被重复处理的判断。

还有一点注意,用户支付完成后只会在自动跳转到return_url页面,因此用户是不会访问到notify_url页面的,所以在notify_url中的业务处理代码中,不要再添加跳转的语句,按照支付宝官方集成教程上所说,在notify_url中有且只有输出success,且必须保证为空白页面,无任何HTML标签、空格、回车换行等字符。

关于规划的一点感想

码文章的时候,不要着急,把我码字的节奏。心里想好下一句说什么,怎么说,怎么拼,敲哪个键,让行动目标准确,不浪费每一下键盘的敲击,码出来的就是有用的,写出来的就是所想的,不要做大量重复性的无用操作,虽然那样会看起来你的速度很快,但那仅仅是你的肌肉动作快而已。好了,开始整理杂乱的思路。

先引微博上已夭折的一条:做事=规划+行动。行动固然重要,如我们所说的执行力、行动力,但一个明确、合理的规划是行动的前提。没有规划,行动几乎就没有什么意义。所以,在规划上,再怎么多花点时间也不为过。一个粗糙简陋的规划让你节省了一个早晨,却让你接下来几天的行动因为各种可能的原因而被迫停止最终一无所获,那么这一个你节省的早晨太不值了。

一个有用的思索索引:是什么,为什么,怎样做。

 

郭天祥 — 天祥电子老板、单片机教育学者

简要介绍

郭天祥(1983.10- ),老家新疆伊宁,原哈尔滨工程大学学生,后接触单片机,现在已经成为单片机领域的一个企业家,名下有天祥电子网站,其最大成就之一是开设了十天学会单片机系列课程并录制出来,现在网络上广泛流传,有《十天学会51单片机视频教程》、《十天学会PIC单片机视频教程》、《十天学会AVR单片机视频教程》,可以说这三种单片机类型几乎涵盖了市面上近90%的单片机产品,这些视频教程为广大单片机爱好者提供了最好的学习材料,另外还有关于ARM、嵌入式系统的视频教程,因其名誉广传,被广大学生敬称为郭天祥老师。

生平

2004年5月首次与电子元件见面,6月开始学习单片机,9月参加黑龙江大学生电子设计大赛获一等奖,04年一年主要掌握了单片机的汇编语言编程和非常简单的常用电路设计。

05年开始学习单片机C语言编程,5月获学校五四杯电子设计竞赛二等奖,6月参加“枭龙杯”全国空中机器人比赛(于11月在成都举行)获全国亚军,9月参加“索尼杯”全国大学生电子设计竞赛未获奖。05年期间学会了C语言、C++语言、VC++编程、VHDL语言、FPGA/CPLD(可编程逻辑器件)。

06年5月获校五四杯电子设计大赛一等奖,同年被免试保送通信学院读硕士研究生。06年开始和同学一起对外承接工程项目,同时学习DSP(数字信号处理器),8月建立了个人网站(天祥电子),主要是产品宣传与销售。

07年5月获校五四杯电子设计大赛一等奖,黑龙江省挑战杯电子设计竞赛一等奖。07年主要对外承接工程项目,同年学习了ARM7(嵌入式系统设计)。

创业

在读大学本科和研究生的6年中,郭天祥在学校的创新实验室足足待了4年。

后来,从哈尔滨工程大学硕士研究生毕业的郭天祥和该校的7名本科生、研究生共同组建了一家公司。虽然公司刚刚起步,但是他们在行业中已小有名气,首年销售额预计会达到一个令人惊喜的数额。

实验室成了家

“2002年刚入校时,我就给自己设定了一个目标,将来一定要自己去创业。大二下学期,我突然感觉到:如果想在自己的专业领域进行创业,必须要先学会动手。所以,我就找到同学商量一起参加学校的电子设计竞赛。”郭天祥说。

在首次尝试中,他失败了。当时学校教电路基础课的付永庆教授被两个年轻人的求知热情感动了,将他们吸纳入创新实验室工作。这之后,实验室便成了郭天祥的另一个家。

“单片机相当于电子产品的大脑,如果这个核心控制器件失灵的话,那么家里的电冰箱、微波炉、电视、空调等电子产品恐怕都要变成废品了。”得悉这个信息之后,郭天祥将自己的研究方向定在了单片机上。

当时苦于没有硬件实验环境,身边又没有会的人可以请教,郭天祥只好上网查找资料自学。看见网上有卖单片机学习板的,他省下生活费狠心买了一块300多元的单片机学习板做练习用。“那时我每天就摆弄单片机,自己一个人摸索非常难懂的汇编语言。快放暑假时,终于做出来第一个单片机作品——一个电子钟。”

为寻找锻炼的机会,郭天祥每天早上起床后就拿着书去实验室,白天在实验室写程序、调电路,做各种硬件练习,晚上回来补充理论知识,模电、数电、高频一遍遍地重复看,几乎每天都要熬到第二天凌晨两点。这一年中,郭天祥陆续参加了国家及省级竞赛,也获得了不少奖项。

放弃15万年薪回校创业

2007年9月,郭天祥以实习生的身份到一家太阳能公司做硕士课题。实习期间,他经常与技术人员热烈讨论并交流,在一次次研发思路碰撞中,他们的产品创新思路也在一步步地改进完善。

此时,随着专业知识进一步升华,创业的想法在郭天祥的头脑中也越来越强烈。直到去年夏天,他毅然决定离开公司回到学校创业。当他提出回学校的想法时,没想到公司老总极力挽留他。当时对方答应,如果郭天祥留下,将给予其年薪15万。

“这么高的年薪,在同行业中并不多见。经过考虑,我最终还是婉拒了他们的盛情。虽然创业会有风险,但是不能因为有风险就不敢去尝试。”回到哈市,郭天祥开始与同在学校读书的几个朋友一起创业。

第一桶金让他坚定信念

2005年,一家单位慕名找到郭天祥,委托他做一个特殊的计算器。郭天祥和同学于振南很快合作完成了项目,并得到用户认可。当时对方付给他们两人一笔不少的研发费用,这也是郭天祥用所学的专业知识淘的第一桶金。这一次成功,让郭天祥更加坚定了自己创业信念,在学习更多电子技术知识的同时,他和同学共同合作开发了几个项目,一点点积累着经验。

由于在科技创新方面的突出成绩,郭天祥被学校免试推荐读研究生。大四的寒假,那时他对单片机的掌握已经很熟练了,便开始用所学的知识来开发产品。

想到很多曾经和他一样的单片机初学者可能会购买学习板,郭天祥决定开发单片机学习板。2006年2月,他做出第一个样板,3月做出第2版,4月底,郭天祥建立了个人网站,在经过3个月7次改版后,最终定型产品。这一年,他和同学叶大鹏组成了一个以他的名字命名的创业团队。

资金短缺但前景光明

创业初期,他们遇到的难题一个接着一个,而最大的问题是资金问题。为了节省资金,他们除参加研发、焊接、做售后服务、销售等日常工作外,还要负责包装、采购、发货、送货等工序。如果产品要得急,五六个年轻人就经常连续工作到深夜。

3月25日,当记者来到公司租用的工作室时,郭天祥和同事正在为设计研发的“智能油井远程监控系统”做收尾工作。郭天祥告诉记者,今年他们的销售额会很不错。

郭天祥说:“搞研发需要大型测试设备,而一台设备就要几十万。因为现在还没有资金用来建立可供调试设备的实验室,所以每测试一次产品都要到工作现场去安装检测,这在很大程度上限制、阻碍了我们发展。不过,虽然大家累一些、苦一些,但是都可以克服,我们也希望通过自己的奋斗经历激励更多的大学生为自己的创业理想和目标而努力。”

XP SP3 真正彻底激活工具 (遭遇7天内必须激活的朋友进)

安装完系统后,就在网上下了个SP3的激活工具进行激活,但今天启动时弹出“7天内必须激活”的提示,这时才知道这个XP SP3系统还是没有被完全激活。因为电脑已经装上了很多软件,所以不想再重装了。后来在网上千辛万苦,终于找到了一个可以用而且已被本人证实确实可用的激活工具。

下载地址:http://dl.dbank.com/c0qausb61t(因为容易被封,所以改了个名字completeTool.zip)

使用说明:必须在安全模式下进行安装。也就是,在启动时,按F8键进入windows启动选项,选择“安全模式”。

虚拟主机数据库管理(phpmyadmin)访问速度慢问题解决

原来的时候,一直用的是主机商(西部数码)在后台提供的phpmyadmin管理工具,但速度超级慢。令我很纳闷的是,我的网站本身访问速度并不慢,但为何数据库管理的速度却这么慢呢?我猜测了两个原因:一是,数据库服务作为一个单独服务器使用,该服务器处理速度较慢,或者与http服务器连接较慢。二是,主机商提供的phpmyadmin供所有该服务器上的虚拟主机用户使用,因此导致同时访问时速度较慢。

但是平时访问自己网站,也会频繁地与数据库进行交互,而速度却没受影响,这样就排除了第一种可能。于是我就突发奇想:既然我的网站本身运行速度很快,为何不在自己网站的内部装个phpmyadmin呢,或许速度会快呢?

于是我就迫不及待地实施了这个想法,果然,速度和访问网站本身速度一样快!

有类似问题的朋友,也可以试试这个方法。毕竟有时我们需要大量的数据库管理操作,如果速度慢,会浪费很多宝贵的时间。

细心的搜狗输入法,从中我们可以窥探到搜狗输入法成功的一些诀窍

今天,在输入“MP3”这三个字的时候,“3”已经按下去了,才意识到自己没有切换到英文输入。一般情况下,这样输入,都会出来以“mp”为拼音首字母的单词的第三个,然后我会再退格删掉,然后切换到英文输入法,再输入“MP3”。但是,我却发现,虽然我没有切换到英文,但依然正确地输入了“MP3”三个字符。然后,我再试了一遍,才发现原因所在。如下图所示:

嘿嘿,做的非常人性化吧,MP3、MP4、MP5,分别对应着选项中的第三个、第四个、第五个。其实这省去了用户很多麻烦,为用户节省了时间。

我们可以从这个简单的例子上,看出搜过输入法的细心程度。但我们可以想想,这种细心却绝非偶然,必然是大量用户使用数据、用户体验调查的结果。又想到了两个例子。

一是,输入时间的时候。比如,输入“14:55”,一般情况下,如果我们在中文输入法下输入,那么中间的冒号是中文字符,字符的后空白较大,这样的时间格式是不标准的,也不美观。现在用搜狗输入法输入时间,如果连续输入,那么在输入冒号后的第一个数字时,就会自动将中文冒号转换为英文冒号。这是一例。

另外一例是,以前的时候如果我们需要输入一个“·”,那么我们需要插入特殊字符。现在用搜狗,直接输入“dian”(点的拼音),然后最后一个选项就是这样一个特殊字符。还有“哈哈”,我们可以很快地输入“^_^”这样的文字表情。

搜狗还有“简繁切换”的功能,在某些场合比如广告字体设计中,也是非常有用的。

当然,搜狗输入法的皮肤也是一大特点,虽然大家对此褒贬不一,有人认为影响了运行速度,但多样化的个性皮肤定制还是非常人性化的,有时也会给我们的生活带来一些欢笑。我也因为搜狗的一个皮肤而专门写过一篇文章,大家有兴趣也可以点点看:
《哈哈,搜狗输入法的,超可爱的包子、饺子》

从搜狗输入法想到,一个企业如果能做到“我们最懂用户,我们最了解用户的需求,我们最清楚如何让用户获得更好的使用体验,我们的服务能做到细致入微”,那么它就有很大可能获得成功。

动态调用DLL,加载没有问题,但在调用函数时,出现下面的错误 i386\chkesp.c line:42

动态调用DLL,加载没有问题,但在调用函数时,出现下面的错误

program
module
file:   i386\chkesp.c
line:42

the   value   of   ESP   was   not   properly   saved   acorss   a   function   call.
This   is   usually   a   result   of   calling   a   functino   declared   with
one   calling   convention   with   a   function   pointer   declared   with   a
different   calling   convention

由于DLL由别人提供,不能更改,所以比较困惑。。。。

解决办法:

typedef   int   (*   yourFunc)(yourParam1,yourParam2…);

换成typedef   int   (__stdcal*   tcpinitDLL)(yourParam1,yourParam2…);

这里的__stdcall是函数调用约定的一种,函数调用约定主要约束了两件事:
1.参数传递顺序
2.调用堆栈由谁(调用函数或被调用函数)清理

常见的函数调用约定:stdcall cdecl fastcall thiscall naked call

__stdcall表示:
1.参数从右向左压入堆栈
2.函数被调用者修改堆栈
3.函数名(在编译器这个层次)自动加前导的下划线,后面紧跟一个@符号,其后紧跟着参数的尺寸
在win32应用程序里,宏APIENTRY,WINAPI,都表示_stdcall,非常常见。

【转载】DirectShow 一些常见编译错误的处理

1.LINK : fatal error LNK1181: 无法打开输入文件“largeint.lib”

DXSDK 2005之后不再提供largeint.lib,直接在设置链接库中去掉该项即可。

2.error LNK2001: 无法解析的外部符号 _MEDIATYPE_Audio 或error LNK2001: 无法解析的外部符号 _IID_IAMErrorLog

在链接库中增加 strmiids.lib

3. error LNK2019: 无法解析的外部符号 “public: __thiscall CTransformFilter::CTransformFilter(wchar_t *,struct IUnknown *,struct _GUID const &)” (??0CTransformFilter@@QAE@PA_WPAUIUnknown@@ABU_GUID@@@Z),该符号在函数 “public: __thiscall CVcomVideoFilter::CVcomVideoFilter(void)” (??0CVcomVideoFilter@@QAE@XZ) 中被引用

将工程字符集属性设置由“使用 Unicode 字符集”改为“未设置”

4. error LNK2001: 无法解析的外部符号 _CLSID_YourFilterName

未引入头文件 #include <initguid.h> 放在最前

5.error LNK2001: 无法解析的外部符号 _IID_IMediaSample2

在链接库中增加 strmiids.lib

6.error LNK2005: _DllMain@12 已经在 msvcrtd.lib(dllmain.obj) 中定义

链接器-》忽略所有默认库

7. error C2065: “GUID_NULL”: 未声明的标识

#include <windows.h>

8.!!szObjectName ^ !!wszObjectName
At line 809 of ….\BaseClass\wxdebug.cpp

是因为release版链strmbasd.lib导致的,应该链strmbase.lib

9.fatal error LNK1104: cannot open file ‘..\..\common\wmstub.lib’

需要安装Windows Media Format 9 Series SDK

10.error C2146: syntax error : missing ‘;’ before identifier ‘PVOID64’

在stdafx.h或工程的最前面加上: #define POINTER_64 __ptr64

opencv下载地址与安装方法

http://www.opencv.org.cn下载OpenCV安装程序。(这里给出V2.2下载地址:

http://www.opencv.org.cn/download/OpenCV-2.0.0a-win32.exe)假如要将OpenCV安装到C:\Program Files\OpenCV。(下面附图为OpenCV 1.0rc1的安装界面,OpenCV 1.0安装界面与此基本一致。)在安装时选择"将\OpenCV\bin加入系统变量"(Add\OpenCV\bin to the systerm PATH)。

Image:Opencv-install-step1.png Image:Opencv-install-step2.png Image:Opencv-install-step3.png Image:Opencv-install-step4.png

配置Windows环境变量

检查C:\Program Files\OpenCV\bin是否已经被加入到环境变量PATH,如果没有,请加入。加入后需要注销当前Windows用户(或重启)后重新登陆才生效。(可以在任务管理器里重启explorer.exe)

Image:Path-envirionment-var1.png Image:Path-envirionment-var2.png

配置Visual C++ 6.0

全局设置

菜单Tools->Options->Directories:先设置lib路径,选择Library files,在下方填入路径:

C:\Program Files\OpenCV\lib

然后选择include files,在下方填入路径:

C:\Program Files\OpenCV\cxcore\include
C:\Program Files\OpenCV\cv\include
C:\Program Files\OpenCV\cvaux\include
C:\Program Files\OpenCV\ml\include
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\otherlibs\cvcam\include

Image:VC-directories-setting.png

然后选择source files,在下方填入路径:

C:\Program Files\OpenCV\cv\src
C:\Program Files\OpenCV\cxcore\src
C:\Program Files\OpenCV\cvaux\src
C:\Program Files\OpenCV\otherlibs\highgui
C:\Program Files\OpenCV\otherlibs\cvcam\src\windows

最后点击”ok”,完成设置。

项目设置

每创建一个将要使用OpenCV的VC Project,都需要给它指定需要的lib。菜单:Project->Settings,然后将Setting for选为All Configurations,然后选择右边的link标签,在Object/library modules附加上

cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib

如果你不需要这么多lib,你可以只添加你需要的lib。 Image:VC-project-setting.png