公司:字节跳动
北京字节跳动科技有限公司,简称字节跳动,是一家位于中国北京的跨国互联网技术公司,成立于2012年3月,旗下有产品媒体聚合服务今日头条和短影音抖音(及其海外版本TikTok)、西瓜视频、社交平台Lemon8等,也有一些加入人工智能技术的专业生产力软件,例如剪映、办公套装拉客(lark,中国版本称飞书)等业务。
至2018年,字节跳动的移动应用月度用户超过十亿人,估值750亿美元,超越Uber成为全球最有价值的创业公司。截至2019年7月,字节跳动的产品和服务已覆盖全球150个国家和地区、75个语种,曾在40多个国家和地区位居应用商店总榜前列。
在中国互联网企业中,字节跳动是第一家没有向阿里巴巴、腾讯或百度寻求商业保护或融资的创业公司;相反地,字节跳动被认为与百度、腾讯两大巨头有强烈的竞争关系,因字节跳动资金主要来源于抖音和今日头条的广告收入。
至2020年3月,字节跳动已经有六万员工,并计划再增员一万人。投资人和内部消息将字节跳动2019年的营收定在1,040亿元至1,400亿元人民币,超过了Uber、Snapchat和推特的总和。在中国,其广告收入也超越了腾讯、仅次于阿里巴巴。抖音的全球下载量达1.15亿次,固定用户近10亿。
基于 Jamstack 的性能优化方案
Jamstack 架构与上述传统架构还是有很大的不同,当用户请求页面时,不需要查询数据库,因为 HTML 文档在 CDN 静态缓存文件,如果有数据需求,会再通过 API 接口去获取。
浅谈Linux设备虚拟化技术的演进之路
设备虚拟化技术,一直是云计算领域最重要的基础技术之一。我们在虚拟机里面看到的形形色色的设备,比如:网卡,磁盘,键盘,鼠标等,都离不开这项技术的帮助。这篇文章,我们将从技术演进的角度来谈一谈 Linux 现有的以及即将到来的设备虚拟化技术。
关于 Swift Package Manager 的一些经验分享
Swift Package Manager 是 Apple 为了弥补当前 iOS 开发中缺少官方组件库管理工具的产物。相较于其他组件管理控件,他的定义文件更加轻松易懂,使用起来也很 Magic,只需将源码放入对应的文件夹内,Xcode 就会自动生成工程文件,并生成编译目标产物所需要的相关配置。同时,SPM 与 Cocoapods 相互兼容,可以在特性上提供互补。
如何用 canvas 画出分形图
分形图从整体上看,是处处不规律的。但从局部观察,图形的规则性又是相同的,即具有自相似的性质。 通常意义下,分形被定义为将一个确定的几何形状(元图像)在其边上迭代地生成为)与元图像近似地的形状。这次想用 canvas 画出典型的几个分形图。
TypeScript是如何工作的
TypeScript 能让我们在开发时发现程序中类型定义不一致的地方,及时消除隐藏的风险,大大增强了代码的可读性以及可维护性。本文就来探讨简单探讨一下 TypeScript 是如何工作的,以及有哪些工具帮助它实现了这个目标。
图像异常质量检测
随着自动化遍历工具的逐渐成熟和日常任务的进行,每次任务都会产生大量的遍历过程截图,对于这大量的截图,很难有人力逐张检查是否存在异常,通过提供多种图像异常检测能力,期望探索解决各类UI自动化任务中的UI图像异常自动断言。
使用canvas实现一个小小的截图功能
使用 canvas 实现截图功能的难点有三:1. 计算截取区域;2. 截图动画效果(未被选取部分置灰,截取部分添加边框等);3. 生成&获得截取区域图片。
Flutter 多引擎支持 PlatformView 以及线程合并解决方案
本文介绍了 Flutter 多引擎下,使用 PlatformView 场景时不能绕开的一个线程合并问题,以及它最终的解决方案。最终 Pull Request 已经 merge 到 Google 官方 Flutter 仓库。
基于 Taro 的微信小程序填坑指南(bei)
本文从实践出发,总结了使用 Taro 和 React 开发微信小程序过程中遇到的各种问题和解决方案。
深入了解魔性的CSS字体
最近在开发遇到了两个一直困扰我的问题:
- 当 font-family 为 PingFangSC-Regular 时,为什么设置了 font-weight 为 500 和 font-weight 为 400 的现象一样?
- 在某些Android 系统手机中,中文和数字/英文同时设置了 font-weight 为 500,为什么只有数字/英文实现了加粗?
看到这两个神奇的现象的时候,让我陷入了深深的沉思,原来我撸了这么多代码,还是没能真正了解字体。不甘心被这魔性的字体困扰,发誓一定要拿出一个解决方案,在不断翻箱倒柜查阅资料之后,我想我现在开始有点懂了。
iOS 符号解析重构之路
通过对线上iOS符号解析服务的持续探索和优化,最终完整落地了一套将平均单行解析效率提升70倍的技术方案。
如何用Rust做Android UI渲染
Rust优秀的安全性、媲美C++的性能以及对跨平台编译和外部语言(ffi)的支持使得其成为高性能跨平台库的上佳实现语言。然而,Rust是否可以在逻辑层之上进一步服务于一些通用性的UI渲染?我们大力智能客户端团队针对开源项目rust-windowing( https://github.com/rust-windowing )中几个核心工程进行剖析,并结合在Android系统的接入对此进行探索。
HTTP 请求库 - Axios 源码分析
说到 JS HTTP 请求,就不得不提 Axios,作为前端网络请求库领域中的霸主,被广泛应用于众多的 web 项目中。
一文读懂字节跳动自研移动研发工具链 MBox
MBox 是字节跳动抖音基础技术、Client Infra-DevOps根据移动端研发出现的现状与问题,结合移动端研发工具相关实践经验,自研的一款面向移动端开发者的研发工具链产品。
如何将 Canvas 绘制过程转为视频
在一些需要动态回放需求的场景里,我们可以用 Canvas 实时创建视频。
Flutter 疑难杂症系列:键盘原理及常见问题解决方案
通过提供 Flutter 键盘调用流程相关分析和已知问题的解决思路,让开发者对 Flutter 键盘使用有更深入的了解和认识。