我注意到,就在去年左右,许多主要网站对其网页结构的方式也做了同样的改变.每个人都将他们的Javascript文件从与页面本身(或其子域)相同的域托管到托管在不同命名的域上.
现在,有一种众所周知的技术可以跨多个域传播页面组件以并行化下载. 雅虎推荐它和许多其他人一样.例如,www.example.com是您托管HTML的地方,然后您将图像放在images.example.com和scripts.example.com上的javascripts上.这解决了这样一个事实,即大多数浏览器限制每台服务器的同时连接数,以便成为优秀的网民.
以上不是我所说的.
我所说的是专门在一个完全不同的域上托管Javascripts.让我具体一点.就在去年左右,我注意到了:
youtube.com已将其.JS文件移至ytimg.com
cnn.com已将其.JS文件移至cdn.turner.com
weather.com已将其.JS文件移至j.imwx.com
现在,我了解像Akamai这样专门为大型网站外包的内容交付网络.(特纳的特殊领域中的名称"cdn"在这里提醒我们这个概念的重要性).
但请注意,通过这些示例,每个站点都有自己专门为此目的注册的域,而不是内容交付网络或其他基础架构提供商的域.实际上,如果您尝试从大多数这些脚本域中加载主页,它们通常会重定向回公司的主域.如果您反向查找所涉及的IP,它们有时会出现在CDN公司的服务器上,有时则不然.
以前在两家不同的安全公司工作过,我已经变得偏执了恶意的Javascripts.
因此,我遵循白名单网站的做法,我将允许Javascript(以及其他活动内容,如Java)运行.因此,为了使像cnn.com这样的网站正常工作,我必须手动将cnn.com放入列表中.这是后面的痛苦,但我更喜欢它.
当人们使用诸如scripts.cnn.com之类的东西进行并行化时,通过适当的通配符可以很好地工作.当人们使用CDN公司域名下的子域名时,我可以在前面允许CDN公司的主域名使用通配符,并且一举杀死许多鸟类(例如*.edgesuite.net和*.akamai.com).
现在我发现(截至2008年)这还不够.现在我必须在我想要列入白名单的页面的源代码中查找,并找出该站点用于存储其Javascripts的"秘密"域(或域).在某些情况下,我发现我必须允许三个不同的域来使网站工作.
编辑:好的,因为"onebyone"指出,它确实似乎与CDN内容的传递有关.所以让我根据他的研究略微修改这个问题......
为什么weather.com使用j.imwx.com而不是twc.vo.llnwd.net?
为什么youtube.com使用s.ytimg.com而不是static.cache.l.google.com?
这背后有一个推理.
所以,在阅读这个网站时,我工作的商店似乎做了很多错事,有些事情是正确的.如何改进与同事合作的代码?我唯一能想到的就是以身作则 - 开始使用Boost等等.还有其他想法吗?
我有相当多的源文件,我需要解析并提取所有字符串文字,并将它们作为播放旧的Java常量放在一个文件中.
举个例子:
Label l = new Label("Cat");
Run Code Online (Sandbox Code Playgroud)
会成为:
Label l = new Label(Constants.CAT);
Run Code Online (Sandbox Code Playgroud)
而且Constants.java我会:
public final static String CAT = "Cat";
Run Code Online (Sandbox Code Playgroud)
我不希望字符串在属性文本文件中外部化.
一个原因是一致性和代码可读性.
另一个是我们的客户端代码使用GWT,它不支持Java属性文本文件机制.
我可以写一些解析器(可能使用ant替换任务)?
但我想知道是否IDE已经自动完成了这类事情.
我有一个ListBox控件,我在网格布局中呈现固定数量的ListBoxItem对象.所以我将ItemsPanelTemplate设置为Grid.
我从后面的代码访问Grid以配置RowDefinitions和ColumnDefinitions.
到目前为止,它都像我期望的那样工作.我有一些自定义的IValueConverter实现,用于返回每个ListBoxItem应该出现的Grid.Row和Grid.Column.
但是我有时会遇到奇怪的绑定错误,我无法弄清楚它们为什么会发生,或者即使它们在我的代码中.
这是我得到的错误:
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.ItemsControl', AncestorLevel='1''. BindingExpression:Path=HorizontalContentAlignment; DataItem=null; target element is 'ListBoxItem' (Name=''); target property is 'HorizontalContentAlignment' (type 'HorizontalAlignment')
谁能解释一下发生了什么?
哦,这是我的XAML:
<UserControl.Resources>
<!-- Value Converters -->
<v:GridRowConverter x:Key="GridRowConverter" />
<v:GridColumnConverter x:Key="GridColumnConverter" />
<v:DevicePositionConverter x:Key="DevicePositionConverter" />
<v:DeviceBackgroundConverter x:Key="DeviceBackgroundConverter" />
<Style x:Key="DeviceContainerStyle" TargetType="{x:Type ListBoxItem}">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="Grid.Row" Value="{Binding Path=DeviceId, Converter={StaticResource GridRowConverter}}" />
<Setter Property="Grid.Column" Value="{Binding Path=DeviceId, Converter={StaticResource GridColumnConverter}}" />
<Setter Property="Template"> …Run Code Online (Sandbox Code Playgroud) 您的一名团队成员被任命为"技术主管"或"团队领导",但他在技术上不称职,缺乏重要的领导技能.
技术上无能,我的意思是这个人不知道抽象类和接口之间的区别,不明白为什么要避免耦合,不理解凝聚力的概念,提供解决方案而不需要花些时间去思考,不明白为什么我们应该支持组合而不是继承,并且不会得到设计模式(除了单例模式).
此外,这个人有超过10年的"经验"(是的,我确实把这个词放在引号中,因为他给出了一个完全不同的经验体验).
我在和工作中的这个人打交道.它消除了我对这个职业的热情.
你怎么反应?你是做什么?
我的团队是一个非常异质的组织中的Perl商店.虽然我们支持奇怪的Java,PHP或Python安装,但我们几乎将所有Web应用程序和系统/数据编组任务都用于Perl.我们所有的盒子都是Linux,虽然我们也与IIS系统连接.
我们正面临来自管理层的一些压力,要求至少在我们的部分工作中转向Java.我想使用正确的工具来完成正确的任务,但对于我们的工作,并且由于我们的集体经验,Perl似乎是适合所有事情的正确工具.
我最初的想法是将Java用于对整个组织开放的应用程序,因为那里有比Perl 更多的Java思想.
有没有人有类似的经历?如果我可以选择,那么我们应该从应用Java开始执行哪些任务?我们应该坚持使用Perl来完成哪些任务?它有什么不同吗?为什么或者为什么不?
我正在构建一个ASP.NET MVC应用程序,它将具有自定义角色和成员资格提供程序.我一直在寻找管理工具来节省一些时间,WSAT已经跨越了我的道路.它看起来很好看,它是所有开源的,如果它不起作用非常简单我可以自己解决它.
第一个问题是你们中的任何一个人过去都使用WSAT作为产品系统.是否值得,我应该考虑一下,有什么理由不使用它?
第二个问题,有谁知道WSAT与自定义提供商的合作有多好?
感谢您的反馈意见.
是否有一个命令行方法让VS 2008从解决方案文件和组成项目文件中删除TFS源代码控制绑定?我需要一些可以从批处理文件运行的东西,这样我就不必打开解决方案并单击2提示永久删除绑定.
编辑:删除*.vspscc和*.vssscc文件后,项目和解决方案文件仍然引用TFS源代码控制.因此,当打开解决方案时,系统会提示您从源代码管理中删除解决方案.这会更新解决方案和项目文件以删除绑定,这就是我想要自动化的内容.
我正在使用subversion(TortoiseSVN),我想从我的项目中删除.svn文件夹进行部署,是否有使用subversion自动执行此操作的方法,还是我必须为此创建自定义脚本?
在webforms/winforms生成的代码场景之外是否有很好的使用部分类?或者这个功能基本上是支持吗?
java ×2
.net ×1
asp.net ×1
c# ×1
c++ ×1
cdn ×1
data-binding ×1
deployment ×1
eclipse ×1
gwt ×1
javascript ×1
listbox ×1
perl ×1
plugins ×1
provisioning ×1
string ×1
svn ×1
tfs ×1
tortoisesvn ×1
webserver ×1
whitelist ×1
wpf ×1
wsat ×1