我是一名C++/C#/ PHP/Javascript程序员,他现在对学习Ruby感兴趣了一段时间.我刚毕业,考虑到这意味着我不再做功课了,我想现在可能是个好时机.
只有一件事,我不知道从哪里开始.有人能指出我的方向是一些优秀的Ruby教程,使用什么编辑器,基本上任何与初学Ruby程序员相关的东西.也许一些有趣的项目建议可以帮助我学习语言?我正在运行Windows,如果重要的话.
谢谢!
我只是在阅读控制反转(IOC),它让我感到困扰,似乎它让内存管理变得痛苦.当然,似乎ioc主要用于垃圾收集环境(Net,Java,Scripting),而我关注的是非gc设置.
我担心的是,IOC在某种程度上违背了RAII,因为我们将资源生命周期与对象生命周期分离开来.这增加了复杂性是否会困扰其他人?真正的问题是,有什么技术可以让事情顺利进行?
目前我在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)
在为第一列排序时,这可以正常工作,但如果您要在任何其他列上执行此操作,它将只按第一列排序.有没有办法按列点击排序?
我创建了一个用户控件"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) 我有一个网站注册页面,我正在尝试编制一份我需要做的保护它的列表.如果您知道攻击,请将其命名,并简要描述一下,并简要说明其解决方案.所有有用的答案/评论都会获得投票.
以下是我到目前为止的想法:(并添加其他人的建议.Phew,添加其他输入结果是很多工作,但请保持他们的到来,我会继续在这里添加)
[AviD]"存储过程还提供额外的好处(上面准备的语句),例如对数据库的最小特权的能力"
在进入db之前不对密码进行哈希处理.解决方案:哈希密码.
[Inshallah]"实际上,我认为是否存在一些冲突并不重要.盐只是为了防止查表,所以即使有2个盐也会是(小)增益,即使有我们不是在谈论一个绝对不能重复的加密随机数.但我不是一个密码分析者"
Dos攻击?!(我猜这也适用于注册表格)
[Pascal Thivent]"在提交敏感数据(如密码)时使用HTTP." "对于中间人攻击,只要使用足够的密码套件"
[Koosha]"在客户端使用MD5和Javascript进行submition之前使用HTTP或加密密码."
[Dan Atkinson]排除某些用户名以防止与具有相同名称的现有页面发生冲突(请参阅原始帖子以获取完整答案和解释)
[rasputin]"使用电子邮件验证"
[安德鲁和epochwolf] xss攻击
当我的应用程序连接到Oracle数据库时,我希望能够通过查看数据库中所连接的活动会话来查看.目前它将自己标识为"JDBC瘦客户端",因为这是我正在使用的驱动程序,但我拥有的其他基于Java的应用程序能够以某种方式将此值设置为更有意义的值,如"SQL Developer".我认为它是Connection或者的属性OracleDataSource,但是我没有设法找到一个可以解决问题的方法.这可能吗?如果它很重要,我使用Java 1.5,Oracle 10g和10g瘦驱动程序.
当我在处理多线程时,如何调试以了解哪个线程导致异常行为?
我可以使用permonitor进行调试,还是有其他可用的工具或调试工具?
将数字转换为序列时,在数字的开头不能使用零的原因是什么?
代码示例
map(int,str(08978789787))
Run Code Online (Sandbox Code Playgroud)
这给了Syntax error.
我想将前导数字为零的数字转换为序列. 如何将这样的数字转换为序列?
我确信这很简单,但我正在敲打我的脑袋!
我正在使用优秀的jQuery插件可编辑(http://www.appelsiini.net/projects/jeditable).用户可以动态创建表单,然后单击以编辑标题,文本正文,诸如此类.
每次用户创建新问题时,我都会像这样重新绑定插件:
$('.edit').editable()
Run Code Online (Sandbox Code Playgroud)
其中每个具有"编辑"类的元素都应该是可编辑的.
问题是,之前的'edit'元素似乎得到了双重约束......也就是说,当您单击编辑它们时,会显示一个输入字段,其中包含以下内容:
<input class="">
Run Code Online (Sandbox Code Playgroud)
这是有道理的,因为它被绑定两次(或更多).如何最好地解决这个问题?我的直觉是在所有'编辑'元素上取消绑定插件然后重新绑定它但我不知道如何做到这一点.
谢谢你的帮助