- 博客(85)
- 资源 (4)
- 收藏
- 关注
原创 xmapp下Access forbidden的处理
在xampp\apache\conf\extra\httpd-vhosts.conf中,之前的配置是这样的: ServerAdmin webmaster@dummy-host.example.com DocumentRoot "F:/code/study/php" ServerName www.aaa.com ServerAlias www.dummy-host
2016-04-02 11:46:35
1379
原创 Linux下多线程的同步机制
互斥量控制每次只有一个线程获得互斥量,执行操作,其他调用lock的线程都会阻塞;互斥量适合一个进程内的多线程访问公共区域或代码段时使用。
2016-03-02 10:22:25
675
转载 关于socket阻塞与非阻塞情况下的recv、send、read、write返回值
转自:http://www.cnblogs.com/lijunjie/articles/1759688.html1、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 0接收到数据大小,特别:返回值 2、阻塞模式与非阻塞模式下write的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞write返回值没有
2016-02-13 11:11:47
591
原创 centos6.5下安装nginx1.8.0
一、 首先看下我们的linux发行版版本,内核版本二、开始安装nginx1、安装prce(重定向支持)和openssl(https支持,如果不需要https可以不安装。)yum -y install pcre*yum -y install openssl*因为是centos系统,使用yum安装方便快捷。使用yum是,有可能遇到“No module named yum”错误,这
2016-01-22 23:58:24
1386
转载 自定义键盘输入框的实现
现在在很多输入界面中,会在键盘上方弄一个view,比如左边是输入框,右边会有一个按钮叫发送之类的,并且初始的时候,键盘是不显示的,这个view在最下面,当点击输入框的时候,view会随着键盘上滑,最后会固定在键盘的上方,当键盘消失时,输入框又随着键盘跑到底部,效果图就是类似微信的输入框那样,如下图所示:这种效果要怎么处理呢?请看下面为了让工具条上下移动,我们就要求出键盘上下移动的高
2016-01-22 11:39:01
1941
原创 一种我喜欢的vim的配置
vim默认配置功能较少,以下提供一种我自己喜欢的vim的配置。打开vi ~/.vimrc(有可能没有这个文件,自己创建就好)set nu "show numbersyntax on "syntax highlightset cursorline "have cursorlineset cindent "set
2015-12-27 23:23:10
532
转载 使用secureCRT登录mac本地终端
转自:http://www.php230.com/use-securecrt-login-mac-computer-location.html这2天在配置MAC的环境,总觉的MAC自带的终端不好用,以前在linux下习惯使用secureCRT了,所以想在MAC下也使用secureCRT来连接MAC。下面介绍一下方法:1.启动sshd服务:sudo launchc
2015-12-23 19:13:04
8118
转载 SDWebImage的运行机制以及缓存大小、有效时间设置
转载地址:http://www.cocoachina.com/ios/20141212/10622.html我之前写过一篇博客,介绍缓存处理的三种方式,其中最难,最麻烦,最占内存资源的还是图片缓存,最近做的项目有大量的图片处理,还是采用了SDWebImage来处理,但是发现之前封装好的代码报错了。研究发现,是我用了新版的SDWebImage,好多方法都变了。现在把代码贴出来,供大家
2015-12-16 17:59:38
13409
转载 iOS开发-清理缓存功能的实现
移动应用在处理网络资源时,一般都会做离线缓存处理,其中以图片缓存最为典型,其中很流行的离线缓存框架为SDWebImage,另外应用也有其他缓存,比如数据库缓存、文件缓存等等。下面我们讲一下图片缓存和文件缓存的清理方式:一、图片缓存-SDWebImage: SDWebImage提供了很简单的获取和清空的接口,直接使用就可以了 获取图片缓存数量:float fCac
2015-12-08 19:52:34
1008
原创 iOS中改变uiTextField的光标起始位置
uiTextField作为输入框,在很多场景都会使用,一般我们都是对齐默认的布局做一些更改,常用的可能会修改光标的颜色,placeholder的颜色,字体等等,有些修改直接设置uiTextField的属性就可以,有些则没有,需要重写它提供的一些方法才可以,有些则怎么都办不到,例如修改光标的宽度,如果哪位知道,请告诉我下,谢谢。1. 修改光标的位置 修改光标的位置也就是修改可编辑区域的
2015-12-04 16:54:28
17752
原创 实时监听textField的值改变事件
textFieldDidEndEditing不能监听到textFiled实时的改变,想要实现实时监听 可以通过注册通知去监听textField的实时改变,代码如下:[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(infoAction)name:UITextFieldTextDidChangeNotif
2015-12-03 21:12:58
2006
原创 点击tableView时触发事件,比如隐藏键盘
比如在搜索时,我们的搜索页面是一个tableView,里面有热门搜索,有关键词,点击这些关键词要能跳到搜索结果页面,但是点击tableView的其他地方又要隐藏键盘,如果只是在tableView点击行时隐藏,那么当行比较少的时候,点击空白区域的话就不会隐藏了,怎么办呢?用以下办法可以达到我们的要求:在 UITableView 上加手势UITapGestureRecognizer *
2015-12-03 18:00:43
2709
转载 UITextField输入到最大限值以后不能删除
转自:http://blog.csdn.net/linkai5696/article/details/5742421解决UITextField输入到最大值不能删除的现象:- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NS
2015-12-03 16:39:02
1334
转载 C++ 内存分配(new,operator new、placement new)详解
推荐两篇文章:1、http://blog.csdn.net/wudaijun/article/details/92733392、http://www.cnblogs.com/luxiaoxun/archive/2012/08/10/2631812.html再来一个内存池的代码:#ifndef MEM_BASE_HPP_201107042302#define MEM_BASE_
2015-11-25 19:30:20
617
原创 在UIView上画圆圈、画直线的方法
在UIView上画圆圈,画直线的方法很多,这里主要介绍一下用贝塞尔曲线(UIBezierPath)加CAShapeLayer的方法,这种方式比较轻量级,并且在滑动手势的时候可以空过改变它的半径,达到圆圈或者直线随手势变化的效果,经测试,这种方式很轻量,运行很流畅。 画圆圈:- (void)initView{ CAShapeLayer *circleLayer; // 触摸的
2015-11-16 14:23:50
3357
原创 对一个UiView添加点击事件
点击事件不一定需要要通过添加button才能实现,其实只要是继承 uiview的空间,你都可以手动的添加一些点击事件,如下:UIView myView = [[UIView alloc]init];UITapGestureRecognizer*tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:selfaction:@sele
2015-11-13 10:22:05
913
原创 在一个uiViewController中加载一个通过xib创建的uiView,结果界面不正确
背景:我有一个uiViewController,是创建的时候带有xib的,需要在这个VC的view上再加一个uiView,而这个uiView是也是通过xib创建的,在xib中画了几个控件,之间有约束,然后我在VC中是这样写的PictureBrighVC.m- (void)viewDidLoad{ [super viewDidLoad]; [self.view
2015-11-05 00:26:47
2272
原创 iOS支持右滑返回上一页
iOS 7中在传统的左上角返回键之外,提供了右滑返回上一级界面的手势。支持此手势的是UINavigationController中新增的属性。interactivePopGestureRecognizer,即右滑返回只支持以UINavigationController为容器的ViewController间切换,要想在自定义容器中使用,需要一些额外的工作。1. 在viewcontroller声明
2015-10-17 15:24:24
2681
转载 iOS组件添加圆角、边框的方法
具体的实现是使用QuartzCore库,下面我具体的描述一下实现过程:首先创建一个项目,名字叫:ipad_webwiew利用Interface Builder添加一个UIWebView,然后和相应的代码相关联添加QuartzCore.framework代码实现: #import #import @interface ipad_we
2015-10-15 19:05:08
640
转载 iOS判断键盘弹出和隐藏
转自:http://www.ithao123.cn/content-9982085.html1、首先在.h 中定义属性: keyBoardlsVisible 键盘的状态,键盘弹出其值为 YES ,键盘隐藏为NO,可通过状态的值进行自己相应的操作@property(nonatomic,assign) BOOLkeyBoardlsVisible;2、.m 中定义两个监测键盘状态的通知:keyb
2015-10-13 11:55:19
10917
转载 Xcode 7遇到 App Transport Security has blocked a cleartext HTTP 错误
转自:http://www.cnblogs.com/Apolla/p/4749188.html今天用Xcode 7 创建新项目用到 URL 发送请求时,报下面的错: “App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exce
2015-10-09 23:04:53
362
转载 你需要知道的16个Linux服务器监控命令
如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个 专业的 Linux 系统管理员。有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST,KDE 的 KDE System Guard 同样很出色。当然,要使用这些工具,你必须在服务器跟前进行操作,而且这些 GUI 的程
2015-07-16 16:42:45
425
转载 atomic_inc 原子操作
atomic_inc(&v)对变量v用锁定总线的单指令进行不可分解的"原子"级增量操作,避免v的值由于中断或多处理器同时操作造成不确定状态。原子操作 所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。 原子操作需要硬件的支持,因此是架构相关的,其
2015-07-10 11:32:54
1886
1
原创 Linux下free命令详解
这是我查到的,很好的解释,供参考! 这也是让我们更深入的理解此FREE命令,及linux内核处理内存的机制了: 我的linux执行free命令显示如下: [root@Linux /tmp]# free total used free shared buffers cached
2015-07-02 23:17:54
793
转载 您应该知道的UNIX工具之lsof
转自:http://blog.csdn.net/yetyongjin/article/details/7740373这是“您应该知道的UNIX工具系列主题文章”的第三篇。在这篇文章里,我将介绍一个很有用的工具—lsof。如果说netcat是网络连接的瑞士军刀,那么我说lsof是UNIX调试的瑞士军刀。Lsof严格遵循UNIX的哲学典范。它仅完成一项任务,并且做得极尽完美----它能够列
2015-05-08 19:18:40
594
原创 ubuntu下samba的安装
我们这里以samba3.6.1为例说明,按照本文方法一步步来,肯定是可以成功的。【samba安装方法】$ tar xzvf samba-latest.tar.gz$ cd samba-3.6.1/source3/$ ./configure$ make$ make install$ cp -R /usr/local/samba/lib/* /usr/lib/$ cp
2015-04-15 22:38:02
486
转载 vim显示行号、语法高亮、自动缩进的设置
转自:http://blog.csdn.net/chuanj1985/article/details/6873830在UBUNTU中vim的配置文件存放在/etc/vim目录中,配置文件名为vimrc ,打开这个文件,按需要增加下面的命令即可在Fedora中vim的配置文件存放在/etc目录中,配置文件名为vimrc在Red Hat Linux 中vim的配置文件存放在/e
2015-04-15 22:35:59
534
原创 已经安装了java环境,eclipse还不能启动
前提:windows系统上已经成功安装了java虚拟环境,并且在环境变量中已经正确设置了java运行时环境,在cmd下执行java,ok。但这个时候运行eclipse,依然报错:No java virtual machine was found after searching the follwing locations: d:javaeclipsejreinjavaw.exe 'java
2015-03-23 23:08:32
3216
原创 ubuntu18下的nginx安装
在安装nginx时,一般我们都需要先装pcre, zlib以及openssl,前者为了重写rewrite,后者为了gzip压缩,openssl可以支持https协议。1.选定源码目录可以是任何目录,本文选定的是/usr/local/srccd /usr/local/src2.安装PCRE库ftp://ftp.csx.cam.ac.uk/pub/software/progra
2015-03-16 22:31:33
742
转载 C++中extern "C"的用法
参考了两篇文章:1. http://songpengfei.iteye.com/blog/11002392. http://www.cnblogs.com/rollenholt/archive/2012/03/20/2409046.html 比如说你用C 开发了一个DLL 库,为了能够让C ++语言也能够调用你的DLL 输出(Export) 的函数,你需要用exte
2015-03-13 19:39:54
473
转载 C++中线程安全的单例模式
这是从公司内网上转过来的,总结的不错,就记录了,这里默默感谢下。一、即第一次调用该类实例的时候才产生一个新的该类实例,并在以后仅返回此实例。需要用锁,来保证其线程安全性:原因:多个线程可能进入判断是否已经存在实例的if语句,从而non thread safety.使用double-check来保证thread safety.但是如果处理大量数据时,该锁才成为严重的性能瓶
2015-03-05 18:07:28
459
原创 dlopen、dlsym的简单使用
一、dlopen、dlsym我所理解的是通过dlopen可以动态加载一个so,通过dlsym可以获得该so中某接口的地址,从而实现使用该so中接口的功能。二、代码如下:mylib.cpp#include #include /* * c++编译后的文件会把函数名改名(为了实现重载功能) * 用extern "C"声明后,就会使用c的方式进行编译,编译后的文件中仍然是定义的函
2015-02-13 18:44:50
2500
原创 mkdir创建多级目录
if( (iRet = access(m_UserAuthBillPath.c_str(), W_OK | R_OK | F_OK)) != 0 ){ char szBillPath[1024] = {0}; char szCurDir[128] = {0}; char* pCurr = NULL; char* pNext = NULL; memcpy(
2015-02-05 18:01:54
856
原创 Linux中ELF格式文件介绍
一、 ELF简介 ELF(Executable and Linkable Format)即可执行连接文件格式,是一种比较复杂的文件格式,但其应用广泛。与linux下的其他可执行文件(a.out,cof)相比,它对节的定义和gnu工具链对它的支持使它十分灵活,它保存的足够了系统相关信息使它能支持不同平台上的交叉编译和交叉链接,可移植性很强.同时它在执行中支持动态链接共享库。 EL
2015-01-18 22:40:20
631
转载 Linux操作系统中进程内存分配解析
在一个新进程建立时,将会建立自己的内存空间,32位的操作系统下,每个进程最大可寻址空间为4G,当然这里说的地址是虚拟地址,并且虚拟地址的0-3G对于一个进程的用户态和内核态来说是可以访问的,而3-4G是只有进程的内核态可以访问的,所以用户可以操作的只有3G。另外,我们都知识,一个进程中包含了堆、栈、静态变量,全局变量,代码段等,那么这些在进程的内存空间中是怎么布局的呢?
2015-01-18 00:41:46
1942
原创 使用GDB调试core文件时的一些基本知识
一、错误代号 一般出现core会由以下几种类型的错误触发生成: 1. SIGSEGV 段错误(信号11),说白了就是访问了非法内存地址,无论是超出进程范围的(地址越界)还是系统不存在的内存访问(指针指向空) 2. SIGABRT 检测异常(信号6) 调用了abort()函数导致,最常见的是对释放的内存(free())再次进行释放,或者内存分配失败
2015-01-18 00:32:30
1174
原创 makefile编译一个目录下的文件
1、该目录下所有的文件都单独为可执行程序:CC := g++CFLAGS := \ -m32 -ggdb3 -pipe -Wall -fPIC -MMD -MP -D_REENTRANT -D_GNU_SOURCE -pthreadINC = -L./LIB = -lm\ -lpthread SRCS := $(wildcard *
2015-01-13 17:25:08
613
转载 Reactor与Proactor的概念
转自:http://www.cnblogs.com/dawen/archive/2011/05/18/2050358.html1、标准定义两种I/O多路复用模式:Reactor和Proactor一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处
2015-01-10 10:30:26
497
转载 daemon进程
转自:http://blog.chinaunix.net/uid-27105712-id-3356916.html 为什么一定要使用daemon进程呢?Linux中每一个系统与用户进行交流的界面称为终端(terminal),每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端(Controlling terminal),当控制终端被关闭时,相应的进
2014-12-21 19:26:50
633
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人