小编Cur*_*ma_的帖子

约束数据库

我知道约束编程背后的直觉,可以说我从未真正体验过使用约束求解器进行编程。尽管我认为能够获得我们定义为一致数据的情况是不同的情况。

内容:

我们有一组要在ETL服务器上实现的规则。这些规则是:

  • 一排。
  • 行在一个或多个表中。
  • 在两次运行之间的行为方式相同(它应该对所有数据保持相同的约束,或者仅对最后n次运行);

第三种情况与第二种情况不同,它在第二种情况成立时适用,但运行次数已明确定义。它可能适用于单次运行(一个文件),或之间(1到n(先前)或在所有文件上)。

从技术上讲,正如我们所构思的ETL一样,它在两次运行之间没有内存:两个文件(但这需要重新考虑)

对于第三种规则的应用,ETL需要具有内存(我认为我们将最终备份ETL中的数据)。或在某个时间段后通过对整个数据库进行无限次重新检查(一个作业),因此最终存储在数据库中的数据不一定能及时满足第三种规则。

例:

当我们有连续的数据流时,我们将约束应用于整个约束数据库,第二天我们将收到一个月的备份或更正数据,对于这个时间范围,我们希望仅对此满足约束运行(此时间窗口),而不用担心整个数据库,对于将来的运行,所有数据都应像以前一样受到约束,而不必担心过去的数据。您可以想象其他符合时态逻辑的规则。

目前,我们只实施了第一类规则。我认为它的方式是拥有一个缩小的数据库(任何类型的数据库:MySQL,PostgreSQL,MongoDB ...),该数据库备份所有数据(仅包含受约束的列,可能带有散列值),并带有基于早期基于一致性的标志一种规则。

问题:是否有任何解决方案/概念替代方案可以简化此过程?

为了说明在库克的编程语言; 一组规则和以下操作的示例:

run1 : WHEN tableA.ID == tableB.ID AND tableA.column1 > tableB.column2
       BACK-UP 
       FLAG tableA.rule1
AFTER run1 : LOG ('WARN')

run2 : WHEN tableA.column1 > 0
       DO NOT BACK-UP 
       FLAG tableA.rule2
AFTER run2 : LOG ('ERROR')
Run Code Online (Sandbox Code Playgroud)

注意:虽然约束编程理论上是解决组合问题的范例,但实际上可以加快问题的开发和执行;我认为这与约束解决问题有所不同。由于第一个目的不是在解决之前优化约束,所以可能甚至没有限制数据域。主要关心的是在数据接收上应用规则并执行一些基本操作(拒绝行,接受行,记录...)。

我真的希望这不是一个很广泛的问题,这是正确的地方。

database validation etl constraints

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

当HttpServer无法找到资源时,在球衣中丢弃自定义404错误的位置

我想自定义404响应,服务器(不是我)在无法找到所请求的资源时抛出,(或者自己抛出一个自定义的WebApplicationException,如果可以测试一个应用程序中是否存在所请求的资源?可能是资源列表存储在某处?).请不要向我推荐那些建议扩展WebApplicationException的解决方案,因为即使这样做,我的问题是何时抛出它?,当找不到资源时!但如何在泽西框架中表达这种需求

jersey httpserver http-status-code-404

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

在关系中不同主题的情绪分析中处理(得分)分散的正确方法是什么?

我正在分析社交网络上的情绪.基于相关的不同主题作为输入.我们如何处理个别主题分数的分散?

例如:我们试图对包含不同关键字的主题的主题情绪进行评分,假设主题是创新周,其中包含以下主题(关键字或同义词):

Innovation week = {"innovation week", "data solution", "emerging technologies", "august 30"...}.

如果分数的标准偏差如此之大,该怎么办?我们是否质疑:

  • 情绪分析算法本身?

  • 输入关键字?

  • 或者我们只是按原样取得结果?因为它们代表了构成主题的不同粒度级别的人们的不同观点?最终的目的是对主题有一个总体的见解.

我认为问题很简单,尽管这是社交网络中任何情绪分析研究的一个问题.

sentiment-analysis

5
推荐指数
0
解决办法
141
查看次数

为 Amazon sagemaker 笔记本创建两个生命周期配置脚本

我有两个生命周期脚本执行两个逻辑块,从技术上讲,根据定义,所有脚本都可以是单个脚本(只是在实例启动时运行的 shell 脚本)。

实际上,对于多个笔记本,我的两个生命周期非常不同,一个是通用的:仅根据技术环境进行更改:开发、生产、沙箱;但另一个更具体:每个区域和每个用户。

重构现有代码非常困难,因此已经存在的生命周期(通用生命周期)这次是特定于用户/区域的会话。

另外,在运行时,根据用户的选择,新的 Sagemaker 可以有一个策略,也可以有两个策略,也可以没有策略。

我花了一些时间阅读 AWS 文档,但似乎只有一个生命周期可以附加到一台 sagemaker 笔记本上。

有解决方法吗?

amazon-web-services amazon-sagemaker

5
推荐指数
0
解决办法
617
查看次数

为什么int的maxValue + 1与maxValue相同,但不是短路和字节?

我遇到了Java原始类型范围,我想出了一个小小的混乱,这里有一些代码清楚地说明了它的含义:

System.out.println((byte) (Math.pow(2, 7))+1); //the maximum value + 1 overflows to the minimum value
System.out.println((short) (Math.pow(2, 15)-1)); //same for shorts
System.out.println((int) Math.pow(2, 31)); 
System.out.println((int) (Math.pow(2, 31)+1)); //returns the maximum value of the int range
System.out.println((int) (Math.pow(2, 31)+100)); //returns the maximum value of the int range
Run Code Online (Sandbox Code Playgroud)

java types range primitive-types

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

有没有办法提高 nltk.sentiment.vader 情绪分析器的性能?

我的文字来源于社交网络,所以你可以想象它的本质,我认为文字是我所能想象的干净和最小的;执行以下消毒后:

  • 没有网址,没有用户名
  • 没有标点符号,没有重音
  • 没有数字
  • 没有停用词(我认为维达无论如何都会这样做)

我认为运行时间是线性的,我不打算进行任何并行化,因为更改可用代码需要付出大量的努力,例如,对于大约 1000 个文本,范围从 ~50 kb 到 ~150 kb 字节,它需要大约

在我的机器上运行时间约为 10 分钟。

有没有更好的方法来输入算法以加快烹饪时间?代码就像 SentimentIntensityAnalyzer 的工作一样简单,这是主要部分

sid = SentimentIntensityAnalyzer()

c.execute("select body, creation_date, group_id from posts where (substring(lower(body) from (%s))=(%s)) and language=\'en\' order by creation _ date DESC (s,s,)")
conn.commit()
if(c.rowcount>0):
                dump_fetched = c.fetchall()

textsSql=pd.DataFrame(dump_fetched,columns=['body','created_at', 'group_id'])
del dump_fetched
gc.collect()
texts = textsSql['body'].values
# here, some data manipulation: steps listed above
polarity_ = [sid.polarity_scores(s)['compound'] for s in texts]
Run Code Online (Sandbox Code Playgroud)

python performance data-manipulation sentiment-analysis vader

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

维德SentimentIntensityAnalyzer是多语言的吗?

我陷入了情绪分析,发现了Vader解决方案,这是迄今为止我能找到的最好的解决方案。我的问题是,我找不到任何有关如何用英语以外的其他语言来喂养它的文档。

python machine-learning sentiment-analysis vader

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

使用 Helmet 设置 CSP 和 CORP 标头后未加载资源

为了使网络应用程序更安全并迫使自己更好地控制未来的添加(不同 CDN 上的 JS 和 CSS 资产),我在我的 Fastify(与 Express 相同)网络应用程序中运行 Helmet 插件。

如果我停用所有头盔控件,如下所示: fastify.register(helmet, false)一切正常并且所有资源都加载到客户端上。

然后我尝试用不同的配置玩(直到精疲力竭),但没有任何效果。配置和浏览器错误如下:

{
    // contentSecurityPolicy: false,
    crossOriginResourcePolicy: { policy: 'same-site'}, 
    contentSecurityPolicy: {
      directives: {
        ...require("fastify-helmet").contentSecurityPolicy.getDefaultDirectives(),
        "default-src": ["'self'"],
        "style-src": ["'self'", "'unsafe-inline'", 'unpkg.com', 'cdn.jsdelivr.net',
          'fonts.googleapis.com', 'use.fontawesome.com'],
        "script-src": ["'self'", 'unpkg.com', "cdn.jsdelivr.net", "'unsafe-inline'"],
        "img-src": ["'self'", "'data'", "*.tile.osm.org"],
        "font-src": ["'self'", 'fonts.googleapis.com', 'fonts.gstatic.com', 'use.fontawesome.com']
      },
    },
  };
Run Code Online (Sandbox Code Playgroud)

均匀设置

{ contentSecurityPolicy: false, crossOriginResourcePolicy: { policy: 'same-site'} }
Run Code Online (Sandbox Code Playgroud)

与政策的其他变化:同源、跨源似乎都不起作用。

错误

正如你所看到的,我也在 LOCALHOST 上运行,我没有在其他地方进行测试。

node.js content-security-policy helmet.js

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

当V是T中的属性对象时,如何将数组T []转换为V []

一种简单的方法是迭代数组T []并分配其类型为V的字段并填充新数组.但是,是否有更高效/更优雅的方式(可能是Java中的内置功能)?

编辑:我试过的代码:

Locale[] locs = Locale.getAvailableLocales();
String[] coutries = new String[locs.length] ;
for (int i = 0; i < locs.length; i++) {
    coutries[i] = locs[i].getDisplayCountry();
}
Run Code Online (Sandbox Code Playgroud)

Edit2:对于大约200个元素的小数组,似乎对流使用map操作更快,这是第二种方法:

coutries = Arrays.stream(locs).map(Locale -> Locale.getDisplayCountry()).toArray(String[]::new);
Run Code Online (Sandbox Code Playgroud)

java arrays iteration performance

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

Javascript 中的 Json 索引数组

有这样一个对象

obj = [{id:1, val:"blabla"}, {id:2, val:"gnagna"}] 
Run Code Online (Sandbox Code Playgroud)

我们如何objidlike索引obj[id==1](Pandas Pythonic 方式)。

我假设以下几点:

  1. 数组内的对象都有 id。
  2. 假设匹配的其他对象相等,则采用匹配的第一个出现的 id。

javascript json

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

在Java中声明并初始化数组

可能重复:
我可以使用Java中的相同指令声明和初始化数组吗?

如何在Java中声明一个数组,同时初始化它的一些已知元素?首先,此方法声明但不初始化元素:

public static someClass myArray[] = new someClass[10]; // all values are null,
Run Code Online (Sandbox Code Playgroud)

现在想象我知道第​​一个元素的值而不是其他元素,它是在一些逻辑之后我为它们赋值,第二个建议是:

public static someClass[] myArray = {new someClass(),null,null};
Run Code Online (Sandbox Code Playgroud)

所以这条指令有效,但对200个元素的数组做同样的事情是不切实际的

java arrays null initialization declaration

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