我目前以微支付价格向在线服务销售基于时间的访问权限.
付款后,客户获得一组仅对购买期有效的凭证.当访问通过期满时,客户必须购买一组新的凭证.所以基本上凭证只是一次性(期间)使用.
我想为这项服务提供x分钟的免费试用,以便潜在客户能够意识到它工作正常,可能会增加总销售额.
我的问题是,你如何阻止滥用者?
也就是说,人们应该只被允许免费试用一次,如果这是不可能的,至少让他们经历一个过程/测试(如在共享软件中)过于繁琐或烦恼他们继续尝试.
显然总有人会绕过它.我正在为大多数人寻找解决方案,这些人要么不精通IT,要么时间有限,要么懒得懒得去滥用它,而不是简单地支付微小的费用.
我有一些方法,但也希望受到其他人的启发.
该服务是使用LAMP开发的.
可能重复:
推荐的编程字体?
Courier New对于编程来说是完美的(对我而言).
除了它真的需要削减0(零)和不同的1(一)与l(字母l).
是否重新编译具有这些功能的字体?
(编辑:这个问题是关于Courier New :)
(编辑2:Stack Overflow在这里失败了,我特意问过Courier New,我不关心其他编程字体.也许我需要在问题中真正说清楚.)
我有这些模型:
def Foo(Models.model):
size = models.IntegerField()
# other fields
def is_active(self):
if check_condition:
return True
else:
return False
def Bar(Models.model):
foo = models.ForeignKey("Foo")
# other fields
Run Code Online (Sandbox Code Playgroud)
现在我想要查询具有活动Foo的条形码:
Bar.objects.filter(foo.is_active())
Run Code Online (Sandbox Code Playgroud)
我收到的错误如
SyntaxError at /
('non-keyword arg after keyword arg'
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我正在研究一个大项目的一个子模块,使用VSTS 2008.
我需要将模块回滚到早期版本(大约4个签到之前).我尝试在Visual Studio UI中执行此操作,最后意识到无法回滚.
经过一些研究,我确定有一个电动工具下载,声称支持通过命令行工具回滚.但是,似乎几乎没有任何文件.
任何人都可以逐步描述如何在VS2008中回滚到以前的版本?(使用Power Tools或其他方式).
奖金问题 - 任何人都知道我们是否可以在VS2010中获得更强大的回滚支持?
我是SQL Server的新手,想知道SQL Server日志和自定义日志之间有什么区别(在我的情况下,使用log4net)?我想有更多选择记录使用的内容log4net,但数据库会自动记录哪些内容?例如,如果用户注册到我的站点,我是否必须手动记录该事务,还是会自动记录在数据库的日志中?我目前正在开始一个项目,并想知道我应该记录什么.
谢谢
我正在尝试调试一个调用本机代码来进行GL渲染的android应用。本机代码是我要移植的现有代码(我不太了解)。我已经正确地编译,链接和安装了现有代码,并且有一些本机函数可以从我的Java代码正确调用该代码。我遇到了要跟踪的段错误,让gdb在程序中设置断点时遇到了一些问题。这是在使用Cygwin的Windows XP上进行的-我可能应该提到我仍在学习gdb。
我从http://honeypod.blogspot.com/2008/01/debug-native-application-for-android.html的说明开始;这是我目前正在做的事情。
在模拟器中启动应用程序。
在cmd提示中:
> adb forward tcp:1234 tcp:1234
> adb shell
# gdbserver localhost:1234 --attach 2120
gdbserver localhost:1234 --attach 2120
Attached; pid = 2120
Listening on port 1234
Run Code Online (Sandbox Code Playgroud)
在cygwin外壳中:
arm-eabi-4.2.1/bin/arm-eabi-gdb.exe out/apps/app-android/libDM.so
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is …Run Code Online (Sandbox Code Playgroud) 我有一个用C++编写的大型库,有人创建了一个以自动方式在python(2.6)中使用它的接口.现在我有很多带有getter和setter方法的类.真的:我讨厌他们.
我想使用属性重新实现具有更多pythonic接口的类.问题是每个班级都有数百个getter和setter,而且我有很多课程.如何自动创建属性?
举例来说,如果我有一类叫做MyClass用GetX()和SetX(x),GetY,SetY,等...方法,我怎么能自动创建一个派生类MyPythonicClass与属性X(可读,如果有getter和可写的,如果有二传手)等上?我想要一种机制让我选择跳过一些getter/setter夫妇,最好是手工完成工作.
这是首选boost::lock_guard还是boost::mutex::scoped_lock?
我正在使用Boost.Thread,希望在可用时转向C++ 11线程.
是scoped_lock下一个c ++标准的一部分吗?
是否优先选择其他优势?
注:我知道,scoped_lock仅仅是一个typedef的lock_guard.
编辑:我错了scoped_lock是不是一typedef的lock_guard.这是一个typedef的unique_lock.
我用我的QMainWindow设置过滤器:
keyPressFilter = keypressfilter.KeyPressFilter(self)
self.installEventFilter(keyPressFilter)
Run Code Online (Sandbox Code Playgroud)
KeyPressFilter本身:
class KeyPressFilter(QObject):
def __init__(self, parent=None):
super(KeyPressFilter, self).__init__(parent)
def eventFilter(self, obj, event):
if event.type() == QEvent.KeyPress:
print "key press %d" % event.key()
return True
else:
return QObject.eventFilter(obj, event) <- line NN
Run Code Online (Sandbox Code Playgroud)
我得到每个eventtype QEvent\QPaintEvent\QHoverEvent\etc无限错误:
line NN, in eventFilter:
TypeError: QObject.eventFilter(QObject, QEvent): argument 2 has unexpected type 'QPaintEvent'
Run Code Online (Sandbox Code Playgroud)
我怎么能摆脱它?
Thx提前,
哔叽