小编Eva*_*ice的帖子

用于解析CSV数据的Javascript代码

有人知道我在哪里可以找到一些解析CSV数据的JavaScript代码吗?

javascript csv

202
推荐指数
8
解决办法
31万
查看次数

什么是WPF/XAML的开源替代品?

如果我们从HTML/CSS中学到了什么,那么声明性语言(如XML)可以很好地描述用户界面,因为:

  1. 构建可以有效模板化代码的代码预处理器很容易.
  2. 代码是一个定义良好的结构良好(理想情况下)格式,因此很容易解析.
  3. 有效解析或爬网基于XML的源文件的技术已经存在.
  4. UI脚本代码变得更加简单易懂.
  5. 它很简单,设计师可以自己设计界面.
  6. 程序员很擅长创建UI,因此对于设计人员来说应该很容易.

我最近看了一下WPF应用程序的内容(即XAML),它看起来非常熟悉HTML中使用的声明性语言风格.

桌面UI开发的当前状态在很大程度上是分数化的,否则在图形用户界面设计领域(IE.GTK,XUL,Qt,Winforms,WPF等)中将没有那么多的重复工作.

仅有Python的45个GUI平台

什么是代表这些特征的开源GUI:

  • 标准化
  • 平台独立
  • 声明性标记语言
  • 语言不可知论者

WPF,或更具体地说,XAML似乎是朝着正确方向迈出的可能的一步.

更新:

非常感谢您的信息,请保持信息.以下是我从评论和答案中收集的选项.

GladeXML

  • 编辑:Glade界面设计师
  • OS平台:全部
  • GUI平台:GTK +
  • 语言:C(libglade),C++,C#(Glade#),Python,Ada,Pike,Perl,PHP,Eiffel,Ruby

XRC(XML资源)

基于XML的格式,不是免费的,不是跨平台的,也不是特定于语言的

XUL

  • 编辑:任何基本的文本编辑器
  • OS平台:运行支持XUL的浏览器的任何操作系统
  • GUI平台:Gecko引擎?
  • 语言:C++,Python,Ruby作为插件语言而不是基础语言

注意:我不确定XUL是否值得在此列表中提及,因为它不是桌面GUI语言,而是更多的make-webapps-on-the-desktop语言.另外,它需要浏览器才能运行.IE,它是'用于桌面的DHTML'.

CookSwing

XAML(月光)

  • 编辑:MonoDevelop
  • OS平台:仅限Linux和其他基于Unix/X11的操作系统
  • GUI平台:GTK +
  • 语言:.NET

注意:XAML不是纯粹的开源格式,因为Microsoft控制其使用条款,包括随时更改条款的权利.月光不能合法地在Windows或Mac上运行.此外,唯一免于法律诉讼的平台是Novell.请参阅此内容 …

wpf user-interface xaml open-source declarative-programming

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

如何覆盖Python导入?

我正在研究pypreprocessor,这是一个采用c风格指令的预处理器,我已经能够使它像传统的预处理器一样工作(它是自耗的,并且即时执行后处理代码),除了它打破了库进口.

问题是:预处理器运行文件,处理它,输出到临时文件,exec()临时文件.导入的库需要处理稍有不同,因为它们不会被执行,而是被加载并且可以被调用者模块访问.

我需要做的是:中断导入(因为预处理器在导入过程中运行),将后处理代码作为tempModule加载,并用tempModule替换原始导入以欺骗调用脚本认为tempModule是原始模块的导入.

到目前为止,我到处搜索,没有解决方案.

这个Stack Overflow问题是我到目前为止提供答案的最接近的问题: 在Python中覆盖名称空间

这就是我所拥有的.

# Remove the bytecode file created by the first import
os.remove(moduleName + '.pyc')

# Remove the first import
del sys.modules[moduleName]

# Import the postprocessed module
tmpModule = __import__(tmpModuleName)

# Set first module's reference to point to the preprocessed module
sys.modules[moduleName] = tmpModule
Run Code Online (Sandbox Code Playgroud)

moduleName是原始模块的名称,tmpModuleName是后处理代码文件的名称.

奇怪的是这个解决方案仍然完全正常运行,好像第一个模块完成正常加载一样; 除非你删除最后一行,否则你会得到一个模块未找到错误.

希望Stack Overflow上有人比我更了解进口,因为这个让我难过.

注意:我只会授予一个解决方案,或者,如果在Python中无法做到这一点; 最好,最详细的解释为什么这不是不可能的.

更新:对于任何感兴趣的人,这是工作代码.

if imp.lock_held() is True:
    del sys.modules[moduleName]
    sys.modules[tmpModuleName] = __import__(tmpModuleName)
    sys.modules[moduleName] = __import__(tmpModuleName)
Run Code Online (Sandbox Code Playgroud)

'imp.lock_held'部分检测模块是否作为库加载.以下几行完成其余的工作.

python import preprocessor overriding

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

Angular2中的更改未更新视图

我已经开始探索Angular2(我将使用Angular1和一些React背景),我遇到了问题.

我想将某些击键绑定到组件中的操作,因此我决定使用Angular2生命周期来绑定/取消绑定操作.

但是,如果我在Mousetrap回调中执行某些操作,它会起作用,但它不会呈现,并且在运行摘要周期之前不会显示更改.

我是否需要显式运行某些内容来更新视图

有人可以帮我弄清楚发生了什么吗?任何帮助将非常感激.


import {Component} from 'angular2/core';
const Mousetrap = require('mousetrap');

@Component({
  template: `<div>
    Video template: Mode {{ mode }}
    <input type="number" [(ngModel)]="mode"/>
  </div>`
})
export class Video {

  public mode: number;

  constructor() {
    this.mode = 0;
  }

  ngOnInit() {

    console.log('hello Video component');
    Mousetrap.bind('d', () => console.log('this.mode=', this.mode));
    Mousetrap.bind('i', () => this.incrementMode()); // doesn't work

    this.incrementMode(); // works
    this.incrementMode(); // works
    setTimeout(() => this.incrementMode(), 4000); // works

  }

  incrementMode() {
    console.log('incMode', this.mode++);
  };

  ngOnDestroy() {
    console.log('bye bye Video …
Run Code Online (Sandbox Code Playgroud)

angular

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

找不到模块'glob'

告诉我你需要什么额外的信息

我按照一个简单的指南来激活我的第一个角度2应用程序并在clr上执行以下操作:

npm i -g angular-cli    //(worked)

ng new ponyracer        //(error: Cannot find module 'glob')
ng serve                //(error: Cannot find module 'glob')

Cannot find module 'glob'
Error: Cannot find module 'glob'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (C:\Users\stavalfi\AppData\Roaming\npm\node_modules\angular-cli\addon\ng2\tasks\lib-install.js:11:19)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
Run Code Online (Sandbox Code Playgroud)

关于"ng new ponyracer"和"ng serve"命令的任何解释都会很棒.

谢谢,Stav

npm angular-cli angular

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

Angular2中的拦截器

我正在尝试在Angular2.beta.0上构建一个具有登录机制的演示应用程序,然后所有其他API调用将通过标头发送获取的会话令牌.

在角度1x中,我可以编写一个Interceptor,它会在单独的代码中将标记添加到http标头中,我想知道angular2是否有这种机制或任何其他推荐的方法来执行此操作.

angular

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

HTML DOM查找的时间复杂度是多少?

假设没有疯狂的优化(我正在看你Chrome).

我说的是原始的,讨厌的,不打破 - 不要修复它,即v6 javascript,成本.

下限是:

document.getElementById() 
Run Code Online (Sandbox Code Playgroud)

与:

document.getElementsByTagName('div') lookup.
Run Code Online (Sandbox Code Playgroud)

html javascript big-o dom time-complexity

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

使用ndb.KeyProperty如何引用相同的模型?

我有一个简单的场景,其中有一个User类,它有name,email和followers属性.

class User(ndb.Model):
    name = ndb.StringProperty(required = True)
    search_name = ndb.StringProperty(required = True)
    pw_hash = ndb.StringProperty(required = True)
    email = ndb.StringProperty()

    follows = ndb.KeyProperty(Follow, repeated=True)
    followers = ndb.KeyProperty(User, repeated=True)
Run Code Online (Sandbox Code Playgroud)

执行此操作时,我收到错误.

File "C:\ujjal\my project\cravel\code2\Users.py", line 46, in User
  followers = ndb.KeyProperty(User, repeated=True)
NameError: name 'User' is not defined
INFO     2012-09-11 11:45:23,953 dev_appserver.py:2967] "GET / HTTP/1.1" 500 -
Run Code Online (Sandbox Code Playgroud)

关于如何模仿"追随者"属性的任何建议都将受到高度赞赏.提前致谢

google-app-engine app-engine-ndb google-cloud-datastore

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

NDB中的一对多示例

我正在尝试创建像学生和科目一样的ndb.Model类

class Subject(ndb.Model):
     name = ndb.StringProperty()

class Student(ndb.Model):
    name = ndb.StringProperty()
    subject = ndb.KeyProperty(kind=Subject)
Run Code Online (Sandbox Code Playgroud)

一个学生可以有很多科目.如何在此模型中添加和存储这些内容.我找不到任何例子.对于String Property ..有字段属性,即repeat = true

如何实现这一点,并在网上有任何工作的例子.对不起,如果是重复的问题,但我尝试用我有限的技能来搜索这个论坛.

google-app-engine app-engine-ndb

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

CommonJS - 如何将jquery和jquery-plugin组合到$ namespace中

我正在尝试做的是调整我的jQuery插件以使用Node.js上的jQuery.

根据我的理解,CommonJS是最基本的形式,需要将一个库包装在一个闭包中,并且该闭包应该作为'exports'参数的参数提供.这样,代码整齐地包含在它自己的命名空间中(通过命名变量),并且不会污染全局命名空间.

jQuery本身应该属于'$'命名空间.

翼:

var $ = require(jquery);
Run Code Online (Sandbox Code Playgroud)

但我的插件也应该适合'$'命名空间.

插件代码:

(function( $ ) {
  // plugin code goes here
})(jquery);

exports.jquery = jquery // will this work?
Run Code Online (Sandbox Code Playgroud)

例如:

var $ = require(jquery);
$ = require(jquery-csv.js); // will this work?
Run Code Online (Sandbox Code Playgroud)

要在浏览器中工作,所有内容都设置为可以从'$'命名空间调用,即使我的模块设置为'$'的子命名空间(即'$ .csv').

是否有标准方法可以在单个命名空间上执行多个需求?如果没有,那么有一个可行的替代方案(在插件代码上做一个浅表复制)?

注意:匿名函数包装器遵循标准的jquery指南.

注意:此修复程序将应用于jquery-csv插件.

javascript jquery-plugins commonjs node.js

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