小编Chr*_*cho的帖子

C char数组初始化

我不确定在初始化后以下列方式在char数组中会出现什么.

1. char buf[10] = "";
2. char buf[10] = " ";
3.char buf[10] = "a";

对于情况2,我认为buf[0]应该是' ',buf[1]应该是'\0',从buf[2]buf[9]会随机内容.对于情况3,我认为buf[0]应该是'a',buf[1]应该是"\ 0",以及buf[2]buf[9]会随机内容.

那是对的吗?

对于案例1,将会是什么bufbuf[0] == '\0'从哪里buf[1]buf[9]随机内容?

c arrays buffer initialization char

100
推荐指数
4
解决办法
54万
查看次数

将表格传递给指令

我想将我的表单字段封装在一个指令中,所以我可以简单地这样做:

<div ng-form='myForm'>
  <my-input name='Email' type='email' label='Email Address' placeholder="Enter email" ng-model='model.email' required='false'></my-input>

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

如何访问myForm我的指令,以便进行验证检查,例如myForm.Email.$valid

angularjs angularjs-directive

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

如何在角度路由中传递查询字符串?

我正在使用AngularJS路由,我正在尝试查看如何使用查询字符串(例如, url.com?key=value).Angular不理解包含同名键值对的路由albums:

angular.module('myApp', ['myApp.directives', 'myApp.services']).config(
        ['$routeProvider', function($routeProvider) {
            $routeProvider.
            when('/albums', {templateUrl: 'albums.html', controller: albumsCtrl}).
            when('/albums?:album_id', {templateUrl: 'album_images.html', controller: albumsCtrl}).
            otherwise({redirectTo: '/home'});
        }],
        ['$locationProvider', function($locationProvider) {
            $locationProvider.html5Mode = true;
        }]
    );
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-routing

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

如何直接运行Python egg文件而不安装它们?

是否可以直接运行Python egg文件,因为您可以使用Java运行jar文件?

例如,使用Java,您可能会遇到以下情况:

$ java -jar jar-file
Run Code Online (Sandbox Code Playgroud)

python egg

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

使用ng-form进行角度ng-repeat,在控制器中访问验证

我正在尝试使用生成可编辑列表ng-repeat.我想提醒用户在继续之前更新任何编辑,因此我正在使用动态ng-form创建"嵌套"表单,因为文档说我可以对这些动态创建的输入使用验证.

虽然这似乎在HTML中工作,但我没有看到如何在控制器中访问那些动态创建的表单和相关的验证字段.具体来说,当用户更改输入时,我使用表单$ dirty属性调出一个按钮来告诉用户提交更改.到现在为止还挺好.但是,一旦提交了更改,我希望$setPristine()在该字段上指示已设置更改.在我允许提交主表单之前,可能还有其他方法可以确保在每个输入上提交更改,但这是我能想到的最好的方法.

不幸的是,即使文档说如果我将ng-form命名为它将传播到$scope对象,我找不到访问它的方法. $scope.dynamic_form未定义.

这是一个显示我的意思的plunker:

plnk

谢谢!

[编辑]只是为了添加问题,这个特定示例的工作原理是添加到ng-click动态创建的输入上:

ng-click="namesForm.name.$setPristine();clean()"
Run Code Online (Sandbox Code Playgroud)

但我仍然无法访问控制器中动态创建的表单.例如,我希望添加一个观察程序,namesForm.name.$pristine以便我可以设置mainForm.$setValidity(false)子表单,$dirty以防止用户提交主表单,直到所有子表单更改都已提交.

简而言之,问题是如何在父控制器中访问动态创建的嵌套ngForm的验证值?

validation angularjs angularjs-ng-repeat angularjs-ng-form

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

没有req.session.save(),会话将不会保存在Node.js中

我正在使用Node.js,Express和Redis构建一个用于会话管理的网站.无论出于何种原因,如果我有一个会话变量(isLoggedIn在这个例子中),并刷新页面,变量就不会被保存,但是,如果我req.session.save()在设置变量后调用它,它会被保存到Redis(redis-cli)监视器显示这一点 - 没有调用save()显示变量不在那里,而调用save()显示它).

我正在使用它来设置和启动服务器:

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var swig = require('swig');
var session = require('express-session')
var RedisStore = require('connect-redis')(session);

var routes = require('./routes/index');
var users = require('./routes/users');

var app = express();

// Configure the favicon first. This avoids other middleware from processing the request if we know the request is for …
Run Code Online (Sandbox Code Playgroud)

javascript session node.js express

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

AngularJS:$ viewContentLoaded在部分视图出现之前触发

对于局部视图,我想做一些我通常会做的JavaScript事情$(document).ready(function() {...}),例如将venet侦听器绑定到元素.我知道这对AngularJS和加载到"根"视图中的部分视图不起作用.

因此,我向监听$viewContentLoaded事件的控制器添加了一个监听器.调用侦听器的函数,因此事件被触发但在我看来好像是在呈现局部视图之前.当我在侦听器的函数中设置断点并使用firebug调试它时,我也没有看到元素,函数中的jquery选择也没有找到局部视图的元素.

这就是控制器的样子:

angular.module('docinvoiceClientAngularjsApp')
  .controller('LoginController', function ($scope, $rootScope) {

$scope.$on('$viewContentLoaded', function(event) {
  console.log("content loaded");
  console.log($("#loginForm"));   // breakpoint here 
});

[...]
Run Code Online (Sandbox Code Playgroud)

我想我做错了,因为如果这是一个常见的错误,必须在stackoverflow上发布更多帖子.

当我使用ui-routerui-view时,我会给你一个路由文件的摘录:

angular
  .module('docinvoiceClientAngularjsApp', [
    'ui.router',
    'ngAnimate',
    'ngCookies',
    'ngResource',
    'ngMessages',
    'ngRoute',
    'ngSanitize',
    'ngTouch'
  ])
 .config(function ($routeProvider, $stateProvider) {
    $stateProvider
    .state('login', {
        url: '/',
        templateUrl: 'components/login/loginView.html',
        controller: 'LoginController'
    })
    .run(['$state', function ($state) {
        $state.transitionTo('login');
    }])

 [...]
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.谢谢和亲切的问候

更新1:我将错误删除到以下用例:loginView.html如下所示:

<div id="loginContainer" style="width: 300px">
  <form id="loginForm" ng-submit="login(credentials)" ng-if="session.token == undefined">

[...]
Run Code Online (Sandbox Code Playgroud)

一旦我ng-if …

jquery dom ready angularjs angular-ui-router

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

OSX中的python crypt

我有一个Django应用程序,它重置在Ubuntu机器上运行的unix用户密码,但我的开发环境是OS X,我遇到了这种烦人的情况:

OS X:

>>> import crypt
>>> crypt.crypt('test','$1$VFvON1xK$')
'$1SoNol0Ye6Xk'
Run Code Online (Sandbox Code Playgroud)

Linux的:

>>> import crypt
>>> crypt.crypt('test','$1$VFvON1xK$')
'$1$VFvON1xK$SboCDZGBieKF1ns2GBfY50'
Run Code Online (Sandbox Code Playgroud)

从阅读pydoc开始crypt,我看到它使用了特定于操作系统的crypt实现,因此我还在两个系统中测试了以下代码,结果与Python相同:

#include <unistd.h>

int main() {
        char *des = crypt("test","$1$VFvON1xK$ls4Zz4XTEuVI.1PnYm28.1");
        puts(des);
}
Run Code Online (Sandbox Code Playgroud)

我如何让OS X的crypt()实现产生与Linux相同的结果crypt()
为什么Python实现没有涵盖这一点(正如我对跨平台部署的这种情况所期望的那样)?

c python encryption

10
推荐指数
2
解决办法
2882
查看次数

使用Connect对会话ID进行混淆

我一直在观察顺序请求的会话ID,并观察了一些我无法解释的事情:

1)当调用req.sessionIDreq.cookies["connect.sid"]该值不同(它出现request.sessionID奇迹般地返回来自其相关响应SID -这似乎是不可能的我).

从我对Connect源代码的理解,req.sessionID是cookie密钥的同义词,为什么会有区别?

2)我第一次从节点服务器发出请求时,会向浏览器发出一个SID(让我们调用这个SID1).下次连接时,浏览器会发出SID2.第三次及以后我再次​​发布SID2.为什么node + Connect在安定之前会发出两个会话ID?

node.js

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

模拟Python可迭代用于Sphinx

我正在使用Sphinx来记录依赖于wxPython的项目,使用autodocs扩展,以便它自动生成来自docstrings的页面.该autodocs扩展自动每个模块你在工作import,这是很好的为我们的软件包,但就是一个问题,当我们import一个大的外部库像wxPython的.因此,不是让它从wxPython生成所有内容,而是使用unittest.mock 库模块(以前是外部包Mock).最基本的设置适用于wxPython的大多数部分,但是我遇到了一种我看不到简单方法的情况(可能是因为我本周对模拟的相对不熟悉).

目前,我的conf.py文件结尾有以下内容:

MOCK_MODULES = ['wx.lib.newevent']  # I've skipped irrelevant entries...

for module_name in MOCK_MODULES:
    sys.modules[module_name] = mock.Mock()
Run Code Online (Sandbox Code Playgroud)

对于所有wxPython模块,但是wx.lib.newevent,这非常有效.但是,这里我使用newevent.NewCommandEvent()函数[1]为特定场景创建事件.在这种情况下,我会在NewCommandEvent()通话时收到警告TypeError: 'Mock' object is not iterable.

虽然我可以看到如何使用补丁来处理这个以构建单元测试(我将在下个月进行!),我很难看到如何在我的Sphinx配置中将它集成到一个简单的级别.

编辑:我刚尝试使用MagicMock(); 这仍然会在同一点产生错误,尽管它现在产生了ValueError: need more than 0 values to unpack.这似乎是朝着正确方向迈出的一步,但我仍然不确定如何处理这个模块的明确设置.也许这是最好的解决方案?


脚注

  1. 是的,这是一个函数,命名约定使它看起来像一个类; wxPython遵循整个wxWidgets工具包中使用的C++命名约定.

python mocking python-sphinx python-mock

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