自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 收藏
  • 关注

原创 linux grep命令

简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展

2016-09-02 19:13:17 620

原创 shell awk命令

简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。awk其名称得自于它的创始人 Alfr

2016-09-02 19:08:15 788

转载 Lua 在移动平台上的应用

现如今,移动应用程序被应用的越来越宽泛,程序越来越复杂,跨平台开发也显得越来越重要。针对各自的平台做原生开发无疑是重复制造轮子,那么有没有什么可以让已造好的轮子进行复用呢?Lua 就此提供了这个可行性,并且,基于寄存器设计的 Lua 执行效率是非常好的,几乎不需要考虑 Lua 执行的代价。但 Lua 并非像 Python 那样成为可以自立门户的脚本语言,它必须借助于 C 库才能发挥出它强大

2016-07-15 15:48:36 792

原创 iOS 模拟器安装.app

1. Xcode模拟器编译后,~/Library/Developer/Xcode/DerivedData/{your app}/Build/Products/Debug/{Project Name}.app 路径下,获取app包。2. 终端中输入 xcrun simctl install booted /path/to/your.app注意后面/Path/to/your.app是指你将要安

2016-06-06 17:24:11 836

原创 反转二叉树

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution {

2016-05-30 21:46:56 1280

原创 iOS 浅拷贝(Shallow Copy)与深拷贝(Deep Copy)

系统对象的copy与mutableCopy方法1、非集合类对象的copy与mutableCopy系统非集合类对象指的是 NSString, NSNumber … 之类的对象。对immutable对象进行copy操作,是指针拷贝,mutableCopy操作时内容拷贝;对mutable对象进行copy和mutableCopy都是内容拷贝。用代码简单表示如下:[immutableObject copy]

2016-05-30 16:16:44 824

转载 bss, data, text ...

section 结构SECTIONS {...secname start BLOCK(align) (NOLOAD) : AT ( ldadr ) { contents } >region :phdr =fill...} secname:段名 contents:决定哪些内容存放在此段 start:本段的连接地址(实际运行地址) AT(ldadr):存储地址(加载的地

2016-05-26 11:04:35 426

原创 iOS 编译openssl

openssl官网 下载地址 下载最新源码。打包脚本下载地址。根据需要修改脚本:// openssl版本号OPENSSL_VERSION="1.0.1t" // SDK及应用支持最低版本SDK_VERSION="9.3" MIN_VERSION="7.0"// 配置支持的架构build "BSD-generic32" "armv7" "${IPHONEOS_GCC}" "${

2016-05-25 17:01:54 1307

转载 -ObjC, -all_load, -force_load

之所以使用该标志,和Objective-C的一个重要特性:类别(category)有关。根据这里的解释,Unix的标准静态库实现和Objective-C的动态特性之间有一些冲突:Objective-C没有为每个函数(或者方法)定义链接符号,它只为每个类创建链接符号。这样当在一个静态库中使用类别来扩展已有类的时候,链接器不知道如何把类原有的方法和类别中的方法整合起来,就会导致你调用类别中的方法时,出

2016-05-24 18:32:23 448

原创 iOS framework/静态库 nm 调试

iOS开发引入静态库时, 经常遇到类似错误Undefined symbols for architecture x86_64: "_xxxx", referenced from: ...。此时可以使用 nm 命令查看该架构下是否存在该符号: nm mySDK -arch x86_64 | grep '_xxxx'功能nm命令可以列出一个函数库文件(.o .a .so)中的符号表。所谓符号,通常指定义

2016-05-24 15:01:48 5562

转载 Objective-C中的Block

1.相关概念在这篇笔记开始之前,我们需要对以下概念有所了解。1.1 操作系统中的栈和堆注:这里所说的堆和栈与数据结构中的堆和栈不是一回事。我们先来看看一个由C/C++/OBJC编译的程序占用内存分布的结构: 栈区(stack):由系统自动分配,一般存放函数参数值、局部变量的值等。由编译器自动创建与释放。其操作方式类似于数据结构中的栈,即后进先出、

2016-05-20 00:37:23 475

原创 iOS多线程使用总结

以下这三种多线程编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple最推荐使用的,在项目中很多框架技术分别使用了不同多线程技术。NSThreadNSThread 比其他两个轻量级,使用简单。需要自己管理线程的生命周期、线程同步、加锁、睡眠以及唤醒等。线程同步对数据的加锁会有一定的系统开销。部分属性及方法:@property (nullable, copy) NSStrin

2016-05-19 16:24:49 612

原创 iOS多线程同步锁

@synchronized@synchronized()是在OC代码中创建一个互斥锁非常方便的方法。@synchronized指令做和其他互斥锁一样的工作(它防止不同的线程在同一时间获取同一个锁)。然而在这种情况下,你不需要直接创建一个互斥锁或锁对象。相反,你只需要简单的使用OC对象作为锁的令牌,如下面例子所示:- (void)myMethod:(id)anObj { @synchroni

2016-05-18 10:35:47 602

原创 App icon 显示版本号

http://merowing.info/2013/03/overlaying-application-version-on-top-of-your-icon/http://www.jianshu.com/p/df2f4bec0bf9

2016-03-23 16:21:21 1178

转载 C语言中位域(bit struct)和#pragma pack(n)指令对其影响

刚才看INTERNETWORKING with TCP/IP Volume 3的时候看到下面代码struct rtp{  unsigned int rtp_cc:4....};有点奇怪,不知道这个unsigned int rtp_cc:4是什么意思,照例google了下得到如下信息:有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。

2016-02-24 15:25:45 1712

原创 iOS Provisioning Profile(Certificate)与Code Signing详解

http://blog.csdn.net/phunxm/article/details/42685597

2016-02-16 16:47:44 495

转载 在centos7上编译mosquitto源码时,出现问题解决办法

问题一:问题描述:在centos7上编译mosquitto源码时,出现以下问题:make[1]: 进入目录“/home/jason/mosquitto-1.2/man”xsltproc mosquitto.8.xmlwarning: failed to load external entity "/usr/share/xml/docbook/stylesheet/docbook-x

2015-12-23 18:06:29 2227

转载 在CentOS7 上安装mosquitto1.4.1服务器,实现MQTT信息推送功能并增加websocket功能

在CentOS7 上安装mosquitto1.4.1服务器,实现MQTT信息推送功能并增加websocket功能。过程如下:1、安装各种需要的编译工具#yum install gcc gcc-c++2、安装mosquitto编译时需要的依赖库(注意:使用devel版开发库)#yum install openssl-devel#yum install 

2015-12-23 17:45:39 1396

转载 WebViewJavascriptBridge 原理分析

网上好多都是在介绍 WebViewJavascriptBridge如何使用,这篇文章就来说说 WebViewJavascriptBridge 设计原理。主要从两个过程来讲一下:js调用UIViewController中的代码(Native),Native调用js 1.概述首先有两个问题:a.Native(中的UIWebView)是否可以直接调用js

2015-11-25 14:55:34 575

原创 MySQL 创建、修改和删除表

其实对很多人来说对于SQL语句已经忘了很多,或者说是不懂很多,因为有数据库图形操作软件,方便了大家,但是我们不能忘记最根本的东西,特别是一些细节上的东西,可能你用惯了Hibernate,不用写SQL语句,但是不是任何项目都要用到大框架的,如果不用,那你是不是就不会操作数据库了呢,所以我们最好还是熟悉一点好,对我们以后找工作和工作都有帮助。  在说创建、修改和删除表前,我们还是要进行

2015-11-20 00:14:01 467

原创 MySQL 查看当前使用的数据库

(1)用select database()语句,从查询结果中可以看出: 从查询结果中可以看出,当前用的是appname数据库。(2)用show tables语句,查询出来的结果中,第一行为Tables_in_XXX,这里XXX就是当前所用的数据库名称。 从查询结果中可以看出,当前用的是appname数据库。 (3)用status语句,查询出来的结果中有一

2015-11-19 23:49:05 640

转载 MAC OSX10.10上搭建Apache,PHP,MySQL5.6.22,phpMyAdmin开发环境

用惯了在Windows上一个appserv或phpStudy压缩包搞定,要在MAC上捣腾一个PHP开发环境还不大习惯。但自己亲自配一下环境还是有所收获的。众所周知OSX上自带了apache和php,所以这两个搞起来还比较顺利。装MySQL的最新版5.6.22版颇费周折,本文详细记录之。apache的配置apache已经自带了,只需如下三个命令就可以了。 开启apache服务 s

2015-11-17 13:00:58 567

转载 MySQL添加用户、删除用户与授权

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):1.新建用户  1.1 登录MYSQL:  @>mysql -u root -p  @>密码  1.2 创建用户:  mysql> insert into mysql.user(Host,User,Password) values("localhost","tes

2015-11-16 22:35:18 518

转载 ftp用户权限设置

限制ftp用户只能在其主目录下(root dir)下活动,不允许他们跳出主目录之外浏览服务器上的其他目录,这时候我就需要使用到chroot_local_user,chroot_list_enable,chroot_list_file这三个选项了。chroot_local_user #是否将所有用户限制在主目录,YES为启用 NO禁用.(该项默认值是NO,即在安装vsftpd后不做配置的话,

2015-11-16 14:26:22 1371 1

转载 CoreGraphics QuartzCore CGContextTranslateCTM 用法

CoreGraphics.h一些常用旋转常量#define M_E 2.71828182845904523536028747135266250 e#define M_LOG2E 1.44269504088896340735992468100189214 log 2e#define M_LOG10E 0.434294481903251827651128918916

2015-11-03 14:28:07 454

转载 CGBitmapContextCreate函数

CGBitmapContextCreate函数参数详解函数原型:CGContextRef CGBitmapContextCreate (   void *data,   size_t width,   size_t height,   size_t bitsPerComponent,   size_t bytesPerRow,   CGColorSp

2015-11-03 13:41:22 719

转载 Core Text

Core Text是和Core Graphics配合使用的,一般是在UIView的drawRect方法中的Graphics Context上进行绘制的。 且Core Text真正负责绘制的是文本部分,图片还是需要自己去手动绘制,所以你必须关注很多绘制的细节部分。一.Core Text知识准备在进入任何一个新的编程领域之前,我们肯定要先接触相关的领域模型的知识。比如你软件是进行科学计

2015-11-03 13:38:16 392

转载 Core Graphics之CGContext详解

CGContext又叫图形上下文,相当于一块画布,以堆栈形式存放,只有在当前context上绘图才有效。iOS有分多种图形上下文,其中UIView自带提供的在drawRect:方法中通过UIGraphicsGetCurrentContext获取,还有专门为图片处理的context,UIGraphicsBeginImageContext函数生成,还有pdf的context等等。1

2015-10-30 18:29:57 597

转载 CGContextRef详解

Graphics Context是图形上下文,可以将其理解为一块画布,我们可以在上面进行绘画操作,绘制完成后,将画布放到我们的view中显示即可,view看作是一个画框.Quartz提供了以下几种类型的Graphics Context:Bitmap Graphics ContextPDF Graphics ContextWindow Graphics ContextLayer

2015-10-30 17:11:01 653

转载 绘制像素到屏幕上

一个像素是如何绘制到屏幕上去的?有很多种方式将一些东西映射到显示屏上,他们需要调用不同的框架、许多功能和方法的结合体。这里我们大概的看一下屏幕之后发生的事情。当你想要弄清楚什么时候、怎么去查明并解决问题时,我希望这篇文章能帮助你理解哪一个 API 可以更好的帮你解决问题。我们将聚焦于 iOS,然而我讨论的大多数问题也同样适用于 OS X。图形堆栈当像素映射到屏幕上的时候,后台发生了

2015-10-30 17:02:44 512

转载 NSRunloop的简单认识

最早接触runloop的概念,是第一次用NSTimer的时候。一个最简单的例子:- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSTimer * timer = [NSTimer sch

2015-10-30 11:58:12 309

转载 git stash 命令

当在一个分支的开发工作未完成,却又要切换到另外一个分支进行开发的时候,除了commit原分支的代码改动的方法外,我觉得git stash是一个更加便捷的选择。步骤如下:一、添加改动到stash。在原分支 git stash save -a "messeag",网上很多很多资料都没有加 -a 这个option选项,我想他们的代码开发可能都是在原代码上进行修改吧。而对于在项目里加入了代

2015-10-29 11:41:44 333

转载 74个Swift标准库函数

本文译自 Swift Standard Library: Documented and undocumented built-in functions in the Swift standard library – the complete list with all 74 functions。我不是原作者,我只是勤劳的翻译工:)文中作者没有提及他是如何发现这么多未在文档中体现的内置函数的,估

2015-10-12 10:55:14 551

原创 MySQL 查看当前正在使用的数据库

1.  show tables;mysql> show tables;+---------------------------+| Tables_in_ios_ota_website |+---------------------------+| apps || packages |+-----------

2015-07-03 15:29:14 1632

原创 Mac 下设置~/.bash_profile,处理命令路径问题

举例:终端中输入命令,使用绝对路径终端登录mysql:/usr/local/mysql/bin/mysql -u root -p给root创建密码:/usr/local/mysql/bin/mysqladmin -u root password root处理1. 创建别名,使用: alias  mysql = '/usr/local/mysql/bin/mysql'al

2015-07-02 17:40:25 12229

原创 Mac下安装 MySQLdb

安装环境:Mac OS 10.10.3,Python 2.7.6。  MySQLdb其实包含在MySQL-python包中,因此无论下载还是在pip中search,都应该是搜寻MySQL-python。  以下将说明MySQLdb两种常见的安装方式,下载安装或者pip安装MySQL-python。  下载MySQLdb  在SourceForge可以下载MySQL-

2015-07-02 17:20:00 505

原创 在html中写python代码的语法和特点-----基于webpy的http服务器

在html文件中写python语法的内容,的注意事项:1:python程序中的变量通过下面方法传入到html:1:通过全局变量 :全局变量是不需要用$def with语法实现传递的,只要定义了在html中就可以用,例子如下:===================================================================#模板公共变量

2015-07-02 14:57:04 7122

原创 web.input()与web.data()函数比较

web.input()与web.data()是web.py模块中的两个函数,都用来获取http请求包中的信息,但是获取的信息不同。web.input()获取的是通过http请求包第一行的url传入的参数,返回值是类似于字典的key-value对。由于GET和POST请求包都可以通过url传入参数,所以两种请求包均可使用web.input()来获取url传入的参数,当然,通常情况下使用web

2015-07-01 10:33:25 6786 1

原创 python 单下划线/双下划线使用总结

Python 用下划线作为变量前缀和后缀指定特殊变量/方法。主要存在四种情形1.    1. object # public    2. __object__ # special, python system use, user should not define like it    3. __object # private (name mangling during ru

2015-06-30 17:08:37 623

原创 mac 终端 使用ftp

1. 连接ftp服务器  格式:ftp [hostname| ip-address]  a)ftp>  ftp.drivehq.com(FTP地址)  b)服务器询问你用户名和口令,输入后即可。2. 下载文件  下载文件通常用get和mget这两条命令。  a) get  格式:get [remote-file] [local-file]

2015-06-11 15:01:17 3536

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除