CF Blog

除非你做点什么,否则任何事情都不会改变。

WebRTC 信令交换与群聊实现

WebRTC 信令交换与群聊实现

1.什么是 WebRTC WebRTC,全称:(Web Real-Time Communication),是一个免费的开源工程。 Google 把 WebRTC 视为和 HTTP 一样,不仅仅是一种解决方案,而是一种标准。 使各种终端,包括 浏览器、原生应用等具备音视频通讯和即时通讯的能力。 1.1 webrtc术语 Signaling channel(信令通道) 一种资源,使...

从里到外,聊一聊 FLutter

从里到外,聊一聊 FLutter

1. 什么是flutter Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库, 高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。 1.1 flutter 优势 Flutter 很好的解决了跨端一致性问题,一套代码无差异的同时跑在 iOS 与 Android 两端; 开发体验基本接近前端. 支持 on device 的 Hot...

Flutter 透明渐变 AppBar

Flutter 透明渐变 AppBar

最近要用 Flutter 重构一个 Native 页面,效果如下: 随着页面滑动,圆形按钮逐渐消失,返回按钮逐渐呈现,同时AppBar的透明度在整个过程中,是随着滑动距离线性变化的,而按钮的变化分为两段:圆形按钮逐渐消失,返回按钮逐渐呈现,整个过程可逆。 接下来介绍实现过程。 1.整体结构设计 通过观察可知,listView 可以在 AppBar 底部滑动,常规的 Scaffol...

Jekyll 环境的搭建

Jekyll 环境的搭建

最近换了台电脑,需要重新安装Jekyll环境,在这里记录下Mac安装Jekyell的过程。 一.环境准备 在安装Jekyll之前,需要具备以下条件: Xcode 命令行 Homebrew Ruby 1. Homebrew 什么是 Homebrew ?. 用一句话说明:Homebrew installs the stuff you need that Apple (o...

深入了解 UINavigationController 的子控制器栈

深入了解 UINavigationController 的子控制器栈

1.遇到一个需求 使用UINavigationController push进入多个页面后,不再显示部分页面,直接返回到指定的页面。 根据描述,第一个想到的方案就是: 1 [self.navigationController popToViewController:toVC animated:YES]; 通过遍历UINavigationController的viewControlle...

批量并发-事件管理队列

批量并发-事件管理队列

首先描述一下背景:目前在做电商 APP 的页面改版,主要工作集中在商品详情页上。商品详情页的数据比较繁多,涉及到近 20 个网络接口。 这些接口中有的还存在依赖关系,而且重要程度也不尽相同。为了兼顾这些接口的并发性能和依赖关系,模仿 dispatch_group 的接口设计,写了一个批量事件管理队列的工具 EventScheduleManager 。 模型抽象 商品详情页需要的数据有: ...

解决 H5 页面在手机上布局异常的问题

H5布局问题

目前在做一款电商 APP,在商品详情页中,使用 webview 呈现 H5 内容来展现商品的图文详情。测试反馈说 H5 内容呈现样式发生异常,经研究是手机尺寸与PC尺寸存在差异,CSS 无法完全适配导致的。 如图,图片显示不完整 ⤋ 把 URL string 放到PC上展示如下:⤋ 不难看出,这个详情页是把图片分割成多个部分,然后通过 CSS 布局拼接到一起的。 拉伸 PC 浏...

关于自动驾驶伦理问题的思考

自动驾驶可能存在的问题

  在这里主要讨论自动驾驶技术的实际应用中,可能遇到的社会伦理问题以及相关思考。   目前市场上已经出现了可以自动驾驶的汽车,比如特斯拉、百度的阿波龙。 其中自动驾驶应用较为激进的当属特斯拉无疑。近几年 (2016-2018) 特斯拉的几起事故,可能与自动驾驶技术尚未完全成熟有关。而百度已获得全国首批T4道路测试牌照,自动驾达到L4级别的阿波龙已经于2018年7月4日正式量产下线,已经在多...

iOS 关于 UIView 重绘的几个接口

触发UI重绘

在更新数据时,往往伴随着更新 UI 布局。如何触发系统去刷新 UI 绘制呢?以下方法你需要了解一下。 setNeedsLayout Invalidates the current layout of the receiver and triggers a layout update during the next update cycle. Call this method on your...

Building Objective-C static libraries with categories

something fun in yykit

Q: How do I fix “selector not recognized” runtime exceptions when trying to use category methods from a static library? 如何解决 在 runtime 环境中尝试调用静态库中分类的方法时,报 “selector not recognized” 异常?   今天在...