小编Jus*_*oel的帖子

使用ImageMagick"Diff"图像

如何获得两个图像之间的差异?我有原始图像.有人写过原始图像的精确副本.现在,我需要比较原始图像和书面图像,并提取图像格式的书写.

示例:我有一张房子的照片.有人拿了一份副本,在副本上写了"你好!".我想以某种方式比较两张照片,删除房子,并留下"Hello!"字样的图像.

ImageMagick有可能吗?我知道有办法获得图像之间的统计差异,但这不是我想要的.

diff image imagemagick image-processing difference

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

命令行中的PHP服务器名称

有没有办法从命令行检测运行PHP脚本的服务器的名称?

对于通过HTTP访问的PHP,有很多方法可以做到这一点.但似乎没有办法为CLI执行此操作.

例如:

$_SERVER['SERVER_NAME'] 
Run Code Online (Sandbox Code Playgroud)

在命令行中不可用.

php command-line command-line-interface

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

Eclipse - 忽略整个目录

我使用Aptana Studio(基于Eclipse).我试图让Eclipse完全忽略项目中的整个目录.我的意思是完全.我不希望它显示在项目文件夹中.我不希望Eclipse甚至意识到它存在.

不幸的是,我所有将其添加为过滤器的努力都不起作用.请参阅http://forums.aptana.com/viewtopic.php?f=14&t=8340#p33714.我认为过滤器只会阻止文件夹显示在项目显示中.它不会让Eclipse实际查看该文件夹中的所有文件以获取代码帮助等.

我的问题是该目录有数千个文本文件.因此,每次Eclipse打开或刷新此项目时,它都会分析所有这些文件.

我怎么能阻止这个?

aptana eclipse

22
推荐指数
3
解决办法
1万
查看次数

获取解决的路径参数

我因为无法理解Angular-UI UI-Router而被杀死.我的状态定义如下:

$stateProvider
    .state('member', {
        url: '/member/:membersId',
        templateUrl: 'templates/member.html',
        resolve : {
            // From examples for testing
            simpleObj:  function(){
                return {value: 'simple!'};
            },

            memberDetails : function(FamilyService,$state) {

                return FamilyService.getMember($state.current.params.membersId);

            }
        },
        controller: 'MemberController'
    });
Run Code Online (Sandbox Code Playgroud)

由于文档说$ stateParams不可用,我使用$ state.current.params.应该没事.相反,我得到了死气沉沉.我无法访问membersId以拯救我的生命.

为了测试我的服务并确保它不是问题,我在membersId中硬编码,控制器获得memberDetails结果以及simpleObj结果.所以,服务和控制器,工作得很好.

硬编码的示例:

$stateProvider
    .state('member', {
        url: '/member/:membersId',
        templateUrl: 'templates/member.html',
        resolve : {
            // From examples for testing
            simpleObj:  function(){
                return {value: 'simple!'};
            },

            memberDetails : function(FamilyService,$state) {

                return FamilyService.getMember('52d1ebb1de46c3f103000002');

            }
        },
        controller: 'MemberController'
    });
Run Code Online (Sandbox Code Playgroud)

尽管文档说你无法使用$ stateParams,但我还是试过了.它也不起作用.

return …

angularjs angular-ui-router

19
推荐指数
1
解决办法
2万
查看次数

从指令中更改属性

使用AngularJS.我有一个指令,我希望有两种方式的数据绑定.该指令将具有一个名为"activate"的属性.最初,"激活"的值将为"1".

该指令的链接功能将检查"activate"是否等于"1".如果是这样,它会将"激活"改为0,但做其他一些事情.

之后,如果我希望指令再次执行某些操作,在控制器中,我会再次将"激活"更改为"1".由于指令有手表,它将重复循环.

不幸的是,每次我这样做,我得到的'表达'0'与指令'testDirective'一起使用是不可分配的!" 或"不可分配的模型表达式:1(指令:testDirective)".

这是HTML:

<body ng-app="app">
    <test-directive activate="1"></test-directive>    
</body>
Run Code Online (Sandbox Code Playgroud)

这是JS:

var app = angular.module('app', []);


app.directive('testDirective', function() {
    return {
        restrict: 'E',
        scope: {
            activate : '='
        },


        link: function( scope, elem, attrs, controller ) {
            var el = elem[0];

            var updateContent = function() {
                el.innerText = 'Activate=' + scope.activate;
            };

            updateContent();
            attrs.$observe( 'activate', function() {
                console.log('Activate=' + scope.activate);
                if( scope.activate == '1') {
                    scope.activate = '0'
                    updateContent();
                }
            });
        }
    }
});      
Run Code Online (Sandbox Code Playgroud)

这里是jsFiddle:http://jsfiddle.net/justbn/mgSpY/3/

为什么我不能更改存储在指令属性中的值?我正在使用双向绑定. …

angularjs

6
推荐指数
1
解决办法
1万
查看次数

AngularJS Karma测试中的jQuery触发事件

我正在尝试测试我正在编写的新指令.但是,我似乎无法在Karma/Jasmine中使用jQuery触发keydown事件.

以下是测试的简化版本:

'use strict';

describe('', function() {

  var $compile;
  var $scope;

  beforeEach(inject(function(_$compile_, _$rootScope_) {
    $compile = _$compile_;
    $scope = _$rootScope_.$new();
  }));

  describe('Getting Trigger To Work', function() {

    it('Should Trigger a KeyDown Event', function() {

      var el = $compile('<form name="testing"><input id="field1" name="testfield" ng-model="result" type="text" ng-minlength="5" ng-maxlength="50"/></form>')($scope);
      console.log(el);

      var inputEl = el.find('input');
      console.log(inputEl);

      var e = $.Event('keydown');
      e.which = 65;

      inputEl.trigger(e);

    });

  });

});
Run Code Online (Sandbox Code Playgroud)

我的业力配置包括AngularJS和jQuery.这是部分:

//
files: [
  'lib/angular.js',
  'lib/angular-mocks.js',
  'lib/jquery-1.10.2.min.js',
  'test/**/*Spec.js'
],
Run Code Online (Sandbox Code Playgroud)

当我运行测试时,我得到一个错误,我的input元素没有触发器方法:

INFO [watcher]: Changed file "/Volumes/Macintosh HD/dev_libraries/val-on-timeout/test/valOnTimeoutSpec.js".
LOG: Object{0: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jasmine angularjs karma-runner

6
推荐指数
1
解决办法
1万
查看次数

获取带有mysqli的预处理语句的实际SQL?

使用mysqli扩展时,是否有任何方法可以获取由于准备语句而产生的实际SQL?

我的问题:我正在使用准备好的语句。在所有情况下,他们都应更新一条记录。我没有发现任何错误。但是,当我检查受影响的行时,没有任何行。因此,我想查看由于prepare语句而执行的实际SQL。

有什么办法吗?我检查了mysqli参考文档,但它们似乎没有任何内容。

mysqli prepared-statement

5
推荐指数
1
解决办法
6263
查看次数

ng-submit不会阻止提交

SO上有很多类似的问题.我经历了很多,但没有发现我的问题.

我有一个正在使用的表单ng-submit.不幸的是,即使表单无效,按Enter或单击提交仍然有效.该ng-submit方法被调用.

CodePen示例:http://codepen.io/calendee/pen/tgFhq

<form name="testForm" novalidate ng-submit="submit()">

  <label for="firstname">First Name:</label>
  <input type="text" name="firstname" ng-model="data.firstname" required="true" ng-minlength="4" ng-maxlength="10">

    <div class="errors">
      <p>firstname Errors:</p>
      <p ng-show="testForm.firstname.$error.required">firstname is required</p>
      <p ng-show="testForm.firstname.$error.minlength">firstname is too short</p>
      <p ng-show="testForm.firstname.$error.maxlength">firstname is too long</p>
    </div>              

    <label for="lastname">Last Name:</label>
      <input type="text" name="lastname" ng-model="data.lastname" ng-required="true" ng-minlength="4" ng-maxlength="10">

    <div class="errors">
      <p>lastname Errors:</p>
      <p ng-show="testForm.lastname.$error.required">lastname is required</p>
      <p ng-show="testForm.lastname.$error.minlength">lastname is too short</p>
      <p ng-show="testForm.lastname.$error.maxlength">lastname is too long</p>
    </div>              


  <button class="button button-balanced" type="submit">Submit</button>

</form>
Run Code Online (Sandbox Code Playgroud)

如果我更改表单,ng-form即使表单有效,提交事件也根本不起作用.

CodePen示例: …

forms validation angularjs

4
推荐指数
1
解决办法
2442
查看次数

React Native 测试按钮按下

我正在尝试测试从 React NativeButton元素调用组件方法。

由于某种原因,除非我同时执行这两件事,否则测试会失败。

wrapper.find(Button).first().props().onPress();
wrapper.find(Button).first().simulate('press');
Run Code Online (Sandbox Code Playgroud)

如果我注释掉任何一行,测试就会失败,表明expect(instance.toggleEmailPasswordModal).toHaveBeenCalled();失败。

这是我的组件:

import React, { Component } from 'react';
import { Button, SafeAreaView, Text } from 'react-native';

import EmailPasswordModal from './EmailPasswordModal/EmailPasswordModal';

class Login extends Component {
  state = {
    emailPasswordModalVisible: false,
  };

  toggleEmailPasswordModal = () => {
    console.log('TOGGLED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!');
    const { emailPasswordModalVisible } = this.state;
    this.setState({ emailPasswordModalVisible: !emailPasswordModalVisible });
  };

  render() {
    const { emailPasswordModalVisible } = this.state;
    return (
      <SafeAreaView>

        <EmailPasswordModal
          visible={ emailPasswordModalVisible }
          close={ this.toggleEmailPasswordModal }
        />

        <Text>Login Screen!</Text> …
Run Code Online (Sandbox Code Playgroud)

jestjs react-native

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

MySQL存储过程:在游标声明中使用变量作为数据库名称

我需要使用一个变量来指示在游标声明中要查询的数据库.以下是代码的简短片段:

CREATE PROCEDURE `update_cdrs_lnp_data`(IN dbName VARCHAR(25), OUT returnCode SMALLINT)

cdr_records:BEGIN

DECLARE cdr_record_cursor CURSOR FOR 

 SELECT cdrs_id, called, calling FROM dbName.cdrs WHERE lrn_checked = 'N';

 # Setup logging
 DECLARE EXIT HANDLER FOR SQLEXCEPTION
 BEGIN
      #call log_debug('Got exception in update_cdrs_lnp_data');
      SET returnCode = -1;
 END;
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我正在尝试使用变量dbName来指示查询应在哪个数据库中发生.但是,MySQL不允许这样做.我也尝试过这样的事情:

CREATE PROCEDURE `update_cdrs_lnp_data`(IN dbName VARCHAR(25), OUT returnCode SMALLINT)

cdr_records:BEGIN

DECLARE cdr_record_cursor CURSOR FOR 

        SET @query = CONCAT("SELECT cdrs_id, called, calling FROM " ,dbName, ".cdrs WHERE lrn_checked = 'N' ");
        PREPARE STMT FROM @query;
        EXECUTE STMT;

 # …
Run Code Online (Sandbox Code Playgroud)

mysql variables stored-procedures cursor

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

socket.io中的命名空间列表

有没有办法获得套接字上注册的所有命名空间的列表?

例如,假设某个客户端连接到命名空间:`socket = io('/ some-nsp');

它们现在在自动命名空间中,因为socket.io不会阻止创建随机命名空间.

如果我想查看所有现有命名空间的列表并断开这些用户,我怎么能得到这样的列表.

我试过了io.nsps,但这只是一个循环的垃圾清单.

是否有"官方"方式来获取套接字上注册的所有命名空间的列表?我不想要一个客户列表.我只想要一个命名空间列表.

socket.io

2
推荐指数
1
解决办法
2114
查看次数

PhoneGap访问源限制不起作用

我正在使用Cordova 3.3.0开发iOS应用程序.在我的config.xml中,我有以下内容:

<access origin="https://*.kidsintouch.com" />

从理论上讲,这应该会阻止我的应用访问尝试加载到该域外的任何资源.

但是,当我在模拟器中或通过Xcode在设备上运行应用程序时,我可以从任何域访问图像.

PhoneGap文档说:

与上面提到的Android平台不同,通过iOS上的href超链接导航到非白名单域可以防止页面打开.

但是,我仍然可以在应用程序的页面上放置外部链接并单击它.

当我在Xcode中运行应用程序时,我看到以下控制台输出:

2014-01-02 06:47:16.469 Kids In Touch[10454:60b] Multi-tasking -> Device: YES, App: YES 2014-01-02 06:47:16.480 Kids In Touch[10454:60b] Unlimited access to network resources 2014-01-02 06:47:17.276 Kids In Touch[10454:60b] Resetting plugins due to page load. 2014-01-02 06:47:18.157 Kids In Touch[10454:60b] Finished load of: file:///var/mobile/Applications/8DBB3EE2-A33D-4523-A51F-B72AJ21E5338/Kids%20In%20Touch.app/www/index.html#/intro 2014-01-02 06:47:19.629 Kids In Touch[10454:60b] Resetting plugins due to page load.

Unlimited access to network resources清楚地表明什么是错的.当我点击Google的虚假链接时,我放入应用程序,控制台显示:

2014-01-02 06:47:20.755 Kids In Touch[10454:60b] Finished load of: https://www.google.com/

显然,我的 …

ios cordova

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