Trident

ES6兼容ie9, flex兼容ie9

大城市里の小女人 提交于 2019-12-05 16:28:07
vue兼容ES6 在 ie9 的环境上,es6 的部分新对象、表达式,并不支持,解决方案是使用 babel-polyfill 组件,它可以将 es6 的代码翻译成低版本浏览器可以识别的 es5 代码 npm install babel-polyfill --save 安装完成后,在项目的主入口文件 main.js 的首行就可以直接引用: import 'babel-polyfill'; 或者 在webpack.base.conf.js中的entry中添加一项 entry: { app: [ 'babel-polyfill', './src/main.js'] }, //以上参考来源: https://juejin.im/post/5b2868b46fb9a00e6f65f87e flex兼容ie9 条件性注释:参考 https://blog.csdn.net/a460550542/article/details/73521850 此处使用js判断 window .navigator .userAgent是否含有 MSIE 或 Trident,识别是不是ie浏览器,然后判断MSIE 的版本号判断ie浏览器的版本, 如果<=9就在html 添加样式lte-ie9,以后需要重写样式的地方,就在样式前面加.lte-ie9, 优先级高于没有加之前 ie11:"Mozilla/5.0

商业化服务端的SSP广告引擎

半城伤御伤魂 提交于 2019-12-04 20:31:32
商业化服务端的SSP广告引擎 当今互联网有几种主流的商业模式:广告、游戏、增值服务等。毫无疑问“广告推送”带给互联网公司的收入绝对是相当可观。今天小主就为大家分享一篇来自360手机卫士团队分享的SSP广告引擎,这么高质量的内部干货不拿出来分享实在对不起大家。 PS:丰富的一线技术、多元化的表现形式,尽在“HULK一线技术杂谈”,点关注哦! 一、概述 当今互联网有几种主流的商业模式:广告、游戏、增值服务等。今天我想谈一谈广告系统中的SSP引擎。SSP(全称:Sell-Side Platform)是一个媒体服务平台,该平台通过人群定向技术,智能的管理媒体广告位库存、优化广告的投放,助网络媒体实现其广告资源优化,提高其广告资源价值,达到帮助媒体提高收益的目的(以上摘自360百科)。大白话就是: 各种端(app端)找SSP要广告, SSP选出一批广告, 并告诉这些端,按照某些样式展示。SSP负责如何去选广告, 以及相应的样式是什么样子。SSP不断优化选择广告和确定样式的策略,让各个产品能赚到更多的钱。 一个好的SSP系统应该具备那些能力? 我总结了五点,列在下面: 灵活扩展能力 快速接入各种广告源 快速接入各个产品 快速验证广告的不同样式 快速调整广告页面布局 快速调整广告策略 2. 高性能、高并发能力 3. 高效发布和在线灰度能力 4. 快速调试定位错误能力 5.

Running Trident Topology in Storm TrackedTopology Unit Test

送分小仙女□ 提交于 2019-12-04 17:33:07
How can I run a JUnit test of a Trident Topology to allow tuples to flow through the topology while testing and verifying the output at each stage? I've tried running within Storm's Testing framework, but it's falling short of allowing verification and consistent execution of Trident. Here's an example topology with some in-line comments where I'm having the most issues. import static org.junit.Assert.assertEquals; import java.util.Arrays; import java.util.List; import org.junit.Test; import storm.trident.TridentState; import storm.trident.TridentTopology; import storm.trident.operation

聊聊storm trident batch的分流与聚合

余生颓废 提交于 2019-12-03 13:41:21
序 本文主要研究一下storm trident batch的分流与聚合 实例 TridentTopology topology = new TridentTopology(); topology.newStream("spout1", spout) .partitionBy(new Fields("user")) .partitionAggregate(new Fields("user","score","batchId"),new OriginUserCountAggregator(),new Fields("result","aggBatchId")) .parallelismHint(3) .global() .aggregate(new Fields("result","aggBatchId"),new AggAgg(),new Fields("agg")) .each(new Fields("agg"),new PrintEachFunc(),new Fields()) ; 这里最后构造了3个bolt,分别为b-0、b-1、b-2 b-0主要是partitionAggregate,它的parallelismHint为3 b-1主要是处理CombinerAggregator的init,它的parallelismHint为1,由于它的上游bolt有3个task

浏览器嗅探

匿名 (未验证) 提交于 2019-12-02 23:55:01
Trident: IE 以Trident 作为内核引擎 // 俗称 IE内核 Gecko: Firefox(火狐) // 俗称Firefox内核 WebKit: Safari(苹果), Google Chrome(谷歌),傲游3 基于 Webkit 开发 // 俗称chrome内核, IE内核:IE6、IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0);世界之窗、 360安全浏览器、傲游;搜狗浏览器;腾讯TT;阿云浏览器(早期版本)、百度浏览器(早期版本)、瑞星安全浏览器、115浏览器、闪游浏览器、114浏览器、佐罗浏览器; Firefox内核:Mozilla Firefox、Mozilla SeaMonkey chrome内核:Apple Safari (Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器,Google Chrome、Chromium Opera内核:Opera 国内主流浏览器多为双核浏览器,一个内核是Trident,然后再增加一个其他内核。一般把其他内核叫做“高速浏览模式”,而Trident则是“兼容浏览模式”,用户可以来回切换。 360安全浏览器主要是使用了 IE和WebKit双核心的浏览器 360极速浏览器主要是使用了 IE和Chrome双内核

不受控制的 position:fixed

自闭症网瘾萝莉.ら 提交于 2019-12-02 09:52:08
本文转载于: 猿2048 网站 不受控制的 position:fixed 大家都知道, position:fixed 在日常的页面布局中非常常用,在许多布局中起到了关键的作用。它的作用是: position:fixed 的元素将相对于屏幕视口(viewport)的位置来指定其位置。并且元素的位置在屏幕滚动时不会改变。 但是,在许多特定的场合,指定了 position:fixed 的元素却无法相对于屏幕视口进行定位。这是为何呢? 失效的 position:fixed 在许多情况下, position:fixed 将会失效。 MDN 用一句话概括了这种情况: 当元素祖先的 transform 属性非 none 时,定位容器由视口改为该祖先。 What!还有这种操作?可能有部分同学还没 get 到上面这句话的意思,通俗的讲就是指定了 position:fixed 的元素,如果其祖先元素存在非 none 的 transform 值 ,那么该元素将相对于设定了 transform 的祖先元素进行定位。 那么,为什么会发生这种情况呢?说好的相对视口(Viewport)定位呢? 这个问题,就牵涉到了 Stacking Context ,也就是堆叠上下文的概念了。解释上面的问题分为两步: 任何非 none 的 transform 值都会导致一个堆叠上下文(Stacking Context)和包含块

浏览器时代血泪史

谁说我不能喝 提交于 2019-12-01 12:17:19
目前主流的四大浏览器内核和各自的开发公司以及目前再使用的外壳浏览器 值得一提的是2013年以前Trident、Gecko、Presto、Webkit才是主流的浏览器内核,Presto Opera Software公司开始的,用于Opera的渲染引擎。微软的最新浏览器microsoft Edge使用了Edge HTML内核,Edge html原是Triant的分支,加之microsoft Edge的战绩不好看至今还在一直下滑,此处不做过多的介绍。 目前主流的几款浏览器内核的区别是什么呢? 一、Trident内核 Trident内核,又称MSHTML,微软内核。是微软窗口操作系统windows搭载的网页浏览器,也是IE的排版引擎。IE内核相对其他内核是最开放的,接口设计相对最为成熟,对外部程序支持最好,这也是IE外壳的浏览器最多的原因之一。IE背靠windows大树一度占据浏览器市场的绝对优势,微软也很长时间没有更新trident内核,导致Trident内核几乎与W3C标准脱节,也是的大量的bug等安全性问题涌现,给了后起之秀很多机会。 二、Gecko内核 Gecko,也称壁虎,火狐内核。Gecko核心设计的相对成熟,在无法获取源码的情况下,开放程度仅次于IE。由于其本身Open Source。实际上是目前开发程度最好的浏览器。Firefox的扩展能够给浏览者带来完全不同的浏览体验。

聊聊storm trident的coordinator

倖福魔咒の 提交于 2019-12-01 02:11:25
序 本文主要研究一下storm trident的coordinator 实例 代码示例 @Test public void testDebugTopologyBuild(){ FixedBatchSpout spout = new FixedBatchSpout(new Fields("user", "score"), 3, new Values("nickt1", 4), new Values("nickt2", 7), new Values("nickt3", 8), new Values("nickt4", 9), new Values("nickt5", 7), new Values("nickt6", 11), new Values("nickt7", 5) ); spout.setCycle(false); TridentTopology topology = new TridentTopology(); Stream stream1 = topology.newStream("spout1",spout) .each(new Fields("user", "score"), new BaseFunction() { @Override public void execute(TridentTuple tuple, TridentCollector collector)

聊聊storm trident的state

↘锁芯ラ 提交于 2019-12-01 02:11:09
序 本文主要研究一下storm trident的state StateType storm-2.0.0/storm-client/src/jvm/org/apache/storm/trident/state/StateType.java public enum StateType { NON_TRANSACTIONAL, TRANSACTIONAL, OPAQUE } StateType有三种类型,NON_TRANSACTIONAL非事务性,TRANSACTIONAL事务性,OPAQUE不透明事务 对应的spout也有三类,non-transactional、transactional以及opaque transactional State storm-2.0.0/storm-client/src/jvm/org/apache/storm/trident/state/State.java /** * There's 3 different kinds of state: * * 1. non-transactional: ignores commits, updates are permanent. no rollback. a cassandra incrementing state would be like this 2. * repeat-transactional:

聊聊storm trident spout的_maxTransactionActive

旧时模样 提交于 2019-12-01 02:10:44
序 本文主要研究一下storm trident spout的_maxTransactionActive MasterBatchCoordinator storm-core-1.2.2-sources.jar!/org/apache/storm/trident/topology/MasterBatchCoordinator.java TreeMap<Long, TransactionStatus> _activeTx = new TreeMap<Long, TransactionStatus>(); public void open(Map conf, TopologyContext context, SpoutOutputCollector collector) { _throttler = new WindowedTimeThrottler((Number)conf.get(Config.TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS), 1); for(String spoutId: _managedSpoutIds) { _states.add(TransactionalState.newCoordinatorState(conf, spoutId)); } _currTransaction =