小编Kyl*_*ndt的帖子

DDD替代方案也绘制了漂亮的数据结构图片

除了DDD之外还有什么可以绘制我的数据结构的图表,比如在Linux上运行的DDD吗?

ddd还可以运行,只是有一种旧的笨拙的感觉,只是想探索替代品,如果有的话.

我正在谈论的是这个图像网格的顶部部分: 在此输入图像描述

c linux debugging gdb ddd-debugger

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

使用SQLAlchemy将记录更快地插入表中

我正在解析日志并使用SQLAlchemy和Python将其插入MySQL或SQLite.现在我打开了与DB的连接,当我遍历每一行时,我在解析后插入它(这只是一个大表,现在对SQL不是很有经验).然后我在循环完成时关闭连接.汇总代码是:

log_table = schema.Table('log_table', metadata,
                         schema.Column('id', types.Integer, primary_key=True),
                         schema.Column('time', types.DateTime),
                         schema.Column('ip', types.String(length=15))
....
engine = create_engine(...)
metadata.bind = engine
connection = engine.connect()
....
for line in file_to_parse:
    m = line_regex.match(line)
    if m:
        fields = m.groupdict()
        pythonified = pythoninfy_log(fields) #Turn them into ints, datatimes, etc
        if use_sql:
            ins = log_table.insert(values=pythonified)
            connection.execute(ins)
            parsed += 1
Run Code Online (Sandbox Code Playgroud)

我的两个问题是:

  • 有没有办法加快这个基本框架内的插入?也许有一个插入队列和一些插入线程,某种批量插入等?
  • 当我使用MySQL时,大约120万条记录的插入时间为15分钟.使用SQLite,插入时间是一个多小时.db引擎之间的时间差异是否正确,或者它是否意味着我做了一些非常错误的事情?

python mysql sql sqlite sqlalchemy

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

将xts转换为ts:Round(频率)出错

我有一些导入的csv数据,我已经变成了一个xts对象.如果我尝试将其转换为ts对象(最终目标是使用像acf这样的函数),我得到:

"轮次错误(频率):数学函数的非数字参数"

转换它的代码是:

library("zoo")
#Working With Milliseconds
op <- options(digits.secs=3)

#Rename Function
clean_perfmon = function(x, servername) {
  names(x)[names(x)=="X.PDH.CSV.4.0...Coordinated.Universal.Time..0."] <- "Time"
  x$Time = strptime(x$Time, "%m/%d/%Y %H:%M:%OS")
  return(x)
}

web02 = read.csv("/home/kbrandt/Desktop/Shared/web02_2011_07_20_1.csv")
web02 = clean_perfmon(web02, "NY.WEB02")
web02ts = xts(web02[,-1], web02[,"Time"])
Run Code Online (Sandbox Code Playgroud)

时间大多是常规的,但MS有一些变化:

time(web02ts)[1:3]
[1] "2011-07-20 11:21:50.459 EDT" "2011-07-20 11:21:51.457 EDT" "2011-07-20 11:21:52.456 EDT"
Run Code Online (Sandbox Code Playgroud)

一些数据有NA点:

> web02ts[1:3,1]
                        X..NY.WEB02.Process.Idle....Processor.Time
2011-07-20 11:21:50.459                                         NA
2011-07-20 11:21:51.457                                   1134.819
2011-07-20 11:21:52.456                                   1374.877
Run Code Online (Sandbox Code Playgroud)

更新:
更改为每秒分辨率和非na子集无济于事:

> as.ts(web02ts[2:10,1])
Error in round(frequency) : Non-numeric argument to mathematical function
> web02ts[2:10,1]
                    X..NY.WEB02.Process.Idle....Processor.Time
2011-07-20 …
Run Code Online (Sandbox Code Playgroud)

r time-series xts

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

如何根据类别计数筛选数据框

如何对数据框进行子集化,以便仅包含包含具有在其他行中显示特定次数的值的列的行.

举例来说,如果我有一个标有食品一栏,我将如何筛选出有食物,显示了小于5倍,在整个数据帧中的所有行?

filtering r

5
推荐指数
2
解决办法
2415
查看次数

将单个数字月和日转换为POSIXct

查看时间格式说明符,我没有看到任何日期选项2/5/2010(月/日/年,单个数字,没有前导空格).是否有以这种格式转换日期的内置方法?

datetime r

5
推荐指数
2
解决办法
6934
查看次数

用于API中对象启动的OO设计模式

在python中创建API时,我不确定使用init创建基本对象实例的方法.

在API中创建对象的实例时,用户很可能希望该对象成为以下两种情况之一:

  1. 调用API的对象实例
  2. 在API被调用的内容中创建一个新对象

是否有可接受的设计模式?init应该只创建一个空对象,然后消费者必须调用get或set方法吗?或者也许init应该讨论是否这是一个get或set?或者最后,应该从init的参数中得到或设置?

python oop api

5
推荐指数
0
解决办法
106
查看次数

Golang中的地图集

如果我有一个像这样的结构:

type Foo struct {
  title string
  Tags map[string]string
}
Run Code Online (Sandbox Code Playgroud)

如何保持一套独特的结构?根据我的理解,虽然结构相等是一件事 - 地图平等不是.这意味着我无法比较我的上述结构.因此,我不能将地图实现为设置模式.

我能想到的两个可能有用的选项是:将标签转换为已排序[][]string使用reflect.Deepequal.谁有更好的主意?

struct map set go

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

在Go中重新连接EOF上的TCP

我有以下内容:

    //In an init func
    if logStashHost != "" {
        lsconn, err = net.Dial("tcp", logStashHost)
    }
    ...
    ToLogStash(rec, lsconn)
Run Code Online (Sandbox Code Playgroud)

然后有两个功能:

func ReadLogStash(conn net.Conn) {
    buffer := make([]byte, 256)
    for {
        _, err := conn.Read(buffer)
        if err != nil {
            fmt.Println(err)
        } else {
            fmt.Println(buffer)
        }
    }
}

func ToLogStash(r *logrow.Record, conn net.Conn) {
    b, err := json.Marshal(r)
    if err != nil {
        fmt.Println(err)
        return
    }
    _, err = fmt.Fprintln(conn, string(b))
    if err != nil {
        fmt.Println(err)
    }
}
Run Code Online (Sandbox Code Playgroud)

ReadLogStash是一个正在运行的goroutine.如果对方关闭,我会得到EOF.ReadLogStash中有什么好的实现让它在获得EOF时每隔X秒尝试重新建立连接?

tcp go

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

XTS应用系列和多列XTS?

如何使用apply系列函数,比如说apply.daily多变量XTS?

例如:

Time,a,b
...
2012-02-11 16:21:24 4.7258 7.7258
2012-02-11 16:26:25 4.9096 12.3796
2012-02-11 16:31:25 4.7904 2.2204
...

我将如何使用列apply.dailymean整个矩阵.因此,结果将是当天的单个时间戳,a下一列的平均值以及b之后的列的平均值.

我想为任意数字列执行此操作(列和名称的数量未知 - 当然所有数字).

r xts

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

如何使用curl POST 对url 参数进行urlencode,但不对正文数据进行urlencode?

当使用类似的东西进行curl POST调用时,... | curl -XPOST --data @- https://example.com/是否也可以在命令行上对一些url参数进行url编码(使用curl本身,而不是bash函数),而不必自己对其进行编码并将它们放入curl的url参数中?

所以我希望 POST Body不进行urlencoded,但 url 参数在同一个curl 命令中进行url 编码。

例如:

echo '{"username":"a","password": [1,2]}' | curl --header "Content-Type: application/json" --request POST -d@- --data-urlencode "filter=." http://localhost:8080
Run Code Online (Sandbox Code Playgroud)

似乎没有做我想做的事,而且我已经对我的https://localhost:8080/网址进行了后缀处理?filter...,当参数需要大量编码时,我宁愿避免使用它。

shell curl

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

标签 统计

r ×4

go ×2

python ×2

xts ×2

api ×1

c ×1

curl ×1

datetime ×1

ddd-debugger ×1

debugging ×1

filtering ×1

gdb ×1

linux ×1

map ×1

mysql ×1

oop ×1

set ×1

shell ×1

sql ×1

sqlalchemy ×1

sqlite ×1

struct ×1

tcp ×1

time-series ×1