问题列表 - 第10929页

消除Postgres中的重复行

我想删除Postgres中SELECT查询返回的重复行

我有以下查询

SELECT DISTINCT name FROM names ORDER BY name
Run Code Online (Sandbox Code Playgroud)

但这在某种程度上不会消除重复的行?

postgresql

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

强制编译器不优化无副作用的语句

我正在阅读一些旧的游戏编程书籍,正如你们中的一些人可能知道的那样,在那一天,做一些黑客攻击通常比以标准方式做事更快.(转换floatint,屏蔽符号位,转换回绝对值,而不是仅调用fabs(),例如)

现在,使用标准库数学函数几乎总是更好,因为这些微小的东西无论如何都不是大多数瓶颈的原因.

但为了好奇,我仍然想做一个比较.所以我想确保在我描述时,我没有得到偏差的结果.因此,我想确保编译器不会优化没有副作用的语句,例如:

void float_to_int(float f)
{
    int i = static_cast<int>(f); // has no side-effects
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?据我所知,做类似的事情i += 10仍然没有副作用,因此无法解决问题.

我唯一能想到的是拥有一个全局变量int dummy;,并且在执行类似的操作之后dummy += i,所以使用了值i.但我觉得这个虚拟操作会妨碍我想要的结果.

我正在使用Visual Studio 2008/G ++(3.4.4).

编辑

为了澄清,我希望最大限度地优化所有优化,以获得良好的个人资料结果.问题在于,由此可以优化出没有副作用的陈述,因此情况就是如此.

再次编辑

为了再次澄清,请阅读:我不是试图在某种生产代码中对其进行微观优化.

我们都知道旧的技巧不再有用了,我只是好奇他们是多么有用.只是好奇心.当然,如果不知道这些旧的黑客对现代CPU的表现如何,生活可以继续下去,但要知道它永远不会伤害.

所以告诉我"这些技巧不再有用了,不要试图微观优化等等"是一个完全忽略这一点的答案.我知道它们没用,我不使用它们.

过早引用Knuth是所有烦恼的根源.

c++ optimization

11
推荐指数
5
解决办法
9824
查看次数

Windows移动用户界面建议

我将在windows mobile和compact framework 2.0或更高版本上启动新的PDA项目.我需要像iPhone一样设计新的应用程序用户界面,它应该是smilar IPhone按钮,gradiend屏幕,颜色,这样的东西.我似乎需要在Windows移动应用程序上使用许多图像和背景来实现这一目标.

我不需要使用默认的pocketpc UI元素,它对我的​​项目和我没用.我需要你对新的pocketpc app用户界面设计的一些建议.

能否请您分享您的想法或建议?

windows pocketpc compact-framework windows-mobile

5
推荐指数
2
解决办法
1187
查看次数

如何为Java应用程序提供唯一的进程名称?

我注意到,当我启动Netbeans时,它会显示在任务管理器中,netbeans.exe就像我自己的Java应用程序显示为java.exejavaw.exe.

如何更改,以便我的进程名称显示为myapp.exe

java windows

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

如何从远程SSH会话将数据发送到本地剪贴板

Borderline ServerFault问题,但我正在编写一些shell脚本,所以我先在这里尝试:)

大多数*nixes都有一个命令,可以将输出管道/重定向到本地剪贴板/粘贴板,并从中检索.在OS X上,这些命令是

pbcopy, pbpaste 
Run Code Online (Sandbox Code Playgroud)

无论如何在SSH连接到另一台服务器时复制此功能?那是,

  1. 我正在使用计算机A.
  2. 我打开一个终端窗口
  3. 我通过SSH连接到计算机B.
  4. 我在计算机B上运行命令
  5. 计算机B的输出被重定向或自动复制到计算机A的剪贴板.

是的,我知道我可以(颤抖)使用我的鼠标从命令中选择文本,但我已经习惯了将输出直接压缩到剪贴板的工作流程,我希望我的远程会话也一样.

代码很有用,但也可以采用一般方法.

unix linux macos shell clipboard

134
推荐指数
9
解决办法
6万
查看次数

如何将V8编译的javascript变成EXE?

我知道谷歌的v8编译javascript到本机(二进制,如果我理解正确)代码.
有没有办法获取输出并将其转换为exe?

javascript executable v8

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

替代`match = re.match(); 如果匹配:...`成语?

如果你想检查某些东西是否与正则表达式匹配,如果是,打印第一组,你可以...

import re
match = re.match("(\d+)g", "123g")
if match is not None:
    print match.group(1)
Run Code Online (Sandbox Code Playgroud)

这完全是迂腐的,但中间match变量有点烦人..

像Perl这样的语言通过为匹配组创建新的$1.. $9变量来实现这一点,比如..

if($blah ~= /(\d+)g/){
    print $1
}
Run Code Online (Sandbox Code Playgroud)

这个reddit评论,

with re_context.match('^blah', s) as match:
    if match:
        ...
    else:
        ...
Run Code Online (Sandbox Code Playgroud)

..我认为这是一个有趣的想法,所以我写了一个简单的实现:

#!/usr/bin/env python2.6
import re

class SRE_Match_Wrapper:
    def __init__(self, match):
        self.match = match

    def __exit__(self, type, value, tb):
        pass

    def __enter__(self):
        return self.match

    def __getattr__(self, name):
        if name == "__exit__":
            return self.__exit__
        elif name == "__enter__":
            return self.__name__
        else: …
Run Code Online (Sandbox Code Playgroud)

python idioms

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

如何将shell脚本翻译为Perl?

我有一个shell脚本,非常大.现在我的老板说我必须用Perl重写它.有没有办法编写Perl脚本并使用现有的shell代码,就像在我的Perl脚本中一样.类似于Inline :: C的东西.

是否有像Inline :: Shell这样的东西?我看了一下内联模块,但它只支持语言.

shell perl

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

选择表中未出现在另一个表的外键中的所有项

例如,具有用户的应用程序,每个用户可以只有一个组.如果我们想要选择没有成员的组列表,那么正确的SQL是什么?我一直觉得我只是要掌握查询,然后它又消失了.

奖励积分 - 考虑到替代的Senario,它是多对多的配对,识别未使用的组的SQL是什么?

(如果你想要具体的字段名称:)一对多:

Table 'users': | user_id | group_id |
Table 'groups': | group_id |
Run Code Online (Sandbox Code Playgroud)

许多一对多:

Table 'users': | user_id |
Table 'groups': | group_id |
Table 'user-group': | user_id | group_id |
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

Postgresql:最好使用多个数据库,每个数据库有1个模式,还是1个数据库有多个模式?

在对我的一个问题发表评论之后,我在想是否更好地使用带有X架构的1个数据库,反之亦然.

我的情况:我正在开发一个网络应用程序,当人们注册时,我创建(实际上)数据库(不,它不是社交网络:每个人都必须能够访问自己的数据,永远不会看到其他用户的数据).

这就是我用于我的应用程序的先前版本(仍然在mysql上运行)的方式:通过plesk api,对于每次注册,我这样做:

  1. 创建具有有限权限的数据库用户;
  2. 创建一个只能由以前创建的用户和超级用户访问的数据库(用于维护)
  3. 填充数据库

现在,我需要对postgresql做同样的事情(项目越来越成熟,mysql ......不能满足所有需求)

我需要使所有数据库/模式备份独立:pg_dump在两种方式下都能很好地工作,对于可以配置为仅访问1个模式或1个数据库的用户来说是相同的.

所以,假设你是比我更有经验的potgres用户,你认为对我的情况最好的解决方案是什么,为什么?

使用$ x db而不是$ x schemas会有性能差异吗?什么解决方案将来会更好地维护(可靠性)?

编辑:我差点忘了:我所有的数据库/模式将始终具有相同的结构!

Edit2:对于备份问题(使用pg_dump),使用1 db和多个模式可能更好,一次性转储所有模式:恢复将非常简单地在dev机器中加载主转储然后转储和恢复所需的模式:还有1个额外的步骤,但是倾倒所有架构似乎更快,然后逐个转储它们.

ps:对不起,如果我在文本中忘记了一些'W'字符,我的键盘会受到该按钮的影响;)

更新2012年

那么,应用程序的结构和设计在过去的两年中发生了很大变化.我仍在使用这种one db with many schemas方法,但是,我的应用程序的每个版本都有1个数据库:

Db myapp_01
    \_ my_customer_foo_schema
    \_ my_customer_bar_schema
Db myapp_02
    \_ my_customer_foo_schema
    \_ my_customer_bar_schema
Run Code Online (Sandbox Code Playgroud)

对于备份,我定期转储每个数据库,然后在开发服务器上移动备份.

我也使用PITR/WAL备份,但正如我之前所说,它不太可能我必须立即恢复所有数据库 ..所以它可能会被解雇今年(在我的情况下不是最好的方法).

从现在开始,1-db-many-schema方法对我来说非常有效,即使应用程序结构完全改变了:

我差点忘了:我所有的数据库/模式将始终具有相同的结构!

...现在,每个模式都有自己的结构,可以改变对用户数据流的反应.

database postgresql database-design database-permissions

133
推荐指数
6
解决办法
7万
查看次数