鉴于这两个例子是等价的,您认为哪些是可取的?
没有显式修饰符
public class MyClass
{
string name = "james";
public string Name {
get { return name; }
set { name = value; }
}
void SomeMethod() { ... }
}
Run Code Online (Sandbox Code Playgroud)
使用显式修饰符
public class MyClass
{
private string name = "james";
public string Name {
get { return name; }
set { name = value; }
}
private void SomeMethod() { ... }
}
Run Code Online (Sandbox Code Playgroud)
我一直使用后者,但最近我开始采用前一种风格.私有是多余的,因为它是默认的访问者修饰符,所以排除它是否有意义?
我喜欢数据可视化并传播这种爱,我认为我们可以分享我们最喜欢的数据可视化示例:
国际象棋移动 http://turbulence.org/spotlight/thinking/chess.html
克里斯哈里森的可视化 http://www.chrisharrison.net/projects/visualization.html
我特别喜欢圣经和维基百科的可视化.
如果您对创建自己的可视化感兴趣,一个好的起点就是查看processing.js(http://ejohn.org/blog/processingjs/).
我正在开发一个有一些要求的REST服务:
我目前提出的解决方案是拥有一个看起来像这样的自定义Authorization标头(这与amazon Web服务的工作方式相同):
Authorization: MYAPI username:signature
Run Code Online (Sandbox Code Playgroud)
我的问题是如何形成签名.当用户登录服务时,他们将获得一个密钥,他们应该能够使用该密钥对请求进行签名.这将阻止其他用户代表他们提交请求,但不会阻止他们伪造请求.
将要使用此服务的应用程序是一个iPhone应用程序,因此我认为我们可以在应用程序中嵌入一个公钥,我们可以进行额外的签名,但这是否意味着我们必须有两个签名,一个用户密钥和应用密钥的密钥?
任何建议都将不胜感激,我非常希望第一次能够做到这一点.
authentication rest authorization http-headers rest-security
在我的工作地点,我们有一个脾气暴躁的代理服务器,经常使nuget包窗口无法使用(nuget命令行也是如此).我已经开始将我们最常使用的软件包复制到网络共享上的本地镜像,但手动执行此操作变得乏味.我已经尝试过使用PowerShell自动下载软件包,但似乎无法让odata uri显示多个软件包.例如,运行以下查询:
$feed = [xml]$webClient.DownloadString("http://feed.nuget.org/ctp2/odata/v1/Packages?$filter=startswith(Title,'O') eq true&$top=100")
Run Code Online (Sandbox Code Playgroud)
应返回标题以"O"开头的前100个包,但不返回任何包.奇怪的是,这适用于打包返回的默认包列表中的包名称http://feed.nuget.org/ctp2/odata/v1/Packages.我猜是有某种分页正在进行,我只在第一页查询.玩参数我似乎无法改变到下一页...
有没有其他人试图这样做?有没有人注意到使用nuget的超时/错误请求?
我们使用团队城市作为nuget服务器,并且工件清理正在删除旧的nuget包.不幸的是,我们的一些软件包并不经常构建,当它们被清理时,其他构建版本就会破坏.
我已经尝试更改清理规则以排除*.nupkg,但这似乎不起作用.
有任何想法吗?
在每个请求中,我的development.log都包含很多条目,如下所示:
SQL (0.5ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"table1"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
SQL (0.5ms) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"table2"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
Run Code Online (Sandbox Code Playgroud)
这些完全淹没了我真正关心的日志消息.有没有一种好方法来消除这些额外的消息?
我正在尝试在ListBox ItemTemplate中获取上下文菜单以调用父视图模型上的方法,并将作为参数单击的项目传入.我有这个工作项目模板中的其他按钮,但对于上下文菜单,它似乎失败了.
我有以下xaml(缩写为清晰):
<ListBox>
<ListBox.GroupStyle>
<GroupStyle>
...
</GroupStyle>
</ListBox.GroupStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ContextMenu>
<ContextMenu Name="cm">
<MenuItem Header="Open"
cal:Message.Attach="Open($dataContext)">
</MenuItem>
</Grid.ContextMenu>
<TextBlock VerticalAlignment="Center" >
.. text..
</TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
我有一种感觉,这与视觉树不同的事实有关,因此Caliburn无法可靠地解决方法.我确定这是一个常见问题,我尝试了一些我在网上发现的东西,但似乎没有任何效果.
有任何想法吗??
在写出xml文档时,我需要编写所有自闭文本,不带任何空格,例如:
<foo/>
Run Code Online (Sandbox Code Playgroud)
代替:
<foo />
Run Code Online (Sandbox Code Playgroud)
这样做的原因是,我正在与之接口的供应商系统会引发其他问题.在理想的世界中,供应商会修复他们的系统,但我不打算在短时间内发生这种情况.让XmlWriter在没有空格的情况下输出自闭关标签的最佳方法是什么?
我目前的计划是做类似的事情:
return xml.Replace(" />", "/>");
Run Code Online (Sandbox Code Playgroud)
显然这远非理想.是否可以为这一个操作继承XmlWriter?是否有一个设置作为我忽略的XmlWriterSettings的一部分?
我正在努力找出保护我的临时环境的最佳方法.目前我在同一台服务器上运行暂存和生产.
我能想到的两个选择是:
使用rails摘要身份验证
我可以把这样的东西放在application_controller.rb中
# Password protection for staging environment
if RAILS_ENV == 'staging'
before_filter :authenticate_for_staging
end
def authenticate_for_staging
success = authenticate_or_request_with_http_digest("Staging") do |username|
if username == "staging"
"staging_password"
end
end
unless success
request_http_digest_authentication("Admin", "Authentication failed")
end
end
Run Code Online (Sandbox Code Playgroud)
这是从Ryan Daigle的博客中扯下来的.我正在运行最新的Rails 2.3,所以我应该摆脱他们对此的安全问题.
使用Web服务器身份验证
我也可以使用.htaccess或apache权限实现这一点,但是它使我的服务器配置稍微复杂一些(我使用Chef,并且需要不同的apache配置用于登台/生产).
现在我有第一个实施和工作,你看到它的问题吗?我错过了一些明显的事吗?提前致谢!
我要求能够通过一个唯一的密钥来识别表中的记录,在本例中是一个用户表,该密钥不会泄露表中记录的顺序.
目前我有主键字段,生成的路由如下所示:
/users/1
Run Code Online (Sandbox Code Playgroud)
但是,我希望能够生成如下路线:
/users/kfjslncdk
Run Code Online (Sandbox Code Playgroud)
我可以在路由端,数据库端等连接所有内容.但我不确定生成唯一字符串标识符的最佳方法是在rails中.我想做点什么:
before_save :create_unique_identifier
def create_unique_identifier
self.unique_identifier = ... magic goes here ...
end
Run Code Online (Sandbox Code Playgroud)
我以为我可以使用使用UUIDTools创建的guid的第一部分,但是我需要检查以确保它在保存用户之前是唯一的.
任何建议将不胜感激!
c# ×2
nuget ×2
caliburn ×1
coding-style ×1
contextmenu ×1
http-headers ×1
linq-to-xml ×1
logging ×1
postgresql ×1
powershell ×1
rest ×1
staging ×1
teamcity ×1
wpf ×1
xml ×1