小编Pet*_*Mmm的帖子

在Javascript中需要一个basename函数

我需要一个简短的基本名称功能(单线程?)用于Javascript:

basename("/a/folder/file.a.ext") -> "file.a"
basename("/a/folder/file.ext") -> "file"
basename("/a/folder/file") -> "file"
Run Code Online (Sandbox Code Playgroud)

这应该剥离路径和任何扩展.

更新:对于开头的点将很好地视为"特殊"文件

basename("/a/folder/.file.a.ext") -> ".file.a"
basename("/a/folder/.file.ext") -> ".file"
basename("/a/folder/.file") -> ".file" # empty is Ok
basename("/a/folder/.fil") -> ".fil"  # empty is Ok
basename("/a/folder/.file..a..") -> # does'nt matter
Run Code Online (Sandbox Code Playgroud)

javascript string

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

将表示键值对的字符串转换为Map

如何将String转换为Map:

Map m = convert("A=4 H=X PO=87"); // What's convert?
System.err.println(m.getClass().getSimpleName()+m);
Run Code Online (Sandbox Code Playgroud)

预期产量:

HashMap{A=4, H=X, PO=87}
Run Code Online (Sandbox Code Playgroud)

java dictionary

32
推荐指数
4
解决办法
8万
查看次数

如何使用varargs和反射

简单的问题,如何使这段代码工作?

public class T {

    public static void main(String[] args) throws Exception {
        new T().m();
    }

    public // as mentioned by Bozho
    void foo(String... s) {
        System.err.println(s[0]);
    }

    void m() throws Exception {
        String[] a = new String[]{"hello", "kitty"};
        System.err.println(a.getClass());
        Method m = getClass().getMethod("foo", a.getClass());
        m.invoke(this, (Object[]) a);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

class [Ljava.lang.String;
Exception in thread "main" java.lang.IllegalArgumentException: wrong number of arguments
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
Run Code Online (Sandbox Code Playgroud)

java reflection variadic-functions

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

通过管道传递脚本的脚本

我有这个示例shell脚本:

echo /$1/
Run Code Online (Sandbox Code Playgroud)

所以我可以打电话

$ . ./script 5
# output: /5/
Run Code Online (Sandbox Code Playgroud)

我想将脚本输入sh(ell),但是我也可以通过arg吗?

cat script | sh 
# output: //
Run Code Online (Sandbox Code Playgroud)

bash

24
推荐指数
3
解决办法
8658
查看次数

Java的varargs性能

编码我来检查Java的vararg性能.

我写下面的测试代码:

public class T {

    public static void main(String[] args) {

        int n = 100000000;
        String s1 = new String("");
        String s2 = new String("");
        String s3 = new String("");
        String s4 = new String("");
        String s5 = new String("");

        long t = System.currentTimeMillis();
        for (int i = 0; i < n; i++) {
            foo();
        }
        System.err.println(System.currentTimeMillis() - t);


        t = System.currentTimeMillis();
        for (int i = 0; i < n; i++) {
            baz(s1, s2, s3, s4, s5);
        }
        System.err.println(System.currentTimeMillis() …
Run Code Online (Sandbox Code Playgroud)

java performance

15
推荐指数
2
解决办法
5093
查看次数

使用Java生成证书,公钥和私钥

我正在寻找一个java库或代码来动态生成证书,公钥和私钥,而不使用第三方程序(如openssl).

我觉得有些东西是使用keytool + openssl但是来自Java代码.

考虑使用ssl和客户端身份验证保护的基于java servlet的Web应用程序.我希望servlet容器仅在请求时使用Java代码生成客户端证书(例如,pkcs12格式).

java ssl openssl keytool

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

"无字符串编码"是一个常用术语吗?

最近我联系了Empire-db.项目文件.声明他们正在使用"无字符串编码 ",旨在尽可能使用较少的常量字符串以避免拼写错误并使用编译器的力量.

我一直是这个原则的忠实粉丝,因为我认为Java是一种形式语言,它可以对属性或xml等配置进行表达,并通过编译器检查提供额外的价值.也许在运行时,没有重新编译就没有更改的可能性,但这取决于每种情况.

您现在对这个术语/原理/设计模式有更多的参考或阅读吗?

java design-patterns

13
推荐指数
2
解决办法
503
查看次数

启动嵌入式Jetty服务器的最短代码

我正在编写一些示例代码,其中启动了嵌入式Jetty服务器.服务器必须只加载一个servlet,将所有请求发送到servlet并监听localhost:80

我的代码到目前为止:

static void startJetty() {
        try {
            Server server = new Server();

            Connector con = new SelectChannelConnector();
            con.setPort(80);
            server.addConnector(con);

            Context context = new Context(server, "/", Context.SESSIONS);
            ServletHolder holder = new ServletHolder(new MyApp());
            context.addServlet(holder, "/*");

            server.start();
        } catch (Exception ex) {
            System.err.println(ex);
        }

    }
Run Code Online (Sandbox Code Playgroud)

我可以用更少的代码/行来做同样的事情吗?(使用Jetty 6.1.0).

java jetty embedded-jetty

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

shell脚本的漂亮打印

我正在寻找类似于缩进但是(bash)脚本的东西.仅限控制台,无着色等

你知道吗?

bash shell scripting indentation

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

在RESTeasy的原始图像

我有RESTeasy的这项服务:

@GET
@Path("/{name}")
@Produces("image/jpeg")
public BufferedImage get(@PathParam("name") String name) {

    Monitor m = Monitor.getMonitor(name);

    if (m == null) {
        return null;
    }

    return m.getImage();
}
Run Code Online (Sandbox Code Playgroud)

然后我得到了请求

Could not find MessageBodyWriter for response object of type: java.awt.image.BufferedImage of media type: image/jpeg
Run Code Online (Sandbox Code Playgroud)

是否有任何"直接方式"将图像纳入响应?


感谢@Robert的指示.这里的工作代码:

@GET
@Path("/{name}")
@Produces("image/jpeg")
public byte[] get(@PathParam("name") String name) {

    Monitor m = Monitor.getMonitor(name);

    if (m == null) {
        return null;
    }

    ByteArrayOutputStream bo = new ByteArrayOutputStream(2048);
    try {
        ImageIO.write(m.getImage(),"jpeg",bo);
    } catch (IOException ex) {
        return null;
    }

    return …
Run Code Online (Sandbox Code Playgroud)

java image resteasy

7
推荐指数
1
解决办法
4392
查看次数