我有一个恼人的闭源工具,它将特定信息写入其配置文件.如果您尝试在其他文件上使用配置,则会加载旧文件.哎呀...
幸运的是,配置文件是文本,因此我可以对它们进行版本控制,结果发现,如果只是从文件中删除了违规行,则不会造成任何损害.
但是该工具不断将线路放回去.所以每次我想检查配置文件的新版本时,我都必须删除包含该符号的所有行openDirFile
.
我即将构建某种bash命令来在每个文件上运行grep -v,将结果存储在临时文件中,然后删除原始文件并重命名临时文件,但我想知道是否有人知道一个很好的清洁解决方案,或者已经编造并调试了类似的调用.
为了额外的功劳,如何在不破坏同一目录中的符号链接的情况下完成这项工作(favourite.rc-> signals.rc)?
一个简短的python程序,用于演示我一直遇到的错误:
import pylab
pylab.ion()
pylab.title('doom')
pylab.pause(0)
Run Code Online (Sandbox Code Playgroud)
如果我运行它,它工作正常,但我得到这个警告:
/usr/lib/pymodules/python2.7/matplotlib/backend_bases.py:2280: MatplotlibDeprecationWarning: Using default event loop until function specific to this GUI is implemented
Run Code Online (Sandbox Code Playgroud)
如果我删除了暂停行,那么我就不会收到警告,但是一旦程序结束,我的情节就不再存在了.
我想要一种优雅的方式来获得没有警告的行为.有人可以帮忙吗?
在尝试优化C和LISP时,查看编译器输出的汇编代码可能会有很大帮助.
Clojure可能会编译为一个同样有用的JVM字节码.
我怎么看?
假设我想删除一个cookie(例如,ring的会话cookie):
制作这样的响应地图:
{:cookies {"ring-session" {:value "kill", :max-age 1}}}
Run Code Online (Sandbox Code Playgroud)
似乎工作,但感觉有点hacky.
是否有一种干净的方式来删除它?
在ubuntu下有没有相当于gigial的git gui?
我正在尝试编写一个宏教程,现在我需要一些简单易懂但又引人注目的示例.
问题是很多明显的事情已经在clojure和contrib中.我觉得"看,我们可以重新实现所有的库函数"可能不是宏为什么如此伟大的最好的论据.
有没有人有任何可爱的(单行是最好的)例子,他们不介意我使用?
以下是本教程的前三部分.目前这有点危险,所以任何关于如何做得更好的评论都会感激不尽.
http://learnclojure.blogspot.com/2010/09/clojure-macro-tutorial-part-i-getting.html
http://learnclojure.blogspot.com/2010/09/clojure-macro-tutorial-part-ii-compiler.html
http://learnclojure.blogspot.com/2010/09/clojure-macro-tutorial-part-ii-syntax.html
我是一名希望学习verilog的程序员.
什么是令人惊讶的整洁将是一个教程,其中一个构建一个非常干净的设计的微型微处理器,像英特尔4004,然后继续实际使用一个fpga并使其闪存LED订购.
有这样的教程吗?
如果没有,我可能会尝试写一个,因为我尝试这样做.有没有人对我可能利用的资源有任何建议?例如,很好的开源verilog编译器,调试工具,模拟器,verilog教程,便宜的fpgas和编程工具,LED面包板等.
(这个问题已被低估了,我觉得很奇怪.我怎么冒犯了?)
我是否认为运行swank服务器通常会向全世界打开端口4005,而不是仅限于localhost-only连接?
因此,任何黑客入侵咖啡馆的人不仅允许路人在他们的计算机上执行任意代码,而且还为他们提供了一个很好的界面.
当我运行一个带有'mvn clojure:swank'或'lein swank'或(swank.swank/start-server"/ tmp/yo")的swank服务器时
然后我得到类似的东西(谢谢迈克!):
$lsof -i -P
java 11693 john 13r IPv6 6701891 0t0 TCP *:34983 (LISTEN)
Run Code Online (Sandbox Code Playgroud)
事实上,我可以从同一网络上另一台机器上运行的emacs连接.
(swank.swank/start-server "/tmp/yo")
Run Code Online (Sandbox Code Playgroud)
如果我手动启动服务器,它会产生以下输出
Connection opened on local port 34983
#<ServerSocket ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=34983]>
Run Code Online (Sandbox Code Playgroud)
鉴于:
(swank.swank/start-server "/tmp/yo" :host "localhost")
Run Code Online (Sandbox Code Playgroud)
生产:
Connection opened on local port 40368
#<ServerSocket ServerSocket[addr=localhost/127.0.0.1,port=0,localport=40368]>
Run Code Online (Sandbox Code Playgroud)
这似乎更像我期待的.
这样做有什么好的理由吗?
关于如何更常规地启动它的方法可以被说服只接受来自本地进程的连接的任何想法?
在clojure 1.1中,所有调用都是动态的,这意味着您可以在REPL中重新定义一个函数,它将自动包含在正在运行的程序中.这对像dotrace这样的东西也很好.
在clojure 1.2中,许多调用似乎是静态链接的,如果我想替换一个函数,有时候,我必须找到所有被调用的地方并将#'放在它们前面.
更糟糕的是,我无法预测我需要做什么.
是否有可能回到动态链接的旧默认值?也许如果你需要额外的速度iota,你可以重新开启生产应用程序,但对于开发我更喜欢1.1的行为.
我希望有某种编译器选项,比如*warn-on-reflection*.
编辑:
我对发生的事感到困惑.更具体地说,这里有两个功能.我更喜欢第二种的行为.我怎么能让第一个表现得像第二个,我相信它曾经在1.1中做过?
user> (clojure-version)
"1.2.0"
user> (defn factorial[n] (if (< n 2) n (* n (factorial (dec n)))))
#'user/factorial
user> (require 'clojure.contrib.trace)
user> (clojure.contrib.trace/dotrace (factorial) (factorial 10))
TRACE t1670: (factorial 10)
TRACE t1670: => 3628800
user> (defn factorial[n] (if (< n 2) n (* n (#'factorial (dec n)))))
#'user/factorial
user> (clojure.contrib.trace/dotrace (factorial) (factorial 10))
TRACE t1681: (factorial 10)
TRACE t1682: | (factorial 9)
TRACE t1683: | | (factorial 8)
TRACE t1684: | | …
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一些python,我习惯了lispy的做事方式,EMACS中的REPL以及向REPL发送任意代码片段的能力.我喜欢这种开发代码的方式,而python的内置IDLE似乎做得非常好.但我确实喜欢EMACS作为编辑.
什么是类似于SLIME for Python的最好的东西?
至今:
似乎诀窍是打开一个python文件,然后使用Python菜单中的"Start Interpreter",之后你会得到一个Inferior Python缓冲区.然后,您可以使用Cc Cc将正在编辑的整个缓冲区加载到"REPL"中,并使用普通的复制和粘贴将片段放入REPL.
这项工作尽可能地发挥作用.有没有办法说'重新评估光标在现在的重要事项并显示答案',或者'重新评估光标刚刚结束的东西并显示答案',如SLIME中的MCx和Cxe?
如果你使用Bozhidar的答案中的python-mode.el,这一切似乎都会更好