- 博客(33)
- 收藏
- 关注
转载 Nginx的完整配置示例
#运行用户user nobody;#启动进程,通常设置成和cpu的数量相等worker_processes 1;#全局错误日志及PID文件#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;#工作
2016-06-30 16:37:15 9169
原创 Nginx的启动、停止、平滑重启
启动 假设Nginx安装在/usr/local/nginx/目录中,那么启动Nginx的命令就是:/usr/local/nginx/sbin/nginx - c /usr/local/nginx/conf/nginx.conf参数『-c』指定了配置文件的路径,如果不加『-c』参数,Nginx会默认加载其安装目录的conf子目录中的nginx.conf文件停止 Nginx的停止方法有很多种,一般通
2016-06-30 15:48:31 742
原创 安装Nginx服务器所需要的系统资源
在CentOS系统下,你可以使用yum命令安装GCC编译器及相关工具:yum -y install gcc gcc-c++ autoconf automake模块依赖性:Nginx的一些模块需要其他第三方库的支持。比如gizp模块需要zlib库,rewrite模块需要pcre库,ssl功能需要openssl库。同样可以使用yum命令安装这些模块依赖的库:yum -y install zlib
2016-06-30 14:42:45 623
原创 01-初识正则表达式
1.js var str = "hello world,hello WORLD,Hello World,HELLO world."; var pattern = /world/; // 不能加双引号 var r = str.match(pattern); // js中匹配的代码,会返回一个数组 alert(r); //world console.info(r); //["world"
2016-06-29 22:06:35 419
原创 Composer自动加载功能
一、安装Composer这里略过,查看:http://blog.csdn.net/github_26672553/article/details/51759206二、1.首选新建一个PHP项目文件夹2.可以手动写一个composer.json,内容如下:{ "autoload": { "files": ["comm/functions.php"]
2016-06-28 20:57:56 11173
转载 网站优化:浏览器缓存控制简介及配置策略
每次访问网页,通常浏览器会从服务器下载所需的资源,例如 HTML 文档、图片、CSS、JavaScript,甚至包括字体文件等。这里面的许多文件(例如图片)都是很少变动的,如果每次都要从服务器重新下载,会不必要地增加网页载入时间,同时也会对服务器造成一定压力。通过合理配置缓存策略,可令浏览器以某种方式把这些静态的文件缓存起来,下次请求同一资源时,直接使用本地存储的副本,而不是从服务器重新下载。
2016-06-28 13:10:13 570
转载 Apache参数KeepAlive该如何配置
今天去一家公司面试,被问到Apache中KeepAlive参数是什么意思?如何设置这个值? 感觉当时回答的不是很准确,回来后上网查了下,终于弄明白了!记录一下! KeepAlive值是个布尔值,有两个值On和Off,简单来说,当值为On的时候,用户发起HTTP请求后,Apache不会立刻关闭这个连接,当还有用户发起HTTP请求时,还会使用这个连接,什么时候关闭呢?看KeepAl
2016-06-28 12:02:38 4677
转载 设置http响应头Cache-Control及Pragma,增加CDN cache命中率
最近在折腾CDN cache命中率。然后就发现在伪静态环境下,cdn缓存命中率非常低,一番折腾后发现如果源站的http头部包含一些不缓存的信息,那么CDN”也许“会相应的继承源站发出的HTTP状态。通常喜欢用军哥LNMP安装包的朋友会发现,在动态及伪静态的环境中,HTTP头部信息会包含Cache-Control: no-store,no-cache,must-revalidate,post
2016-06-28 11:50:56 10978
转载 nginx日志切割
把日志根据每天的日期进行分割管理;特点:根据日期生成日志文件;linux修改系统时间的方式:#date -s '年-月-日 时:分:秒'第一步:在根目录下建立data目录#mkdir /data第二步:在data目录下新建shell脚本:#vi runlog.sh写入内容如下:LOGPATH=/usr/local/nginx/logs/z.c
2016-06-28 09:17:43 384
原创 UIBarButtonItem的一个分类,用户快速创建一个UIBarButtonItem
//// UIBarButtonItem+Extension.h#import @interface UIBarButtonItem (Extension)/** * 快速创建一个UIBarButtonItem * * @param image 普通状态下的图片 * @param highImage 高亮状态下的图片 * @param target
2016-06-27 14:24:55 1027
原创 封装frame的修改
给UIView新建一个分类,方便修改frame。代码如下:```// UIView+Frame.h#import <UIKit/UIKit.h>@interface UIView (Frame)@property (nonatomic, assign) CGSize size;@property(nonatomic,assign)CGFloat width;@property(non...
2016-06-27 10:43:59 561
原创 自定义UITabBarController,并设为窗口的根控制器
我们这里不用Main.storyBoard作为程序的主窗口,我们采用代码来自己创建窗口。下面来到AppDelegate.m,#import "TabBarController.h"(这是我们自定义的UITabBarController,继承自UITabBarController)在程序启动方法里创建窗口,并设置窗口的根控制器为我们自定义的TabBarController- (B
2016-06-27 10:16:51 1695
原创 通过appearance统一设置UITabBarItem的文字属性
// 通过appearance统一设置UITabBarItem的文字属性 NSMutableDictionary *attrs = [NSMutableDictionary dictionary]; attrs[NSFontAttributeName] = [UIFont systemFontOfSize:12]; attrs[NSForegroundColorAttrib
2016-06-26 21:48:47 2574
转载 Mac 安装composer
使用 curl 指令下载:curl -sS https://getcomposer.org/installer | php或是沒有安裝 curl ,也可以用 php 指令下载:php -r "readfile('https://getcomposer.org/installer');" | php或是手动下载 composer.phar当你下载了 composer.phar 后,可以将它放在目录中,
2016-06-25 17:11:25 3189
原创 Swift - 选择框(UIPickerView)的用法
import UIKitclass ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource { var pickerView:UIPickerView! override func viewDidLoad() { super.viewDidLoad() //
2016-06-25 15:19:51 4583
原创 Swift - 警告提示框(UIAlertController)的用法
import UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
2016-06-25 13:46:39 6207 1
原创 Swift - 图像控件(UIImageView)的用法
// 使用图像控件显示图片 let imageView = UIImageView(image: UIImage(named: "Checkpage_answer_icon")) imageView.frame = CGRectMake(10, 10, 100, 100) self.view.addSubview(imageView) /
2016-06-25 12:29:58 1390
原创 Swift - 分段选择控件(UISegmentedControl)的用法
import UIKitclass ViewController: UIViewController { // 注意:后面方法中用到控件,所以必须成为成员变量 var segmented:UISegmentedControl! override func viewDidLoad() { super.viewDidLoad() // 选项
2016-06-25 11:49:53 1093
原创 Swift - 开关按钮(UISwitch)的用法
import UIKitclass ViewController: UIViewController { var switchBtn:UISwitch! override func viewDidLoad() { super.viewDidLoad() // 创建UISwitch开关 switchBtn = UISwitch()
2016-06-25 09:00:42 3252
原创 Swift - 多行文本输入框(UITextView)的用法
// 多行文本控件 的创建 let textView = UITextView(frame: CGRectMake(10, 100, 200, 100)) textView.layer.borderWidth = 1 // 边框粗细 textView.layer.borderColor = UIColor.grayColor().CGColor //
2016-06-25 08:59:21 2323
原创 Swift - 文本输入框(UITextField)的用法
import UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 创建文本框 let textField = UITextField(frame: CGRectMake(10,100,200,30))
2016-06-24 15:15:54 804
原创 Swift - 按钮(UIButton)的用法
import UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 创建一个ContactAdd类型的按钮 let button = UIButton(type: .ContactAdd)
2016-06-24 11:53:31 1629
原创 Swift - 文本标签(UILabel)的用法
import UIKitclass ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 创建UILabel let label = UILabel(frame: CGRectMake(10,20,300,100))
2016-06-24 09:54:53 676
原创 Swift - 协议(protocol)
//: Playground - noun: a place where people can playimport UIKit//var str = "Hello, playground"// 1.Swift中协议类似于别的语言里的接口,协议里只做方法的声明,包括方法名、返回值、参数等信息,而没有具体的方法实现protocol Person { // 读写属性 var name:
2016-06-24 09:19:04 464
原创 Swift - 类扩展(extension)
//: Playground - noun: a place where people can playimport UIKit//var str = "Hello, playground"/* Swift语言的类扩展是一个强大的工具,我们可以通过类扩展完成如下事情: 1.给已有的类添加计算属性和计算静态属性 2.定义新的实例方法和类方法 3.提供新的构造器 4.定义下标脚本 5.是一个
2016-06-24 09:07:33 492
原创 Swift - 类的计算属性(使用get和set来间接获取/改变其他属性的值)
//: Playground - noun: a place where people can play// 1.Swift中类可以使用 计算属性,即使用get和set来间接获取/改变其他属性的值class Calcuator { var a:Int = 1 var b:Int = 1 var sum:Int { get{ return
2016-06-23 16:33:04 780
原创 Swift - 类型属性(类静态属性)和类方法(类静态方法)
// 1.结构体struct和枚举enum的静态属性,静态方法使用static关键字struct Account { var amount:Double = 0.0 //账户金额 var owner:String = "" //账户名 static var interestRate:Double = 0.66
2016-06-23 16:18:42 2132
原创 Swift - 属性观察者(willSet与didSet)
//: Playground - noun: a place where people can play//import UIKit////var str = "Hello, playground"/* 属性观察者,类似于触发器。用来监视属性的初始化之外的属性值变化,当属性值发生改变时可以对此做出响应。有如下特点 1.不仅可以在属性值改变后触发didSet,也可以在属性值改变前触发willS
2016-06-23 15:57:19 750
原创 Swift - 类初始化和反初始化方法(init与deinit)
//: Playground - noun: a place where people can play// 1. init() 类的初始化(构造方法)// 使用默认的构造函数class Student { // 类属性 var name:String = "" var number: Int = 0}var student = Student()// 自定义构造函数
2016-06-23 15:37:17 2374
原创 Swift - 自定义函数规则说明
//: Playground - noun: a place where people can playimport UIKitvar str = "Hello, playground"// 【自定义函数规则说明】// 1.无返回值的函数func test(name: String){}// 2.返回一个返回值func test2(name: String) -> Bool { re
2016-06-23 15:27:40 440
原创 给所有分类设置Meta Description
<?phperror_reporting(E_ALL);set_time_limit(0);define('MAGENTO', realpath(dirname(__FILE__)));require_once MAGENTO . '/app/Mage.php';umask(0);Mage::app()->setCurrentStore(Mage_Core_Model_App::ADM
2016-06-03 09:08:50 780 1
原创 Magento 获取当前分类名称
<?php $currentCat = Mage::registry('current_category'); var_dump($currentCat->getName()); ?>
2016-06-03 08:48:57 1483
原创 给分类设置Meta Keywords
<?phperror_reporting(E_ALL);set_time_limit(0);define('MAGENTO', realpath(dirname(__FILE__)));require_once MAGENTO . '/app/Mage.php';umask(0);Mage::app()->setCurrentStore(Mage_Core_Model_App::ADM
2016-06-01 14:50:16 595
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人