问题约束
图表
下面的拼贴显示了具有相当准确的趋势线的数据集:
图表是:
用户输入
用户可以选择:
例如,用户可以在6月份选择30天的每日报告.
趋势重量
要计算窗口大小(即计算趋势线时要平均的数据点数),使用以下表达式:
data points / trend weight
Run Code Online (Sandbox Code Playgroud)
其中data points,从用户输入获得,trend weight是6.4.即使6.4的趋势权重产生良好的拟合,它也是相当随意的,并且可能不适合不同的用户输入.
题
trend weight考虑到这个问题的限制,应该如何计算?
我有一个包含敏感数据的表,根据数据保护策略,我们必须记录数据的每次读/写,包括行标识符和访问该表的用户。使用触发器编写没有问题,但SELECT语句不支持触发器。
这样做的最佳方法是什么?我查看了规则,但无法将它们INSERT放入表中,并且我尝试记录每个查询,但这似乎没有记录SELECT语句。理想情况下,为了安全起见,我想将日志保存在数据库的表中,但记录到文件也很好。
谢谢,
大卫
码
下面的代码计算线性回归的斜率和截距,以防止数据泄漏.然后,它将方程应用于y = mx + b相同的结果集,以计算每行的回归线的值.
如何连接两个查询,以便计算数据及其斜率/截距而不执行该WHERE子句两次?
问题的一般形式是:
SELECT a.group, func(a.group, avg_avg)
FROM a
(SELECT AVG(field1_avg) as avg_avg
FROM (SELECT a.group, AVG(field1) as field1_avg
FROM a
WHERE (SOME_CONDITION)
GROUP BY a.group) as several_lines -- potentially
) as one_line -- always
WHERE (SOME_CONDITION)
GROUP BY a.group -- again, potentially several lines
Run Code Online (Sandbox Code Playgroud)
我SOME_CONDITION执行了两次.如下所示(通过STRAIGHT_JOIN优化更新):
SELECT STRAIGHT_JOIN
AVG(D.AMOUNT) as AMOUNT,
Y.YEAR * ymxb.SLOPE + ymxb.INTERCEPT as REGRESSION_LINE,
Y.YEAR as YEAR,
MAKEDATE(Y.YEAR,1) as AMOUNT_DATE,
ymxb.SLOPE,
ymxb.INTERCEPT,
ymxb.CORRELATION, …Run Code Online (Sandbox Code Playgroud) OpenOffice Writer无法链接到ASCII文本源文件,应用语法突出显示,将其包装在帧中,并在源文件更改时更新帧内容.但是,OpenOffice Writer可以链接到图像,并在更改时自动更新图像.
图像需要是高分辨率(300 dpi或更高),语法着色适合白色背景(即打印页面).
如何从源代码文件自动创建高质量图像,例如:
大多数尝试都是以下主题的变体:
$ enscript --color -f Courier12 -B -1 --highlight=sql -h -o - source.sql |\
convert - -trim -border 10 source.png
Run Code Online (Sandbox Code Playgroud)
这种方法存在一些问题:
-resample并且-density没有改进).Courier100生成几个.png文件,需要将它们拼接在一起.-border 10意外更改背景颜色从白色到浅灰色.将源文件转换为PostScript - 完全避免使用ImageMagick - 然后将它们导入GIMP将产生所需的结果.不幸的是,该解决方案涉及一些手动工作,我的GIMP批处理编程经验几乎为零.
syntax-highlighting imagemagick openoffice-writer ghostscript enscript
下图显示了组织结构图:

这些Full Name盒子沿着它们的中心对齐。然而,所需的布局是将框沿顶部对齐:

该图的代码如下:
digraph G {
fixedwidth = true;
node [
shape="box",
style="rounded",
penwidth = 1,
width=2.0,
fontname = "Arial",
fontsize = 12
];
edge [
color="#142b30",
arrowhead="vee",
arrowsize=0.75,
penwidth = 2,
weight=1.0
];
A1 [ label = <
<TABLE BORDER="0" CELLSPACING="5">
<TR>
<TD><FONT POINT-SIZE="16">Top Level</FONT></TD>
</TR>
<TR>
<TD><FONT POINT-SIZE="18">Owner</FONT></TD>
</TR>
</TABLE>>
];
B3 [ label = <
<TABLE BORDER="0" CELLSPACING="5">
<TR>
<TD><FONT POINT-SIZE="12">Second Level<BR/>(1)</FONT></TD>
</TR>
<TR>
<TD><FONT POINT-SIZE="14">Owner</FONT></TD>
</TR>
</TABLE>>
];
B4 [ label …Run Code Online (Sandbox Code Playgroud) FreeLing API 定义了一个不遵守标准 Java 命名约定的接口。例如:
package freeling;
public class sentence extends ListWord {
public void set_parse_tree(parse_tree arg0) {
Run Code Online (Sandbox Code Playgroud)
class sentence : public std::list<word> {
public:
sentence(void);
void set_parse_tree(const parse_tree &);
Run Code Online (Sandbox Code Playgroud)
从学术上来说,您将如何将接口映射到传统的 Java 命名标准(例如,class Sentence和setParseTree( parseTree arg0 ))?
:1,$s/_\([a-z]\)/\u\1/g谢谢你!
一个包含大约20个表的简单数据库,其中包含唯一约束,主键和外键关系.这是仅供内部使用的数据库.只有两三个人可以直接访问数据.这些人中只有一人有资格成为DBA.
该数据库是使用DbSchema和PostgreSQL 9.1开发的.
该项目本身就是一个快速而肮脏的原型,但使用干净的数据.身份验证和安全性不是问题.
我想提供一个简单的基于Web的CRUD应用程序,以便在不必让DBA参与的情况下解决任何数据错误.
您建议使用哪种软件公开一个简单的Web界面,允许非DBA更新数据?
为了澄清,如果它是一个Java应用程序,这是我设想的简单性:
jar文件(例如crud-web-app.jar).java -jar crud-web-app.jar --username=postgres --password=password --host=localhost:5432 --database=database --listen=127.0.0.1:8080
Run Code Online (Sandbox Code Playgroud)phpPgAdmin接近,但我认为可能会有更简单的东西(即,对于非DBA而言不那么令人生畏).
有什么建议?
谢谢!
现有系统HashMap通过其Generics类创建了大量实例:
import java.util.Map;
import java.util.HashMap;
public class Generics {
public static <K,V> Map<K, V> newMap() {
return new HashMap<K,V>();
}
public static void main( String args[] ) {
Map<String, String> map = newMap();
}
}
Run Code Online (Sandbox Code Playgroud)
这是实现Map接口的所有类实例的单点创建.我们希望能够在不重新编译应用程序的情况下更改地图实现.这将允许我们使用Trove THashMap,例如,优化应用程序.
THashMap由于许可条件,该软件无法与Trove捆绑在一起.因此,如果有一种方法可以指定要在运行时实例化的地图名称(对于那些没有此类许可限制的人),那将会很棒.例如:
import java.util.Map;
import java.util.HashMap;
import gnu.trove.map.hash.THashMap;
public class Generics {
private String mapClassName = "java.util.HashMap";
@SuppressWarnings("unchecked")
public <K,V> Map<K,V> newMap() {
Map<K,V> map;
try {
Class<? extends Map<K,V>> c = (Class<Map<K,V>>)Class.forName(
getMapClassName() …Run Code Online (Sandbox Code Playgroud) 我正在尝试从数据库更新记录QueryOver.我的代码最初创建一个实体并保存在数据库中,然后在外部数据库上更新相同的记录(从其他程序,手动或在其他机器上运行的相同程序),当我queryOver通过字段更改调用过滤时,查询得到记录,但没有最新的变化.
这是我的代码:
//create the entity and save in database
MyEntity myEntity = CreateDummyEntity();
myEntity.Name = "new_name";
MyService.SaveEntity(myEntity);
// now the entity is updated externally changing the name property with the
// "modified_name" value (for example manually in TOAD, SQL Server,etc..)
//get the entity with QueryOver
var result = NhibernateHelper.Session
.QueryOver<MyEntity>()
.Where(param => param.Name == "modified_name")
.List<T>();
Run Code Online (Sandbox Code Playgroud)
前一个语句获取的集合只有一个记录(好),但是使用旧值而不是"modified_name" 建立了name属性.
我怎么能解决这个问题?一级缓存令我不安?出现同样的问题
CreateCriteria<T>();
Run Code Online (Sandbox Code Playgroud)
我的NhibernateHelper中的会话在任何时候都没有因应用程序框架要求而关闭,只是为session.Save()关联的每个提交创建了事务.如果我打开一个新会话来执行查询显然我从数据库中获得了最新的更改,但设计要求不允许这种方法.
此外,我已经在NHibernate SQL输出中检查了正在执行带有WHERE子句的select(因此Nhibernate命中数据库)但是不更新返回的对象!
这是调用session.Save之后SaveEntity中的代码:完成对Commit方法的调用
public virtual void Commit()
{ …Run Code Online (Sandbox Code Playgroud)