小编Eda*_*aor的帖子

AngularJS:创建映射到REST资源的对象(ORM样式)

我对AngularJS很新,但是我还不清楚如何将它与我的服务器的REST Api后端联系起来.

例如,假设我有一个"图像"资源,我通过GET-ing获得:myApi/image/1 /.这将返回带有各种字段的json对象.让我们说:

{url: "some/url", date_created: 1235845}
Run Code Online (Sandbox Code Playgroud)

现在,我希望在我的AngularJS应用程序中使用此"Image"对象进行某种表示.这种表示不仅仅是字段的映射 - 我想添加"辅助"函数,例如将date_create字段转换为人类可读的字符的函数.

我知道$ resource服务,但是我不清楚我需要做什么才能在Angular中创建一个基本的"类",它使用Resource来获取JSON对象,然后通过添加各种辅助函数来增强它.

奖励积分:

我也不清楚如何在模型之间添加"关系".例如,我可能有一个"用户"资源,其中嵌入了一个"图像"资源,我想要获取用户资源,但能够在"图像"部分调用"图像"辅助函数该模型.

javascript orm web-applications angularjs

64
推荐指数
4
解决办法
5万
查看次数

我应该使用哪种Stack Overflow-style Markdown(WMD)JavaScript编辑器?

背景

我正在开发一个需要用户输入内容的应用程序,我决定使用Stack Overflow风格的Markdown编辑器.在研究了这个主题的最后几天之后,我意识到基本WMD编辑器有很多分叉,一些有一些基本的增强功能,有些与Stack Overflow有很大不同.

由于这将是应用程序的核心,我想从最好的代码库开始.如果有人能够推荐哪种解决方案最适合我的需求,我会很高兴.

以下是要求,以及我已经设法找到的内容.我希望这个问题可以帮助我决定使用哪个版本,也许可以帮助我发现一个更符合我需求的端口.


我的项目的要求

  • 实时预览
  • 同一页面上的多个编辑器(我不知道提前多少,因为用户可以动态添加另一个编辑框).
  • 能够使用额外的按钮进行扩展(我想要一个按钮来上传图片,而不是仅仅添加一个imgURL).
  • 能够动态显示/隐藏编辑框(并且只能看到预览框).
  • 不是绝对必须,但我更喜欢坚持Stack Overflow的外观和感觉,因为它是众所周知的.
  • 不知道这是否重要,但后端是用Django编写的.

编辑我看过了

以下是我看过的一些代码库,有了想法.显然,我可能会错过另一种解决方案.

  • derobins版本.据我所知,这是官方Stack Overflow版本.好像它不支持一页上的多个编辑器.
  • jQuery.MarkEdit.看起来非常好,但与Stack Overflow版本完全不同.
  • MooWMD.看起来像现在的赢家,但我有点担心,因为它看起来不像MarkEdit那么活跃/可攻击.
  • 大规模杀伤性武器的新版本.不确定,看起来像一个没有太大用处的旧代码库.
  • SocialSite分支.似乎它不适合公众使用.

javascript django markdown editor wmd

62
推荐指数
3
解决办法
7905
查看次数

Mercurial中Revert和Update之间的区别

我刚刚开始使用Mercurial,而且我遇到了一些我不理解的东西.

我对几个文件进行了更改,现在我想撤消对其中一个文件所做的所有更改(即返回上一次提交一个特定文件).

据我所见,我想要的命令是还原的.

在我链接的页面中,有以下声明:

但是,此操作不会更改工作目录的父修订版(或未提交合并时的修订版).要撤消未注册的合并,可以使用"hg update -C -r".这将把父母重置为第一个父母.

我不明白两者之间的区别(hg revertvs. hg update -C -r).任何人都可以告诉我这个区别吗?在我的情况下,我真的希望还原或更新摆脱我对文件所做的更改吗?

version-control mercurial

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

使用模糊搜索在Vim中打开文件

我正在寻找一种方法让Vim能够通过模糊搜索其名称来打开文件.

基本上,我希望能够定义一个项目,然后有一个快捷方式,它将为我提供一个键入文件名的位置,并且如果有任何字母匹配则匹配.

这种功能存在于我见过的大多数编辑中,但对于我的生活,我无法理解如何让Vim这样做.

请注意,我寻找的东西,不会要求我有什么想法,凡在我目录树中的文件.我只是希望能够通过文件名打开它,无论它在哪个目录中.

谢谢

vim text-editor editor

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

如何在多线程应用程序中使用SQLite?

我正在开发一个使用SQLite作为数据库的应用程序,并且在理解如何在多个线程中使用它时遇到一些麻烦(遗憾的是,没有其他Stack Overflow问题对我有帮助).

我的用例:数据库有一个表,我们称之为"A",它有不同的行组(基于其中一个列).我有应用程序的"主线程",它从表A中读取内容.此外,我偶尔决定更新某一组行.为此,我想生成一个新线程,删除该组的所有行,然后重新插入它们(这是在我的应用程序上下文中执行此操作的唯一方法).这可能同时发生在不同的组中,因此我可能有2个以上的线程尝试更新数据库.

我在每个线程的更新周期开始时使用来自每个线程,IE的不同事务,我有一个开始.实际上,每个线程实际上做的是调用"BEGIN",从数据库中删除它需要"更新"的所有行,然后使用新值再次插入它们(这是必须在我的上下文中完成的方式)应用).

现在,我试图了解如何实现这一点.我试过阅读(Stack Overflow上的其他答案,SQLite网站),但我还没有找到所有的答案.以下是我想知道的一些事情:

  1. 我是否需要调用"open"并从每个线程创建一个新的sqlite结构?
  2. 我是否需要为所有这些添加任何特殊代码,或者是否足以生成不同的线程,更新行,这很好(因为我使用不同的事务)?
  3. 我看到有些东西在讨论不同的锁类型,以及我可能会因调用某些API而收到"SQLite忙"的事实,但老实说,当我需要考虑所有这些时,我没有看到任何完全解释的引用.我需要吗?

如果有人能够回答问题/指出我的良好资源方向,我将非常感激.

更新1:从我到目前为止阅读的所有内容看来,无论如何你都不能有两个线程要写入数据库文件.

请参阅:http://www.sqlite.org/lockingv3.html.在3.0节中:RESERVED锁意味着该进程计划在将来的某个时刻写入数据库文件,但它当前只是从文件中读取.虽然多个SHARED锁可以与单个RESERVED锁共存,但一次只能激活一个RESERVED锁.

这是否意味着我每次只能生成一个线程来更新一组行?即,有某种轮询线程决定我需要更新一些行,然后创建一个新线程来执行它,但一次不会超过一个?因为它看起来像我创建的任何其他线程将只获得SQLITE_BUSY,直到第一个线程完成,无论如何.

我理解正确吗?

顺便说一句,感谢到目前为止的答案,他们帮助了很多.

c++ sqlite multithreading

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

在webapp中存储用户上传文件的最佳方式

我正在创建一个Web应用程序(在Django中),它需要允许用户上传文件(特别是图像,稍后会为其他用户显示).我正在尝试了解存储这些上传文件的最佳方法.

从相关问题中,我看到有人建议给文件一个服务器生成的unqiue id,然后创建一个将id映射到原始文件名的DB表.

从安全性,效率或任何其他角度来看,这是存储用户上传文件的最佳方法吗?我应该为每个文件存储什么样的信息?

接受用户上传的文件是否还有其他最佳做法?(除了确保它们真的是图像并检查它们的大小,显然)?

编辑:关于我需要的更多信息.我正在谈论用户需要上传并嵌入他们创建的内容的图像文件.想象一下它就像StackOverflow的答案(或博客文章):有人上传了一张图片,只要有人看到答案,就必须存储和显示.

谢谢,
Edan
注意:有几个相关的问题,但我没有找到一个要求比较存储用户上传文件的方法.

database django upload file-upload

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

在Amazon Web Services上开始使用Django

我开始将一些应用程序迁移到Amazon Web Services.我的应用程序是运行在MySQL上的Python/Django应用程序.

我计划将EC2和EBS用于初学者.

我正在寻找一些东西:

  1. 一个很好的分步教程,解释如何在AWS上部署Django.我环顾四周,但大多数教程都来自2年前,所以我担心它们已经过时了.

  2. 我想了解,我应该从哪个AMI开始?我知道有一个BitNami AMI预先配置了Django的良好状态,但我看到很多其他消息来源说你应该从一个基本的(干净的)linux盒开始并自己安装一切.为什么?

  3. 还有其他重要的事情我应该考虑一下吗?我的系统管理经验很少(应用程序目前在WebFaction上),所以我不确定我应该考虑什么.

一些额外的要点:

  • 我计划在同一个EC2实例上运行多个应用程序,我认为这可能吗?
  • 我现在正在使用virtualenv来分隔各种应用程序,我想我可以继续在EC2实例上做同样的事情吗?

谢谢!

python django amazon-ec2 amazon-ebs amazon-web-services

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

Microsoft UI自动化的教程/参考

我最近使用Microsoft Accessibility API实现了一个程序,但后来被告知新的UI Automation已经取代了它.看起来下次学习这项工作的新工具是一项很好的投资.

那么,编程UI自动化的最佳参考是什么,希望是实际的教程呢?具体来说,我正在寻找编程"客户端"应用程序,即那些访问其他程序UI的应用程序,而不仅仅是提供对我自己的UI的访问.

accessibility ui-automation

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

在Django中定义常量

我想在Django项目中有一些常量.例如,假设一个常量调用MIN_TIME_TEST.

我希望能够在两个地方访问此常量:从我的Python代码中,以及在任何模板中.

这样做的最佳方法是什么?

编辑: 为了澄清,我知道模板上下文处理器,只是把东西放在settings.py或其他文件中,只是导入.

我的问题是,如何在不违反"不要重复自己"规则的情况下结合这两种方法?根据目前为止的答案,这是我的方法:

我想创建一个名为global_constants.py的文件,它将包含一个常量列表(类似的东西MIN_TIME_TEST = 5).我可以import将此文件放入任何模块中以获取常量.

但是现在,我想创建一个返回所有这些常量的上下文处理器.我怎样才能自动执行此操作,而无需在字典中再次列出它们,例如John Mee的答案?

python django constants

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

使用常量作为Javascript关联数组的索引

我想在JS中创建一个关联数组,但是使用定义为类的一部分的常量作为索引.

我想要这个的原因是这个类的用户可以使用常量(定义事件)来触发动作.

一些代码来说明:

STATE_NORMAL = 0;
STATE_NEW_TASK_ADDED = 0;
this.curr_state = STATE_NEW_TASK_ADDED;

this.state_machine = {
    /* Prototype:
    STATE_NAME: {
        EVENT_NAME: {
            "next_state": new_state_name,
            "action": func
        }
    }
    */

    STATE_NEW_TASK_ADDED : { // I'd like this to be a constant
        this.EVENT_NEW_TASK_ADDED_AJAX : {
            "next_state": STATE_NEW_TASK_ADDED,
            "action" : function() {console.log("new task added");},
        }
    }
}

// Public data members.
// These define the various events that can happen.
this.EVENT_NEW_TASK_ADDED_AJAX = 0;
this.EVENT_NEW_TASK_ADDED_AJAX = 1;
Run Code Online (Sandbox Code Playgroud)

我无法解决这个问题.我对JS不太好,但看起来无论我做什么,数组都是用字符串而不是常量定义的.有没有办法强制数组使用常量?

谢谢!

javascript associative-array constants

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