在云栖大会上,马云提出五个“新”,新零售.新制造.新金融.新技术和新能源,称将对各行各业造成巨大的影响,成为决定未来成败的关键.而五个新的实现,也必须是各行各业共同推进,整个生态共同受益的结果.继10月14号阿里巴巴资深总监庄卓然宣布手淘技术核心之一的Atlas即将开源之后,淘宝移动平台基础平台部负责人吴志华向业界公布了手淘技术核心“三大容器五大方案”,后续阿里百川将会承接手淘核心技术,产品化的向业界开放.在10月15日的“淘宝移动技术实践&开放”专场中,阿里百川就宣布,正式公测百川码力APM,…
基于 vue-cli 配置手淘的 lib-flexible + rem,实现移动端自适应 安装 flexible npm install lib-flexible --save 引入 flexible 在项目入口文件 main.js 中添加如下代码,引入 flexible import 'lib-flexible' px 转 rem 使用 webpack 的 px2rem-loader, 自动将 px 转换为 rem 安装 px2rem-loader npm install px2rem-loa…
移动端适配一直是一个值得探讨的问题,在业余时间我找了一些页面,查看了一些厂商对于移动端H5页面的适配方案,看到了几个典型的例子,今天就来记录一下我看到的第一个典型的例子,也是我们公司目前普通H5项目正在使用的适配方案. 这个适配方案是lib-flexible,在看这个源码的同时,我想先来回顾一下几个概念: 1.  viewport 在移动设备上,viewport是设备屏幕用来显示我们网页的那一块区域,或者说是浏览器(或者Hybird App内的webview)用来展示我们网页的那部分区域,vie…
例如这样 然后这样 出现这样的原因一般是   静态的,即html里有一些静态的(即非js动态添加的) 如果在页面加载完成后,页面是用js动态添加的,这个问题就不太明显, doc.addEventListener('DOMContentLoaded', function(e) { doc.body.style.fontSize = 12 * dpr + 'px'; }, false); 这段代码是起主要作用的,但是这段代码是在页面初始化完毕才执行的(即把把其他引用的js文件下载好,并且里面的函数都…
@media all and (min-width:1280px){ /* 所有设备宽度大于1280干嘛干嘛嘞... */ body{ background:#f00; } } @media (min-width:1280px){ /* 所有设备宽度大于1280干嘛干嘛嘞... */ body{ background:#f00; } } 其中all and可省略 @media print{ /*打印时设置的样式*/ body{ background:pink; } } 插曲: Lake Hill…
[原文地址]:https://github.com/amfe/article/issues/21 前言 2015年是全面『无线化』的一年,在BAT(财报)几家公司都已经超过50%的流量来自移动端,这次 双11更是占到了68.67%无线交易 (天猫微博). 手淘中大量的业务采用H5的方式开发,H5体验好坏全面影响着手淘的使用体验. 今年手机淘宝在技术上重点解决“顿”,“卡”,“慢”的问题,并提出了“521法则” ,具体指: App内存节省50% 绘制帧率,滑动体验提升20% App全链路实现 1S…
抖音研发实践:基于二进制文件重排的解决方案 APP启动速度提升超15% 原创 Leo 字节跳动技术团队 2019-08-09 https://mp.weixin.qq.com/s/Drmmx5JtjG3UtTFksL6Q8Q   背景 启动是App给用户的第一印象,对用户体验至关重要.抖音的业务迭代迅速,如果放任不管,启动速度会一点点劣化.为此抖音iOS客户端团队做了大量优化工作,除了传统的修改业务代码方式,我们还做了些开拓性的探索,发现修改代码在二进制文件的布局可以提高启动性能,方案落地后在抖…
在刚刚过去的云栖大会上,手淘宣布其移动容器化框架Atlas将于2017年年初开源,对这个框架,在过去团队对外部做过一些分享,外界也一直对其十分关注,到现在它终于即将开源了. 本文将介绍Atlas的设计思路和手淘对容器化.组件化和动态化上的思考,主要内容来自阿里巴巴资深技术专家倪生华(玄黎)在云栖大会上的分享. Atlas是什么 2013年,手淘航母战略的制定,带来了业务和开发人员的翻倍膨胀.从不到100人猛增四五倍,同时业务数量大增,整个客户端的架构和发版节奏受到极大挑战,Atlas作为之前手淘…
目标 拿一个双11的Mobile页面来做案例,比如你实现一个类似下图的一个H5页面: 目标很清晰,就是做一个这样的H5页面. 痛点 虽然H5的页面与PC的Web页面相比简单了不少,但让我们头痛的事情是要想尽办法让页面能适配众多不同的终端设备.看看下图你就会知道,这是多么痛苦的一件事情: 再来看看手淘H5要适配的终端设备数据: 看到这些数据,是否死的心都有了,或者说为此捏了一把汗出来. 手淘团队适配协作模式 早期移动端开发,对于终端设备适配问题只属于Android系列,只不过很多设计师常常忽略An…
手淘框架是一个用来适配移动端的js框架,下面我们来讲解一下如何使用手淘的这套框架. 其实手淘框架的核心原理就是根据不同的width给网页中html跟节点设置不同的font-size,然后所有的距离大小都用rem来代替,这样就实现了不同大小的屏幕都适应相同的样式了,首先我们来说一下常用的移动设备. iphone6:    375px*667px  实际像素:750px*1334px iphone5:   320px*568px   实际像素:640px*1136px iphone4:   320p…
前置知识:什么是rem CSS3新增的一个相对单位rem(root em,根em).rem是相对于根节点(或者是html节点).如果根节点设置了font-size:10px;那么font-size:1.2rem;字体大小等于12px. 前置知识:什么是dpr 在浏览器控制台中输入 window.devicePixelRatio 可以获取当前设备的dpr 那么什么是dpr? dpr就是设备物理像素与逻辑像素(css像素)的比例. 那么设备物理像素是固定的,比如macbook pro 13.3寸是显…
目录 1.云计算中虚拟化技术和容器技术到的关系 2.虚拟机和容器对比 3.虚拟化技术和容器技术区别 1.云计算中虚拟化技术和容器技术到的关系 通过一个关于房间和住人的小问题,我们来初步的理解一下虚拟化技术和容器技术的关系. 首先有一个大前提就是一个房间只允许一家人来住.这个房间很大,500平米,有床.有厨房.有卫生间.你一家一共就3口人,就你一家人住,别人家只好再找房子,好浪费,资源利用率好低啊.(房子就相当于计算机的硬件基础) 首先是虚拟化上场了,把这个大房子从隔成20间小房子.注意不是那种真…
[编者的话] 目前很多的容器云平台通过Docker及Kubernetes等技术提供应用运行平台,从而实现运维自动化,快速部署应用.弹性伸缩和动态调整应用环境资源,提高研发运营效率. 本文简要介绍了与容器云相关的几个重要概念:PaaS.App Engine.Docker.Kubernetes. https://blog.csdn.net/huwh_/article/details/75935700 1. Kubernetes概述 1.1. Kubernetes介绍 Kubernetes是Googl…
spring-boot内嵌三大容器https设置 spring-boot默认的内嵌容器为tomcat,除了tomcat之前还可以设置jetty和undertow. 1.设置https spring-boot默认http端口为8080,可以在配置文件中通过server.port来修改端口值. server: port: 8080 设置https访问只需通过增加配置信息: server: port: 8080 ssl: key-store: classpath:https.jks key-store…
  上一篇博客中说到,matplotlib中所有画图元素(artist)分为两类:基本型和容器型.容器型元素包括三种:figure.axes.axis.一次画图的必经流程就是先创建好figure实例,接着由figure去创建一个或者多个axes,然后通过axes实例调用各种方法来添加各种基本型元素,最后通过axes实例本身的各种方法亦或者通过axes获取axis实例实现对各种元素的细节操控. 本篇博客继续上一节的内容,展开介绍三大容器元素创建即通过三大容器可以完成的常用设置.   1 figur…
大家好,我是老三,Spring是我们最常用的开源框架,经过多年发展,Spring已经发展成枝繁叶茂的大树,让我们难以窥其全貌. 这节,我们回归Spring的本质,五分钟手撸一个Spring容器,揭开Spring神秘的面纱! 从什么是IOC开始? Spring--春天,Java编程世界的春天是由一位音乐家--Rod Johnson带来的. Rod Johnson先后编写了两本巨著<Expert One-on-One J2EE Design and Development>.<Expert…
www.docker.com的网页有这样一张有意思的动画: 从这张gif图片,我们不难看出Docker网站想传达这样一条信息, 使用Docker加速了build,ship和run的过程. Docker最早问世是2013年,以一个开源项目的方式被大家熟知. Docker的奠基者是dotcloud,一家开发PaaS平台的技术公司. 不过可惜的是,这家公司把Docker开源之后,于2016年倒闭了,因为其主业务PaaS无法和微软,亚马逊等PaaS业界巨头竞争,不禁让人唏嘘. Docker其实是容器化技…
前言: 手游项目<天天打蚊子>终于上线,特地写几篇技术分享文章,分享一下其中使用到的技术,其中使用cocos2d-x引擎,首选平台iOS,也请有iPhone或者iPad的朋友帮忙下载好评.十分感谢. 目前完美支持iPhone4.iPhone 4S.iPhone 5.iPad所有版本,iOS 5以上开始支持. 目前开发团队3个人,本人客户端+服务端,另有1名客户端,1名美术,目前创业刚刚起步,请各位好友支持! <天天打蚊子>下载地址:https://itunes.apple.com/…
下载flexible: https://github.com/amfe/lib-flexible //未压缩版 (function flexible (window, document) { var docEl = document.documentElement var dpr = window.devicePixelRatio || 1 // adjust body font size function setBodyFontSize () { if (document.body) { do…
如何使用flexible.js做手机适配 做移动端网页肯定需要做适配,以前都用的fixscreen.js,对比一下,觉得flexible.js更好吧,毕竟是大厂出的东西. 第一步要给页面加在viewport('视口'),就是这段代码<meta name="viewport" content="width=device-width,initial-scale=1.0">,因为flexible是通过js动态改变meta标签,类似代码如下: var metaE…
没接触过flexible的建议先看看大漠的这篇文章这样你才会知道长度为什么用rem,而字体要用px 安装flexible npm install lib-flexible --save 引入flexible 在项目入口文件main.js中添加如下代码,引入flexible import 'lib-flexible' px 转 rem 使用 webpack 的 px2rem-loader,自动将px转换为rem 安装px2rem-loader npm install px2rem-loader -…
什么是flexible.js 移动端自适应方案 https://www.jianshu.com/p/04efb4a1d2f8 什么是rem 这个单位代表根元素的 font-size 大小(例如 元素的font-size).当用在根元素的font-size上面时 ,它代表了它的初始值(译者注:默认的初始值是html的默认的font-size大小,比如当未在根元素上面设置font-size大小的时候,此时的1rem==1em,当设置font-size=2rem的时候,就使得页面中1rem的大小相当于…
详见链接 https://github.com/amfe/lib-flexible…
官网原文:https://weex.apache.org/zh/tools/extension.html#功能 功能 创建Weex项目. 支持在VSCode对Weex的语法支持. 检查iOS和Android开发环境. 通过VSCode启动Weex调试工具. 在热更新模式下启动Android及iOS工程. VSCode拓展包包含下面的包: weex-new-project - 用于在VSCode中创建Weex项目. weex-lang - 用于在VSCode中对最新的Weex语法进行支持. wee…
1.概述 1.1.基于UDP的帧同步方案 在技术选型方面,之所以选择帧同步方案,在Kevin的一篇介绍PVP帧同步后台实现的文章中已经做了详细叙述,这里简单摘要如下: 高一致性.如果每一帧的输入都同步了,在同样的上下文中,计算得出的结果应该也是同步的. 低流量消耗.除了帧同步,其它方案(比如状态同步)想做到高一致性,需要同步非常大量的数据.无论是对于移动网络,还是固络都是不合适的. 服务器逻辑简化.采用帧同步方案,服务器只需要做简单的帧同步,不需要关心太多的业务细节.有利于客户端功能的扩展和服务…
集 ** 瞬时触达用户.高转化率.炫酷闪电标.优质展现形式 ** 等诸多特性为一体的 MIP 页面吸引了众多站点进行改造.为了更好地服务于广大站长,更快地倾听站长们的声音,MIP 技术团队特推出<MIP 技术进展月报>,欢迎大家对 MIP 技术提建议,可以通过 github/issues 和 mip-support@baidu.com 与我们交流! 一.本月新增功能一览 1. 新增储存功能,让用户开开心心点赞 MIP 于 9 月份上线了储存功能,采用 localStorage 和 fetch…
IoC 什么是IoC? IoC是Inversion of Control(控制反转)的简称,注意它是一个技术思想.描述的是对象创建.管理的事情. 传统开发方式:比如类A依赖类B,往往会在类A里面new一个B的对象. IoC开发方式:我们不用去new对象,由IoC容器帮我们实例化对象并进行管理.我们需要B对象,就问IoC容器要即可. 控制反转就是说将对象创建.管理的权力交给了外部环境(IoC容器). IoC的作用:解决了对象之间的耦合问题. 什么是DI? DI是Dependancy Injecti…
Http协议 1.深入概念 Http:HyperText Transfer Protocol,即是超文本传输协议. 2.浅出概念(使用浏览器访问服务器端网页时需要遵循的一系列规则) Http:将各种不同浏览器或各种自研客户端的文字信息组织在一起的网状文本数据. 协议:多方一起约定的一系列规则,然后大家活动必须遵循这些规则,就像法律大家必须遵循才能享受法律提供的保护. 举个栗子:我们平时去饭店吃饭通常会有以下几个步骤: 1.坐到合适的座位上. 2.服务员拿出菜单点餐. 3.服务员按照点餐菜单下单.…
原文地址:http://blog.nsfocus.net/nssock2-dll-module-malicious-code-analysis-report/ NetSarang是一家提供安全连接解决方案的公司,该公司的产品主要包括Xmanager, Xmanager 3D, Xshell, Xftp 和Xlpd.最近,官方在2017年7月18日发布的软件被发现有恶意后门代码,该恶意的后门代码存在于有合法签名的nssock2.dll模块中.从后门代码的分析来看,该代码是由于攻击者入侵的开发者的主…
技术:Android + java +动态加载+插件化   概述 为什么要使用插件化?在开发中,一个项目只会越做越大.初始版本可能是单一功能,后续可能加上各种风马牛不相及的功能.所以我认为插件化可以使得业务分离的更彻底,一人负责哪几个模块,问题也能快速定位.但是也会带来问题:插件和插件之间的交互的复杂性更高.底层支持库因为多个插件需要使用相同的代码可能会变得很大.所以插件化看似解耦了程序员的职责,实际上对于代码质量的要求更高.   实现插件化,最快的方法就是找一个第三方框架.但是要想真正理解,需…