标签: implementation

如何缩小数据库设计与用户界面设计之间的差距?

我知道这个问题看起来如何,但我很认真.我正在尝试创建一个应用程序来帮助我学习数据库(sql,查询,正确的数据库设计等).我正在工作中使用宠物项目,所以我需要关注实际需求.原始项目是通过MS Access编写的("Frankensteined together",正如原作者所说).我想学习如何通过SQLite更好地完成它,但不知道如何重新创建Access提供的其他功能.

使用这个站点作为与程序员和开发人员交互的方式(我不与任何人合作),到目前为止,我已经阅读了问题中推荐的所有数据库设计.所以,我有一个很好的小数据库设计,我打算用SQLite实现.

我还查看了如何使用Balsamiq的Mockups为应用程序设计用户界面,并向我的潜在用户群(我的团队中的同事)提交了一些想法,让他们提供反馈.

            Database --> <insert code here> --> User Interface
Run Code Online (Sandbox Code Playgroud)

然而,对我而言,失败的部分是如何弥合两个设计之间的差距?我意识到这显然是编码的来源,但到目前为止我还没有用GUI做任何事情.搜索周围,我似乎没有找到任何确定的东西来帮助我(一本书,一个网站,甚至一个过程来跟踪)试图实际编写应用程序.

我在某种程度上了解Perl,但只将它用于命令行应用程序; 我可以使用Win32 :: GUI模块,但我并不真正理解GUI编程和命令行编程之间的区别,只是知道它们是不同的.

有关GUI开发的模型或指南吗?是否有将应用程序绑定到数据库的特定资源?

language-agnostic user-interface implementation

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

(C)堆分配器的实现策略?

哪些是用于查看实现堆分配器的不同方式的优缺点的一些好资源?涉及效率(碎片,吞吐量等)的资源是首选.我不是在寻找简单的代码库.

编辑:

我对这个wiki的哲学基础并不感兴趣.因此,我真的不想进入'为什么'我对此感兴趣.无论潜在的意图/问题/等,这些信息都存在,所以如果你知道任何好的资源,请在这里链接到他们!

c performance implementation heapalloc

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

在.NET中实现Trie的合理方法是什么?

我得到了一个trie背后的概念.但是在实施方面我有点困惑.

我认为构建Trie类型最明显的方法是Trie维护内部Dictionary<char, Trie>.事实上,我已经用这种方式编写了一个,并且它可以工作,但是......这看起来有点过分了.我的印象是trie应该是轻量级的,并且每个节点都有一个单独的Dictionary<char, Trie>对我来说似乎不是很轻量级.

有没有更合适的方法来实现我缺少的这种结构?


更新:好的!基于Jon和leppie的非常有用的输入,这是我到目前为止所提出的:

(1)我有Trie类型,它有一个_nodes类型的私有成员Trie.INodeCollection.

(2)Trie.INodeCollection界面有以下成员:

interface INodeCollection
{
    bool TryGetNode(char key, out Trie node);
    INodeCollection Add(char key, Trie node);
    IEnumerable<Trie> GetNodes();
}
Run Code Online (Sandbox Code Playgroud)

(3)此接口有三种实现方式:

class SingleNode : INodeCollection
{
    internal readonly char _key;
    internal readonly Trie _trie;

    public SingleNode(char key, Trie trie)
    { /*...*/ }

    // Add returns a SmallNodeCollection.
}

class SmallNodeCollection : INodeCollection …
Run Code Online (Sandbox Code Playgroud)

.net implementation dictionary trie data-structures

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

Hadoop MR源:HDFS与HBase.每个的好处?

如果我正确理解Hadoop生态系统,我可以运行我的MapReduce作业从HDFS或HBase获取数据.假设先前的假设是正确的,为什么我会选择一个而不是另一个?使用HBase作为MR源,是否具有性能,可靠性,成本或易用性的优势?

我能找到的最好的是这句话,"HBase是当你需要对非常大的数据集进行实时读/写随机访问时使用的Hadoop应用程序." - Tom White(2009)Hadoop:The Definitive Guide,1st Edition

implementation hadoop

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

在Python中实现lisp

第一:是的,我花了长时间看看Norvig的lispy.第二:我重用了他的部分代码.

关于我的代码和我的问题.我正在用Python编写一个非常惯用的lisp解释器,我很好奇我将如何编写嵌套函数定义(例如,(define square (lambda (x) (* x x)))然后(define SoS (lambda (x y) (+ (square x) (square y))))),目前这不起作用.我有点卡住了.我能做什么?

编辑:任何关于我的编码风格或我可以做的改进的提示将不胜感激.谢谢!

"""

FIX NESTED DEFINITIONS!

(def square (lambda (x) (* x x)))
(def SoS (lambda x y) (+ (square x) (square y)))

DOES NOT WORK!

"""


#!/usr/bin/python
import readline, sys, shlex
userFuncs   = {}
userVars    = {}
stdOps      = "% * / - + set!".split()


def lispify(nested_lists):
    return str(nested_lists).replace('[','(').replace(']',')').replace(', ',' ').replace("'",'')

def mul_arr(array):
    tot …
Run Code Online (Sandbox Code Playgroud)

lisp python scheme implementation interpreter

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

当我的操作没有得到所有实施者的支持时,设计界面的正确方法是什么?

我有一个接口和两个正在实现接口的类.

public interface MyInterface {
    public void firstMethod();  
    public int secondMethod();
}

public class MyClass1 implements MyInterface  {
    public void firstMethod() {}
}

public class MyClass2 implements MyInterface  {
    public void firstMethod() {}
    public int secondMethod() {}
}
Run Code Online (Sandbox Code Playgroud)

这堂课MyClass1告诉我Add unimplemented methods,因为secondMethod没有实施,好的我会这样做.但问题是我不需要这种方法MyClass1.

在您看来,最好的做法是什么?

  1. 使用类似的方法添加未实现的方法 return 0
  2. 如果我不想实现它,还有另一种方法可以解决这个问题.

java methods implementation interface class

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

功能关闭性能

当我替换这段代码时,我认为我提高了性能:

def f(a, b):
  return math.sqrt(a) * b
result = []
a = 100
for b in range(1000000):
  result.append(f(a, b))
Run Code Online (Sandbox Code Playgroud)

有:

def g(a):
  def f(b):
    return math.sqrt(a) * b
  return f
result = []
a = 100
func = g(a)
for b in range(1000000):
  result.append(func(b))
Run Code Online (Sandbox Code Playgroud)

我假设自从a在执行闭包时修复,解释器将预先计算所涉及的所有内容,a因此math.sqrt(a)将重复一次而不是1000000次.

根据实施情况,我的理解总是正确的,或总是不正确,或正确/不正确?

我注意到代码对象func是在运行时之前构建的(至少在CPython中),并且是不可变的.然后代码对象似乎使用全局环境来实现闭包.这似乎表明我希望的优化不会发生.

python performance implementation closures python-3.x

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

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

如何在C中链接多个实现文件

我有很多.c文件,即实现文件说

  • main.c中
  • AC
  • 公元前

来自任何文件的函数可以从不同的文件中调用任何函数.我的问题是,我是否需要.h为A和B的每个实现提供一个ie头文件,其中每个头文件都有A或B 中所有函数的定义.

此外,main.c中会有两个A.h,并B.h #included在里面?

如果有人能够最终说清楚,那么我如何在以后编译并运行终端中的多个文件.

谢谢.

c implementation compilation header

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

试图了解PNG文件中的zlib/deflate

我目前正在为了学习目的而自己编写一个小的PNG图像I/O库.我的问题如下:

我创建了一个尺寸仅为2 x 2的小PNG,并在十六进制编辑器中打开它以研究其内容.这是我使用GIMP创建的图像,并以压缩"9"存储.

(请注意,这是原始2 x 2像素图像的放大图像;))

一个二乘二像素的黑色,红色,蓝色和绿色像素.

所以我猜没有压缩,这在内存中看起来像这样:

00 00 00 FF 00 00 00 00 FF 00 FF 00
Run Code Online (Sandbox Code Playgroud)

存储时没有alpha通道.

(为了清楚起见,我在这里只说了这个.我知道压缩,并且不希望在文件中看到这个字节模式).

我提取了IDAT块并剥离了块ID("IDAT")和尾随CRC值并得到了这个字节序列:

08 D7 05 C1 01 01 00 00 00 80 10 FF 4F 17 10 48 06 0F FE 02 FE
Run Code Online (Sandbox Code Playgroud)

现在前两个字节08 D7包含有关编码块的信息.最后四个字节0F FE 02 FE必须是ADLER32校验和.

这最终让我得到以下字节:

05 C1 01 01 00 00 00 80 10 FF 4F 17 10 48 06
Run Code Online (Sandbox Code Playgroud)

以二进制表示形式写的这些字节是:

0000 0101  1100 0001  0000 0001  0000 0001
0000 0000 …
Run Code Online (Sandbox Code Playgroud)

implementation encoding png deflate

8
推荐指数
2
解决办法
2570
查看次数