我想知道,如果可能的话,如何根据你所处的模式改变vim中的光标(颜色,形状等).
我经常忘记我没有处于插入模式并开始输入代码,导致各种疯狂的事情发生.如果光标上有某种视觉指示会很有帮助.
在Python(3)中,我想创建一个列表,其中包含输入的最后5个变量.这是一个例子:
>>>l = []
>>>l.append('apple')
>>>l.append('orange')
>>>l.append('grape')
>>>l.append('banana')
>>>l.append('mango')
>>>print(l)
['apple','orange','grape','banana','mango']
>>>l.append('kiwi')
>>>print(l)
['orange','grape','banana','mango','kiwi'] #only 5 items in list
Run Code Online (Sandbox Code Playgroud)
那么,在python中,有没有办法实现上面演示的内容?变量不需要是一个列表,我只是用它作为例子.
谢谢!
传统上我总是在SQL中使用ID列(主要是mysql和postgresql).
但是我想知道如果每行中的其余列都是唯一的,那是否真的有必要.在我的最新项目中,我将"ID"列设置为我的主键,但是我从不调用它或以任何方式使用它,因为行中的数据使其独特并且对我来说更有用.
因此,如果SQL表中的每一行都是唯一的,它是否需要一个主键ID表,并且是否有一个性能变化?
谢谢!
编辑/附加信息:让我问这个问题的具体例子是我用于多对多对多表的表(如果我们在那时仍然称之为)它有4个表列(加ID),每个列表示外部表的ID,每行始终为数字且唯一.只允许其中一列为null.
我知道对于普通表,ID主键列是一件非常好的事情.但是我觉得在这个特定的桌子上它只会浪费空间并减慢添加新行的速度.
我试图从一个表中删除一行,并将一些额外的数据插入另一个表.我知道这可以在两个单独的命令中完成,一个用于删除,另一个用于插入新表.但是我试图将它们组合起来并且它不起作用,这是我目前的查询:
insert into b (one,two,num) values delete from a where id = 1 returning one, two, 5;
运行时,我收到以下错误:
错误:"删除"或附近的语法错误
任何人都可以指出如何实现这一目标,还是有更好的方法?还是不可能?
我正在为linux(maemo)编写一个简单的python应用程序.但是我SyntaxError: invalid syntax上线23:with open(file,'w') as fileh:
代码可以在这里看到:http://pastebin.com/MPxfrsAp
我无法弄清楚我的代码有什么问题,我是python和"with"语句的新手.那么,导致此代码出错的原因是什么,我该如何解决?"with"声明有问题吗?
谢谢!
我正在使用PHP的DOM对象为我的网站创建HTML页面.这对我来说非常有用,但是由于我将在身体中输入大量HTML(而不是通过DOM),我认为我需要使用DOM->createElement($bodyHTML)将我的HTML从我的网站添加到DOM对象.
但DOM->createElement似乎解析所有HTML实体,所以我的最终结果最终显示在页面上的HTML而不是实际呈现HTML.
我目前正在使用hack来实现这一点,
$body = $this->DOM
->createComment('DOM Glitch--><body>'.$bodyHTML."</body><!--Woot");
Run Code Online (Sandbox Code Playgroud)
这将我的所有站点代码放在评论中,我在评论中绕过并手动添加<body>标签.
目前这种方法有效,但我相信应该有更合适的方法.理想情况下,类似的东西DOM->createElement()不会解析任何字符串.
我也试过使用DOM->createDocumentFragment()但是它不喜欢一些字符串所以它会出错并且不起作用(除了占用额外的CPU能力来重新解析正文的HTML).
所以,我的问题是,除了使用之外,还有更好的方法DOM->createComment()吗?
我试图在postgresql中获得两个几乎相同的表之间的差异.我正在运行的当前查询是:
SELECT * FROM tableA EXCEPT SELECT * FROM tableB;
Run Code Online (Sandbox Code Playgroud)
和
SELECT * FROM tableB EXCEPT SELECT * FROM tableA;
Run Code Online (Sandbox Code Playgroud)
上述每个查询大约需要2分钟才能运行(它是一个大表)
我希望结合这两个查询以期节省时间,所以我试过:
SELECT * FROM tableA EXCEPT SELECT * FROM tableB
UNION
SELECT * FROM tableB EXCEPT SELECT * FROM tableA;
Run Code Online (Sandbox Code Playgroud)
虽然它有效,但运行需要20分钟!我猜它最多需要4分钟,单独运行每个查询的时间.
UNION正在做一些额外的工作,这需要花费这么长时间吗?或者有什么方法可以加快速度(有或没有UNION)?
更新:使用UNION ALL运行查询需要15分钟,几乎是自己运行每个查询的4倍,我是否正确地说UNION(全部)根本不会加快速度?
在Go中,缓冲通道是否有任何订单保证?
例如:您有两个共享频道的goroutine A和B. 当B从中读取数据时,将数据推送到通道.您是否有必要B将读取数据按照A将其放入频道的顺序?
据我所知,如果有多个生产者或消费者,订单可能是非确定性的,但我特别询问只有1个生产者和1个消费者.
我有一个用PHP编写的独立类,用于一些非常基本的LDAP/AD函数.我想在我正在使用cakephp的项目中使用这个类.
它看起来像在cakephp 1.2中我可以将该类添加为供应商,但看起来像cakephp 1.3删除了对供应商的支持.那么我该如何从这个类中调用一些函数呢?
(我想尝试保持类本身相同而不是把它变成插件,因为这似乎是不必要的)
谢谢!
代码如下:
**<?php
class UsersController extends AppController {
var $name = 'Users';
//commented out because it breaks the script
//App::import('Lib', 'ldap');
function index() {
$this->User->recursive = 0;
$this->set('users', $this->paginate());
}
function login() {
if (!empty($this->data)) {
if ($ldap->auth($this->data['User']['user'],$this->data['User']['password'])) {
$this->Session->setFlash(__('The user has been saved', true));
$this->Session->write('user', $this->data['User']['user']);
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('Login Failed', true));
}
}
}
function logout() {
$this->Session->delete('user');
$this->redirect($this->referer());
}
function view($id = null) {
if (!$id) {
$this->Session->setFlash(__('Invalid user', …Run Code Online (Sandbox Code Playgroud) 我需要对 tar.gz 文件进行数字签名,但不知道该怎么做。我理解这个概念,并且我知道如何签署 jar/zip 文件。但是我找不到可以使用 tar.gz 文件的方法。
谁能指出我正确的方向,或者告诉我为什么不能这样做?
谢谢!
在python中,我如何创建一个可以在所有被调用的类中使用的全局函数?这是一个例子:
import configparser
import os
import sys
from datetime import datetime
from ftplib import FTP
def notify(msg):
echo = True
log = True
if echo:
print(msg)
if log:
f = open('log.txt','a')
msg = datetime.now().strftime("%y-%m-%d-%H:%M:%S")+': ' + msg
f.write(msg)
f.close()
#sys.exit() #removing this was the fix!
class zoneFTP():
def __init__(self):
self.conn = FTP()
self.dir = './'
notify('The dir is :' + self.dir)
def main():
notify('starting')
ftp = zoneFTP()
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
notify()在zoneFTP类中调用失败.如何使notify()函数像python内置的函数之一,以便它可以在任何地方调用?或者有更好的方法来做我想在这里完成的事情吗?
我正在尝试使用d3(v4.0)创建一个图形,该图形具有针对节点的方向边和标签,如下所示:http://jsfiddle.net/chrisJamesC/HgHqy/但是使用较新版本的D3.
这就是我到目前为止:https://jsfiddle.net/4nu57pgn/1/但我似乎无法弄清楚如何告诉D3使边缘看起来是直观的(带箭头)或者有节点ID显示.
var svg = d3.select("svg");
var width = svg.attr("width");
var height = svg.attr("height");
svg = svg.call(d3.zoom().on("zoom", zoomed)).append("g");
var color = d3.scaleOrdinal(d3.schemeCategory10);
var simulation = d3.forceSimulation()
.force("link", d3.forceLink().id(function(d) { return d.id; }))
.force("charge", d3.forceManyBody())
.force("center", d3.forceCenter(width / 2, height / 2));
function createGraph (error, graph) {
if (error) throw error;
var link = svg.append("g")
.attr("class", "links")
.selectAll("line")
.data(graph.links)
.enter().append("line")
.attr("stroke", function(d) { return color(d.type); });
var node = svg.append("g")
.attr("class", "nodes")
.selectAll("circle") …Run Code Online (Sandbox Code Playgroud) python ×3
php ×2
postgresql ×2
sql ×2
adb ×1
android ×1
cakephp ×1
cakephp-1.3 ×1
channel ×1
class ×1
d3.js ×1
diff ×1
dom ×1
global ×1
go ×1
graph ×1
javascript ×1
list ×1
primary-key ×1
sign ×1
sql-delete ×1
sql-insert ×1
syntax ×1
syntax-error ×1
union ×1
vim ×1