您可以创建异常的子类以使其更具描述性,但您应如何设置默认的"消息"?
class MyError < StandardError
# default message = "You've triggered a MyError"
end
begin
raise MyError, "A custom message"
rescue Exception => e
p e.message
end
begin
raise MyError
raise Exception => e
p e.message
end
Run Code Online (Sandbox Code Playgroud)
第一个应输出'自定义消息'
第二个应该输出'你已经触发了一个MyError'
有关最佳做法的任何建议吗?
在数据加载完成之前,如何让AngularJS显示加载微调器?
如果我的控制器已$scope.items = [{name: "One"}]静态设置,并且填充了一个AJAX加载器$scope.items[0]['lateLoader'] = "Hello",我希望微调器显示直到AJAX加载完成,然后用检索到的数据填充绑定范围.
<ul ng-repeat="item in items">
<li>
<p>Always present: {{item.name}}</p>
<p>Loads later: <span ng-bind="item.lateLoader"><i class="icon icon-refresh icon-spin"></i></span></p>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
此代码立即填充绑定范围,并且由于item.lateLoader空,所以微调器将替换为空.
我该怎么干净呢?
所以它是一个远景,我将从那开始.
是否可以单独在javascript中发现bonjour广告的HTTP服务?
为什么这会有用?想象一下本地服务正在寻找一些数据(例如您当前的纬度/经度),数据通过网络服务公开并由Bonjour Zeroconf做广告.一个(远程)网站可能想知道你当前的纬度/经度,而不是必须知道你正在运行MyGPSserverVersion2,该网站可以使用javascript搜索本地bonjour _Compatible_location_services._tcp,然后一旦有了IP地址就继续.
如果这是不可能的(我认为可能就是这种情况,Javascript是相当受限制的)然后有什么障碍,是否有人对如何克服它们有任何想法?
我的media="print"CSS中是否有一些语法可以使一个div元素覆盖整个打印页面?
<div id="important_thing">Important!</div>
<ol id="other_stuff">
<li>Thing</li>
<li>blah</li>
</ol>
Run Code Online (Sandbox Code Playgroud)
print.css
#important_thing {
width:100%;
height:100%;
}
#other_stuff li {
float:left;
width:20pt;
height:8pt;
}
Run Code Online (Sandbox Code Playgroud)
这没有达到预期的效果.我希望有一个完整的页面用于"重要的东西"以及所有列表元素所需的许多其他页面.
有任何想法吗?
我正在尝试编写XSLT以将特定网页转换为JSON.下面的代码演示了Ruby如何进行这种转换,但是XSLT没有生成有效的JSON(数组中有太多逗号) - 任何人都知道如何编写XSLT来生成有效的JSON?
require 'rubygems'
require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open('http://bbc.co.uk/radio1/playlist'))
xslt = Nokogiri::XSLT(DATA.read)
puts out = xslt.transform(doc)
# Now follows the XSLT
__END__
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="text" encoding="UTF-8" media-type="text/plain"/>
<xsl:template match="/">
[
<xsl:for-each select="//*[@id='playlist_a']//div[@class='artists_and_songs']//ul[@class='clearme']">
{'artist':'<xsl:value-of select="li[@class='artist']" />','track':'<xsl:value-of select="li[@class='song']" />'},
</xsl:for-each>
]
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud) 我正在使用webpack捆绑一个同构的JS应用程序(基于此示例),以便浏览器运行与服务器相同的代码.一切都运行顺利,除了我有config.js一些设置从服务器上的环境变量拉入:
module.exports = {
servers:
auth: process.env.AUTH_SERVER_URL,
content: process.env.CONTENT_SERVER_URL
}
}
Run Code Online (Sandbox Code Playgroud)
在服务器上这是盛大的,但是当webpack为客户端呈现这个process是空的时,这不起作用.
我希望有一种'查找和替换'webpack插件,它将仅用该文件中的内容替换它们?
"…config.js content…".replace(/process\.env\.([a-z0-9_]+)/, function(match, varName) {
return process.env[varName];
})
Run Code Online (Sandbox Code Playgroud) 你可以通过将它们放入public/(默认情况下)来为Sinatra提供静态文件- 我现在有一个index.html在那里,但是如何将根点指向该文件而不必将其解析为模板?
要清楚,我可以/index.html成功访问,并且我想路由/到相同的静态文件,但没有重定向.知道怎么做吗?
我在周末在码头工人的IRC上问了这个问题,但在我考虑答案之前不得不停下来:
如果我有许多应用程序在容器中运行(暂时,假设它们都运行在相同的物理硬件上,但不一定是这种情况),我希望每个应用程序能够找到每个应用程序其他自动.
使用某种注册表(例如,etcd或DNS-SD/Bonjour),您可以宣布您的服务和任何相关细节,让其他应用程序了解它们并相应地路由流量.
这里的问题是,虽然应用程序可以知道它在容器中服务的主机名/端口,但这不一定是它可以访问的端口或地址.有两点需要加入的信息:
您如何建议我在容器屏障上获取此信息?
关于如何解决这个问题的任何想法或指导?
Logstash太棒了.我可以像这样发送JSON(多行可读性):
{
"a": "one"
"b": {
"alpha":"awesome"
}
}
Run Code Online (Sandbox Code Playgroud)
然后使用搜索词在kibana中查询该行b.alpha:awesome.尼斯.
但是我现在有一个像这样的JSON日志行:
{
"different":[
{
"this": "one",
"that": "uno"
},
{
"this": "two"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我希望能够找到像different.this:two (或different.this:one,或different.that:uno)这样的搜索行
如果我直接使用Lucene,我会遍历different数组,并为其中的每个哈希生成一个新的搜索索引,但Logstash目前似乎像这样摄取该行:
不同:{this:one,that:uno},{this:two}
这不会帮助我使用different.this或搜索日志行different.that.
我是否有任何关于编解码器,过滤器或代码更改的想法,我可以做到这一点?
有没有办法在BASH脚本中存储二进制数据,以便以后可以在该脚本中将其传送到程序?
目前(在Mac OS X上)我正在做
play sound.m4a
# do stuff
Run Code Online (Sandbox Code Playgroud)
我希望能够做到这样的事情:
SOUND <<< the m4a data, encoded somehow?
END
echo $SOUND | play
#do stuff
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?