读Objective-C编程之道有感

概述

无疑设计模式是高级工程师必备技能,在一些大厂的面试中,通常二轮之后都会考察设计模式相关的知识。本文是我读设计模式一书的一些感悟,希望与读者朋友一起交流,共同提高。我将通过如下几点进行叙述:

  1. 设计模式总览,iOS端常用的设计模式有哪些。
  2. 面对需求,该如何选择设计模式。
  3. 读完就忘,如何学习设计模式。

Read More

跳槽感悟

概述

最近本人进行了一次跳槽,面试了几家不错的互联网公司,有BAT类,也有行业独角兽。本人参加工作4年,负责过新员工的招聘,也参加过各种企业的面试。本文主要总结一下自己在移动互联行业中招聘和面试的一些感受,不涉及具体面试题目,因为我认为讲题是没有意义的,面试我的题目不一定会面到你,即使面到了,面试官也可能根据你回答进行不同方向的拓展。所以我将从如下几个方面聊聊我的看法。

  • 移动互联网招聘现状
  • 面试的一般流程
  • 何时跳槽
  • 如何准备面试

    Read More

iOS多线程编程三:Operation和OperationQueue

概述

本文是多线程的第三篇文章,主要讲解Operation和OperationQueue。看资料的时候发现了一篇特别好的教程,随性就翻译一下,权当自己做个总结。本文主要内容翻译自raywenderlichoperation and operationqueue tutorial in swift。原文链接点这里

不管是在Mac还是iOS系统上,当用户使用你的app点击按钮或者编辑文本的时候突然你的app卡死,界面变得无法响应,这对用户来讲是非常糟糕的体验。 在Mac系统上用户不得不盯着彩色的加载框等待恢复。在iOS系统上连加载框都看不到。用户希望在他们触摸屏幕之后应用程序能立即做出响应。卡顿的app让用户感到这个app很笨重,反应太慢。这会造成用户在AppStore中给应用差评。

Read More

设计模式:原型模式

概述

我们知道设计模式方面的知识是一个初中级工程师进阶高级工程师过程中一道无法跨越的屏障,学好它并将它应用到自己的项目中是一件充满乐趣和成就感的事情。本文将讲述设计模式中的原型模式,通过阅读本文你将收获如下内容:

  • 什么是原型模式以及它的作用。
  • 什么时间使用原型模式。
  • Objective-C中深拷贝和浅拷贝
  • 原型模式的具体实践。

Read More

iOS多线程编程二

概述

上一篇文章我介绍了NSThread相关的API以及使用方法,本文我们继续来讲解另一套线程相关的API, 那就是GCD。我们在开发过程中用的最多也是GCD,面试中问道最多的也是GCD。通过阅读本文,希望您对GCD的理解有新的收获。本文将讲解一下内容:

  • 队列
  • 同步与异步
  • 举例

个人认为,掌握好GCD最好的方式是彻底理解队列、同步、异步这些概念。而不是去死记硬背。死记硬背固然能应付一时,当终究不是正道,下面我们来一一解释这些概念。

Read More

iOS多线程系列一

概述

本文主要讲解iOS线程相关的知识,对于一个iOS开发者,如果想保证自己所开发的应用流畅的运行,线程的知识是无法绕开的。通过阅读本文,你讲了解到如下知识:

  • 进程和线程
  • 线程的生命周期
  • NSThread基本用法
  • 线程间的通信

Read More

HTTPS

概述

HTTPS并非是应用层的一种新协议。只是HTTP通信接口部分用SSL和TSL协议代替而已。通常,HTTP直接和TCP通信。当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信了。简言之,所谓HTTPS,其实就是身披SSL协议这层外壳的HTTP。

HTTP缺点

  • 通信使用明文(不加密),内容可能会被窃听。
  • 不验证通信方的身份,因此有可能遭遇伪装。
  • 无法证明报文的完整性,所以有可能已遭篡改。

    Read More

iOS挖矿了解一下?

区块链与挖矿

如果要问你2018年互联网什么最火?肯定是区块链啊!有多火?听说前几天区块链大会上毛爷爷都现身了😅。区块链是啥,百度百科的解释是区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。😯好复杂有木有,那区块链能干啥?那很多啦,比如说发币、挖矿还有🤐。再说炒币,听说是韭菜割了一茬又一茬,郁郁葱葱,野火烧不尽啊。

说正事,iOS设备怎么挖矿。我使用的是xmrig,官方提供了window平台的支持,提供了MacOS等平台的编译方法,唯独没有iOS和Android设备,可是我想用我的iPhone挖一挖啊,不中,我得看看能不能编译出来iOS的包。

Read More

ReactNative实践

关于React-Native

React-Native号称是跨平台开发且具有原生应用的体验,早在两年前我曾经尝试过使用React-Native,但是环境搭建过程及其复杂,可参见我之前写的文章:iOS现有项目手动集成ReactNative。最近公司新开项目需要实现iOS和Android平台热更新方案,以便快速开展业务。本文用来梳理React-Native在iOS上的一些实践。包括如下内容:

Read More