ReactiveCocoa学习

发布时间:2017-12-25 移动开发 测试 SWIFT

到我写这篇文章为止,ReactiveCocoa版本为5.0.1,搜了很多博客来了解ReactiveCocoa的基础用法,并不是很多,所以这篇文章算是自己对搜索资源的一个汇总,并加入一些自己在学习中遇到的问题和解决.

RAC 5.0 相比于 4.0 有了巨大的变化,不仅是受 swift 3.0 大升级的影响,RAC 对自身项目结构的也进行了大幅度的调整。这个调整就是将 RAC 拆分为四个库:ReactiveCocoa, ReactiveSwift, ReactiveObjC, ReactiveObjCBridge.

在项目里现在到底要引入哪些

如果你的项目是纯 OC 项目,你需要使用的是 ReactiveObjC 。这个库里面包含原来 RAC 2 的全部代码。 如果你只是纯 swift 项目,你继续使用ReactiveCocoa 。但是 RAC 依赖于 ReactiveSwift ,等于你引入了两个库。 如果你的项目是 swift 和 OC 混编,你需要同时引用 ReactiveCocoa 和 ReactiveObjCBridge 。但是 ReactiveObjCBridge 依赖于 ReactiveObjC ,所以你就等于引入了 4 个库。

ReactiveCocoa 试图解决什么问题

  1. 传统 iOS 开发过程中,状态以及状态之间依赖过多的问题
  2. 传统 MVC 架构的问题:Controller 比较复杂,可测试性差
  3. 提供统一的消息传递机制
传统 iOS 开发过程中,状态以及状态之间依赖过多的问题

我们在开发 iOS 应用时,一个界面元素的状态很可能受多个其它界面元素或后台状态的影响。 例如,在用户帐户的登录界面,通常会有 2 个输入框(分别输入帐号和密码)和一个登录按钮。如果我们要加入一个限制条件:当用户输入完帐号和密码,并且登录的网络请求还未发出时,确定按钮才可以点击。通常情况下,我们需要监听这两个输入框的状态变化以及登录的网络请求状态,然后修改另一个控件的enabled状态。 RAC 通过引入信号(Signal)的概念,来代替传统 iOS 开发中对于控件状态变化检查的代理(delegate)模式或 target-action 模式。因为 RAC 的信号是可以组合(combine)的,所以可以轻松地构造出另一个新的信号出来,然后将按钮的enabled状态与新的信号绑定。

RAC(self.loginBtn,enabled) = [RACSignal combineLatest:@[self.nameTF.rac_textSignal,
                                                        self.passwordTF.rac_textSignal
                                                        ]
                                                reduce:^(NSString *nameSignal,NSString *pwdSignal){
                                                            return @(nameSignal.length>=0 && pwdSignal.length>=0);
                                                        }];
复制代码

简单的解释一下代码: 这是将loginBtn的enable属性和帐号和密码两个输入框绑定,当两个输入框的文本都不为空的时候,loginBtn才可以点击. 注意一点,reduce后面的block并不会自动生成所有的返回值,需要根据自己在前面绑定的几个信号自己补全,然后直到这部分代码完全写完中间可能一直在报错,不要理他.从RAC的源码中可以看出来,前面绑定的信号不同后面的block返回值类型也是不同的.

统一消息传递机制

iOS 开发中有着各种消息传递机制,包括 KVO、Notification、delegation、block 以及 target-action 方式。各种消息传递机制使得开发者在做具体选择时感到困惑. 在引入 RAC 之后,以前散落在action-target或 KVO 的回调函数中的判断逻辑被统一到了一起.

// KVO
[RACObserve(self, username) subscribeNext:^(id x) {
    NSLog(@" 成员变量 username 被修改成了:%@", x);
}];
// target-action
self.button.rac_command = [[RACCommand alloc] initWithSignalBlock:^RACSignal *(id input) {
    NSLog(@" 按钮被点击 ");
    return [RACSignal empty];
}];
// Notification
[[[NSNotificationCenter defaultCenter] 
    rac_addObserverForName:UIKeyboardDidChangeFrameNotification         
                    object:nil] 
    subscribeNext:^(id x) {
        NSLog(@" 键盘 Frame 改变 ");
    }
];
// Delegate
[[self rac_signalForSelector:@selector(viewWillAppear:)] subscribeNext:^(id x) {
    debugLog(@"viewWillAppear 方法被调用 %@", x);
}];
复制代码

基础用法理解参考下面这篇文章吧,是翻译过来的,写得很棒,例子层层深入,慢慢读,就理解RAC的signal了.不过个人感觉想要深入了解,还是得自己多用. ReactiveCocoa入门教程——第一部

试图解决 MVC 框架的问题

对于传统的 Model-View-Controller 的框架,Controller 很容易变得比较庞大和复杂。由于 Controller 承担了 Model 和 View 之间的桥梁作用,所以 Controller 常常与对应的 View 和 Model 的耦合度非常高,这同时也造成对其做单元测试非常不容易,对 iOS 工程的单元测试大多都只在一些工具类或与界面无关的逻辑类中进行。 RAC 的信号机制很容易将某一个 Model 变量的变化与界面关联,所以非常容易应用 Model-View-ViewModel 框架。通过引入 ViewModel 层,然后用 RAC 将 ViewModel 与 View 关联,View 层的变化可以直接响应 ViewModel 层的变化,这使得 Controller 变得更加简单,由于 View 不再与 Model 绑定,也增加了 View 的可重用性。

MVVM 的作用和问题 MVVM 在实际使用中,确实能够使得 Model 层和 View 层解耦,但是如果你需要实现 MVVM 中的双向绑定的话,那么通常就需要引入更多复杂的框架来实现了。 对此,MVVM 的作者 John Gossman 的 批评 应该是最为中肯的。John Gossman 对 MVVM 的批评主要有两点:

第一点:数据绑定使得 Bug 很难被调试。你看到界面异常了,有可能是你 View 的代码有 Bug,也可能是 Model 的代码有问题。数据绑定使得一个位置的 Bug 被快速传递到别的位置,要定位原始出问题的地方就变得不那么容易了。 第二点:对于过大的项目,数据绑定需要花费更多的内存。

附: 之前在上家公司用过一个MBMvc的框架来帮助分层,很好用,不过我看了一下github上已经很久没有更新了,怀疑是不是有什么问题停更了呢, 大家有兴趣的可以了解一下这个框架.

摘自: 唐巧 : ReactiveCocoa - iOS开发的新框架

转载于:https://juejin.im/post/5a4091dd6fb9a0450809e2e6

更多相关推荐


201810-11网志

发布时间:2018-12-02 移动开发
上个月没有写网志,不知道为什么,总是会想要写,但是每一次坐在电脑面前就不想写了。这一次顺便把上个月的一起总结了,回忆回忆这两个月都发生了什么。生活最近生活感觉很甜,因为遇到了她。她给我一种不一样的感觉,大胆,隐忍,善良,会体贴人。虽然是哥们给我介绍的他的发小,可是我总感觉她是大风刮来的。在认识的2个月里,发现我们两个也在彼此慢慢的了解,认识彼此。就是有一点我最接受不了,她在西安,我在天津。其实真的...

太准了!!你与他(她)的关系是……?

发布时间:2005-03-03 测试 网海拾贝
计算的方法很简单,将你们姓名笔划的总数作比较,以大的数字减小的,例如:大雄想知道自己和叮当的关系是什,要将自己名字的笔划(共15划)和叮当名字的笔划(共21划)相减(即21-15),得出的数字是6,「帮你的人」。十分准确啊!快来试试吧!(算了一下璩美凤(40)和曾仲铭(32)的关系居然是8,真是超准!!)  看了必须回贴,否则实际结果将与测试相反!!!!!!!!!  差值对照表:  0亲密无间  ...

Objective-c中介者模式

发布时间:2013-01-13 移动开发 设计模式
一、问题    先前在做项目时,遇到了这样一个问题:视图数量多,并且各视图之间的联系紧密(见图1.1)。这样的话,如果继续使用最基本的视图迁移方式来管理视图,就会造成视图之间联系过于紧密,关系过于复杂。最终会导致整个项目模块之间的紧耦合,牵一发而动全身,一旦某个模块更改,可能就会导致其他模块都出问题。另一方面,这也会导致很多相同功能的视图无法复用,同一个项目具有相同功能的视图,你要建几个。很显然,...

Android开发学习总结(五)——Android应用目录结构分析

发布时间:2019-09-17 移动开发 JAVA 运维
一、手动创建android项目  手动创建一个Android项目,命名为HelloWorld,命令如下:androidcreateproject-nHelloWorld-t1-pE:/Android/workspace/Helloworld-kme.gacl.helloworld-aHelloworld  上面的命令中,-n指定项目的名称,-t指定android平台,-p指定项目存放路径,-k指定...

Android调用WebService

发布时间:2016-08-05 移动开发 JAVA JSON
Android调用WebService示例代码如下(转):1packagecom.example.wsapp;2345importjava.io.IOException;6importjava.util.ArrayList;7importjava.util.List;89importorg.json.JSONArray;10importorg.json.JSONObject;11importorg...

【Python+Appium】开展自动化测试(四)使用weditor进行元素定位

     目录前言一,weditor的安装与使用二,遇到的问题结语前言上一篇我们讲到了如何通过编写一个简单的Python脚本完成了登录app的操作,如何断言,如何编写一条完整的用例。那么今天继续我们的自动化测试第四天,使用weditor进行元素定位,具体如何操作的我们往下看看吧。一,weditor的安装与使用首选需要在电脑上配置好Python环境下载安装命令如下,加上镜像下载速度更快:pipins...

Android自己定义控件--圆形进度条(中间有图diao)

发布时间:2017-08-13 移动开发
智能家居越来越流行,在智能家居中我们常要表现一些数据的百分比圆形度条中间加个图是一种很流行的自己定义View1.第一步你首先须要对类进行继承ViewpublicclassCircleProgressImageViewextendsView2.第二步要实现三个构造方法而且前面少參数的调用当前多參数的构造方法publicCircleProgressImageView(Contextcontext){t...

inux命令之dot - 绘制DOT语言脚本描述的图形

发布时间:2015-02-09 JAVA 测试 操作系统
本文链接:http://codingstandards.iteye.com/blog/840055  (转载请注明出处)用途说明Graphviz(GraphVisualizationSoftware的缩写)是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形。它也提供了供其它软件使用的库。Graphviz是一个自由软件,其授权为CommonPublicLicense。其...

Android Service的思考(1)

发布时间:2011-05-19 移动开发 JAVA
在Android框架中,Service是比较难以理解的一部分,傻蛋查阅了相关资料和经过一系列的代码测试,准备写一个系列文章,尝试着把Service由浅入深的梳理一遍,帮助大家更快的掌握AndroidService。首先我们先来看看怎么使用Service,然后再谈AndroidService的内部机制。在Android中Service的启动方式有两种,今天先发第一种。 Service的启动方式一:启...

android模拟器命令(二)

发布时间:2010-10-15 移动开发 运维 操作系统
 *  *emulator-netspeed14.480  要想在模拟器运行中动态改变网络传输速度,需要连接上控制台使用netspeed命令,后面跟合法的<speed>值。下表中列出了合法的<speed>值  *networkspeed14.480  <speed>值的格式为下面的一种(单位为kb/s):  值描述注释  gsmGSM/CSD(Up:14.4,d...

安卓开发-TouchMode

发布时间:2013-09-25 移动开发 UI
大多数Android设备都是触摸屏的,但是实际上Android设备也支持键盘操作,允许通过键盘来完成导航,点击,输入等。当用户通过键盘(或者轨迹球)操作的时候,有必要聚焦当前接受输入的UI元素,例如,高亮(聚焦)某个按钮,让用户知道当前正在操作的UI元素是哪个。但是,当用户使用触摸屏与设备交互的时候,始终聚焦当前UI元素就没有必要了,而且很丑陋;用户点击哪个元素,哪个元素就是当前元素,无需高亮标识...

Android手势缩放图片以及图片黏贴在手指随手势移动

发布时间:2015-02-27 移动开发 JAVA
一个Android手势缩放图片的工具类;同时,此类还实现另外一个功能:当手指按在触屏上移动时候,图片“黏贴”在手指上随手指移动而整体移动。具体使用方法可以是这样:先new一个此类的实例,然后在ImageView的方法setOnTouchListener(newImageViewOnMultiTouchListener());例如:ImageViewOnMultiTouchListenerliste...

Android AIDL 简单实用

发布时间:2013-10-16 移动开发 JAVA 数据库
1什么是AIDL,AIDL是干嘛用的呢?  AIDL是一个内部进程间通信描述语言,于我来理解,它的定义形式是很固定,简单的 2AIDL在什么情况下使用?  举个例子,当你的AndroidAPP想调用第三方应用或者你自己写的服务进程,可以使用, 3怎么使用呢?    首先你要先定义好你的AIDL文件XXX.aidl,很简单,看文件的内容    Java代码  interface IAidlServi...

一个女研究生(高级测试工程师)的职业选择

发布时间:2008-12-06 测试 面试
原文:[url]http://www.cppblog.com/littlesupersun/archive/2007/09/05/31616.aspx[/url] 公司选择    终于下定决心要离开,我想去的是重视测试的外企或大公司。    我的逻辑很简单,测试在国内还未获得足够的重视,即使很多公司有测试,也是一些非常表层的测试,只有在规范的公司的测试才做得深入。在长达两个多月的面试和等待中,终于...

Android中LayoutInflater的使用

发布时间:2013-06-17 移动开发
在实际工作中,事先写好的布局文件往往不能满足我们的需求,有时会根据情况在代码中自定义控件,这就需要用到LayoutInflater。LayoutInflater在Android中是“扩展”的意思,作用类似于findViewById(),不同的是LayoutInflater是用来获得布局文件对象的,而findViewById()是用来获得具体控件的。LayoutInflater经常在BaseAdap...

分享两道阿里P7究极难度算法题,详细的Android学习指南

发布时间:2021-05-13 移动开发 ANDROID 程序员 面试
前言前不久,几个朋友聚会,谈到了现在的后辈,我就说起了那个大三就已经拿到网易offer的小学弟。这个学弟是00后,专升本进入我们学校的。进来后就非常努力,每次上课都是第一个到教室的,每次都是坐第一排,不是演,而是实实在在的非常认真的在听讲,也是班上为数不多的上课会额外带一个专门的笔记本的学生之一。半个月前,我看见他的空间上传了网易offer的照片,就私下和他交流了一下。他说,他们公司不远的地方就是...

Android Toolbar样式定制详解

发布时间:2017-12-06 移动开发 JAVA
前言MarterialDesign出来也有一段时间了,为了紧跟Google的设计规范,决定在项目中使用Toolbar。使用了一段时间之后,发现很多时候原始的Toolbar并不能满足项目的要求。为了适应项目多样化的需求,对Toolbar进行了深入的研究。Toolbar简介Toolbar使应用的标准工具栏,可以说是Actionbar的升级版。和Actionbar相比,Toolbar最明显的变化是自由,...

java的远程访问接口的实例

发布时间:2017-05-31 JAVA 测试 JSON
被别人远程调用和自己远程调用别人接口的理解:被别人调用接口:其实没有什么神秘的,就是我们写一个正常的方法提供一个访问路径。调用别人的接口:本质时一个Request请求,实际要使用到javax.net.*包里的URL/HttpURLConnection等相关的方法。简单的一个接口实例:我使用的框架是Springmvc被调用的接口方法:1/创建Response的工具类packagecom.gsww.s...

Web性能测试中的几个关键指标

发布时间:2016-05-05 测试 WEB
系统吞吐量吞吐量指单位时间内系统处理的请求数量,体现系统的整体处理能力。对于网站,可以用"请求数/秒"或是"页面数/秒"来衡量,也可以用"访问人数/天"或是"处理的业务数/小时"等来衡量。TPS(每秒事务数)是吞吐量的一个常用量化指标,此外还有HPS(每秒HTTP请求数)、QPS(每秒查询数)等。 系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间QPS(TPS):每秒钟request/事...

ARM汇编

发布时间:2010-10-30 汇编 语言 嵌入式 测试 编译器 编程
这两天参加了一个编写操作系统的项目,因为要做很多底层的东西,而且这个操作系统是嵌入式的,所以开始学习ARM汇编,发现ARM汇编和一般PC平台上的汇编有很多不同,但主要还是关键字和伪码上的,其编程思想还是相同的。现将一些学习感悟部分列出来,希望能给有问题的人一点帮助。   1、ARM汇编的格式:   在ARM汇编里,有些字符是用来标记行号的,这些字符要求顶格写;有些伪码是需要成对出现的,例如ENTR...

ASP.NET MVC 5 入门教程 (3) 路由route

发布时间:2015-01-05 测试
原文:ASP.NETMVC5入门教程(3)路由route文章来源:Slark.NET-博客园http://www.cnblogs.com/slark/p/mvc-5-get-started-route.html上一节:ASP.NETMVC5入门教程(2)控制器Controller下一节:ASP.NETMVC5入门教程(4)View和ViewBag源码下载:点我下载上一节我们讲了如何创建一个控制器,...

上官网学android之四(Supporting Different Devices)

发布时间:2014-02-21 移动开发 ANDROID 开发工具
官网地址http://developer.android.com/training/basics/supporting-devices/index.html 一、支持不同的语言和其它程序一样,通常为了支持多种语言,需要额外写一份资源文件。新建一个和values目录同级的values-zh的文件夹,将里面strings的值都写成中文比如,原来是这样<?xmlversion="1.0"encod...

android 开发之Action Bar 详解

发布时间:2014-11-08 移动开发
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);注意:如果你要使用应用图标来返回主页,要注意从Android4.0(API级别14)开始,必须通过调用setHomeButtonEnabled(true)方法确保这个图标能够作为一个操作项(在以前的版本,默认情况下,这个图标就能够作为一个操...

[踩坑日记]spring mvc

发布时间:2018-11-23 JAVA 测试 开发工具
找不到javax.servlet.ServletException的类文件IDEA开发,部署到本地的Tomcat,编译时出现错误。解决办法:引入jar包依赖:<dependency><groupId>javax</groupId><artifactId>javaee-api</artifactId><version>7.0&l...

[Android Pro] ScrollView使用fillViewport设置高度为MatchParent

发布时间:2016-11-09 移动开发
referenceto:http://blog.csdn.net/u012975705/article/details/49275001之前遇到一问题,就是当使用ScrollView时,ScrollView控件里的布局无法充满整个手机屏幕,通过阅读源码发现,ScrollView中有个mFillViewport属性:Whensettotrue,thescrollviewmeasureitschild...

关于swift里面xml数据的解析设置问题

发布时间:2014-10-14 XCODE THREAD 数据 XML SWIFT
在xcode6.0版本中解析xml数据时,默认会出现Thread错误,但在xcode6.1中运行正常。原因是因为以下的几个属性的设置问题:    parser.shouldProcessNamespaces=true    parser.shouldReportNamespacePrefixes=true    parser.shouldResolveExternalEntities=true...

BeagleBoard有货了

发布时间:2017-11-12 移动开发 PHP 嵌入式
BeagleBorad,作为国外流行的开发板,终于有货了,每次来货时间都需要等2,3个月,通常1,2天就卖完,要卖就感觉了。http://www.sparkfun.com/commerce/product_info.php?products_id=9444 BeagleBoard强劲的硬件Hardware:OMAP3530processor deliverslaptop-likeperforman...

C# Meta Programming - Let Your Code Generate Code - 利用反射重写自动的ToString()

发布时间:2019-06-27 测试
我们在写一些Model的时候,经常会重写ToString,为了在控制台中进行打印或者更好的单元测试。但是,如果Model的字段非常多的时候,如此简单的重复劳动经常会变成一件令人头痛的事情,因为大家都不想重复劳动,或者这种事情应该交给初级程序员或者毕业生去做。看如下:publicclassCustomer{publicstringFirstName{get;set;}publicstringLast...

Android——点击对话框上button不关闭对话框

发布时间:2017-04-26 移动开发
有时候我没可能须要在点击button进行一些检測。可是并不想关闭次对话框(系统默认点击不论什么一个button则关闭对话框),处理方法例如以下:在点击事件下加入例如以下代码:try  {  Field field = dialog.getClass()  .getSuperclass().getDeclaredField(  "mShowing");  field.setAccessible(tr...

用maven在eclipse中创建Web项目

发布时间:2016-11-23 JAVA 测试 开发工具
使用eclipse插件创建一个webproject首先创建一个Maven的Project如下图  我们勾选上Createasimpleproject(不使用骨架)   这里的Packing选择war的形式  由于packing是war包,那么下面也就多出了webapp的目录 由于我们的项目要使用eclipse发布到tomcat下面,这里我们需要先把项目转成dynamicwebproject 在我们...

技术分享 | Web自动化之显式等待与隐式等待

等待就是当运行代码时,如果页面的渲染速度跟不上代码的运行速度,就需要人为的去限制代码执行的速度。在做Web自动化时,一般要等待页面元素加载完成后,才能执行操作,否则会报找不到元素等各种错误,这样就要求在有些场景下加上等待。最常见的有三种等待方式:隐式等待显式等待强制等待后面会一一介绍这三种模式的使用场景。隐式等待设置一个等待时间,轮询查找(默认0.5秒)元素是否出现,如果没出现就抛出异常。这也是最...

unittest框架使用

发布时间:2018-06-04 测试
一、unittest主要属性介绍:unittest.TestCase:TestCase类,所有的测试用例类都继承的基类。unittest.TestSuite():TestSuite()类是用来创建测试套件的。(可以一个模块归为一个测试套件,方便执行和管理)unittest.main():将一个单元测试模块变为可直接运行的测试脚本,执行所有“test”命名开头的测试方法。unittest.skip(...

android深入浅出视频笔记 log

发布时间:2011-11-19 移动开发
 LOG产生的位置:log一般放在安卓手机的/data/log中 LOG文件的组成:1系统的基本信息:包括内存、CPU、进程队列、虚拟内存、垃圾回收等信息。2事件信息,我们主要用的信息。3虚拟机信息包括进程的、线程的跟踪信息。 如何利用LOG文件:1如果是ANR问题,则可以用“ANR”关键字来进行搜索。2如果是ForceClosed和其他的异常信息,则搜索“Fatal”关键字。 何时会产生ANR?...

Android基础教程(八)之仿百度谷歌搜索自动提示框-----AutoCompleteTextView的应用

发布时间:2009-11-18 移动开发 JAVA
现在我们上网几乎都会用百度或者谷歌搜索信息,当我们在输入框里输入一两个字后,就会自动提示我们想要的信息,这种效果在Android里是如何实现的呢?事实上,Android的AutoCompleteTextViewWidget,只要搭配ArrayAdapter就能设计同类似Google搜索提示的效果.本例子先在Layout当中布局一个AutoCompleteTextViewWidget,然后通过预先设...

Kubernetes API 与 Operator,不为人知的开发者战争

发布时间:2019-01-11 大数据 运维 移动开发
2019独角兽企业重金招聘Python工程师标准>>>如果我问你,如何把一个etcd集群部署在GoogleCloud或者阿里云上,你一定会不假思索的给出答案:当然是用etcdOperator!实际上,几乎在一夜之间,KubernetesOperator这个新生事物,就成了开发和部署分布式应用的一项事实标准。时至今日,无论是etcd、TiDB、Redis,还是Kafka、Rocke...

测试技术网站分享

发布时间:2015-11-19 测试 人工智能
http://bdonline.sqe.com/一个关于网站测试方面的网页,对这方面感兴趣的人可以参考http://citeseer.nj.nec.com/一个丰富的电子书库,内容很多,而且提供著作的相关文档参考和下载,是作者非常推荐的一个资料参考网站http://groups.yahoo.com/group/LoadRunner性能测试工具LoadRunner的一个论坛http://groups...

666_2008

发布时间:2018-09-28 移动开发
20080103,36,5,8,42,46,39,14,11~20080105,33,3,42,14,32,11,15,10~20080108,2,14,40,9,45,24,3,10~20080110,20,36,46,4,42,47,22,3~20080113,8,26,13,42,22,18,43,6~20080115,15,37,45,10,18,11,26,11~20080117,36,...

安卓卡顿优化方法,Android工程师面试该怎么准备?文末领取面试资料

发布时间:2021-04-19 移动开发 ANDROID 程序员 面试
正式加入字节跳动,分享一点面试小经验今天正式入职了字节跳动。工号超吉利,尾数是3个6。然后办公环境也很好,这边一栋楼都是办公区域。公司内部配备各种小零食、饮料,还有免费的咖啡。15楼还有健身房。而且公司包三餐来着。下午三点半左右还会有阿姨推着小车给大家送下午茶。听说入职以后很容易长胖来着。不过如果想要保持身材的话,公司二楼还提供专门的健身餐。周二周四还可以预约专业的按摩服务,有效调理颈椎和腰椎。生...

WiMAX技术到底是什么? 究竟何谓WiMAX?

发布时间:2007-12-20 网络 ALLOCATION 制造 测试 互联网 通讯 ACCESS
究竟何谓WiMAX? WiMAX全称为WorldInteroperabilityforMicrowaveAccess,即全球微波接入互操作性。WiMAX的另一个名字是802.16。   IEEE802.16标准,又称WiMAX,或广带无线接入(BroadbandWirelessAccess,BWA)标准。它是一项无线城域网(WMAN)技术,是针对微波和毫米波频段提出的一种新的空中接口标准。它用于将...

互联网用户常见心理特征

注:本文是我在淘宝的内网中发现的一片文章,作者来自于测试团队的霜波同学,她是我淘宝讲师团队的同事,爱好广泛,去年一年都在研究心理学。哈哈,让我甚是佩服。这篇文章写的是互联网用户的心理学特征,我觉得分析的很到位,感觉这些行为就是每天发生在自己身上一样。我想,这对设计师来说,了解这些用户行为背后的原因是非常重要的。故转发此文,与大家一同分享。近半年持续关注了一些用户反馈和客服电话,从一些常见问题中总结...

给移动应用开发新手的6个建议

发布时间:2011-10-03 移动开发
英文原文:6TipsforBeginningAppDevelopers  转到移动应用程序的开发,并不只意味着去适应一个小得多的显示屏。不管是在苹果应用商店(AppStore)、微软的WindowsPhone应用商店(WindowsMarketplace)、Google的Android应用市场(AndroidMarketplace),还是在消费者和企业关注的其他移动应用站点,如果你希望你的软件被人...

再出江湖,Jpage分页php版发布

发布时间:2007-12-06 测试 框架 BORDER HIBERNATE PHP 优化
声明:本文同时发表于一搏IT社区、CSDN、昨夜风个人网站,欢迎任何网站/个人转载,但请保留声明信息和作者信息,多谢合作!作者:靳英辉(昨夜风)版本:Jpagev2.0forphp发表:2008-12-02______________________________________________________________在先后推出针对Java、.Net2.0开发语言下的Jpage两版分页之...

32 位的 Windows 7 真的能用到 4 GB 内存吗?

发布时间:2009-10-15 WINDOWS WINDOWS 7 测试
<<本文章部分转载自==BennettChen==我也來寫部落格博客文章"32位的Windows7真的能用到4GB内存吗?">>先前很多客户都问我,在Windows7的32位版本里面,真的能用到4GB的内存吗?让我们来看一下测试,首先我们打开计算机的属性,我们看到的是操作系统确实可以看到4GB内存,但是还有一些会被系统保留。 接下来我们打开资源监视器,你会发现那些已经变成为...

关于 Windows 7 发布候选版 (RC) 即将到期的重要提醒

发布时间:2010-02-10 微软 WINDOWS 测试 平台 2010 WINDOWS 7
 非常感谢您积极参与测试Windows7并且给与我们宝贵的反馈意见!微软最新的客户端操作系统Windows7已于2009年10月23日正式向全球大众市场发布。在正式发布之前,为了让广大合作伙伴更好地提前开始开发新的应用、设备驱动程序和相关服务,以及为IT专业人员提供更成熟的Windows7评估和测试平台,微软于2009年4月30日推出了Windows7发布候选版(Windows7RC版,版本号为7...

Objective C 快速入门学习一

发布时间:2014-07-17 移动开发 内存管理 XCODE
Objective-C程序设计 1.直接用Xcode作为IDE,舍弃gcc编译方面的学习。2.入门例子:Eg:打印HelloWorld控制台程序#import<Foundation/Foundation.h>//导入Foundation.h头文件。//头文件后缀.h,源文件后缀.m,Objective-C++后缀.mm。intmain(intargc,constchar*argv[])...