iOS 开发

iOS 网络性能监控方案

国内的网络环境比较复杂,网络质量差异比较大,还有部分运营商劫持 200 以外的请求,经常有用户反馈,使用 iOS App 过程中遇到提示 “网络连接失败”,而隔壁家的 App 就正常。遇到这种问题,没有数据可以排查,我们也很难去判断问题到底出在什么地方,所以对网络进行监控势在必行。另外,有了监控数据,也可以针对访问比较慢的请求对一些后端问题进行排查,有针对性的优化用户体验。

iOS 开发

iOS11 使用过期方法可能会导致 SpringBoard 重启

SpringBoard 是 iOS 管理主屏幕的程序,在越狱比较流行的时候,SpringBoard 经常被用来修改美化桌面等等。但是随着 iOS 系统的完善,很多功能和 API 也都有了,越狱也越来越没有必要了,平时开发中也没怎么接触过 SpringBoard,最近在项目中遇到一个非常诡异的 bug,我们的 App 点击锁屏中的推送,然后解锁手机后,打开 App 会直接导致 SpringBoard 重启。

应用推荐

烧录镜像的新姿势 - Etcher

一直以来,在 macOS 上烧录系统镜像都不是件容易的事,用的比较多的方法是使用系统自带的 `dd` 命令来完成刻录,不过这个方法对于小白来说不是很友好,很容易出错。而 macOS 上也没有其他好用的工具可以完成这些操作,[Etcher](https://etcher.io/) 的出现解决了这个问题,让这一切都变得很简单,更重要的,这是款跨平台的工具,你可以在 macOS,Linux,Windows 上使用 Etcher。

使用聚合收款二维码你需要注意的安全问题

如今扫码支付已经成为了普及率最高的支付方式之一,大大小小的超市,餐厅,甚至路边的小吃摊都支持扫码支付。微信支付、支付宝、京东钱包、百度钱包、财付通、银联钱包等等,很多收款人为了方便,把这些二维码都打印出来贴到一起,但是用户支付起来就麻烦了,很多时候扫码框经常扫到别的支付二维码,于是我们经常会遇到下面的错误。

应用推荐

为文章配图,从未如此轻松

一篇高质量的文章首先必须有高质量的内容。除此之外,想要让你表达的东西能更轻松地传达给读者,还得借助一些排版、配图的技巧。恰当的配图可以帮助你将文章分成若干个块,同时文章较长的话,读者阅读起来也不那么累。关于配图方面的技巧,可以参考少数派的文章:如何正确的给文章配图 ?。 但是本篇文章并不准备介绍相关技巧,只推荐两个工具,一个找图,一个传图。 Zoommy - 找图片再也不用来回切换网站 在遇到 Zoommy 之前,我都是从 Google 直接搜图片,搜到的图片结果质量参差不齐,往往花费了不少时间,还没有找到满意的图片。后来少数派的编辑给我推荐了 unsplash.com pixabay.com 这两个网站,

数据分析

从数据爬取到清洗 - 全国学校数据

由于女朋友的工作原因,经常需要收集一些学校信息,全国各地的学校从幼儿园到大学都可能需要,最好的办法当然是从教育部的网站去找,结果可靠权威,也不用后续加工处理,但是教育部网站能查到的只有高校的数据,而且只有一些很基础的信息,缺少地址、邮编、网站、邮箱、联系电话等信息。此外,小学、中学也没有找到。所以就只能自己去写爬虫收集了。

保护你隐私的聊天工具 - Telegram

Telegram 是一个优秀、简洁的国外聊天工具,由俄罗斯人 Durov 创立。Telegram 没有盈利的打算,它永不销售广告,不接受外部投资,它也不会被收购。 轻、快 相对于国内的聊天工具而言,Telegram 的安装体积很小,没有花哨的界面,一切都为聊天而生,所有客户端代码都开源,使用自己开发的网络传输协议 MTproto,让这一切都快的不可思议。 私密 Telegram 的创始人之前做的另一款即时通讯工具曾经被俄罗斯安全机构审查过,Telegram 设计的初衷就是为了能让全世界的人们能够放心的通讯,不用经过任何审查,使用 Telegram 通讯的双方直接建立连接,所有的消息都保存在客户端,服务器不会存储任何消息。

将你的 AppleID 切换到加拿大区

最近中国区的 AppStore 下架了一大批 “爱国” 软件,如果你使用中国区的账号购买了这些 App 的话,后续将无法更新,App 如果有 bug 也将无法修正。不过,你可以试着将你的 AppleID 切换到别的区域,比如 加拿大、美国、香港、台湾等等区域,App 在上架 AppStore 的时候,开发者可以选择在哪些地区上架,而此次苹果只是将中国区的应用下架,所以你可以将自己的 AppleID 切换到其他区域,来获得应用的正常更新。需要说明的是,

未来一年的工作规划

现状 从 2014 年毕业开始到现在已经整整工作三年了,在这期间,我经历了从最初的一无所知到独自负责一个完整的项目。前两年工作节奏比较快,经常加班加点,技术提升也很快,最近一年由于遇到的技术问题难度不是很大,感觉自己提升缓慢。 近一年的空闲时间比较多,尝试了很多其他领域的技术,比如 docker、python、flask,另外还参加了 udacity 的数据分析课程,想从中找到一个比较有潜力的发展方向。但是学下来也有很多问题,尝试的新技术也仅仅能满足自己的需求,真要去实际的工作中使用的话,还需要大量的经验积累才能满足需求。数据分析课程的效果也并不是能立竿见影,也需要大量的项目经验积累才行。所以目前来看时间是个比较大的问题。 如何调整? 经过女朋友的开导,目前一定要发挥自己的优势。就算想达到一个目标,也不一定要一开始就奔着这个目标来,

自己动手给 iPhone SE 更换电池、屏幕

本文仅推荐动手能力比较强的同学操作, 如果你使用 iPhone 的话,应该遇到过这样的情况:电池充满电,续航的时间越来越短。这时候可以去查下手机的电池容量:不越狱查看 iPhone 电池剩余最大容量的 4 种方法丨Matrix 精选。 按照苹果的售后政策,如果在一年内电池容量低于出厂容量的 80%,是可以去苹果售后免费换一块电池的。但如果过保了呢?你也可以去苹果售后付费更换,不过价格不菲。如果你喜欢动手,完全可以自己更换电池,省下这几百大洋。现在的手机看似复杂,小小的一块电路板集成了非常多的功能,其实内部已经高度封装成了功能完备的模组,拆卸起来比较简单,更换电池的难度也不高。 前段时间女朋友说自己的 iPhone SE 电池不耐用了,

Linux

使用 Linux 替代 Windows、macOS

前段时间试用了下 Solus 这款 Linux 操作系统,感觉还不错,非常喜欢它默认的桌面环境 Budgie,简单优雅,视觉效果非常棒,唯一比较大的缺点是由于 Solus 自成一体,有自己独立的软件环境和库,而使用它的用户还很少,遇到问题很难快速找到答案。所以如果轻量级的使用,是完全没问题的,但是作为开发来用的话,就值得商榷了。有时候你想装个软件,折腾半天都有问题,时间有限的话实在折腾不起。 前几天发现 Ubuntu 有一款 Budgie 桌面的发行版 Ubuntu Budgie,既有 Ubuntu 的成熟,

计算机如何产生随机数?

最近遇到一个很有趣的问题,如何产生一个随机数?有人可能会说,这有什么难的,每种编程语言都有 random 函数,直接调用不就就可以得到很多随机数吗?的确,这些 random 函数确实能产生一些看上去随机的数。但事实上,一般计算机产生的随机数并不是真正的 ”随机”,而是统计意义上的随机,一般称为伪随机。 我们下面以 python 为例,看看计算机产生的随机数是什么样的: 首先导入 random 库: import random a = random.random() print(a) 多次执行,产生的结果依次为:

数据分析

如何做好数据可视化?

这两天刚做完优达学城的数据可视化项目,对于数据可视化的流程以及如何通过可视化向读者传达你的思想有一些心得体会。趁着周末有空,写下了分享给大家。 有明确的目的性 数据可视化的目的是更好的分享和传递数据信息。可以帮你把从数据中发现的有价值的信息能以简单明了的方式传递给受众。如果受众能很直观的从你的可视化中了解到你想要表达的观点,那么你的可视化目的也就达到了。 目前数据可视化主要分为 呈现数据 和 分析数据 两种。呈现数据是为了更好的展示数据,更加注重数据展示的效果,通常图表都做的比较酷炫,比如 QQ 的 实时在线人数、全球实时网络攻击地图 等等,通常面向的都是广泛的受众群体。分析数据则是利用可视化技术进行数据分析,以便从中找到有价值的结论。比如各大研究机构发布的分析报告。 腾讯研究院 阿里研究院 以读者为中心 首先需要了解受众,受众群体不同,可视化的目的也必然有所差异。