问题列表 - 第3992页

我怎么知道何时创建界面?

我正处于开发学习的某个阶段,我觉得我必须更多地了解接口.

我经常阅读它们,但似乎我无法掌握它们.

我已经阅读过这样的例子:动物基类,IAnimal界面,如'Walk','Run','GetLegs'等等 - 但我从来没有做过某些事情,感觉就像"嘿我应该使用界面这里!"

我错过了什么?为什么我要掌握这么难的概念!我只是因为我可能没有意识到对一个人的具体需求而感到害怕 - 主要是由于理解它们的一些缺失方面!这让我觉得自己在成为开发者方面缺少一些东西!如果有人有过这样的经历并取得了突破,我会很感激如何理解这个概念.谢谢.

oop design-patterns class-design interface

191
推荐指数
12
解决办法
2万
查看次数

如何防止用户生成的Sql查询上的Sql注入

我有一个项目(私有,ASP.net网站,密码用https保护),其中一个要求是用户能够输入将直接查询数据库的Sql查询.我需要能够允许这些查询,同时防止它们对数据库本身造成损害,以及访问或更新它们无法访问/更新的数据.

我已经提出了以下实施规则:

  1. 使用具有Select Table/View和Update Table权限的db用户(因此任何其他命令,如drop/alter/truncate/insert/delete都不会运行).
  2. 验证语句以"选择"或"更新"字样开头
  3. 验证(使用正则表达式)语句中没有没有单引号,空格和字母包围的分号实例.(这里的想法是,他们可以包含第二个查询的唯一方法是使用不是输入字符串一部分的分号结束第一个查询.
  4. 验证(使用Regex)用户是否有权访问正在查询/更新的表,包括在连接中等.这包括任何子查询.(实现这一目标的部分方式是用户将使用一组实际上不存在于数据库中的表名,部分查询解析将用正确的相应表名替换为查询) .

我错过了什么吗?

目标是用户能够以他们认为合适的任何方式查询/更新他们有权访问的表,并防止任何意外或恶意企图破坏数据库.(并且由于要求是用户生成sql,我无法使用我所知道的任何内置工具对查询进行参数化或清理它).

c# regex sql asp.net sql-injection

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

如何在db列中存储列表

我想将对象FOO存储在数据库中.让我们说FOO包含三个整数和一个" 水果 " 列表.

列表可以有任何长度,我唯一知道的是所有允许的水果都存储在另一个表中.

我可以将水果列表存储在一列中吗?

sql database

53
推荐指数
3
解决办法
3万
查看次数

将Binutils从2.16.1升级到2.19是否有优势?为什么?

在PSPSDK(Homebrew)中,我们使用Binutils 2.16.1来组装和链接PlayStation Portable的代码,但是这个版本已经过时了(3个版本已经取代了它).社区和我一直在更新GCC和newlib到最新的稳定版本,一切似乎都适用于旧的binutils.

GCC能用binutils 2.19产生更好的代码吗?为什么?binutils 2.19会产生比2.16.1更好的elf文件和库吗?为什么?

gcc pspsdk cross-compiling binutils

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

将http请求/响应模型与异步队列连接

将同步http请求/响应模型与基于异步队列的模型连接起来的好方法是什么?

当用户的HTTP请求到来时,它会生成一个进入队列的工作请求(在本例中为beanstalkd).其中一名工人接受请求,完成工作并准备回复.

队列模型不是请求/响应 - 只有请求,而不是响应.所以问题是,我们如何才能最好地将响应反馈回HTTP世界并返回给用户?

思路:

  1. Beanstalkd支持轻量级主题或队列(他们称之为管).我们可以为每个请求创建一个管,让工作人员在该管上创建一条消息,让http进程坐下并等待管的响应.不要特别喜欢这个,因为它有apache进程坐着记忆.

  2. 让http客户端轮询响应.用户的初始HTTP请求将启动队列上的作业并立即返回.客户端(用户的浏览器)定期轮询响应.在后端,工作人员将其响应放入memcached,我们将nginx连接到memcached,因此轮询很轻.

  3. 使用Comet.类似于第二个选项,但与更高级的http通信,以避免轮询.

我倾向于2,因为它很容易且很清楚(我还没有用过彗星).我猜我可能还有一个更好的模型,我没有想过.你怎么看?

queue comet http beanstalkd

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

在ruby中将函数作为参数传递

我试图用ruby中的函数式编程来解决这个问题,似乎没有太多好的文档.

本质上,我正在尝试编写一个具有Haskell类型签名的组合函数:

[a] -> [a] -> (a -> a -> a) -> [a]
Run Code Online (Sandbox Code Playgroud)

所以

combine([1,2,3], [2,3,4], plus_func) => [3,5,7]
combine([1,2,3], [2,3,4], multiply_func) => [2,6,12]
Run Code Online (Sandbox Code Playgroud)

等等

我发现了一些关于使用zip和map的东西,但是使用它感觉真的很难看.

实现这样的东西最"红宝石"的方式是什么?

ruby closures functional-programming

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

如何从平面结构有效地建造树木?

我有一堆扁平结构的物体.这些物体具有IDParentID属性,因此它们可以排列在树木中.它们没有特别的顺序.每个ParentID属性不一定与ID结构中的a 匹配.因此它们可能是从这些物体中出现的几棵树.

您将如何处理这些对象以创建生成的树?

我不是一个解决方案,但我确信它远非最佳...

我需要创建这些树,然后按正确的顺序将数据插入数据库.

没有循环引用.当ParentID == null或在其他对象中找不到ParentID时,Node是RootNode

language-agnostic algorithm tree

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

VMWare - 虚拟操作系统静态IP地址

在VMWware中使虚拟操作系统具有静态IP地址的最佳方法是什么.我想保持IP地址静态,因为它是一个虚拟服务器.

virtualization vmware dhcp nat static-ip-address

14
推荐指数
2
解决办法
3万
查看次数

在C#中连接三个文件的最快方法是什么?

我需要使用C#连接3个文件.头文件,内容和页脚文件,但我想这样做很酷.

酷=非常小的代码或非常快(非汇编代码).

c# file

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

是否有类似于HTML Tidy for Javascript的Windows实用程序?

我想清理一些javascript文件并用很好的缩进等重新格式化它们,是否有建议公用事业在Windows下执行此操作?

javascript code-formatting editor

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