Ming's pages

  • 首页

  • 归档

  • 分类

  • 标签

  • 搜索

了解一下 Mesh 网络

发表于 2019-02-23 | 分类于 Network | 阅读次数:
本文字数: 3.6k | 阅读时长 ≈ 3 分钟

一切还要从上一篇文章说起

在去年的初夏,我写了一篇博文,分享了一下我家的网络搭建方案。说来惭愧,本来这篇文章应该是在上篇博文之后不久就写出来的,结果因为各种事儿(懒)一直拖到了现在。

那为什么要写 Mesh 呢?上次文章在朋友圈中嘚瑟后,没多久被某大神点评了下,并建议了解下 Mesh。

阅读全文 »

网线必须有——家用网络搭建心得

发表于 2018-05-12 | 分类于 Network | 阅读次数:
本文字数: 3.8k | 阅读时长 ≈ 3 分钟

为什么要说这个

从上一次更新文章到现在将近一年的时间了,在此期间,我经历了人生中的一次大事——装修,其中最让我有成就感的,除了一整套智能家居的组合,就是家庭网络的搭建了,而后者,也是家里所有互联设备日后协同工作的基础。

提及到装修,就少不了要谈论到家里弱电的设计,很多人,包括很多程序员,甚至有部分网络工程师,都会觉得把这个交给家装设计师或者电工就行了,还有朋友觉得,现在无线设备这么先进,家里一根入户线接一个无线路由器就足矣,但事实上,在日后的生活中上网的极致体验可不是一个路由器就能满足得了的。

从长远考虑,我还是决定在这一块上亲自出马,除了一部分走线交给电工,其余都由我来。

阅读全文 »

Hyperloop,让发布简洁高效

发表于 2017-06-06 | 分类于 iOS | 阅读次数:
本文字数: 6.1k | 阅读时长 ≈ 6 分钟

Hyperloop 是什么?

Hyperloop 是服务于美团点评客户端的组件发版、持续集成、App 打包构建、资源调度等各个环节的发布调度系统。名称起源于美国 Elon Musk 构想的 Hyperloop 超级高铁,象征着现代、简洁、高效。

Hyperloop 提供了一站式的平台,管理着美团点评 iOS 业务的超过 300 个组件和包括美团 iOS 客户端在内的4个App。接入 Hyperloop 系统后,开发同学可以通过 Hyperloop 来管理自己的项目,配置发版和打包所需要的步骤和检查项。开发完成时,用户只需要登录 Hyperloop 进行相关操作,Hyperloop 就会根据项目的配置去调用不同的步骤,上报每个步骤的状态,给出错误日志、状态通知等。

阅读全文 »

简单谈谈 APFS

发表于 2017-04-08 | 分类于 iOS , macOS | 阅读次数:
本文字数: 5.5k | 阅读时长 ≈ 5 分钟

何为 APFS?

2016 年 WWDC 的时候,苹果甩出了一个名为 APFS 的文件系统,就是 Apple File System 的缩写。刚听到苹果又推出了一个文件系统的时候,我其实并没有特别惊讶,甚至感觉有些习惯了,因为自打苹果用上了 HFS 后,每隔一段时间就会来一个变种,甚至说每一个设备可能都会有一种特殊的 HFS(据说 iOS 里面使用的 HFS 也是个独特的变种,连 macOS 的同学都不知道他们自己搞了一套),后来又有了 HFS+。

不过按照苹果的习惯,一旦一个技术为了适应苹果的产品而被改来改去,杂乱无章的时候,就意味着在不久的将来肯定会有个全新的技术来替代它,例如早些年用 clang 替换掉了 GCC,现在正在用 Swift 替换 Objective-C。

在 iOS 10.3 发布之前,我完全没有仔细地去了解过这个玩意儿,直到 iOS 10.3 beta 版出来后,大家惊呼 APFS 现身带来了更多的可用空间,我才意识到这个技术可能又是一个苹果新造的轮子。

果不其然,在和 HFS 抗争多年后,苹果终于发现这垃圾玩意已经没有改的价值了,所以另起炉灶,重新搞一套。传闻 APFS 项目中负责人为了保证不受其它已有文件系统的影响,不去看任何一个文件系统的实现原理和机制,从零开始,针对苹果现有的设备形态,打造的一个全新的文件系统。

在苹果官网 APFS 的介绍页,介绍了它的一些主要特性:

Apple File System is a 64-bit file system supporting over 9 quintillion files on a single volume. This state-of-the-art file system features cloning for files and directories, snapshots, space sharing, fast directory sizing, atomic safe-save primitives, and improved filesystem fundamentals, as well as a unique copy-on-write design that uses I/O coalescing to deliver maximum performance while ensuring data reliability.

简单来说,主要还是从效率和安全性方面做了很多改进。

阅读全文 »

树莓派的初探

发表于 2017-03-25 | 分类于 Linux | 阅读次数:
本文字数: 4.5k | 阅读时长 ≈ 4 分钟

树莓派

树莓派(Raspberry Pi),是一款基于 Linux 的单板机电脑。它由英国的树莓派基金会所开发,目的是以低价硬件及自由软件促进学校的基本计算机科学教育。

它使用的是基于 ARM 架构的博通芯片,和现在大多数智能路由器选用的硬件大体相当,不过最新款的树莓派3 Model B 则使用了 ARM 64 位的处理器,性能上已经能够超越路由器好多了。

阅读全文 »

简谈 OC 中陌生而又熟悉的 super

发表于 2017-03-11 | 分类于 iOS | 阅读次数:
本文字数: 7.5k | 阅读时长 ≈ 7 分钟

写在前面

平时一直和 @臧成威 等小伙伴做我们美团 iOS 客户端的发布工程相关事情,感觉和 iOS 越来越没啥关系了,有一天晚上吃饭,我们几个同学讨论要不然让成威在平时抽空给我们讲述一些 iOS 中好玩的东西,我们总结下来也算是一种技术积累和提升。

于是在我们的威逼利诱下,成威答应了这个事情。

此篇文章是在听了成威某一天的分享后,我抽空稍加调研总结出来的。

熟悉的 super

我们平时利用 OC 开发 iOS 的时候,会经常用到 super 这一关键字,比如我们在创建一个新的 ViewController 后会首先看到的:

1
2
3
- (void)viewDidLoad {
[super viewDidLoad];
}

或者是我们在一个类的初始化器 (initializer) 里面,我们需要这样写:

1
2
3
4
5
6
7
- (instancetype)init {
self = [super init];
if (self) {
// init something
}
return self;
}

有时候我们调用一些其他的 CocoaTouch 方法,也需要我们手动调用 super 的方法,例如:

1
2
3
4
5
- (void)updateConstraints {
// do something to setup views constraints

[super updateConstraints];
}

以上,都是我们平时比较常见的一些带有 super 的用法,看起来还是比较正常的,也比较能够清楚地知道这些用法的含义。

接下来我们看一个不太常见的代码。

阅读全文 »

利用重签名实现真机自动化测试

发表于 2016-07-17 | 分类于 iOS | 阅读次数:
本文字数: 1.9k | 阅读时长 ≈ 2 分钟

不少 app 可能都有自动化测试的需求,尤其是规模起来后,大批量自动化测试可以减少很多机械化的人工测试成本,也能及时的查出一些比较关键的问题,可是基于 Xcode 的模拟器独占的特性,利用 Mac 集群测试不是一个比较合适的方案,另外通过 Debug 打出的包也不一定是和线上相一致的,所以利用 Release 包 + 多台 iOS 设备进行的自动化测试相对比较靠谱。

阅读全文 »

美团 app 之 3D Touch 初探

发表于 2016-04-17 | 分类于 iOS | 阅读次数:
本文字数: 13k | 阅读时长 ≈ 12 分钟

3D Touch

在现在的 Multi-Touch 技术下,我们见的最多的就是点,滑和缩放操作,这些操作都是在二维的维度下。而 3D Touch 则是可以给操作提供了一个新的维度——可以感受用户按压的力度。

阅读全文 »

利用 Build Configuration 来进行一些定制化的配置

发表于 2016-04-17 | 分类于 iOS | 阅读次数:
本文字数: 854 | 阅读时长 ≈ 1 分钟

一般来说,大厂的 App 有两个证书进行签名打包,除了 App Store 上架用的,还有个用于内部测试,用的是企业证书。为了和正式包加以区分,与之相对应就会有两种不同的 App IDs 。通常来说,可能直接点的手法就是在打包之前手动更新 Info.plist 文件里的 Bundle Identifier 。

这样的做法可行,但是由于需要在打包的 Job 中进行更改,会有很多修改语句,如果 app 是一个有很多 target 的庞大工程,那么在打包脚本中就会出现这样的现象:

阅读全文 »

用 Ansible 玩转批量运维

发表于 2016-03-26 | 分类于 Linux , macOS | 阅读次数:
本文字数: 3.8k | 阅读时长 ≈ 3 分钟

Ansible 是个什么东西呢?官方的 title 是 “Ansible is Simple IT Automation” ——简单的自动化IT工具。这个工具的目标有这么几项:让我们自动化部署 APP;自动化管理配置项;自动化的持续交付;自动化的(AWS)云服务管理。

所有的这几个目标本质上来说都是在一个台或者几台服务器上,执行一系列的命令而已。

Ansible 基于 paramiko 开发的。这个 paramiko 是什么呢?它是一个纯 Python 实现的 ssh 协议库。因此 ansible 还有一个特点就是不需要在远程主机上安装 client/agents,因为它们是基于 ssh来和远程主机通讯的。

阅读全文 »
12
zesming

zesming

13 日志
4 分类
45 标签
RSS
Github Twitter 微博
Links
  • SketchK
  • Draveness
© 2014 – 2019 zesming | 59k | 54 分钟
由 Hexo 强力驱动
|
主题 – NexT.Mist
|
Hosted by Coding Pages
0%