自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1067)
  • 收藏
  • 关注

转载 和李洪强一起学设计01 PS第一天

和李洪强一起学设计01 PS第一天转载于:https://www.cnblogs.com/LiLihongqiang/p/7988332.html

2017-12-05 17:25:00 171

转载 Python 简单入门指北(二)

Python 简单入门指北(二)2 函数2.1 函数是一等公民一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值。总而言之,函数和普通变量并没有什么区别。函数是一等公民,这是函数式编程的基础,然而 Python 中基本上不会使用 lambda 表达式,因为在 lambda 表达式的中仅能使用单纯的表达式,不能赋值...

2017-12-05 14:28:00 169

转载 Python 简单入门指北(一)

Python 简单入门指北(一)Python 是一门非常容易上手的语言,通过查阅资料和教程,也许一晚上就能写出一个简单的爬虫。但 Python 也是一门很难精通的语言,因为简洁的语法背后隐藏了许多黑科技。本文主要针对的读者是:毫无 Python 经验的小白有一些简单 Python 经验,但只会复制粘贴代码,不知其所以然的读者觉得单独一篇文章太琐碎,质量没保证,却没...

2017-11-21 17:43:00 210

转载 React Native 从入门到原理一

React Native 从入门到原理一React Native 是最近非常火的一个话题,介绍如何利用 React Native 进行开发的文章和书籍多如牛毛,但面向入门水平并介绍它工作原理的文章却寥寥无几。本文分为两个部分:上半部分用通俗的语言解释了相关的名词,重点介绍 React Native 出现的背景和试图解决的问题。适合新手对 React Native 形成初步了解...

2017-11-09 11:29:00 120

转载 WWDC 17: 开发者的最初观感

WWDC 17: 开发者的最初观感前言每年的 WWDC 都是 iOS 开发者集体高潮的时刻。第一天的 WWDC 带来了全新的 iOS 11、MacOS、tvOS 和 watchOS,革命性的 AR 和 ML 应用,以及更强的 iPad、“硬件神兽” iMac Pro 和智能音箱 HomePod。我想从开发者的角度,聊聊这次大会给我的印象和感受。欢迎大家在评论中谈谈自己的看...

2017-11-08 10:10:00 124

转载 写给程序员的管理入门课程 -《格鲁夫给经理人的第一课》

写给程序员的管理入门课程 -《格鲁夫给经理人的第一课》序格鲁夫给经理人的第一课《格鲁夫给经理人的第一课》最早出版于 2007 年,书原名为《High Output Management》。本书的作者格鲁夫是 Intel 的前 CEO,领导了 Intel 从一家濒临倒闭的存储器公司,转型为微处理器公司,并且在个人 PC 开始流行时,成功和微软缔结 Wintel...

2017-11-06 22:28:00 859

转载 RxSwift之路 1#Swift语法知识准备

RxSwift之路 1#Swift语法知识准备在开始学习 RxSwift 之前,一定要对 Swift 相关语法有所了解,否则就很难理解为什么可以这样。关于 Swift 的学习其实只要看看 Swift 的官方文档就可够了。我之前也列过一些学习资源:来自一线开发者的Swift学习资源推荐。现在开始进入正题。Swift的优势想一个有趣的问题,为什么没有 RxObjc 呢?实际上...

2017-11-06 22:18:00 70

转载 猿题库从 Objective-C 到 Swift 的迁移

猿题库从 Objective-C 到 Swift 的迁移引言相信没有人会怀疑,Swift 是 iOS 开发未来的主流语言,但是由于 Swift 语言的不断变化以及庞大的迁移成本,真正把项目迁移到 Swift 语言的公司并不多。而猿题库 iOS 客户端是一个超过 3 年的项目,积累了超过 15 万行的 Objective-C 代码,我相信它在迁移过程中的经验对很多人有所帮助。...

2017-11-02 14:08:00 152

转载 谈一谈iOS事件的产生和传递

谈一谈iOS事件的产生和传递1.事件的产生发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中.UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow)。主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事...

2017-10-31 23:23:00 57

转载 李洪强原创博客01

每周一篇原创博客时间: 2017年10月30日--2017年11月3日iOS11适配的那些坑01 适配titleViewiOS11 navigationItem.titleView 适配问题,最近由于Apple 更新了iOS 11版本,在系统升级之后,发现项目中之前适配好的titleView 发生了如下变化:iOS 11 之前iOS 11W...

2017-10-30 18:23:00 77

转载 项目在iOS11上遇到的小问题

​iOS11正式版出了这么久了,在忙完新版本开发,写下在iOS11上的一些小问题。1App图标不显示现象:升级到iOS11系统下自己的项目桌面app图标不见了出现这种情况我还以为自己手动删除了项目 Images.xcassets中的AppIcon导致没有图标。查看项目和发现这些AppIcon还在,突然发现在Xcode 9中AppIcon有了改变。发...

2017-10-28 23:55:00 103

转载 iOS 版本更新(强制更新)检测问题

iOS 版本更新(强制更新)检测问题通常iOS系统中是默认设置再wifi状态,且网络状况良好下自己更新应用的.但是如果用户设置了不自动更新,但是我们的APP出现重要的版本,一定需要用户更新的情况下,就会需要这个功能了.这个版本更新一般会有两种方式:1.在自己的服务器上部署上一个文件,写入版本数据,然后app去获取版本数据,与自己的当前版本比对, 提示更新优点...

2017-10-26 11:46:00 163

转载 RxSwift之路 2#如何开始

RxSwift之路 2#如何开始第一步当然是把项目clone到本地,github地址:https://github.com/ReactiveX/RxSwift。官方文档学习的第一手资源当然是项目提供的文档。在项目的Document目录下放着项目的一些概念说明。看过项目的ReadMe后可以从Getting Started开始。不过如果你之前完全没有接触过响应式编...

2017-10-19 23:24:00 60

转载 Swift 4迁移总结:喜忧参半,新的起点

Swift 4迁移总结:喜忧参半,新的起点每日一篇优秀博文这次Swift 3 到 4 的迁移代码要改动的地方比较少,花了一个下午的时间就完成了迁移。Swift 把原来 4.0 的目标从 ABI 稳定改为了源码兼容,此次代码的兼容性做的确实很好,这个目标算是达到了。然而对于一个成熟的项目而言,单纯语法上的兼容并不是全部,这次的升级也带来了一些新的变化。3.2 和 4.0...

2017-10-18 10:38:00 101

转载 深入研究 Runloop 与线程保活

深入研究 Runloop 与线程保活在讨论 runloop 相关的文章,以及分析 AFNetworking(2.x) 源码的文章中,我们经常会看到关于利用 runloop 进行线程保活的分析,但如果不求甚解的话,极有可能因此学会了一个错误的用法,本文就来分析一下其中常见的误区。我提供了一个 Demo,可以在我的Github上下载并运行一遍,文章中只提供了部分代码。AF...

2017-10-16 11:35:00 123

转载 主线程中也不绝对安全的 UI 操作

主线程中也不绝对安全的 UI 操作从最初开始学习 iOS 的时候,我们就被告知 UI 操作一定要放在主线程进行。这是因为 UIKit 的方法不是线程安全的,保证线程安全需要极大的开销。那么问题来了,在主线程中进行 UI 操作一定是安全的么?显然,答案是否定的!在苹果的MapKit框架中,有一个叫做addOverlay的方法,它在底层实现的时候,不仅仅要求代...

2017-10-13 18:50:00 60

转载 结合 category 工作原理分析 OC2.0 中的 runtime

结合 category 工作原理分析 OC2.0 中的 runtime绝大多数 iOS 开发者在学习 runtime 时都阅读过 runtime.h 文件中的这段代码:struct objc_class { Class isa OBJC_ISA_AVAILABILITY;#if !__OBJC2__ Class super_class ...

2017-10-12 14:26:00 65

转载 深入理解哈希表

深入理解哈希表这篇文章由一个简单的问题引出:有两个字典,分别存有 100 条数据和 10000 条数据,如果用一个不存在的 key 去查找数据,在哪个字典中速度更快?有些计算机常识的读者都会立刻回答: “一样快,底层都用了哈希表,查找的时间复杂度为 O(1)”。然而实际情况真的是这样么?答案是否定的,存在少部分情况两者速度不一致,本文首先对哈希表做一个简短的总...

2017-10-12 14:09:00 114

转载 为什么要用 Node.js

每日一篇优秀博文 2017年10月10日 周二为什么要用 Node.js这是一个移动端工程师涉足前端和后端开发的学习笔记,如有错误或理解不到位的地方,万望指正。Node.js 是什么传统意义上的 JavaScript 运行在浏览器上,这是因为浏览器内核实际上分为两个部分:渲染引擎和 JavaScript 引擎。前者负责渲染 HTML + CSS,后者则负责运行...

2017-10-10 15:58:00 61

转载 移动端开发者眼中的前端开发流程变迁与前后端分离

每日一篇优秀博文 2017年10月9日 周一移动端开发者眼中的前端开发流程变迁与前后端分离写在最开始这是一篇面向移动端开发者的科普性文章,从前端开发的最初流程开始,结合示范代码,讨论开发流程的演变过程,希望能覆盖一部分前端开发技术栈,从而对前端开发的相关概念形成初步的认识。本文会提供一些示范代码,然而他们无法运行,也不需要完全看懂,更多的是方便读者对相关概念和方案有更...

2017-10-10 15:49:00 76

转载 获取任意线程调用栈的那些事

每日一篇优秀博文 2017年10月8日 周日获取任意线程调用栈的那些事BSBacktraceLogger 是一个轻量级的框架,可以获取任意线程的调用栈,开源在我的GitHub,建议下载下来结合本文阅读。我们知道NSThread有一个类方法callstackSymbols可以获取调用栈,但是它输出的是当前线程的调用栈。在利用 Runloop 检测卡顿时,子...

2017-10-10 15:42:00 120

转载 白话 Ruby 与 DSL 以及在 iOS 开发中的运用

每日一篇优秀博文 2017年10月7日 周六白话 Ruby 与 DSL 以及在 iOS 开发中的运用阅读本文不需要预先掌握 Ruby 与 DSL 相关的知识何为 DSLDSL(Domain Specific Language) 翻译成中文就是:“领域特定语言”。首先,从定义就可以看出,DSL 也是一种编程语言,只不过它主要是用来处理某个特定领域的问题。广为...

2017-10-10 15:33:00 103

转载 李洪强和你一起学习前端之(11)梅兰商贸案例

李洪强和你一起学习前端之(11)梅兰商贸案例今天的内容是梅兰商贸案例的讲解,这也是CSS的最后一天今天要实现的效果是:大家看到了,今天这个案例的内容非常的多,我们只能一点点的分析. 一点点的完成,因为如果内容结构琐碎,我们会感觉到很乱要不断想着刚才的结构,一不留神就会重新理清之前的思路,这样特别浪费时间,所以面对这样的案例的时候,我要一点一点肢...

2017-10-08 16:59:00 100

转载 深入理解 iOS 开发中的锁

深入理解 iOS 开发中的锁摘要本文的目的不是介绍 iOS 中各种锁如何使用,一方面笔者没有大量的实战经验,另一方面这样的文章相当多,比如iOS中保证线程安全的几种方式与性能对比、iOS 常见知识点(三):Lock。本文也不会详细介绍锁的具体实现原理,这会涉及到太多相关知识,笔者不敢误人子弟。本文要做的就是简单的分析 iOS 开发中常见的几种锁如何实现,以及优缺点是什么...

2017-10-06 17:49:00 71

转载 如何理解高阶函数

如何理解高阶函数昨天开始读 SICP,这本书作为 MIT 所有理工科类学生的公共必修课(类似于咱们的高数),还是挺有价值的,很清楚的解释了一些基本概念,这里先总结一下高阶函数吧。高阶函数的定义是接受一个函数作为参数,或者返回一个函数的函数。不过这样的解释作为总结也就罢了, 如果用来学习、理解的话。。。。。。还是看具体例子吧。函数我们知道函数是对过程的抽象,或者说是对某...

2017-10-06 17:48:00 230

转载 如何让 Xcode 在读写上提速100倍?

如何让 Xcode 在读写上提速100倍?上个月参加了一场西雅图当地的线下 iOS 开发者聚会。Jeff Szuhay 作为一个有20+年开发经验的资深程序员,跟我讲了一套提高 iOS 开发效率的方法。相比于其他程序员在 App 启动时间、架构优化方面的经验,老爷子 Jeff 的优化基于硬件层面,匠心独运,极客风十足。以下是他的经验分享和我个人的实测。问题来源我们都知...

2017-10-04 17:53:00 78

转载 从强制解包看 Swift 的设计

从强制解包看 Swift 的设计不知道大家有没有发现,在一个 Objective-C 和 Swift 混编的 App 中,当把一个 OC 中的参数转到 Swift 时,Swift 会自动把这个变量进行强制解包。举个例子,我在 OC 中定义这样一个变量:@property (nonatomic, copy) NSString *foo;它转成 Swift 就变成...

2017-10-04 17:43:00 112

转载 Swift 开发中,为什么要远离 Heap?

Swift 开发中,为什么要远离 Heap?WWDC的视频 — Understanding Swift Performance 中,苹果上来就说,Heap 的操作复杂度要远远超越 Stack。所以大家在选择数据结构时,要尽量选择诸如结构体这种存储在 Stack 上的值数据类型,而不要选择像类这种存储在 Heap上的数据类型。问题是,相比于 Stack,Heap 操作复杂体现在...

2017-10-04 17:35:00 83

转载 对于iOS开发人工智能意味着什么

对于iOS开发人工智能意味着什么?前言近几年来人工智能的话题那是炙手可热。在国内很多大佬言必谈机器学习和大数据;在美国刚毕业的人工智能 PHD 也是众人追捧,工资直逼 NFL 四分卫。人工智能甚至成为了互联网领域茶余饭后的话题 —— 仿佛不懂人工智能就是落伍了。笔者作为一名 iOS 开发者,对于如火如荼的人工智能和机器学习,也保持了密切的追踪和了解。这篇文章就是总结我在硅...

2017-10-04 17:25:00 112

转载 平凡是程序员的唯一答案吗(转载)

平凡是程序员的唯一答案吗(转载)  我在 Facebook 有一位好友。他本科国内 Top 2 大学毕业,在美国拿了最顶尖大学的硕士学位,然后年纪轻轻就做到了技术负责人,拿着超高的薪水。就是这么一个开了挂一般的天才,每个星期六晚上的夜里,他是永远是睡不着的。我问他为什么失眠。他的回答是焦虑。  他说,他马上就要30岁了。他的老板扎克伯格在30岁时时已经缔造了 Facebo...

2017-10-04 11:23:00 62

转载 HTTP 代理服务器技术选型之旅

HTTP 代理服务器技术选型之旅背景长期以来,贴吧开发人员多,业务耦合大,需求变化频繁,因此容易产生 bug。而我所负责的广告相关业务,和 UI 密切相关,一旦因为某种原因(甚至是被别人改了代码)产生了 bug,必然大幅度影响广告收入。解决问题的一种方法在于频繁的测试,既然避免不了代码层面的耦合,那总是可以通过定时的检查来避免问题。所以我们维护了一组核心 case,密切关...

2017-09-27 20:48:00 84

转载 深入理解 GCD

深入理解 GCD前言首先提出一些问题:dispatch_async函数如何实现,分发到主队列和全局队列有什么区别,一定会新建线程执行任务么?dispatch_sync函数如何实现,为什么说 GCD 死锁是队列导致的而不是线程,死锁不是操作系统的概念么?信号量是如何实现的,有哪些使用场景?dispatch_group的等待与通知、dispa...

2017-09-26 22:34:00 223

转载 你不必

你不必你不必把这杯白酒干了,喝到胃穿孔,也不会获得帮助,不会获得尊重。你不必放弃玩音乐,不必出专辑,也不必放弃工作,不必介意成为一个带着奶瓶的朋克。你不必在本子上记录,大部分会议是在浪费时间,你不必假装殷勤一直记录。你不必总是笑,不必每一条微信都回复,不必处处点赞。你不必有什么户口,也不必要求...

2017-09-26 10:08:00 64

转载 Swift中Notification.Name这么难用怎么办

Swift中Notification.Name这么难用怎么办以前的发送通知的参数就是一个简单的字符串:NSNotificationCenter.defaultCenter().post("someStringThatShouldBeDeclared")后来到了swift 3 中,改成了Notification.Name。定义在Notification的...

2017-09-24 16:03:00 92

转载 iOS进阶指南试读之UI篇

iOS进阶指南试读之UI篇UI篇UI是一个iOS开发工程师的基本功。怎么说?UI本质上就是你调用苹果提供给你的API来完成设计师的设计。所以,想提升UI的功力也很简单,没事就看看UIKit里的各个类的头文件。如果能做到烂熟于胸,相信会有很大的提升。Autolayout顾名思义,Autolayout = 自动+布局,也就是当你设置好一定的约束之后,系统会帮你...

2017-09-24 15:19:00 89

转载 iOS开发如何学习前端(2)

iOS开发如何学习前端(2)上一篇成果如下。实现的效果如下。实现了一个横放的<ul>,也既iOS中的UITableView.实现了当鼠标移动到列表中的某一个<li>,也既iOS中的UITableViewCell,的时候,这个li标签的背景色会变成黑色。页面很简单。但是仍存在一个小问题。眼尖的同学可以发现。当鼠标悬浮在...

2017-09-24 11:34:00 79

转载 iOS开发如何学习前端(1)

iOS开发如何学习前端(1)我为何学前端?因为无聊. 概念前端大概三大块. HTML CSS JavaScript 基本上每个概念在iOS中都有对应的.HTML请想象成只能拉Autolayout或者设置Frame的ViewController.好比你在网页上放了一个Button,如果用HTML你就可以设置他的摆放位置,在哪哪个控件...

2017-09-21 10:17:00 94

转载 2017.09.20-字符串编码入门科普

字符串编码入门科普背景对于单纯做前端或者后端的同学来说,一般很难接触到编码问题,因为在同一个平台上,一般都是使用同一种编码方式,自然问题不大。但对于写爬虫的同学来说,编码很可能是遇到的第一个坑。这是因为字符串无法直接通过网络被传输(也不能直接被存储),需要先转换成二进制格式,再被还原。因此凡是涉及到通过网络传输字符的地方,通常都容易遇到编码问题。概念定义为...

2017-09-20 22:30:00 122

转载 JavaScript 模块化简述

JavaScript 模块化简述前言关于模块化,最直接的表现就是我们写的require和import关键字,如果查阅相关资料,就一定会遇到CommonJS、CMDAMD这些名词,以及RequireJS、SeaJS等陌生框架。比如SeaJS 的官网这样描述自己: “简单友好的模块定义规范,Sea.js 遵循 CMD 规范。自然直观的代码组织方式,依赖的自...

2017-09-19 14:00:00 170

转载 异步与回调的设计哲学

异步与回调的设计哲学本文的例子用 JavaScript 语法给出,希望读者至少有使用过 Promise 的经验,如果用过 async/await 则更好,对于客户端的开发者,我相信语法不是阅读的瓶颈,思维才是,因此也可以了解一下异步编程模型的演变过程。异步编程入门CPSCPS 的全称是 (Continuation-Passing Style),这个名词听上去比较高大上...

2017-09-15 14:30:00 121

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除