目录结构是:
src src/pkg src/pkg/t1.go src/pkg/t1_test.go
t1.go
package pkg
import (
"fmt"
)
func SayHI(){
fmt.Println("this is t1")
}
Run Code Online (Sandbox Code Playgroud)
t1_test.go
package pkg
import (
"testing"
)
func TestXYZ(t *testing.T) {
SayHI()
}
Run Code Online (Sandbox Code Playgroud)
从dir src/pkg命令行调用go test
去测试t1_test.go
错误:./ t1_test.go:8:undefined:SayHI FAIL命令行参数[build failed]
但功能就在那里
谢谢你的任何提示
简短问题:是否有任何nosql平面文件数据库可用作sqlite?
说明:可以在不同的进程中打开平面文件数据库进行读取,并保持一个进程写入.如果不需要严格的一致性,我认为它非常适合读缓存.说1-2秒写入文件甚至内存块,读者在此之后获得更新数据.
所以我几乎选择使用sqlite,因为我的python服务器读取缓存.但仍有一个问题.我不喜欢在另一个地方再次重写sqls并在sqlite中构建我的数据表的另一个副本,就像我在PostgreSql中用作后端数据库一样.
还有其他选择吗?谢谢!
我有一个mongo服务器在短时间内具有高读/写.我使用了python和pymongo,当我今天早上醒来时,我发现mongod master没有任何连接,因为它的连接达到19992,这是一个非常可怕的数字
即使我停止了所有程序,连接数似乎没有变化
insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr|qw ar|aw netIn netOut conn repl time
localhost:27417 0 0 0 0 2 1 0 624m 2.87g 287m 0 0 0 0|0 7|0 162b 1k 19992 M 10:36:16
> db.serverStatus(1)
{
"host" : "42yl:27417",
"version" : "1.8.1",
"process" : "mongod",
"uptime" : 71732,
"uptimeEstimate" : 71470,
"localTime" : ISODate("2011-05-26T03:02:48.301Z"),
"globalLock" : {
"totalTime" : 71732232290,
"lockTime" : 149471421,
"ratio" : 0.002083741384148133, …Run Code Online (Sandbox Code Playgroud) 我想为引用和非引用类型实现一个特征。我是否必须两次实现这些功能,或者这样做不是惯用的?
这是演示代码:
struct Bar {}
trait Foo {
fn hi(&self);
}
impl<'a> Foo for &'a Bar {
fn hi(&self) {
print!("hi")
}
}
impl Foo for Bar {
fn hi(&self) {
print!("hi")
}
}
fn main() {
let bar = Bar {};
(&bar).hi();
&bar.hi();
}
Run Code Online (Sandbox Code Playgroud) 我尝试了pydoc到一些内部包,但输出html与网站版本有很大不同.所以我想知道如何像站点文档一样生成文档.或者必须通过手动调整和编辑来完成
非常感谢
extern crate serde;
extern crate serde_json;
#[macro_use]
extern crate serde_derive;
use chrono::{self, Date,DateTime, TimeZone};
use serde_derive::{Serialize,Deserialize}; // 1.0.91
#[derive(Serialize,Deserialize )]
struct Test<Tz>
where Tz:TimeZone,
{
t:DateTime<Tz>
}
fn main(){
}
Run Code Online (Sandbox Code Playgroud)
上面的代码不会编译错误:
错误[E0277]:
chrono::datetime::DateTime<Tz>: serde::Serialize不满足特征边界--> src/main.rs:16:5
我有
chrono = {version="0.4",features = ["serde"]}
Run Code Online (Sandbox Code Playgroud)
在我的 Cargo.toml
我发现实现在这里:https : //docs.rs/chrono/0.4.6/chrono/struct.DateTime.html#impl-Serialize
但我不确定操场是否启用了 serde 功能。
我尝试通过使用cgo从golang调用c zlib来修复golang最慢的zip实现
但是我收到了一个错误
错误:'deflateInit'未声明(首次使用此功能)
deflateInit在zlib.h中定义
我错过了什么吗?谢谢你的任何提示.
package main
/*
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include "zlib.h"
*/
import "C"
import (
"fmt"
)
func main() {
fmt.Println("hmmm....")
fmt.Println(int(C.random()))
var strm C.struct_z_stream
fmt.Println(strm)
ret := C.deflateInit(&strm, 5) // trouble here
}
Run Code Online (Sandbox Code Playgroud) 我是颤振的新手。我正在尝试添加一个小手柄来提示用户像谷歌地图一样拖动。但是,如果我在上面放置一个单独的容器来显示为手柄,则当用户触摸它时将不会有拖动效果。我明白这是因为滚动控制器没有发生滚动。如果我将句柄放在蓝色框中下面的 listView 内,它将按预期向上滚动。然而,在顶部,当 listView 有更多项目时,手柄将向上滚动。
当用户触摸并拖动手柄时,有什么方法可以手动向上滚动工作表吗?
var buf bytes.Buffer
var outputBuffer [100]byte
b := []byte(`{"Name":"Wednesday","Age":6,"Parents":["Gomez","Morticia"],"test":{"prop1":1,"prop2":[1,2,3]}}`)
w := zlib.NewWriter(&buf)
r, _ := zlib.NewReader(&buf)
w.Write(b)
w.Flush()
r.Read(outputBuffer)//cannot use outputBuffer (type [100]byte) as type []byte in function argument
fmt.Println(outputBuffer)
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能做到这一点?谢谢
目录/ opt/src中的A,B,C文件
D,E,dircory/opt/dest中的文件
比较src和dest,弄清楚应该将B,C添加到dest并删除D,E,并查看是否更改了A.
并给A一个二进制补丁或只是覆盖它.
所有这些操作打包在一个补丁文件中,包括已更改和丢失的文件内容,我可以将此文件复制到另一台机器上执行.
我知道编写一些程序来做这件事很简单,但我不想再发明轮子
rsync似乎满足了我的大多数需求,但不知道如何制作补丁.
谢谢
我有一个程序将消息分派给不同的进程.我需要平衡负载,但不是非常精确,几乎相同的数字是可以的.由于每条消息都有一个uuid字段,我想用uuid值来做.在我测试了uuid随机性之后,我发现它并不像我经历的那样随机.我有最后一个和第一个约80%的差异.这是不可接受的,所以我想知道是否有一种算法可以使它更随机.
这是我的测试代码.
import uuid
from collections import Counter
COUNT = 3000
def b(length):
holder = []
for i in xrange(COUNT):
holder.append(str(uuid.uuid4())[:length])
return Counter(holder)
def num(part_count):
sep = 0xffffffffffffffffffffffffffffffff / part_count
parts = []
for i in xrange(COUNT):
# str_hex = str(uuid.uuid4())[:4]
num = int(uuid.uuid4().hex,16)
divide = num/sep
if divide == part_count:
divide = part_count - 1
parts.append(divide)
return Counter(parts)
if __name__ == "__main__":
print num(200)
Run Code Online (Sandbox Code Playgroud)
我得到这样的输出:
Counter({127L: 29, 198L: 26, 55L: 25, 178L: 24, 184L: 24, 56L: 23, 132L: 23, …Run Code Online (Sandbox Code Playgroud)