- 博客(24)
- 资源 (13)
- 收藏
- 关注
原创 iOS 绝对布局、autoresizingMask 布局、AutoLayout 布局详解
绝对布局绝对布局使用写死的 frame 定位各个视图,优点是 app 性能消耗小,缺点是开发成本高(需要写代码时适配机型计算好视图起点宽高)。autoresizingMask 布局autoresizingMask 布局主要围绕视图的位掩码策略配置布局,其枚举类型如下:typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) { ...
2015-04-30 11:20:30 1096
转载 ipa重签名
为什么要研究重签名问题?将程序打包成ipa包后,ipa包中会包括Provisioning Profile和_CodeSignature等文件,里面包括了对整个ipa的签名信息。一旦改动ipa中的任何内容,例如增加一个头文件,签名就会失效,导致ipa无法安装。(貌似改变Info.plist是不影响的)因此,如果要通过修改ipa包中的内容来篡改信息或注入代码(例如加一个动态库进去)的话,就需要
2015-04-24 10:02:32 820
转载 自定义View Controller容器转场
原文出处: Joachim Bondo 译文出处:破土君 欢迎分享原创到伯乐头条在话题 5# 中,Chris Eidhof 向我们介绍了 iOS7 引入的新特性自定义 View Controller 转场。他给出了一个结论:我们在本文只探讨了在 navigation controller 中的两个 view controller 之间的转场动画,但是这些做法在 tab ba
2015-04-22 13:30:52 544
转载 iOS开发之构建Widget
原文出处: 陈凯 在 jianshu 的博客(@chenkaiHome) 欢迎分享原创到伯乐头条伴随这iOS 8 系统多达4000项API更新而来同样还有Today Extension.而对iOS而言,有了Today Extension 开发者可以很好借助系统提供的接入点为系统定制的服务,提供自定义的附加功能.这意味着什么呢?从iOS 7版本尝试开路到现在iOS 8更新的到来终于向
2015-04-20 16:18:40 679
转载 iOS中Run Loop的那些坑
前段时间写了个关于iOS多线程编程的系列:iOS多线程编程Part 1/3 - NSThread & Run LoopiOS多线程编程Part 2/3 - NSOperationiOS多线程编程Part 3/3 - GCDiOS多线程编程Part 1/3 - NSThread & Run Loop中讨论了Run Loop的机制、接口和需要注意的坑,不过由于内容较多,描述Run
2015-04-20 13:35:40 726
转载 iOS中GCD的那些坑
之前一个系列中iOS多线程编程Part 3/3 - GCD介绍了GCD的各类接口,别仅仅使用了最基本的dispatch_async和dispatch_sync接口提交个Block完事,那就白瞎GCD的强大功能了。要用高级接口,照旧会有坑在那里,绝大多数坑并不是设计缺陷,而是自身特性造成的误用,本文会记录下这些坑。坑一GCD需要自己生成AutoreleasePool吗?正常我们用NS
2015-04-20 12:53:04 791
转载 用NoWEB进行文学编程
WEB不是Web,它是进行文学编程的工具。 所谓文学编程, 即在文档同时编程, 程序实际上是嵌入在文章里面的。 这种方式为高德纳首先提出,并和TeX紧密结合。 首先有CWEB工具是为c语言设计的web程序, 后又有为fortran设计的web。在pyhton中有leo既是IDE又是文章编程工具, 但是对ide我一向推崇emacs, 故也不可用。找到三个语言无关的web,fuweb, n
2015-04-09 18:05:14 1881
转载 LaTeX使用--XeLaTeX入门基础(二)
主机平台:Gentoo Linux 11.2内核版本:Linux Kernel 3.2.1编译环境:XeTeX 3.1415926-2.3-0.9997.5 (TeX Live 2011)相关阅读:LaTeX使用--XeLaTeX入门基础(一) http://www.linuxidc.com/Linux/2012-05/61546.htm1、首先是vim-latex
2015-04-09 17:54:02 2970
转载 LaTeX使用--XeLaTeX入门基础(一)
主机平台:Gentoo Linux 11.2内核版本:Linux Kernel 3.2.1编译环境:XeTeX 3.1415926-2.3-0.9997.5 (TeX Live 2011)1、latex、tex、xelatex、xetex的关系 LaTeX 是TeX 中的一种格式(format) ,是建立在TeX 基础上的宏语言,也就是说,每一个LaT
2015-04-09 17:51:47 6271
转载 MRC下安全的Block
iOS4以后引入的block,一个比较方便且实用的功能。但是自己在开发的时候遇到了不少的坑,很多都是和内存管理相关的,后来iOS5.0以后有了ARC,有了__weak关键字,所以block使用也就更安全了。 但是,吐槽下我们公司。对于像我们公司这种,还在支持iOS4.3,还在用MRC的来说,很多后来方便的框架和工具都不能用了。而那个坑还是那个坑。 最近在看C++的东西,无意中又
2015-04-07 13:08:20 580
转载 妙用SQL Server聚合函数和子查询迭代求和
先看看下面的表和其中的数据:t_product 图1该表有两个字段:xh和price, 其中xh是主索引字段,现在要得到如下的查询结果: 图2从上面的查询结果可以看出,totalprice字段值的规则是从第1条记录到当前记录的price之和。如第3条记录的totalprice字段的值是10 + 25 + 36 = 71
2015-04-02 10:39:08 3172
转载 MySQL数据库中的安全解决方案
随着网络的普及,基于网络的应用也越来越多。网络数据库就是其中之一。通过一台或几台服务器可以为很多客户提供服务,这种方式给人们带来了很多方便,但也 给不法分子造成了可乘之机。由于数据都是通过网络传输的,这就可以在传输的过程中被截获,或者通过非常手段进入数据库。由于以上原因,数据库安全就显得十 分重要。因此,本文就以上问题讨论了MySQL数据库在网络安全方面的一些功能。 帐户安全帐户
2015-04-02 10:17:21 846
转载 实现Java Web程序的自动登录
有很多Web程序中第一次登录后,在一定时间内(如2个小时)再次访问同一个Web程序时就无需再次登录,而是直接进入程序的主界面(仅限于本机)。实现这个功能关键就是服务端要识别客户的身份。而用Cookie是最简单的身从验证。如果用户第一次登录,可以将用户名作为Cookie写到本地,代码如下:Cookie cookie = new Cookie("user", user);coo
2015-04-02 10:14:38 3151
转载 透视MySQL数据库之更新语句
用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。言外之意,就是对数据进行修改。在标准的SQL中有3个语句,它们是INSERT、UPDATE以及DELETE。在MySQL中又多了一个REPLACE语句,因此,本文以MySQL为背景来讨论如何使有SQL中的更新语句。 一、INSERT和REPLACE
2015-04-02 10:11:29 525
转载 MySQL查询的性能优化
查询是数据库技术中最常用的操作。查询操作的过程比较简单,首先从客户端发出查询的SQL语句,数据库服务端在接收到由客户端发来的SQL语句后,执行这 条SQL语句,然后将查询到的结果返回给客户端。虽然过程很简单,但不同的查询方式和数据库设置,对查询的性能将会有很在的影响。因此,本文就在 MySQL中常用的查询优化技术进行讨论。讨论的内容如: 1 通过查询缓冲提高查询速度 2 MySQL对查
2015-04-01 18:48:42 408
转载 选择排序(selection sort)算法实现
从字面上理解,就是通过不断地选择数组元素,从而达到排序的目的。我插入排序类似,假设第i(i算法的时间复杂度为O(n^2)。算法的实现如下#include stdio.h>void output_array(int data[], int n){ int i; for(i = 0; i n; i++) printf("%d ",
2015-04-01 18:45:54 473
转载 希尔排序(shellsort)算法实现
希尔排序(shellsort)又叫增量递减(diminishing increment)排序,是由D.L. Shell发明的,这个算法是通过一个逐渐减小的增量使一个数组逐渐趋近于有序从而达到排序的目的。 假设有一个数组int data[16] = {...}。 首先将这个增量设为16 / 2 = 8, 这样就将这个数组分成了8个子数组,它们的索引是0, 8 1, 9 2
2015-04-01 18:45:27 557
转载 归并排序(merge sort)算法实现
归并排序(merge sort)体现了分治的思想,即将一个待排序数组分为两部分,对这两个部分进行归并排序,排序后,再对两个已经排序好的数组进行合并。这种思想可以用递归方式很容易实现。归并排序的时间复杂度为O(nlogn),空间复杂度为O(n)。实现代码如下:#include stdio.h> #include "common.h" void merge(int data[],
2015-04-01 18:43:48 616
转载 快速排序(quicksort)算法实现
快速排序(quicksort)是分治法的典型例子,它的主要思想是将一个待排序的数组以数组的某一个元素X为轴,使这个轴的左侧元素都比X大,而右侧元 素都比X小(从大到小排序)。然后以这个X在变换后数组的位置i分为左右两个子数组,再分别进行快速排序,直到子数组中只有一个元素为止。快速排序算法如下void quicksort(int A[], int p, int r){
2015-04-01 18:43:00 1082
转载 一道腾讯面试题的思考:到底谁会赢?
最近看到一道腾讯面试题,觉得很有意思。题干如下: 有甲乙两家伙用一个英语单词玩游戏(无聊的人还是很多的!!!)。两个人轮流进行,每个人每次从中删掉任意一个字母,如果剩余的字母序列是严格单调递增的(按字典序a 输入: 一连串英文小写字母,长度任意(当然要在计算机能承受的范围内),保证最开始的状态不是一个严格单增的序列。输出:1表示甲可以赢,0表示甲不能赢。
2015-04-01 17:21:28 547
转载 Twitter算法面试题详解(Java实现)
最近在网上看到一道Twitter的算法面试题,网上已经有人给出了答案,不过可能有些人没太看明白(我也未验证是否正确),现在给出一个比较好理解的答案。先看一下题目。图1先看看这个图。可以将方块看做砖。题干很简单,问最多能放多少水。例如,图2就是图1可放的最多水(蓝色部分),如果将一块砖看做1的话,图2就是能放10个单位的水。图2再看个例子
2015-04-01 17:16:20 571
转载 世界上最早的算法:辗转相除法(求两个自然数最大公约数)
在数学界,辗转相除法,又称欧几里得算法,被认为是世界上最早的算法(公元前300年),该算法用于求两个最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题yⅠ和Ⅱ)中,而在中国则可以追溯至东汉出现的《九章算术》。 两个自然数的最大公约数是能够同时整除它们的最大的正整数。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的相除余数的最大公约数。例
2015-04-01 17:10:26 1409
转载 百度面试题:求绝对值最小的数
有一个已经排序的数组(升序),数组中可能有正数、负数或0,求数组中元素的绝对值最小的数,要求,不能用顺序比较的方法(复杂度需要小于O(n)),可以使用任何语言实现例如,数组{-20,-13,-4, 6, 77,200} ,绝对值最小的是-4。算法实现的基本思路找到负数和正数的分界点,如果正好是0就是它了,如果是正数,再和左面相邻的负数绝对值比较,如果是负数,取取
2015-04-01 17:08:38 967
转载 创新工厂面试题详解:共打了多少鱼
最近看到一个创新工厂的面试题,很有意思,下面给出算法实现(Java代码)。如果哪位有更好的算法,请跟贴。 abcde五人打渔,打完睡觉,a先醒来,扔掉1条鱼,把剩下的分成5分,拿一份走了;b再醒来,也扔掉1条,把剩下的分成5份,拿一份走了;然后cde都按上面的方法取鱼。问他们一共打了多少条鱼,写程序和算法共打了多少条鱼的结果有很多。但求最少打的鱼的结
2015-04-01 17:04:00 698
Objective C经典教程
2012-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人