问题列表 - 第33946页

网站性能 - 它是什么?可读性和无知性.性能

让我切入追逐......
一方面,给出的许多编程建议(这里和其他地方)都强调了这样一种观念,即代码应该始终尽可能可读,并且(几乎?!)任何修饰成本.另一方面,有很多慢的网站(至少其中一个,我从个人经验中知道).
显然,往返和数据库访问是Web开发人员应始终牢记的问题.但是,对于我来说,可读性与不能做什么之间的权衡,因为它减缓了事情的速度,这一点尚不清楚.
问题是 -
1.还有什么?
2.有一个规则(最好是简单的,但可能很一般)应该坚持,以确保他的代码不会减慢太多的东西?
一般最佳实践以及具体建议将不胜感激.基于经验的建议将特别受到赞赏.

谢谢.

编辑:一点澄清:一般性能建议不难发现.那不是我想要的.我问的是两件事情.1.在尝试尽可能让我的代码可读时,我应该什么时候停下来说:"现在我的表现太差了".
2.很少,不太知名的事情 - 比选择全部更快地选择一列(感谢Otávio)...

再次感谢!

performance web

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

Perl从调用模块导入变量

我有一个Perl模块(Module.pm)初始化一些变量,其中一些我想导入($ VAR2,$ VAR3)到其他可能在执行期间加载的子模块.

我目前设置Module.pm的方式如下:

package Module;

use warnings;
use strict;

use vars qw($SUBMODULES $VAR1 $VAR2 $VAR3);

require Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw($VAR2 $VAR3);

sub new {
    my ($package) = @_;
    my $self = {};
    bless ($self, $package);
    return $self;
}

sub SubModules1 {
    my $self = shift;
    if($SUBMODULES->{'1'}) { return $SUBMODULES->{'1'}; }

    # Load & cache submodule
    require Module::SubModule1;
    $SUBMODULES->{'1'} = Module::SubModule1->new(@_);    
    return $SUBMODULES->{'1'};
}

sub SubModules2 {
    my $self = shift;
    if($SUBMODULES->{'2'}) { return $SUBMODULES->{'2'}; …
Run Code Online (Sandbox Code Playgroud)

oop perl perl-module

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

在Umbraco的404页面?

我安装了Umbraco 4.5,运行正常.有一件事我不能去工作,是404.当它点击一个不感兴趣的页面时,它显示默认的IIS7 404页面,而不是内置的umbraco 404页面.

所以我认为这是我必须改变的一个环境 - 但是哪个?

iis umbraco http-status-code-404

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

运行ImageMagick将低质量pdf转换为图像的最佳参数是什么(对于OCR)

我有几个低质量的pdf.我想使用OCR - 更精确的Ocropus 从中获取文本.要使用,我首先使用ImageMagick - 一个命令行工具将pdf转换为图像 - 将这些pdf转换为jpg或png.

然而,ImageMagick会产生非常低质量的图像,而Ocropus几乎无法识别任何内容.我想了解处理低质量pdf的最佳参数是什么,以便为OCR提供尽可能高质量的图像.

我找到了这个页面,但我不知道从哪里开始.

linux pdf imagemagick image-processing ghostscript

8
推荐指数
2
解决办法
6111
查看次数

如果我使用验证码,我能否在我的博客中完全阻止垃圾邮件?

我有一个Wordpress博客,唯一的用户输入是评论系统.我想完全避免垃圾评论.Wordpress附带Akismet,但我也可以使用Captcha.我应该使用哪种插件/方法?

我的客户不介意用户输入验证字符串来发表评论.如果我采用Akisment或Captcha,我能完全控制垃圾邮件吗?

是否可以使用Akismet或Captcha进行简单的4位数验证?如果没有,那么请同时推荐一个只能进行4位验证的插件/方法.

php wordpress captcha spam-prevention

6
推荐指数
3
解决办法
1193
查看次数

是否有免费的Visual Studio扩展,像"CodeRush"一样"删除标记"

CodeRush的付费版本具有一个功能,您可以在代码中"删除标记",然后再返回到它们.它们像堆栈一样工作,因此您可以删除标记(跨多个文件)并以与删除它们相反的顺序返回它们.

是否有开发工作室扩展,做任何类似的事情?

visual-studio-2010

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

关于旋风的问题

在维基百科上读到Cyclone编程语言是C编程语言的安全方言,因此请考虑以下C代码.

int strlen(const char *s)
{
    int iter = 0;
    if (s == NULL) return 0;
    while (s[iter] != '\0') {
        iter++;
    }
    return iter;
}
Run Code Online (Sandbox Code Playgroud)

此函数假定传入的字符串由NUL('\ 0')终止.但是如果我们传递这样的字符串,

char buf[] = {'h','e','l','l','o','!'}
Run Code Online (Sandbox Code Playgroud)

它会导致strlen迭代通过不一定与字符串s相关联的内存.所以在Cyclone中还有另一个版本的代码

int strlen(const char ? s)
{
    int iter, n = s.size;
    if (s == NULL) return 0;
    for (iter = 0; iter < n; iter++, s++) {
       if (*s == '\0') return iter;
    }
    return n;
}
Run Code Online (Sandbox Code Playgroud)

我可以在Visual Studio中使用Cyclone,还是必须下载新的编译器?

visual-studio

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

用于新HTML5输入类型的ASP.NET MVC HTML帮助程序方法

HTML5似乎支持一系列新的输入字段,例如:

  • 数字
  • 电子邮件地址
  • 颜色
  • 网址
  • 数字范围(通过滑块)
  • 日期
  • 搜索框

有没有HtmlHelper人为ASP.NET MVC实现生成这些的扩展方法呢?可以使用接受的重载来执行此操作htmlAttributes,例如:

Html.TextBoxFor(model => model.Foo, new { type="number", min="0", max="100" })
Run Code Online (Sandbox Code Playgroud)

但那并不像以下那样好(或类型安全):

Html.NumericInputFor(model => model.Foo, min:0, max:100)
Run Code Online (Sandbox Code Playgroud)

.net asp.net-mvc html5 html-helper html-input

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

何时通过引用传递以及何时通过C++中的指针传递?

常见情况:

  1. 将std :: string传递给函数foo(std :: string*)或foo(std :: string&);
  2. 将tr1 :: shared_ptr传递给函数foo(tr1 :: shared_ptr*ptr)或foo(tr1 :: shared_ptr&ptr);

一般来说,什么是好的做法.我总是感到困惑.首先,将所有内容作为引用传递似乎是一致的,但是不可能将Literals作为引用传递或将NULL作为引用传递.

类似地,将所有内容作为指针似乎都很好,但是我必须担心指针可能指向NULL并检查该函数开头的那些条件.

你认为以下片段是好的吗?

#include <iostream>
#include <vector>
#include <map>
#include <string>
#include <tr1/memory>
#include <algorithm>
using namespace std;
using namespace std::tr1;

int main(){
        map<string, shared_ptr<vector<string> > > adjacencyMap;
        vector<string>* myFriends = new vector<string>();
        myFriends->push_back(string("a"));
        myFriends->push_back(string("v"));
        myFriends->push_back(string("g"));
        adjacencyMap["s"] = shared_ptr<vector<string> >(myFriends);
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

谢谢Ajay

c++

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

将列表分配到var的更好方法

用Python编写代码.有一段代码,想知道它是否可以更优雅地完成......

# Statistics format is - done|remaining|200's|404's|size
statf = open(STATS_FILE, 'r').read()
starf = statf.strip().split('|')
done  = int(starf[0])
rema  = int(starf[1])
succ  = int(starf[2])
fails = int(starf[3])
size  = int(starf[4])
...
Run Code Online (Sandbox Code Playgroud)

这继续下去.我想知道在将行拆分成列表之后是​​否有更好的方法将每个列表分配到var中.我有近30行为vars分配索引值.只是想了解更多关于Python的信息......

python

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