小编Sco*_*aad的帖子

什么是回发?

我正在进入Web开发,并且看到了postback抛出的单词.来自非基于Web的背景,新的Web开发人员必须了解有关回发的内容吗?(即它们是什么以及它们何时出现?)

您希望分享的任何其他信息,以帮助网络世界的新手了解回发将是非常感谢.

postback

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

XML-RPC和SOAP之间有什么区别?

我从来没有真正理解为什么Web服务实现者会选择一个而不是另一个.XML-RPC通常在旧系统中找到吗?任何帮助理解这一点将不胜感激.

xml soap web-services xml-rpc

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

如何在PowerShell中创建自定义类型以供我的脚本使用?

我希望能够在我的一些PowerShell脚本中定义和使用自定义类型.例如,让我假装我需要一个具有以下结构的对象:

Contact
{
    string First
    string Last
    string Phone
}
Run Code Online (Sandbox Code Playgroud)

我将如何创建它,以便我可以在以下功能中使用它:

function PrintContact
{
    param( [Contact]$contact )
    "Customer Name is " + $contact.First + " " + $contact.Last
    "Customer Phone is " + $contact.Phone 
}
Run Code Online (Sandbox Code Playgroud)

这样的事情是可能的,甚至在PowerShell中推荐?

powershell scripting

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

如何克制自己的压倒性冲动重写一切?

建立

你有没有经历过一段代码来做一个看似简单的改变然后意识到你刚刚进入一个值得认真关注的荒地?这通常会在官方的FREAK OUT时刻跟进,在那里,重写一切在视线中的压倒性感觉开始蔓延.

重要的是要注意,这个糟糕的代码不一定来自其他代码,因为它可能确实是我们过去编写或贡献的东西.

问题

很明显,有一些严重的代码腐烂,可怕的架构等需要处理.与此问题相关的真正问题是,现在不是重写代码的合适时机.可能有很多原因:

  • 目前处于发布周期的中间,因此任何更改都应该是最小的.
  • 现在是早上2点,大脑开始关闭.
  • 它可能会对时间表产生看似不利的影响.
  • 兔子洞可能会比我们目前眼睛能够看到的深得多.
  • 等等...

那么我们应该如何平衡不断改进代码的责任,同时又是一个负责任的开发人员呢?我们如何避免对破窗理论做出贡献,同时也意识到行动以及可能造成的潜在鲁莽行为?


更新

很棒的答案!在大多数情况下,似乎有两种思想流派:

  1. 不要抗拒这种冲动,因为它是一个好人.
  2. 不要屈服于诱惑,因为它会把你烧到地上.

知道是否有更多人认为存在任何平衡将会很有趣.

language-agnostic

43
推荐指数
9
解决办法
1550
查看次数

我应该使用初始化向量(IV)和我的加密吗?

是否建议我使用初始化向量来加密/解密我的数据?它会让事情更安全吗?是否需要根据具体情况进行评估?

为了将其置于实际上下文中,Win32 Cryptography函数CryptSetKeyParam允许在加密/解密之前在密钥上设置初始化向量.其他API也允许这样做.

通常建议什么,为什么?

encryption cryptography

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

如何在WiX中创建用户输入的自定义对话框?

我正在使用WiX为Windows服务创建安装程序.在服务中安装和显示的服务名称在安装时是可配置的.

例如,这就是我的想法(wix xml snip):

<ServiceInstall 
    Id="MyServiceInstaller" 
    Name="NAME_PASSED_FROM_DIALOG" 
    Type="ownProcess" 
    Start="auto" 
    ErrorControl="normal" 
    Description="My Service" 
    Account="localsystem"/> 

<ServiceControl
    Id="StartMyServiceInstaller" 
    Name="NAME_PASSED_FROM_DIALOG" 
    Start="install"
    Wait="no" />

<ServiceControl
    Id="StopMyServiceInstaller" 
    Name="NAME_PASSED_FROM_DIALOG" 
    Remove="uninstall"
    Stop="both"
    Wait="yes" />
Run Code Online (Sandbox Code Playgroud)

NAME_PASSED_FROM_DIALOG是我想要连接到自定义对话框的东西,该对话框被创建并显示给安装服务的人员,以便他们可以设置/修改服务名称.我认为这与设置并传递给WixUI_InstallDir对话框的WIXUI_INSTALLDIR属性非常相似.

我的问题是:

如何创建可以接受传递到安装程序运行时的用户输入的自定义UI对话框?

installer wix

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

什么是处理node.js变换流的背压的正确方法?

介绍

这是我编写node.js服务器端的第一次冒险.到目前为止它一直很有趣,但是我很难理解实现与node.js流相关的正确方法.

问题

出于测试和学习的目的,我正在处理其内容为zlib压缩的大型文件.压缩内容是二进制数据,每个 数据包的长度为38个字节.我正在尝试创建一个看起来几乎与原始文件相同的结果文件,除了每1024个38字节数据包有一个未压缩的31字节头.

原始文件内容(解压缩)

+----------+----------+----------+----------+
| packet 1 | packet 2 |  ......  | packet N |
| 38 bytes | 38 bytes |  ......  | 38 bytes |
+----------+----------+----------+----------+
Run Code Online (Sandbox Code Playgroud)

结果文件内容

+----------+--------------------------------+----------+--------------------------------+
| header 1 |    1024 38 byte packets        | header 2 |    1024 38 byte packets        |
| 31 bytes |       zlib compressed          | 31 bytes |       zlib compressed          |
+----------+--------------------------------+----------+--------------------------------+
Run Code Online (Sandbox Code Playgroud)

如您所见,这有点像翻译问题.意思是,我将一些源流作为输入,然后将其稍微转换为一些输出流.因此,实现转换流是很自然的 .

该课程只是试图完成以下任务:

  1. 将流作为输入
  2. zlib对数据块进行膨胀以计算数据包的数量,将其中的1024个放在一起,zlib放气,并预先添加标头.
  3. 通过管道传递新生成的块 this.push(chunk).

用例类似于:

var …
Run Code Online (Sandbox Code Playgroud)

javascript zlib node.js

16
推荐指数
4
解决办法
6145
查看次数

ASP.NET MVC应用程序中应该在哪里进行缓存?

我需要使用System.Web.Caching.Cache缓存一些数据.不确定它是否重要,但数据不是来自数据库,而是来自过多的自定义对象.

ASP.NET MVC对我来说相当新,我想知道这个缓存发生在哪里有意义?

型号或控制器?

在某种程度上,这在模型级别缓存是有意义的,但我不一定知道这样做的含义(如果有的话).如果要在Controller级别完成缓存,那会影响所有请求,还是只影响当前的HttpContext

那么......应该在哪里完成应用程序数据缓存,以及实际执行它的好方法是什么?

更新

谢谢你的答案!我仍然试图收集在给定不同场景的情况下缓存最有意义的地方.如果一个人正在缓存整个页面,那么将它保留在视图中是有道理的,但是当它不是整个页面时在哪里画线?

asp.net-mvc caching

13
推荐指数
1
解决办法
4102
查看次数

在NAnt构建系统中使用PowerShell Cmdlet的好方法是什么?

我们广泛使用NAnt构建系统.最近,我写了几个PowerShell Cmdlet来执行一些与数据库相关的事情.首先,这些Cmdlet的意图并不一定在我们的构建过程中运行.但是,这最近成为一种需求,我们希望从基于NAnt的构建过程中运行一些这些Cmdlet.

这些Cmdlet是用C#编写的,我们有一个SnapIn(如果这很重要的话).

一些想法:

  • 使用exec任务调用PowerShell?(不知道这会怎么样)
  • 编写引用和使用Cmdlet的自定义NAnt任务?

什么可能是一个很好的方法来做到这一点?

nant build-automation powershell

9
推荐指数
2
解决办法
4327
查看次数

.NET是一次写入,像Java一样运行在任何地方(WORA)平台吗?

我记得太阳的口号如此生动...... "写一次,随处运行".这个想法是因为程序被编译成标准字节代码,所以任何带有Java虚拟机的设备都可以运行它.多年来,Java似乎已经在许多平台/设备上实现了它.

这是意图还是.NET的意图.如果是这样,为实现这一目标,正在做出哪些努力?

.net java multiplatform

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