我如何保护Python代码?

我正在开发一个Python软件,将分发给我的雇主的客户。 我的雇主希望限制软件的使用时间限制的许可证文件。 如果我们分发.py文件甚至.pyc文件,则很容易(反编译)并删除检查许可证文件的代码。 另一个方面是,我的雇主不希望代码被客户读取,担心代码可能被盗用,或者至less是“新颖的想法”。 有没有一个好办法来解决这个问题? 最好用现成的解决scheme。 该软件将运行在Linux系统(所以我不认为py2exe会做的伎俩)。

当VBA代码运行时,MS Excel崩溃

我在excel表单上运行VBA代码时遇到了excel崩溃的问题。 我有一些代码添加一个公式的一个单元格范围如下: Private Sub Worksheet_Change(ByVal Target As Range) Worksheets("testpage").Range("A1:A8").Formula = "=B1+C1" End Sub 当这个代码运行时,我收到一条消息,说“ Excel遇到问题,需要closures ”,Excelclosures。 如果我运行worksheet_active()类中的代码,它工作正常,不会崩溃 Private Sub Worksheet_Activate() Worksheets("testpage").Range("A1:A8").Formula = "=B1+C1" End Sub 但我真的需要它在worksheet_change()类中工作。 有没有人在使用worksheet_change()类时遇到类似的崩溃问题,任何人都可以指出正确的方向来解决这个问题?

window.close和self.close不要在Chrome中closures窗口

问题是,当我调用window.close()或self.close()它不closures窗口。 现在似乎有一种信念,在Chrome中,您不能通过脚本closures任何不是脚本创build的窗口。 这是明显的错误,但不pipe它应该仍然这样做,即使它需要popup一个警报来确认。 这些都没有发生。 所以,有没有人有真正的,function和经过validation的方法来closures一个窗口使用类似于javascript:window.close()或javascript:self.close() ,实际上做预期的事情,并发生在每个浏览器基于Chrome? 任何build议将不胜感激,我正在寻找Javascript特定的解决scheme,没有什么JQuery或第三方的实施。 更新:虽然大部分build议有严重的限制和可用性问题,但是使用脚本头中的// @grant window.close的最新build议(特定于TamperMonkey)通常会在通常不能使用处理closures的方法。 虽然不是完全理想的,并不是每一个案件,这对我来说是一个很好的解决scheme。

Javascript中的“this”关键字如何在对象字面值内运行?

我见过“this”这个关键字在一个函数中是如何工作的? ,但我没有看到它回答以下。 鉴于此代码: var MyDate = function(date) { this.date = date; }; var obj1 = { foo: new Date(), bar: new MyDate(this.foo) // this.foo is undefined }; var obj2 = {}; obj2.foo = new Date(); obj2.bar = new MyDate(this.foo); // this.foo is undefined var obj3 = { foo: new Date(), bar: new MyDate(obj3.foo) }; var […]

在T-SQL中相当于分割函数?

我正在寻找拆分'1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 …'(逗号分隔)到表或表variables。 有没有人有一个函数返回每一个连续?

元素顺序在“for(… in …)”循环中

Javascript中的“for … in”循环是否按照声明的顺序通过hashtables / elements? 有一个浏览器不按顺序吗? 我希望使用的对象将被声明一次 ,永远不会被修改。 假设我有: var myObject = { A: "Hello", B: "World" }; 我进一步使用它们: for (var item in myObject) alert(item + " : " + myObject[item]); 我可以期待'A:'你好''在最合适的浏览器中总是出现在'B:'World''之前吗?

在Java中保持双精度

public class doublePrecision { public static void main(String[] args) { double total = 0; total += 5.6; total += 5.8; System.out.println(total); } } 上面的代码打印: 11.399999999999 我怎样才能打印(或能够使用它)11.4?

O(1)中的唯一(非重复)随机数?

我想生成一个0到1000之间的独一无二的随机数字,这个数字永远不会重复(即,6次不会出现两次),但是这并不会像以前的O(N)search那样。 这可能吗?

我怎样才能覆盖OnBeforeUnload对话框,并用我自己的?

在离开页面之前,我需要警告用户有关未保存的更改(这是一个很常见的问题)。 window.onbeforeunload=handler 这工作,但它提出了一个默认的对话与一个恼人的标准信息包装我自己的文字。 我需要完全replace标准的消息,所以我的文本是清晰的,或者(甚至更好)用jQueryreplace整个对话框的模式对话框。 到目前为止,我失败了,我还没有find任何似乎有答案的人。 这甚至有可能吗? 我的网页中的Javascript: <script type="text/javascript"> window.onbeforeunload=closeIt; </script> closeIt()函数: function closeIt() { if (changes == "true" || files == "true") { return "Here you can append a custom message to the default dialog."; } } 使用jQuery和jqModal我已经尝试过这种事情(使用自定义确认对话框): $(window).beforeunload(function() { confirm('new message: ' + this.href + ' !', this.href); return false; }); 这也不起作用 – […]

为什么会忽略closures标签?

我一直在阅读,在文件的末尾使用PHPclosures标签很不好。 标题问题似乎在以下的背景下是不相关的(迄今为止这是唯一的一个很好的论点): 现代版本的PHP在php.ini中设置output_buffering标志如果启用了输出缓冲function,则可以在输出html之后设置HTTP标头和cookie,因为返回的代码不会立即发送到浏览器。 每本优秀的练习本和wiki都以这个“规则”开始,但没有人提供很好的理由。 是否有另一个很好的理由跳过结尾的PHP标签?