暂无个人介绍
能力说明:
了解变量作用域、Java类的结构,能够创建带main方法可执行的java应用,从命令行运行java程序;能够使用Java基本数据类型、运算符和控制结构、数组、循环结构书写和运行简单的Java程序。
暂时未有相关云产品技术能力~
阿里云技能认证
详细说明中间件可以算是一种前端中常用的”设计模式“了,有的时候甚至可以说,整个应用的架构都是使用中间件为基础搭建的。那么中间件有哪些利弊?什么才是中间件正确的使用姿势?本文将分享作者在实际使用中的一些想法,欢迎同学们共同讨论。
推广单元测试,仅仅达到单测覆盖率是远远不够的,我们还要学习写"易于测试"的代码,以及"好"的测试,这样才能让单测真正发挥作用。本文将分享作者关于单元测试的思考与实践。
Aspect使用了OC的消息转发流程,有一定的性能消耗。本文作者使用C++设计语言,并使用libffi进行核心trampoline函数的设计,实现了一个iOS AOP框架——Lokie。相比于业内熟知的Aspects,性能上有了明显的提升。本文将分享Lokie的具体实现思路。
Flutter从本质上来讲还是一个UI框架,它解决的是一套代码在多端渲染的问题。在渲染管线的设计上更加精简,加上自建渲染引擎,相比ReactNative、Weex以及WebView等方案,具有更好的性能体验。本文将从架构和源码的角度详细分析Flutter渲染机制的设计与实现。较长,同学们可收藏后再看。
commit message应该如何写才更清晰明了?团队开发中有没有遇到过让人头疼的git commit?本文分享在git commit规范建设上的实践,规定了commit message的格式,并通过webhook在提交时进行监控,避免不规范的代码提交。
有哪些常见的数据结构?基本操作是什么?常见的排序算法是如何实现的?各有什么优缺点?本文简要分享算法基础、常见的数据结构以及排序算法,给同学们带来一堂数据结构和算法的基础课。
最新发布的《Java开发手册(嵩山版)》增加了前后端规约,其中有一条:禁止服务端在超大整数下使用Long类型作为返回。这是为何?在实际开发中可能出现什么问题?本文从IEEE754浮点数标准讲起,详细解析背后的原理,帮助大家彻底理解这个问题,提前避坑。
对于软件测试来说,怎么样才算测够了?如何评价测试的有效性?那么多测试用例,以后怎么删?在软件测试中会遇到非常多的问题,阿里研究员郑子颖分享了18个他总结出的难题以及相关看法,希望对同学们有所启发。
本月TIOBE指数没有多大变化。编程语言R继续它的高光时刻,并且有望按计划成为2020年年度编程语言。跟随其后的,Go,Swift和SQL在TIOBE索引中不断抢占第10名的争夺战也很有趣。
相信Linux对大家来讲并不陌生,相比于Windows也有其独特优势所在。
I/O技术在系统设计、性能优化、中间件研发中的使用越来越重要,学习和掌握I/O相关技术已经不仅是一个Java攻城狮的加分技能,而是一个必备技能。本文将带你了解BIO/NIO/AIO的发展历程及实现原理,并介绍当前流行框架Netty的基本原理。
函数即服务(FaaS)作为云计算 2.0 时代重要的发展方向,能够从工程效率、可靠性、性能、成本等方面给开发者带来巨大的价值,尤其是能够极大地提升研发效率。因此,拥抱FaaS成为开发者关心的重要技术领域。阿里文娱技术专家墨洵、研发工程师武升将介绍文娱函数计算平台的设计思想与关键技术难点,并结合业务介绍函数计算的落地实践经验。
在存储系统中, NFS(Network File System,即网络文件系统)是一个重要的概念,已成为兼容POSIX语义的分布式文件系统的基础。它允许在多个主机之间共享公共文件系统,并提供数据共享的优势,从而最小化所需的存储空间。本文将通过分析NFS文件锁状态视图一致性的原理,帮助大家理解NFS的一致性设计思路。
清幽现云山,虚静出内功。
在《Java 开发手册(泰山版)》发布之后引发了程序界的广泛讨论,技术和道理都是越辩越明的,相信带给了大家不少的收获。《Java 开发手册(嵩山版)》特别增加了前后端规约,并修复了一些原来存在的一些问题,接下来让我们先品尝一些嵩山版带来的新的滋味吧。
什么是技术情怀?在孤尽看来,技术情怀就是:热爱、思考、卓越。正是这种情怀,推动着Java文化的进步。清幽现云山,虚静出内功,《Java开发手册(嵩山版)》今天发布,来听孤尽老师讲他的技术情怀,来看嵩山版又更新了哪些新内容吧。
为了赶进度功能实现怎么快怎么来,只好欠下一堆技术债?业务逻辑复杂,如何处理比较好?相似的功能逻辑要不要copy修改一下复用?代码真的不需要写注释吗?好的代码不管对于个人还是团队来说,都是非常关键重要的,然而要写好代码却是一件非常不容易的事情,需要长期的经验积累和学习。本文作者分享了6个关于写好代码的入门的比较重要的点,希望对同学们有所帮助。
丰富准确的地图数据大大提升了我们在使用高德地图出行的体验。相比于传统的地图数据采集和制作,高德地图大量采用了图像识别技术来进行数据的自动化生产,而其中场景文字识别技术占据了重要位置。商家招牌上的艺术字、LOGO五花八门,文字背景复杂或被遮挡,拍摄的图像质量差,如此复杂的场景下,如何解决文字识别技术全、准、快的问题?本文分享文字识别技术在高德地图数据生产中的演进与实践,介绍了文字识别自研算法的主要发展历程和框架,以及未来的发展和挑战。
什么是数据分析?需要掌握哪些技能?如何进行数据分析?本文全面梳理了数据分析知识体系,从数据分析的定义讲起,详细介绍了分析思维模型和经典分析模型及指标体系。
Service Mesh早已不是一个新兴的概念,但大家对Service Mesh的探索依然火热。本文将依次讲解Service Mesh的定义(什么是Service Mesh)、起因(为什么需要Service Mesh)和现状(Service Mesh的主流实现),希望通过浅显易懂的介绍,尽量帮助大家更好地理解Service Mesh。
什么是领域驱动设计?传统分层架构在实际开发中存在哪些问题?业务开发人员如何设计并搭建自己的领域模型?阿里文娱技术专家战獒将为大家一一解答,并分享文娱在领域驱动设计上的实践。
分布式一致性(Consensus)作为分布式系统的基石,一直都是计算机系统领域的热点。近年来随着分布式系统的规模越来越大,对可用性和一致性的要求越来越高,分布式一致性的应用也越来越广泛。纵观分布式一致性在工业界的应用,从最开始的鼻祖Paxos的一统天下,到横空出世的Raft的流行,再到如今Leaderless的EPaxos开始备受关注,背后的技术是如何演进的?本文将从技术角度探讨分布式一致性在工业界的应用,并从可理解性、可用性、效率和适用场景等几个角度进行对比分析。
俗话说得好,不想进大厂的程序员不是一个好程序员。那么作为即将步入程序员大军的小萌新/程序员界的老司机,你们都是如何备战大厂的呢?是否面对网络上纷繁复杂的资料茫然无从下手?抑或是坐在电脑旁埋头敲着代码却找不到一丝存在感?不用怕!今天我就来带大家一起解锁一款程序员必备法宝,帮你轻松提升编程能力,离大厂更进一步。
阿里巴巴数据体验技术团队从一开始建立就致力于打造数据领域体验技术的标杆。经过多年的深耕,形成了一整套面向两个阶段的用户产品的体验技术架构。本文重点介绍团队在 SQL 编辑器,BI 平台,数据可视化,数字艺术,数据安全领域的相关见解,以及在技术上的建设和未来发展路径。
近几年里,大数据行业发展势头迅猛,故而相应的分布式产品和架构层出不穷,本文分享作者在大数据系统实践过程中接触过的一些工具及使用感受,抛砖引玉,和同学们一起构建一个分布式产品的全景图。
我们在选择一种开发语言时会综合考量各方面的特性,根据实际的需求适当取舍。鱼和熊掌往往不可兼得,要想开发效率高,必然要牺牲性能和资源消耗,反之亦然。但是Rust却出其不意,令人眼前一亮!本文将从性能、内存安全、开发效率、跨平台性及生态等五个方面,对Rust这一编程语言进行一些科普性质的分享。
CSS是Web开发中不可或缺的一部分,随着Web技术的不断革新,CSS也变得更加强大。CSS的众多属性你知道了多少?具体开发中该使用什么属性才最适合恰当?如今的一些CSS属性可以让我们节约更多的时间。比如在Web布局中,现代CSS特性就可以更好的帮助我们快速实现如等高布局,水平垂直居中,经典的圣杯布局、宽高比例、页脚保持在底部等效果。淘系前端技术专家大漠将详细介绍一些不同的CSS属性来实现这些效果,希望对同学们有所帮助。
近来 BERT等大规模预训练模型在 NLP 领域各项子任务中取得了不凡的结果,但是模型海量参数,导致上线困难,不能满足生产需求。舆情审核业务中包含大量的垃圾舆情,会耗费大量的人力。本文在垃圾舆情识别任务中尝试 BERT 蒸馏技术,提升 textCNN 分类器性能,利用其小而快的优点,成功落地。
造成系统异常宕机(无响应、异常重启)的原因有很多种,最常见的是操作系统内部缺陷和设备驱动缺陷。本文作者将和大家分享内存转储分析的底层逻辑和方法论,并通过一个线上真实案例来展示从分析到得出结论的整个过程,希望对同学们处理此类问题和对系统的理解上有所帮助。
Python 的语法很灵活,融合了很多其他语言中令人觉得方便的特点。然而 Python 的优势同时也隐含了其劣势。蚂蚁研究员王益在工业系统中对 Python 的亲身体会,更加深刻地了解到了 Python 的局限,而 Go+ 是弥补方案里最靠谱的。那么 Python 有哪些不足?Go+ 又是如何能弥补的?本文分享王益对 Go+ 补全 Python 的局限上的相关看法和尝试。
关于代码的健壮性,其重要性不言而喻。那么如何才能写出健壮的代码?阿里文娱技术专家长统将从防御式编程、如何正确使用异常和 DRY 原则等三个方面,并结合代码实例,分享自己的看法心得,希望对同学们有所启发。
7 月 7 日,Flink 1.11.0 正式发布。历时近 4 个月,Flink 在生态、易用性、生产可用性、稳定性等方面都进行了增强和改善。Apache Flink PMC、阿里巴巴高级技术专家王治江,同时也是这个版本的 release manager 之一,将和大家一一分享,并深度剖析 Flink 1.11.0 带来了哪些让大家期待已久的特性,对一些有代表性的 feature 从不同维度解读。
软件工程领域存在一个共识:维护代码所花费的时间要远多于写代码。而整个代码维护过程中,最惊心动魄与扣人心弦的部分,莫过于问题排查(Trouble-shooting)了。特别是那些需要 7x24 小时不间断维护在线业务的一线服务端程序员们,大大小小的问题排查线上救火早已成为家常便饭,一不小心可能就吃成了自助餐 —— 竖着进躺着出,吃不了也兜不住。本文分享作者在服务端问题排查方面的一些经验,包括常见问题、排查流程、排查工具,结合实际项目中发生过的惨痛案例进行现身说法。
Webpack 将各个资源打包整合在一起形成 bundle,当资源越来越多时,打包的过程也将越来越慢。如果我们不需要打包呢?让浏览器直接加载对应的资源,是否就可以实现质的提升?本文分享基于浏览器的 ESModule 能力实现 Bundless 本地开发的相关思路、核心技术点和 Vite 的相关实现,以及在阿里供应链 POS 场景下的落地实践。
ApacheFlink 作为大数据计算领域冉冉升起的新星正散发着耀眼的光芒。它新鲜、它开源、它先进的架构设计象征着流式数据处理与批式数据处理融为一体的希望。越来越多的开发者加入到 Flink 小松鼠大本营,尝试用 Flink 来解决生产环境中的数据处理难题。
编写代码,是软件开发交付过程的起点,发布上线,是开发工作完成的终点。代码分支模式贯穿了开发、集成和发布的整个过程,是工程师们最亲切的小伙伴。那如何根据自身的业务特点和团队规模来选择适合的分支模式呢?本文分享几种主流 Git 分支模式的流程及特点,并给出选择建议。
SVG 作为一个强大的矢量图标准格式,在图片清晰度的表现力上有着位图无法比拟的优势。那么是否 SVG 就是绝对的首选了呢?事实可能并非如此。本文将带大家了解 SVG 在 Flutter 应用中的性能问题,分享 UC 浏览器内核技术团队在 Flutter 应用中改进 SVG 应用的探索实践。
在机器学习的监督学习中,我们的目标是让模型不断学习带有标签的历史数据,从而提高模型在该领域的泛化能力。一般情况下,在上述的过程中,模型所学习的历史数据都是事先准备好的(数据采集,预处理,打标),有多少数据,模型就学习多少数据。换言之,模型在被动地学习我们事先提供的数据。本文分享一种主动学习方法,让模型参与“学习样本”的选择,根据不同策略,对样本池中的所有样本进行区分,提升模型性能。
COLA 的主要目的是为应用架构提供一套简单的可以复制、可以理解、可以落地、可以控制复杂性的”指导和约束"。在实践中作者发现 COLA 在简洁性上仍有不足,因此给 COLA 做了一次“升级”,在这次升级中,没有增加任何新的功能,而是尽量多删减了一些概念和功能,让 COLA 更简洁有效。
针对共享资源的互斥访问历来是很多业务系统需要解决的问题。在分布式系统中,通常会采用分布式锁这一通用型解决方案。本文将就分布式锁的实现原理、技术选型以及阿里云存储的具体实践进行论述。
视觉目标跟踪 (visual object tracking) 是计算机视觉 (computer vision) 领域的一个重要研究问题。通常来说,视觉目标跟踪是在一个视频的后续帧中找到在当前帧中定义的感兴趣物体 (object of interest) 的过程,主要应用于一些需要目标空间位置以及外观(形状、颜色等)特性的视觉应用中。本文旨在对跟踪做一个尽量全面、细致和具有时效性的综述,研究跟踪的定义、应用、架构、算法以及评估等方面的内容。联合作者:图希,恬宁,崇北,昆虚,明烁。
Android 转 Java 开发在技术栈上有哪些差异?思考和解决问题时又会有怎样的转变?本文分享阿里技术专家从 Android 开发转 Java 应用开发的心得感受,分析两者差异及在动态性、兼容性、内存管理和状态问题等方面的一些看法,并总结了在阿里做一个 Android 开发和 Java 开发所需要的技术栈。
对象存储被广泛应用于互联网应用中,当我们打开手机观看视频、收听音乐、分享图片、浏览网页、淘宝购物时,背后的数据基本都是存在对象存储中。应用使用卡、打不开就和对象存储的可用性 SLA 有关,SLA 越高,应用体验越好。本文分享阿里云在对象存储 OSS(Open Storage Service) 的可用性 SLA (Service Level Agreement) 上的实践和技术沉淀。
什么是搜索的时效性?有哪些特征?如何优化?本文分享神马搜索在搜索排序时效性问题上的实践和探索,从基础特征优化开始,通过标注数据进行排序和召回模型优化,以及时效性排序的召回体系和收录体系。较长,同学们可收藏后再看。
2019 年 6 月 6 日的一张新闻图片瞬间刷遍全网,意味着中国正式进入 5G 时代,2019 年也被业界称为 5G 商用元年。转眼间一年过去,这个不断被提及的 5G 新星发展到了什么程度呢,让我们再来回顾和展望一下。
对于错误码的设计,不同的开发团队有不同的风格习惯。本文分享阿里文娱技术专家长统对于错误码的看法,希望从错误码使用的不同场景讨论得到一个合理的错误码规约,得到一个面向日志错误码标准和一个面向外部传递的错误码标准。
Flutter 是开源的 UI 工具包,其能够帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。Flutter 组件采用现代响应式框架构建,中心思想是用组件 (widget) 构建 UI。淘宝终端技术部无线技术专家王康从 Flutter 的原理出发,介绍了 Flutter 的原理、业内现状,以及阿里巴巴在 Flutter 上所做的深度实践和探索。
不同的场景下所需的流控算法不尽相同,那应该如何选择适用的流控方案呢?本文分享单机及分布式流控场景下,简单窗口、滑动窗口、漏桶、令牌桶、滑动日志等几种流控算法的思路和代码实现,并总结了各自的复杂度和适用场景。较长,同学们可收藏后再看。
达摩院发布的 “2020 十大科技趋势” 预测中,一个重要趋势就是人工智能从感知智能向认知智能演进。作为认知智能的一个重要核心技术,自然语言处理在过去一年中有了进一步的发展,无论从技术和产品都有显著的成果,例如大规模预训练语言模型的明显优势和广泛应用,智能对话和服务助理,结合领域需求的 NLP 技术和知识图谱等。本文分享达摩院自然语言处理技术小组各领域专家对过去一年 NLP 的技术,平台和产品方面的总结,并对新一年的趋势进行展望,描绘阿里自然语言处理技术的新十年。
软件研发过程中如何让工作变得更简单高效?事务性工作应该更关注需求还是更关注任务?是持续发布还是批量发布?本文将从七个方面聊一聊软件研发过程中常见的误区及正确姿势,分享研发过程中的那些 Dos 和 Dont's。