小编Evi*_*ter的帖子

Windows主机文件中的通配符

我想设置我的本地开发机器,以便将任何请求*.local重定向到localhost.这个想法是,我开发多个网站,我可以再补充虚拟主机到Apache叫site1.local,site2.local等,让他们都决心localhost,而Apache的相应服务于不同的网站.

我在Windows XP上.

我尝试添加

127.0.0.1       *.local
Run Code Online (Sandbox Code Playgroud)

到我的c:\windows\system32\drivers\etc\hosts文件,也尝试过:

127.0.0.1       .local
Run Code Online (Sandbox Code Playgroud)

这两者似乎都不起作用.

我知道我可以在不同的端口号上设置它们,但这很痛苦,因为很难记住哪个端口是哪个端口.

我不想设置本地DNS服务器或任何困难,任何建议?

windows apache dns hosts virtual-hosts

285
推荐指数
6
解决办法
20万
查看次数

在应用LIMIT之前获得结果计数的最佳方法

分页来自数据库的数据时,您需要知道将有多少页面呈现页面跳转控件.

目前我通过运行查询两次,一次包装count()以确定总结果,第二次应用限制以获取当前页面所需的结果.

这似乎效率低下.有没有更好的方法来确定在LIMIT应用之前会返回多少结果?

我正在使用PHP和Postgres.

php sql postgresql window-functions sql-limit

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

立即镜像/同步从Windows到Linux服务器的文件的最佳方法

我在Windows机器上有一个目录,其中包含大量文件和文件夹,我需要观察这些文件和文件夹,并将文件立即(或尽可能近似地)镜像/同步到本地网络上的Linux机器上.

我已经调查过: - Rsync,还不够实时 - WinSCP'保持目录最新'功能,这是好的,但仅限于500个目录,性能相当慢.

有很多共享软件风格的应用程序声称可以做到这一点,但它们看起来都很可疑.似乎某处必须有一个好的FOSS解决方案?

更新:只要它是即时和自动的,我会对单向传输而不是完全同步感到满意.

synchronization file mirroring

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

导出制表符分隔时使用的最佳mime类型和扩展名是什么?

我遇到过这样的问题,即Excel不能与UTF-8编码的CSV文件一起使用.请参阅Stack Overflow上的相关问题.

我遵循导出为UTF-16的解决方案,但似乎使用UTF-16,逗号字符不能作为分隔符,只有制表符.

但是,我找不到任何正确的文件名和mime类型应该是制表符分隔文件.我找到了某个地方,说它是application/vnd.ms-excel和xls.这适用于Excel 2003但2007不批准.

那应该是什么?

csv excel export tab-delimited mime-types

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

如何使用SQL窗口函数计算聚合的百分比

我需要计算表中各种尺寸的百分比.我想通过使用窗口函数来计算分母来简化事情,但是我遇到了问题,因为分子也必须是聚合.

举个简单的例子,请看下表:

create temp table test (d1 text, d2 text, v numeric);
insert into test values ('a','x',5), ('a','y',5), ('a','y',10), ('b','x',20);
Run Code Online (Sandbox Code Playgroud)

如果我只想计算d1中每一行的份额,那么窗口函数可以正常工作:

select d1, d2, v/sum(v) over (partition by d1)
from test;

"b";"x";1.00
"a";"x";0.25
"a";"y";0.25
"a";"y";0.50
Run Code Online (Sandbox Code Playgroud)

但是,我需要做的是计算d1中d2之和的总份额.我正在寻找的输出是这样的:

"b";"x";1.00
"a";"x";0.25
"a";"y";0.75
Run Code Online (Sandbox Code Playgroud)

所以我试试这个:

select d1, d2, sum(v)/sum(v) over (partition by d1)
from test
group by d1, d2;
Run Code Online (Sandbox Code Playgroud)

但是,现在我收到一个错误:

ERROR:  column "test.v" must appear in the GROUP BY clause or be used in an aggregate function
Run Code Online (Sandbox Code Playgroud)

我假设这是因为它抱怨在分组子句中没有考虑窗口函数,但是无论如何窗口函数都不能放在分组子句中.

这是使用Greenplum 4.1,它是Postgresql 8.4的一个分支,并共享相同的窗口函数.请注意,Greenplum无法执行相关子查询.

sql postgresql aggregate-functions window-functions greenplum

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

差异工具,可以比较文件的子部分

我正在寻找一个diff工具,它允许我只比较文件的一个子部分和另一个文件的一部分,甚至是它自己.最好是基于eclipse但会采取所有建议.

是的我知道我可以将这两个部分复制到不同的文件中进行比较,但是当你尝试进行大量的重构时,这是非常繁琐的.

基本上我试图从代码库中删除尽可能多的重复代码,这些代码库遭受了大量的ctrl-V'继承';-)然而,粘贴的部分随着时间的推移已经发展了一段时间.

eclipse diff refactoring eclipse-plugin

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

如何加快eclipse项目'刷新'

我有一个相当大的PHP代码库(10k文件),我在Windows机器上使用Eclipse 3.4/PDT 2,而文件托管在Debian文件服务器上.我通过Windows上的映射驱动器连接.

尽管拥有1gbit以太网连接,但执行eclipse项目刷新速度非常慢.最多5分钟.当发生这种情况时,我被阻止工作.

这通常不会是一个问题,因为Eclipse理论上不应该经常进行完全刷新.但是我也使用subclipse插件,每次完成切换/更新时都会触发完全刷新.

我的预感是,进程中最慢的部分是eclipse逐个检查10k文件,以便对samba进行更改.

代码库中有大量的文件,我永远不需要从eclipse访问,所以我根本不需要它来检查它们.但是我无法弄清楚如何阻止它这样做.我试过将它们标记为'派生'.这可以防止它们被包含在构建过​​程等中.但它似乎并没有加速刷新过程.Eclipse似乎仍然会检查其状态.

我还从PDT的"构建路径"中删除了不需要的文件夹.这确实加快了"建筑工作空间"的过程,但同样不会加快建筑之前的实际刷新速度(这也是最耗费时间的工作).

eclipse subclipse performance

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

制作表格列的CSS占用尽可能多的空间,而其他小册子则占用很少

我需要用CSS布局一个html数据表.

表的实际内容可能不同,但始终有一个主列和两个或更多其他列.我想使主列占用尽可能宽的宽度,无论其内容如何,​​而其他列占用的宽度尽可能小.我无法为任何列指定确切的宽度,因为它们的内容可能会发生变化.

我怎么能使用一个简单的语义上有效的html表和css来做到这一点?

例如:

| Main column                           | Col 2 | Column 3 |
 <------------------ fixed width in px ------------------->
 <------- as wide as possible --------->
 Thin as possible depending on contents: <-----> <--------> 

css column-width css-tables

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

仅从 S3 将新文件加载到 Redshift 的简单方法?

Redshift COPY 命令的文档指定了两种选择从 S3 加载文件的方法,您可以提供基本路径并加载该路径下的所有文件,或者指定包含要加载的特定文件的清单文件。

然而,在我们的例子中(我认为这很常见),S3 存储桶会定期接收包含更新数据的新文件。我们希望能够仅加载尚未加载的文件。

鉴于有一个表 stl_file_scan 记录了从 S3 加载的所有文件,因此最好以某种方式排除那些已成功加载的文件。这似乎是一个相当明显的功能,但我在文档或在线中找不到有关如何执行此操作的任何内容。

甚至 AWS Data Pipeline 中的 Redshift S3 加载模板似乎也可以通过将所有数据(新数据和旧数据)加载到临时表中,然后比较/更新插入到目标表来管理这种情况。当我们可以从文件名中得知文件已经被加载时,这似乎是一个疯狂的开销。

我知道我们可能可以将已经加载的文件移出存储桶,但是我们不能这样做,这个存储桶是另一个不属于我们自己的进程的最终存储位置。

我能想到的唯一替代方案是运行一些其他进程来跟踪已成功加载到 redshift 的文件,然后定期将其与 s3 存储桶进行比较以确定差异,然后在触发复制之前将清单文件写入某处过程。但多么痛苦啊!我们需要一个单独的 ec2 实例来运行该流程,该流程有自己的管理和运营开销。

一定会有更好的办法!

amazon-s3 amazon-redshift

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

Presto:将带TZ的时间戳转换为普通时间戳,无需转换为UTC

Presto中的此查询:

select *, 
  cast(ts_w_tz as timestamp) as ts, 
  cast(substr(cast(ts_w_tz as varchar), 1, 23) as timestamp) as local_ts_workaround 
from (select timestamp '2018-02-06 23:00:00.000 Australia/Melbourne' as ts_w_tz);
Run Code Online (Sandbox Code Playgroud)

返回值:

                   ts_w_tz                   |           ts            |   local_ts_workaround   
---------------------------------------------+-------------------------+-------------------------
 2018-02-06 23:00:00.000 Australia/Melbourne | 2018-02-06 12:00:00.000 | 2018-02-06 23:00:00.000
Run Code Online (Sandbox Code Playgroud)

如您所见,将带有时区的时间戳转换为时间戳的行为导致时间戳被转换回UTC时间(例如ts)。IMO的正确行为应该是根据返回返回时间戳的“墙读” local_ts_workaround

我意识到有很多关于Presto如何处理此错误和不符合SQL标准的帖子,并且正在修复。但是与此同时,这是一个主要的痛苦,因为其结果是似乎没有构建方法来获得带有OUT时区的本地时间戳(按local_ts_workaround)。

显然,我现在有了字符串转换的解决方法,但这似乎很可怕。我想知道是否有人有更好的解决方法,或者可以指出我错过的内容?

谢谢。

sql presto

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