不使用内置的asp.net会员提供商通常是一个非常糟糕的主意吗?
我总是为我的asp.net应用程序(面向公众)推出自己的应用程序,并且确实没有遇到任何问题.它起作用,似乎避免了一层复杂性.我的需求非常基本:一旦设置,用户必须使用电子邮件地址和密码登录,如果忘记了,它将通过电子邮件发回给他们(一个新的).设置完成后,每个用户帐户都需要做很少的工作,但我需要为每个用户存储几个额外的字段(全名,电话和其他一些字段等).需要登录凭据的用户数量很少(通常只是管理员和一些备份),其他所有人都使用未经身份验证的站点.
通过跳过asp.net会员提供程序功能,我可能错过了哪些大优势?
根据文档,内置字符串编码string_escape:
在Python源代码中生成一个适合作为字符串文字的字符串
......而unicode_escape:
在Python源代码中生成一个适合作为Unicode文字的字符串
所以,他们应该有大致相同的行为.但是,他们似乎对待单引号的方式不同:
>>> print """before '" \0 after""".encode('string-escape')
before \'" \x00 after
>>> print """before '" \0 after""".encode('unicode-escape')
before '" \x00 after
Run Code Online (Sandbox Code Playgroud)
string_escape单引号的转义,而Unicode的则没有.假设我可以简单地说:
>>> escaped = my_string.encode('unicode-escape').replace("'", "\\'")
Run Code Online (Sandbox Code Playgroud)
......并获得预期的行为?
编辑:只是为了超级清晰,预期的行为是获得适合作为文字的东西.
任何人都可以推荐图书馆 - 免费,或商业,但负担得起(
这里列出了一些:http: //en.wikipedia.org/wiki/Linear_programming#Solvers_and_scripting_.28programming.29_languages
....但我刚刚开始使用LP并希望有人可以推荐一些东西.
我试图基本上最小化手机订阅服务的定价.
我想第一个问题是:线性编程是否适用于解决这个问题?
一个简化的例子:
基本计划选项
计划A:200个语音分钟,10个文本消息,10 MB数据= 25美元
计划B:400个语音分钟,25个文本消息,25 MB数据= 40美元
计划C:1000个语音分钟,50个文本消息,50 MB数据= 65美元
...
计划F:2500分钟语音,150条短信,150 MB数据= 95美元
超出计划的费用(适用于所有情况):
每个语音分钟
$ .10每条短信
$ .20 美元每MB数据1.50美元
可选附加套餐(添加到基本套餐):
免费周末15美元
免费晚上和周末(晚上8点后)20美元
免费晚上和周末(下午6点后)35美元短信套餐#1(50条短信)5美元
短信套餐#2( 150条短信)10美元
数据包#1(20 MB数据)20美元
数据包#2(50 MB数据)30美元
Chatty用户混合包#1(100分钟语音,100条短信)$ 15
Geeky用户混合包#1(50分钟)语音,150 MB数据)35美元
等等
我有50个用户的一组详细的使用数据,并想知道每个人应该在哪个基本计划组合(A,B,C ... F),以及哪些附加软件包他们应该有.
CGEventTapCreate当我的应用程序运行时,我正在使用iTunes"窃取"媒体键.我传递的回调中的代码CGEventTapCreate检查事件,如果发现它是媒体密钥之一,则向默认通知中心发布适当的通知.
现在,如果我发布"key up"事件的通知,这样可以正常工作.如果我为"关键"事件这样做,最终我的应用程序停止获取媒体键事件和iTunes接管.关于什么可能导致这个的任何想法?代码的相关部分如下
enum {
...
PlayPauseKeyDown = 0x100A00,
PlayPauseKeyUp = 0x100B00,
...
};
static CGEventRef event_tap_callback(CGEventTapProxy proxy,
CGEventType type,
CGEventRef event,
void *refcon)
{
if (!(type == NX_SYSDEFINED) || (type == NX_KEYUP) || (type == NX_KEYDOWN))
return event;
NSEvent* keyEvent = [NSEvent eventWithCGEvent: event];
if (keyEvent.type != NSSystemDefined) return event;
switch(keyEvent.data1)
{
case PlayPauseKeyUp: // <--- this works reliably
//case PlayPauseKeyDown: // <--- this will break eventually
post_notification(@"PlayPauseMediaKeyPressed", nil, nil);
return NULL;
... and so on …Run Code Online (Sandbox Code Playgroud) 现代键盘具有特殊的多媒体键,例如"暂停/播放"或"打开Web浏览器".是否可以编写一个"按下"这些键的程序?
我更喜欢C中的解决方案,但我也会接受语言无关的解决方案.
我有一些通过cruisecontrol.net运行的C++项目.作为构建过程的一部分,我们编译并运行Boost.Test单元测试套件.我将这些配置为转储XML日志文件.虽然格式类似于JUnit/NUnit,但它并不完全相同(并且缺少一些信息),所以cruisecontrol.net无法接收它们.我想知道是否有人创建(或知道)现有的XSL转换,它将Boost.Test结果转换为JUnit/NUnit格式,或者直接转换为可呈现的(html)格式.
谢谢!
cruisecontrol.net xslt continuous-integration bamboo boost-test
我PageMediaSize将a 的集合绑定PrintQueue到ItemSourcea ComboBox(这很好).然后我绑定SelectedItem的ComboBox到DefaultPrintTicket.PageMediaSize的PrintQueue.虽然这会将所选值设置为DefaultPrintTicket.PageMediaSize恰好,但它不会将最初选择的值设置为ComboBox初始值.DefaultPrintTicket.PageMediaSize 这是因为DefaultPrintTicket.PageMediaSize引用与集合中的任何引用都不匹配.但是我不希望它通过引用来比较对象,而是通过值来比较,但PageMediaSize不会覆盖Equals(我无法控制它).我真正想做的是设置一个IComparable供ComboBox使用,但我没有看到任何方法这样做.我试过用一个Converter,但我需要的不仅仅是价值而且我无法弄清楚如何将集合传递给ConverterProperty.关于如何处理这个问题的任何想法.
这是我的xaml
<ComboBox x:Name="PaperSizeComboBox"
ItemsSource="{Binding ElementName=PrintersComboBox, Path=SelectedItem,
Converter={StaticResource printQueueToPageSizesConverter}}"
SelectedItem="{Binding ElementName=PrintersComboBox,
Path=SelectedItem.DefaultPrintTicket.PageMediaSize}"
DisplayMemberPath="PageMediaSizeName"
Height="22"
Margin="120,76,15,0"
VerticalAlignment="Top"/>
Run Code Online (Sandbox Code Playgroud)
以及获取PageMediaSize集合的转换器的代码
public class PrintQueueToPageSizesConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
return value == null ? null :
((PrintQueue)value).GetPrintCapabilities().PageMediaSizeCapability;
} …Run Code Online (Sandbox Code Playgroud) 我在编程生涯中相对较晚地遇到了Curry-Howard Isomorphism,也许这有助于我对它完全着迷.这意味着对于每个编程概念,在形式逻辑中存在精确的模拟,反之亦然.这是一个关于这种类比的"基本"列表,在我的头脑中:
program/definition | proof
type/declaration | proposition
inhabited type | theorem/lemma
function | implication
function argument | hypothesis/antecedent
function result | conclusion/consequent
function application | modus ponens
recursion | induction
identity function | tautology
non-terminating function | absurdity/contradiction
tuple | conjunction (and)
disjoint union | disjunction (or) -- corrected by Antal S-Z
parametric polymorphism | universal quantification
Run Code Online (Sandbox Code Playgroud)
那么,对于我的问题:这种同构的一些更有趣/模糊的含义是什么?我不是逻辑学家,所以我确信我只是在这个清单上划过界限.
例如,这里有一些编程概念,我不知道逻辑中精辟的名字:
currying | "((a & b) => c) iff (a => (b => c))"
scope | "known …Run Code Online (Sandbox Code Playgroud) 在使用Graphics.DrawString时,是否可以以某种方式控制字母间距?我找不到允许我这样做的DrawString或Font的任何重载.
g.DrawString("MyString",
new Font("Courier", 44, GraphicsUnit.Pixel),
Brushes.Black,
new PointF(262, 638));
Run Code Online (Sandbox Code Playgroud)
字母间距我指的是字母之间的距离.如果我添加了足够的空间,那么间距MyString可能看起来很像.
我刚刚意识到我并不完全理解为什么在.NET中使用+ =符号分配事件.
昨天当我需要删除一个事件而不考虑我正在做的时候,我想出了这个
someobject.onsomeevent += null
Run Code Online (Sandbox Code Playgroud)
以为这会删除我之前分配的事件.
经过一番调查,我发现我必须这样做
someobject.onsomeevent -= someeventmethod;
Run Code Online (Sandbox Code Playgroud)
在搞清楚之后,我意识到我不明白如何在.NET中分配事件方法.
所以我有几个问题:
首先,这是否意味着我能做到
someobject.onsomeevent += someeventmethod;
someobject.onsomeevent += someeventothermethod;
Run Code Online (Sandbox Code Playgroud)
如果是这样,当onsomeevent发生时,它们都会被命中,并按照指定的顺序或同时进行?
此外,如何确定已将哪些事件方法分配给someobject.onsomeevent?
第二,有没有办法在某些类中保存事件方法,从someobject.onsomeevent中删除它们,并在通常触发事件的其他一些程序完成之后重新分配它们?