使用PostgreSQL,我有很多查询,如下所示:
SELECT <col 1>, <col 2>
, (SELECT sum(<col x>)
FROM <otherTable>
WHERE <other table foreignkeyCol>=<this table keycol>) AS <col 3>
FROM <tbl>
Run Code Online (Sandbox Code Playgroud)
鉴于子选择在每种情况下都是相同的,有没有办法将该子选择存储为表中的伪列?基本上,我希望能够从表A中选择一列,它是表B中与记录相关的特定列的总和.这可能吗?
是否可以使用通配符域和SAN使用单个证书保护多个域?
例如,一个SAN证书可以保护两者*.domain1.com and *.domain2.com
吗?
到目前为止,我所阅读的所有内容似乎都表明您可以拥有通配符证书(*.domain1.com)或SAN证书(host1.domain1.com,host2.domain2.com),但不能组合使用.它是否正确?
有没有办法将CSS规则标记为不太重要,这样即使第一个规则具体更高,它也不会覆盖后续规则?例如,假设我的CSS文件中包含以下内容:
#inputDiv input[type="text"]{
width:125px;
}
#differentInput1{
width:25px;
}
#differentInput2{
width:500px;
}
Run Code Online (Sandbox Code Playgroud)
我想要的想法是所有作为div"inputDiv"的子节点的文本输入字段的宽度为125px,除了某些特定输入获得一些其他宽度.问题是第一个声明会覆盖特定的项声明.
我尝试过以下方法:
有没有办法简单地说第一个声明中的项目不太重要,不应该覆盖任何东西?
Jsfiddle显示问题:https://jsfiddle.net/ibrewster/g6v2x7ku/12/
注意粉红色div如何扩展到蓝色div的边界之外.
我正在尝试制作一个简单的布局,其中我有两个嵌套的div扩展到一定的高度(在这种情况下需要100%的窗口高度),内部div根据需要滚动以显示其他内容.因此,如果内容很短,则div全部折叠到内容的大小,但如果它很长,它们只会扩展到一个点,此时内部div应该滚动.
HTML:
<div id="topDiv">
<div id="insideDiv">
Some inside content
<br> More inside content
<br> More inside content
<br> More inside content
<br> More inside content
<br>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
而CSS:
html,
body {
height: 100%;
}
#topDiv {
background-color: lightblue;
max-height: 50px;
width: 100%;
padding: 10px;
}
#insideDiv {
background-color: pink;
max-height: 100%;
overflow-y:auto;
}
Run Code Online (Sandbox Code Playgroud)
请注意,如果将max-height topDiv
设置为百分比,则效果相同,在这种情况下,我不能简单地将max-height值设置insideDiv
为适当的较小值.此外,将overflow
属性设置topDiv
为隐藏不起作用 - 额外的内容insideDiv
只是完全隐藏,然后滚动无法访问.
如何限制的高度insideDiv
不超过高度topDiv
,以insideDiv
根据需要滚动任何额外的内容?
在python中,有许多函数可用作标准函数和上下文管理器.例如,open()
可以称为:
my_file=open(filename,'w')
Run Code Online (Sandbox Code Playgroud)
要么
with open(filename,'w') as my_file:
Run Code Online (Sandbox Code Playgroud)
两者都给你一个my_file
可以用来做任何你需要的对象.一般情况下,后者是优选的,但有时也可能想要做前者.
我已经能够弄清楚如何编写上下文管理器,或者通过创建一个带有__enter__
和__exit__
函数的类,或者通过@contextlib.contextmanager
在函数上使用装饰器yield
而不是return
.然而,当我这样做时,我不能再直接使用该函数 - 使用装饰器,例如,我得到一个_GeneratorContextManager
对象而不是想要的结果.当然,如果我把它作为一个类,我只会得到一个生成器类的实例,我假设它基本上是相同的.
那么我如何设计一个函数(或类)作为函数,返回一个对象或一个上下文管理器,返回一个_GeneratorContextManager
或类似的东西?
编辑:
例如,假设我有一个类似下面的函数(这是高度简化的):
def my_func(arg_1,arg_2):
result=arg_1+arg_2
return my_class(result)
Run Code Online (Sandbox Code Playgroud)
所以函数需要一些参数,用它们做些什么,并使用那些东西的结果初始化一个类,然后返回它.最终结果是我有一个实例my_class
,就像我有一个file
对象,如果我已经调用open
.如果我希望能够将此函数用作上下文管理器,我可以像这样修改它:
@contextlib.contextmanager
def my_func(arg_1,arg_2):
result=arg_1+arg_2 # This is roughly equivalent to the __enter__ function
yield my_class(result)
<do some other stuff here> # This is roughly equivalent to the __exit__function
Run Code Online (Sandbox Code Playgroud)
当作为上下文管理器调用时,它工作得很好,但我不再获得my_class
调用为直接函数的实例.也许我只是做错了什么?
编辑2:
请注意,我确实可以完全控制my_class
,包括向其添加功能的功能.从下面的接受的答案,我可以推断,我的困难来自于一个基本的误解朵朵:我在想,不管我叫(my_func …
在 jinja2 for 循环中,如何跟踪变量的前一个值(用于显示“组”之间的中断)?显而易见且直接的答案是:
{% set last_val='unk' %}
{% for object in data %}
{% if object[0]!=last_val %}
<output whatever separation code>
{% set last_val=object[0] %}
{% endif %}
<other stuff>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
...由于 jinja2 的范围规则而不起作用 - 每次循环都会看到相同的“unk”。我该如何解决这个限制?
编辑:我正在研究我的一些旧代码,我在其中做了类似的事情,显然这确实适用于 jinja2 2.8,但在 2.9.6 之前的某个时候崩溃了。所以我想一种解决方案是降级到 2.8 并保持在那里。
TLDR;的python中提供的各种压缩算法 gzip
,bz2
,lzma
,等,具有最佳的减压性能?
完整讨论:
Python 3 有各种用于压缩/解压缩数据的模块,
包括gzip
、bz2
和lzma
。gzip
并且bz2
还可以设置不同的压缩级别。
如果我的目标是平衡文件大小(/压缩比)和解压缩速度(压缩速度不是问题),哪个是最佳选择?解压缩速度比文件大小更重要,但由于有问题的未压缩文件每个大约 600-800MB(32 位 RGB .png 图像文件),而且我有十几个,我确实想要一些压缩。
我的用例是我从磁盘加载一打图像,对它们进行一些处理(作为一个 numpy 数组),然后在我的程序中使用处理过的数组数据。
pickle
)而不是每次加载原始的、未处理的图像来节省一些加载时间。最初的测试很有希望——加载原始/未压缩的腌制数据只需要不到一秒钟,而加载和处理原始图像则需要 3 或 4 秒——但如前所述导致文件大小约为 600-800MB,而原始 png 图像是只有大约 5MB。所以我希望通过以压缩格式存储选择的数据,我可以在加载时间和文件大小之间取得平衡。更新:情况实际上比我上面描述的要复杂一些。我的应用程序使用PySide2
,所以我可以访问这些Qt
库。
pillow
( PIL.Image
)转换为 numpy 数组,实际上我不需要做任何处理,但将图像读入数组的总时间约为 4 秒。QImage
读取图像,那么我必须对结果进行一些处理,以使其可用于我的程序的其余部分,因为QImage
加载数据的方式的字节序- 基本上我必须交换位顺序和然后旋转每个“像素”,使 alpha 通道(显然是由 QImage 添加的)出现在最后而不是第一个。这整个过程只需约3.8秒,所以稍微比只使用PIL更快。numpy
未压缩的数组,那么我可以在 0.8 …简短版本:我有一个Qt/C++,我不得不添加有限数量的Cocoa/Objective-C代码.我已将.cpp文件更改为.mm文件,并将objective-c代码/对象添加到所述文件中,并进行编译和工作.我现在需要为我创建的一个对象 - 一个NSPopUpButton(或者更确切地说,它的菜单)代表一个委托 - 而且我被卡住了.如何为此对象添加委托?
详细信息:有问题的文件:
reportwindow.h,reportwindow.cpp更新为reportwindow.mm - 这些文件包含我原来的C++实现和一些objective-c代码(打开一个包含NSPopUpButton的NSSavePanel).reportwindow.h还包含在.cpp文件中,如果这有所不同.
menuHandler.h,menuHandler.mm - 这些文件包含一个(当前为空)的objective-c类,我打算将其用作委托
我的第一个想法是,我可以简单地将C++类作为委托,但这显然不起作用,因为直接的C++不理解委托.然后我想我将一个单独的objective-c类作为NSMenuDelegate,并将它的一个实例添加为我的C++类的成员对象.由于我已经能够添加其他objective-c对象作为成员,我认为这应该工作.但是,只要我在C++类头文件中包含了我的新objective-c类的头文件,我就会从苹果头文件(NSValue.h)中获得几百个关于"'''令牌之前的非预期不合格ID"的错误. ,NSObject.h等)显然这不起作用,至少不是原样.在我的类头文件中包含任何cocoa头时,我得到相同的结果.
然后我想我会尝试使用objective-c类的前向声明(这就是我让其他Objective-c对象工作的方式).但是,这也没有用 - 如果我将其声明为"class myClassName",我会收到一个关于将类重新定义为不同类型符号的错误(可能是c ++类vs objective-c协议).如果我尝试将其声明为@protocol myClassName,我会收到关于"'''令牌之前的预期unqualified-id"的错误.那我怎么能做这个呢?
有人可以向我解释Core Data(显然是"数据存储")和SQLite或MySQL之类的数据库之间的根本区别是什么?
我正在编写一个iPhone应用程序,需要一个静态数据表来显示.我认为核心数据是一个很好的选择,所以我得到了所有设置和功能,就数据库(对不起 - 数据存储)去了,然后去尝试导入我的数据(它是在一个我导出到CSV的excel文件.我认为它应该是一个像我在SQLite和其他数据库中多次完成的直接过程,但经过大量研究后证明,唯一的"官方"方法是专门为我的数据编写一个解析器.
当我在Apple Developer论坛上询问这个问题时,我得到的回答基本上是"你认为你可以直接导入数据而不必编写代码来做什么样的白痴?核心数据不是数据库 - 这是一个数据存储!!" 然而,对于我的生活,我看不出这种区别.在我看过的每一种方式中,核心数据都像数据库一样完美,具有访问它的奇特方式和足够的抽象,它可以使用各种文件格式来实际存储数据.事实上,我最终能够使用简单的SQLite .import命令导入我的数据,所以我真的不明白为什么这个概念对于原始问题的响应者来说是如此陌生.
那我在这里错过了什么?数据库中的数据存储是如何根本不同的,这使得简单数据导入的概念与那些了解该技术的人完全不同?
我有两个数据库设置为同一个 Postgresql 9.4 数据库集群的一部分,我正在尝试使用 postgres_fdw 从另一个访问其中一个中的表。我以超级用户身份进行了所有设置和工作,但是当我尝试以普通用户身份访问外部表时,出现以下错误:
ERROR: password is required
DETAIL: Non-superuser cannot connect if the server does not request a password.
HINT: Target server's authentication method must be changed.
Run Code Online (Sandbox Code Playgroud)
现在我明白这是因为我为某些子网(包括它自己的子网)设置了信任身份验证的服务器。但是,在USER MAPPING
我创建的 1 中,我确实指定了密码,希望这样做会强制它使用密码身份验证。显然没有这样的运气。
因此,我的问题是是否有办法解决这个有点繁重的要求?有没有办法强制此连接或特定用户或类似的人使用密码身份验证?或者某种方法来禁用该要求?或者我唯一的选择是更改配置以要求密码,并处理任何破坏?
python ×3
css ×2
postgresql ×2
bz2 ×1
c++ ×1
core-data ×1
database ×1
gzip ×1
html ×1
jinja2 ×1
lzma ×1
objective-c ×1
performance ×1
ssl ×1
view ×1