问题列表 - 第22980页

是否存在可自动查找复制粘贴代码的工具?

是否有工具可以自动在一组文件中找到复制和粘贴代码?

我正在考虑为此编写一个脚本,它只会搜索相同的字符串,但是这样的脚本会发现大多数不相关的等式.(如private final static ...).

code-analysis static-analysis copy-paste code-duplication

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

pyOpenSSL和WantReadError

我有一个套接字服务器,我试图在python 2.5上转移到SSL,但我遇到了pyOpenSSL的障碍.我找不到任何关于使用它的好教程,所以我主要依靠猜测.

以下是我的服务器如何设置套接字:

ctx = SSL.Context(SSL.SSLv23_METHOD)
ctx.use_privatekey_file ("mykey.pem")
ctx.use_certificate_file("mycert.pem")
sock = SSL.Connection(ctx, socket.socket(socket.AF_INET, socket.SOCK_STREAM))
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
addr = ('', int(8081))
sock.bind(addr)
sock.listen(5)
Run Code Online (Sandbox Code Playgroud)

以下是它如何接受客户:

sock.setblocking(0)
while True:
  if len(select([sock], [], [], 0.25)[0]):
    client_sock, client_addr = sock.accept()
    client = ClientGen(client_sock)
Run Code Online (Sandbox Code Playgroud)

以下是它从连接的套接字发送/接收的方式:

while True:
  (r, w, e) = select.select([sock], [sock], [], 0.25)

  if len(r):
    bytes = sock.recv(1024)
  if len(w):
    n_bytes = sock.send(self.message)
Run Code Online (Sandbox Code Playgroud)

它是紧凑的,但你得到了一般的想法.问题是,一旦发送/接收循环开始,它就会在发送或接收任何内容之前立即死亡(我无论如何都可以看到):

Traceback (most recent call last):
  File "ClientGen.py", line 50, in networkLoop
    n_bytes = sock.send(self.message
WantReadError
Run Code Online (Sandbox Code Playgroud)

手册中对'WantReadError'的描述非常模糊,说它几乎可以来自任何地方.我究竟做错了什么?

python ssl pyopenssl

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

以编程方式打开DateTimePicker C#控件

如何以编程方式打开DateTimePicker C#控件?我想通过向控件发送密钥来显示Datetime Picker控件中的Calendar.有没有办法可以做到这一点?

winforms

7
推荐指数
2
解决办法
6628
查看次数

需要学习WebFocus,程序员的任何好教程?

我开始将WebFocus用于新客户端.有谁知道针对程序员的好的WebFocus教程?

webfocus

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

对Zend框架的承诺 - 任何反对的论据?

我正在翻新一个我已经工作了很多年的大型CMS.产品本身很棒,但是一些组件,例如数据库和翻译类,需要紧急更换 - 部分是自制的,早在2002年,随着时间的推移会变得有点混乱,并且在安全审计中可能会遇到麻烦.

所以,我一直在密切关注一些框架(或者更确切地说,组件库,因为我不打算改变CMS的基本结构),最终还是喜欢Zend Framework.他们提供了一个坚实的MVC模型,但不强迫你进入它,他们提供了很多专业组件,显然已经得到了很多关注(你知道俄语有多个复数,你不能使用它们翻译它们一个简单的($number == 0) or ($number > 1)开关?我没有,但是Zend_Translate可以处理它.只是为了说明图书馆似乎已经建立的彻底程度.)

我现在确实处于不可逆转的状态,开始用Zend制造的系统替换系统的关键组件.我真的没有第二个想法 - 我肯定不想煽动火焰战 - 但在继续之前,我想退一步看看是否有任何反对将一个大系统与Zend紧密联系起来的事情框架.

我喜欢Zend:

  • 据我所知,代码非常高质量
  • 非常好的文档记录,至少关于如何工作的介绍(还没有使用详细的API文档)
  • 由一家有兴趣看到框架繁荣的公司提供支持
  • 在社区中受到好评,拥有可观的用户群
  • 采用我喜欢的编码标准
  • 附带一整套单元测试
  • 在现代,专业的PHP开发方面,感觉像是正确的选择 - 或者至少是正确的选择之一.

我一直在考虑将ZF的功能封装和抽象到自己的类中,以便能够更轻松地切换框架,但我们得出的结论是,这不是一个好主意,因为:

  • 这将是一个不必要的抽象层次
  • 它可能会降低性能
  • 使用框架的一大优势 - 熟悉其组件的开发人员基础的存在 - 将部分被取消

因此,对采埃孚的承诺将是深刻的.因此我的问题:

是否有任何实质性的反对承诺Zend框架?

你是否已经知道Zend Inc.的计划在2011年变得邪恶,并使其成为一个封闭的源库?Zend Inc. 是由吸血鬼经营的吸血鬼经营者想要占领地球吗?(评论中确定Zend实际上是由吸血鬼运行的.)当你将所有项目都转换为代码库时,是否存在概念缺陷?质量代码的外观是否是幻觉?代码看起来不错,但在我的四核工作站下面运行的速度非常慢吗?

接受答案

非常感谢大家的详细反馈.我希望我可以设置一个赏金,并在所有回答者之间平均分配.

在对ZF有利的许多意见中,有一个非常有根据的反对.我认真对待并密切关注替代方案,主要是Yii和Kohana.通过这种比较以及阅读关于ZF和竞争产品的更多观点,我可以看到,与更简约的框架相比,Zend可以在某些领域被视为臃肿.(我也可以看到,这种"膨胀"主要是有充分理由提供最大的灵活性.但是,你是否需要最大的灵活性并处理随之而来的复杂性,或者采用更简单的方法和明确的指导方针的问题是有效的.)

无论如何,我将为手头的项目选择Zend,因为我对框架的主要用途是作为组件库.我不想采用Zend的MVC模型,我只需要高质量的组件来进行国际化,会话处理等等.因为我正在构建可再发行的产品,所以Zend的灵活性(例如支持五种不同的字典格式)受到欢迎.此外,ZF似乎是唯一允许我想要的自由程度的框架(没有强制使用模式,文件结构......),据我所知,没有其他框架提供.

对于我希望在其中使用实际MVC功能的未来项目,并完全服从框架关于应用程序构建,命名,样式和过程的约定,我可能不一定会选择Zend,而是为了更简约像Yii或Kohana这样的框架.

php zend-framework

22
推荐指数
3
解决办法
1426
查看次数

Bash,无争议警告和案例决策

我在学习bash.

我想做一个简单的脚本,当没有给出参数时,会显示一些消息.当我把numers作为参数时,s取决于值,它会做一件事或另一件事.

我还想知道关于bash初学者最好的在线手册的建议

谢谢

bash

97
推荐指数
3
解决办法
7万
查看次数

如何在同一页面上使用多个PHP标头内容类型?这可能吗?

是否可以在一个文档中使用多个标题类型?例如:

header("Content-type: image/jpeg");
header('Content-Type: text/html; charset=utf-8');
Run Code Online (Sandbox Code Playgroud)

将整个页面作为text/html ...返回

header('Content-Type: text/html; charset=utf-8');
header("Content-type: image/jpeg");
Run Code Online (Sandbox Code Playgroud)

将整个页面作为图像返回....如何在同一页面上使用这两种类型的内容?我在顶部使用ob_start(),在开头使用ob_end_flush().

php content-type header

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

PHP 只获取完整路径的一部分

我想知道如何只减去完整路径的一部分:

我得到当前文件夹的完整路径:

$dbc_root = getcwd(); // That will return let's say "/home/USER/public_html/test2"
Run Code Online (Sandbox Code Playgroud)

我只想选择“/public_html/test2”

我该怎么做?谢谢!

php string path

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

MFMailComposeViewController挂起我的应用程序

我正在尝试向我的应用添加电子邮件功能.我可以让MFMailComposeViewController正确显示并预先填充其主题和正文,但由于某些原因,当用户点击导航栏中的"取消"或"发送"按钮时,应用程序就会挂起.我在第一行插入了一个NSLog()语句mailComposeController"didFinishWithResult:error,它甚至没有将该行打印到控制台.

有没有人知道什么会导致MFMailComposeViewController像这样挂起?

这是标题中的代码:

#import "ManagedObjectEditor.h"
#import <MessageUI/MessageUI.h>

@interface MyManagedObjectEditor : ManagedObjectEditor 
    <MFMailComposeViewControllerDelegate, UIImagePickerControllerDelegate,
     UINavigationControllerDelegate> {
}

- (IBAction)emailObject;
@end
Run Code Online (Sandbox Code Playgroud)

来自实施文件:

if ([MFMailComposeViewController canSendMail]) {        
    MFMailComposeViewController *mailComposer = [[MFMailComposeViewController alloc] init];
    mailComposer.delegate = self;
    [mailComposer setSubject:NSLocalizedString(@"An email from me",
                                               @"An email from me")];
    [mailComposer setMessageBody:emailString
                          isHTML:YES];
    [self presentModalViewController:mailComposer animated:YES];
    [mailComposer release];
}
[error release];
[emailString release];
Run Code Online (Sandbox Code Playgroud)

这是来自回调的代码:

#pragma mark -
#pragma mark Mail Compose Delegate Methods
- (void)mailComposeController:(MFMailComposeViewController *)controller 
          didFinishWithResult:(MFMailComposeResult)result 
                        error:(NSError *)error {
    NSLog(@"in didFinishWithResult:");
    switch (result) {
        case …
Run Code Online (Sandbox Code Playgroud)

iphone mfmailcomposeviewcontroller

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

如何在vim中并排查看多个git diff

我希望能够在vim中运行一个打开git diff的命令,并为diff set中的每个文件添加一个选项卡.

所以,例如,如果我在工作树中更改了文件foo.txt和bar.txt,我运行命令,我会看到vim打开两个选项卡.第一个选项卡将包含我的工作树中的foo.txt和存储库中的foo.txt之间的并排差异,第二个选项卡将包含bar.txt的并排差异.

有人有任何想法吗?

git vim diff

10
推荐指数
2
解决办法
4312
查看次数