公司:搜狐
搜狐,是一家互联网中文门户网站。1995年,搜狐创始人张朝阳利用风险投资创建了爱特信信息技术有限公司,1998年正式推出搜狐网。2000年,搜狐在美国纳斯达克证券市场上市。
搜狐开发的产品有搜狗拼音输入法、搜狗五笔输入法、搜狗音乐盒、搜狗浏览器、搜狐视频、独立的搜索引擎搜狗和网游门户畅游。
搜狐是2008年北京奥林匹克运动会唯一的互联网赞助商,也是奥林匹克运动会历史上第一个互联网内容的赞助商。
尽管搜狐在首页标题声称自己是中国最大的门户网站,但其Alexa排名却低于同类门户网站腾讯网和新浪。在2018年其在Alexa的中国排名于第5位,在门户网站中仅次于腾讯。现时为中国五大视频网(优酷、爱奇艺、腾讯视频、芒果TV)之一。
探秘WKWebView
之前主要使用UIWebView进行页面的加载,但是UIWebView存在很多问题,在2020年已经被苹果正式抛弃。所以本篇文章主要讲解WKWebView,WKWebView从iOS8开始支持,现在大多数App应该都不支持iOS7了。
UIWebView存在两个问题,一个是内存消耗比较大,另一个是性能很差。WKWebView相对于UIWebView来说,性能要比UIWebView性能要好太多,刷新率能达到60FPS。内存占用也比UIWebView要小。
WKWebView是一个多进程组件,Network、UI Render都在独立的进程中完成。
由于WKWebView和App不在同一个进程,如果WKWebView进程崩溃并不会导致应用崩溃,仅仅是页面白屏等异常。页面的载入、渲染等消耗内存和性能的操作,都在WKWebView的进程中处理,处理后再将结果交给App进程用于显示,所以App进程的性能消耗会小很多。
Android自定义ViewGroup的那些事儿
ViewGroup是一种可以包含其他视图的特殊视图,他是各种布局和所有容器的基类,这些类也定义了ViewGroup.LayoutParams类作为类的布局参数, ViewGroup是容器,用来包含其他控件。
前端通用SEO技术优化指南
近期团队开发的新产品的官网上线了,随之而来的问题就是如何让网站更快更好的传播出去。当然SEO就是最常见的手段之一,对官网的SEO工作有利于产品的网络传播和分享。
有的团队会有专人负责SEO的工作,那么作为离网站页面“最近”的前端工程师,可以为SEO做哪些工作呢?
为了更好的沉淀SEO相关内容,为后续web产品提供优化指南,本文就以前端工程师的角度,通过调研沉淀出了前端通用SEO技术优化指南。
程序员如何写好一篇技术文章?
最近团队有同学提议,想探讨如何才能写出一篇优秀的技术文章。所以尽管水平实在有限,还是按照自己的经验和理解写下了这篇文章,亚历山大之余,也很高兴和大家分享一下自己对技术写作的一些思考。
如何在Swift中实现状态机?
很多人每天上班都要刷卡进出地铁,我们就以有旋转栅门的地铁站闸机入口作为例子。
这个闸机口在开始的时候有一个“locked”的状态, 在这个状态下它并不会让乘客旋转栅栏通过进站口。当有人刷卡了,那么这个闸机口的状态就会变为“unlocked”,但是它并不会自己转动,必须得等到有人推动旋转栅栏通过闸机口,且在这之后闸机口的状态会再次变为“locked”。
你真的了解符号化么?
关于符号化,我想iOS开发的相关人员并不陌生,也在日常的开发中也经常打交道,网上关于符号化的文章可以说是漫天飞舞,但并没有一篇文章可以说的很全面,于是便有了这篇文章的诞生。
Caffeine如何变热?
当有新数据需要放到缓存时,Cache将需要淘汰的数据,通过TinyLFU来决定是否用新数据替代被淘汰的数据,来提升命中率。 TinyLFU本质是布隆过滤器的变种,其使用Count–Min Sketch算法,可以用极小的内存,来实现大量数据统计。
iOS:制作简易的 AAC 播放器 —— 了解音频的播放流程
常用的播放文件,如 mp3、aac 都是已经封装的音频格式,将它们的文件提供到系统音频库或者第三方音频库,如 AVPlayer、IJKPlayer 等这些框架和播放器,然后声音就会由扬声器或耳机播放出来。如果读者对这些神奇的过程有兴趣,那就进入本次的了解旅程。
iOS的CoreData技术笔记
最近因为新项目想用到数据持久化,本来这是很简单的事情,复杂数据一般直接SQLite就可以解决了。
基于条件LayerNorm的多任务文本分类模型
文本匹配在NLP的应用中属于比较常规常见的任务,但是在这个比赛中,主办方给的数据有很大的不同,它分类很多子类,包括长长匹配,短长匹配和短短匹配,而在每个子匹配任务中,又分为AB两类的匹配标准,A类匹配条件比较宽松,B类匹配条件比较严格。
MotionLayout动画从未如此简单!
了解MotionLayout的使用方法和常用的一些属性。
详解:mach-o文件如何分析多余的类和方法
最近做包大小优化,在做项目代码优化时,其中有一个过程是分析Mach-O文件,看网上很多文章都说通过otool分析Mach-O,获取__objc_classrefs、__objc_classlist等,然后找出无用类和无用方法。
上面那些话看起来简简单单的,但是笔者操作起来确遇到了很多困难,首先otool是什么?然后__DATA.__objc_classlist是什么?哪里来的?怎么跟otool命令结合起来使用?怎么获取差值?怎么结合使用正则表达式,等等?
iOS日历攻略:提醒调休并过滤法定节假日
iPhone 添加日历提醒的实现很简单,难的地方还是在于国内法定节假日的判断,怎么能过滤掉法定节假日,实现真正纯工作日的时候提醒?
JetPack Compose从初探到实战
Jetpack Compose是Google近几年在Android的UI方面变化最大的一次改变,而且表示后续的UI工作重心会放在Compose上。前些日子推出了beta版本,API已经基本稳定,正是了解Compose的最佳时机。
利用Swift API可用性解决App Extension无法编译
从Xcode12.5开始,苹果要求所有的Extension Target必须设置APPLICATION_EXTENSION_API_ONLY为true,否则将会导致编译错误“Application extensions and any libraries they link to must be built with the APPLICATION_EXTENSION_API_ONLY build setting set to YES”;但是我们通常会在主工程和Extension之间使用Framework或其他方式共享代码,这些代码中使用了非extension-only API,所以导致问题出现,本篇文章将探讨如何解决这个问题。
从YYModel源码分析JSON解析原理
YYModel是我们常用的一个解析JSON数据的高性能的框架,但是很多时候我们只停留在了使用层面,并没有对底层的原理进行深入的了解,所以笔者将对YYModel的源码进行细致的解读,带领大家共同学习通过Runtime实现JSON解析的过程。