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 的 实时在线人数、全球实时网络攻击地图 等等,通常面向的都是广泛的受众群体。分析数据则是利用可视化技术进行数据分析,以便从中找到有价值的结论。比如各大研究机构发布的分析报告。 腾讯研究院 阿里研究院 以读者为中心 首先需要了解受众,受众群体不同,可视化的目的也必然有所差异。

Mac

Mac 上的下载神器 - Aria2

我经常需要从百度网盘等地方下载一些资源,由于没有开通百度会员,使用自带浏览器下载的话,速度会被限制在 100KB 左右,经常要等很久才能下完。Mac 上的迅雷也很弱,虽然开了迅雷会员,但是对于百度网盘的资源也没多大用。所以还是得靠 Aira 这款神器来解决。 安装 Aria2 可以使用 homebrew 安装: brew install aria2 启动 Aria2 可以在命令行中直接使用,也可以通过 RPC 模式来使用,推荐使用 RPC 模式。它可以在 Aria2

树莓派

树莓派安装 MySQL

昨天爬到的数据都在 Windows 上的 MySQL 数据库里放着,但是以后用 Mac 访问就有点麻烦了,总不能就为了跑个 MySQL 就把 Windows 整天开着吧。最好还是把 MySQL 装到树莓派上,Windows 和 Mac 访问起来都方便,如果要在外网访问,也可以在路由器上开个端口转发。树莓派本身功耗就很低,最合适干这个事情了。 安装 登陆树莓派,先更新下系统: sudo apt-get update && sudo

Python

使用 scrapy 爬取豆瓣电影 Top250

最近在学习使用 python 做数据分析,正好今天学了下 scrapy ,来写个爬虫练练手吧。因为是第一次写爬虫,先来个简单点的,那就爬豆瓣电影 Top250 吧。 因为这次我是在 windows 上写的,之前由于 window 的开发环境配置实在是不省心,各种问题搞得很烦躁。最近试了下 Anconda 这个 python 的科学计算环境发行包,它集成了很多常用的科学计算 package,省去了很多配置环境变量的步骤,能做到开箱即用。而且自带了非常简单易用的虚拟环境,python 版本之间可以随意切换,互不干扰。 环境配置 首先使用

利器访谈 | Slark - 程序员、折腾党

介绍一下你自己和所做的工作。 我叫 Slark,博客:https://slarker.me 。目前在一家互联网公司做 iOS 开发。大学时比较喜欢折腾 Windows,对于各种能提高效率的工具很感兴趣。经常会为了实现自己想法而在熄灯断电之后折腾到笔记本电池没电。毕业了之后做 iOS 开发,用 macOS 就比较多了,也逐渐喜欢上了 macOS 和 iOS 这两个优秀的操作系统。对于程序员来说,mac 无疑是最佳的编程利器,除了优秀的工业设计之外,类 UNIX 环境和优秀图形界面的完美结合几乎是专为程序员而生的。平时除了编程之外,

Linux

Solus - 现代、优雅的 Linux 系统

家里有台 PC ,除了用来打打 Dota 之外,其他时间都闲置着。最近想用来做一些开发,但是 Window 下的开发环境配置真是心累。想想还是用 Linux 吧,但是 Linux 的发行版很多,用哪一款比较好呢?用户量比较大的有 Ubuntu、openSUSE、CentOS 等等,但是它们的 UI 都很丑,虽说网上也有大把的美化教程,但是实际效果不尽如人意。 开始试了下 elementary OS 这款 Linux,号称是最美的

Docker

使用 Docker 部署 MySQL

前几天 Linode 刚降价,这两天 Vultr 就跟着降价了,明显是打价格战的架势。最低的配置 2.5 刀一个月,512M 内存,500G 流量。对于个人来说,搭个博客和科学上网服务,跑个 Docker 也绰绰有余,而且 Vultr 的服务质量也算是 VPS 提供商里比较领先的。这个价格这个配置,简直是福利哇,少说一年也能省一百多块。 前两天用 Python 写了个自己用的管理系统,数据在本地的 MySQL

Python

在 Python 中解析命令行参数

对于程序员来说,使用命令行几乎是家常便饭了。因为命令行下面的操作都比较便捷,不需要使用鼠标,手指可以不离开键盘,简单的一行命令能调用脚本执行很复杂的功能。而几乎每个命令行工具都提供了命令行的参数选项,方便使用者的学习、使用。 比如在命令行下输入 git --help 就能看到 Git 支持的命令行参数,每个对应的参数还有一些说明,能让没有使用过 Git 的人也能很快明白命令如何使用。 昨天我做的这个系统虽然用户只有自己,但是也加上了命令行参数的解析功能,让整个程序的逻辑看起来更清晰,使用起来也更方便。命令行参数解析是用 argparse 这个模块实现的,比如下面的例子就是 argparse 的简单使用。 import argparse parser = argparse.