-
还没给你的博客加个小绿锁吗?
终于要更新了,刷了好久牛客…关键字:GitHub Pages Jekyll SSL https前言小绿锁是啥?HTTPS链接的网页是比较安全的网页,遂发一个小绿锁。HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL。SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SS...…
-
Wifi 定位原理及 iOS Wifi 列表获取
对于大家来说,Wifi 应该是一个很熟悉的词了,我们每天都可能在使用 Wifi 热点。Wifi 除了能给我们提供热点之外同时还有定位的作用, 现在移动设备的对用户的隐私保护是越来越严格了,就如定位功能,必须要经过设备用户的授权才能使用 Location 给这台设备定位。这些严格的隐私政策对用户起到到保护作用,但对开发人员却是一种阻碍,在产品强需求的情况下用户是会授权的,如地图类应用,但是另外一些没有对定位强需求的产品,用户可能就不会给你授权了,这是我们可以考虑下 Wifi 定位了。Wi...…
-
Swift 并行编程现状和展望 - async/await 和参与者模式
这篇文章不是针对当前版本 Swift 3 的,而是对预计于 2018 年发布的 Swift 5 的一些特性的猜想。如果两年后我还记得这篇文章,可能会回来更新一波。在此之前,请当作一篇对现代语言并行编程特性的不太严谨科普文来看待。CPU 速度已经很多年没有大的突破了,硬件行业更多地将重点放在多核心技术上,而与之对应,软件中并行编程的概念也越来越重要。如何利用多核心 CPU,以及拥有密集计算单元的 GPU,来进行快速的处理和计算,是很多开发者十分感兴趣的事情。在今年年初 Swift 4 的...…
-
领导力+开营式
前言人生是一个持续学习的过程,领导力同样需要学习。在学习领导力的过程中,在实践中体会感悟往往会比单纯的理论知识学习更加有效。生命年轮团队成员互相分享成长经历、七年为一个阶段,以每一个阶段影响最深的一件事作画,并且向团队成员叙述事情经过。乐*毅:小时候来家里过夜的小伙伴被父亲赶走、和父亲一起被骗至荒地遇险、学习不好,坐最后一排,不被老师喜欢、冒充父母签字,害怕考试,受老师打击、展现画画天赋,参加比赛、生二胎索*赛家里有果园,玩蚂蚁、喜欢娃娃,过家家,跳皮筋、初三换校,熟悉新环境耽误了学习、徘...…
-
iOS开发中的小问题记录
NSKeyedArchiver 自定义对象写文件如果存储的对象类名有变动,则需要设置clasName, 方法为:“setClassName:forClass:” 使用 NSKeyedArchiver 进行数据持久化时, 系统会默认使用类名去建表,如果类名变了,那么使用新的类名肯定是从本地获取不到表的,代码执行崩溃。 所以需要在 NSKeyedArchiver 或者 NSKeyedUnarchiver 时使用 “setClassName:forClass:” 指定类名。断点配置...…
-
面向协议编程与 Cocoa 的邂逅 (下)
本文是笔者在 MDCC 16 (移动开发者大会) 上 iOS 专场中的主题演讲的文字整理。您可以在这里找到演讲使用的 Keynote,部分示例代码可以在 MDCC 2016 的官方 repo 中找到。在上半部分主要介绍了一些理论方面的内容,包括面向对象编程存在的问题,面向协议的基本概念和决策模型等。本文 (下) 主要展示了一些笔者日常使用面向协议思想和 Cocoa 开发结合的示例代码,并对其进行了一些解说。转・热恋 - 在日常开发中使用协议WWDC 2015 在 POP 方面有一个非常优秀...…
-
面向协议编程与 Cocoa 的邂逅 (上)
本文是笔者在 MDCC 16 (移动开发者大会) 上 iOS 专场中的主题演讲的文字整理。您可以在这里找到演讲使用的 Keynote,部分示例代码可以在 MDCC 2016 的官方 repo 中找到。因为全部内容比较长,所以分成了上下两个部分,本文 (上) 主要介绍了一些理论方面的内容,包括面向对象编程存在的问题,面向协议的基本概念和决策模型等,下半部分主要展示了一些笔者日常使用面向协议思想和 Cocoa 开发结合的示例代码,并对其进行了一些解说。引子面向协议编程 (Protocol Or...…
-
使用 TensorFlow 实现神经网络
介绍 一直关注 数据科学 、 机器学习 的同学,一定会经常看到或听到关于 深度学习 和 神经网络 相关信息。如果你对 深度学习 感兴趣,但却还没有实际动手操作过,你可以从这里得到实践。 在本文中,我将介绍 TensorFlow , 帮你了解 神经网络 的实际作用,并使用 TensorFlow 来解决现实生活中的问题。 读这篇文章前,需要知道 神经网络 的基础知识和一些熟悉编程理念,文章中的代码是使用 Pyhton 编写的,所以还需要了解一些 Python 的基本语法,才能更有利对于文章...…
-
算法-归并排序
阅读量真是少,又不想投稿,怎么办前言归并排序思路简单,速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列。核心思想比较a[i]和a[j]的大小,若a[i]≤a[j],则将第一个有序表中的元素a[i]复制到r[k]中,并令i和k分别加上1;否则将第二个有序表中的元素a[j]复制到r[k]中,并令j和k分别加上1,如此循环下去,直到其中一个有序表取完,然后再将另一个有序表中剩余的元素复制到r中从下标k到下标t的单元。归并排序的算法我们通常用递归实现,先把待排序...…
-
算法-堆排序
赶紧让你的大脑来一套广播体操前言慢慢的,我们脱离了”小学生“算法,开始接触一些需要绕圈子的思路,赶紧沉浸入堆排序的头脑风暴当中吧。简介堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值,即A[PARENT[i]] >= A[i]。在数组的非降序排序中,需要使用的就是大根堆,因为根据大根堆的要求可知,最大的值一...…