小编Ord*_*Ord的帖子

SQL中有多个表或一个兆表吗?

我是MySQL新手.我正在尝试设计一个在线文件存储系统.实际的文件存储将分别处理 - 我只想使用MySQL来创建文件元数据的数据库(例如文件名,文件大小,文件类型,权限等).我的系统需要处理多达1000个用户,每个用户最多可以存储1000个文件.

我想创建一个文件记录数据库.最好是为每个用户创建一个文件记录表,然后创建另一个列出用户和引用相应表的表吗?或者我应该制作一个大的文件记录表,然后简单地包含一个名为"user"的列?

我想多表方法的优点是我永远不必逐步完成1,000,000条记录.但是我对mySQL了解不多,所以我不知道1,000,000条记录是否有很多工作要做.

mysql

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

指定Tkinter Text Widget的尺寸(以像素为单位)?

我正在尝试在Tkinter(用于Python)中创建一个文本小部件,其字体大小可以更改,但是当发生这种情况时,我不希望小部件自行调整大小.窗口小部件中的所有文本都是相同的字体样式.到目前为止我得到了什么:

root = Tk()
t = Toplevel(root)
fnt = tkFont.Font(family="Helvetica",size=36,weight="bold",underline=1)
txt = Text(t, font=fnt, width=20, height=6)
txt.grid(row=0,column=0)
b = Button(t, text="click", command=change)
b.grid(row=1, column=0)
txt.insert(END, "This is text!")
Run Code Online (Sandbox Code Playgroud)

在哪里change定义为:

def change():
    txt.delete(1.0, END)
    fnt.config(size=100)
    txt.insert(END, "This is text!")
Run Code Online (Sandbox Code Playgroud)

现在,当我点击按钮时,文本确实会变大,但整个小部件会自行调整大小以进行补偿!我认为这是因为窗口小部件的大小是用"行"和"字符"来指定的,而不是像素.如何阻止小部件调整大小?

我试过不改变小部件的字体,而只是插入带有指定新字体的标签的文本,这有效,但问题是当我手动在插入的文本的左侧和右侧键入新文本时,它是默认样式,而不是我想要的尺寸.

python tkinter

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

正确理解和使用Typed Racket省略号

我想定义一个这样的函数:

(define (((lift fn) . gs) . args)
  (apply fn (map (lambda (g) (apply g args)) gs)))
Run Code Online (Sandbox Code Playgroud)

这基本上"提升"一个函数,fn以便它不接受它的正常参数,而是接受函数并产生一个新函数.所以,例如,

 (define add (lift +))
 (define sum-of-sin-and-cos (add sin cos))
 (sum-of-sin-and-cos 5) ; is equivalent to (+ (sin 5) (cos 5))

 (define sum-of-multiplication-and-division (add * /))
 (sum-of-multiplication-and-division 1 2 3 4 5) ; is equivalent to (+ (* 1 2 3 4 5) (/ 1 2 3 4 5))
Run Code Online (Sandbox Code Playgroud)

这适用于普通的Racket.现在,我想将此功能移动到键入的球拍中.这是我提出的类型声明:

(: lift (All (A ... ) (All (B ...) …
Run Code Online (Sandbox Code Playgroud)

types racket typed-racket

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

在用户输入的数据上使用 C++ const 吗?

假设我想从 cin 读取一个整数,然后使其不可变。我可以:

int a;
cin >> a;
const int b = a;
Run Code Online (Sandbox Code Playgroud)

然后,我将有一个变量(b),它被初始化为用户数据,但不能更改。但是,我认为我在这里滥用了 const 关键字。这是可以接受的事情吗?编译器似乎对此没问题,但我只是想知道从风格的角度来看它是否正确。

c++ constants

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

球拍"匹配"构造 - 它是一个宏吗?

简单的问题 - matchRacket中的表格是一个宏吗?它看起来似乎可以被定义为一个宏,但我认为它可能会被进一步融入实现中以使其更快或某些东西......

macros pattern-matching racket

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

Clojure的'进入'是否能保持领先?

我有一个非常大的懒惰序列,我想把它转换成一个集合.我知道序列中不同元素的数量很少,所以我很容易将该集合放入内存中.但是,我可能无法将整个懒惰的seq放入内存中.我想做(into #{} my-lazy-seq),但我想到,根据into实现的方式,这可能会立即将整个seq拉入内存.

它会在操作时into保持序列的头部吗?

clojure seq

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

C++首先发生什么 - 破坏函数的参数或处理函数的返回值?

我有以下代码:

class thing {
    public:
        thing(const thing& x) { cout << "copy" << endl; }
        thing() { cout << "create" << endl; }
        ~thing() { cout << "destroy" << endl; }

        thing& operator=(const int& rhs) { cout << "assign" << endl; }
};

int foo(thing x) {
    return 5;
}

int main() {
    thing bar;
    thing newThing;
    newThing = foo(bar);

    getchar();
}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,在程序到达的位置getchar(),我希望看到以下输出:

create // since bar is default constructed
create // since newThing is default constructed
copy …
Run Code Online (Sandbox Code Playgroud)

c++ destructor

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