小编jon*_*nii的帖子

如果它是多余的,你应该使用私人访问修饰符吗?

鉴于这两个例子是等价的,您认为哪些是可取的?

没有显式修饰符

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)

我一直使用后者,但最近我开始采用前一种风格.私有是多余的,因为它是默认的访问者修饰符,所以排除它是否有意义?

c# coding-style

50
推荐指数
8
解决办法
7385
查看次数

数据可视化的最佳例子?

我喜欢数据可视化并传播这种爱,我认为我们可以分享我们最喜欢的数据可视化示例:

国际象棋移动 http://turbulence.org/spotlight/thinking/chess.html

克里斯哈里森的可视化 http://www.chrisharrison.net/projects/visualization.html

我特别喜欢圣经和维基百科的可视化.


如果您对创建自己的可视化感兴趣,一个好的起点就是查看processing.js(http://ejohn.org/blog/processingjs/).

visualization

21
推荐指数
5
解决办法
2693
查看次数

授权REST请求

我正在开发一个有一些要求的REST服务:

  1. 它必须是安全的.
  2. 用户不应该伪造请求.

我目前提出的解决方案是拥有一个看起来像这样的自定义Authorization标头(这与amazon Web服务的工作方式相同):

Authorization: MYAPI username:signature
Run Code Online (Sandbox Code Playgroud)

我的问题是如何形成签名.当用户登录服务时,他们将获得一个密钥,他们应该能够使用该密钥对请求进行签名.这将阻止其他用户代表他们提交请求,但不会阻止他们伪造请求.

将要使用此服务的应用程序是一个iPhone应用程序,因此我认为我们可以在应用程序中嵌入一个公钥,我们可以进行额外的签名,但这是否意味着我们必须有两个签名,一个用户密钥和应用密钥的密钥?

任何建议都将不胜感激,我非常希望第一次能够做到这一点.

authentication rest authorization http-headers rest-security

15
推荐指数
2
解决办法
5079
查看次数

镜像官方nuget包存储库

在我的工作地点,我们有一个脾气暴躁的代理服务器,经常使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的超时/错误请求?

powershell nuget

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

如何防止团队城市清理nuget文物

我们使用团队城市作为nuget服务器,并且工件清理正在删除旧的nuget包.不幸的是,我们的一些软件包并不经常构建,当它们被清理时,其他构建版本就会破坏.

我已经尝试更改清理规则以排除*.nupkg,但这似乎不起作用.

有任何想法吗?

teamcity nuget

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

在rails 3日志中消除postgres日志垃圾邮件

在每个请求中,我的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)

这些完全淹没了我真正关心的日志消息.有没有一种好方法来消除这些额外的消息?

postgresql logging ruby-on-rails-3

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

Caliburn Micro中的WPF上下文菜单

我正在尝试在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无法可靠地解决方法.我确定这是一个常见问题,我尝试了一些我在网上发现的东西,但似乎没有任何效果.

有任何想法吗??

wpf contextmenu caliburn caliburn.micro

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

在编写xml文档时删除自闭合标记中的空格

在写出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的一部分?

c# xml linq-to-xml

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

密码保护rails登台环境

我正在努力找出保护我的临时环境的最佳方法.目前我在同一台服务器上运行暂存和生产.

我能想到的两个选择是:

使用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配置用于登台/生产).


现在我有第一个实施和工作,你看到它的问题吗?我错过了一些明显的事吗?提前致谢!

authentication ruby-on-rails staging

10
推荐指数
2
解决办法
4271
查看次数

生成用于标识记录的唯一随机字符串

我要求能够通过一个唯一的密钥来识别表中的记录,在本例中是一个用户表,该密钥不会泄露表中记录的顺序.

目前我有主键字段,生成的路由如下所示:

/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的第一部分,但是我需要检查以确保它在保存用户之前是唯一的.

任何建议将不胜感激!

ruby-on-rails

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