- 博客(227)
- 资源 (35)
- 收藏
- 关注
原创 UTF 8 编码规则
unit UTF8;(************************************************)(* *)(* 作者: Fengsh *)(* @Copy Right for fsh
2013-03-12 12:17:51 2680
转载 大端小端,ascii,unicode,utf8,utf16,utf32,gb2312,gbk,gb18030等字符编码问题
字符编码的问题让我困惑了好久的一段时间,其实简单的想,字符编码没有什么东西的,可是想真弄明白还是花去了我一点时间,前端时间写了一个简单的log程序,主要的工作就是支持系统运行时输出日志信息,同时允许定制不同级别的日志输出,刚开始的时候只是写入到文件中,可用过之后发现,只是写入到文件中,在进行系统调试的时候不是很方便,还要打开文件,浏览,再返回源代码,如果能够有一个界面展示岂不是更好,列表显示日志,
2013-03-10 21:31:33 2054
转载 关于苹果PUSH(APNS)机制
Push的原理:Push 的工作机制可以简单的概括为下图图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider。 APNS 是Apple Push Notification Service(Apple Push服务器)的缩写,是苹果的服务器。上图可以分为三个阶段。第一阶段:.net应用程序把要发送的消息、目的iPhone
2013-03-10 15:33:14 4884
转载 Emoji表情符号兼容方案
Emoji表情符号兼容方案一 什么是Emoji emoji就是表情符号;词义来自日语(えもじ,e-moji,moji在日语中的含义是字符) 表情符号现已普遍应用于手机短信和网络聊天软件。 emoji表情符号,在外国的手机短信里面已经是很流行使用的一种表情。 手机上如何使用emoji: 1.iphone、ipad系统:安装emoji free,再设置
2013-03-05 18:19:03 6923
原创 架构师目标
职位职能: 系统架构设计师 职位描述:岗位职责:1、理解和分析客户的业务需求,确定项目或产品的技术架构和技术路线。 2、负责产品架构分析,提出软件架构整体设计,数据库存储设计方案。 3、划分基本的软件功能模块,指导其他工程师的设计工作。 4、参与项目在技术架构方面的立项评审。 5、负责核心技术问题的攻关,系统优化;协助解决项目开发过程中的技术
2013-03-04 22:49:56 1160
原创 研发总监目标
技术总监/经理 总监/部门经理职位描述:岗位职责:1、根据公司战略规划,制定研发计划和研发预算,并组织实施;2、负责整体技术管理以及资源协调,控制研发方向和研发过程,确保研发计划的达成;3、处理研发过程中出现的技术、质量问题,组织人员对关键技术、质量问题的攻关4、组织技术人员为销售、实施服务团队提供产品技术培训及指导;5、与销售、实施服务团队沟通,跟进
2013-03-04 22:36:20 2263
转载 github for Windows使用介绍
Git已经变得非常流行,连Codeplex现在也已经主推Git。Github上更是充斥着各种高质量的开源项目,比如ruby on rails,cocos2d等等。 对于习惯Windows图形界面的程序员来讲,Github的使用是需要点时间和耐心的,然而最近Github发布了Github for Windows 则大大降低了学习成本和使用难度,他甚至比SVN都简单,好吧,你不信,
2013-02-26 21:49:24 988
原创 ios程序异常退出时,发送邮件告知
1,首先在delegate文件里面- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions函数里面添加:NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler);2,实现捕
2013-02-26 21:40:16 1978
原创 IOS SEL (@selector) 原理及使用总结(二)
SEL消息机制工作原理是什么 引用下面文章:我们在之前有提到,一个类就像一个 C 结构.NSObject 声明了一个成员变量: isa. 由于 NSObject 是所有类的根类,所以所有的对象都会有一个 isa 的成员变量[公共继承].而该 isa 变量指向该对象的类(图3.15)[类在Objective-C中也是一个实体, 由于存在Objective-C 运行环境所有
2013-02-26 16:43:10 25430 1
原创 IOS SEL (@selector) 原理及使用总结(一)
SEL 类成员方法的指针可以理解 @selector()就是取类方法的编号,他的行为基本可以等同C语言的中函数指针,只不过C语言中,可以把函数名直接赋给一个函数指针,而Object-C的类不能直接应用函数指针,这样只能做一个@selector语法来取.它的结果是一个SEL类型。这个类型本质是类方法的编号(函数地址)C/C++函数指针int test(int val)
2013-02-26 16:36:07 106275 9
翻译 ios 线程同步
线程同步4-1 同步工具1,原子操作2,内存屏蔽和volatile变量只确保每次操作都是从内存中获取信息,而不用寄存器内保存的数据OSMemoryBarrier函数,设置内存屏蔽volatile变量3,锁Table 4-1 Lock typesLockDescriptionMutex[
2013-02-22 10:59:00 6213
翻译 IOS 多线程 RUNLOOP 机制 (三)
四,配置Run Loop源---配置源的过程就是源的创建调用过程配置过程分为以下几个阶段---定义/创建(一个源)---安装(将输入源安装到所在Run Loop中)---注册(将输入源注册到客户端,协调输入源的客户端)---调用(通知输入源,开始工作)4-1,定义自定义输入源创建自定义输入源需要定义以下内容1)输入源要处理的信息2)使感兴趣的客户端知道如何和输入源交互的调度例程
2013-02-22 10:57:49 7118
翻译 IOS 多线程 RUNLOOP 机制 (二)
二,何时使用Run Loop对于辅助线程,在需要和线程有更多交互时,才使用Run Loop。比如:1)使用端口或者自定义输入源来和其他线程通讯2)使用线程定时器3)Cocoa中使用任何performSelector...的方法(参考Table:Performing selectors on other threads)4)使线程周期性工作三,如何使用Run Lo
2013-02-22 10:56:49 3363
翻译 IOS 多线程 RUNLOOP 机制 (一)
Run Loop Run Loop就是一个事件处理的循环,用来不停的调动工作以及处理输入事件。使用Run Loop的目的就是节省CPU效率,线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。一,Run Loop剖析Structure of a Run Loop and its sources上图显示了线程的输入源A,基于端口的输入源(Port Sources
2013-02-22 10:55:33 13168 1
转载 C++ 界面库比较
基本上主流的界面库也就算用的差不多了。这里拿一个表格对这些界面库做一个比较直观的比较。界面库名称接口设计界面编辑器高级布局功能平面绘制平台兼容性语言支持IDE兼容性视图-模型分离机制运行时其它Windows Forms接口优秀。C++下使用CLI扩展,其它语言为原生支持。界面编辑器完整,包括布局、属性、消息关联的完
2013-02-18 13:02:47 6601
原创 IOS 的属性剖析(点语法操作)
在C++中,没有属性的概念,只有setter,getter的方式来对类成员变量进行操作。如:class gloox{public: gloox(){}; ~gloox(){}; int getCount(){return m_count;}; void setCount(int acount){m_count = ac
2013-01-27 18:04:40 5429
原创 IPHONE开发切图比例
引用新浪微博朋友的图片。太小了,我上传到资源吧。http://download.csdn.net/detail/fengsh998/4985660
2013-01-11 16:45:39 1632
原创 cocos2d的SDK下载网址
http://code.google.com/p/cocos2d-iphone/downloads/list 下面然后解压到指定目录,我解到桌面。安装:打开终端,进入到解压文件夹,执行install-template.sh就会自动安装。 f-fshmatomac:~ ffsh$ cd /Users/ffsh/Desktopf-fshmatomac:Desktop
2013-01-09 17:27:54 2434
原创 IOS ASIHttp库的使用总结
下载ASIHTTPRequest:Github project page: http://github.com/pokeb/asi-http-request/treeDownload the latest version: http://github.com/pokeb/asi-http-request/tarball/masterLicense (BSD): http://g
2013-01-05 11:23:02 20233 2
转载 UINavigationController使用的一些技巧
,创建并使用一个UINavigationControllerUINavigationController *aNav = [[UINavigationController alloc] init];然后添加一个视图进去,否则导航栏也没有意义的UIViewController *aView = [[UIView alloc] initWithNibName: (*xib文件名*)];[a
2012-12-24 09:46:18 1207
原创 IOS 上的COPY
刚才接触IOS的时候,类型员属性,常喜欢使用copy,retain,assign等来设置对某个成员变量的setter,getter方法。后来发现某些对象copy是不行的。需要自己进行实现COPY。这就有点像C++中的深,浅COPY。 简单复制只能实现浅拷贝:指针赋值,使两个指针指向相同的一块内存空间,操作不安全。在IOS中可以这样来实现。Foundation类已经遵守了和 协议
2012-12-20 17:29:08 3490
原创 IOS , plist 配置项说明
Key:Application can be killed immediately after launch(NSSupportsSuddenTermination)Value:BOOL说明: 指定应用程序是否可以被杀死,以便更快地关闭或注销操作。 表示系统是否可以彻底杀死的应用程序以注销或关闭更迅速。您可以使用此键来指定应用程序是否可以在关闭后
2012-12-18 17:12:23 28399
转载 IOS 后台执行
在IOS后台执行是本文要介绍的内容,大多数应用程序进入后台状态不久后转入暂停状态。在这种状态下,应用程序不执行任何代码,并有可能在任意时候从内存中删除。应用程序提供特定的服务,用户可以请求后台执行时间,以提供这些服务。判断是否支持多线程UIDevice* device = [UIDevice currentDevice]; BOOL backgroundSupported = NO;
2012-12-18 09:51:32 4044
原创 个人的编程命名习惯的几点记录
DELPHI(大小写不敏感):接口: 以大写I开头单词组合。 IService = Interface() end; 类名:以T开头加意议名称(名称以单词首字母大写进行组合):如: TDataBaseLog=Class(TObject) private: public: end;
2012-12-15 13:40:06 2776
原创 IOS 4.2 编写通用的静态库.a文件
IOS产生.a的静态库,比起.framework相对简单了好些。 下面介绍一下具体生成步骤:1、新建一个framework&library库。IOS 下的cocoa touch static library。然后输入product name 为libsql 2、把libsql.h和libsql.m删除。导入ocsqlite.h和ocsqlite.c(文件见http://
2012-12-13 18:19:21 18419 1
原创 IOS 4.2 编写真机和模拟器通用的framework(静态库)
IOS中静态库的方式有*.a或*.framework。个人感觉不论是.a还是.framework其实无外于对源码进行隐藏的一种表现方式。许多时在项目中,往往对于积累沉垫下来很少改动的代码(高内聚,低耦合的代码),为了增加重用性,常常都进行库的封装好存。 在WIN上封装为DLL(动),LIB(静)。在LINUX上封装为.SO(动),.a(静)。 便于介绍对类库的framework
2012-12-13 17:31:03 18002 3
原创 sqlite3 关系数据库的基本类型和集函数。
sqlite3支持的数据类型:NULL、INTEGER、REAL、TEXT、BLOB但是,sqlite3也支持如下的数据类型smallint 16位整数integer 32位整数decimal(p,s) p是精确值,s是小数位数float 32位实数double 6
2012-12-11 09:48:05 1681
原创 sqlite 操作与封装
如果想更深的理解SQLITE的封请学习FMDB,FMDB是对SQLITE的线程访问封装。 以下是本人以个人习惯简单的封装。符合D开发的操作者习惯。 ocsqlite.h//// OCSqlite.m// sqlite//// Created by fengsh on 12-12-3.// Copyright (c) 2012年 sqlite_Li
2012-12-10 16:55:14 7669 1
原创 一些转换笔记,很久收集的了,没时间放出来。现在放出来作备分
WCHAT:即wchar_tLPSTR:即 char *,指向以'\0'结尾的8位(单字节)ANSI字符数组指针LPWSTR:即wchar_t *,指向'\0'结尾的16位(双字节)Unicode字符数组指针LPCSTR:即const char *LPCWSTR:即const wchar_t *LPCVOID:即const void *DWORD:即unsigned lon
2012-11-26 23:30:51 1772
转载 路径设置
比如都在$(SolutionDir)\Debug路径下.exe或dll 路径配置属性->linker->General->out File$(SolutionDir)\Debug\xxx.exelib路径properties->linker->Advanced->Import Library.pdb配置属性->linker->Debugging->Generate Pr
2012-11-21 22:27:01 1187
转载 QQ游戏百万人同时在线服务器架构实现
QQ游戏于前几日终于突破了百万人同时在线的关口,向着更为远大的目标迈进,这让其它众多传统的棋牌休闲游戏平台黯然失色,相比之下,联众似乎已经根本不是QQ的对手,因为QQ除了这100万的游戏在线人数外,它还拥有3亿多的注册量(当然很多是重复注册的)以及QQ聊天软件900万的同时在线率,我们已经可以预见未来由QQ构建起来的强大棋牌休闲游戏帝国。服务器程序,其可承受的同时连接数目是有理论峰值的,通过C
2012-11-21 15:40:14 24529
翻译 WINHTTP的API接口说明。
BOOL WINAPI WinHttpAddRequestHeaders( _In_ HINTERNET hRequest, _In_ LPCWSTR pwszHeaders, _In_ DWORD dwHeadersLength, _In_ DWORD dwModifiers);作用:添加一个HTTP的请求头域。参数说明:hRequest [in]
2012-11-19 22:30:21 47443 6
原创 调试中遇到EXC_BAD_ACCESS
在XCode 4.2中,有两种方法来打开NSZombie,这样在遇到EXC_BAD_ACCESS时可以查看更详细信息帮助定位问题。方法一,添加环境变量。在菜单中,选择Product->Edit Schema, 选择Run (App Name), 在Arguments下面的Environment Variables中,添加NSZombieEnabled, Value值为YES。方
2012-11-15 22:44:56 1385
转载 iOS5系统API和5个开源库的JSON解析速度测试
iOS5新增了JSON解析的API,我们将其和其他五个开源的JSON解析库进行了解析速度的测试,下面是测试的结果和工程代码附件。 我们选择的测试对象包含下面的这几个框架,其中NSJSONSerialization是iOS5系统新增的JSON解析的API,需要iOS5的环境,如果您在更低的版本进行测试,应该屏蔽相应的代码调用。 - [SBJSON (json-framework)](
2012-11-15 19:23:13 919
原创 代码设计模式之组合模式(Composite)
特性: 组合模式有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。意图 将对象组合成树形结构以表示“部分-整体”的层次结构。Composite模式使得用户对单个对象和组合对象的使用具有一致性。 优点: 定义了
2012-11-13 10:52:15 1007
原创 代码设计模式之适配器模式(Adapter)
特性:适配器通过转换调用已经有的实现,从而能把已有的实现匹配成需要的接口,使之能满足客户端的需要。也就是说转换匹配的手段,而复用已有的功能才是目的。在进行转换匹配的过程中,适配器还可以在转换调用的前后实现一些功能处理,也就是实现智能的适配。 优点:适配器模式可以让两个没有任何关系的类在一起运行,只要适配器这个角色能够搞定他们就成。增加了类的透明性提高了类的复用度灵活
2012-11-12 11:19:39 1241
原创 Makefile 的编写过程(实践)
本读不讲理论,只讲实践。适用对象,有GCC基础,对GCC编译有了解的人群。 1、先了解程序从无到有的过程,即编译到执行。(图片的引用来自互联网)下面用实例来演示整个过程。以一个.c文件来演示吧,这里只谈讨编译到运行的过程,不讨论编码的复杂度。add.c#include "stdio.h"int add(int x,int y){ return
2012-11-10 22:26:36 5144 1
原创 Makefile (理论)
make file 的编写规则: 命令:makefile的基本命令:target : prerequisites command其中target为目标,可以有一个或多个,用“:”分开prerequisites为依赖文件,也可以多个。然后就是换行,在command之前一定要记得得有一个tab空格,否则执行时报错,这个很重要。可以简单的记为:======makef
2012-11-08 14:55:19 2476
原创 Liunx java-eclipse下C++的so库的调用(下)
前面对LINUX下打SO库进行了介绍。这一章,将对WIN平台上编译C++打包SO库进行介绍,其实这个和LINUX下一样的操作,为什么要对WIN平台的介绍,是因为我在WIN平台打包碰到了问题,其次是我未使用过LINUX系统,习惯了WIN平台。好,不说废话了。 WIN32平台:准备工作(版本可自选):XP + JDK1.6cygwin 最新版装:ubunit,g++,gcc,g
2012-11-06 11:26:22 4266
原创 Liunx java-eclipse下C++的so库的调用(上)
欢迎转载,转载请说明。 网上很多界绍使用JAVA调用C/C++的SO库,但从例子中大多都是一个简单的C语言文件,然后进行编译打库。这些例子只能带给我们了解打库和调用步骤,在实际项目过程中,遇到的并非想象中的哪么简单。下面我将以一个C++的例子来演示从打库到调用的全过程,希望对初学者有用,大虾,大牛一边过,欢迎围观。 例子:有一个汽车类接口ICar ,其中声明了几个基本方
2012-11-06 01:12:38 13709 2
window IO 模型
2013-04-17
emoji表情字符对应SQL脚本
2013-03-05
DELPHI分页控件
2010-11-04
bootstrap_customstyle
2019-03-07
webpackdemo
2019-03-06
swift performSelector
2014-06-29
NSTableView base cell
2014-01-27
无图片,源码实现聊天泡泡,可绘QQ泡泡。
2014-01-22
IOS MKMapView
2013-06-03
WCF C/S基本架构DEMO
2013-05-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人