前言

作者介绍:文景睿,花名幕辰,Github名luckysmg,一名来自哈尔滨工业大学软件工程系的大四学生,在闲鱼技术团队实习了三个月。先后参与了闲鱼音视频编辑器,图片编辑器的改版升级,以及Flutter Engine优化等相关工作,这篇文章主要是个大家分享一下我来实习的这段时间的一些心得体会。

初来乍到

之前,我在学校的实验室呆了三年,主要做的是移动端研发的相关工作,对项目工程也接触了不少,但是当看见闲鱼工程的巨量code的时候还是让我大吃一惊,初次编译项目要半个小时是我这辈子都不敢想的。项目的各个模块分工很多很细,来了之后请教师兄,了解各个模块的功能和作用。由于Flutter是闲鱼中使用的主要技术,而我自己之前主要是做Native相关工作的,所以对于Flutter多少有些陌生,无论是从UI布局的思路,响应式数据流的处理还是交互等等和Native都有较大差别,我也花了一些时间来进行学习和适应。

进入状态 在熟悉了一段时间工程代码,整体研发模式之后,我也迫不及待的正式进入战斗模式开始输出。之前提到,我参与了视频编辑器和图片编辑器的研发,主要就是以下两个页面:

 

这两个页面是闲鱼主发布链路的核心页面,每天会有数百万的用户接触到这个页面,刚接手的时候我也不敢想象,第一次想着自己每一行code都将会影响数百万的用户,心里难免会有些紧张和焦虑。两个页面的共同难点就是强交互,需要根据用户交互实时对页面内的组件进行响应,给用户良好的操作反馈。其中,图片编辑页面单指控制图片的需求甚至还要用到一些数学知识(向量的点乘和叉乘)来对控件进行角度的变换,以及放大缩小等等,如下图所示

再把这些数据经过一定的的计算,得到贴纸合成的数据,比如贴纸坐标,旋转角度,大小尺寸等参数,再利用源图片数据利用一些算法流程对图片进行合成为一张全新的图片。上面每一步,每一步都不能出任何差错,这个对我一个初出茅庐的学生而言,无疑是一个巨大挑战。但是,挑战也是提升自己的好机会,也是学习的好机会,在师兄的帮助和指点下,我也是顺利地完成了相关工作,并如期上线。

迎来挑战

在闲鱼团队,我感受到更多的是对技术进行学习和探索,而不是做完业务和需求就了事,在基本完成了相关比较紧急的事情之后,师兄开始带我了解Flutter的引擎层,并且着手开始优化Flutter引擎代码。引擎部分原本我认为比较底层,离我很远,自己触碰不到,但是进去之后发现其实并没有那么难,于是开始了解相关代码以及实现,也向Flutter官方提了一些PR对引擎层代码进行优化,这些都不算啥,真正的挑战,要从iPhone13发布说起。

大家都知道,iPhone13系列首次支持了120HZ高刷,然而,很不幸的是flutter在iOS侧的引擎部分并没有适配相关代码,并且帧回调中相关间隔时间也存在问题,导致闲鱼在iPhone13系列上收到大量反馈和用户舆情,卡顿,不顺滑,高刷无效等等等劈头盖脸等像我们撒过来......于是我拿出了我刚买的13,开始对引擎进行debug....尝试着能不能修改引擎的相关实现来解决问题。最后在翻看引擎的相关代码后,对iOS侧的刷帧回调进行修改,最后成功让闲鱼的Flutter页面在iPhone13系列机型拥有高刷(目前闲鱼最新版本已经上高刷)

另外,我自己也发现iOS侧还有一个键盘弹起没有动画的问题,而Android是有的,说明也是引擎层的问题,我也通过结合iOS系统特性对Flutter Engine进行修改,提升了键盘弹起场景下Flutter应用的体验,以下是实现对比(后续会有相关实现的文章)

总结

总的来说,实习三个月下来,感觉团队的技术氛围,团队氛围都非常不错,我个人技术方面有很大的进步和发展,也顺利拿到了转正offer,最后也决定秋招选择了闲鱼技术团队,在这里也非常感谢师兄们在我实习期间给我非常大的引导和帮助。

附上我跟我的小伙伴们的合影:

在闲鱼实习是一种什么样的体验相关推荐

  1. flutter列表无法滚动到底部_在闲鱼实习做Flutter是什么感受?

    作者:闲鱼技术-炜铖 前言: 我是广东工业大学16级软件工程专业的学生,在今年5月份通过春招作为实习生加入了闲鱼.至今实习了3个月.在闲鱼先后完成了玩家发布页重构,AndroidQ适配,租赁,直播等任 ...

  2. 二手书籍的归宿 - 闲鱼、转转官方收书使用体验

    前两年买了不少纸质书,几个大的电商平台不间断搞一些满减活动,基本上100块钱能买六七本书.买的大部分都是类似<从0到1>这种,这类的书看一遍基本上就不会再看了,加上后来一直用kindle和 ...

  3. 一文告诉你:闲鱼是怎么面向Flutter做技术体验升级的?

    但是随着业务快速迭代,开发者往往会疏忽大意,写出低性能的代码.理想情况是,通过性能分析工具自动定位到问题代码,及时修改.Flutter官方提供了Devtools性能分析工具,它的timeline界面可 ...

  4. 闲鱼副业怎么玩?闲鱼赚钱的方法有几种?

    闲鱼副业怎么玩?闲鱼赚钱的方法有几种? 闲鱼副业项目,简单来说,就是上架淘宝,拼多多等平台产品,直接加价格出售,从中挣取差价你所用. 目前闲鱼常用的两种玩法: 1.找微商低价货源,或者去1688找可以 ...

  5. 500元/天,她们在闲鱼出租自己

    来源 | 电商之家(ID:iechome)  作者 | 赵云合 我的工作是陪人结婚   27岁的小安,明明才步入社会没几年,在父母眼中已经是"大龄未婚女青年"了. 不过,面对长辈们 ...

  6. 闲鱼的真正用法,其实是找对象

    来源/不相及研究所 ID/buuuxiangji 作者/发财金刚 相亲是一种历史悠久的特殊社交活动,今天的年轻人把它接入了互联网. 他们知道在这个时代,想要顺利找到另一半,先要打开思路,有许多孤单的灵 ...

  7. 拆解闲鱼无货源盈利模式,需要注意的细节太多?

    一.为什么要做闲鱼项目? (更多精彩干货请关注共众号:萤火宠) 闲鱼目前是阿里旗下的.全国最大的二手交易平台.用户以80后.90后为主,女性多于男性,学生.宝妈及上班族居多,不仅用户数量庞大,且互动率 ...

  8. 闲鱼卖家近期卖出后纠纷4次,请谨慎交易怎么办?

    很多闲鱼卖家都会碰到两种情况,一是显示"卖家近期发货后被退款15笔",还一个是显示"卖家近期发货后被发起纠纷5笔,请谨慎交易",退款笔数不同,但提示信息基本一致 ...

  9. 阿里这次要“让天下无闲置”,闲鱼推信用速卖

    不仅可以"断舍离",还是一条年末极速生财的好路子--闲鱼放大招了. 12月19日,闲鱼在北京召开主题为"万物尽其用,天下无闲置"发布会,启动无闲置社会行动,同时 ...

  10. 闲鱼是如何实践一套完整的埋点自动化验证方案的?

    背景 作为一款国民级二手交易App,闲鱼每天都有成千上万的二手闲置商品发布,精准的个性化的商品推荐是促进闲鱼用户快速成交的秘诀.搜索推荐算法的精准和埋点数据的准确性息息相关.一旦埋点数据出现问题,用户 ...

最新文章

  1. 学长毕业日记 :本科毕业论文写成博士论文的神操作20170320
  2. Spring中BeanFactory和FactoryBean的区别
  3. python 碎片图像拼接_python实现图像拼接
  4. 【Luogu1095】守望者的逃离
  5. 程序员发展职业规划_程序员做到以下几点,十年之后才不会被淘汰
  6. 软件测试自学教程——书籍教程篇
  7. python扫雷代码_利用Python实现自动扫雷小脚本
  8. PICKIT3脱机烧写指导书
  9. ps修改社保照片 不大于20KB
  10. 计算机网络(2.12)物理层- 宽带接入技术-FTTx技术
  11. oracle 逗号连接表是相当于什么
  12. 使用阿里的【字体图标】期望的效果
  13. Kubernetes----Pod配置污点和容忍
  14. HTML5期末大作业:旅游网页设计与实现——四川成都-(9页 带购物车)
  15. 机器人运动学---雅克比矩阵伪逆
  16. 网络扫描技术揭秘读书笔记3--TCP SYN扫描
  17. dbm数据库源代码分析(3):头文件部分
  18. 程序员的春天来了,最美赏花旅游地十大攻略
  19. sizeof的用法详解
  20. opencv 学习笔记3.1 高斯双边滤波(EPF) 常用于美颜

热门文章

  1. python查看虚拟环境列表_python虚拟环境virtualenv高级篇
  2. python微信刷票脚本在哪_微信刷票Python脚本教程
  3. 无法加载文件 C:\Users\*****\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。——VScode终端问题解决办法
  4. 2019 年第 26 周 DApp 影响力排行榜 | TokenInsight
  5. 湖南工大计算机学院大一分班,不懈奋斗,书写无悔青春 --中国矿业大学计算机学院14-05班获评校级“优良学分班”称号...
  6. tp1900芯片对比7621a_MT7621A /MT7620N / MT7620A单频双频刷机教程(区别于高通芯片刷机过程)...
  7. Android学习日记(yzy):通过自定义View实现新手指导功能(蒙板效果)
  8. 补点C#基础_022_json校验和json在线编辑器-bejson
  9. 支持ECSHOP 2.73手机客户端
  10. 基于MAC地址划分VLAN