话题公司 › 搜狐

公司:搜狐

搜狐,是一家互联网中文门户网站。1995年,搜狐创始人张朝阳利用风险投资创建了爱特信信息技术有限公司,1998年正式推出搜狐网。2000年,搜狐在美国纳斯达克证券市场上市。

搜狐开发的产品有搜狗拼音输入法、搜狗五笔输入法、搜狗音乐盒、搜狗浏览器、搜狐视频、独立的搜索引擎搜狗和网游门户畅游。

搜狐是2008年北京奥林匹克运动会唯一的互联网赞助商,也是奥林匹克运动会历史上第一个互联网内容的赞助商。

尽管搜狐在首页标题声称自己是中国最大的门户网站,但其Alexa排名却低于同类门户网站腾讯网和新浪。在2018年其在Alexa的中国排名于第5位,在门户网站中仅次于腾讯。现时为中国五大视频网(优酷、爱奇艺、腾讯视频、芒果TV)之一。

你真的懂iOS的异常捕获吗?

在开发的日常中,经常会遇到一些极其偶现的Bug,有些Bug很难以复现,所以一般的解决方案是接入PLCrashReporter这些第三方的崩溃统计工具,从保存的崩溃文件中读取相应的崩溃信息。那么这些崩溃统计工具又是基于什么原理运作的呢?

Android网络请求优化及离线上传封装

在android开发中,无论是去解决网络请求中遇到的问题,还是优化网络请求的效率,都离不开最根本的网络传输协议(http和tcp等),所以本文的第一部分是对网络协议相关的基础知识进行讲解。掌握了必备的基础知识之后,接下来的第二部分,会对android中使用最广泛的网络请求框架okhttp进行分析,这款框架不仅对基础的网络请求逻辑进行了封装,还尽善尽美的替我们做好了几乎每一件可以去优化的事情,如果能很好的理解并使用它,我相信大部分网络请求相关的问题都可以很好的得到解决。本文的最后部分,想说一说我是如何使用kotlin反射对离线数据上传进行封装的。

Jetpack Compose自定义Layout详解

最近在使用Jetpack Compose进行应用开发,不得不说相比较命令式布局方式Xml,Compose声明式UI真香。然而仅使用基础的Compose控件在面对UI大佬的设计图时,总会出现一些“小问题”,包括部分页面不能通过标准布局实现、需要特别精准的控制测量和放置的场景、需要实现布局动画等,这个时候往往需要通过自定义布局去解决这些“小问题”,来达到项目验收标准。既然是要自定义组件,那么首先了解一下Compose的布局模型吧,从布局模型中找到自定义组件的切入点。

try catch finally机制分析

finally代码块是在return后面的表达式运算后,return操作前执行的。

记一次日志引起的服务端问题排查经历

一天中午休息饭后散步时,隔壁组的王老哥提到,他们组的负责的一个Java服务最近一段时间,每天0点,经常会收到网关报警:提示接口响应慢。老板天天追问,但是服务使用的spring组件虽然支持在tomcat线程使用率超过一定数值后自动生成现场快照,但是不知道是什么原因,查看相关时间点附近生成的快照文件,里面的内容均正常,日志内容除问题时间点缺了一些之外,也没有异常现象,所以对于该问题,他是:老虎吃天,无从下爪。

iOS下锁的独白

锁是什么?用于防止多线程访问同一份资源而造成资源竞争的计算机锁(生产者消费模式是衍生品)。

探秘Weak实现原理

在项目中我们经常用到weak指针,其可以保证在指向的对象释放后,weak指针自动置为nil,以防止崩溃,因为在OC中向nil发送消息是没有任何处理的。通过__weak、property weak等形式,都可以将指针修饰为weak类型的。

weak的实现原理其实很简单,概括来说就是,在内存中有一个名为weak_table_t的哈希表,weak_table_t中存储着App所有的weak对象及指针。当有对象被weak指针修饰时,会将被修饰的对象及指针添加到weak_table_t表中。当被weak指针的作用域消失时,weak指针会被销毁,随后会 从哈希表中查找对应的weak指针,并将指针置为nil。

这⼀次彻底弄懂:React 服务端渲染

在前端项目需要首屏渲染速度优化或SEO的场景下,大家或多或少都听过到过服务端渲染( SSR ),但大多数人对服务端渲染具体实现和底层原理还是比较陌生的。本文基于公司官网开发时做了服务端渲染改造基础上,系统理解和梳理这套体系的模式和逻辑,并写了一些笔记和Demo(文后链接)便于深入理解。这次我们来以React为例,把服务端渲染彻底讲弄明白。

Swift后缀表达式(逆波兰式)转换计算

最近在开发《挑战24点》的过程中遇到了一个问题,即,如何计算常用数学表达式的结果,比如,给定字符串8 - (6 + 4 / 2 - 1) * 2,怎么计算得到结果,并且得到计算的过程。

网上查资料发现,大部分都是类似系统计算器的处理,在遇到第二个运算符时,就把前一步的操作结果计算出来。这样的处理方式并不适用 于笔者想要解决的问题。

进一步搜索后发现,前缀表达式、中缀表达式、后缀表达式的概念,给定的字符串8 - (6 + 4 / 2 - 1) * 2属于中缀表达式,而想要计算机得出结果,可以转为前缀表达式或者后缀表达式,然后再对转换后的表达式进行计算。

这里采用中缀表达式转后缀表达式,然后计算后缀表达式得出结果

探秘AutoreleasePool实现原理

在ARC下,AutoreleasePool主要应用在大量创建临时对象的场景,通过AutoreleasePool控制内存峰值,是一个很好的选择。

iOS包体积优化实践

最近领导给我分配了包体积监控指标,恰好之前我也做过相关包体积的优化,于是便综合之前的实践经验,对此我们的项目的包体积优化做一个整体的记录,希望可以帮助有需要的小伙伴。

图片中多个二维码选择的实现

买早餐的时候会遇到,支付宝和微信两个二维码一起被识别出来的情况,处理起来比较麻烦。最近有时间,就来分享记录一下图片中多个二维码选择的实现过程。

一个微信小程序的渐进式优化之路

入职搜狐后我开展的第一个项目就是微信小程序。谈起小程序开发,生态封闭、坑多路滑、开发工具难用等槽点是一定不能被忽视的,因此市面上也涌现了一大批诸如 mpvue、taro 这样的抽象程度更高的小程序开发框架。我负责的这个小程序项目并没有采用这些第三方框架,而是选择在原生技术栈的基础上进行了一系列的优化和定制。

去年 8 月份 (2021.08),小程序的版本已经来到了 4.0.0。经历了长达一年的渐进式优化,这个小程序项目的开发体验也勉强达到了“好用”的水平,于是我写下了本文并在组内做了技术分享。技术分享后我就想找时间把文章脱敏并公开,结果拖延症发作一直鸽🕊️到了 2022 年。。。今天终于狠下心来重新梳理了这篇万字长文,希望能帮助到需要开发小程序的你。

视频下载加速,2.5倍优化

视频缓存已经成为各大视频App的标配,并且从功能使用数据来看,每个月使用的量都很大。为了提升用户体验,提升缓存速度,我对缓存进行了速度优化,提升了网络利用率。

Swift协议与关联类型

本文将讨论Swift协议(Protocol)中特殊的关联类型(Associated Types),它与泛型(Generic)有相似性和又有区别。

子线程更新UI全解

本文主要着眼于子线程不能更新 UI 和能更新 UI 的底层原理,了解了 Activity View 树的构建流程、更新 UI 的基础流程。

ホーム - Wiki
Copyright © 2011-2024 iteam. Current version is 2.129.0. UTC+08:00, 2024-06-29 18:07
浙ICP备14020137号-1 $お客様$