小编Bel*_*lun的帖子

名称空间是什么?用法怎么样?

  1. 命名空间的目的是什么?

  2. 更重要的是,它们是否应该用作java中的对象(具有数据和功能并尝试实现封装的东西)?这个想法是远远不够的?:)

  3. 或者它们应该在java中用作包吗?

  4. 或者它们应该更普遍地用作模块系统还是什么?

namespaces clojure

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

7
推荐指数
2
解决办法
4824
查看次数

如何重置所有环境变量?

我想要做 :

env | egrep -o '^\w+=' | unset
Run Code Online (Sandbox Code Playgroud)

问题是:

env | egrep -o '^\w+='
Run Code Online (Sandbox Code Playgroud)

打印之类的东西(注意等于号):

XDG_VTNR = LC_PAPER = SSH_AGENT_PID = KDE_MULTIHEAD = LC_ADDRESS = XDG_SESSION_ID =

如何仅提取变量名称以便我可以取消它们?

linux environment-variables unset linux-mint

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

如何为函数启用 bash 自动完成?

我已经阅读了有关 bash 自动完成教程 bash 完成简介,我正在尝试为ssh我的一个函数(从 加载.profile)获得相同的自动完成;它几乎充当别名

我想要做的是:获得相同的自动完成,这是默认提供的ssh(这是功能_known_hosts;做complete -p | grep ssh,你会得到complete -F _known_hosts /etc/init.d/ssh),并为我自己的功能获取它(安装就像你会安装别名,并且实际上使用原始参数执行 ascp和a ssh

ssh bash autocomplete

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

为什么在WITH子句中的子查询重复时查询会更快?

假设一个项目使用分区来构建其数据.这个概念纯粹是针对业务的,与数据库分区无关.

假设业务逻辑确实如此:

  • 从output_table中删除partition = <partitionX>
  • 插入到output_table(select*from input_table where partition = <partitionX>)

请记住,一切都是这样的结构,让问题复杂化(以达到实际问题).

假设我有一个潜在杀手的查询(SELECT查询),就时间而言:

insert into output_table (
  select * 
   from input_table
   left outer join additional_table additional_table1  
     on input_table.id = additional_table1.id
   left outer join additional_table additional_table2  
    on additional_table2.id = additional_table1.parent
  where partition =  <partitionX>
)
Run Code Online (Sandbox Code Playgroud)

让我们优化它并探索选项.请记住每个表都有分区.另请注意table2如何连接两次,但是在不同的列上.而且,还要注意附加表是如何连接在一起的

一切都使用WITH子句,但有几个选项,我想知道为什么其中一个更好.

A. WITH部分中的直接和重复查询

WITH 
CACHED_input_table AS (
  SELECT *
  FROM input_table
  WHERE PARTITION_ID = < partition  X >
),
CACHED_additional_table1 AS (
  SELECT *
  FROM additional_table 
  WHERE PARTITION_ID = < partition  X >
), …
Run Code Online (Sandbox Code Playgroud)

sql oracle query-optimization

6
推荐指数
0
解决办法
230
查看次数

^的用法是什么?如何获得更多信息?

在博客上发现了这个: (def x ^{:type ::my-class} {})

显然它将元数据添加到地图中

user=> (meta x)
{:type :user/my-class}
Run Code Online (Sandbox Code Playgroud)
  1. 还有^什么办法?它还有其他用途吗?它可以用作元数据的getter(不仅仅是设置元数据)吗?

  2. 我怎样才能找到有关clojure中某些快捷方式的信息?喜欢^,',`,~.可以从repl获得吗?

clojure

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

如何在Java中用下划线填充数字?

如何用Java中的下划线填充数字,而不是通常的零?

比如我想要的

  • 123.45将被编入___ 123.45和
  • 12345.67格式为_12345.67
  • 0.12格式为_ __ _ __ .12

我尝试了很多东西,最接近的是我(通过使用SYMBOLS.setZeroDigit('_');):

import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;

public class Example {

    public static void main(String[] args) {
        DecimalFormatSymbols SYMBOLS = new DecimalFormatSymbols();
        SYMBOLS.setDecimalSeparator('.');
        SYMBOLS.setGroupingSeparator(',');
        DecimalFormat OUTPUT_FORMAT = new DecimalFormat("000,000.00", SYMBOLS);

        System.out.println(OUTPUT_FORMAT.format(0.01));
        // got 000,000.01
        System.out.println(OUTPUT_FORMAT.format(0.12));
        // got 000,000.12
        System.out.println(OUTPUT_FORMAT.format(123456));
        // got 123,456.00
        System.out.println(OUTPUT_FORMAT.format(123456.78));
        // got 123,456.78
        System.out.println(OUTPUT_FORMAT.format(1234));
        // got 001,234.00
        System.out.println(OUTPUT_FORMAT.format(1234.56));
        // got 001,234.56

        SYMBOLS.setZeroDigit('_');
        OUTPUT_FORMAT = new DecimalFormat("000,000.00", SYMBOLS);
        System.out.println(OUTPUT_FORMAT.format(0.01));
        // expected ______._1 but got ___,___._`
        System.out.println(OUTPUT_FORMAT.format(0.12));
        // expected ______.12 …
Run Code Online (Sandbox Code Playgroud)

java number-formatting

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

RESOURCE NOT FOUND (404) 何时合适?

我一直在与同事进行长时间的讨论,讨论针对 url 的不同错误部分是否使用 404 或 400(错误请求)进行响应。

假设我们有一个提供产品的端点。但产品是细分的,并且取决于国家、渠道(如 B2B 或 B2C)等。

在像这样的网址中

/myapi/v1/{国家}/{渠道}/产品/{产品 ID}

如果呼叫者给了我一个错误的“产品 ID”,我会很清楚地回复 RESOURCE NOT FOUND。

但“国家”呢?我认为“国家/地区”不是当前 url 提供的资源,因此响应(在提供的“国家/地区”不好的情况下)应该是 BAD REQUEST。其他人认为整个 url 就像资源的签名,错误的“国家/地区”将导致无法返回 200,因此 RESOURCE NOT FOUND 应该是响应状态。

哪一种状态是正确的?什么是正确的问题?

rest url httpresponse

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

你能从Functional Languages 101翻译这两个例子吗?(计划 - > Clojure)

得到这些例子我想了解但他们在Scheme中.我希望他们在Clojure:D

示例1 - 计算列表的长度


(define length
  (lambda (ll)
    (cond
      ((null? ll) 0)
      (#t (add1
        (length (cdr ll)))))))
Run Code Online (Sandbox Code Playgroud)

例2 - 列表的每个元素的平方


(define squares
  (lambda (li)
    (cond
      ((null? li) ())
      (#t (cons
            (* (char li) (char li))
            (squares(cdr
    li)))))))
Run Code Online (Sandbox Code Playgroud)

例3 - "map"函数(如map/reduce)


(define map (lambda (func lst)
  (cond ((null? lst) ())
        (#t (cons (func (car lst))
              (map func (cdr lst)))))))
Run Code Online (Sandbox Code Playgroud)

咖喱"地图"


(define map2
  (lambda (func)
    (lambda (lst)
      (cond ((null? lst) ())
        (#t (cons (func (car lst))
              ((map2 func) (cdr lst)))))))
Run Code Online (Sandbox Code Playgroud)

动机

这些例子来自功能编程的演示文稿,其他人可能会对此感兴趣: …

scheme clojure

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

这个正则表达式容易受到REDOS攻击吗

正则表达式:

^\d+(\.\d+)*$

我试图用打破它:

1234567890.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1。 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1。 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1。 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1。 1x]

那是200x“ .1”

我从阅读了有关ReDos攻击的信息:

但是,我对准备对表达式的ReDos攻击的技巧不太自信。由于“嵌套量词”,我试图触发灾难性的回溯。

那个表情容易碎吗?应该使用什么输入?如果是,您是如何提出的?

regex regex-dos-attack

4
推荐指数
1
解决办法
74
查看次数