分类存档: 产品 - 第10页

Animatecc摄像头动画&骨骼动画

Animatecc相比之前的flash添加的这两个功能不错
1.摄像头动画 从另外一个角度调整整个动画
2.骨骼联动 动物动作更加逼真,可以精确控制了

Docker备份和迁移

备份与迁移

容器保存为镜像
我们可以通过以下命令将容器保存为镜像

docker commit -p pyg_nginx mynginx
pyg_nginx是容器名称

mynginx是新的镜像名称

此镜像的内容就是你当前容器的内容,接下来你可以用此镜像再次运行新的容器

镜像备份

docker save -o mynginx.tar mynginx
-o 输出到的文件

执行后,运行ls命令即可看到打成的tar包

镜像恢复与迁移
首先我们先删除掉mynginx镜像

然后执行此命令进行恢复

docker load -i mynginx.tar
-i 输入的文件

执行后再次查看镜像,可以看到镜像已经恢复
利用镜像,以端口映射的方式创建容器,这里80端口映射到本机80,3306同理
docker run -i -t -p 80:80 -p 3306:3306 myimages /bin/bash
因为镜像已经安装xampp,我们直接启动xampp

格式转换

视频格式在线转换
https://www.xunjieshipin.com/video-converter

开搞达梦数据库

如何查看达梦数据库各个表的大小
1、创建一个表来存各表的大小
create table table_count (owner varchar(100),table_name varchar(100),used_space_MB varchar(100));

2、执行语句块,查出各表的大小,存进table_count这个表里。

declare
begin
for rec in
(
select owner, table_name from all_tables order by 1, 2
)
loop
insert into table_count
select
rec.owner ,
rec.table_name,
table_used_pages(rec.owner, rec.table_name)*(page()/1024)/1024
from
dual;
end loop;
end;

3、查询表table_count的信息,根据需求排序,就能看到各表的大小
select * from table_count order by used_space_mb desc;

animatecc videoplayer

!!!临时测试可以,但最好不要在时间线上code,否则bug不可控!!!
animatecc videoplayer

//创建一个NetConnection对象,用于创建视频连接
var nc:NetConnection = new NetConnection();
//创建一个NetStream对象,用于控制视频的加载和播放
var ns:NetStream;
//创建一个Video对象,用于显示视频内容
var vid:Video = new Video();
//创建两个Object对象,以获取和储存视频的元数据信息
var movieObj:Object;
var customClient:Object;
//储存视频播放器的播放状态
var playStatus:String="play";


function metaDataHandler(metaDataObject:Object) {
    //将回调的视频元数据赋予movieObj对象
    movieObj=metaDataObject;
}


function playVideo() {


    //创建NetConnection对象连接。由于此时视频文件位于本地计算机上,因此参数为null
    nc.connect(null);
    //通过nc连接创建NetStream对象实例
    ns = new NetStream(nc);
    //设置ns对象的client属性为customClient对象,以便当获得元数据时,触发onMetaData( )事件回调处理函数metaDataHandler
    customClient= {onMetaData:metaDataHandler};
    ns.client = customClient;
    //使用play方法下载并播放视频
    ns.play("wdata.mp4");
    //使用Video对象的attachNetStream方法,将NetStream中的视频数据显示在vid容器中
    vid.attachNetStream(ns);

    vid.width = 3832;
    vid.height = 888;
    vid.smoothing = true;
    waipic.addChild(vid);

    addEventListener(Event.ENTER_FRAME,showPlayProgress);
}

function showPlayProgress(event:Event) {
    //通过目前播放点的时间值除以总时长,得到当前的播放进度
    var curtime:Number = ns.time;
    var totaltime:Number = movieObj.duration;

    //当播放进度大于99.99%时,表示播放到了视频尾部,此时重新播放视频
    if (curtime/totaltime>=0.9999) {
        ns.close();
        playVideo();
    }
}

function init() {

    movieObj= new Object();

    playVideo();
}
init();

网旋风animate动画广告创意直播书摘

中国古语:温故知新,学无止境
网旋风AnimateCC是动画广告创作利器,adobe公司在动画影视方面的软件真的是一骑绝尘,甩其他同类型的软件好多条街了。
书摘如下:
1. 画正圆的小技巧,按住shift;画正椭圆就按住alt
2. 刷子工具绘图填充模式:
– 标准绘画:一笔刷下去盖住填充色和线条色
– 颜料填充:一笔刷下去盖住填充色,线条不受影响
– 后面绘画:一笔刷下去不影响填充和线条,只影响空白区
– 内部绘画:如果一笔刷下去的起点在空白区,效果同“后面绘画”;如果一笔刷下去的起点在填充区,则盖住填充色,线条和空白区不受影响
– 颜料选择:一笔刷下去只影响选定区域内的填充色和线条色

网络广告术语

作为在互联网这个领域传播的主要形式,网络广告有很多相关的网络术语。

CPA(Cost-per-Action):

每次行动的费用,即根据每个访问者对网络广告所采取的行动收费的定价模式。对于用户行动有特别的定义,包括形成一次交易、获得一个注册用户或首对网络广告的一次点击等。

CPC(Cost-Per-Click):

每次点击的费用。根据广告被点击的次数收费。如关键词广告一般采用这种定价模式

CPM(Cost-Per-Thousand-impressions):

每千次印象费用。广告条每显示1000次(印象)的费用。CPM是最常用的网络广告定价模式之一。

Cpo(cost- per-Order):

也称为Cost-per-Transaction,即根据每个订单/每次交易来收费的方式。

PPC(Pay-per-Cick):

是根据点击广告或者电子邮件信息的用户数量来付费的一种网络广告定价模式。

PPL( Pay-per-Lead):

根据每次通过网络广告产生的引导付费的定价模式。例如,广告客户为访问者点击广告完成了在线表单而向广告服务商付费。这神模式常用于网络会员制营销模式中为联盟网站制定的佣金模式。

ppS(Pay-per-sale):

根据网络广告所产生的直接销售数量而付费的一种定价模式。

CpTM(Cost-per-targeted-thousand- Impressions):

经过定位的用户(如根据人口统计信息定位)的千次印象费用。

SP(Sales-Promotion):

超市的铺售促销包括各种属于短期性的刺激工具,用以刺激顾客较迅速或大量的在商店购买商品。如果广告促销提供了在该商店购买商品的理由,那
销售促销则提供了购买的刺激。

POP( Point-of- Purchase- Advertising):

意为店面广告、售点广告,是指在商品购买场所,零售商店的周围、入口、内部以及有商品的地方设置的广告。

DM( Direct-Mail):

是一种散发给顾客的快讯商品广告单,通常由8开或16开广告纸正反面彩色印刷而成,是超市的一种重要促销方式。通过有效的DM可以介绍新品,吸引及增加新顾客,提高客流量,扩大营业额,提高毛利率

Cps(cost-per-sales):

以实际销售产品数量来换算广告刊登金额。

大数据平台从理论到实践4

udf-hive 类比 sql 存储过程
kettle及竞品分析

LDAP认证

LDAP(Light Directory Access Protocol)这项被广泛支持的协议。这是一个轻量、灵活、通用、长期可靠、可自有部署的目录服务协议。所谓目录服务,本质上是一个适合规划组织和账户结构的数据库标准和实现。各类软件可以通过类似数据库查询的形式,统一存取LDAP内的数据,以实现账号管理和登录认证的统一。

软件选型方面,目前兼容LDAP协议的最主流实现方案有二:Linux操作系统下开源的OpenLDAP,以及Windows Server操作系统下闭源的Active Directory。我们将以OpenLDAP为例讲解,在实际选型中,只要按照操作系统的熟悉程度两者择一即可。

Kerberos 协议

参考:https://www.zhihu.com/question/22177404
摘录:食堂打饭先买饭卡

参考大数据需求文档
https://wenku.baidu.com/view/3dce57530b4e767f5acfcecc.html

大数据平台从理论到实践3

好了,今天供应商又提到一个新概念,Hadoop体系下,支持对接LDAP体系提交任务,好啦,LADP是个啥,来给自己科普下。
原文参考:https://blog.csdn.net/Joe192/article/details/97895430
原文摘录:

OLTP,也叫联机事务处理(Online Transaction Processing),表示事务性非常高的系统,一般都是高可用的在线系统,以小的事务以及小的查询为主,评估其系统的时候,一般看其每秒执行的Transaction以及Execute SQL的数量。在这样的系统中,单个数据库每秒处理的Transaction往往超过几百个,或者是几千个,Select 语句的执行量每秒几千甚至几万个。典型的OLTP系统有电子商务系统、银行、证券等,如美国eBay的业务数据库,就是很典型的OLTP数据库。

OLAP,也叫联机分析处理(Online Analytical Processing)系统,有的时候也叫DSS决策支持系统,就是我们说的数据仓库。在这样的系统中,语句的执行量不是考核标准,因为一条语句的执行时间可能会非常长,读取的数据也非常多。所以,在这样的系统中,考核的标准往往是磁盘子系统的吞吐量(带宽),如能达到多少MB/s的流量。

LDAP是一个轻量级的产品(LightWeight),是一个Directory(D),存取的协议(Access Protocol)。
我要着重指出,LDAP是一个数据库,但是又不是一个数据库。说他是数据库,因为他是一个数据存储的东西。但是说他不是数据库,是因为他的作用没有数据库这么强大,而是一个目录。
为了理解,给一个例子就是电话簿(黄页)。我们用电话簿的目的是为了查找某个公司的电话,在这个电话簿中附带了一些这个公司的基本信息,比如地址,经营范围,联系方式等。
其实这个例子就是一个LDAP在现实生活中的表现。电话簿的组织结构是一条一条的信息组成,信息按照行业,类比进行了分类。每条记录都分成了若干的区域,其中涵盖了我们要的信息。这就是一个Directory。一个树状的结构,每个叶子都是由一条一条的分成若干区域的记录。LDAP就是这么一个东西。

可以通过以下三句话快速的认识一下LDAP:
LDAP:Lightweight Directory Access Protocol,轻量目录访问协议。
LDAP服务是一个为只读(查询、浏览、搜索)访问而优化的非关系型数据库,呈树状结构组织数据。
LDAP主要用做用户信息查询(如邮箱、电话等)或对各种服务访问做后台认证以及用户数据权限管控。
名词解释
DC:domain component一般为公司名,例如:dc=163,dc=com
OU:organization unit为组织单元,最多可以有四级,每级最长32个字符,可以为中文
CN:common name为用户名或者服务器名,最长可以到80个字符,可以为中文
DN:distinguished name为一条LDAP记录项的名字,有唯一性,例如:dc:”cn=admin,ou=developer,dc=163,dc=com”
更多参考:https://mp.weixin.qq.com/s/JyH5mqwWFt0N1nGYZqBCBQ

大数据平台从理论到实践2

大数据平台里会产生脏数据,所以很多大数据平台的供应商都说他们有脏数据管理功能,那什么是脏数据呢,我们一起来了解下。
先看一个例子:https://blog.csdn.net/u012762054/article/details/81668209
原文摘录:
故事起因:多人同时操作一个工作单据,保存时间有先后,后保存的数据覆盖了前面保存的数据。网上找到文章都是讲并发处理的原理,没人提到数据丢失后的处理。
这是个真实的案例,对于数据量很少的单据可以随时丢弃脏数据,但是如果是软件管理系统里含有大量数据的表单,直接丢弃就不好了。见下图
货代海运信息录入资料图
举例说明,我们在给一个供应链客户做的一张工作单,里面涉及的服务同时有两种(海运和陆运),其中:
1. 安排海运工作的文员A记录海运的信息;
2. 安排陆运工作的文员B记录陆运的信息;
但是非常不幸的是,两人几乎在同一时间段打开了同一张工作单据,分别录入自己负责的信息,然后保存(A在前,B在后),之后A在查看单据的时候就叫起来了:天啦,我辛辛苦苦的数据不见了!
聪明的你一定想到了,文员B在打开工作单输入“陆运”信息时,“海运”信息全是空的,最后保存时把A的数据给覆盖了(导致A的“海运”数据不见了),原理图如下:

A和B打开单据时,数据是一样的

你也许会嗤之以鼻:切,不就是并发没处理好,导致数据覆盖么。这点小问题,秒秒钟搞定的事。

这种典型的数据并发操作问题,技术上的解决方案也是一搜一大把,归结为两种:

  1. 悲观锁:任何一个人打开编辑此单据,标记为锁住,其它人等不得打开编辑,直至它被解锁。

  2. 乐观锁:任何人都可以打开单据,可以编辑,保存时通过版本号校验,不通过者视为脏数据,提示数据已更新,不能保存。

鉴于我们的项目是基于WEB的,第一种直接否掉了,第二种实现起来,代码也不难。
我把以上的技术一分析,给她们回复:“我们有了解决方案,谁先保存谁赢,后面才保存的同学,系统说你来晚了,不好意思,你的数据要重新录咯”。So easy,小问题嘛,很容易解决滴。
——————– 剧情反转的分割线——————

可没料到,文员A跳起来对我们说:“ 你们的系统就是狗屎!我花了半个小时辛辛苦苦输入的几十个数据,因为我保存晚了,说没了就没了,你TM在逗我?!”。
咦?我感觉到被妥妥的打脸了,想想人家说得很有道理。数据录入多的人,需要的时间也更长,保存的时间当然会靠后,按我的处理方法,吃亏的是最辛苦的人。原理图如下:
好吧,我道歉,我再想想办法。
And, 作为一个伸手党,我开始在百度上找相关的处理方法,尝试了无数关键字去查找,讲数据库并发冲突原理的有一堆文章,可是就是没人考虑过数据丢失的人的感受,没有人讲如何处理脏数据,没有人!
你们这些宅男IT狗(包括我啊),你们不知道做运输公司、货代、报关企业里接单录单的妹子是多么需要有人多为她们想想,如何才能高效录入单据和节约时间的么?
在和组里小伙伴经过激烈的讨论后,最终采取的方案是:
把用户输入的临时数据在刷新前先保存起来,刷新后在页面提示其可以恢复之前的未保存的数据,有冲突的数据做提示。
技术实现
1. 如果后台提示是版本号不一致的问题,将用户所填的数据保存到浏览器 localstorage;
2. 刷新页面后,判断当前单据是否有缓存数据,如果有,则提示“你有未保存数据,是否恢复?”;
3. 选择“是”, 恢复数据到页面中,并做冲突提示,从localstorage删除数据缓存;
4. 选择“否”,不恢复数据,从localstorage删除数据缓存;

根据此做出方案,录单文员那边表示这个功能棒棒哒。哟吼,问题就此解决咯。文员和IT狗又可以愉快的玩耍了,么么哒!
结论
即将丢失的脏数据也许花费了用户大量的时间去录入,我觉得这个脏数据缓存处理非常重要和必要,看情况多想想就会提供多些价值。IT开发人者要么是觉得过于简单没在意,要么是开发者没有进一步想这个问题,这是非常不好的。我认为每个人的时间和效率都是无比珍贵的,希望同学们不要浪费你的用户的时间。
既然如何处理这个脏数据问题在网上没人提到(或是我没找到),那么我就把它记录下来,以助后人。


一个事物读取了另一个事物未提交的数据。读“脏”数据是指事物A修改某一数据,并将其写回磁盘,事物B读取同一数据后,A由于某种原因被撤销,这时A已修改过的数据恢复原值,B读到的数据就与数据库中的数据不一致,则B读到的数据为“脏”数据,即不正确的数据;脏数据的种类及处理方法

首先,我们来了解一下脏数据的种类,明白我们可能会面对哪些问题。
1 、数据缺失:缺一些记录,或者一条记录里缺一些值(空值),或者两者都缺。原因可能有很多种,系统导致的或人为导致的可能性都存在。如果有空值,为了不影响分析的准确性,要么不将空值纳入分析范围,要么进行补值。前者会减少分析的样本量,后者需要根据分析的计算逻辑,选择用平均数、零、或者等比例随机数等来填补。如果是缺一些记录,若业务系统中还有这些记录,则通过系统再次导入,若业务系统也没有这些记录了,只能手工补录或者放弃。

2、 数据重复:相同的记录出现多条,这种情况相对好处理,去掉重复记录即可。但是怕就怕不完全重复,比如两条会员记录,其余值都一样,就是住址不一样,这就麻烦了,有时间属性的还能判断以新值为准,没有时间属性的就无从下手了,只能人工判断处理。

3、 数据错误:数据没有严格按照规范记录。比如异常值,价格区间明明是100以内,偏偏有价格=200的记录;比如格式错误,日期格式录成了字符串;比如数据不统一,有的记录叫北京,有的叫BJ,有的叫beijing。对于异常值,可以通过区间限定来发现并排除;对于格式错误,需要从系统级别找原因;对于数据不统一,系统无能为力,因为它并不是真正的“错误”,系统并不知道BJ和beijing是同一事物,只能人工干预,做一张清洗规则表,给出匹配关系,第一列是原始值,第二列是清洗值,用规则表去关联原始表,用清洗值做分析,再好一些的通过近似值算法自动发现可能不统一的数据。