iOS 开发

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

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

  • Slark
    Slark
2 min read

Kindle RSS 推送服务

如果你有一部 Kindle,并且有阅读 RSS 的习惯的话,你是否想过将订阅的 RSS 资讯放到 Kindle 中阅读呢? KindleRSS 就是这样一款服务,你可以将自己的订阅列表添加到账号中,KindleRSS 会根据你设定的时间将 RSS 更新内容制作成精美的杂志,推送到你的 Kindle 设备上,你需要做的就是尽情阅读! 如何使用? 使用账号(账号可以在文章末尾购买)登录 KindleRSS ,在我的订阅中添加自己喜欢的 RSS 源。 也可以在高级设置中导入 OPML 列表。 你可以根据自己的需求,

  • Slark
    Slark
2 min read
iOS 开发

Runtime 基础(一)

Objective-C 是一门动态语言,它把很多在编译时做的事情放到了运行时来处理。由于这个特性,我们可以很灵活的使用 runtime 这个黑魔法来完成一些静态语言做不到的事情,比如使用 JSPatch 给应用打 patch,使用 Mantle 映射 json 和 Model。runtime 是使用 C 和汇编实现的一个运行时库,使得在 C 语言的基础上增加了面向对象的特性,从而有了 Objective-C 这个语言。 Class 和 id 在 objc.h

  • Slark
    Slark
5 min read
Docker

Docker 入门教程

一些常见的虚拟化技术 经常买 VPS 的同学可能会知道,一般 VPS 商家会提供采用 OpenVZ、KVM、Xen 等虚拟化技术的产品,采用 OpenVZ 的机器比较便宜,KVM、Xen 的则相对比较贵。 在云基础设施服务商这里,他们的主要需求是把一台台的物理机器变成可以向用户提供的 VPS。对于一台物理机器而言(一般称为母鸡),服务商可以在上面装上操作系统,然后使用 OpenVZ、KVM、Xen、VMWare、Hyper-V 这几种虚拟化技术在母鸡上虚拟出来若干个独立的操作系统(一般称为小鸡)。 如果采用的是 OpenVZ

  • Slark
    Slark
6 min read
应用推荐

烧录镜像的新姿势 - Etcher

一直以来,在 macOS 上烧录系统镜像都不是件容易的事,用的比较多的方法是使用系统自带的 dd 命令来完成刻录,不过这个方法对于小白来说不是很友好,很容易出错。而 macOS 上也没有其他好用的工具可以完成这些操作,Etcher 的出现解决了这个问题,让这一切都变得很简单,更重要的,这是款跨平台的工具,你可以在 macOS,Linux,Windows 上使用 Etcher。 Etcher 的设计非常简洁,在主界面上只有三个步骤,依次为:选择镜像(Select image)、选择驱动器(Select drive)

  • Slark
    Slark
2 min read
应用推荐

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

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

  • Slark
    Slark
5 min read
应用推荐

配图神器 Zoommy

本文已发布于 少数派 为了给文章配图,最开始的时候我都是从 Google 直接搜图片,搜到的图片结果质量参差不齐,往往花费了不少时间,还没有找到满意的图片。后来 sspai 编辑推荐了以下几个网站,用了一段时间,效果不错。 Unsplash Unsplash 是一个在设计师、编辑群体中非常推崇的无版权图片网站,网站上的图片都来自于真实的摄影照片,分辨率都很高,设计感十足,而且每 10 天更新 10 张照片。任何人都可以随意使用,不用担心版权问题。 Startup Stock Photos Startup Stock

  • Slark
    Slark
4 min read

嗯,图片就交给它了!

引言 图片作为互联网服务中最基础的资源之一,随着互联网基础服务越来越专业化,图片的存储、处理、分发也发展成了一项独立的基础服务。试想一下,如果每家互联网公司都要花费大量人力物力去做图片相关的技术研发,哪还有时间去做自己的业务。专业的事情还是要交给专业的人来做。 图床,也就是专门提供存储图片的地方,我们只要通过图床提供的 API 接口,把图片上传上去,就可以通过外链访问了,根本不用操心图片是怎么存的,硬盘空间不够了,硬盘坏了,访问速度比较慢等等问题,这些图床都会帮我们搞定,他们会用各种技术帮我们做图片相关的优化和服务,比如多机互备、CDN 加速、图片处理、图片鉴黄、文本识别等等。 当然,图床也是有缺点的,当所有人都把图片存在同一个图床上,万一有一天图床真挂了,

  • Slark
    Slark
11 min read
应用推荐

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

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

  • Slark
    Slark
4 min read
机器学习

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

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

  • Slark
    Slark
6 min read

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

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

  • Slark
    Slark
1 min read

将你的 AppleID 切换到加拿大区

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

  • Slark
    Slark
2 min read

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

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

  • Slark
    Slark
4 min read

使用 Linux 替代 Windows、macOS

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

  • Slark
    Slark
3 min read

计算机如何产生随机数?

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

  • Slark
    Slark
2 min read

Mac 上的下载神器 - Aria2

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

  • Slark
    Slark
3 min read
树莓派

树莓派安装 MySQL

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

  • Slark
    Slark
2 min read

使用 scrapy 爬取豆瓣电影 Top250

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

  • Slark
    Slark
4 min read

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

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

  • Slark
    Slark
7 min read

Solus - 现代、优雅的 Linux 系统

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

  • Slark
    Slark
3 min read
Docker

使用 Docker 部署 MySQL

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

  • Slark
    Slark
2 min read

在 Python 中解析命令行参数

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

  • Slark
    Slark
2 min read

使用 Python 管理数据

最近有个自己的项目需要管理一些数据,虽然只有几百条,但是手动管理起来很麻烦,而且经常出错,所以想搞个系统,把这些数据都管理起来,方便后续使用。记得最开始做 iOS 开发的时候用过 Parse,觉得这样的服务挺不错,能为一些对后端要求不高的应用节省很多开发成本。可惜现在 Parse 关掉了。国内也有家提供 BAAS 服务的厂商 Leancloud,看了下文档,感觉和 Parse 几乎没啥区别,貌似就是照着 Parse 的接口写的。 Leancloud 支持的语言很多,由于我只用到了数据存储的服务,所以尝试用 Python 写了一些增删改查的操作,

  • Slark
    Slark
2 min read

Subscribe to Slark