calibre一站式电子书解决方案

Calibre,是一个免费的开源的“一站式”的电子书解决方案,它可以全面满足你的电子书需求。Calibre 是免费的,源代码开放,拥有跨平台的设计。它是一个完整的电子图书馆,包括图书管理,格式转换,新闻,将材料转换为电子书,以及电子书阅读器同步功能、整合进电子图书阅读器。当然它也内置了一个 ePub 格式电子书编辑工具以满足修改电子书的需要。

远程操作mysql数据库

腾讯云服务器

  1. 申请账户,体验5天,搭建一个jira服务,还有微信小程序服务

  2. 需要在服务器上安装docker (腾讯服务器提供了一款支持docker的Ubuntu系统)

iOS和OSX集成gitAPI

在项目中使用git submodule工具集成子项目ObjectiveGit

在新项目中使用git submodule集成gitAPI

参考官方提供的两个demo

SubModule与SubTree的差异

核心区别

git submodule类似于引用,而git subtree类似于拷贝,比如你在一篇博客中想用到你另一篇博客的内容,git submodule是使用那篇博客的链接,而git subtree则是将内容完全copy过来。

开发思想模式总结

OOP面向对象编程:1. 封装,2,继承,3. 多态 五大原则: SRP单一职责原则:一个类的功能要单一,表现突出的VIPER模式 OCP开放封闭原则:模块扩展性为开放的,模块更改性则为封闭的。 LSP替换原则, DIP依赖原则, ISP接口分离原则:模块间的功能通过抽象接口隔离

Xcode8插件制作替代Alcatraz

背景

  1. Xcode7插件工具Alcatraz 开发者可以在Xcode运行的时候通过注入代码去实现插件的功能。插件可以在一个Alcatraz这个优秀的APP上面提交和分发。 以往Xcode插件开发在没有官方支持的情况下,提供了Xcode-Plugin-Template和各种dump好的头文件,我们仍然需要在没有文档的情况下做各种猜测和hook。关于插件的开发,可以看看这篇文章
  2. Xcode8编辑源码的插件Xcode source editor extensions Xcode 8验证每个库和包,以防止恶意代码未经您的许可运行。苹果公司在今年的WWDC上宣布了可以通过开发Xcode source editor extensions来扩展以下三个功能:
  • Add commands to the source editor // 给Xcode的代码编辑器扩展一些命令(在Editor菜单下增加额外的菜单)
  • Edit text //通过这些命令对源代码进行编辑
  • Change selections //对选中文本的编辑功能

源码编辑器插件

添加命令菜单

通过Info.plist中添加菜单

打开Info.plist,展开NSExtensionXCSourceEditorCommandDefinitions,命令菜单的定义如下:

从UIKit到AppKit

不同点

NSWindowController

Mac上应用都支持多窗口(NSWindowController),AppKit 中都有 NSWindowController担当着类似在iOS中的view controller处理的任务。

RxSwift基本概念

FRP函数式反应型编程

Functional Reactive Programming , 缩写为 FRP

函数编程

函数是第一等公民

所谓 第一等公民 (first class) ,指的是函数与其他数据类型一样,处于平等地位。既可以赋值给其他变量,也可以作为参数传入另一个函数,或者作为别的函数的返回值。 将数组通过指定的函数映射成另一个数组,例如将increment函数作为参数传入数组的map函数: {% codeblock lang:swift %} let increment = { return $0 + 1 } [1,2,3].map(increment) // [2,3,4] {% endcodeblock %}

互动性的教学工具XCPlayground

Playground 展示语法和实时执行真实数据的特性,为编写方法和库接口提供了很好的机会,通过实时编译我们能了解语法、写出例子以及获得方法如何使用的说明,所有这些就如一个活的文档展示在眼前。

使用Cocoapods创建私有podspec

创建一个版本库来托管pod索引:pod repo add命令

第一步:在github登录个人账号,创建一个库作为pod索引托管库。也可根据具体情况可以选择:githubCODING开源中国Bitbucket以及CSDN等,代码托管平台。 当索引库托管在github私有的仓库时,如果有其他同事共同开发维护,则需要配置Git仓库的权限。 第二步:pod化版本库,使其专门用户管理个人的*podspec索引文件 {% codeblock repo add命令 lang:ruby %}