小编the*_*row的帖子

为每个类提取接口是最佳做法吗?

我见过代码,其中每个类都有一个它实现的接口.

有时它们并没有共同的界面.

它们就在那里,它们被用来代替具体的物体.

它们不为两个类提供通用接口,并且特定于该类解决的问题域.

有什么理由这样做吗?

c# interface software-design

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

如何将布尔值一般格式化为是/否字符串?

我想根据一些布尔变量在不同的语言中显示是/否.
是否有一种通用的方法根据传递给它的语言环境对其进行格式化?
如果没有,那么格式化布尔值的标准方法是什么boolVar ? Resources.Yes : Resources.No.
我猜这boolVar.ToString(IFormatProvider)涉及到了.
我的假设是否正确?

c# formatting coding-style string-formatting

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

是否有用于JavaScript的本机机器代码编译器?

是否有用于JavaScript的本机机器代码编译器?我不是在谈论VM.如果它不存在可以做到吗?
我想知道它是否可以编译为二进制,因为语言的动态性质.

javascript native compilation native-code

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

PHP中的REST与RPC

我正在构建自己的Ajax网站,我正在考虑REST和RPC.

如果我的服务器支持Servlets我只是安装persevere并结束问题,但我的服务器不支持Servlets.

RPC更易于编码(IMO),并且可以轻松地用PHP编写.我只需要一个数据库查询执行器.我正在使用Dojo Toolkit和JSON.

为什么我应该选择REST over RPC或RPC over REST?

php rest dojo rpc json

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

如何在我的css文件中引用静态文件?

我的CSS文件中有一个引用静态图像的引用:

#logo
{
  background: url('/static/logo.png')
}
Run Code Online (Sandbox Code Playgroud)

这在我的开发机器上运行得很好,但在我的生产环境中没有,因为url应该是static.mydomain.com/logo.png.如何根据设置文件中的STATIC_URL动态更改css文件?

django django-static

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

如果有可能找不到元素,我应该使用Single()还是SingleOrDefault()?

你更喜欢看什么?

try
{
  var item = list.Single(x => x.HasFoo);
}
catch(InvalidOperationException e)
{
  throw new InvalidOperationException("Exactly one item with foo expected, none found", e);
}
Run Code Online (Sandbox Code Playgroud)

要么:

var item = list.SingleOrDefault(x => x.HasFoo);
if (item == null)
      throw new InvalidOperationException("Exactly one item with foo expected, none found");
Run Code Online (Sandbox Code Playgroud)

这里的最佳做法是什么?哪一个让异常更容易理解?

.net c# linq coding-style

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

如何实现一个非常简单的文件系统?

我想知道操作系统是如何读取/写入硬盘驱动器的.
我想练习一个简单的文件系统,没有可以读写文件的目录.
我从哪里开始?
C/C++会不会采用更低级别的方法?
一个人处理太多了吗?

filesystems operating-system

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

切换案例或std :: map的效率更高

我在这里考虑令牌化器.
每个标记在解析器内调用不同的函数.
什么更有效:

  • std :: functions/boost :: functions的映射
  • 开关盒

c++ parsing tokenize

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

如何使用SIMD实现atoi?

我想尝试使用SIMD指令编写atoi实现,包含在RapidJSON(C++ JSON /写库)中.它目前在其他地方有一些SSE2和SSE4.2优化.

如果是速度增益,atoi则可以并行执行多个结果.字符串最初来自JSON数据的缓冲区,因此多atoi函数将不得不进行任何所需的调配.

我想出的算法如下:

  1. 我可以用以下方式初始化长度为N的向量:[10 ^ N..10 ^ 1]
  2. 我将缓冲区中的每个字符转换为整数并将它们放在另一个向量中.
  3. 我将有效数字向量中的每个数字乘以数字向量中的匹配数,并将结果相加.

我的目标是x86和x86-64架构.

我知道AVX2支持三个操作数Fused Multiply-Add,所以我将能够执行Sum = Number*有效数字+和.
那是我到目前为止的地方.
我的算法是否正确?有没有更好的办法?
是否有使用任何SIMD指令集的atoi参考实现?

c++ x86 sse simd atoi

25
推荐指数
2
解决办法
3598
查看次数

输入验证在哪里属于MVC应用程序?

我有一个MVC应用程序从表单接收输入.
这是一个登录表单,因此唯一需要的验证是检查输入是否为非空.
在我将它传递给模型之前,我在控制器中验证它.
这是最佳做法吗?它属于模型吗?

language-agnostic model-view-controller controller model

23
推荐指数
2
解决办法
5982
查看次数