随笔分类 - 每日一篇优秀博文
本栏目是每日收集一篇优秀的博客文章,进行学习,欢迎大家一起学习,讨论
摘要:如何让 Xcode 在读写上提速100倍? 上个月参加了一场西雅图当地的线下 iOS 开发者聚会。Jeff Szuhay 作为一个有20+年开发经验的资深程序员,跟我讲了一套提高 iOS 开发效率的方法。相比于其他程序员在 App 启动时间、架构优化方面的经验,老爷子 Jeff 的优化基于硬件层面,
阅读全文
摘要:从强制解包看 Swift 的设计 不知道大家有没有发现,在一个 Objective-C 和 Swift 混编的 App 中,当把一个 OC 中的参数转到 Swift 时,Swift 会自动把这个变量进行强制解包。举个例子,我在 OC 中定义这样一个变量: @property (nonatomic,
阅读全文
摘要:Swift 开发中,为什么要远离 Heap? WWDC的视频 — Understanding Swift Performance 中,苹果上来就说,Heap 的操作复杂度要远远超越 Stack。所以大家在选择数据结构时,要尽量选择诸如结构体这种存储在 Stack 上的值数据类型,而不要选择像类这种存
阅读全文
摘要:对于iOS开发人工智能意味着什么? 前言 近几年来人工智能的话题那是炙手可热。在国内很多大佬言必谈机器学习和大数据;在美国刚毕业的人工智能 PHD 也是众人追捧,工资直逼 NFL 四分卫。人工智能甚至成为了互联网领域茶余饭后的话题 —— 仿佛不懂人工智能就是落伍了。 笔者作为一名 iOS 开发者,对
阅读全文
摘要:HTTP 代理服务器技术选型之旅 背景 长期以来,贴吧开发人员多,业务耦合大,需求变化频繁,因此容易产生 bug。而我所负责的广告相关业务,和 UI 密切相关,一旦因为某种原因(甚至是被别人改了代码)产生了 bug,必然大幅度影响广告收入。 解决问题的一种方法在于频繁的测试,既然避免不了代码层面的耦
阅读全文
摘要:深入理解 GCD 前言 首先提出一些问题: dispatch_async 函数如何实现,分发到主队列和全局队列有什么区别,一定会新建线程执行任务么? dispatch_sync 函数如何实现,为什么说 GCD 死锁是队列导致的而不是线程,死锁不是操作系统的概念么? 信号量是如何实现的,有哪些使用场景
阅读全文
摘要:Swift中Notification.Name这么难用怎么办 以前的发送通知的参数就是一个简单的字符串: NSNotificationCenter.defaultCenter().post("someStringThatShouldBeDeclared") 后来到了swift 3 中,改成了Noti
阅读全文
摘要:iOS进阶指南试读之UI篇 UI篇 UI是一个iOS开发工程师的基本功。怎么说?UI本质上就是你调用苹果提供给你的API来完成设计师的设计。所以,想提升UI的功力也很简单,没事就看看UIKit里的各个类的头文件。如果能做到烂熟于胸,相信会有很大的提升。 Autolayout 顾名思义,Autolay
阅读全文
摘要:iOS开发如何学习前端(2) 上一篇成果如下。 实现的效果如下。 实现了一个横放的<ul>,也既iOS中的UITableView. 实现了当鼠标移动到列表中的某一个<li>,也既iOS中的UITableViewCell,的时候,这个li标签的背景色会变成黑色。 页面很简单。但是仍存在一个小问题。眼尖
阅读全文
摘要:iOS开发如何学习前端(1) 我为何学前端?因为无聊. 概念 前端大概三大块. HTML CSS JavaScript 基本上每个概念在iOS中都有对应的.HTML请想象成只能拉Autolayout或者设置Frame的ViewController.好比你在网页上放了一个Button,如果用HTML你
阅读全文
摘要:字符串编码入门科普 背景 对于单纯做前端或者后端的同学来说,一般很难接触到编码问题,因为在同一个平台上,一般都是使用同一种编码方式,自然问题不大。但对于写爬虫的同学来说,编码很可能是遇到的第一个坑。这是因为字符串无法直接通过网络被传输(也不能直接被存储),需要先转换成二进制格式,再被还原。因此凡是涉
阅读全文
摘要:JavaScript 模块化简述 前言 关于模块化,最直接的表现就是我们写的 require 和 import 关键字,如果查阅相关资料,就一定会遇到 CommonJS 、CMD AMD 这些名词,以及 RequireJS、SeaJS 等陌生框架。比如 SeaJS 的官网 这样描述自己: “简单友好
阅读全文
摘要:异步与回调的设计哲学 本文的例子用 JavaScript 语法给出,希望读者至少有使用过 Promise 的经验,如果用过 async/await 则更好,对于客户端的开发者,我相信语法不是阅读的瓶颈,思维才是,因此也可以了解一下异步编程模型的演变过程。 异步编程入门 CPS CPS 的全称是 (C
阅读全文
摘要:利用 WireShark 深入调试网络请求 李洪强 背景 最近发现我们产品在打开广告链接(Webview)时有一定概率会非常慢,白屏时间超过 10s,追查广告的过程中遇到不少有意思的事情,感觉颇有收获。在这里分享一下,主要想聊一聊追查 bug 时的那些方法论,当然也不能太虚,还是要带一点干货,比如
阅读全文
摘要:大前端开发者需要了解的基础编译原理和语言知识 在我刚刚进入大学,从零开始学习 C 语言的时候,我就不断的从学长的口中听到一个又一个语言,比如 C++、Java、Python、JavaScript 这些大众的,也有 Lisp、Perl、Ruby 这些相对小众的。一般来说,当程序员讨论一门语言的时候,默
阅读全文
摘要:如何将 iOS 工程打包速度提升十倍以上 过慢的编译速度有非常明显的副作用。一方面,程序员在等待打包的过程中可能会分心,比如刷刷朋友圈,看条新闻等等。这种认知上下文的切换会带来很多隐形的时间浪费。另一方面,大部分 app 都有自己的持续集成工具,如果打包速度太慢, 会影响整个团队的开发进度。 因此,
阅读全文
摘要:九个问题从入门到熟悉HTTPS Q1: 什么是 HTTPS? LHQ: HTTPS 是安全的 HTTP HTTP 协议中的内容都是明文传输,HTTPS 的目的是将这些内容加密,确保信息传输安全。最后一个字母 S 指的是 SSL/TLS 协议,它位于 HTTP 协议与 TCP/IP 协议中间。 Q2:
阅读全文
摘要:专业程序员的七个特质 成为一个专业人士是所有程序员的目标。笔者在硅谷待了将近3年,在这里近距离观察了Google, Facebook, Uber等公司的大拿,并有幸与其中的一部分一起工作。在此分享大牛程序员的行为风格以及我自己的所思所想,希望对大家有所帮助。 特此声明:此为我个人主观观点,欢迎异见以
阅读全文
摘要:【硅谷问道】 WWDC 17: 开发者的最初观感 前言 每年的 WWDC 都是 iOS 开发者集体高潮的时刻。第一天的 WWDC 带来了全新的 iOS 11、MacOS、tvOS 和 watchOS,革命性的 AR 和 ML 应用,以及更强的 iPad、“硬件神兽” iMac Pro 和智能音箱 H
阅读全文
摘要:【硅谷问道】Chris Lattner 访谈录(下) Chris Lattner 访谈录(下) 话题 Swift 在 Server 和操作系统方面有着怎样的雄心抱负? Swift 与 Objective-C 的爱恨情仇? Swift 之父对于 RxSwift 和 ARC 有什么独到的见解? 随着 S
阅读全文
浙公网安备 33010602011771号