小编23t*_*tux的帖子

OS X终端快捷方式:跳转到行尾/开头

我知道我可以使用Ctrl+ ACtrl+ 跳转到OS X终端内的一行的开头和结尾E.但我已经习惯用编辑器中的Cmd+ Right箭头和Cmd+ Left箭头跳转,我也很乐意将这个快捷方式用于终端.

我还没有在谷歌找到解决方案,所以也许有人可以提供帮助.

更新

在评论中,我尝试了解决方案来自OS X终端中是否有任何方法逐字移动光标?

遗憾的是,终端设置似乎不包含Cmd为修改键,如下所示:

终端的修改键

macos terminal keyboard-shortcuts

88
推荐指数
13
解决办法
7万
查看次数

本地存储与AngularJS $ cacheFactory

我有一个存储大量客户端数据的问题,我无法确定哪种方式更好.现在我正在使用AngularJS的cacheFactory,它运行正常,但所有数据都会重新加载新会话.是否值得使用本地存储?

javascript local-storage angularjs

58
推荐指数
2
解决办法
7万
查看次数

VCRProxy:在Capybara内用录像机录制PhantomJS ajax电话

我已经在这个领域做了一些研究,但没有找到任何解决方案.我有一个网站,在那里对facebook进行异步ajax调用(使用JSONP).我正在使用VCR在Ruby端记录我的所有HTTP请求,所以我认为将这个功能用于AJAX调用也很酷.

所以我玩了一下,并提出了代理尝试.我正在使用PhantomJS作为Capybara内部集成的无头浏览器和恶作剧者.Poltergeist现在配置为使用这样的代理:

  Capybara.register_driver :poltergeist_vcr do |app|
    options = {
      :phantomjs_options => [
        "--proxy=127.0.0.1:9100",
        "--proxy-type=http",
        "--ignore-ssl-errors=yes",
        "--web-security=no"
      ],
      :inspector => true
    }
    Capybara::Poltergeist::Driver.new(app, options)
  end
  Capybara.javascript_driver = :poltergeist_vcr
Run Code Online (Sandbox Code Playgroud)

出于测试目的,我编写了一个基于WEbrick的代理服务器,它集成了VCR:

require 'io/wait'
require 'webrick'
require 'webrick/httpproxy'

require 'rubygems'
require 'vcr'

module WEBrick
  class VCRProxyServer < HTTPProxyServer
    def service(*args)
      VCR.use_cassette('proxied') { super(*args) }
    end
  end
end

VCR.configure do |c|
  c.stub_with :webmock
  c.cassette_library_dir = '.'
  c.default_cassette_options = { :record => :new_episodes }
  c.ignore_localhost = true
end

IP   = '127.0.0.1'
PORT = 9100

reader, writer …
Run Code Online (Sandbox Code Playgroud)

ruby ajax https phantomjs vcr

44
推荐指数
1
解决办法
3694
查看次数

单元测试视图 - 最佳实践

有人可以分享单元测试视图的经验吗?我阅读了很多关于如何使用视图进行单元测试的教程,但是一切都有一些缺点.

我提出了以下方法.它有效,但我想知道是否有更好的方法来做到这一点.还有一些缺点,我稍后会解释.我也在使用量角器进行E2E测试,但它们总是很慢,因此我将它们限制在最低限度.

这是我的控制器.它有两个绑定到它的变量$scope,它们在视图中使用:

// test_ctrl.js
angular.module('app', [])
  .controller('TestCtrl', ["$rootScope", "$scope", function ($rootScope, $scope) {
    $scope.bar = "TEST";
    $scope.jobs = [
      {name: "cook"}
    ];
  }]);
Run Code Online (Sandbox Code Playgroud)

视图将$scope.bara <span>$scope.jobs数组转换为ng-repeat指令:

<!-- test.html the view for this controller -->
<span>
  Bar is {{bar || "NOT SET"}}
</span>
<ul>
  <li ng-repeat="job in jobs">{{job.name}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

这是测试:

describe('Controller: TestCtrl', function () {
  beforeEach(module('templates'));
  beforeEach(module('app'));

  var TestCtrl, $rootScope, $compile, createController, view, $scope;
  beforeEach(inject(function($controller, $templateCache, _$rootScope_, _$compile_, _$httpBackend_) {
    $rootScope = …
Run Code Online (Sandbox Code Playgroud)

javascript testing unit-testing angularjs

30
推荐指数
1
解决办法
6116
查看次数

RSpec:Stub私有方法

我尝试使用RSpec2测试一个类,它有一些私有方法,这些方法是从一些公共方法调用的.我测试公共方法

@foo.should_receive(:start_training).exactly(2).times
Run Code Online (Sandbox Code Playgroud)

如果他们被召唤和多久 我的问题是,这种方法不适用于私有方法.那么,有没有什么办法可以使用某物像@foo.send(:private_method)结合should_receive?还是其他任何语法?

ruby rspec ruby-on-rails rspec2 ruby-on-rails-3

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

从Facebook返回的X-FB-DEBUG标头是什么?

我想知道上面提到的标题是什么.当我对Facebook进行JSONP调用时,甚至在我访问http://static.ak.fbcdn.net/时,它都包含在响应中

我还没有在facebook上找到任何文档,例如https://developers.facebook.com/docs/reference/ads-api/etags-reference/

所以,希望有人可以帮助我.谢谢!

ajax jsonp facebook header facebook-javascript-sdk

21
推荐指数
2
解决办法
9624
查看次数

无头宝石:webkit_server:无法连接到X服务器

我在使用Headless gem,Xvfb和我们的ci服务器运行capybara-webkit时遇到了一些问题.我们使用此设置进行Ruby on Rails 3.2应用程序的自动集成测试和javascript测试.在测试期间,它抱怨说

webkit_server: cannot connect to X server
Run Code Online (Sandbox Code Playgroud)

但是当我 ps aux | grep Xvfb

deploy    1602  0.0  0.1  61696  1912 pts/2    S+   Jul10   0:00 /usr/bin/Xvfb :99 -screen 0 1280x1024x24 -ac
Run Code Online (Sandbox Code Playgroud)

我看到Xvfb正在运行.如果我用--trace它运行测试也只显示上面的错误日志,我无法调试错误.

有什么想法我可以获得更多信息,甚至解决方案?

ruby webkit ruby-on-rails ruby-on-rails-3 capybara-webkit

18
推荐指数
2
解决办法
6212
查看次数

Cordova/Phonegap:实时更新代码库

我们将Cordova与AngularJS一起用于iOS和Android应用程序.

iOS的一大缺点是Apple的审核时间很长.在Google的Playstore中,您的应用几乎可以立即使用,也可以在几小时内使用.但是,Apple需要很长时间来审核您的应用,即使它只是一个小小的变化.

所以我在想,如果有办法支持某种实时更新.
这意味着,我可以使用新代码库提供ZIP文件或其他内容,我的应用程序会检查更新,然后安装新文件.

我从appmobi读过一些东西,但有没有开源解决方案?

android ios angularjs cordova

13
推荐指数
2
解决办法
5691
查看次数

GraphQL API 中的 HTTP 状态代码处理

很多资源都说,GraphQL 应该始终以 200 状态代码响应,即使发生错误:

因为 GraphQL 可以在一个响应中返回多个响应,所以这是有道理的。当用户在一个请求中请求两个资源,并且只能访问第一个资源时,您可以发回第一个资源并forbidden为第二个资源返回错误。

然而,这只是我在阅读多个 GraphQL 库和博客文章的文档的过程中想到的。我在官方规范中没有找到任何关于 HTTP 状态代码的信息,这里是https://spec.graphql.org/或这里是https://graphql.org/

所以我还有几个问题:

  1. 如果出现意外的服务器错误,是否可以返回 HTTP 500 状态代码?
  2. 如果凭据错误,是否可以返回 HTTP 401 状态代码?
  3. 我是否应该像这样在 GraphQL 响应的键中包含潜在的HTTP 状态代码errors
{
  "errors" => [{
    "message" => "Graphql::Forbidden",
    "locations" => [],
    "extensions" => {
      "error_class" => "Graphql::Forbidden", "status" => 403
    }
  }]
}
Run Code Online (Sandbox Code Playgroud)
  1. 我应该将常见错误(如错误的字段名称)与 HTTP 状态代码匹配400 Bad Request吗?
{
  "errors" => [{
    "message" => "Field 'foobar' doesn't exist on type 'UserConnection'",
    "locations" …
Run Code Online (Sandbox Code Playgroud)

http-status-codes graphql

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

运行时尚未准备好进行调试

我在macOS Sierra上使用react native 0.42.3:

我使用启动我的应用程序react-native run-ios,然后按,然后Cmd-D选择"远程调试JS".之后,打开一个新的Chrome标签,通过切换到开发工具,我看到我的控制台到目前为止每个输出.

问题是:当我重新加载我的应用程序时,当调试器打开时,它会与臭名昭着的红色屏幕崩溃,说"运行时尚未准备好进行调试".

我发现很多关于使用react native进行调试的帖子,但是当你尝试重新加载它时似乎没有解决问题.

debugging ios google-chrome-devtools react-native

11
推荐指数
3
解决办法
9300
查看次数