<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[编程笔记 - codingnote]]></title><description><![CDATA[记录编程生涯中的点点滴滴]]></description><link>https://blog.youkuaiyun.com/codingnote</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; codingnote]]></copyright><item><title><![CDATA[iOS学习 - Objective-c之property]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/47381925</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/47381925</guid><author>codingnote</author><pubDate>Sun, 09 Aug 2015 23:16:44 +0800</pubDate><description><![CDATA[Objective-c中通过属性（property）可以为类声明实例变量并实现相应的存储方法，而且比用户自己实现更简洁。一.属性用法用关键字property声明属性，语法形式为：@property (特性列表)类型 对象名；其中特性列表为可选项，如果无特性列表，例如，@property NSString *itemName; 则默认特性为string, readwrite, nonatomic。表1]]></description><category></category></item><item><title><![CDATA[腾讯后台服务开发一面归来]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/45057749</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/45057749</guid><author>codingnote</author><pubDate>Wed, 15 Apr 2015 12:50:22 +0800</pubDate><description><![CDATA[今天去面试了腾讯后台服务开发职位，首先是笔试，有三道题目。 
1.设计冒泡排序算法 
2.实现下面类中的方法class String {
    public:
    String(const char *p);
    String(const String &s);
    String &operator = (const String &s);
    ~String();
    pri]]></description><category></category></item><item><title><![CDATA[链表 - 单链表逆序]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/45042297</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/45042297</guid><author>codingnote</author><pubDate>Tue, 14 Apr 2015 15:01:02 +0800</pubDate><description><![CDATA[单链表逆序是经典的链表操作算法，单链表逆序的算法思想是将链表箭头反指（假设next指针是一个箭头），即所谓的改链，改链过程如下。逆序前：
head-->......prev-->cur-->next-->......->NULL
逆序后：
NULL<--......prev<--cur<--next<--......head算法逻辑： 
1.空链表或只有一个元素，返回原链表head。 
2.定义3个]]></description><category></category></item><item><title><![CDATA[shell学习 - awk入门]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/44946593</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/44946593</guid><author>codingnote</author><pubDate>Wed, 08 Apr 2015 21:00:28 +0800</pubDate><description><![CDATA[一. awk应用场景格式化数据或从一个大的文本文件中抽取记录二. 使用方法
命令行方式 
$awk [-F field-separator] ‘commands’ input-file(s) 
commands是真正的awk命令 
[-F域分割符]是可选的，如果无-F选项，awk默认用空格作为分隔符，如果域分隔符不为空格，比如要浏览以”:”作为分隔符的password文件则必须指明-F选项，如：]]></description><category></category></item><item><title><![CDATA[浅析open函数O_CLOEXEC模式和fcntl函数FD_CLOEXEC选项]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/44939133</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/44939133</guid><author>codingnote</author><pubDate>Wed, 08 Apr 2015 12:50:38 +0800</pubDate><description><![CDATA[欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来，用它写博客，将会带来全新的体验哦：
Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键
快捷键
加粗    Ctrl + B 
斜体    Ctrl + I 
引用    Ctrl]]></description><category></category></item><item><title><![CDATA[object-c学习 - object-c和c的布尔类型]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/44852897</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/44852897</guid><author>codingnote</author><pubDate>Fri, 03 Apr 2015 11:12:40 +0800</pubDate><description><![CDATA[object-c的布尔类型关键字BOOL , c的布尔类型关键字bool 
区别：object-c中BOOL类型长度1byte, 若将short或int型数赋值给BOOL类型则截取低位1个字节的值，如果最低1位的值为1结果为YES，否则为NO。 
c中bool类型实则为int通过宏定义而来，0为false,非0为true./***type.m****/
#import <Foudation/Foun]]></description><category></category></item><item><title><![CDATA[c语言宏定义中的#和##]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/44836793</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/44836793</guid><author>codingnote</author><pubDate>Thu, 02 Apr 2015 20:24:48 +0800</pubDate><description><![CDATA[“##”是一个连接符号，用于把参数连在一起 
“#”是“字符串化”的意思。出现在宏定义中的”#”是把跟在后面的参数转换成一个字符串int v5 = 5;
#define f(n) printf("v "#n" = %d\n", v##n)
f(5); //输出：v 5 = 5//define.c#include <stdio.h>#define FUNC_STOP stopint player_st]]></description><category></category></item><item><title><![CDATA[c语言中的"诡异"]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/44836589</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/44836589</guid><author>codingnote</author><pubDate>Thu, 02 Apr 2015 20:05:05 +0800</pubDate><description><![CDATA[先看下面一段小程序，2个printf函数参数语法很奇怪吧，有错误没？
#include <stdio.h>
int main()
{
    int a = 1, b = 3;
    const char *str = "Hello, world, I'm C!";
    printf("%c %s\n", a[str], &b[str]);
    printf("%c %s\n", a["0]]></description><category></category></item><item><title><![CDATA[c语言专题]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/44836519</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/44836519</guid><author>codingnote</author><pubDate>Thu, 02 Apr 2015 19:58:19 +0800</pubDate><description><![CDATA[本篇作为一个引子，领着大家梳理c语言中难点或容易忽视的知识点，知识点以专题形式展开。专题一 结构占用内存长度 
在linux/windows上运行下面一段程序，你能总结出struct内存对齐规则吗？struct ta {
    short b;
    long a;
    char c;
};
struct tb {
    short b;
    int a;
    char c;
};]]></description><category></category></item><item><title><![CDATA[c++ - tips]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/44834323</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/44834323</guid><author>codingnote</author><pubDate>Thu, 02 Apr 2015 16:52:34 +0800</pubDate><description><![CDATA[const总是修饰其右边最近元素
const char *const p = "abc";//第一个const修饰char,第二个修饰p
非const底层数据类型不能赋值给const底层数据，例如，
const char *pa;
char *pb;
pb = pa;//错误，底层数据不对应，可以用const_cast<char*>(pa)
typedef用法
typedef int list[6]]]></description><category></category></item><item><title><![CDATA[查找 - 二分查找]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/44833305</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/44833305</guid><author>codingnote</author><pubDate>Thu, 02 Apr 2015 15:53:31 +0800</pubDate><description><![CDATA[二分查找是利用分治思想减小问题规模的一种查找算法，二分查找的序列必须是有序的。 
算法如下：bool bsearch(std::vector<int>ivec, int target)
 {
     auto begin = ivec.begin(), end = ivec.end(), 
     mid = begin + (end - begin) / 2;
     while (begi]]></description><category></category></item><item><title><![CDATA[排序 - 希尔排序]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/44829495</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/44829495</guid><author>codingnote</author><pubDate>Thu, 02 Apr 2015 11:09:08 +0800</pubDate><description><![CDATA[希尔排序（Shellsort）的名字源于其发明者Donald Shell, 被认为是冲破2次时间界限的第一批算法，但最坏情况时间复杂度为O（n2）。它通过比较相距一定间隔的元素来进行工作；各躺比较的距离逐渐减小，直到相邻元素比较（此时变成了插入排序）。希尔排序使用增量序列h1、h2、h3…h(t)。只要h1 = 1任何增量序列是可行的，不过有些增量序列比另外一些更好。在使用增量hk的一趟排序后，对于]]></description><category></category></item><item><title><![CDATA[排序 - 快速排序]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/44828173</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/44828173</guid><author>codingnote</author><pubDate>Thu, 02 Apr 2015 09:48:10 +0800</pubDate><description><![CDATA[快速排序是在实践中最快的已知排序算法，它的平均运行时间是O(NlogN)。该算法之所以特别快，是由于非常精炼和高度优化的内部循环。它的最坏情形性能为O(N2)。快速排序是一种分治的递归算法。将数组S排序的基本算法由下列简单的四步组成： 
1.如果S中元素个数为0或1，则返回 
2.取S中任一元素v,称之为枢纽元(pivot) 
3.将S - {v} (S中其余元素)分成2个不相交集合：S1 = {x]]></description><category></category></item><item><title><![CDATA[排序 - 插入排序]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/44284953</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/44284953</guid><author>codingnote</author><pubDate>Sun, 15 Mar 2015 23:56:34 +0800</pubDate><description><![CDATA[插入排序针对数量较小的序列特别有效，其算法思想为向有序子序列中插入元素a[i]使新的序列仍有序。算法实现见InsertSort.cppvoid insertSort(int a[], int size)
 {
     int i, j, tmp;
     for (i = 1; i < size; i++) {
         tmp = a[i];
         for (j = i;]]></description><category></category></item><item><title><![CDATA[排序-冒泡排序]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/44284325</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/44284325</guid><author>codingnote</author><pubDate>Sun, 15 Mar 2015 23:35:15 +0800</pubDate><description><![CDATA[冒泡，顾名思义大泡上浮或小泡下沉，冒泡排序是一种反复交换相邻元素值的排序算法，每一轮交换出最大或最小值到正确的位置，n - 1轮交换结束后序列排序完成。算法实现见BubleSort.cpp： void swap(int &a, int &b) 
 {
     int tmp = a;
     a = b;
     b = tmp;
 } void bubleSort(int array[],]]></description><category></category></item><item><title><![CDATA[osx下用phonegap搭建ios和android打包服务]]></title><link>https://blog.youkuaiyun.com/codingnote/article/details/44248703</link><guid>https://blog.youkuaiyun.com/codingnote/article/details/44248703</guid><author>codingnote</author><pubDate>Fri, 13 Mar 2015 23:26:40 +0800</pubDate><description><![CDATA[本文描述在osx下用phonegap搭建ios企业开发账号in-house分发模式ipa包和android 数据签名apk包在线打包服务。


一.iOS ipa打包配置

1.下载cordova-ios-3.7.0.tgz并解压到目录path/to/cordora-ios
2.创建项目
$./path/to/cordova-ios/bin/create /path/to/my_ne]]></description><category></category></item></channel></rss>