iOS 技术分享 —— iOS 界面开发发展史
最近需要对公司同事做一个简单的 iOS 技术分享,
简单的整理了一个 Keynote,共享在点击去下载,
需要的自行下载。
最近需要对公司同事做一个简单的 iOS 技术分享,
简单的整理了一个 Keynote,共享在点击去下载,
需要的自行下载。
本文译自Breaking down iOS 9 Universal Links, 侵立删
在几周前的 WWDC 上, Apple 为 iOS 9 宣布了一个所谓通用链接的深层链接特性, 地址为 无缝链接到您的 App.虽然它不是一个必须实现的功能, 但还是需要引起一些注意.
在网上有太多让人迷惑和错误的信息, 然后这次 WWDC 本身也没有去描述细节.幸运的是, 在 HOKO 我们在我们的智能链接上添加了这一特性, 所以我们可以无缝的引导用户到 APP 上.
很显然 Apple 正在大力推动 APP 开发者在深层链接上有更好的体验.所有的消息都围绕着深层链接技术.与此同时, Apple 推出通用链接:一种能够方便的通过传统 HTTP 链接来启动 APP, 使用相同的网址打开网站和 APP.
通过唯一的网址, 就可以链接一个特定的视图到你的 APP 里面, 不需要特别的 schema .试想一下 Twitter 使用了通用链接, 那么你每在 twitter.com 点击一个链接, 你的 iOS 设备都会在 Twitter 里面自动打开这个页面, 而不是当你没有安装时转到普通的网页.这个用户体验是顺畅的, 最重要的是用户不会失去上下文(跳到 APP 后 Safari 上不再留下空标签).
实现通用链接不难, 但首先必须遵守一些先决条件.如下:
如果你都有了, 那就来按照下面3个步骤来做吧.
Capabilities
首先, 你必须在 Xcode 的 capabilities
里 添加你的 APP 域名, 必须用 applinks:
前置它:还添加一些你可能拥有的子域和扩展(www.domain.com, news.domain.com 等等).
—— 用 applinks:
前缀添加所有域名, 同时不要忘了包含所有可能需要的子域名
这将使你的 APP 从你的域名请求一个特殊的 JSON 文件 apple-app-site-association
.** 当你第一次启动 APP ** 它会从 https://domain.com/apple-app-site-association
下载这个文件.跳到下个步骤来了解如何构建这个文件.
apple-app-site-association
文件该文件必须存在且为了安全原因可使用 SSL 通过 GET 请求访问到.你可以打开一个文本编辑器然后写一个这样的简单 JSON 格式:
1 | { |
根据 paths
键设定一个允许的路径列表(你想你的 APP 作出反应的路径), 或只是一个星号如果你想打开 APP 而不管路径是什么.
你可能想知道 TBEJCS6FFP.com.domain.App
从何而来, 基本上, 它是加入了你的团队标识的 bundle id.你可以从你的 苹果开发账号页面 获取你的团队标识:
—— 这个页面有你的团队标识, 你可以拷贝粘贴到 apple-app-site-association 文件
Bundle id 可以在项目的 target
—— General
中找到:
—— 检查 General 标签并拷贝粘贴 bundle id 到 apple-app-site-association 文件
最后, 上传这个文件到你的域名根目录.如果你打开 https://domain.com/apple-app-site-association
可以看到你的文件, 那么你就可以继续下一步了.
为了在 APP 里支持通用链接, 你需要在 AppDelegate 里实现 application(_:continueUserActivity:restorationHandler:). 尽管这种方法可以用于许多不同的目的(比如 Handoff 和 搜索 API), 我们将只关注如何处理接收到的通用链接.
如果提供的 userActivity
是 NSUserActivityTypeBrowsingWeb
类型, 那么意味着它已经由通用链接 API 代理.这样的话, 它保证用户打开的 URL 将有一个非空的 webpageURL
属性.依据前面的例子, 这将是 http://domain.com/path/to/thezoo
http://domain.com/path/to/thezoo
体现.
为了确保你的 APP 可以翻译 URL 成实际的内容, 你需要做下面几步:
webpageURL
到 host(如domain.com), 路径组成同理(如["/"], "path", "to", "thezoo"
).host
.pathComponents
匹配到 APP 的已知内容里.如果上述步骤有任何一个失败, Apple 建议你的 APP 应该在 Safari 上打开 webpageURL
以显示错误.
总结如图:
—— 上图为通用链接的工作流程提供一个摘要
通用链接对于开发人员来说是一个好主意, 但也有一些缺点可能会导致不受青睐:
配置 APP 支持通用链接意味着只有运行 iOS 9 的用户才能享用这一技术优势. 而之前版本的用户将不能在点击网页链接时打开 APP. 相反的, 他们将返回到浏览器和网页, 就像之前正常的网页链接一样.
然后, HOKO为 iOS 5 及更高的用户提供了移动深层链接. 因此, 你的移动深层链接将可以运行在几乎所有的 iOS 设备上, 不管它们是不是 iOS 9.
如果你想退回主页或与 APP 完全不不相关的网站?实现这一目标需要一些额外的工作, 要配置一个网页可以指引用户到你的目标页面. 此外, 如果你没有一个网站的话, 这将会是一个不可能的解决方案.
你可以使用 HOKO 智能链接和他们自适应的返回来轻松的解决这个问题. 对于创建的每个智能链接, 你可以在每个平台上选择如果没有安装 APP 会发生什么. 另外你可以设置返回到你的网站, iTunes 商店页面或其它外部网站.
这对于小型开发者来说可能是个坏消息, 他们可能买不起或维护一个网站, 但是仍然想通过网页链接进入他们的 APP.
HOKO 可以解决这个问题因为它来充当开发者的网站, 每个 APP 托管在不同的子域. 因此, 开发者只需创建智能链接, 并发布其网址, 然后每次都会无缝的打开相应的 APP.
使用 HOKO, 你可以跳过这些繁的配置, 因为我们使它可以开箱即用. 此外, 我们的服务器运行在有行业顶级标准的安全性和性能上, 为每个设备提供安全和快速的方式.
如果你想了解更多关于 HOKO 的信息, 可以给我们发邮件或直接注册.
(或直接检查我们关于Google’s App Links的详细指南)
为了方便第三方开发者快速简单的集成国内三大社交平台(微信,QQ,微博),故造此轮子。
目前支持微信(微信好友,微信朋友圈),QQ,QQ空间,新浪微博)
关于此模块的Bug反馈、建议、口水等等,请大家狠拍并提交到Github上,我会尽快解决。
该模块会继续完善优化,争取为大家提供一个更快速、更简单、更规范、扩展性更好的集成模块。
===========
===
* 2015-09-29 修复网页微博分享时内容没有传入的 Bug
* 2015-10-29 适配 iOS 9 下分享
* 2015-11-04 新增三大平台分享后的回调
* 2016-01-11 新增适配 iOS 9 SSO 的 `LSApplicationQueriesSchemes`配置说明
程序 —— Targets —— Build Phases —— Link Binary With Libraries
Security.framework
, SystemConfiguration.framework
, CoreGraphics.framework
, CoreTelephony.framework
, QuartzCore.framework
, ImageIO.framework
, CoreText.framework
, UIKit.framework
, Foundation.framework
, libsqlite3.dylib
, libc++.dylib
, libz.dylib
, libstdc++.dylib
, libiconv.dylib
程序 —— Targets —— Build Settings —— Linking —— Other Linker Flag 添加 -ObjC
分别添加微信,QQ,微博
tencentopenapi
: tencent222222
mqqapi
: QQ0605C97A
weibo
: wb2045436852
weixin
: wxd930ea5d5a258f4f
以上均为测试app key,具体可以去对应的开放平台注册
mqqapi 是 tencent 的 app key 转十六进制,不足八位在前面补 0 的结果
LSApplicationQueriesSchemes
项,具体列表请至获取iOS 9 应用跳转适配
名称 | 解释 |
---|---|
CommonMarco.h | 通用宏文件,包含APP Key等宏 |
ExtView/ | 扩展View,VerticalUIButton为图片文件垂直对齐按钮 |
Resource/ | 图片等资源,包含微信、QQ、微博图标 |
ShareUtil/ | 分享工具类 |
XMShareView.h | 分享显示视图 |
1 | #import "WXApi.h" |
application -> didFinishLaunchingWithOptions
方法中注册1 | [WXApi registerApp:APP_KEY_WEIXIN]; |
ViewController.m
中引用导入文件头
1 | #import "XMShareView.h" |
添加一个属性
1 | @property (nonatomic, strong) XMShareView *shareView; |
1 | if(!self.shareView){ |
AppDelegate
类中实现两个处理 URL 跳转的方法。1 | - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation |
特别提醒:(下方方法体内是示例代码,具体业务逻辑请具体实现)
WXApiDelegate
协议,然后实现以下方法:1 | - (void)onResp:(BaseResp *)resp |
AppDelegate
类中实现 QQApiInterfaceDelegate
协议,然后实现以下方法:1 | - (void)onResp:(QQBaseResp *)resp |
AppDelegate
类中实现 WeiboSDKDelegate
协议,然后实现以下方法:1 | - (void)didReceiveWeiboResponse:(WBBaseResponse *)response |
直接上代码:
1 | @interface Tray : NSObject <NSApplicationDelegate> { |
(转自Aufree’s Github)
这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的目前所处的位置.
该文档会持续更新, 同时也欢迎更多具有丰富经验的 iOS 开发者将自己的常用的一些工具, 学习资料, 学习心得等分享上来, 我将定期筛选合并, 文档尚有一些不完善之处, 也请不吝指出, 感谢您对 iOS 所做的贡献, 让我们一起把国内的 iOS 做得更好, 谢谢.
视频 | 简介 |
---|---|
Developing iOS 7 Apps for iPhone and iPad | 斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS SDK 的使用, 属于 iOS 基础视频 |
iPad and iPhone Application Development | 该课程的讲师 Paul Hegarty 是斯坦福大学软件工程学教授, 视频内容讲解得深入, 权威, 深受好评 |
Advanced iPhone Development - Fall 2010 | iOS 开发的进阶课程, 开始涉及到 Core Animation, Core Data, OpenGL 等框架的应用 |
iOS Dev Center | 苹果官方提供的 iOS 学习视频 |
Lynda | Lynda 上面 iOS 和 Objective-C 的学习资料比较多, 从初级到高级的都有, 覆盖面比较广, 无论 iOS 走到哪个层次, 都可以在上面挑到适合自己的课程 |
Code School | CodeSchool 上面的 iOS 不多, 不过质量都不错, 一些课程也挺有趣的 |
Udemy | Udemy 帮助初学者规划了视频学习路线, 从新手到高级分的比较详细 |
Developing iOS 8 Apps with Swift | 斯坦福白胡子老爷爷最新的 iOS8 和 Swift 课程, 现在 GitHub 上面也有人在翻译 |
视频 | 简介 |
---|---|
iOS 7 应用开发 | 斯坦福白胡子老爷爷的系列视频, 所有视频皆完成翻译, 视频较新, 翻译质量也很高 |
iPhone 开发教程 2010 年冬 | 全部视频翻译完毕, 较为深入的讲解 iPhone 开发, 视频适合给有一定 Objective-C 基础的人观看 |
使用 Swift 开发 iOS8 App 实战 | 慕课网的视频, 主要讲 Swift 的一些基本使用, 并在讲解的过程中做了几个小 APP, 最后还讲了 Sketch 制作分享按钮 |
征战 Objective-C | 视频还未完结, 讲了一些 C 和 Objective-C 的基本语法, 适合零基础的人观看 |
Developing iOS 8 Apps with Swift | GitHub 上正在翻译的斯坦福最新的 iOS8 课程, 目前正在翻译, 未完结 |
书籍名称 | 推荐理由 |
---|---|
Objective-C Programming | 内容不多, 却都是精华, 有了一点 C 语言基础可以快速阅读此书, 大概一天时间就可以看完, 看完后对 iOS 开发能够有个基本的印象, 该书的官方论坛有各个章节习题的解答. |
iOS Programming | 这本书在 Quora 上被评为 iOS 入门最佳书籍, 具体评价可见豆瓣下方该书籍的评论 |
Cocoa Design Patterns | 适合打算深入了解 Cocoa 的人看 |
Learn Objective-C | 短小精练, 适合有编程基础的人在半小时内对 Objective-C 有个一定了解 |
Programming with Objective-C | 看完 Learn Objective-C 可以接着看这个官方对 Objective-C 更为深入的介绍 |
Objective-C 基础教程 | 该书作者 Scott Knaster 是 Mac 开发界的传奇人物, 目前在 Google 出过多数书籍都广受许多程序员好评, 此书适合从初级跳到中级的 iOS 开发者阅读 |
iOS 开发进阶 | 该书作者唐巧是国内 iOS 开发界的名人, 曾参与多个知名软件的开发, 目前该书尚在预售中, 书本内容由浅入深, 将读者一步一步引入到 iOS 中去, 同样适合初级跳到中级的 iOS 开发者阅读 |
Programming in Objective-C | 这本书在亚马逊上面深受欢迎, 有关 Objective-C 的东西讲得非常详细 |
iOS 测试指南 | 该书作者是豆瓣的员工, 书中写的多数内容都是作者在平时的工作实践当中提炼出来的测试经验, 重点讲述了各个测试阶段的具体实践方法, 并且通过持续集成串联了各个测试阶段的活动。 |
Objective-C 编程之道 | 解析 iOS 的开山之作, 详细介绍了 MVC 在 Cocoa Touch 上的运作过程, 该书适用于 iOS 中级开发者阅读 |
Objective-C 高级编程 | 本书主要介绍 iOS 与 OS X 多线程和内存管理, 深入破析了苹果官方公布的源代码, 告诉你一些苹果公司官方文档中不会出现的知识, 适合中级以上 iOS 开发人员阅读 |
Effective Objective C 2.0 | 书里写了编写高质量 iOS 与 OS X 代码的 52 个有效方法, 适合 iOS 开发的进阶使用 |
Swift Fundamentals | 估计将来这本书会成为 Swift 的经典入门书籍, 它的 Stars 数说明了一切 |
The Swift Programming Language 中文版 | 90 后开发者梁杰组织翻译的 Swift 编程语言中文版 |
博客地址 | 博主信息 |
---|---|
OneV’s Den | 王巍(喵神), 现居日本, 就职于 LINE, 知名 iOS 开发者, 写的文章大多深入浅出, 内容广泛, 目前在维护的 Swifter 也值得收藏 |
唐巧的技术博客 | 唐巧, 国内知名 iOS 开发者, 现就职于猿题库, 博客推出的 iOS 移动开发周报很受欢迎, 更新频繁 |
txx’s blog | 90 后 iOS 开发者, 人称虾神, 文章内容讲解大多浅白易懂, 很值得看 |
破船之家 | 博主也是 iOS 大神一个, 经常更新一些 iOS 教程, 文章的质量都很高, 非常值得看 |
NSHipster | NSHipster 的中文网站, 主要对 NSHipster 的英文网站进行翻译, 博文出自 Mattt 大神之手, 文章大都写得很深入, 详细, 每周一更 |
Limboy 无网不剩 | 李忠, 知乎前员工, 目前在负责花瓣 iOS 开发, 不少文章里面有介绍博主个人的学习方法, 让读者在学到技术的同时也掌握学习的技巧 |
念茜的博客 | iOS 圈的女神人物, 写的关于安全问题的文章都值得一看, 由于新博客刚开通不久, 目前文章较少, 可以去看下她以前的博客 |
iOS技术周报 | 吴发伟, 天猫资深软件开发工程师, iOS 技术周报每周一更, 推送一些 iOS 技巧, 代码库, 设计等资讯. |
iWangKe.me | 王轲, IndieBros Studio 创始人, 优秀的 iOS 开发工程师, 写的文章深入浅出, 很多问题分析透彻, 非常有条理性 |
叶孤城 | 叶孤城, 优秀 iOS 开发工程师, 发表的文章都有很多干货, 对源码解析类文章写得浅显易懂, 并时常总结一些 iOS 开发技巧, 值得一读 |
Kevin Blog | 周楷雯, 秒视创始人, 知名 iOS 工程师, 做出了 PNChart 和 Waver 这样的好项目, 在博客中也有谈到具体的实现过程 |
IMTX | 图拉鼎, 知名 Apple 平台开发者, 曾经的 Ubuntu 平台开发者, 文章有不少干货, 大多讲解技术实现和学习经验 |
更多 | 唐巧收集的中文 iOS/Mac 开发博客列表, 更新频繁, 值得收藏 |
标题 | 内容简介 |
---|---|
Learn Objective C: The Path to iPhone Development | Udemy 写的文章, 说明了一些学习 Objective-C 的前提条件, Objective-C 的发展历史, 学习方法以及学习资源 |
I Want to Write iOS Apps. Where Do I Start? | 主要对 iOS 的开发环境进行了介绍, 并且涉及到了 Swift 的学习, iOS 上架的注意事项, iOS 的设计, 测试, 代码托管等, 讲解较为广泛, 同时也给出不少学习资源 |
How to become a professional iOS developer | 文章写的很有条理, 文中多次强调了版本控制系统的重要性, 主要内容是对学习 iOS 开发到就职, 给出了自己的建议 |
Learning iOS Programming | 作者总结了一些自己学习 iOS 的血的教训, 最后给出了一些不错学习建议 |
Become an iOS Developer | 作者列举了一些学习 iOS 的方法以及常用的库, 以及自学 iOS 的一些建议 |
iOS 开发如何提高 | 唐巧写的一篇文章, 主要是对 iOS 技术的提高做的一个总结, 文中不少资源, 工具, 学习方法 |
自学 iOS 开发的一些经验 | 文章从入门到进阶到高级, 分为三个阶段, 有条理的讲出了 iOS 的整个学习过程中开发者可能遇到的问题, 并给出了解决办法, 奉献了不少好工具, 资源还有珍贵的学习经验 |
如何从 0 开始学 iOS 开发 | 作者给出了学习 iOS 的流程, 并给出一些不错的学习资源 |
如果我可以重新学习 iOS 开发 | 作者在文中给出了学习的一些建议, 也谈到了自己的学习方法 |
iOS 开发学习路径的一些建议 | 文中谈到了英语的重要性, 以及写博客, 看源代码的好处 |
iOS 开发入门 | 作者分享了自己学习 iOS 的经验和资源 |
Mac 和 iOS 开发资源汇总 | 破船之家发布的资源汇总 |
CocoaPods 使用教程 | 文章讲解了 CocoaPods 的基本使用, 并且配上 AFNetworking 做出了一个小 Demo, 值得一看 |
iOS 开发路线简述 | 作者简单介绍了一下自己 iOS 开发的感受,也是他学习 iOS 开发的一个体系架构。 |
网站 | 简介 |
---|---|
tutsplus | 不定时更新一些 iOS 教程 |
WWDC | 苹果官方每年一度的 WWDC 视频, 可以了解历年有关 iOS 发布的内容 |
ASCIIwwdc | WWDC 的文字版 |
Awesome Swift | 该网站收集了很多关于 Swift 的学习资料, 新闻 |
Appcoda | 经常发布一些 iOS 编程教程, 更新比较频繁, 想了解更多可以查看该网站的 About 界面 |
NSHipster | NSHipster is a journal of the overlooked bits in Objective-C, Swift, and Cocoa. Updated weekly. |
Think and Build | Some tutorials about Core Graphic and Core Animation. |
Tutorials | 大把的 Objective-C, Swift, iOS 教程, 且全部免费, Raywenderlich 真是业界良心, 赞! |
社区 | 简介 |
---|---|
CocoaChina | 全球最大苹果开发者中文社区 |
code4app | 经常更新一些很不错的 iOS 代码片段和一些 iOS 资源 |
objc | 定期发布一些有关 Objective-C 的高质量的文章 |
objc中国 | 喵神组织的对 objc.io 的翻译网站, 旨在推进国内技术圈整体水平, 翻译质量非常高 |
DevDiv | 发布一些 iOS 的最新资讯及教程 |
Cocos2d-x | Cocos2d-x 论坛 |
iPhone Dev SDK | 国外较有名的 iOS 开发者论坛 |
Learn Cocoa and iOS Development Forum | Learn Cocoa on the Mac 和 Beginning iOS 7 Development 这两本书籍的官方论坛, 用户活跃度较高 |
Apple Developer Forums | 苹果官方的开发者论坛 |
Swiftist | Swift 中文社区 |
工具/插件 | 简介 |
---|---|
CocoaPods | 开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具, 本身是 Ruby 的一个 Gem, 极大的简化了 Objective-C 的开发流程 |
Alcatraz | Alcatraz 是一款管理 Xcode 插件、模版以及颜色配置的工具 |
XcodeColors | 使 Xcode 调试控制台色彩更丰富 |
xctool | Facebook 开源的一个 iOS 编译和测试的工具 |
XToDo | 一款注释辅助插件,主要用于收集并列出项目中的TODO , FIXME , ??? , !!! |
KSImageNamed-Xcode | 自动补全图片命名的一款插件 |
VVDocumenter | 一个自动生成代码注释的工具 |
ImageOptim | 用于压缩图片一款工具 |
fastlane | 开发流程工具,将开发过程流程化,极大提高开发效率 |
iOS 必备的 75 个工具 | 其中包含了非常多好用的工具, 涉及到设计, 分析, 部署等, 总结的十分详细, 有中文翻译 |
更多 | 唐巧总结的一些图形应用工具, 命令行工具, Xcode 插件, 并介绍了一点基础的用法 |
网址 | 简介 |
---|---|
App Store Review Guidelines | iOS 应用商店审核指南, 有中文翻译版 |
Swift 语言指南 | 有很多丰富的 Swift 学习资料, 学习 Swift 有这份资料可以省下很多力气 |
苹果 Xcode 帮助文档阅读指南 | Tinyfool 推出的一篇对于帮助新手阅读官方文档的指南 |
Get started with your iOS developer pragram | 苹果写的一篇入门指南, 粗略讲解了 iOS 程序从开发到上架的整个流程 |
Teamtreehouse | 文章主要讲解 Objective-C 的一些语法, 文章内容有趣且通俗易懂 |
A map for iOS development | 一张 iOS 开发地图, 做得很赞, 看完对 iOS 开发流程有一定的认知 |
Start Developing iOS Apps Today | 苹果官方给出的 iOS 入门教程, 看过之后能够做一个 To-Do 小程序 |
Ry’s Objective-C Tutorial | 讲解 Objective-C 的教程, 图文并茂, 适合新手阅读 |
Objective-C Style Guide | Ray Wenderlich 推出的 Objective-C 风格指南 |
iOS8 Day-by-Day | 每日一个 iOS8 的小教程, 所以的 DEMO 都可以在其 GitHub 上面的找到相关代码 |
点击该链接查看该项目的所有贡献者
以上内容采用 CC BY-NC-SA 3.0 进行许可, 转载请注明出处, 版权归本人及所有贡献者所有
(转自Aufree’s Github)
主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况.
若有任何疑问可通过微博@李锦发联系我
项目名称 | 项目信息 |
---|
.xcdatamodel
文件, 可以为每个 entity 生成两个类, 方便 CoreData 的使用春上三月,在深圳给远在信阳的妈妈打电话,问她在家里一个人的生活如何,她说这两天嘎哒死了夜晚的哀乐声让她不敢睡。
哦,嘎哒?好熟悉的名字,仔细想想,脑子里立马出现十几年前,在那个初夏春末的风吹的季节,油菜花满世界的田野,毫不燥热的上午,我和几个小伙伴,我们都热爱拿着一个喝完的和现在的啤酒瓶子一样的健力宝瓶子再加根稻草或者小树棍,寻找各种红砖垒的墙或土坯墙上的洞洞,把瓶口对准洞洞,用稻草或者小棍去捅,如果里面有蜜蜂就会被捅出来,然后钻到瓶子里,然后赶紧用纸盖住瓶口,接下来就可以悠闲的聆听瓶子里蜜蜂发出的嗡嗡的声音,那是初夏的声音,那是整个夏天。当然如果你技术够高强,你可以捅很多的洞,装很多的蜜蜂,听很多的嗡嗡。
某个普通的上午,照例和小伙伴们去捅蜜蜂,我们来到遍是油菜花的田畈,仿佛到了油菜花的中心地盘,我们看到一个土坯房,蜜蜂的最爱之地,当时感觉这是一个世外桃源,神奇的地方。走后才知,这里的主人一样有个神奇的名字:嘎哒。
嘎(二声)哒(一声)是我给他配音的名字,他的真实姓名我无从而知,我甚至没能见过他一面,他可能是一个普通的乡下老头,斑白的头发肆意凌乱的长着,棕黑的皮肤上有些许老年斑,微微驼起的后背外面套着永远发白的蓝色中山式装,喜欢背着一双手,慢悠悠的转田畈,有儿有女,也有个可爱的孙子孙女,他们总会奶声奶气的让爷爷买零食,经常会被媳妇暗地里骂,但在家不太受待见,索性搬到田畈住顺便养了点鸡鸭,老伴过世有一阵子了,偶尔梦里还会见上一面,一辈子没出过省,年轻时的记忆和梦想早就着汗水埋葬在俯朝着几十年的田沟,最大的梦想是能家庭美满,没事吃点小肉,喝点街上灌的二锅头,死后能有副好棺材就不错了。
嘎哒死了,也许已经见着老伴了,老伴紧篡着他的手,说 老伴可等到你了,嘎哒咧嘴一笑,漏出一嘴的因吸劣质烟而导致的黄牙。
嘎哒死了,这个与我生命只相交了一个点的人,大概以后也会偶尔回到油菜花的中心,背着手转转吧。
这篇文章写给嘎哒,因为他给了少年一个迷离的奇幻世界,也写给这个少年的少年梦,因为它也消逝了。
over
此为初稿,未做修订。
写这篇文章时,我在单曲这个:
讃歌~種山が原へ
2013年12月01,上海昆山WCG赛场。
当Moon被蛋总一波rush下来,心都碎了。
月魔最后还是与冠军失之交臂,WCG永远欠他一个冠军。
同时,本届也是War3最后一次出现在WCG的舞台上:历经十余载的War3从WCG谢幕了!
犹记得2003,Grubby与Inso的决战,伴随着稻草芭比的嗲音。
犹记得2004,Grubby封神。
犹记得2005,2006,Sky让五星红旗飘扬在WCG的舞台上。
犹记得2007,Sky与三冠王错过,泪撒WCG赛场。
犹记得2008,木瓜的巅峰之战,月魔离冠军那么近。
犹记得2009,Infi和Fly的兽人大战,Infi向世人证明自己不是塔魔。
犹记得2010,肉馒头摇断国旗。
犹记得2011,打鬼队长Lyn第一次登顶。
犹记得2012,Ted抚慰了多少UDer的心。
而今2013,蛋总的夺冠代表着中国三大人族都已问鼎WCG。
WAR3长河,多少英雄好汉,如商周,如三国,如隋唐。
中国的CQ2000,guangmo,lyc,xiaoT,magicYang,suho,Like,Sky,Ted,Infi,Th000,Yumi,Fly,Kenshin,Future,Una,Wulin,WFZ,Yumi
国外的MadFrog,Inso,Tod,Kua,AKM,Rainbow,Shortround,Showtime,apm70,Grubby,Moon,Happy,Check,Who,Soccer,Remind,Lyn,Zacard,Sweet,GoStop,Fov,Lucifer,Sarse?Suria?wise_xy,Focus,Space,Nicker,Hawk?Lucifon。
…..
太多太多,每一个都曾是响当当的汉子。
如今,就让他们都成功历史吧!
gg,hf!
最近遇到一个问题:
须要在20万号段数据中查找对应的地市,并且这个过程是发生在遍历几百万数据中的。也就是说正常情况下须要执行20万*几百万次。
这个时间太久了,且因为号段是长数字,执行起来速度超慢。
后来突然想到可以用二分法。
下面两个例子就是二分法的示例,一个是递归,一个是循环。
java二分法循环示例
1 | package cn.sunzn.dichotomy; |
java二分法递归示例
1 | /** |
后记:算法无穷妙,看来得好好学习下算法。