程序设计

专业和发烧友程序员的问答

12
作为Base64,将背景图像数据嵌入CSS是好做法还是坏做法?
我一直在查看油脂猴子用户脚本的来源,并在他们的CSS中注意到以下内容: .even { background: #fff url(data:image/gif;base64,R0lGODlhBgASALMAAOfn5+rq6uvr6+zs7O7u7vHx8fPz8/b29vj4+P39/f///wAAAAAAAAAAAAAAAAAAACwAAAAABgASAAAIMAAVCBxIsKDBgwgTDkzAsKGAhxARSJx4oKJFAxgzFtjIkYDHjwNCigxAsiSAkygDAgA7) repeat-x bottom} 我可以理解,滑脂脚本希望将其可以捆绑的所有内容捆绑在源代码中,而不是将其托管在服务器上,这很明显。但是由于我以前没有看过这种技术,因此我考虑了它的使用,并且由于许多原因,它似乎很有吸引力: 它将减少页面加载时的HTTP请求数量,从而提高性能 如果没有CDN,则它将减少通过Cookie与图像一起发送而产生的流量 可以缓存CSS文件 CSS文件可以GZIPPED 考虑到IE6(例如)在背景图片缓存方面存在问题,这似乎不是最糟糕的主意... 那么,这是好事还是坏事,为什么您不使用它,以及使用哪种工具对图像进行base64编码? 更新-测试结果 图片测试:http://fragged.org/dev/map-shot.jpg-133.6Kb 测试网址:http : //fragged.org/dev/base64.html 专用CSS文件: http: //fragged.org/dev/base64.css-178.1Kb GZIP编码服务器端 发送给客户端的结果大小(YSLOW组件测试):59.3Kb 发送到客户端浏览器的数据保存:74.3Kb 不错,但是我猜它对较小的图像用处不大。 更新:Google软件工程师Bryan McQuade在PageSpeed上表示,他在ChromeDevSummit 2013上表示,CSS中的data:uris被认为是在演讲期间提供关键/最小CSS的渲染阻止反模式#perfmatters: Instant mobile web apps。请参阅http://developer.chrome.com/devsum​​mit/sessions,并牢记这一点- 实际幻灯片

10
AngularJS:使用异步数据初始化服务
我有一个AngularJS服务,我想使用一些异步数据进行初始化。像这样: myModule.service('MyService', function($http) { var myData = null; $http.get('data.json').success(function (data) { myData = data; }); return { setData: function (data) { myData = data; }, doStuff: function () { return myData.getSomeData(); } }; }); 显然,这是行不通的,因为如果doStuff()在myData返回之前尝试进行调用,我将得到一个空指针异常。据我从阅读这里和这里提出的其他一些问题中所知道的,我有一些选择,但是它们似乎都不是很干净(也许我错过了一些东西): 安装服务“运行” 设置我的应用时,请执行以下操作: myApp.run(function ($http, MyService) { $http.get('data.json').success(function (data) { MyService.setData(data); }); }); 然后我的服务将如下所示: myModule.service('MyService', function() …

16
如何检查元素是否在数组中
在Swift中,如何检查数组中是否存在元素?Xcode没有针对contain,,include或的任何建议has,并且快速搜索本书不会发现任何建议。知道如何检查吗?我知道有一种方法find可以返回索引号,但是有没有一种方法可以返回布尔值,如ruby的#include?? 我需要的示例: var elements = [1,2,3,4,5] if elements.contains(5) { //do something }
475 arrays  swift 

6
连字符,下划线或驼峰作为URI中的单词定界符?
我正在为Intranet应用程序设计基于HTTP的API。我意识到在宏伟的事物中这是一个很小的问题,但是:我应该使用连字符,下划线还是camelCase来分隔URI中的单词? 这是我最初的想法: 骆驼香烟盒 如果服务器不区分大小写,则可能出现问题 似乎在查询字符串键(相当广泛使用http://api.example.com?SEARCHQUERY = ...),而不是在其他URI部分 连字号 比其他替代品更美观 似乎在URI的路径部分中被广泛使用 在野外从未见过带连字符的查询字符串键 对于SEO 可能更好(这可能是神话) 下划线 编程语言可能更容易处理 几个流行的API(Facebook,Netflix,StackExchange等)在URI的所有部分都使用下划线。 对于所有内容,我都倾向于强调。大多数大型参与者都在使用它们,这一事实令人信服(请参阅https://stackoverflow.com/a/608458/360570)。
475 api  url  rest  uri  restful-url 


10
在签出先前的提交后如何返回最新的提交?
有时,我会检查一些先前版本的代码以进行检查或测试。我已经看到了有关要修改以前的提交的说明,但是假设我没有进行任何更改。完成例如以后git checkout HEAD^,如何返回分支的尖端?.. git log不再向我显示最新提交的SHA。

7
->在Python函数定义中是什么意思?
我最近在查看Python 3.3语法规范时发现了一些有趣的东西: funcdef: 'def' NAME parameters ['->' test] ':' suite Python 2中没有可选的“箭头”块,我在Python 3中找不到有关其含义的任何信息。事实证明这是正确的Python,并且已被解释器接受: def f(x) -> 123: return x 我认为这可能是某种前提语法,但是: 我无法x在此处进行测试,因为它仍未定义, 无论我在箭头后面加什么(例如2 < 1),它都不会影响功能行为。 习惯此语法的任何人都可以解释吗?

15
如何为Apache 2.2启用mod_rewrite
我在Vista机器上重新安装了Apache 2.2,一切正常,除了mod重写。 我没有评论 LoadModule rewrite_module modules/mod_rewrite.s 但是我的重写规则都无效,即使是简单的规则 RewriteRule not_found %{DOCUMENT_ROOT}/index.php?page=404 我正在使用的所有规则都可以在主机上使用,因此应该可以,所以我的问题是,apache配置中是否存在任何隐藏内容,可能会阻止mod重写?

15
href与onclick中的JavaScript函数
我想在单击时运行一个简单的JavaScript函数,而无需任何重定向。 将JavaScript调用放入href属性之间有什么区别或好处(例如: <a href="javascript:my_function();window.print();">....</a> )与将其放入onclick属性(将其绑定到onclick事件)?
474 javascript  href 







By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.