小编Isa*_*ell的帖子

Go中的int和int64有什么区别?

我有一个包含整数的字符串(已从文件中读取).

我正在尝试将其转换stringint使用strconv.ParseInt(). ParseInt要求我提供一个bitsize(位大小0,8,16,32和64对应于int,int8,int16,int32和int64).

从文件读取的整数很小(即它应该适合普通的int).但是,如果我传递0的bitsize,我会得到类型的结果int64(可能是因为我在64位操作系统上运行).

为什么会这样?我如何获得正常的int?(如果有人对何时以及为什么我应该使用不同的int类型进行快速入门,那就太棒了!)

编辑:我可以使用将int64转换为普通的int int([i64_var]).但我仍然不明白为什么ParseInt()在我请求0的位数时给我一个int64.

go

75
推荐指数
4
解决办法
5万
查看次数

在发出拉取请求后继续在Git分支上工作

我最近发现自己处于这种情况的几次,而且我不确定如何最好地处理它.

所以我有一个我正在贡献的git存储库的分支.我让我的主分支与上游主分支同步.

当我想开发一个新功能,bugfix等时,我会从我的主人那里创建一个分支并做任何工作.当我完成后,我合并了在此期间对上游主服务器所做的任何更改,然后从我的feature/bugfix分支向上游主服务器发送一个pull请求.

现在,当我等待拉取请求被接受时,我想要处理稍微不同的事情.但是,新功能工作需要我刚刚发送了pull请求的bugfix/new功能.我需要建立它.

如何以可以处理延续的方式分支/合并/处理分支,同时在第一个拉取请求被接受到主服务器后,仍然能够以干净的方式合并/拉取我的更改中的请求?

这都是使用Github,虽然我想这个答案一般适用于Git.

git version-control github

32
推荐指数
2
解决办法
4192
查看次数

使用node-postgres在utc中获取Postgres"没有时区的时间戳"

我有一些时间戳存储为Postgres类型timestamp without time zone.

我将使用时间戳2013-12-20 20:45:27作为示例.我打算这表示UTC时间戳.

在psql中,如果我运行查询SELECT start_time FROM table_name WHERE id = 1,我会按预期返回该时间戳字符串:2013-12-20 20:45:27.

但是,如果在我的Node应用程序中,我使用node-postgres库来运行相同的查询,我会在本地时区获得一个时间戳:Fri Dec 20 2013 20:45:27 GMT-0600 (CST).这是一个Javascript日期对象,但它已经存储为该时区.我真正想要的是一个代表的日期对象(甚至只是一个字符串)2013-12-20 20:45:27 GMT+0000.我已经知道这次是UTC.

我已经尝试将postgresql.conf文件中的timezone param设置为:timezone = 'UTC',结果没有区别.

我究竟做错了什么?

编辑

问题似乎出现在这个文件中:https://github.com/brianc/node-postgres/blob/master/lib/types/textParsers.js

如果从Postgres返回的日期字符串没有指定时区(Z或者+06:30,那么它只是构造一个JavaScript日期对象,我相信它只包含本地时区.我要么将我的应用程序更改为存储DB中的时区或覆盖此转换器.

postgresql node.js node-postgres

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

Webdriver错误:抛出UnexpectedAlertPresentException后出现"没有警报"

我正在尝试测试我正在开发的webapp.我正在使用针对Firefox 22.0的Firefox驱动程序.

有一次,可能会弹出一个模态对话框(一个Javascript提示符()).如果是,我想输入一些文本,然后将其关闭(单击确定).

这是相关的代码:

try:
    if button.text == "Run":
        button.click()
except UnexpectedAlertPresentException:
    alert = self.driver.switch_to_alert()
    print alert.text
    alert.send_keys('8080')
    alert.dismiss()
Run Code Online (Sandbox Code Playgroud)

UnexpectedAlertPresentException 抛出.但是,一旦它尝试执行print alert.text,我得到:

`NoAlertPresentException: Message: u'No alert is present'`.
Run Code Online (Sandbox Code Playgroud)

如果我删除了print语句,它就会爆炸alert.send_keys:

`WebDriverException: Message: u'fxdriver.modals.find_(...) is null'`
Run Code Online (Sandbox Code Playgroud)

我不明白.不是NoAlertPresentException通过定义矛盾于UnexpectedAlertPresentException这被抛出,并引起了除块中首先执行?

编辑:另外,我不能为我的生活找到的任何文件UnexpectedAlertPresentExceptionhttp://selenium.googlecode.com/svn/trunk/docs/api/py/index.html#documentation

编辑2:这就是我现在拥有的:

try:
    if button.text == "Run":
        button.click()

        alert = self.driver.switch_to_alert()

        alert.send_keys('1111')
        alert.dismiss()

 except NoAlertPresentException:
     pass
Run Code Online (Sandbox Code Playgroud)

但是,我仍然看到这个:

WebDriverException: Message: u'fxdriver.modals.find_(...) is null' 
Run Code Online (Sandbox Code Playgroud)

就行了alert.send_keys('8080').我想我不明白为什么switch_to_alert()不扔,NoAlertPresent如果没有警报......这是我假设的WebDriverException指示.

python selenium webdriver selenium-webdriver

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

使用 reST 嵌套 Sphinx 扩展指令

我想弄清楚是否有办法嵌套 Sphinx 扩展指令。我有一些很好用的自定义节点类型,但我希望生成的 HTML 具有更大的灵活性。

这是我要完成的示例:

假设我有一个指令来创建一个文本框和按钮来触发一些 JavaScript。这很好用 - 我可以把它放在我的 reST 文件中:

.. myDirective:: name
    :opt1: val
    content
Run Code Online (Sandbox Code Playgroud)

现在,我希望能够在输出中使用 jQuery 创建选项卡式界面。我有一个节点类型,它创建发生这种情况所需的原始 HTML/JavaScript。

我希望能够做的是为选项卡节点提供 1 个或多个 myDirective(或其他指令)的实例,并将每个实例放入另一个选项卡中。像这样的东西:

..tabbedInterface:: 
    .. myDirective:: name1
        :op1: val1
        content

    .. myDirective:: name2
        :op1: val1
        content
Run Code Online (Sandbox Code Playgroud)

显然这是一个非常具体的情况,但这通常是我想要完成的 - 嵌套指令。

python restructuredtext docutils python-sphinx

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

如何让Python线程优雅地完成

我正在做一个涉及数据收集和日志记录的项目.我有两个运行的线程,一个集合线程和一个日志记录线程,都在main中启动.我正在尝试使用Ctrl-C允许程序正常终止.

我正在使用a threading.Event向线程发出信号以结束它们各自的循环.它可以正常停止该sim_collectData方法,但它似乎没有正确停止该logData线程.该Collection terminated打印语句永远不会执行,程序公正摊位.(它没有结束,只是坐在那里).

第二个while循环logData是确保记录队列中的所有内容.目标是让Ctrl-C立即停止收集线程,然后允许日志记录线程完成清空队列,然后才完全终止程序.(现在,数据刚刚被打印出来 - 最终它将被记录到数据库中).

我不明白为什么第二个线程永远不会终止.我基于我在这个答案上所做的事情:在一段时间后停止一个线程.我错过了什么?

def sim_collectData(input_queue, stop_event):
    ''' this provides some output simulating the serial
    data from the data logging hardware. 
    '''
    n = 0
    while not stop_event.is_set():
        input_queue.put("DATA: <here are some random data> " + str(n))
        stop_event.wait(random.randint(0,5))
        n += 1
    print "Terminating data collection..."
    return

def logData(input_queue, stop_event):
    n = 0

    # we *don't* want to loop based on queue size because …
Run Code Online (Sandbox Code Playgroud)

python multithreading python-2.7

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

我应该如何构建一个简单的Go项目?

我有一个非常简单的Go项目,我正在尝试重组,以便它遵循正常的Go项目结构(所以我可以运行go build).

我目前有两个源文件,都有package main.所有文件,包括我的程序在运行时需要的一些文本配置文件.

所以现在,它看起来像:

<project_name>
    - main.go
    - source2.go
    - config_file.txt
Run Code Online (Sandbox Code Playgroud)

go build当我在这个目录中时,我可以运行,它会创建一个二进制文件(命名<project_name>.这样可以正常工作,但我想将其设置为更好地遵循Go标准包结构(特别是以便Intellij IDEA将其识别为一个有效的项目).

现在,我project_name>在Git中拥有整个< 目录,我想保持这种方式.

我尝试将源文件放在一个名为的文件夹中src,但后来go build说没有任何源文件可以编译.

我应该如何构建这个?

编辑:

弄清楚把东西放进去的问题src/:我需要运行go build <project_name>.
我仍然想知道是否有办法在没有全局GOPATH的情况下建立项目.我将所有项目都放在一个文件夹下,每个项目都有一个子文件夹(并非所有项目都是Go项目).我想保留那个系统.

我想要的是:

projects/
    - project 1/
         - src/
         - bin/
         - pkg/
    - project 2/
         - src/
         - bin/
         - pkg/
Run Code Online (Sandbox Code Playgroud)

然后我希望能够运行go build <project_name>(当我在该项目的目录中时)并让它编译该项目.那可能吗?

go

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

为什么Go陷入"致命错误:所有goroutines都睡着了"

以下是我的代码中的相关摘录:

func main() {
    quit := make(chan int)

    readyQueue := make(chan Proc)
    runQueue := make(chan Proc)
    waitQueue := make(chan Proc)

    procList := getInitialProcList()
    fmt.Println(procList)

    for _, proc := range(procList) {
        switch {
            case proc.Status == READY:
                readyQueue <- proc
                tick(quit, readyQueue, runQueue, waitQueue)
            case proc.Status == RUN:
                runQueue <- proc
                tick(quit, readyQueue, runQueue, waitQueue)
            case proc.Status == WAIT:
                waitQueue <- proc
                tick(quit, readyQueue, runQueue, waitQueue)
        }
    }

    <-quit // blocks to keep main thread alive
}

func tick(quit chan int, …
Run Code Online (Sandbox Code Playgroud)

channel go

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

使用嵌套的Q promises进行顺序/相关操作

为模糊的标题道歉 - 我想不出一种简洁地总结这个问题的方法.

这是交易.我有一个Node控制器,它必须执行一些顺序数据库操作,如下所示:

0. Given a surveyId
1. Find all entries in the question table, where question.surveyId = surveyId.
2. For each row in the question table returned by the previous query:
    a) Find all entries in the `answer` table, where answer.questionId = question.id
    b) For each row in the answer table returned by the previous query:
       (i) Find the count of all entries in the vote table where vote.answerId = answer.id
Run Code Online (Sandbox Code Playgroud)

控制器需要返回一个对象,该对象包含每个answerId在投票表中有条目的次数.它看起来像{1:9, 2:21, 3:0},其中1,2,3是答案ID,9,21和0是投票表中具有该答案ID的行数.

我一直在使用Q库来避免真正深度嵌套的回调.我有一个runQuery实用程序方法,它返回一个promise并在数据库IO完成后解析它.

现在,我有一些看起来像: …

javascript node.js q

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

XCode 5 中的相对行号

我刚刚开始使用 XCode。我已经安装了XVim插件来提供 Vim 键绑定。但是,我缺少打开相关行号的能力。在 vim 中,这是通过 完成的:set relativenumber,而在 Visual Studio 中,有一个插件。

XCode 5 有这样的东西吗?

vim xcode xcode5

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

使用 Jison/Bison 解析字符串

我正在尝试学习如何使用 Jison(使用 Bison 语法的 Javascript 解析器生成器)。

我有一些看起来像这样的代码:

a: "{{index()}}"
b: "{{blah(2, 'aba')}}"
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个解析器,index()如果通过 stringablah(2, 'aba')如果通过 string将返回b。(本质上,我需要解析包含方法调用的字符串)。

我一直在尝试适应 Jison 提供的示例,但由于我对解析的工作原理缺乏了解而受到阻碍!

这是我的语法文件:

/* lexical grammar */
%lex
%%

\s+                   /* skip whitespace */
[a-zA-Z0-9]+          return 'STR'
"{{"                  return '{{'
"}}"                  return '}}'
<<EOF>>               return 'EOF'
.                     return 'INVALID'

/lex

/* operator associations and precedence */
%token '{{' '}}'

%start expressions

%% /* language grammar */

expressions
    : e EOF
        { typeof console !== 'undefined' …
Run Code Online (Sandbox Code Playgroud)

javascript bison jison

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