首页 文章 精选 留言 我的

精选列表

搜索[基因多效性],共10012篇文章
优秀的个人博客,低调大师

分享实录 | 云效架构师手把手教你搭建 DevOps 平台

【以下为分享实录,有删节】 背景诉求与推进策略 方案背景 一站式DevOps解决方案致力于顺畅高质量地交付有效价值: 顺畅指交付过程中不存在反复和阻碍,快速完成;高质量表示交付过程中产生曲线较少,交付后线上故障较少;有效价值指做出的需求真正是用户想要的。 当今世界是个节奏加速的世界,大鱼吃小鱼,快鱼吃慢鱼,每家公司都多少与软件业务相关联 ,软件交付和创新已经成为企业核心竞争力。随着业务发展和市场竞争的加剧,对软件研发效能的要求不断提高。同时但随着ioT和新零售等业务场景出线和相关协作复杂度的提升,研发效能反而有降低的趋势。 互联网时代下企业的DevOps诉求 互联网时代下,企业的DevOps诉求主要分为以下六个维度: 平台化与相应融合:每个公司都有很多平台,众多平台在企业内通常是封闭的孤岛,缺乏良好的信息沟通,公司有相应诉求来打造契合企业一站式

优秀的个人博客,低调大师

揭秘菜鸟仓储体系“大脑”:智能波次如何实现仓库降本提效?

阿里妹导读:2018天猫双11物流订单量创新高,突破10亿件,这是一次史无前例的物流洪峰。天猫双11十年来,见证了物流业从手写地址、人工分拣,到电子面单、机器人分拣。无论是物流园区、干线运输,还是秒级通关、末端配送,都通过技术高效连接,智能物流骨干网正在加快实现行业数字化、智能化升级。 因此,阿里技术推出《菜鸟智慧新物流》专题,邀请菜鸟技术人,为你揭秘物流核心技术。今天第二期,我们将了解到“仓储体系的大脑”:智能波次,全面了解它在过去一年时间里算法友好型的系统架构建设和演进过程。 一. 前言 仓储管理体系从粗放向精细化经营、柔性自动化管理转变是大的趋势,2018年双11国内物流订单首次突破10亿,对整个物流行业都是巨大的挑战,菜鸟的AGV小车、PTL、立体存储等自动化设备发挥了强大的作用。在智能化方面,菜鸟仓储技术团队同样在进行多维度

优秀的个人博客,低调大师

云效支持自定义构建镜像 征集10家企业免费使用

注:目前该功能处于公测阶段,现征集10家企业优先免费体验,如果您有需要,请通过页面右下角‘提问’悬浮球联系我们,或者文末钉钉扫码联系此功能的技术顾问。 为什么需要自定义构建镜像? 构建环境的需求是复杂多样的,虽然我们提供了一些基础的构建镜像,比如Java、Python等,但是仍然有些场景无法满足: 编程语言在不断演进,新的语言层出不穷,会有覆盖不到的语言或者特定版本。比如我们的Java8构建环境提供了jdk-8u161,但你需要的是jdk-8u162。 目前编译环境都是针对单个语言的,无法支持两种或以上的语言的同时编译。比如同时使用Node和Java。 编译过程需要下载特定的依赖(非maven和npm仓库)或工具,下载时长会影响构建速度。 在这些情况下,我们通过自定义构建镜像的方式,满足您的特殊编译需求。 如何制作自定义构建镜像?您可以按照如下

优秀的个人博客,低调大师

Android登陆页面仿拉钩动效,你总会需要它!

哈哈,看到这个标题是不是JH一紧,你可能会说我就没遇到过,但是现在没遇到不代表就遇不到,毕竟设计也是变幻莫测,只有你想不到的,没有你不能实现的,说的这么吊,到底是啥效果?没错就是一个小小的登录页面,大家都有拉勾app吧,看拉勾的登录页做的很是平滑动画,而且带动画效果,所以就有了类似拉勾登录效果,如图: 虽然是个简单的页面,但是涵盖的东西不算少啊,很纳闷为何谷歌一直不提供简单,方便,准确的键盘监听事件?惆怅啊,所以我们只能自己从侧面监听键盘事件了,我们可以监听最外层布局的变化来判断键盘是不是弹起了。闲话不多说,上车吧。 布局文件,大家都能看懂吧。 我们要想监听键盘事件,首先我们想得到的是键盘弹起的时候我们可以去搞点事情,键盘搜起的时候我们再去搞点事情,知道这些还不够,我们还要知道键盘弹起了多少,以及需要平移多少的距离。我们都知道我们的一个页面弹起键盘的时候这个页面的根布局会回调他的监听方法:addOnLayoutChangeListener( );当键盘弹起的时候,我们的布局是变化了,因此会执行这个回调方法,但是前提是必须设置我们的Activity的windowSoftInputMode属性为adjustResize。 我们想让布局整体平移的距离也就是弹起时候处于最底部的view距离顶部的高度减去我们键盘的高度。现在认为只要控件将Activity向上推的高度超过了1/3屏幕高,就认为软键盘弹起 scrollView.addOnLayoutChangeListener(newViewGroup.OnLayoutChangeListener(){ @Override publicvoidonLayoutChange(Viewv,intleft,inttop,intright,intbottom,intoldLeft,intoldTop,intoldRight,intoldBottom){ /*old是改变前的左上右下坐标点值,没有old的是改变后的左上右下坐标点值 现在认为只要控件将Activity向上推的高度超过了1/3屏幕高,就认为软键盘弹起*/ if(oldBottom!=0&&bottom!=0&&(oldBottom-bottom>keyHeight)){ Log.e("wenzhihao","up------>"+(oldBottom-bottom)); intdist=btn_login.getBottom()-bottom; if(dist>0){ ObjectAnimatormAnimatorTranslateY=ObjectAnimator.ofFloat(content,"translationY",0.0f,-dist); mAnimatorTranslateY.setDuration(300); mAnimatorTranslateY.setInterpolator(newLinearInterpolator()); mAnimatorTranslateY.start(); zoomIn(logo,dist); } service.setVisibility(View.INVISIBLE); }elseif(oldBottom!=0&&bottom!=0&&(bottom-oldBottom>keyHeight)){ Log.e("wenzhihao","down------>"+(bottom-oldBottom)); if((btn_login.getBottom()-oldBottom)>0){ ObjectAnimatormAnimatorTranslateY=ObjectAnimator.ofFloat(content,"translationY",content.getTranslationY(),0); mAnimatorTranslateY.setDuration(300); mAnimatorTranslateY.setInterpolator(newLinearInterpolator()); mAnimatorTranslateY.start(); //键盘收回后,logo恢复原来大小,位置同样回到初始位置 zoomOut(logo); } service.setVisibility(View.VISIBLE); } } }); /n_login是登录按钮 这样我们发现是可以实现效果了,但是我想全屏显示,懵比了,发现全屏的时候不回调这个方法了,怎么办?又是查资料一看原来这个也是一个bug,但是有解决方案,AndroidBug5497Workaround。也是谷歌提供的?直接拷贝过来,会发现其实他的作用就是让Activity最外层的根布局,当有布局变化时去响应这个变化mChildOfContent.getViewTreeObserver().addOnGlobalLayoutListener(); packagecom.wzh.study.login; importandroid.app.Activity; importandroid.graphics.Rect; importandroid.view.View; importandroid.view.ViewTreeObserver; importandroid.widget.FrameLayout; publicclassAndroidBug5497Workaround{ //Formoreinformation,seehttps://code.google.com/p/android/issues/detail?id=5497 //Tousethisclass,simplyinvokeassistActivity()onanActivitythatalreadyhasitscontentviewset. publicstaticvoidassistActivity(Activityactivity){ newAndroidBug5497Workaround(activity); } privateViewmChildOfContent; privateintusableHeightPrevious; privateFrameLayout.LayoutParamsframeLayoutParams; privateAndroidBug5497Workaround(Activityactivity){ FrameLayoutcontent=(FrameLayout)activity.findViewById(android.R.id.content); mChildOfContent=content.getChildAt(0); mChildOfContent.getViewTreeObserver().addOnGlobalLayoutListener(newViewTreeObserver.OnGlobalLayoutListener(){ publicvoidonGlobalLayout(){ possiblyResizeChildOfContent(); } }); frameLayoutParams=(FrameLayout.LayoutParams)mChildOfContent.getLayoutParams(); } privatevoidpossiblyResizeChildOfContent(){ intusableHeightNow=computeUsableHeight(); if(usableHeightNow!=usableHeightPrevious){ intusableHeightSansKeyboard=mChildOfContent.getRootView().getHeight(); intheightDifference=usableHeightSansKeyboard-usableHeightNow; if(heightDifference>(usableHeightSansKeyboard/4)){ //keyboardprobablyjustbecamevisible frameLayoutParams.height=usableHeightSansKeyboard-heightDifference; }else{ //keyboardprobablyjustbecamehidden frameLayoutParams.height=usableHeightSansKeyboard; } mChildOfContent.requestLayout(); usableHeightPrevious=usableHeightNow; } } privateintcomputeUsableHeight(){ Rectr=newRect(); mChildOfContent.getWindowVisibleDisplayFrame(r); return(r.bottom-r.top); } } 使用方式,如果我们设置了全屏,就去加载它,不设置不管: if(isFullScreen(this)){ AndroidBug5497Workaround.assistActivity(this); } ... publicbooleanisFullScreen(Activityactivity){ return(activity.getWindow().getAttributes().flags& WindowManager.LayoutParams.FLAG_FULLSCREEN)==WindowManager.LayoutParams.FLAG_FULLSCREEN; } 接下来就看具体动画事件了,键盘弹起来的时候整体向上平移,LOGO缩小,键盘收起的时候整体下移,并且LOGO恢复原来大小。这里用到的都是属性动画,只有属性动画我们才可以实现真正平移效果。 我看网上很多人使用addOnLayoutChangeListener()去监听键盘事件,但是这个方法回调的太频繁,比如本例特效,输入框后面有文字时候显示清除的图标,如果用这个方法那么也会执行一次,可能会影响你的动画,当然你也可以去记录第一次的高度让他不会走逻辑,但是我觉得也不是很靠谱,虽然我这个方法也不是很棒 ๑乛◡乛๑~。 最后贴上源码: 如果有什么问题欢迎指出,我将给出例子地址,包含另一种实现方式就是用scrollview滑动到最底部的方式来实现平移效果~ 作者:wenzhihao123 来源:51CTO

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册