小编pat*_*rit的帖子

如何使用IntelliJ IDEA查找所有未使用的代码?

当我在.java文件中时,未使用的代码通常是灰色的或者有一个绿色下划线,说这个代码可能(可能是因为一些奇怪的JNI/Reflection极端情况)未被使用.但我有这个项目有数千个Java文件,我想找到这些可能未使用的代码的所有实例.我怎么能在IntelliJ IDEA中做到这一点?

java refactoring intellij-idea code-metrics code-inspection

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

压缩/解压缩文件的优秀Java库是什么?

我查看了JDK和Apache压缩库附带的默认Zip库,我对它们不满意有三个原因:

  1. 它们很臃肿,API设计不好.我必须写50行锅炉板字节数组输出,zip输入,文件输出流和关闭相关流并捕获异常并自行移动字节缓冲区?为什么我不能有一个简单的API,它看起来像这样Zipper.unzip(InputStream zipFile, File targetDirectory, String password = null)Zipper.zip(File targetDirectory, String password = null)刚刚工作的?

  2. 它似乎压缩解压缩破坏文件元数据和密码处理被打破.

  3. 此外,与我使用UNIX获得的命令行zip工具相比,我尝试的所有库都慢2-3倍?

对我来说(2)和(3)是次要的,但我真的想要一个带有单线界面的良好测试库.

java compression zip unzip

221
推荐指数
6
解决办法
18万
查看次数

如何在Node.Js中从字符串创建流?

我正在使用一个库,ya-csv,它要求文件或流作为输入,但我有一个字符串.

如何将该字符串转换为Node中的流?

javascript string inputstream stream node.js

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

如何管理客户端JavaScript依赖项?

虽然有很好的解决方案可以管理服务器端的依赖关系,但我找不到任何满足我所有需求的连接客户端JavaScript依赖关系管理工作流程.我想满足这5个要求:

  1. 管理我的客户端依赖于类似故宫的格式的package.json亭子bower.json
  2. 它应该具有灵活性,可以指向我dependency.json文件中的git repo或实际js文件(在web或本地),用于鲜为人知的库(npm让你指向git repos)
  3. 它应该将所有库缩小并命名为单个文件,如ender - 这是我需要<script>在客户端标记中放入的唯一js文件
  4. 它应该像BoxJS 4(现已死)一样对CoffeeScript提供开箱即用的支持
  5. 在浏览器中,我应该能够使用require样式:

    var $ = require('jquery');
    var _ = require('underscore');
    
    Run Code Online (Sandbox Code Playgroud)

    或者更好的是,做headjs风格:

    head.js(['jquery', 'underscore', 'mylib'], function($, _, mylib) {
      // executed when all libraries are loaded
    });
    
    Run Code Online (Sandbox Code Playgroud)

如果不存在这样的单一工具,那么什么是最好的工具组合,即我可以使用诸如volo(或grunt)之类的东西组合的工具链?

我已经研究了我在这里链接的所有工具,它们最多只能满足我最多3个要求.所以,请不要再发布这些工具.我只接受一个答案,提供满足我所有5个要求的单一工具,或者如果有人发布了具有多个此类工具的工具链的具体工作流程/脚本/工作示例,这些工具也满足我的所有要求.谢谢.

javascript dependency-management coffeescript npm

95
推荐指数
7
解决办法
4万
查看次数

使用单个null参数调用Java varargs方法?

如果我有一个vararg Java方法foo(Object ...arg)并且我打电话foo(null, null),我有两个arg[0]arg[1]作为nulls.但如果我打电话foo(null),arg本身就是空的.为什么会这样?

我怎么称呼foo这样foo.length == 1 && foo[0] == nulltrue

java null language-design variadic-functions

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

从Java中读取System.in的最快方法是什么?

我正在阅读一堆由空格分隔的整数或使用标准中的换行符Scanner(System.in).

有没有更快的方法在Java中这样做?

java optimization stdin inputstream

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

如何在grep中匹配每个文件一次?

是否有任何grep选项让我控制匹配的总数但在每个文件的第一次匹配时停止?

例:

如果我这样做,grep -ri --include '*.coffee' 're' .我得到这个:

./app.coffee:express = require 'express'
./app.coffee:passport = require 'passport'
./app.coffee:BrowserIDStrategy = require('passport-browserid').Strategy
./app.coffee:app = express()
./config.coffee:    session_secret: 'nyan cat'
Run Code Online (Sandbox Code Playgroud)

如果我这样做grep -ri -m2 --include '*.coffee' 're' .,我会得到这个:

./app.coffee:config = require './config'
./app.coffee:passport = require 'passport'
Run Code Online (Sandbox Code Playgroud)

但是,我真正想要的是这个输出:

./app.coffee:express = require 'express'
./config.coffee:    session_secret: 'nyan cat'
Run Code Online (Sandbox Code Playgroud)

-m1不起作用,因为我得到这个grep -ri -m1 --include '*.coffee' 're' .

./app.coffee:express = require 'express'
Run Code Online (Sandbox Code Playgroud)

尝试不使用grep,例如这find . -name '*.coffee' -exec awk '/re/ {print;exit}' {} \;产生: …

regex unix shell perl grep

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

是否有通用的方法来记忆Scala?

我想记住这个:

def fib(n: Int) = if(n <= 1) 1 else fib(n-1) + fib(n-2)
println(fib(100)) // times out
Run Code Online (Sandbox Code Playgroud)

所以我写了这个,这令人惊讶地编译和工作(我很惊讶,因为fib在其声明中引用自己):

case class Memo[A,B](f: A => B) extends (A => B) {
  private val cache = mutable.Map.empty[A, B]
  def apply(x: A) = cache getOrElseUpdate (x, f(x))
}

val fib: Memo[Int, BigInt] = Memo {
  case 0 => 0
  case 1 => 1
  case n => fib(n-1) + fib(n-2) 
}

println(fib(100))     // prints 100th fibonacci number instantly
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在a中声明fib时def,我得到一个编译器错误:

def foo(n: …
Run Code Online (Sandbox Code Playgroud)

scope scala memoization dynamic-programming forward-reference

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

Scala中的交叉产品

我希望有一个二进制运算符cross(交叉产品/笛卡尔积)在Scala中使用遍历运算:

val x = Seq(1, 2)
val y = List('hello', 'world', 'bye')
val z = x cross y    # i can chain as many traversables e.g. x cross y cross w etc

assert z == ((1, 'hello'), (1, 'world'), (1, 'bye'), (2, 'hello'), (2, 'world'), (2, 'bye'))
Run Code Online (Sandbox Code Playgroud)

仅在Scala中执行此操作的最佳方法是什么(即不使用scalaz之类的东西)?

functional-programming scala cartesian-product cross-product

45
推荐指数
4
解决办法
2万
查看次数

如何在NodeJs中下载和解压缩内存中的zip文件?

我想从互联网上下载一个zip文件并将其解压缩到内存而不保存到临时文件.我怎样才能做到这一点?

这是我尝试过的:

var url = 'http://bdn-ak.bloomberg.com/precanned/Comdty_Calendar_Spread_Option_20120428.txt.zip';

var request = require('request'), fs = require('fs'), zlib = require('zlib');

  request.get(url, function(err, res, file) {
     if(err) throw err;
     zlib.unzip(file, function(err, txt) {
        if(err) throw err;
        console.log(txt.toString()); //outputs nothing
     });
  });
Run Code Online (Sandbox Code Playgroud)

[编辑]正如,建议,我尝试使用adm-zip库,我仍然无法使这项工作:

var ZipEntry = require('adm-zip/zipEntry');
request.get(url, function(err, res, zipFile) {
        if(err) throw err;
        var zip = new ZipEntry();
        zip.setCompressedData(new Buffer(zipFile.toString('utf-8')));
        var text = zip.getData();
        console.log(text.toString()); // fails
    });
Run Code Online (Sandbox Code Playgroud)

javascript zip zlib unzip node.js

42
推荐指数
2
解决办法
4万
查看次数