问题列表 - 第14711页

学习Ruby,我从哪里开始?

我是一名C++/C#/ PHP/Javascript程序员,他现在对学习Ruby感兴趣了一段时间.我刚毕业,考虑到这意味着我不再做功课了,我想现在可能是个好时机.

只有一件事,我不知道从哪里开始.有人能指出我的方向是一些优秀的Ruby教程,使用什么编辑器,基本上任何与初学Ruby程序员相关的东西.也许一些有趣的项目建议可以帮助我学习语言?我正在运行Windows,如果重要的话.

谢谢!

ruby

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

可以反转控制和RAII一起玩吗?

我只是在阅读控制反转(IOC),它让我感到困扰,似乎它让内存管理变得痛苦.当然,似乎ioc主要用于垃圾收集环境(Net,Java,Scripting),而我关注的是非gc设置.

我担心的是,IOC在某种程度上违背了RAII,因为我们将资源生命周期与对象生命周期分离开来.这增加了复杂性是否会困扰其他人?真正的问题是,有什么技术可以让事情顺利进行?

raii inversion-of-control

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

按列对ListView排序

目前我在listview上使用自定义排序器,每次单击FIRST列时我都可以对listview进行排序,但不会按其他列排序.

SortStyle:变量,用于确定它是Ascending Sort还是Descending.

if (e.Column == 0)
{
    if (SortStyle == 0)
    {
        List.ListViewItemSorter = customSortDsc;
        SortStyle = 1;
    }
    else
    {
        List.ListViewItemSorter = customSortAsc;
        SortStyle = 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

在为第一列排序时,这可以正常工作,但如果您要在任何其他列上执行此操作,它将只按第一列排序.有没有办法按列点击排序?

c# sorting listview

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

C#扩展方法可以访问私有变量吗?

是否可以使用扩展方法访问对象的私有变量?

c# extension-methods

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

使用mvvm模式的WPF数据绑定问题

我创建了一个用户控件"SearchControl"(它将在其他屏幕中进一步重用.SearchControl - >

<usercontrol name="SearchControl"......>
   <stackpanel orientation="horizontal"...>

       <TextBox Text"{Binding Path=UserId}"...>

       <Button Content="_Search" ....Command="{Binding Path=SearchCommand}"..>

   </stackpanel>
</usercontrol>

 public partial class SearchControl : UserControl
{
   public SearchControl()
   {
      InitializeComponent();
      DataContext=new UserViewModel();
   }
}
Run Code Online (Sandbox Code Playgroud)

然后我在窗口"UserSearch"中使用此控件

<window name="UserSearch".............
  xmlns:Views="Namespace.....Views">
  <Grid>
      <Grid.RowDefinitions>
         <RowDefinition..../>
         <RowDefinition..../>
         <RowDefinition..../>
         <RowDefinition..../>
      </Grid.RowDefinitions>
      <Grid.ColumnDefinitions>
         <ColumnDefinition..../>
         <ColumnDefinition..../>         
      </Grid.ColumnDefinitions>

      <Views:SearchControl Grid.Row="0" Grid.Colspan="2"/>
      <TextBlock Text="User Id" Grid.Row="1" Grid.Column="0"..../>
      <TextBox Text="{Binding Path=UserId}" Grid.Row="1" Grid.Column="1".../>

      <TextBlock Text="First Name" Grid.Row="2" Grid.Column="0"..../>
      <TextBox Text="{Binding Path=FirstName}" Grid.Row="2" Grid.Column="1".../>

       <TextBlock Text="Last Name" Grid.Row="3" Grid.Column="0"..../>
       <TextBox Text="{Binding Path=LastName}" Grid.Row="3" Grid.Column="1".../>
  </Grid> …
Run Code Online (Sandbox Code Playgroud)

data-binding wpf mvvm

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

可以在注册页面上引导哪些攻击

我有一个网站注册页面,我正在尝试编制一份我需要做的保护它的列表.如果您知道攻击,请将其命名,并简要描述一下,并简要说明其解决方案.所有有用的答案/评论都会获得投票.

以下是我到目前为止的想法:(并添加其他人的建议.Phew,添加其他输入结果是很多工作,但请保持他们的到来,我会继续在这里添加)

  • SQL注入:来自用户输入日期.解决方案:预备报表.
  • [AviD]"存储过程还提供额外的好处(上面准备的语句),例如对数据库的最小特权的能力"

    • 好点,请解释一下.我认为存储过程与准备好的语句相同.我的意思是那些语句是bindParam变量.他们不一样吗?
  • 在进入db之前不对密码进行哈希处理.解决方案:哈希密码.

  • [AviD]"重新散列,密码需要一个盐(在散列之前添加密码的随机值),以防止彩虹表攻击和同一密码攻击."
  • "每个用户使用的盐应该不同."
    • 好的,我对此有疑问:我知道盐应该是随机的,但也是独一无二的.我们如何建立独特的部分来对抗同一密码攻击?我一直在读这个,但还没有得到明确的答案.
  • [Inshallah]"如果你使用长盐,比如16个字符用于SHA-256(5美元)那么你真的不需要验证它的独特性"
  • [Inshallah]"实际上,我认为是否存在一些冲突并不重要.盐只是为了防止查表,所以即使有2个盐也会是(小)增益,即使有我们不是在谈论一个绝对不能重复的加密随机数.但我不是一个密码分析者"

    • 好点,但有人在这一点上有免责声明吗?
  • Dos攻击?!(我猜这也适用于注册表格)

  • [Pascal Thivent]"在提交敏感数据(如密码)时使用HTTP." "对于中间人攻击,只要使用足够的密码套件"

    • 这里提到的"适当的密码套件"是什么?
  • [Koosha]"在客户端使用MD5和Javascript进行submition之前使用HTTP或加密密码."

    • 我不同意MD5并且不喜欢在客户端加密,对我来说毫无意义.但欢迎其他投入.
  • [Dan Atkinson]排除某些用户名以防止与具有相同名称的现有页面发生冲突(请参阅原始帖子以获取完整答案和解释)

  • [Koosha]"限制用户名允许的字符.例如字母和数字,短划线( - )和点(.)"
    • 请详细说明原因?
  • [Stu42]"使用验证码,以便机器人无法自动创建多个帐户"
  • [AviD]"有比验证码更好的解决方案,但对于低价值的网站来说,它已经足够好了."
    • @AviD,请举一个例子?
  • [rasputin]"使用电子邮件验证"

  • [安德鲁和epochwolf] xss攻击

    • 虽然我不同意安德鲁和epochwolf简单过滤<和>或转换<to&tl; 和>到>.大多数意见建议像HTMLpurifier这样的库.有什么输入吗?

forms security

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

如何使我的Java应用程序在连接时向Oracle标识自己?

当我的应用程序连接到Oracle数据库时,我希望能够通过查看数据库中所连接的活动会话来查看.目前它将自己标识为"JDBC瘦客户端",因为这是我正在使用的驱动程序,但我拥有的其他基于Java的应用程序能够以某种方式将此值设置为更有意义的值,如"SQL Developer".我认为它是Connection或者的属性OracleDataSource,但是我没有设法找到一个可以解决问题的方法.这可能吗?如果它很重要,我使用Java 1.5,Oracle 10g和10g瘦驱动程序.

java oracle connection properties

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

调试C#线程

当我在处理多线程时,如何调试以了解哪个线程导致异常行为?

我可以使用permonitor进行调试,还是有其他可用的工具或调试工具?

c# debugging multithreading

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

为什么在Python的Map和Str中不可能导致零

将数字转换为序列时,在数字的开头不能使用零的原因是什么?

代码示例

map(int,str(08978789787))
Run Code Online (Sandbox Code Playgroud)

这给了Syntax error.

我想将前导数字为零的数字转换为序列. 如何将这样的数字转换为序列?

python string sequence

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

取消绑定jquery插件

我确信这很简单,但我正在敲打我的脑袋!

我正在使用优秀的jQuery插件可编辑(http://www.appelsiini.net/projects/jeditable).用户可以动态创建表单,然后单击以编辑标题,文本正文,诸如此类.

每次用户创建新问题时,我都会像这样重新绑定插件:

$('.edit').editable()
Run Code Online (Sandbox Code Playgroud)

其中每个具有"编辑"类的元素都应该是可编辑的.

问题是,之前的'edit'元素似乎得到了双重约束......也就是说,当您单击编辑它们时,会显示一个输入字段,其中包含以下内容:

<input class="">
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为它被绑定两次(或更多).如何最好地解决这个问题?我的直觉是在所有'编辑'元素上取消绑定插件然后重新绑定它但我不知道如何做到这一点.

谢谢你的帮助

jquery events bind unbind

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