小编Bra*_*eon的帖子

我想将文件拆分成大小相同的"块"或切片,并使用goroutines同时处理它们

使用Go,我有大型日志文件.目前我打开它们,创建一个新的扫描仪bufio.NewScanner,然后for scanner.Scan()循环遍历这些线.每行都通过处理函数发送,该函数将其与正则表达式匹配并提取数据.我想使用goroutines同时处理这个文件.我相信这可能比顺序遍历整个文件更快.

每个文件可能需要几秒钟,我想知道我是否可以一次处理10个文件中的单个文件.我相信如果需要我可以牺牲记忆力.我有〜3GB,最大的日志文件可能是75mb.

我看到scanner有一个.Split()方法,你可以提供自定义拆分功能,但我无法使用这种方法找到一个好的解决方案.

我还尝试创建一片切片,在扫描器中循环scanner.Scan()并附scanner.Text()加到每个切片.例如:

// pseudocode because I couldn't get this to work either

scanner := bufio.NewScanner(logInfo)
threads := [[], [], [], [], []]

i := 0
for scanner.Scan() {
    i = i + 1
    if i > 5 {
        i = 0
    }
    threads[i] = append(threads[i], scanner.Text())
}
fmt.Println(threads)
Run Code Online (Sandbox Code Playgroud)

我是Go的新手,关注效率和性能.我想学习如何编写好的Go代码!任何帮助或建议真的很感激.

go goroutine

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

我的华氏温度到Celcius/Kelvin转换器有问题

# Fahrenheit to Celcius    
def f2c():
    userInput = tempEntry.get().lower()
    thisEquation = "Fahrenheit to Celcius"
    if userInput == "":
        textWid.insert(END,"-- " + thisEquation + " --")
        textWid.insert(END,"\n")
        textWid.insert(END,temp_equations[thisEquation])
        textWid.insert(END,"\n")
        textWid.insert(END,"\n")
    elif userInput.isdigit():
        textWid.insert(END,"Fahrenheit = ")
        textWid.insert(END,str(((float(userInput) - 32) * (5/9))))
        textWid.insert(END,"\n")
    else:
        textWid.insert(END,"Invalid entry for"+" "+thisEquation)
        textWid.insert(END,"\n")

# Fahrenheit to Kelvin
def f2k():
    userInput = tempEntry.get().lower()
    thisEquation = "Fahrenheit to Kelvin"
    if userInput == "":
        textWid.insert(END,"-- " + thisEquation + " --")
        textWid.insert(END,"\n")
        textWid.insert(END,temp_equations[thisEquation])
        textWid.insert(END,"\n")
        textWid.insert(END,"\n")
    elif userInput.isdigit():
        textWid.insert(END,"Fahrenheit = ") …
Run Code Online (Sandbox Code Playgroud)

python math python-2.7

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

使用 Heroku pg:backups 捕获自定义 pg:dump 选项?

开发时,我需要提取最新的数据库,以便我知道我正在使用最新的数据。然而,我们保留了一张装满档案的桌子,我不需要费心下载,因为它是一张非常大的桌子。

我知道 pg_dump 允许自定义参数,让您排除某个表被转储。

如果不做任何疯狂的事情,比如拥有 2 个数据库,1 个用于数据,1 个用于档案,有没有办法从 Heroku 下载除了档案表之外的所有内容?

我仍然需要它来保存档案表的备份,但我不想下载它。我可以在需要时独立于备份进行 pg_dump 吗?

我知道这是一个很遥远的事情,但任何建议将不胜感激。

postgresql backup heroku pg

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

Swift以编程方式向标签添加约束

我处于for索引循环中,并基于每个索引项添加标签。因为我是以编程方式添加这些标签的,所以我不知道如何将它们限制在设备宽度的最右边。我在下面解释我认为约束的工作原理。我的目标=将超级视图(或包含视图)的尾随空间常量设置为8。

let y_align = 340 * index + 70
let x_align = self.deviceWidth - 110
var derp = UILabel(frame: CGRectMake(0, 0, 200, 21))
derp.center = CGPointMake(CGFloat(x_align), CGFloat(y_align))    
derp.textAlignment = NSTextAlignment.Right    
derp.text = json["things"][index]["thing"].string!    
self.some_view_container.addSubview(derp)

//now this is what I understand about constraints    
let xconstraint = NSLayoutConstraint(    
    item: derp, //-- the object that we want to constrain    
    attribute: NSLayoutAttribute.Trailing, //-- the attribute of the object we want to constrain    
    relatedBy: NSLayoutRelation.Equal, //-- how we want to relate THIS object to A …
Run Code Online (Sandbox Code Playgroud)

constraints labels swift

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

标签 统计

backup ×1

constraints ×1

go ×1

goroutine ×1

heroku ×1

labels ×1

math ×1

pg ×1

postgresql ×1

python ×1

python-2.7 ×1

swift ×1