更新:我正在寻找一种技术来计算我的算法的所有边缘情况(或任意算法)的数据.
我到目前为止所尝试的只是考虑可能是边缘情况+产生一些"随机"数据,但我不知道我怎么能更确定我没有错过真正的用户将能够弄乱的东西..
我想检查一下我没有错过我的算法中的重要内容,我不知道如何生成测试数据来涵盖所有可能的情况:
该任务是报告每一个数据快照Event_Date,但要单独一行,可能属于编辑下一个Event_Date -见第2组)对输入和输出数据说明:

我的算法:
event_dates和计算列表next_event_datemain_audit_table并计算最大的transaction_id为每个快照(第1-4组在我的插图) -通过细分电子邮件id,event_date并根据是否2个选项transaction_date < next_event_date是真还是假main_audit_table结果以获取相同的其他数据transaction_idcosts_audit_table结果 - 使用transaction_id小于transaction_id结果的最大值我的问题:
我的代码(需要测试):
select
snapshots.id,
snapshots.event_date,
main.event,
main.transaction_date as last_change,
costs.costs as costs_2012
from (
--snapshots that return correct transaction ids grouped …Run Code Online (Sandbox Code Playgroud) 我想要做的是你有一个随机日期列表,它永远不会是相同的所以它必须是一个通用的公式,但你得到任何日期,一年中的任何日期,然后每个星期四是一个开始的新的一周.对于每个日期,您将日期设置为星期四,它大于前一个日期,小于星期四.
举例来澄清,因为我模糊不清,说你到了2012年6月24日.6月24日大于2012年6月21日(也就是上周四),不到2012年6月28日,即下周四.这意味着它应该在2012年6月28日的旁边的列中生成值.
这有什么意义吗?根据您获得的任何日期值,您可以计算它应该生成哪个星期四的日期?有什么办法在excel中做到这一点?
使用构造函数创建的这两个对象到底有什么不同?ab
该属性__proto__对于使用闭包无法实现的任何内容都有用吗?我应该在不同情况下使用这些技术吗?内存使用量有差异吗?
(jsFiddle)
window.MODULE = {};
MODULE.constructor = function(){
this.publicVariable = 10;
};
MODULE.constructor.prototype.publicMethod = function(){
return this.publicVariable;
};
//-------------------------------//
MODULE.closure = (function(){
var publicMethod = function(){
return this.publicVariable;
};
return function(){
var obj = {};
obj.publicVariable = 10;
obj.publicMethod = publicMethod;
return obj;
};
}());
//-------------------------------//
var a = new MODULE.constructor();
console.log("constructor", a.publicMethod(), a)
var b = MODULE.closure();
console.log("closure", b.publicMethod(), b)
Run Code Online (Sandbox Code Playgroud)
还可以看到一个更复杂的jsFiddle与一些私有和静态属性的比较 - 两种技术的工作方式相同,据我所知...
我想按照本教程(https://facebook.github.io/react-native/docs/getting-started.html)开始学习react-native。
我遵循了第一步,在命令行上遇到了一些问题:expo init AwesomeProject
这是日志:
PS C:\Users\ANTD\react_native> expo init AwesomeProject2
? Choose a template: blank
[09:06:11] Extracting project files...
Process exited with non-zero code: 2
ERROR: C:\Users\ANTD\.expo\starter-app-cache\blank-31.0.0.tar.gz
C:\Users\ANTD\.expo\starter-app-cache\blank-31.0.0.tar.gz
Open ERROR: Can not open the file as [gzip] archive
ERRORS:
Is not archive
Process exited with non-zero code: 2
[09:06:11] Customizing project...
[09:06:11] ENOENT: no such file or directory, open 'C:\Users\ANTD\react_native\AwesomeProject2\app.json'
[09:06:11] Set EXPO_DEBUG=true in your env to view the stack trace.
Run Code Online (Sandbox Code Playgroud)
我在github页面和论坛上搜索,但未找到相关信息。我也尝试过这个:
deleted files in .expo folder
npm …Run Code Online (Sandbox Code Playgroud) 用Python 2.7.让我们说我们已经list_of_nums = [1,2,2,3,4,5]
并且我们想要删除所有出现的2.我们可以通过list_of_nums[:] = filter(lambda x: x! = 2, list_of_nums)或 实现它
list_of_nums = filter(lambda x: x! = 2, list_of_nums).
这是"就地"替代吗?另外,我们在使用过滤器时是否创建了列表副本?
正如可以使用正则表达式来匹配嵌套模式?,无法创建正则表达式来匹配任意嵌套模式.但是有可能创建一个能够生成n级"nesteness"正则表达式的算法吗?
基本上,我想,以取代trim(whatever)与rtrim(ltrim(whatever))
我设法手动创建3个级别(javascript语法):
level[1] = /\(([^()]*)\)/g
level[2] = /\(((?:[^()]*\([^()]*\))*[^()]*)\)/g
level[3] = /\(((?:(?:(?:[^()]*\([^()]*\))*[^()]*)*\((?:(?:[^()]*\([^()]*\))*[^()]*)*\))*[^()]*)\)/g
Run Code Online (Sandbox Code Playgroud)
这里有一些测试数据:
1st(ddd) + 1st(ddd)
2nd(dd(d))
3rd(a(b) + (cd(h) + d(dfas) + zzz))
4th(a(b(c(d))))
8th(a(b(c(d(e(f(g()))))))
Run Code Online (Sandbox Code Playgroud)
我知道在每个级别都[^()]*需要用可以包含括号的非捕获组替换,但我不确定如何将该算法推广到第n级 ......
见下面的例子.
我需要显示示例中显示的true和false值.
逻辑需要确保"开始和结束"属于该列时间段.D列的时间段将于12月9日至14日,下一栏(E)将于12月15日至20日,依此类推.可以将其视为显示时间范围的甘特图.
我正在尝试创建一个正则表达式.规则是:
1)只有字母(上下),数字,句号(.)和下划线(_)
2)必须以字母或数字开头和结尾(即没有句号/下划线)
3)连续不能有多个标点符号(no ..或._或_.或__或.._.等)
4)必须包含至少2个字母(上部或下部或两者都无关紧要)
5)不少于3个字符,不超过25个字符
到目前为止,我所拥有的是:
^((?!.*[\._]{2})[A-Za-z0-9\._]{3,25})$
Run Code Online (Sandbox Code Playgroud)
这是近在咫尺的.我有规则1,3和5,但无法弄清楚2和4.
我以为
(([A-Za-z0-9]?)([A-Za-z0-9\._]+)([A-Za-z0-9]?)){3,25}
Run Code Online (Sandbox Code Playgroud)
会得到规则2,但它只是打破它.
我一直在研究这个问题几个小时,但我找不到或者想出的解决方案都不是我想要的.
您提供的正则表达式声明的解释将非常感激,但并非完全必要.
编辑1
按照noob的建议:
^((?!.*[\._]{2})(([\w\d\.]+)){3,25})$
Run Code Online (Sandbox Code Playgroud)
编辑2
有效:
1rockit.man
q3w
e4.45r.d.2
sp_am
Run Code Online (Sandbox Code Playgroud)
(以及3到25个字符之间的任何其他内容,不带引号或重复标点符号)
无效:
.ret.
123
12a
ret..wer
super_.duper
_petrat
petrat_
Run Code Online (Sandbox Code Playgroud) 我正在研究一个mysql查询,它让我很头疼!
场景:
我正在建立一个网站,人们可以选择他们感兴趣的行业(NOTIFY_INDUSTRY).我加入选定的值并存储在数据库字段中.
示例:成员选择农业(id = 9)和石油和天然气(id = 13).我以9-13加入它们并存储在数据库中.用户可以选择多个行业,不限于两个行业.
此外,成员可以选择它所属的行业(COMPANY_INDUSTRY),也可以选择存储在数据库中的信息技术.
Sample table (members):
ID
EMAIL
COMPANY_NAME
COMPANY_INDUSTRY
NOTIFY_INDUSTRY
Run Code Online (Sandbox Code Playgroud)
问题:
当新用户在网站上注册时,邮件(邮件每天发送)将发送给拥有新用户行业(COMPANY_INDUSTRY)作为其感兴趣行业之一的现有用户(NOTIFY_INDUSTRY).
我做了什么:
$sql="select id, email
from members
where notify_industry in (
select company_industry
from members
where datediff($today, date_activated) <= 1)"
Run Code Online (Sandbox Code Playgroud)
这不会选择正确的成员,我不知道正确的方法去做
编辑 - 当前输出的确切问题:
不返回任何行,即使它应该.
假设新用户的company_industry是9,并且现有用户有notify_industry:10-9-20; 它旨在返回现有成员的电子邮件,因为新成员属于现有成员感兴趣的类别; 但我得到了空白
javascript ×3
algorithm ×2
excel ×2
regex ×2
sql ×2
calendar ×1
closures ×1
conditional ×1
constructor ×1
expo ×1
lambda ×1
mysql ×1
npm ×1
python ×1
python-2.7 ×1
react-native ×1
recursion ×1
select ×1
testing ×1