小编bvp*_*vpx的帖子

vim系统寄存器*和+不工作

:echo has('clipboard')返回1,但每当我执行"+yy""*yy"似乎没有任何东西在这些寄存器中.如果我使用常规yy来复制另一行文本,那么尝试从寄存器中粘贴,CONTROL+V没有任何反应.如果我尝试"+p使用常规yy命令粘贴我复制的文本行.

这里发生了什么?顺便说一下,我在使用FreeBSD.

vim freebsd copy

10
推荐指数
4
解决办法
6119
查看次数

golang sqlite数据库连接池

当我在与读取相同的时间调用数据库写入时,我遇到了SQLite在我的机器中抛出扳手的问题.当不同的方法尝试在同一时间访问数据库时会发生这种情况.

我正在做的与此线程中的操作类似,接受的答案解释了如何使用数据库事务来避免数据库锁定.

这是我的一些代码:

stmt, err := dbtx.Prepare(`statement`)
if err != nil {
    log.Fatal(err)
}

_, err = stmt.Exec(values, values, values)
if err != nil {        
    log.Fatal(err)
}

err = dbtx.Commit()
if err != nil {
    fmt.Println("database lock?")
    fmt.Println(err)
    dbtx.Rollback()
}

fmt.Println("Database storage complete!")
Run Code Online (Sandbox Code Playgroud)

令人困惑的是输出后该程序存在:

database lock?
database is locked
Database storage complete!
2014/09/09 18:33:11 database is locked
exit status 1
Run Code Online (Sandbox Code Playgroud)

我不希望我的程序暂停数据库锁,我希望它将数据存储在内存中并继续其业务直到数据库解锁,我可以再试一次.

是否有一些标准方法可以实现这一点,可能是某种类型的队列或数据结构,还是有特定于数据库的方法来解决这个问题?

输出后为什么程序会退出Database storage complete!

编辑:

我相信我已经解决了这个问题,但我无法确定.我正在使用goroutines和一个程序包范围的数据库连接.以前,我的代码中的每个函数都在调用时初始化数据库连接.现在,我有一个"全局"变量用于在包顶部定义的数据库连接,并在任何例程开始之前进行初始化.这里的代码简而言之:

var nDB *sql.DB
Run Code Online (Sandbox Code Playgroud)

后来在主要功能...

mypkg.InitDB()
go mypkg.RunDatabaseOperations()
mypkg.BeginHTTPWatcher(rtr)
Run Code Online (Sandbox Code Playgroud)

InitDB() …

database sqlite error-handling go

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

去,sudo和apache端口80

我在golang中使用gorilla/mux包,但是有一些问题.第一个是我没有权限在我的应用程序上使用端口80,因为我无法从sudo运行应用程序,因为$GOPATH在使用sudo时没有设置.

这是我从程序中得到的错误:

$ go run app.go 
2014/06/28 00:34:12 Listening...
2014/06/28 00:34:12 ListenAndServe: listen tcp :80: bind: permission denied
exit status 1
Run Code Online (Sandbox Code Playgroud)

我不确定当我修复sudo问题时它是否会工作,因为apache已经在使用端口80而且我不确定我的应用程序和apache是​​否可以"一起玩得很好".

关于如何解决这个问题的任何建议都会很棒.谢谢.

linux apache go gorilla

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

vim:使用 :bn 在缓冲区之间切换时保留光标位置

例如,如何在切换缓冲区时保留一行中的光标位置:bn

vim 记得我的光标在哪一行,但是当我在缓冲区之间切换时总是将我的光标移动到行的开头。

vim line cursor

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

无法使用github 2FA从命令行提交

git现在,我已经在我的帐户上启用了2FA,因此我无法通过命令行使用用户名/密码提交我的回购.

我有一个"用户访问令牌",但我真的非常讨厌它.所以现在我只能在将这个超长字符串复制到我的剪贴板中时提交,如果有人看到该字符串或以某种方式获取对我的剪贴板的访问权限,或者我将其粘贴到某个地方,或者我把它放在一个文件中并且访问该文件攻击者可以破坏我的回购破坏?

我真的不明白这比记住12位数字随机数字/字母/符号密码更安全.我必须做错事或误解如何使用这个个人访问令牌.我究竟做错了什么?

git github

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

chrome 扩展权限不起作用

我的 chrome 扩展的结构是这样的:

background.html
background.js
javascripts/angular...
javascripts/webRTC...
Run Code Online (Sandbox Code Playgroud)

在 background.js 中,我使用了来自 firebase 的 datachannel.js 库,它实质上创建了对 firebaseio.com 的远程调用

var socket = new window.Firebase('https://' + 
    (self.firebase || 'webrtc-experiment') + '.firebaseIO.com/' + channel);
Run Code Online (Sandbox Code Playgroud)

chrome 将此错误返回到控制台:

Refused to load the script 'https://webrtc-experiment.firebaseio.com/.lp?start=t&ser=24080204&cb=23&v=5' because it violates the following Content Security Policy directive: "script-src 'self' blob: filesystem: chrome-extension-resource:". (anonymous function) @ firebase.js:168

这是 manifest.json:

 "manifest_version": 2,
    "background": {
        "page": "background.html"
    },
    "browser_action": {
        "default_popup": "main.html",
        "default_icon": "icon.png",
        "default_title": "title"

    },
    "minimum_chrome_version": "37.0",
    "name": "chromeextensionname",
    "permissions": [
        "<all_urls>",
Run Code Online (Sandbox Code Playgroud)

html javascript google-chrome google-chrome-extension

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

将数据库无缝打包到应用程序中供用户使用

我想创建一个使用关系数据库的桌面应用程序(例如 postgres - 假设我最好的情况是在此应用程序中使用 postgres)。

我希望用户不知道数据库。目前,我必须将 postgres 安装到我的本地计算机中,并让我的应用程序与之通信。

我正在使用Go。

我怎样才能避免这种情况?

database postgresql go

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

golang RFC2822转换

包含的库中是否有一个库或函数可以将RFC时间戳转换为Unix时间(或其他可以格式化为Unix时间的格式?)。

例如,我想将其更改Tue Sep 16 21:58:58 +0000 2014为Unix时间戳。

timestamp go date-conversion

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