小编use*_*253的帖子

RegEx for both,integer和float

我需要一个正则表达式来匹配两个,整数值以及浮点数(而浮点数有一个"."作为分隔符).这些数字总是在括号内,可能有一个前导"+".

什么应该是有效的:

  • (1.0)
  • (1)
  • (9.9)
  • (10000000)
  • (15)

什么应该是无效的:

  • 1.0 ---因为没有支架
  • 5 ---因为没有支架
  • (1,5)--- becaue","而不是"."
  • (a)---因为没有数字
  • (1 5)---因为不仅有一个数字
  • (1 + 5)---因为......好吧......只是失败了
  • [5] ---因为错误的括号

regex

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

合并重复项并对值求和 - 在单个字符串/单元格内

我将此字符串放在一个单元格 (A1) 中:

\n
Apple \xe2\x80\x93 1\nBanana \xe2\x80\x93 6\nCherry \xe2\x80\x93 10\nPeach \xe2\x80\x93 100\nApple \xe2\x80\x93 1000\nKiwi \xe2\x80\x93 10999\nPeach \xe2\x80\x93 44\nFig \xe2\x80\x93 3/100\nFig \xe2\x80\x93 3/100\n
Run Code Online (Sandbox Code Playgroud)\n

我需要找到一个可以组合重复条目并对它们的值求和的公式。因此,所需的输出是这样的(也在单个单元格中,比如说 B1):

\n
Apple \xe2\x80\x93 1001\nBanana \xe2\x80\x93 6\nCherry \xe2\x80\x93 10\nPeach \xe2\x80\x93 144\nKiwi \xe2\x80\x93 10999\nFig \xe2\x80\x93 6/100\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试了几个小时,但不知道该怎么做。我尝试的是首先找到独特的价值。到目前为止,没有问题:

\n
=UNIQUE(\n    ARRAYFORMULA(\n        REGEXEXTRACT(\n            TRANSPOSE(SPLIT(A1, CHAR(10))),\n            "(.*) \xe2\x80\x93 [0-9.]+/?[0-9]?"\n        )\n    )\n)\n
Run Code Online (Sandbox Code Playgroud)\n

返回唯一值的数组

\n
{"Apple", "Banana", "Cherry", "Peach", "Kiwi", "Fig"}\n
Run Code Online (Sandbox Code Playgroud)\n

我能想到的最好结果是这个公式,手动使用 Apple 和 Banana:

\n
=ARRAYFORMULA(\n    {\n        "Apple" & " \xe2\x80\x93 " & SUM(\n            ARRAYFORMULA(\n                IF(\n                    REGEXMATCH(\n …
Run Code Online (Sandbox Code Playgroud)

google-sheets google-sheets-formula

10
推荐指数
1
解决办法
642
查看次数

如何使用nginx加速静态文件的传送?(将它们缓存在内存中?)

我的设置(在Debian 7上运行):

  1. 端口80上的nginx

  2. 端口8080上的apache

  3. proxy_pass http://127.0.0.1:8080在nginx中使用将所有动态(php)请求推送到apache

  4. 使用静态子域直接通过nginx(不使用apache)传递静态内容(img,css,js,...).配置如下所示:

    server {
        server_name static.DOMAIN.net;
        root /var/www/DOMAIN.net/static/;
        access_log off;
        error_log /var/log/nginx/DOMAIN.net/error.log;
        location / {
            expires max;
            add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

根据我的理解,它目前对静态文件的作用是,nginx从中获取文件/var/www/DOMAIN.net/static/并传递它,添加此文件长时间不会过期的标头信息,但客户端应始终检查是否有更新的文件版本(因为目前这些静态文件不时更新,我希望它们确保客户端使用最新的css和imgs).基本上我告诉客户端在浏览器中缓存静态内容.

我的问题:我有一个网站,其缩小的css文件大小约为12 KB.现在用户访问DOMAIN.net/some.php.根据Google的Critical Path Explorer,将html-result传递给请求用户需要大约5ms.这可以.然后发送css需要300-400ms.在这种情况下,关键路径显然是"加载html,然后加载css,然后完成".基本上这意味着在用户的浏览器可以显示网站之前需要大约400毫秒,然后开始异步请求图像并在它们到达时显示它们.图像的大小也很慢,但至少它们不会阻止网站在浏览器中加载/显示.所以我真的需要加快静态文件的传递.证明在400ms内交付12KB css是可悲的:我也使用http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js这个网站上的文件.这个文件要大得多,但只需要大约10毫秒.我知道我不是谷歌,可能无法达到他们的时间,但我目前的交货时间很糟糕.

我的理论:我需要更改nginx,以便将静态文件缓存在内存中.我研究了关于nginx和缓存文件的abit,但我发现的所有命令proxy_cache都是为了另一个目的(在我的设置中我会用它来缓存nginx从apache获取的东西 - 我不想缓存虽然动态PHP的东西,我想缓存静态CSS和图像).

那么:我如何加快静态文件传递?nginx能以某种方式将文件存储在内存中吗?还有什么可以加快交货速度?

目前nginx.conf:

user www-data;
worker_processes 4;
pid /var/run/nginx.pid;

events {
        worker_connections 4096;
        # multi_accept on;
}

http {

        ##
        # Basic Settings
        ##

        sendfile on;
        tcp_nopush on;
        tcp_nodelay …
Run Code Online (Sandbox Code Playgroud)

caching nginx

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

如何使用 CSS 将背景图像淡化为黑色?

我想要一个不重复的背景图像。当图像结束时,它应该柔和地淡化为黑色。

这是我的意思的一个例子,它只是错过了“软衰落”。图像突然结束并且有黑色,我希望这种过渡更平滑。那可能吗?

(图片随机取自谷歌)

body {
    background:url(http://www.stadtteilschule-oejendorf.de/Unterricht/files/stacks_image_2936.png) #000 no-repeat;
}
Run Code Online (Sandbox Code Playgroud)

现场演示:http : //jsfiddle.net/sMc8a/

css

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

javadoc 的默认值

我有一个有AppConfig班级的图书馆。

告知其他使用该库的开发人员默认值是什么的最佳方式是什么AppConfig

我的一个想法是在 javadoc 中提及它,如下所示:

public class AppConfig {
   private int someSetting = 50;

   /**
    * This setting does something.
    *
    * @default 50
    */
   public int setSomeSetting(int someSetting){
      this.someSetting = someSetting;
   }
}
Run Code Online (Sandbox Code Playgroud)

但这种情况的实际最佳实践是什么?

(因为我相信@default这并不是真正受支持的标签)

java javadoc

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

为什么"font"忽略CSS中的"line-height",而"font-size"却没有?

我经历了一种非常奇怪的行为.为什么test2忽略行高,而test1工作正常?(背景颜色只是为了更好地识别容器)

body {
    line-height:0.8;
}

.test1 {
    background:#fdf;
    font-size:24px;
    font-family:Arial,sans-serif;
}
.test2 {
    background:#ffd;
    font:24px Arial,sans-serif;
}
Run Code Online (Sandbox Code Playgroud)

现场演示:http://jsfiddle.net/tHUeg/4/

css

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

在不锁定MariaDB / MySQL的情况下删除?(InnoDB)

据我所知,DELETE FROM ... WHERE在桌子上发出了锁。

现在,我在MariaDB中有一个正在使用的巨大的InnoDB表,大小为1TB +,正在使用它,直到在整个数据库中搜索要删除的行之后才锁定它。

有什么方法可以删除符合特定条件的行而不在删除发生时锁定它?

这是此情况的更多详细信息:

  • 服务器正在从Debian Stretch存储库运行MariaDB 10.1.22-3
  • 该服务器具有32 GB的ram和 innodb_buffer_pool_size = 20G
  • 该数据库的大小为1TB +,INSERT并且SELECT始终有很多active 和。
  • 整个数据库仅包含2个表:
    • 一张用于实际数据的表(基本上具有如下结构data (BIGINT id, LONGTEXT data):(其中data有大量JSON。我知道这不是一个完美的关系数据库模型,但是JSON来自第三方,它非常复杂,并且可能包含第三方随时更改结构,恕不另行通知)
    • 还有一张表,用于满足SELECTs的某种“索引” 。(简化的示例,其结构可能类似于data_index (BIGINT id, INT userId, INT itemId, BIGINT timestamp),因此我可以SELECT在userId和itemId上使用,并加入实际数据。(时间戳是unix时间戳,以毫秒为单位)
  • 就像我说的那样,数据只能存储有限的时间。因此,基本上现在我想创建一个每天运行一次的cronjob,以删除7天以上的行。

为了完成任务,我自然会想到一个简单的查询:

DELETE `data`, `data_index`
FROM `data_index`
LEFT JOIN `data` ON `data`.`id` = `data_index`.`id`
WHERE `timestamp` > (NOW() * 1000) - (7 * 24 * 60 * …
Run Code Online (Sandbox Code Playgroud)

mysql database mariadb

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

我可以将背景图像淡入背景颜色吗?

我想要一个网站有一个背景颜色,一个随着宽度缩放的背景图像,并保持纵横比。到目前为止很容易:

body {
    background-attachment:fixed;
    background-color:#ff9999;
    background-image:url(https://i.redd.it/x7hdjnmupu901.jpg); // random image from google search
    background-position:top center;
    background-repeat:no-repeat;
    background-size:100% auto;
}
Run Code Online (Sandbox Code Playgroud)

现在,是否可以使用 CSS 将背景图像的底部“淡入”背景颜色?比如,背景图像的底部 50 个像素是否慢慢失去了 alpha 值,所以它顺利进入背景颜色?

这是一个 JSFiddle,如果有人想看这个/玩它:http : //jsfiddle.net/wkz1t2b3/5/

css

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

如何在chart.js 中为图表和工具提示设置不同的值?

我想使用 chart.js 中的雷达图来显示与平均值相比的几个属性。

例如,我可能想显示与平均值相比的特定人的size,weightipd(瞳孔间距)。

现在,如果我简单地将原始数字放入图表中,那看起来会很奇怪,因为每个属性的值无法相互比较,并且会以奇怪的方式拉伸雷达图。所以我做的是从每个属性中取一个比率并将其作为数据输入。例如,1.10如果某人比平均水平高 10% ,这可能意味着我的尺寸为,或者0.95如果某人比平均水平轻 5%,则我的体重为。

但是现在当悬停在数据点上时,工具提示会显示我作为数据值输入的比率,因此工具提示会告诉我Size: 1.10。我希望在工具提示中有真正的价值,比如Size: 1.85m.

我怎样才能有一个与data用于绘制图表的实际值不同的“工具提示值” ?我当前的代码如下。

HTML:

<canvas id="chart-human"></canvas>
Run Code Online (Sandbox Code Playgroud)

JS:

var ctx = document.getElementById('chart-human');
var data = {
    labels: ['Size', 'Weight', 'IPD'],
    datasets: [
        {
            label: 'Sam Smith',
            data: [1.10, 0.95, 1.23]
        },
        {
            label: 'Average',
            data: [1, 1, 1]
        }
    ]
};
var options = {};
var chart = new Chart(ctx, {
    type: 'radar',
    data: data, …
Run Code Online (Sandbox Code Playgroud)

javascript jquery chart.js

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

在迭代之前调用 isEmpty() 是多余的吗?

鉴于Collection<Object> foo,我通常会在迭代之前进行此检查:

    if (foo != null && !foo.isEmpty()) {
        for (Object f : foo) {
            // ...
        }
    }
Run Code Online (Sandbox Code Playgroud)

我只是想知道,这被认为是最佳实践吗?isEmpty()检查不应该是多余的,因为for()它只会忽略一个空集合而不会抛出错误?

null检查如何- 这是必要的还是有办法for()简单地忽略null集合?(没有尝试捕捉 for 循环)

java

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

我应该在removeClass()之前检查元素是否为hasClass()?

如果我肯定想从某个元素中删除某个类,我应该盲目地打电话removeClass()还是应该先查看hasClass()

在这两种方法中都有任何值得提及的性能优势吗?这是最好的做法吗?

例:

function showMessage(){
    $('.message').removeClass('hidden');
}
Run Code Online (Sandbox Code Playgroud)

function showMessage(){
    if($('.message').hasClass('hidden')){
        $('.message').removeClass('hidden');
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

textarea.append()在手动输入后停止工作

我设法把它缩小到一个非常小的小提琴:

https://jsfiddle.net/wn7aLf3o/4/

基本上当你点击'append'时,它应该在textarea中添加一个"X".这很好用,直到我决定集中textarea并手动输入一些东西.然后我不能再附加X.

在Chrome和Firefox中测试过.我究竟做错了什么?

HTML:

<div id="append">append</div>
<textarea id="text"></textarea>
Run Code Online (Sandbox Code Playgroud)

JQuery的:

$(function(){
    $(document).on('click', '#append', function(){
    $('#text').append(" X");
  });
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

-1
推荐指数
1
解决办法
41
查看次数