Cocoa 中网络编程层次结构分为三层,自上而下分别是: Cocoa 层:NSURL,Bonjour,Game Kit,WebKit Core Foundation 层:基于 C 的 CFNetwork 和 CFNetServices OS 层:基于 C 的 BSD socket 这里主要介绍处于 Cocoa 层的基于 NSURL 的一系列方法。在 iOS7 之前,主要使用的网络编程 API 是
现在 (Nutz-1.b.38) 之后的版本,源码的即时更新都会在 Github 上进行。当然,我们 也会在其他平台上比如 Git@OSC 也有托管,但是,我们还是得说, Nutz 最鲜活的更新,只有从 Github 上才能看的到哦。 如何使用 Git,什么是 Git ? 如果你问出上面的问题,建议你 Google 一下,基本上各种介绍满天飞,如果你想尝试装个玩玩,我觉得 这篇文章 还不错。 如果
A collection of HTML head elements. Recommended Minimum Below are the essential tags for basic, minimalist websites: <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta
我不会告诉你有关后台任务的单元测试的任何内容,因为Hangfire没有添加任何特定方法 (除了 IJobCancellationToken 接口参数)去改变任务。使用您最喜爱的工具,并照常写入单元测试。本节介绍如何测试创建的后台任务。 所有的代码示例都使用静态 BackgroundJob 类来告诉你如何做这个或那些东西,只是出于简单演示的目的。但是当你想测试调用的静态方法时,会变得很痛苦。 不用担
概述 JavaScript 层层回调的异步编程让人望而生畏。而 Promise 的诞生就是为了解决这个问题,它提供了一种 Future 模式,大大简化了异步编程的复杂性。而 Promise/A+(中文版)是一个通用的、标准化的规范,它提供了一个可互操作的 then 方法的实现定义。Promise/A+ 规范的实现有很多,它们的共同点就是都有一个标准的 then 方法,而其它的 API 则各不相同。
虽然 Glide 内置了大部分常用模型(URL, Uri, 文件路径等)的支持,你还是可能偶尔会遇到一种 Glide 不支持的类型。你也可能会遇到需要定制或调整 Glide 默认行为的情况。你甚至可能会想要集成一种新的拉取图片的方法,或更换 Glide 目前支持的 集成库 之外的网络库。 好在 Glide 是可扩展的。要添加对一种新的模型(Model)类型的支持,你需要按照以下步骤来执行: 实现一
MinDoc 使用的Markdown编辑器是基于 editor.md 改造而来,大部分功能都和原版保持一致。常用的快捷键如下: Keyboard shortcuts (键盘快捷键) 说明 Description F9 切换实时预览 Switch watch/unwatch F10 全屏HTML预览(按 Shift + ESC 退出) Full preview HTML (Press Shift +
前面介绍了 beego 的一些基础信息,如果你想通过 beego 使用更多高级的功能,那么这里就是你需要的资料。 进程内监控 beego 默认会开启两个端口,一个是 8080 应用端口,对外服务,一个是 8088 端口,用于监控进程内的信息,执行定时任务等。 过滤器 过滤器极大的方便了用户对业务逻辑的扩充,用户可以通过过滤器实现用户认证,访问日志记录、兼容性跳转等。 热升级 热升级是业务开发中经常
nodejs的出现,可以算是前端里程碑式的一个事件,它让前端攻城狮们摆脱了浏览器的束缚,踏上了一个更加宽广的舞台。前端的可能性,从此更加具有想象空间。 随着一系列基于nodes的应用/工具的出现,工作中与nodejs打交道的机会越来越多。无论在node应用的开发,还是使用中,包管理都扮演着一个很重要的作用。NPM(node package manager),作为node的包管理工具,极大地便利了我
Aspect Oriented Programming (AOP,面向切面编程) 在 Objective-C 社区内没有那么有名,但是 AOP 在运行时可以有巨大威力。 但是因为没有事实上的标准,Apple 也没有开箱即用的提供,也显得不重要,开发者都不怎么考虑它。 引用 Aspect Oriented Programming 维基页面: An aspect can alter the behav
编程的抽象 我们将问题空间中的元素以及它们在方案空间的表示物称作“对象”(Object)。当然,还有一些在问题空间没有对应体的其他对象。通过添加新的对象类型,程序可进行灵活的调整,以便与特定的问题配合。与现实世界的“对象”或者“物体”相比,编程“对 象”与它们也存在共通的地方:它们都有自己的状态(state)和行为(behavior)。比如,狗的状态有名字、颜色等,狗的行为有叫唤、摇尾等。 软件世
配置选项 要做到最大限度的定制每一个软件包,获取完整的配置选项是必须的。当然,要想更加详细、全面的了解如何自定义安装,还需要查看 README INSTALL FAQ 之类的文档,甚至是软件包的官方手册。需要注意的是,有不少软件包的配置选项分布在多个 configure 脚本中,还有少数并不是通过 configure 脚本进行配置的,查看完整的配置信息就变成一件很吃力的事情了。因此唯一的建议就是:
本章主题 ♦ Python的Web应用:简单的Web客户端 ♦ urlparse和urllib模块 ♦ 高级的Web客户端 ♦ 网络爬虫/蜘蛛/机器人 ♦ CGI:帮助Web服务器处理客户端数据 ♦ 创建CGI应用程序 ♦ 在CGI中使用Unicode ♦ 高级CGI ♦ 创建Web服务器 ♦ 相关模块 20.1 介绍 本章是有关Web编程的介绍,可以帮助你对Python在因特网上的各种基础应用有
本文档说明如何在kali linux上配置ARM交叉编译环境,是我们多份关于”定制ARM镜像”的文档的起点. 开发机的配置 编译内核生成镜象通常需要大量硬盘空间.确保你的开发机至少有50G可用硬盘空间以及足够的内存,CPU不要太差. 安装依赖 先安装ARM交叉编译所需的依赖. apt-get install git-core gnupg flex bison gperf libesd0-dev b
Cocos Creator 提供了一系列方法来让用户定制和扩展编辑器的功能。这些扩展以包(package)的形式进行加载。用户通过将自己或第三方开发的扩展包安装到正确的路径进行扩展的加载,根据扩展功能的不同,有时可能会要求用户手动刷新窗口或者重新启动编辑器来完成扩展包的初始化。 Cocos Creator 的扩展包沿用了 Node.js 社区的包设计方式,通过 package.json 描述文件来