小编Dar*_*zer的帖子

你能用Python创建Mac OS X服务吗?怎么样?

你能用Python创建Mac OS X服务吗?怎么样 ?

我想要做的是知道将我的Python-fu挂钩到Mac OS X提供的服务系统.任何人都知道怎么做?如果是,任何工作代码片段?仅适用于文本还是仅适用于给定的mimetype - 定义的对象?

服务弹出窗口

python macos service cocoa

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

如何在Python中迭代两个或多个列表项的元组?

具体来说,我有两个字符串列表,我想将它们组合成一个字符串,其中每一行是列表中的下两个字符串,用空格分隔:

a = ['foo1', 'foo2', 'foo3']
b = ['bar1', 'bar2', 'bar3']
Run Code Online (Sandbox Code Playgroud)

我想要一个函数combine_to_lines(),它将返回:

"""foo1 bar1
foo2 bar2
foo3 bar3"""
Run Code Online (Sandbox Code Playgroud)

我承认我已经解决了这个问题,所以我要发布答案.但也许其他人有一个更好的或看到我的缺陷.

更新:我过度简化了上面的例子.在我的实际问题中,行以更复杂的方式格式化,需要从zip()返回的元组被解压缩.但是,为了达到这个例子最简单的解决方案,我感到非常荣幸.

python loops

12
推荐指数
3
解决办法
4805
查看次数

使用DES/3DES与python

python中使用des/3des进行加密/解密的最佳模块/包是什么.有人可以提供示例来使用python上的des/3des加密数据.

python 3des cryptography

12
推荐指数
2
解决办法
4万
查看次数

如何在Ubuntu上安装和构建OpenSSL 1.0.0?

您可以将此问题视为如何在Ubuntu上安装OpenSSL C++库的后续问题

我正在尝试在需要OpenSSL 1.0.0的Ubuntu 10.04 LTS上构建一些代码.

Ubuntu 10.04 LTS附带OpenSSL 0.9.8k:

$ openssl version
OpenSSL 0.9.8k 25 Mar 2009
Run Code Online (Sandbox Code Playgroud)

所以在运行sudo apt-get install libssl-dev和构建之后,运行ldd确认我已经在0.9.8中链接了:

$ ldd foo
        ...
        libssl.so.0.9.8 => /lib/i686/cmov/libssl.so.0.9.8 (0x00110000)
        ...
        libcrypto.so.0.9.8 => /lib/i686/cmov/libcrypto.so.0.9.8 (0x002b0000)
        ...
Run Code Online (Sandbox Code Playgroud)

如何安装OpenSSL 1.0.0和1.0.0开发包?

更新:我在阅读SB的答案后(但在尝试之前)写了这个更新,因为很明显我需要解释下载和安装OpenSSL 1.0.0的明显解决方案不起作用:

成功执行以下操作后(在INSTALL文件中推荐):

  $ ./config
  $ make
  $ make test
  $ make install
Run Code Online (Sandbox Code Playgroud)

......我仍然得到:

OpenSSL 0.9.8k 25 Mar 2009
Run Code Online (Sandbox Code Playgroud)

...和:

$ sudo apt-get install libssl-dev
Reading package lists... Done
Building dependency tree       
Reading state …
Run Code Online (Sandbox Code Playgroud)

c++ installation ubuntu ssl

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

如何在Mac OS X上将OpenSSL构建为32位(i386)?

我下载了OpenSSL的来源,并且做了config,make,sudo make install三部曲.

然后我构建了我的项目,链接在libcrypto.a和libssl.a中,但得到了:

ld: warning: in /usr/local/ssl/lib/libcrypto.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
ld: warning: in /usr/local/ssl/lib/libssl.a, file was built for unsupported file format which is not the architecture being linked (x86_64)
Run Code Online (Sandbox Code Playgroud)

我很确定我想将OpenSSL重新构建为32位(i386),因为(由于与此问题无关的原因)我的项目需要是32位.

如何在Mac OS X上将OpenSSL构建为32位?(我在"安装"文件中没有看到任何相关内容.)

macos openssl build 32bit-64bit

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

我怎么告诉lcov在哪里找到我的.cpp和.h文件?

我的源代码和构建树看起来像这样(参见Makefile将目标文件从源文件不同的目录放入一个单独的目录?)make之后(构建并运行FooAndBarTests):

src
- Foo.cpp
- Bar.cpp
inc
- Foo.h
- Bar.h
test
- FooTest.cpp
- BarTest.cpp
- Main.cpp
- Makefile
- obj
  - Foo.gcda
  - Foo.gcno
  - Bar.gcda
  - Bar.gcno
- FooAndBarTests
UnitTest++
- libUnitTest++.a
- src
  - ...
Run Code Online (Sandbox Code Playgroud)

然后我可以通过运行gcov -o obj/ ../src/Foo.cpp和生成测试目录中的.gcov文件gcov -o obj/ ../src/Bar.cpp.

但如果我跑,lcov -d obj/ -c -o FooAndBarTests.lcov我得到:

Capturing coverage data from obj/
Found gcov version: 4.2.1
Scanning obj/ for .gcda files ...
Found 4 data files in …
Run Code Online (Sandbox Code Playgroud)

c++ code-coverage gcov lcov unittest++

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

当我调用Haskell子字符串函数时,为什么会出现"函数中的非详尽模式..."?

我正在通过Haskell的逻辑,数学和编程之路.(我只是在第1章的中途,但到目前为止我很享受并打算继续.)我已经阅读了第1.5节"播放Haskell游戏",其中包含了许多其他示例.让你熟悉[Haskell]".到目前为止,我已经了解了函数,类型声明,保护方程,关于列表模式匹配以及where和let.

我坚持练习1.17,它要求我们写一个函数substring :: String - > String - > Bool其中:

  1. 如果xs是ys的前缀,则xs是ys的子串
  2. 如果ys等于y:ys'和xs是ys'的子串,xs是ys的子串
  3. 没有别的东西是ys的子串

我使用了前面例子中提供的前缀函数:

prefix :: String -> String -> Bool
prefix [] ys = True
prefix (x:xs) [] = False
prefix (x:xs) (y:ys) = (x==y) && prefix xs ys
Run Code Online (Sandbox Code Playgroud)

然后尝试:

substring :: String -> String -> Bool
subsstring xs [] = False
substring xs (y:ys) | prefix xs (y:ys) = True
                    | substring xs ys  = True
                    | otherwise        = False
Run Code Online (Sandbox Code Playgroud)

......以及其他可能的排列.

当我跑步时,substring "abc" "xxxabcyyy"我得到了 …

haskell non-exhaustive-patterns

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

作为"模拟者"TDD从业者,我应该在与被测试方法相同的类中模拟其他方法吗?

在阅读了Martin Fowler的Mocks Are Not Stubs之后,我发现我一直在以"模仿者"的方式练习TDD.

但我想知道即使是在模仿者TDD,如果一个人可以嘲笑太远.

这是Python风格的伪代码中的更新示例:

def sync_path(self):
    if self.confirm_or_create_connection():
        self.sync(self.dirpath)
Run Code Online (Sandbox Code Playgroud)

confirm_or_create_connection()方法创建与服务器的连接.

我在两个测试中测试了一个与此类似的方法,这两个测试都模拟confirm_or_create_connection()和sync()(即使它们都是同一个类中的方法).在一个测试中,模拟confirm_or_create_connection()返回True,测试确认已调用sync(),另一个模拟confirm_or_create_connection()返回False,测试确认未调用sync().

这合理吗?或者我应该模拟confirm_or_create_connection()和sync()调用的对象?(我已经对这两种方法进行了其他测试.)

请不要通过解释我应该练习"经典"TDD来回答这个问题.这是另一个问题的答案:我应该练习模仿者还是经典的TDD?

tdd mocking

9
推荐指数
2
解决办法
1254
查看次数

在iPhone上复制并粘贴多个数据表示

尝试将多个数据表示放在iPhone 3.0上的粘贴板上时遇到了一些问题.

我要做的是将数据表示和字符串表示放在粘贴板上.数据是我自己的数据类型,我用它来复制和粘贴我的应用程序.字符串表示是一种将我的应用程序内容作为大纲复制并粘贴到其他应用程序(例如Mail.app)的方法.

    // payload
NSString *pasteboardString = [selectedNode stringRepresentation];
NSDictionary *pasteboardDictionary = [selectedNode nodeAndSubnodesProperties];

// set payload
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = pasteboardString;
[pasteboard setValue:pasteboardDictionary forPasteboardType:MNTNodesPasteboardType];
Run Code Online (Sandbox Code Playgroud)

上面的代码不起作用,因为string属性和setValue:forPasteboardType:methode替换了粘贴板上的第一个表示.我尝试了addItems:但它对我不起作用.

感谢您的任何帮助!

iphone copy-paste iphone-sdk-3.0 uipasteboard

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

如何在项目抽屉中突出显示当前的TextMate文档?

我一直忘记在菜单中找到这个的地方.我经常使用(例如)项目中的查找来打开文档...然后想知道它在项目抽屉中的位置(特别是当它深埋在文件夹层次结构中时.如何在项目抽屉中突出显示当前文档?

macos textmate highlight

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