一位同事曾告诉我,当Linux上的所有内容都无法调试时,最后一个选项是使用strace.
我试图学习这个奇怪工具背后的科学,但我不是系统管理大师,我没有真正得到结果.
所以,
简而言之,简单来说,这些东西是如何工作的?
我发现自己用Javascript编写了一个大项目.我记得最后一次是冒险,因为hacky JS很快就变得难以理解,我希望这段代码干净利落.
好吧,我正在使用对象来构造一个lib,但是有几种方法可以在JS中定义东西,这意味着在范围,内存管理,名称空间等方面会产生重要影响.EEP:
var与否;(function(){...})()jquery样式中定义事物;this或不使用;function myname()或myname = function();那么在JS中用OO编码时,最佳实践是什么?
学术解释在这里真的很期待.链接到书籍热烈欢迎,只要他们处理质量和稳健性.
编辑:
有一些阅读,但我仍然对上述问题的答案和任何最佳实践非常感兴趣.
什么是全球解释器锁,为什么它是一个问题?
围绕从Python中删除GIL已经产生了很多噪音,我想知道为什么这么重要.我自己从未编写过编译器或解释器,所以不要节俭细节,我可能需要他们理解.
最后一次提交,HEAD和我在目录中可以看到的文件状态之间似乎有区别.
什么是HEAD,我该怎么办?我应该避免哪些错误?
我希望能够将变量的名称作为字符串获取,但我不知道Python是否具有那么多的内省功能.就像是:
>>> print(my_var.__name__)
'my_var'
Run Code Online (Sandbox Code Playgroud)
我想这样做因为我有一堆vars我想变成一本字典,如:
bar = True
foo = False
>>> my_dict = dict(bar=bar, foo=foo)
>>> print my_dict
{'foo': False, 'bar': True}
Run Code Online (Sandbox Code Playgroud)
但我想要比这更自动的东西.
Python中有locals()和vars(),所以我想有一种方法.
我在我的存储库中手动删除了我刚刚添加的目录.我无法恢复目录.
任何进行更新或提交的尝试都将失败:
"blabla/.svn" containing working copy admin area is missing.
Run Code Online (Sandbox Code Playgroud)
我理解为什么,但无论如何要解决这个问题.
我不想检查整个仓库并手动添加我的更改,这需要几个小时.
我知道如何使用vimdiff合并修改,但是,假设我只知道整个文件可以保留或丢弃,我该怎么做?
我不想为每个人打开vimdiff,我改变了想要一个"保持本地"或"保持远程"的命令.
EG:我与标记为已更改的文件合并,因为有人在Windows下打开它,更改EOL,然后提交.合并时,我想保留自己的版本并丢弃他的版本.
我也对此感兴趣:我搞砸了很长时间并希望接受远程文件,丢弃我的更改.
在python 2.7中,我们获得了可用的字典视图方法.
现在,我知道以下的利弊:
dict.items()(和values,keys):返回一个列表,这样你就可以实际存储的结果,dict.iteritems() (等等):返回一个生成器,这样你就可以迭代生成逐个生成的每个值. 什么是dict.viewitems()(等)?他们有什么好处?它是如何工作的?什么是观点?
我读到视图总是反映字典中的变化.但是从性能和内存的角度来看它是如何表现的呢?有什么利弊?
我不断学习新工具,甚至是老式工具,因为我喜欢使用正确的解决方案解决问题.
不过,我想知道是否还有任何理由去学习其中的一些.awk例如是对我有意思,但对于简单的文本处理,我可以使用grep,cut,sed等而复杂的,我会去为Python.
现在我并不是说它不是一个强大而方便的工具.但是,由于学习新工具需要时间和精力,值得吗?
我有一个服务正在运行,并希望发送通知.太糟糕了,通知对象需要一个Context,就像一个Activity,而不是一个Service.
你知道通过哪种方式吗?我试图Activity为每个通知创建一个,但它看起来很难看,我找不到一种方法来启动Activity没有任何通知View.