我需要从一些JSON(使用jq)一次删除多个键,并且我试图了解是否有更好的方法来执行此操作,而不是每次都调用map和del.这是我的输入数据:
test.json
[
{
"label": "US : USA : English",
"Country": "USA",
"region": "US",
"Language": "English",
"locale": "en",
"currency": "USD",
"number": "USD"
},
{
"label": "AU : Australia : English",
"Country": "Australia",
"region": "AU",
"Language": "English",
"locale": "en",
"currency": "AUD",
"number": "AUD"
},
{
"label": "CA : Canada : English",
"Country": "Canada",
"region": "CA",
"Language": "English",
"locale": "en",
"currency": "CAD",
"number": "CAD"
}
]
Run Code Online (Sandbox Code Playgroud)
对于每个项目,我想删除数字,语言和国家/地区键.我可以用这个命令做到这一点:
$ cat test.json | jq 'map(del(.Country)) | map(del(.number)) | map(del(.Language))'
Run Code Online (Sandbox Code Playgroud)
这很好,我得到了所需的输出:
[
{
"label": "US …Run Code Online (Sandbox Code Playgroud) HTTP/2 服务器推送允许服务器在浏览器实际请求资源之前将资源“推送”到浏览器。
使用 Chrome DevTools 的网络选项卡时,如何区分哪些资源是“推送”的,哪些是传统方式请求的?
我知道我可以启用网络选项卡中的协议列,并且将一些调用显示为“h2”,我认为这意味着 HTTP/2。但是我要寻找什么来判断它是否真的被推送了?
我正在将应用程序迁移到 Rails 3。以下 - 我在几个地方看到推荐 - 不起作用:
<%= javascript_include_tag :defaults %>
Run Code Online (Sandbox Code Playgroud)
就我而言,它扩展为:
<script src="/assets/defaults.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
...这会导致 404。据我所知,:defaults 不应该包含一个名为“defaults.js”的文件;它应该包括一些基本的东西,比如prototype.js 和application.js。
请注意,在我的情况下,以下工作正常。只是如果可能的话,我宁愿使用官方推荐的方式:
<%= javascript_include_tag :prototype %>
<%= javascript_include_tag :application %>
Run Code Online (Sandbox Code Playgroud)
我正在使用 ruby 1.9.3 运行 Rails 3.2.8。
我的config/application.rb (以任何形式)中没有以下行。为了迁移到 Rails 3,我创建了一个新的 Rails 3 应用程序,并使用该 application.rb 作为起点:
config.action_view.javascript_expansions[:defaults] = %w(foo.js bar.js)
Run Code Online (Sandbox Code Playgroud)
在 app/assets/javascripts 中,我有:
Util.js
application.js
controls.js
dragdrop.js
effects.js
prototype.js
Run Code Online (Sandbox Code Playgroud)
...和一堆特定于我的应用程序的东西。
背景:
我的问题:要排除故障,我想尝试更新版本的rake.我想知道如何强制使用一个特定版本,因为看起来我安装了多个版本.
有关我的环境的信息:
$ gem list rake
*** LOCAL GEMS ***
rake (0.9.2.2, 0.9.2, 0.8.7, 0.8.3)
$ rake --version
rake, version 0.8.7
Run Code Online (Sandbox Code Playgroud)
所以看起来它正在拿起0.8.7版本.
在线的所有帮助文件似乎告诉我在Gemfile中指定rake版本,但是这个项目中没有一个.(也许它早于gemfiles?)
如果我完全取消设置RAILS_GEM_ENVIRONMENT变量,并尝试运行rake,我得到:
rake aborted!
can't activate rails (= 2.3.5, runtime) for [], already activated rails-3.2.8 for []
Run Code Online (Sandbox Code Playgroud)
我的旧项目中的所有环境配置文件都没有设置该变量.
我有一个node.js脚本,它接受一个filename参数,然后使用require()消耗它:
json2csv.js
var filename = process.argv[2];
var parsedJSON = require(filename);
Run Code Online (Sandbox Code Playgroud)
我运行如下:
$ node json2csv.js ./inputFile.json
Run Code Online (Sandbox Code Playgroud)
只要我使用"./"明确地为文件(如果是本地)添加前缀或者使用绝对文件路径,这就可以工作.但是,如果我省略"./",例如:
$ node json2csv.js inputFile.json
Run Code Online (Sandbox Code Playgroud)
我收到"无法找到模块"错误,因为node正在将文件名解释为模块名称.是否有一种标准的方法来在节点中使用munge文件路径,以便它们作为显式本地路径或绝对路径输出?
我知道为我的场景写作并不困难; 我只是在寻找一种适用于跨平台的标准方法.我找到了Path.normalize(),但这实际上剥离了任何前导"./".
谢谢!
我正在尝试在Vagrant中设置一个简单的Rails应用程序.这是我第一次设置Vagrant + rails.这是Vagrant文件.正如您所看到的,我将localhost:3000映射到guest:3000.
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network 'forwarded_port', guest: 3000, host: 3000
config.vm.provision 'shell', path: 'bootstrap/bootstrap_vagrant.sh'
end
Run Code Online (Sandbox Code Playgroud)
这是我的bootstrap文件,为简洁起见,我已将其删除:
#!/usr/bin/env bash
set -e
apt-get update
echo "LC_ALL=\"en_US.UTF-8\"" >> /etc/default/locale
locale-gen en_US.UTF-8
update-locale LANG=en_US.UTF-8
apt-get -y install build-essential curl git-core python-software-properties htop vim
apt-get -y install nodejs # needed by Rails to have a Javascript runtime
apt-get -y install zlib1g-dev libssl-dev libreadline6-dev libyaml-dev libncurses5-dev libxml2-dev libxslt-dev
sudo -u vagrant printf 'cd /vagrant\n' >> /home/vagrant/.profile
su vagrant -c "mkdir -p …Run Code Online (Sandbox Code Playgroud) 我是第一次安装brew,当我运行brew doctor时出现一个错误:
Warning: You have uncommitted modifications to Homebrew
If this a surprise to you, then you should stash these modifications.
Stashing returns Homebrew to a pristine state but can be undone
should you later need to do so for some reason.
cd /usr/local && git stash
Run Code Online (Sandbox Code Playgroud)
如果我cd到/ usr/local并运行"git status",我得到:
On branch master
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)
如果我运行:cd/usr/local && git stash,我得到:
No local changes to save
Run Code Online (Sandbox Code Playgroud)
我应该忽略这个警告吗?我在OSX 10.8上.