公司:搜狐
搜狐,是一家互联网中文门户网站。1995年,搜狐创始人张朝阳利用风险投资创建了爱特信信息技术有限公司,1998年正式推出搜狐网。2000年,搜狐在美国纳斯达克证券市场上市。
搜狐开发的产品有搜狗拼音输入法、搜狗五笔输入法、搜狗音乐盒、搜狗浏览器、搜狐视频、独立的搜索引擎搜狗和网游门户畅游。
搜狐是2008年北京奥林匹克运动会唯一的互联网赞助商,也是奥林匹克运动会历史上第一个互联网内容的赞助商。
尽管搜狐在首页标题声称自己是中国最大的门户网站,但其Alexa排名却低于同类门户网站腾讯网和新浪。在2018年其在Alexa的中国排名于第5位,在门户网站中仅次于腾讯。现时为中国五大视频网(优酷、爱奇艺、腾讯视频、芒果TV)之一。
iOS 直播流程概述
本文目的在于带大家了解一场直播背后,需要经历哪些阶段,以及每个阶段都做了哪些工作,才能够把主播的声音画面送到观众的面前。下文把直播的流程划分为:采集、处理、编码、封装、网络传输、播放六个部分来一一介绍。
iOS下的闭包下篇-Closure
用最通俗的语言,描述最难懂的技术。
小程序项目框架迁移实践
本文简单介绍了微信小程序以及小程序框架(mpvue、uni-app) 的基本原理,并介绍了一个大型的 mpvue 小程序项目向 uni-app 框架迁移的方案与实践。
Flutter状态管理-Provider的使用和源码解析
本文对Provider框架的使用及实现原理作详细的说明,为了能够更好的进行理解,也对InheritedWidget的实现进行了详细的说明,并在最后对主流的状态管理框架进行比较。
Swift子数组提取性能优化分析
在写本文时,本人成功替某一个知名在线答题平台的后台优化一个Swift代码模块的运行效率,并使之上线后运行效率提升了数十倍。经过这次经历,本人决定将优化的经验进行一一分享,优化包括了字符串解析、数组操作、指针操作等。
一次遍历导致的崩溃
本文主要介绍常见的锁,以及synchronized、NSLock、递归锁、条件锁的底层分析。
前端工程化-打造企业通用脚手架
随着前端工程化的概念越来越深入FEer心,前端开发过程的技术选型、代码规范、构建发布等流程的规范化、标准化是需要工具来保驾护航的,而不是每次都对重复工作进行手动复制粘贴。脚手架则可作为工程化的辅助工具,从很大程度上为前端研发提效。
深入排查 FLAG 导致的 Activity 无法正常启动
众所周知 Android 中 Activity 有四种启动模式,决定了是否创建新的 Activity 实例或复用当前实例。但是实际上 Activity 的启动十分复杂,不单单是 android:launchMode 就能决定的。
iOS虚拟定位原理与预防
说到虚拟定位,常有印象都是安卓上的分身软件甚至系统自带的位置穿越(笔者曾经使用过ZUK Z2系统自带的位置穿越),会认为iOS上虚拟定位比较困难。笔者没调研之前也是这么认为,之前已知的虚拟定位是使用Xcode添加GPX文件,编辑经纬度,从而实现虚拟定位。但是这种操作也只有熟悉iOS开发的人才能操作,而且需要mac电脑,故而笔者印象中也是iOS上虚拟定位比较困难。
然而经过调研之后,笔者发现,iOS的虚拟定位没有那么困难,甚至相比于安卓更简单。下面就来介绍一下iOS中几种虚拟定位的方法。
小小的宏 大大的世界
本文是作者在对项目中的宏进行编译层面优化时有感而发的文章。
Android与HEIF格式图片适配方法
HEIF (High Efficiency Image File Format)是由动态图像专家组(MPEG)在2013年推出的新格式。
苹果在iOS11系统中引入HEIF格式用于替代原来的JPG格式的图片。使用HEVC的编码技术存储图像数据,进一步减少存储容量和提升图像质量。Android P开始原生支持HEIF格式。
HEIF相较于JPEG格式,拥有高压缩比、图片集合功能、支持动态图片和图片派生等优势。 另外,我们对市场上近2000款应用进行了测试,90%以上的应用已经能支持HEIF图片查看等功能。
SwiftUI的NavigationView的基础讲解与进阶实践
在UIKit的框架中,我们时常使用UINavigationViewController来管理页面的push和pop。这是页面管理的基本操作。而到了SwiftUI,该操作是交由NavigationView和NavigationLink来完成。
本文先从NavigationView的基本应用讲起,再补充如何灵活的使用NavigationView来完成很多更细节化的需求。
KVO原理分析介绍
KVO全称KeyValueObserving,是苹果提供的一套事件通知机制。允许对象监听另一个对象特定属性的改变,并在改变时接收到事件。由于KVO的实现机制,所以对属性才会发生作用,一般继承自NSObject的对象都默认支持KVO。
KVO和NSNotificationCenter都是iOS中观察者模式的一种实现。区别在于,相对于被观察者和观察者之间的关系,KVO是一对一的,而不一对多的。KVO对被监听对象无侵入性,不需要手动修改其内部代码即可实现监听。
KVO可以监听单个属性的变化,也可以监听集合对象的变化。通过KVC的mutableArrayValueForKey:等方法获得代理对象,当代理对象的内部对象发生改变时,会回调KVO监听的方法。集合对象包含NSArray和NSSet。
狐友iOS客户端埋点的前世今生
本篇文章将结合狐友iOS客户端埋点的实践,给大家介绍不同的埋点实现方案及一些问题总结。
iOS下的闭包上篇-Block
最近在学习和迁移Swift方面的代码,正好看到了闭包这部分,看完之后整个人都被着魔了一样,于是便有了这两篇文章。
Flutter之美
本文旨在尽量避开具体的代码细节,从思想上去介绍flutter的各种技术实现,让已经在从事flutter开发的同学有更多的收获,同时对flutter感兴趣的观望者也能更好的了解这门技术。