小编Ph0*_*n1x的帖子

角度触发随$ watch vs ng-change,ng-checked等而变化

目前,我们可以通过多种方式监控数据变化.我们可以触发模型更改,$watch我们可以向元素添加指令并将一些操作绑定到它.

在许多情况下它有点令人困惑,所以我很好奇,这是每个变体的优点和缺点,什么时候应该使用$watch绑定,何时指令如何ng-change

javascript angularjs angularjs-directive

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

我的程序被avast反病毒阻止

我是一个业余程序员,我因为一个大问题而变得绝望和疯狂:我的大多数程序都被avast反病毒阻止,而有些则没有,我不明白为什么.我试图调查越多,我就越不明白问题可能是什么.

我正在请求您的帮助以找到解决方案,以便我的程序不再被阻止,或者,默认情况下,至少有一些强有力的线索可以解释为什么会出现这种情况.网上已经有很多关于这方面的话题.然而,他们中的大多数只给出了肤浅的答案:他们只是解释了反病毒如何与签名和检测启发式一起使用,或者说你只需要在白名单中添加有问题的应用程序而不询问任何其他问题.虽然这当然是正确的,但我的感觉并不是可接受的答案,因为我仍然留下了自己的程序,拒绝工作而没有任何具体的想法开始调查.

首先,阻止我的程序的唯一反病毒是avast 7.x. 没有其他防病毒程序看到任何不方便运行我的软件.其次,我没有自己动手; 它安装在朋友的机器上.我有Windows 7,他有Windows XP.我完全确定问题是avast:暂时禁用它,或者如果程序被添加到其白名单中,一切都按预期工作得很好.

三个不同的程序遇到麻烦:

  • 一个文本编辑器,目标是在保持简单,高效和可定制的同时替换Windows记事本
  • 一个非常简单易用的小型业余音频播放器
  • 在线游戏平台的客户端程序,目前拥有超过1000个用户

第一个是开源的,如果需要,我可以提供可执行文件和源代码的链接.另外两个是封闭源但可以免费使用,我只能给出当前版本的可执行文件的链接.这三个程序之间唯一明显的共同点是我作为开发人员,我编译它们的Windows 7机器,编译器系列是MinGW/GCC,它们都是没有任何框架的win32 GUI应用程序(没有MFC,没有WPF,没有QT,WXWidgets或其他;只是纯win32/C GUI应用程序)

这是我的观察,虽然到目前为止:

  • 我的文本编辑器的版本1.1,1.2.1和1.3被阻止.它们使用C而不是C++,在unicode模式下使用GCC 3.4.5编译,并以便携式zip文件分发(通过便携式,我只是说没有安装程序,也不需要安装)
  • 不阻止相同文本编辑器的1.4.1版.它已经用GCC 4.7.2编译,仍然在C而不是C++,仍处于unicode模式,仍然是一个可移植的zip文件
  • 我的音频播放器的所有版本都被阻止; 它们是C++,启用了0x功能,由ANSI模式下的GCC 4.7.2编译,以便携式zip文件分发
  • 我的游戏的当前版本1.7.2未被阻止.它在C中,在ANSI模式下用GCC 3.4.5编译,并作为inno-setup 5安装程序分发.
  • 我的游戏2.0.0的新版本目前是私人测试版,已被屏蔽.它是在C++中启用了0x功能,在unicode模式下使用GCC 4.7.2进行编译.我将我的私人测试团队与私人保管箱文件夹中的zip文件分享

问题是由avast 7.x自动沙箱引起的.当尝试启动avast不喜欢的程序时会发生以下情况:

  1. 用户双击或按可执行文件上的Enter键
  2. 该计划开始但几乎瞬间被avast强行摧毁
  3. 一个弹出窗口出现,并说:avast已将此程序放入他的沙箱,因为他的声誉很低
  4. 如果单击弹出窗口的继续按钮,程序的执行将重新启动并正常工作
  5. 如果没有单击"继续"按钮,则Windows资源管理器会冻结,可执行文件仍保留在任务管理器中,并且总是使用76 KB的RAM而无法终止; 最后大约5分钟后,Windows资源管理器解冻,程序重新启动并正常工作

这是无法接受的.我的程序的新手用户,特别是游戏,不知道防病毒是如何工作的; 不知道怎么把它放到白名单中,为什么它会解锁呢?不知道如何改变他们的反病毒设置; 如果他们看到弹出窗口,不会理解它,最终会害怕或失望,因为他们不知道为什么不能玩; 如果他们没有看到弹出窗口,我不能指望他们用半冷冻电脑等待5分钟.每次他们想玩.

从那里,我做了以下扣除:

  • 我的机器本身并没有被感染,也没有病毒注入我分发的可执行文件中; 否则,所有最近的节目都将被封锁; 我有两个(我的播放器和我的游戏的新版本),而一个不是(我的文本编辑器的最新版本).1.7.2的游戏已于2012年3月编译,而文本编辑器的1.4.1版本将于2012年10月编制.
  • 通过相同的推理,最新版本的GCC 4.7.2没有原因; 对于ANSI与unicode编译相同.
  • minGW C++运行时,作为自动链接DLL分发,在使用GCC 4.7.2编译的所有C++应用程序中是强制性的,可能不是原因,因为许多众所周知的程序都使用它; 并且我的文本编辑器被阻止并且在C中,因此不使用它.
  • 我的音频播放器和我的游戏有共同的音频库; 后来这不是原因,因为我的游戏版本1.7.2和最新的私人测试版没有.当然,该音频库也用于许多其他未被阻止的已知或不太知名的应用程序.
  • 玩家和游戏都使用winsock访问网络; 因此,同样的道理,也不是原因
  • 如果它真的是avast的声誉,为什么我的文本编辑器的版本1.4.1(未被阻止)只被下载了大约70次,而被阻止的版本1.3已被下载超过300次?它看起来完全不合逻辑.70位用户是否足以声称有关声誉的内容?300个用户更多吗?我真的不这么认为......可能需要数十万用户的临界质量.

除此之外,我还认为我将程序作为便携式zip文件分发的事实可能是avast阻止的原因,相反,程序安装在程序文件中的事实可能是信任它的理由更多.所以我提供了一个简单的体验:我为我的游戏的beta 2.0.0编译了一个新的inno-setup 5安装程序,以及一个用于我的文本编辑器1.3版本的安装程序,并发现安装程序本身已被阻止!

我和我的朋友做了另一次经历,在那里我试图找到程序崩溃的地方,基于使用MessageBeep(MessageBox也被阻止了!).我没有发现任何问题.在登录对话框中第一次调用SetDlgItemText时会阻止游戏,但是如果我删除所有SetDlgItemText,它将被进一步阻止.在文本编辑器中,它在填充菜单栏时被阻止...

我的结论是,在我的游戏的新版本中,在我的文本编辑器的旧版本和我的音频播放器中,avast不喜欢这样的东西.最新版本的文本编辑器中缺少的东西.会是什么呢 ?你有什么线索吗?你是否只知道如何继续找到它是什么让我可以帮忙解决它?是否只有一种方法来分析这样的问题,还是由avast搞砸的洞世界?

请注意,我是一个人,而不是一个公司,所有这些程序都是免费使用的,我没有支付任何IDE来开发它们,而且当用户使用它们时我没有付费,所以我假设一个证书可能根本不负担得起.而且,我不知道它是否是一个真正的解决方案,如何签署一个用GCC编译的应用程序,我真的不想切换到像MSVC这样的"usineàgaz".如果有任何其他解决方案,即使是非常肮脏的解决方案,我宁愿强烈忘记该选项.

谢谢你的阅读.

c c++ virus

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

Karma抛出错误:无法加载"ng-html2js",它未注册

我跑的时候遇到错误karma start:

$ karma start
INFO [karma]: Karma v0.10.2 server started at http://localhost:9876/
INFO [launcher]: Starting browser Chrome
WARN [preprocess]: Can not load "ng-html2js", it is not registered!
  Perhaps you are missing some plugin?

...
Run Code Online (Sandbox Code Playgroud)

但是在我的包文件中,"karma-ng-html2js-preprocessor": "*",以及包含此预处理器代码的文件夹node_modules.

关于如何解决问题的任何想法?

angularjs karma-runner ng-html2js

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

如何在不下载文件的情况下检查文件是否存在?

我需要编写代码,通过检查其URL来确定文件是否存在.

目前我实现了这个:

error_code = 400;
response = Net::HTTP.get_response(URI(url));
return response.code.to_i < error_code;
Run Code Online (Sandbox Code Playgroud)

但是,它不能正常工作,因为每次下载文件时,如果我有大文件或很多文件,这真的很慢.

如何在不下载文件的情况下确定远程端是否存在文件?

ruby ruby-on-rails http

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

比较存储库与提供商与服务

我需要实现将从某些远程数据源检索数据的逻辑.现在我需要决定 - 我需要哪个概念:提供者,存储库或服务.

其实我不太了解那之间的所有巨大差异.是的,我知道存储库更具有数据特性,不应包含任何业务逻辑.除管理数据外,其他人的提供者可能包含一些业务规则.除了管理数据之外,服务还可以包含一些业务逻辑.那么Service和Provider之间有什么区别呢.

从另一个角度来看,我认为使用服务是一种更好的方法来表明它是远程访问的抽象.

总之:所有这些方法看起来都很合理,我完全与它混淆了.如果有人能帮助我,我将非常感激.

architecture oop design-patterns

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

将时间戳转换为角度表达式中的日期,如{{new Date(timestamp)}}

今天我发现它不能在角度表达式中转换日期.

所以我只是做了类似的事情

<th>{{new Date(elem.timestamp}}</th>
Run Code Online (Sandbox Code Playgroud)

但它失败了内部角度误差.

那么为什么不可能在角度表达式中强制转换为Date?

javascript angularjs

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

工厂方法(1)vs工厂(2)vs Builder(3)模式

什么是用例(1),(2),(3).什么是使用它的利弊.他们之间有什么区别?

oop design-patterns

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

在Webstorm 11中使用jasmine运行/调试node.js测试用例

我安装Webstorm 11并希望运行我用Jasmine实现的测试(对于node.js应用程序).然而,要做到这一点并不容易.我只能输入命令行'jasmine'命令并运行测试,但在这种情况下我无法调试代码.那么有没有办法配置Webstorm来处理茉莉花规格呢?

javascript unit-testing node.js jasmine webstorm

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

Restify和Angular CORS请求的资源上没有"Access-Control-Allow-Origin"标头

在使用带有承载令牌授权类型的Restify实现REST api时,我遇到了这个问题.

当我向API服务器发送简单的get请求时,它失败并出现CORS问题

405(不允许的方法)angular.js:7962

选项http://api.host.com/tests请求的资源上没有"Access-Control-Allow-Origin"标头.因此,不允许来源" http://local.host.com "访问.


在我的回答中描述了解决方案,所以这对我来说不是真正的问题,因为我在已经知道答案时放置了它,但希望它将来会为其他人节省时间.

javascript cors restify

9
推荐指数
2
解决办法
6644
查看次数

是否继续缓存常见请求

所以我的问题非常简单.如果我将每秒/分钟执行相同的查询很多时间(如User.find(test_user_id)),它每次都会向数据库发送请求,或者只是以某种方式缓存查询结果?

javascript node.js sequelize.js

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