小编Cal*_*ngh的帖子

Regexp Java用于密码验证

我正在为密码验证创建一个regexp,以便在Java应用程序中用作配置参数.

正则表达式是:

^.*(?=.{8,})(?=..*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$
Run Code Online (Sandbox Code Playgroud)

密码策略是:

  • 至少8个字符

  • 至少包含一位数字

  • 包含至少一个较低的alpha char和一个较高的alpha char

  • 在一组特殊字符中包含至少一个字符(@#%$^等)

  • 不包含空格,标签等

我只缺少第5点.我无法检查空格,制表符,回车等等的正则表达式.

谁能帮助我?

java regex

101
推荐指数
5
解决办法
12万
查看次数

如何将ODE系统与FEM系统相结合

我将动态模型设置为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

23
推荐指数
1
解决办法
1134
查看次数

Delphi WSDL导入工具忽略"attributeGroup"引用

我是Web服务的新手,但对Delphi来说并不陌生.

我正在使用"WSDL Importer"向导将WSDL文件导入Delphi 2010.WSDL文件包含一些Delphi完全忽略的"attributeGroup"标签,这可能是一个bug,虽然我还没有在Quality Central上找到这个问题的条目,只在这里这里的论坛中提到.

我的问题有几个部分:

  1. 什么是最好的解决方法?
  2. 我编写了一个Python脚本来格式化WSDL文件,以便对attributeGroup标签的所有引用都替换为attributeGroups中定义的属性的声明; 换句话说,展平参考文献.输出通过"WSDL导入器"向导成功导入Delphi,看起来正确,但我还没有测试通过这个新的WSDL文件构造的消息是否能正常工作.这种策略是否可行,或者我现在应该放弃并转向其他更有效的方法?

更新

根据我的经验和这个问题的答案,我决定使用C#控制台应用程序进行包装路由,该应用程序使用JSON输入数据并输出JSON应答数据.Delphi应用程序驱动C#应用程序.整个事物的SOAP部分现在毫不费力,并且在C#.NET中"正常工作",其余功能由Delphi很好地处理.我会向其他有类似问题的人推荐这条路线.我确实尝试将C#SOAP程序集导出为COM库,并从Delphi连接到它,但它变得非常复杂,因为我的特定应用程序中的SOAP规范很大而且有点复杂.

delphi attributes soap wsdl

5
推荐指数
1
解决办法
1494
查看次数

如何测试算法的实现?

我正在考虑测试一些算法的实现

如果你考虑 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)

我想确保我的算法运行良好......那么,您将如何测试算法实现?

language-agnostic testing algorithm

5
推荐指数
1
解决办法
1万
查看次数

Windows任务栏(Windows 7?) - 如何在"控制面板"通知对话框中设置应用程序名称

Windows 7控制面板"通知区域图标"允许您自定义可见的系统托盘图标.对于每个图标,它显示两件事:

  • 应用程序名称
  • 副标题

看起来字幕来自工具提示文本,因为我可以设置它.

但应用程序名称呢?我在PySide中编写一个GUI,无法弄清楚我需要做什么咒语,将其设置为"python.exe"以外的其他内容.

在此输入图像描述

python windows system-tray pyside

5
推荐指数
1
解决办法
821
查看次数

在Ubuntu Python 3上构建的Cython + distutils在链接期间更改模块lib名称

我正在使用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_modulesExtension()从中导入的一系列类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'.

我感到很吵了.

python distutils cython

5
推荐指数
1
解决办法
838
查看次数

Delphi DLL与其他编程语言兼容

我想构建一个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位

delphi fastmm

3
推荐指数
2
解决办法
1406
查看次数

从列表Python中获取所有可能对的差异

我有一个带有未指定编号的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)

有一个更好的方法吗?

编辑:对代码进行了更改.这就是我想要做的.我想知道的是除了循环之外我还能使用什么.

python list

2
推荐指数
1
解决办法
1137
查看次数

Python:用于for循环的compact/one liner

我有以下代码可以工作,并给我预期的输出.

#!/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)

python xml

1
推荐指数
1
解决办法
159
查看次数