我正在试图弄清楚正在写的库的正确形式是什么.我需要处理的一个例子是将用户登录到工作站.他们通过扫描徽章来做到这一点.可能出错的可能包括:
使用此库的应用程序必须以这种或那种方式处理这些异常.他们可能决定只说"错误",或者他们可能想要给用户更多有用的信息.在这种情况下,最佳做法是什么?为每种可能性创建自定义异常?使用现有的例外?使用Exception并传入reason(throw new Exception("Badge is deactivated.");)?我认为它是前两种的混合,在适用的情况下使用现有的异常,并在需要时创建新的异常(并在有意义的地方对异常进行分组).
给出以下代码示例:
uint8_t i, in, ni;
i = in = 2; ni = 1;
while (2 == i > ni) in++;
Run Code Online (Sandbox Code Playgroud)
如何i, in, and ni分别替换in, ni, and i或inni, inin, and nini使用emacs,vi,*nix命令或其他任何内容?
这个::有时令人难以置信的名字背后的故事是什么?
T_PAAMAYIM_NEKUDOTAYIM
Run Code Online (Sandbox Code Playgroud)
我主要是想知道是否
我用C编写了一个程序.它是一个由研究创建的程序.我想计算程序消耗的精确CPU周期.确切的周期数.知道我怎么能找到它?
我正在创建一个公共方法,允许调用者将值写入设备,例如将其称为write_vals().
由于这些值将被实时输入,我希望通过允许他们键入列表或单个值来简化用户的生活,具体取决于他们需要写入多少值.例如:
write_to_device([1,2,3])
Run Code Online (Sandbox Code Playgroud)
要么
write_to_device(1)
Run Code Online (Sandbox Code Playgroud)
我的函数想使用一个平面列表,所以我试着聪明并编写这样的代码:
input_list = []
input_list.extend( input_val )
Run Code Online (Sandbox Code Playgroud)
当用户输入列表时,这可以顺畅地工作,但是当用户输入单个整数时,它会失败:
TypeError:'int'对象不可迭代
使用list.append()会在传入列表时创建一个嵌套列表,这将是另一个扁平化的麻烦.
检查传入的对象的类型看起来很笨拙和非pythonic,并希望list.extend()接受非迭代让我无处可去.所以尝试了各种其他编码方法.
建议(仅限编码相关)将不胜感激.
我的最后一个问题"在Win-7下列出服务和服务状态"使我开始研究一种解决方案,该解决方案基于.manifest文件为我的应用程序提供Windows Vista以后的管理员权限.
我不确定继续上一个问题,因为它们不一样所以这是另一个问题:
我的应用程序现在在Win 7下工作正常,无论我是否因为清单文件而"以管理员身份"运行它.我的清单文件如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.6.0.5" processorArchitecture="X86" name="ServiceMonitorPro" type="win32"/>
<description publisher="Powershield Ltd" product="Powershield Service Monitor">Powershield Service Monitor</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Run Code Online (Sandbox Code Playgroud)
当应用程序在Windows 7或Vista上运行时,UAC会出现如下对话框: alt text http://www.freeimagehosting.net/uploads/39787fd3dd.jpg
如何替换"未知"发布者?
另一个也是最大的问题是,即使你的应用程序在Win7或Vista下运行没有问题,在WinXP下它现在崩溃的消息:"此应用程序无法启动,因为应用程序配置不正确.重新安装应用程序可能会修复此问题问题."
我要添加的另一件事:如果我向XPMan添加引用(使用子句),那么应用程序在WinXP上工作正常,但是我的.manifest文件在Vista或Win7下没有任何区别.
我用WCF开发了一个测试服务,我试图从Windows Phone 7应用程序中使用它,但是当从服务调用一个方法时,我得到了一个奇怪的例外:
在https://server/Service.svc上没有可以接受该消息的端点 .这通常是由错误的地址或SOAP操作引起的.
WCF服务使用具有UserNameOverTransport身份验证和SSL的自定义绑定.对于授权,我使用UserNamePasswordValidator的实现.如果我尝试从控制台或silverlight应用程序使用该服务(启用跨域策略) - 它工作正常(授权).最奇怪的是,为WP7应用程序生成的ServiceReferences.ClientConfig文件与为silverlight应用程序生成的配置文件完全相同.
我不知道我的服务有什么问题......
我一直在敲我的脑袋......我不能假装成一个C++家伙......
TCHAR * pszUserName = userName.GetBuffer();
SID sid;
SecureZeroMemory(&sid, sizeof(sid));
SID_NAME_USE sidNameUse;
DWORD cbSid = sizeof(sid);
pLog->Log(_T("Getting the SID for user [%s]"), 1, userName);
if (!LookupAccountName(NULL, (LPSTR)pszUserName, &sid, &cbSid, NULL, 0, &sidNameUse))
{
pLog->Log(_T("Failed to look up user SID. Error code: %d"),1, GetLastError());
return _T("");
}
pLog->Log(_T("Converting binary SID to string SID"));
Run Code Online (Sandbox Code Playgroud)
消息"为用户[x]获取SID",但随后应用程序崩溃.我假设是LookupAccountName电话.
编辑:
Whoops userName是一个MFC CString
我已经用LaTeX格式将文档从英语翻译成挪威语,并且在使用挪威语特殊字符时,我收到错误
\usepackage[utf8x]{inputenc}
Run Code Online (Sandbox Code Playgroud)
尝试以PostScript/PDF/DVI格式显示挪威语(斯堪的纳维亚语)特殊字符
Package utf8x Error: MalformedUTF-8sequence.
Run Code Online (Sandbox Code Playgroud)
虽然这不起作用,但我尝试了另一种可能的解决方案:
\usepackage{ucs}
\usepackage[norsk]babel
Run Code Online (Sandbox Code Playgroud)
当我试图在Emacs中保存它时,我收到此消息:
These default coding systems were tried to encode text
in the buffer `lol.tex':
(utf-8-unix (905 . 4194277) (916 . 4194245) (945 . 4194278) (950
. 4194277) (954 . 4194296) (990 . 4194277) (1010 . 4194277) (1013
. 4194278) (1051 . 4194277) (1078 . 4194296) (1105 . 4194296))
However, each of them encountered characters it couldn't encode:
utf-8-unix cannot encode these: \345 \305 \346 \345 \370 \345 \345 \346 \345 …Run Code Online (Sandbox Code Playgroud) 有谁知道TEA(微小加密算法)的正确python实现?我尝试了我在这里找到的那个:http://sysadminco.com/code/python-tea/ - 但它似乎无法正常工作.
它返回的结果与C或Java中的其他实现不同.我猜这是由python中完全不同的数据类型引起的(实际上没有数据类型).
这是代码和示例:
def encipher(v, k):
y=v[0];z=v[1];sum=0;delta=0x9E3779B9;n=32
w=[0,0]
while(n>0):
y += (z << 4 ^ z >> 5) + z ^ sum + k[sum & 3]
y &= 4294967295L # maxsize of 32-bit integer
sum += delta
z += (y << 4 ^ y >> 5) + y ^ sum + k[sum>>11 & 3]
z &= 4294967295L
n -= 1
w[0]=y; w[1]=z
return w
def decipher(v, k):
y=v[0]
z=v[1]
sum=0xC6EF3720
delta=0x9E3779B9
n=32
w=[0,0]
# sum …Run Code Online (Sandbox Code Playgroud) c ×3
python ×2
bash ×1
c++ ×1
code-signing ×1
cpu ×1
cpu-cycles ×1
delphi ×1
document ×1
emacs ×1
encryption ×1
exception ×1
history ×1
latex ×1
list ×1
manifest ×1
php ×1
privileges ×1
process ×1
refactoring ×1
texinfo ×1
vi ×1
wcf ×1
winapi ×1
windows ×1