使用Linq to SQL时,对多对多关系表使用多列(复合)主键是否有益?
或者我应该只添加一个标识列作为非群集主键并适当地索引FK列?
我尝试了以下代码失败
:%s/{car,beatles}/mas/g
Run Code Online (Sandbox Code Playgroud)
如何用一个命令用Vim中的mas 替换汽车和披头士乐队?
我正在创建一个需要注册/身份验证的Web应用程序,我正在考虑使用电子邮件地址作为唯一的用户ID.以下是我所看到的利弊(更新后的回复):
PROS
注册期间填写的字段少一个(它只是电子邮件地址,密码和验证密码).我是极简主义注册的忠实粉丝.
您不必担心自己喜欢的用户名已被占用 - 您是唯一使用您的电子邮件地址的用户.(感谢TStamper)
缺点
用户每次登录时都需要输入更多内容.
如果用户想要多个帐户怎么办?他们需要另一个电子邮件地址.(我甚至希望用户能够创建多个帐户吗?)
潜在的攻击者很容易猜到(如果他们知道目标的电子邮件地址,他们就知道登录ID).(感谢Vasil)
用户可能会想要使用他们用于电子邮件帐户的相同密码,这是不好的安全措施.(谢谢托马斯)
如果您经常更改电子邮件地址,可能很难记住在长时间间隔后您用于注册网站的地址.(感谢软件猴子)
黑客可以通过垃圾邮件发送注册表单并使用"已发送的电子邮件"响应来生成有效电子邮件列表.(感谢大卫)
不是每个人都有电子邮件地址.(谢谢尼古拉斯)
如果我使用电子邮件作为id,我会提供一种机制,允许在用户更改地址时更改它.在这种情况下,用户不会将内容发布到公共站点,因此不需要单独的用户名来保护电子邮件地址(但这是其他站点需要考虑的事项).
另一个选择是实现OpenID(这是另一个辩论).
这似乎适用于谷歌,但他们的服务紧密集成.在我的分析中我错过了什么?你有什么建议?有没有人有经验可以分享?
最终编辑
谢谢大家的回复.我已决定使用电子邮件作为ID,但在注册后允许创建用于登录的用户名.这允许一点灵活性,同时保持尽可能短的注册.它还可以防止用户更改电子邮件地址时出现问题(他们只需使用用户名登录并进行更新).我还将实施防止电子邮件地址暴露在注册和登录系统之外的方法(主要是在重复尝试后的冷却期).
/**
* Gets the meatball icon for a nincompoop.
*
* <p>
* Example: {@code <custom:meatball color="<%= Meatball.RED %> nincompoop="${person}" />}
*
* @author King Cong
*
*/
Run Code Online (Sandbox Code Playgroud)
"$ {person}"部分会破坏文档注释,因为它使用花括号.
好吧,我知道这个愚蠢的问题,但我看到模糊的评论"一个大型数据库"以及中小型,我想知道这意味着什么.有人可以为我们SQL新手定义一个小型,中型和大型数据库吗?
首先,我在http://swigartconsulting.blogs.com/tech_blender/2005/08/how_to_move_the.html找到了此代码:
public class Win32
{
[DllImport("User32.Dll")]
public static extern long SetCursorPos(int x, int y);
[DllImport("User32.Dll")]
public static extern bool ClientToScreen(IntPtr hWnd, ref POINT point);
[StructLayout(LayoutKind.Sequential)]
public struct POINT
{
public int x;
public int y;
}
}
Run Code Online (Sandbox Code Playgroud)
将以下代码粘贴到按钮的click eventhandler中:
Win32.POINT p = new Win32.POINT();
p.x = button1.Left + (button1.Width / 2);
p.y = button1.Top + (button1.Height / 2);
Win32.ClientToScreen(this.Handle, ref p);
Win32.SetCursorPos(p.x, p.y);
Run Code Online (Sandbox Code Playgroud)
这会将鼠标指针移动到按钮的中心.
这段代码效果很好,但我似乎无法弄清楚如何扩展它.假设我有一个Internet浏览器(嵌入在windows窗体中)打开一个网页(一些我手头不知道的随机页面),里面有一个下拉列表框.我已修改上面的代码,将光标移动到下拉列表框(使用下面显示的鼠标单击方法将列表向下拖放),并在列表中上下移动,突出显示每个项目作为鼠标指针过去,但对于我的生活,我无法弄清楚如何实际让鼠标点击当前选定的项目来保持选择.我正在这样做的方式现在下拉列表框只是关闭,选择不会改变.我正在使用以下代码进行鼠标单击(这会使列表下拉):
private static void MouseClick(int x, int y, IntPtr handle) //handle for the browser …Run Code Online (Sandbox Code Playgroud) 我花了一天时间首次尝试使用AWS.我有一个EC2实例正在运行,我安装了一个Elastic Block Store(EBS)来保存MySQL数据库.
将我的Web应用程序文件放在EBS上是否有意义,还是应该将它们部署到普通的EC2文件系统?
基本上我试图在一个简单的java游戏中使用这个SoundEffect类,我正在为我的任务工作.
import java.io.*;
import java.net.URL;
import javax.sound.sampled.*;
/**
* This enum encapsulates all the sound effects of a game, so as to separate the sound playing
* codes from the game codes.
* 1. Define all your sound effect names and the associated wave file.
* 2. To play a specific sound, simply invoke SoundEffect.SOUND_NAME.play().
* 3. You might optionally invoke the static method SoundEffect.init() to pre-load all the
* sound files, so that the play is not paused while …Run Code Online (Sandbox Code Playgroud) 是否有任何JavaScript库使查询字符串中的字典成为ASP.NET样式?
可以使用的东西像:
var query = window.location.querystring["query"]?
Run Code Online (Sandbox Code Playgroud)
是"查询字符串"叫别的东西外面.NET的境界?为什么没有location.search分成键/值集合?
编辑:我已经编写了自己的函数,但是任何主要的JavaScript库都可以这样做吗?
是否有任何内置功能可以让我深层复制NSMutableArray?
我环顾四周,有些人说[aMutableArray copyWithZone:nil]是深刻的副本.但我试过,它似乎是一个浅薄的副本.
现在我用for循环手动执行复制:
//deep copy a 9*9 mutable array to a passed-in reference array
-deepMuCopy : (NSMutableArray*) array
toNewArray : (NSMutableArray*) arrayNew {
[arrayNew removeAllObjects];//ensure it's clean
for (int y = 0; y<9; y++) {
[arrayNew addObject:[NSMutableArray new]];
for (int x = 0; x<9; x++) {
[[arrayNew objectAtIndex:y] addObject:[NSMutableArray new]];
NSMutableArray *aDomain = [[array objectAtIndex:y] objectAtIndex:x];
for (int i = 0; i<[aDomain count]; i++) {
//copy object by object
NSNumber* n = [NSNumber …Run Code Online (Sandbox Code Playgroud) java ×2
amazon-ebs ×1
amazon-ec2 ×1
audio ×1
c# ×1
cocoa ×1
cocoa-touch ×1
curly-braces ×1
cursor ×1
database ×1
deep-copy ×1
effects ×1
email ×1
escaping ×1
javadoc ×1
javascript ×1
linq ×1
linq-to-sql ×1
mouse ×1
nsarray ×1
objective-c ×1
pinvoke ×1
query-string ×1
registration ×1
replace ×1
sql ×1
vim ×1