小编Ash*_*hti的帖子

使用jspdf创建的Pdf文件大小太大

我正在使用jspdf在浏览器中创建PDF.我有多个图表有svg作为图表数据.为了向pdf添加数据,我正在使用canvas将svg转换为png,然后使用canvas.toDataURL方法将Base64 Data转换为png .在所有这些转换之后,jspdf创建的文件大小很大(大约50 MB).下面是图表数据和画布div的代码.

newdiv = document.createElement("div");
newdiv.className = "big_Con_graph big_Con_graph0";
newdiv.style.height = "0px";
newdiv.id = "big_Con_graph" + id;
Run Code Online (Sandbox Code Playgroud)

下面是SVG图表加载的尺寸.

document.getElementById("big_Con_graph" + id).style.display = "block";
var big_chartReference = FusionCharts("big_myChartId"+id);
if(big_chartReference != null){
    big_chartReference.dispose();
}
var big_width = "1088";
var big_height = "604";
Run Code Online (Sandbox Code Playgroud)

现在,下面是转换上面的图形SVG数据并添加到PDF的代码.

var elem_graph = $($('.big_Con_graph,big_Con_graph0')[count]).clone(true);
svgString = $(elem_graph).find("span").html();
var img = document.createElement('img');
var DOMURL = self.URL || self.webkitURL || self;
var svg = new Blob([svgString], {type: "image/svg+xml;charset=utf-8"});
var url = DOMURL.createObjectURL(svg);
img.onload = pdfAfterImageLoad(img,pdf,imgLoadSequence,DOMURL,totalReports,reportName);
img.src = …
Run Code Online (Sandbox Code Playgroud)

javascript base64 fusioncharts html5-canvas jspdf

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

FORALL循环中的多个SQL语句

我想在oracle中只插入单个FORALL循环的不同表中插入.但FORALL不支持它.任何想法我该怎么办?

   create or replace PROCEDURE test IS
      TYPE avl_web_details IS TABLE OF available_web_details%ROWTYPE;
      var_avl_web_details avl_web_details := avl_web_details();
      UNIONTABLE VARCHAR2(30000);
      TYPE RepCurTyp IS REF CURSOR; 
      Rep_cv RepCurTyp; 
   BEGIN
      UNIONTABLE := '';
  execute immediate 'update tbl_used_webuda1 set flag=1';
  FOR tbl IN (SELECT tablename FROM tbl_used_webuda1 where flag=1)
      LOOP             
    UNIONTABLE := UNIONTABLE || 'select *' || ' from ' || tbl.tablename || 'union all ';     
END LOOP;

       IF (LENGTH(UNIONTABLE) > 10) THEN
      UNIONTABLE := '( ' || SUBSTR(UNIONTABLE,1, length(UNIONTABLE)-10) || ' ) '; …
Run Code Online (Sandbox Code Playgroud)

sql oracle11g forall

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

由于IPV6需要128位(16字节),为什么在postgres CIDR数据类型中存储为24字节(8.1)和19字节(9.1)?

我正在使用ipv4和ipv6存储在postgres db中.

因为ipv4需要32位(4字节)而ipv6需要128(16byte)位.那么为什么在postgres中CIDR和INET数据类型的存储分别为IPV4和IPV6(8.1)的12字节和24字节.

对于IPV4和IPV6,它分别有7个字节和19个字节.

我不明白为什么它需要超过16字节的额外字节用于存储IPV6和4字节用于IPV4?

http://www.postgresql.org/docs/8.1/static/datatype-net-types.html

http://www.postgresql.org/docs/9.1/interactive/datatype-net-types.html

postgresql ipv4 ipv6 cidr inet

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

哪个最好使用Fusionchart或Highcharts?

我正在构建报告解决方案.经过大量研究后,我将选择范围缩小到两个解决方案:HighChart和FusionChart.在这两者之间,我仍然无法决定应该购买哪一件.

FusionChart是否支持像HighCharts一样动画重绘图表?闪存是否具有大型数据集?

FusionCharts发布了它与其他产品的比较

这些报告选项有哪些优点和缺点,所以我可以决定哪个更适合我的应用程序?

javascript flash fusioncharts highcharts

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

Hbase用Hadoop映射降低性能的原因是什么?

我已经使用完全分布式模式的3台计算机配置了hadoop1.0.3.在作业正在运行的第一台机器上:

1) 4316 SecondaryNameNode 4006 NameNode 4159 DataNode 4619 TaskTracker 4425 JobTracker

2) 2794 TaskTracker 2672 DataNode

3) 3338 DataNode 3447 TaskTracker

现在,当我运行简单的map reduce作业时,执行map reducejob需要更长的时间.所以我在Hadoop.now上安装了HBASE层我在3个集群上有以下HBASE进程.

1)    5115 HQuorumPeer     5198 HMaster    5408 HRegionServer
2)    3719 HRegionServer    3617 HQuorumPeer
3)    2937 HQuorumPeer    2719 HRegionServer
Run Code Online (Sandbox Code Playgroud)

在HBASE当我运行映射简化工作为1,00,000数据,它正在采取1分钟,同为1,00,00,000 data.now我想要的结果,在短短毫秒.我应该采取哪些措施进行改进?

我是一个新手,所以请帮助我或建议一些HBASE或hadoop的分层,这样我可以在几毫秒内得到结果.

我总结以下记录:

hbase(main):007:0> describe 'weblog'
DESCRIPTION                                                                 ENABLED                                       
 'weblog', {NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER =>    true
 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '3', COMPRESSION => 'NONE'
 , MIN_VERSIONS => '0', TTL => '2147483647', KEEP_DELETED_CELLS => …
Run Code Online (Sandbox Code Playgroud)

cloud hadoop hbase

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

Java阻止进程是否由runtime.exec创建?

从Java代码我按照下面的方式调用我的脚本文件,

Process  process =Runtime.getRuntime().exec("sh /usr/local/garner/garnerd start");
int status = process.waitFor();
Run Code Online (Sandbox Code Playgroud)

下面给出了garnerd脚本代码(后面又调用了garner.sh):

function start() 
{
    sh /usr/local/garner/garner.sh > /usr/local/garner/log/garner.log &
    echo "Garner is started"
}

case "$1" in
    start)
        start
        ;;
    *)
        echo "Usage: garnerd {start|stop|restart|status|reconfig}"
        exit 1
esac
exit $retval     
Run Code Online (Sandbox Code Playgroud)

Garner shell脚本(garner.sh)来源是:

/usr/local/garner/garnerd status
if [ $? -eq 0 ]; then
    echo "`date` $0 :Garner is allready running"
    exit 0
fi
touch /dev/blank
cd /usr/local/garner
uname -a | grep -i cygwin
if [ $? -eq 0 ]
then
    export CYGWIN="$CYGWIN …
Run Code Online (Sandbox Code Playgroud)

java runtime.exec

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