我正在为密码验证创建一个regexp,以便在Java应用程序中用作配置参数.
正则表达式是:
^.*(?=.{8,})(?=..*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$
Run Code Online (Sandbox Code Playgroud)
密码策略是:
至少8个字符
至少包含一位数字
包含至少一个较低的alpha char和一个较高的alpha char
在一组特殊字符中包含至少一个字符(@#%$^等)
不包含空格,标签等
我只缺少第5点.我无法检查空格,制表符,回车等等的正则表达式.
谁能帮助我?
我将动态模型设置为ODE的(僵硬)系统.我目前用CVODE解决了这个问题(来自Assimulo python包中的SUNDIALS包),一切都很好.
我现在想要为问题添加一个新的3D散热器(具有与温度相关的热参数).我的想法是使用现有的FEM或FVM框架为我提供一个界面,使我可以轻松地为(t, y)常规提供3D块,并获得,而不是从头开始为3D热方程编写所有方程式.支持残差y'.原理是使用FEM系统中的方程而不是求解器.CVODE可以利用稀疏性,但预计组合系统的解决速度将慢于FEM系统自身解决的速度,并为此量身定制.
# pseudocode of a residuals function for CVODE
def residual(t, y):
# ODE system of n equations
res[0] = <function of t,y>;
res[1] = <function of t,y>;
...
res[n] = <function of t,y>;
# Here we add the FEM/FVM residuals
for i in range(FEMcount):
res[n+1+i] = FEMequations[FEMcount](t,y)
return res
Run Code Online (Sandbox Code Playgroud)
我的问题是(a)这种方法是否合理,(b)是否有一个FEM或FVM库可以轻松地让我将其视为一个方程组,这样我就可以"将它"粘贴到我现有的一套ODE方程.
如果不能让两个系统共享同一个时间轴,那么我将不得不以步进模式运行它们,我在那里运行一个模型一小段时间,更新另一个模型的边界条件,运行那个,更新第一个模型的BC,等等.
我对精彩的图书馆FiPy有一些经验,我期望最终以上述方式使用该库.但我想知道其他系统在这种性质问题上的经验,以及我错过的其他方法.
编辑:我现在有一些看似有效的示例代码,显示了如何使用CVODE解决FiPy网格扩散残差.然而,这只是一种方法(使用FiPy),其余的问题和疑虑仍然存在.欢迎任何建议.
from fipy import *
from fipy.solvers.scipy import DefaultSolver
solverFIPY = DefaultSolver()
from assimulo.solvers import CVode as solverASSIMULO
from …Run Code Online (Sandbox Code Playgroud) python finite-element-analysis differential-equations fipy assimulo
我是Web服务的新手,但对Delphi来说并不陌生.
我正在使用"WSDL Importer"向导将WSDL文件导入Delphi 2010.WSDL文件包含一些Delphi完全忽略的"attributeGroup"标签,这可能是一个bug,虽然我还没有在Quality Central上找到这个问题的条目,只在这里和这里的论坛中提到.
我的问题有几个部分:
更新
根据我的经验和这个问题的答案,我决定使用C#控制台应用程序进行包装路由,该应用程序使用JSON输入数据并输出JSON应答数据.Delphi应用程序驱动C#应用程序.整个事物的SOAP部分现在毫不费力,并且在C#.NET中"正常工作",其余功能由Delphi很好地处理.我会向其他有类似问题的人推荐这条路线.我确实尝试将C#SOAP程序集导出为COM库,并从Delphi连接到它,但它变得非常复杂,因为我的特定应用程序中的SOAP规范很大而且有点复杂.
我正在考虑测试一些算法的实现
如果你考虑 TDD/BDD 焦点......测试将是
Scenario: doubling search
Given an ordered array "[2,3,4,5,6,7]"
When I look for "4" with "doubling search" in it
Then the result must be "2"
Run Code Online (Sandbox Code Playgroud)
我想确保我的算法运行良好......那么,您将如何测试算法实现?
Windows 7控制面板"通知区域图标"允许您自定义可见的系统托盘图标.对于每个图标,它显示两件事:
看起来字幕来自工具提示文本,因为我可以设置它.
但应用程序名称呢?我在PySide中编写一个GUI,无法弄清楚我需要做什么咒语,将其设置为"python.exe"以外的其他内容.

我正在使用Cython和distutils. 在我的一个测试期间,构建了二进制扩展模块.在此之后,我的其他测试之一将import是二进制模块并对其进行测试.在Travis-CI上,链接器命令更改名称.请参阅下面的屏幕截图:编译器正确构建test01.o,但链接器错误地创建test01.cpython-34m.so:我想要test01.so.

上面的截图适用于Python 3.4; Python 2.7没有发生这个问题,导致我怀疑特定于Python的distutils可能会采取不同的做法.
distutils setup()函数,从我的主脚本调用,没有什么特别之处:
setup(
cmdclass = {'build_ext': build_ext},
ext_modules = ext_modules,
include_dirs=[numpy.get_include()]
)
Run Code Online (Sandbox Code Playgroud)
这ext_modules是Extension()从中导入的一系列类distutils.extension.
我已经完成了针对2.7和3.4的distutils文档,没有任何东西像我一样跳出来.什么可能导致名称更改,以及我可以指定哪些选项,setup()或者Extension()实例化以防止名称更改?
编辑:我已经设置了一个运行Ubuntu 13.10的本地虚拟机,并且可以确认,如上所述,Python 2.7 test01.so在Python 3.4生成时生成test01.cpython-34m.so.因此这个问题与travis-ci无关,我正在删除该标签并编辑标题.
编辑:确实这是一个改变distutils,在3.2中.我还在弄清楚我能做些什么来让我的导入声明看起来正确.
编辑: OMG在python docs中的helloworld示例在helloworld.cpython-34m.soUbuntu 13.10上的Python 3.4.1(Anaconda)上生成.Python的sysconfig模块启动了sysconfig.get_config_var('SO') == 'cpython-34m.so'.
我感到很吵了.
我想构建一个DLL,导出返回字符串的函数.这个DLL应该与其他编程语言一起使用!! 我找到了各种令人讨厌的解决方案/黑客,最好的方法是让我的函数返回Pchar,然后调用同一DLL中包含的另一个函数(让我们称之为ReleaseMemory)来释放为PChar保留的内存.
无论如何,最近我发现了FastShareMem库.它说它可以完全按照我想要的方式完成调用ReleaseMemory.在另一边FastMM似乎做同样的,只要DLL和应用程序使用FastMM内存管理器.这会立即杀死使用FastMM作为我的通用DLL的内存管理器的机会.对?
====================
FastShareMem(http://www.codexterity.com/fastsharemem.htm),Delphi 7中,Windows XP的32位,视窗7 64位
我有一个带有未指定编号的int列表.我想找到列表中与某个值匹配的两个整数之间的区别.
#Example of a list
intList = [3, 6, 2, 7, 1]
#This is what I have done so far
diffList = []
i = 0
while (i < len(intList)):
x = intList[i]
j = i +1
while (j < len(intList)):
y = intList[j]
diff = abs(x-y)
diffList.append(diff)
j += 1
i +=1
#Find all pairs that has a difference of 2
diff = diffList.count(2)
print diff
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?
编辑:对代码进行了更改.这就是我想要做的.我想知道的是除了循环之外我还能使用什么.
我有以下代码可以工作,并给我预期的输出.
#!/bin/env python
import xml.etree.ElementTree as e
tree = e.parse("Document.XML")
root = tree.getroot()
vals=[]
Run Code Online (Sandbox Code Playgroud)
代码的以下部分可以是单行还是更紧凑?
for ch in root.findall('arch'):
for gc in ch.findall('pro'):
vals.append(gc.get('label'))
Run Code Online (Sandbox Code Playgroud)
我有libxml2版本,不支持xpath,请不要建议该选项.XMl文件如下所示:
<projects>
<arch name="arch1">
<pro label="A1" type="B1" state="C1"/>
....
</arch>
....
</projects>
Run Code Online (Sandbox Code Playgroud)