小编Chi*_*ing的帖子

如何删除github中的所有提交历史记录?

我想删除所有提交历史记录,但保持代码处于当前状态,因为在我的提交历史记录中,有太多未使用的提交.

我该怎么做?

有没有git命令可以做到这一点?

git filter-branch ?
git rebase ?
... 
Run Code Online (Sandbox Code Playgroud)

我的代码托管在github.com上.

git github

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

为什么Lock条件等待必须持有锁

我对此表示怀疑,在Java语言中,我们需要保持锁定,然后再等待满足某些条件.

例如,int java monitor lock:

synchronized(lock){
   System.out.println("before lock ...");
   lock.wait();
   System.out.println("after lock ...");
}
Run Code Online (Sandbox Code Playgroud)

或者是黄色的工具.

Lock lock = new ReentrantLock();
Condition cond = lock.newCondition();

lock.lock();
try{
     System.out.println("before condition ...");
     cond.await();
     System.out.println("after condition ...");
}catch(Exception e){
     e.printStackTrace();
}finally{
     lock.unlock();
}
Run Code Online (Sandbox Code Playgroud)

所以,为什么我们不能等待,而不是锁定?

如果只是因为Java,其他语言的工作方式不同?

我希望你能在设计之后解释原因,但不仅仅是JAVA-SPEC的定义.

java concurrency multithreading wait java.util.concurrent

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

linux下lsof命令如何获取其信息

lsof命令可以列出打开的文件,包括网络连接。

我认为它应该像其他系统工具一样工作,从Linux 文件系统中的/proc//dev/或位置收集信息。/sys

但是当我尝试从这些位置查找有关打开文件的信息时,我失败了:

ls /proc/self/fd
ls /proc/net/tcp
ls /dev/fd/
Run Code Online (Sandbox Code Playgroud)

如何lsof获得这些信息?

linux

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

Linux系统上/proc/self/fd/socket文件的含义是什么以及如何找到端口

我对下面的输出感到困惑:

\n\n
cd /proc/2045 ; ls -l fd\nlrwx------ 1 root root 64 10\xe6\x9c\x88  8 19:04 66 -> socket:[294364529]\n
Run Code Online (Sandbox Code Playgroud)\n\n

什么是socket:[294364529]意思 ?

\n\n

我想它应该是这个线程打开的套接字,但是这个数字是什么意思?

\n\n

我怎样才能找到portUnix socket与此相对应的

\n\n

谢谢 !

\n

sockets linux networking

6
推荐指数
1
解决办法
6871
查看次数

如何组织模式图像输出html的绝对路径?

我需要在emacs org-mode文件中导出html中的absoluted Image url:

当我写下面的代码:

[[file:/images/a.jgp]]
Run Code Online (Sandbox Code Playgroud)

导出的HTML代码是:

<img src="file:///images/a.jpg" >
Run Code Online (Sandbox Code Playgroud)

但我需要的是:

<img src="/images/a.jgp">
Run Code Online (Sandbox Code Playgroud)

那我怎么能导出我想要的东西,而不是使用#+BEGIN_HTML标签?

ps:我的emacs配置:

 16 ;; org-mode project define
 17 (setq org-publish-project-alist
 18       '(
 19         ("org-blog-content"
 20          ;; Path to your org files.
 21          :base-directory "~/ChinaXing.org/org/"
 22          :base-extension "org"
 23 
 24          ;; Path to your jekyll project.
 25          :publishing-directory "~/ChinaXing.org/jekyll/"
 26          :recursive t
 27          :publishing-function org-publish-org-to-html
 28          :headline-levels 4
 29          :html-extension "html"
 30          :table-of-contents t
 31          :body-only t ;; Only export section between <body></body>
 32          )
 33 …
Run Code Online (Sandbox Code Playgroud)

emacs elisp org-mode

5
推荐指数
1
解决办法
1696
查看次数

perl调试改进

我经常需要在我的Perl程序中进行调试,其中一些非常大,并且不是由它开始的 perl xxx.pl.

我使用了Python的pdb模块,它可以通过使用在程序中设置断点

pdb.set_trace()
Run Code Online (Sandbox Code Playgroud)

当执行到该点时,程序将发出一个python交互式shell.然后我可以调试.我想知道Perl中是否有这样的调试模块或方法?我还想知道perl及其模块中的其他调试支持.

debugging perl

5
推荐指数
1
解决办法
537
查看次数

如何为java代理指定类路径

我正在编写一个 Java 代理来检测目标类的目标方法。

\n\n

我使用javassist库来做仪器。

\n\n

因此java代理(命名为CnAgent.class)需要它的依赖项:javassist库才能运行。

\n\n

目录层次结构是:

\n\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 META-INF\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 MANIFEST.MF\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 com\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 yet\n\xe2\x94\x82\xc2\xa0\xc2\xa0     \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 another\n\xe2\x94\x82\xc2\xa0\xc2\xa0         \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 test\n\xe2\x94\x82\xc2\xa0\xc2\xa0             \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 agent\n\xe2\x94\x82\xc2\xa0\xc2\xa0                 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 CnAgent.class\n\xe2\x94\x82\xc2\xa0\xc2\xa0                 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 CnTransformer.class\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 lib\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 javassist-3.18.2-GA.jar\n
Run Code Online (Sandbox Code Playgroud)\n\n

MANIFEST.MF 文件内容是:

\n\n
Manifest-Version: 1.0\nClass-Path: lib/javassist-3.18.2-GA.jar .\nAgent-Class: com.yet.another.test.agent.CnAgent\nCreated-By: 1.8.0_11 (Oracle Corporation)\nCan-Retransform-Classes: true\n
Run Code Online (Sandbox Code Playgroud)\n\n

我通过以下命令创建 jar 球:

\n\n
jar cvfm CnAgent.jar META-INF/MENIFIEST.MF . lib\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我使用 JVM 的 Attach API 加载代理时。\n错误打印:

\n\n
error when transform : javassist/ClassPool\njava.lang.NoClassDefFoundError: javassist/ClassPool\n
Run Code Online (Sandbox Code Playgroud)\n\n

这意味着代理代码无法找到 javassist 库。

\n\n

所以我的问题是:

\n\n
    \n
  1. 如何设置代理库的类路径让它找到依赖项?

  2. \n
  3. 为什么 MANIFEST.MF …

java jvm jvm-hotspot

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

org-babel for haskell不是eval haskell块的作品

我使用org-mode博客,使用org-babel评估代码,如下所示:

#+BEGIN_SRC haskell
import Data.Function (fix)

f :: Int -> Int
f = (+ 1)

main :: IO ()
main = do
      putStrLn $ show $ f 1
#+END_SRC

#+RESULTS:
: <interactive>:9:25: Not in scope: ‘f’
Run Code Online (Sandbox Code Playgroud)

我发现haskell的org-babel使用infer-haskell模式启动会话并评估代码。我还说会话是创建的,如果我没有定义函数,而是直接putStrLn“ hello”,那么它将起作用。

希望任何人都可以修复该错误:)

emacs haskell org-mode org-babel

5
推荐指数
2
解决办法
740
查看次数

如何在突出显示时缩进代码使用highlight.js

我使用highlight.js 来突出显示我的MySQL 创建表DDL 代码。

但我发现在highlight.js对其进行格式化后,代码已更改为单行。

那么,highlight.js 上是否有一些配置可以将代码缩进为漂亮的格式样式?

前 使用highlight.js后

javascript highlight.js

5
推荐指数
1
解决办法
2852
查看次数

perl5方法测试"可能"在新版本中无法正常工作

在perl 5.8中

perl  -e ' print "a" if AXXXXXXXXXXXXX::->can("isa");'
perl  -e ' print "a" if AXXXXXXXXXXXXX->can("isa");'
Run Code Online (Sandbox Code Playgroud)

打印"无",表示方法测试失败;

在perl 5.17中

perl  -e ' print "a" if AXXXXXXXXXXXXX::->can("isa");'
perl  -e ' print "a" if AXXXXXXXXXXXXX->can("isa");'
Run Code Online (Sandbox Code Playgroud)

打印"a",表示方法测试成功;

我想知道为什么不同?

以及为什么un-esixt和un-loaded模块"AXXXXXXXXX"测试在新版本的perl中传递?

非常感谢 :)

perl

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