我需要一个正则表达式来匹配两个,整数值以及浮点数(而浮点数有一个"."作为分隔符).这些数字总是在括号内,可能有一个前导"+".
什么应该是有效的:
什么应该是无效的:
我将此字符串放在一个单元格 (A1) 中:
\nApple \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\nRun Code Online (Sandbox Code Playgroud)\n我需要找到一个可以组合重复条目并对它们的值求和的公式。因此,所需的输出是这样的(也在单个单元格中,比如说 B1):
\nApple \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\nRun 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)\nRun Code Online (Sandbox Code Playgroud)\n返回唯一值的数组
\n{"Apple", "Banana", "Cherry", "Peach", "Kiwi", "Fig"}\nRun 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) 我的设置(在Debian 7上运行):
端口80上的nginx
端口8080上的apache
proxy_pass http://127.0.0.1:8080在nginx中使用将所有动态(php)请求推送到apache
使用静态子域直接通过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) 我想要一个不重复的背景图像。当图像结束时,它应该柔和地淡化为黑色。
这是我的意思的一个例子,它只是错过了“软衰落”。图像突然结束并且有黑色,我希望这种过渡更平滑。那可能吗?
(图片随机取自谷歌)
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/
我有一个有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这并不是真正受支持的标签)
我经历了一种非常奇怪的行为.为什么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)
据我所知,DELETE FROM ... WHERE在桌子上发出了锁。
现在,我在MariaDB中有一个正在使用的巨大的InnoDB表,大小为1TB +,正在使用它,直到在整个数据库中搜索要删除的行之后才锁定它。
有什么方法可以删除符合特定条件的行而不在删除发生时锁定它?
这是此情况的更多详细信息:
innodb_buffer_pool_size = 20GINSERT并且SELECT始终有很多active 和。data (BIGINT id, LONGTEXT data):(其中data有大量JSON。我知道这不是一个完美的关系数据库模型,但是JSON来自第三方,它非常复杂,并且可能包含第三方随时更改结构,恕不另行通知)SELECTs的某种“索引” 。(简化的示例,其结构可能类似于data_index (BIGINT id, INT userId, INT itemId, BIGINT timestamp),因此我可以SELECT在userId和itemId上使用,并加入实际数据。(时间戳是unix时间戳,以毫秒为单位)为了完成任务,我自然会想到一个简单的查询:
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) 我想要一个网站有一个背景颜色,一个随着宽度缩放的背景图像,并保持纵横比。到目前为止很容易:
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/
我想使用 chart.js 中的雷达图来显示与平均值相比的几个属性。
例如,我可能想显示与平均值相比的特定人的size,weight和ipd(瞳孔间距)。
现在,如果我简单地将原始数字放入图表中,那看起来会很奇怪,因为每个属性的值无法相互比较,并且会以奇怪的方式拉伸雷达图。所以我做的是从每个属性中取一个比率并将其作为数据输入。例如,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) 鉴于Collection<Object> foo,我通常会在迭代之前进行此检查:
if (foo != null && !foo.isEmpty()) {
for (Object f : foo) {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
我只是想知道,这被认为是最佳实践吗?isEmpty()检查不应该是多余的,因为for()它只会忽略一个空集合而不会抛出错误?
null检查如何- 这是必要的还是有办法for()简单地忽略null集合?(没有尝试捕捉 for 循环)
如果我肯定想从某个元素中删除某个类,我应该盲目地打电话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) 我设法把它缩小到一个非常小的小提琴:
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)