公司:58同城
58同城(NYSE:WUBA),简称58,是一家位于中国北京市的生活服务及分类信息网站,以在地服务为主,举凡租房、招聘、交友、水电、二手交易等等,由北京五八信息技术有限公司拥有,创始人是姚劲波,成立于2005年12月12日。该网站是中文最大的生活信息网站,该网站的口号是“一个神奇的网站”。
FE主导打造一个运营活动平台
当今互联网公司,一般都会有一些运营类活动,如公司活动宣传、节假日优惠促销等,在电商类公司更是需要频繁的上(下)线运营活动。
前端换肤方案介绍和使用
在项目开发过程中,前端开发人员经常会遇到切换不同主题风格的需求,接下来我们一起来讨论什么是换肤,以及常用的几种换肤方案。
说说IntersectionObserver交叉观察器
过去,要检测一个元素是否可见或者两个元素是否相交并不容易,很多解决办法不可靠或性能很差。然而,随着互联网的发展,这种需求却与日俱增,比如,下面这些情况都需要用到相交检测:
- 图片懒加载——当图片滚动到可见时才进行加载
- 内容无限滚动——也就是用户滚动到接近内容底部时直接加载更多,而无需用户操作翻页,给用户一种网页可以无限滚动的错觉
- 检测广告的曝光情况——为了计算广告收益,需要知道广告元素的曝光情况
- 在用户看见某个区域时执行任务或播放动画
过去,相交检测通常要用到事件监听,并且需要频繁调用 Element.getBoundingClientRect()
方法以获取相关元素的边界信息。事件监听和调用 Element.getBoundingClientRect()
都是在主线程上运行,因此频繁触发、调用可能会造成性能问题。这种检测方法极其怪异且不优雅。
Intersection Observer API 会注册一个回调函数,每当被监视的元素进入或者退出另外一个元素时 (或者 viewport),或者两个元素的相交部分大小发生变化时,该回调方法会被触发执行。这样,我们网站的主线程不需要再为了监听元素相交而辛苦劳作,浏览器会自行优化元素相交管理。
由工作端反作弊而引发的对应用安全的思考
目前我所维护的项目是 58 到家工作端,定位是一款 ToB 的工具型应用,目的是帮助家政从业人员更方便的进行上户工作,随着业务的逐渐迭代,发现部分用户在日常的使用中存在作弊的现象,此现象的存在会导致未作弊阿姨可能接到的订单量减少,甚至在活动期间薅羊毛,影响派单的公平性以及增大公司的活动资金投入,因此需要我们对应用的安全性进行一定的提升以保证整体系统的安全性以及公平性。
现阶段接入了梆梆加固,在接入过程中需要确定相关加固策略,因此需要对应用加固有系统的了解,本文主要是对此次安全升级的总结及以及在 58 到家工作端中的落地实践。
Web服务器Nginx知多少
Nginx这个词在一段时间里,对于一名前端开发工程师来说可能是比较陌生和遥远,但随着互联网的发展,前端技术也在日新月异的发生变化,对于前端技术人才的要求和门槛都在不断的提高,不仅仅希望你在自己的专业领域是一个有技术深度并且还需要有技术广度,那么服务器运维这块肯定是绕不过去的一个点,今天我们就一起来聊聊Web服务器Nginx。
微信小程序登录、获取用户信息的流程及实现
本篇文章将通过以下三步,让你了解到小程序登录、和用户信息获取的微信生态变迁,和流程上前后端技术实现。
前端引导的实现
在产品经理这个行当里面,一直有一句老话“要把用户当成傻子”。这句话并没有任何敌视用户的意思,其理论无非是“让用户减少学习成本,让用户容易上手,是产品设计里面的核心追求”。
移动端 H5 页面唤起 APP 方案
移动端 H5 页面通常承担的主要责任就是引流,利用 Web 页面轻量便于传播的特性通过搜索引擎或者社交软件进行传播,然后在页面内引导用户打开 APP 进行消费,引流主要有两种形式:
- 拉活:引导已安装 APP 用户打开 APP 进行消费,提升用户粘性和 APP 日活数据。
- 拉新:引导未安装 APP 用户安装 APP,增加 APP 的用户量。
H5 页面唤起 APP 的主要技术方案有以下三种:
- 方案一:URL Scheme(通用)
- 方案二:Universal Link(IOS)
- 方案三:wx-open-launch-app(微信)
方案一和方案二属于系统级别解决方案,方案三是在微信内的解决方案,虽然不是一个级别但是重要性却一点都不低。
keep-alive 原理剖析keep-alive 原理剖析
在 vue 中有一个组件叫 keep-alive,它的作用其实很简单,主要是缓存:对包裹在其中的动态切换组件进行缓存。但是,它提高性能的效果到底怎样呢?基于这样的思考,在项目中,我们在一个页面分别加 keep-alive 与不加进行了一个对比。
Psd设计稿解析之路
一次和设计同学的闲聊中,了解到他们的设计稿交付时,大多数都是基于sketch,而Psd的设计稿非常少,使得他们一身Psd技艺无用武之地。
AI工具在B端视觉设计中的落地应用
本文将从B端视觉设计实战角度出发,介绍两种强大的AI创作工具:stable diffution与midjuriney详细设计思路与方法。
一看就懂的TypeScript工具类型
TypeScript内置了很多常用的工具类型,学习这些工具类型有助于我们更深入的理解TypeScript,同时也可以在使用TypeScript的过程中提升我们的开发效率。
AI助力-58恒星数据标注平台的设计与实践
本文介主要绍58恒星数据平台的设计思考和0-1建设历程。借助AI算法助力标注,同时以标注数据赋能AI,实现以标注的通用性、低成本、高质量为核心建设目标的数据标注平台。
【Midjourney&SD进阶宝典】AI优秀设计作品展(含关键词)
为了探究Midjourney、StableDiffusion等AI工具在设计上的无限可能,我们举办了1场面向全58UXD设计师的,为期4周的「AI创作海报设计大赛」。不仅让AI和设计师灵感产生奇妙的火花碰撞,同时也探索了AI在设计领域的更多可能。
提效新纪元-组件化开发在转转App中的应用-后端篇
组件化开发是一种利用可重用的软件构件来设计和开发计算机系统的过程,该技术可以实现最小化、高效交付。本文详细讲述了组件化开发技术的实现过程,引导开发者们迈向提效新纪元。
魔方基础依赖环境隔离实践
作者发现魔方服务更新低效,导致开发体验差。优化前,编译耗时非常长,例如A
需要10分08秒才能完成编译。经分析,问题在于安装冗余依赖和执行耗时的命令。为解决这些问题,作者加入了自动检查并安装依赖的命令和忽略脚本命令的参数。优化后,如表中所示,编译耗时大大减少,例如A
现在只需要04分42秒即可完成编译。