/*
* Copyright (c) 2017 Niklas Knaack
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
!function() {
function t(t, e) {
function o() {
F = document.createElementNS(N, "svg"), F.addEventListener(
"mousemove", v), t.appendChild(F), x.bgDraw
&& (D = document.createElementNS(N, "rect"), D
.setAttribute("x", 0), D.setAttribute("y", 0), D
.setAttribute("fill", x.bgColor), F.appendChild(D)), a(), i(), h(), window
.addEventListener("resize", b)
}
function i() {
var e = window.innerWidth || document.documentElement.clientWidth
|| document.body.clientWidth, o = window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight, i = e, r = o;
x.width.toString().indexOf("%") > 0
|| x.height.toString().indexOf("%") > 0
? (i = Math.round(t.offsetWidth / 100 * parseInt(x.width)), r = Math
.round(i / 100 * parseInt(x.height)))
: (i = parseInt(x.width), r = parseInt(x.height)), i >= e
&& (i = e), r >= o && (r = o), P = {
x : i / 2,
y : r / 2
}, E.x = x.speed / P.x, E.y = x.speed / P.y, S = i >= r ? r / 100
* parseInt(x.radius) : i / 100 * parseInt(x.radius), 1 > S
&& (S = 1), C = S / 2, C < x.radiusMin
&& (C = x.radiusMin, S = 2 * C), F.setAttribute("width", i), F
.setAttribute("height", r), x.bgDraw
&& (D.setAttribute("width", i), D.setAttribute("height", r)), n(C)
}
function n(t) {
for (var e = 0, o = z.length; o > e; e++)
r(z[e], t)
}
function r(t, e) {
var o = t.vectorPosition.x - O.x, i = t.vectorPosition.y - O.y, n = t.vectorPosition.z
- O.z, r = Math.sqrt(o * o + i * i + n * n);
t.vectorPosition.x /= r, t.vectorPosition.y /= r, t.vectorPosition.z /= r, t.vectorPosition.x *= e, t.vectorPosition.y *= e, t.vectorPosition.z *= e
}
function s(t, e, o, i, n) {
var r = {};
return "undefined" != typeof e.label
? (r.element = document.createElementNS(N, "text"), r.element
.setAttribute("x", 0), r.element.setAttribute("y",
0), r.element.setAttribute("fill", e.fontColor==null?x.fontColor:e.fontColor), r.element
.setAttribute("font-family",e.fontFamily==null?x.fontFamily:e.fontFamily), r.element
.setAttribute("font-size",e.fontSize==null?x.fontSize:e.fontSize), r.element
.setAttribute("font-weight",e.fontWeight==null?x.fontWeight:e.fontWeight), r.element
.setAttribute("font-style",e.fontStyle==null?x.fontStyle:e.fontStyle), r.element
.setAttribute("font-stretch",e.fontStretch==null?x.fontStretch:e.fontStretch), r.element
.setAttribute("text-anchor", "middle"), r.element.textContent = x.fontToUpperCase
? e.label.toUpperCase()
: e.label)
: "undefined" != typeof e.image
&& (r.element = document
.createElementNS(N, "image"), r.element
.setAttribute("x", 0), r.element
.setAttribute("y", 0), r.element
.setAttribute("width", e.width), r.element
.setAttribute("height", e.height), r.element
.setAttribute("id", "image_" + t), r.element
.setAttributeNS(
"http://www.w3.org/1999/xlink",
"href", e.image), r.diffX = e.width
/ 2, r.diffY = e.height / 2), r.link = document
.createElementNS(N, "a"), r.link.setAttributeNS(
"http://www.w3.org/1999/xlink", "xlink:href", e.url), r.link
.setAttribute("target", e.target), r.link.addEventListener(
"mouseover", m, !0), r.link.addEventListener("mouseout", y,
!0), r.link.appendChild(r.element), "undefined" != typeof e.tooltip
? (r.tooltip = !0, r.tooltipLabel = x.tooltipFontToUpperCase
? e.tooltip.toUpperCase()
: e.tooltip)
: r.tooltip = !1, r.index = t, r.mouseOver = !1, r.vectorPosition = {
x : o,
y : i,
z : n
}, r.vector2D = {
x : 0,
y : 0
}, F.appendChild(r.link), r
}
function a() {
for (var t = !1, e = 1, o = x.entries.length + 1; o > e; e++) {
var i = Math.acos(-1 + 2 * e / o), n = Math.sqrt(o * Math.PI)
* i, r = Math.cos(n) * Math.sin(i), a = Math.sin(n)
* Math.sin(i), u = Math.cos(i), c = s(e - 1,
x.entries[e - 1], r, a, u);
z.push(c), "undefined" != typeof x.entries[e - 1].tooltip
&& (t = !0)
}
t && l()
}
function l() {
w = document.createElementNS(N, "text"), w.setAttribute("x", 0), w
.setAttribute("y", 0), w.setAttribute("fill",
x.tooltipFontColor), w.setAttribute("font-family",
x.tooltipFontFamily), w.setAttribute("font-size",
x.tooltipFontSize), w.setAttribute("font-weight",
x.tooltipFontWeight), w.setAttribute("font-style",
x.tooltipFontStyle), w.setAttribute("font-stretch",
x.tooltipFontStretch), w.setAttribute("text-anchor",
x.tooltipTextAnchor), w.textContent = "", F.appendChild(w)
}
function u(t) {
for (var e = 0, o = z.length; o > e; e++) {
var i = z[e];
if (i.element.getAttribute("x") === t.getAttribute("x")
&& i.element.getAttribute("y") === t.getAttribute("y"))
return i
}
}
function c(t) {
for (var e = 0, o = z.length; o > e; e++) {
var i = z[e];
i.index === t.index ? i.mouseOver = !0 : i.mouseOver = !1
}
}
function f(t) {
t.tooltip
&& (w.setAttribute("x", t.vector2D.x - x.tooltipDiffX), w
.setAttribute("y", t.vector2D.y - x.tooltipDiffY), w.textContent = x.tooltipFontToUpperCase
? t.tooltipLabel.toUpperCase()
: t.tooltipLabel, w.setAttribute("opacity", 1))
}
function d(t) {
w.setAttribute("opacity", 0)
}
function p() {
var t = E.x * T.x - x.speed, e = x.speed - E.y * T.y, o = t * I, i = e
* I;
k.sx = Math.sin(o), k.cx = Math.cos(o), k.sy = Math.sin(i), k.cy = Math
.cos(i);
for (var n = 0, r = z.length; r > n; n++) {
var s = z[n];
if (M) {
var a = s.vectorPosition.x, l = s.vectorPosition.y * k.sy
+ s.vectorPosition.z * k.cy;
s.vectorPosition.x = a * k.cx + l * k.sx, s.vectorPosition.y = s.vectorPosition.y
* k.cy + s.vectorPosition.z * -k.sy, s.vectorPosition.z = a
* -k.sx + l * k.cx
}
var u = x.fov / (x.fov + s.vectorPosition.z);
s.vector2D.x = s.vectorPosition.x * u + P.x, s.vector2D.y = s.vectorPosition.y
* u + P.y, s.diffX && s.diffY
&& (s.vector2D.x -= s.diffX, s.vector2D.y -= s.diffY), s.element
.setAttribute("x", s.vector2D.x), s.element
.setAttribute("y", s.vector2D.y);
var c;
M ? (c = (C - s.vectorPosition.z) / S, c < x.opacityOut
&& (c = x.opacityOut)) : (c = parseFloat(s.element
.getAttribute("opacity")), c += s.mouseOver
? (x.opacityOver - c) / x.opacitySpeed
: (x.opacityOut - c) / x.opacitySpeed), s.element
.setAttribute("opacity", c)
}
z = z.sort(function(t, e) {
return e.vectorPosition.z - t.vectorPosition.z
})
}
function h() {
requestAnimFrame(h), p()
}
function m(t) {
M = !1;
var e = u(t.target);
c(e), e.tooltip && f(e)
}
function y(t) {
M = !0;
var e = u(t.target);
e.tooltip && d(e)
}
function v(t) {
T = g(F, t)
}
function g(t, e) {
var o = t.getBoundingClientRect();
return {
x : e.clientX - o.left,
y : e.clientY - o.top
}
}
function b(t) {
i()
}
var x = {
entries : [],
width : 480,
height : 480,
radius : "70%",
radiusMin : 75,
bgDraw : !0,
bgColor : "#000",
opacityOver : 1,
opacityOut : .05,
opacitySpeed : 6,
fov : 800,
speed : 2,
fontFamily : "Arial, sans-serif",
fontSize : "15",
fontColor : "#fff",
fontWeight : "normal",
fontStyle : "normal",
fontStretch : "normal",
fontToUpperCase : !1,
tooltipFontFamily : "Arial, sans-serif",
tooltipFontSize : "15",
tooltipFontColor : "#fff",
tooltipFontWeight : "normal",
tooltipFontStyle : "normal",
tooltipFontStretch : "normal",
tooltipFontToUpperCase : !1,
tooltipTextAnchor : "left",
tooltipDiffX : 0,
tooltipDiffY : 10
};
if (void 0 !== e)
for (var A in e)
e.hasOwnProperty(A) && x.hasOwnProperty(A) && (x[A] = e[A]);
if (!x.entries.length)
return !1;
var w, C, S, P, F, D, z = [], M = !0, T = {
x : 0,
y : 0
}, O = {
x : 0,
y : 0,
z : 0
}, E = {
x : 0,
y : 0
}, k = {
sx : 0,
cx : 0,
sy : 0,
cy : 0
}, I = Math.PI / 180, N = "http://www.w3.org/2000/svg";
window.requestAnimFrame = function() {
return window.requestAnimationFrame
|| window.webkitRequestAnimationFrame
|| window.mozRequestAnimationFrame || function(t) {
window.setTimeout(t, 1e3 / 60)
}
}(), o()
}
window.SVG3DTagCloud = t
}(), "undefined" != typeof jQuery && !function(t) {
t.fn.svg3DTagCloud = function(e) {
var o = arguments;
return this.each(function() {
if (t.data(this, "plugin_SVG3DTagCloud")) {
var i = t.data(this, "plugin_SVG3DTagCloud");
i[e] ? i[e].apply(this, Array.prototype.slice
.call(o, 1)) : t.error("Method " + e
+ " does not exist on jQuery.svg3DTagCloud")
} else
t.data(this, "plugin_SVG3DTagCloud", new SVG3DTagCloud(
this, e))
})
}
}(jQuery);
如果希望workflow存储最近20次的log,在session里的Config Object设置,log options做配置,save session log :sessions run ;savesessio log for these runs:20
session下面的source 里面有个tracing 
今天遇到一个客户BUG,当前的jdbc连接用户是root,然后部分删除操作都会报下面这个错误:The user specified as a definer ('aaa'@'localhost') does not exist
最后找原因发现删除操作做了触发器,而触发器里面有这样一句
/*!50017 DEFINER = ''aaa@'localhost' */
原来最初
O7_DICTIONARY_ACCESSIBILITY参数控制对数据字典的访问.设置为true,如果用户被授予了如select any table等any table权限,用户即使不是dba或sysdba用户也可以访问数据字典.在9i及以上版本默认为false,8i及以前版本默认为true.如果设置为true就可能会带来安全上的一些问题.这也就为什么O7_DICTIONARY_ACCESSIBIL
#h1#
0、完成课堂例子
1、将一个四位数逆序打印
1234 ==> 4321
实现方法一:
# include <stdio.h>
int main(void)
{
int i = 1234;
int one = i%10;
int two = i / 10 % 10;
int three = i / 100 % 10;
===================================================================
第一个
===================================================================
try{
CString sql;
sql.Format("select * from p