imajax-single,一款全站ajax的博客主题

近半年来,慢慢的制作一款能够适合博客使用的,能够方便阅读的,速度要快主题。灵感来自于wordpress的官方默认主题。

制作缘由

很喜欢wordpress的默认主题twenty-fifteen,但是不是全站ajax,曾经为twenty-fifteen增加过诸多功能,但是使用起来还是特别的不方便,因此就自己制作了一份主题了。

制作过程

断断续续的几个月,有时间就写一点代码,没时间就放着。由于博主现在主要搞后端接口了,所以在前端方面花的功夫就太少了,主题外观感觉看起来中规中矩,不过使用起来应该还是很贴心的。

(更多…)

我是一个线程

来自:码农翻身(微信号:coderising)

作者:IBM刘欣

我是一个线程,我一出生就被编了个号: 0x3704,然后被领到一个昏暗的屋子里, 这里我发现了很多和我一模一样的同伴。

我身边的同伴0x6900待的时间比较长, 他带着沧桑的口气对我说:

“我们线程的宿命就是处理包裹。把包裹处理完以后还得马上回到这里,否则可能永远回不来了。”

我一脸懵懂,包裹,什么包裹?

“不要着急,马上你就会明白了, 我们这里是不养闲人的。”

果然,没多久,屋子的门开了, 一个面貌凶恶的家伙吼道:

“0x3704 ,出来!”

我一出来就被塞了一个沉甸甸的包裹,上面还有附带着一个写满了操作步骤的纸。

“快去,把这个包裹处理了。”

“去哪儿处理?”

“跟着指示走, 先到就绪车间”

果然,地上有指示箭头,跟着它来到了一间明亮的大屋子,这里已经有不少线程了, 大家都很紧张,好像时刻准备着往前冲。 (更多…)

shell 变量的定义

shell可以自定义变量,这为shell的编写带来很多方便

定义变量

定义变量时,变量名不加美元符号($),如:

variableName="value"

注意:变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样

同时,变量名的命名须遵循如下规则。

首个字符必须为字母(a-z,A-Z)。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。
变量定义举例: (更多…)

用php编写守护进程

在此之前,需要知道守护进程这个概念,知道之后,才可以用php来编写守护进程。那么创建守护进程需要有下面这几个步骤。

1.创建子进程,父进程退出

父进程先与子进程退出,子进程则会被1号进程收养,这个子进程就会成为init的子进程

php使用pcntl_fork()来创建子进程。

pcntl_fork()返回一个整型值,在父进程里面返回的是子进程的id,子进程返回的是0,失败则返回-1。这样我们就可以根据这个来分别控制父进程和子进程执行任务。

2.子进程创建会话

这个是重要的一步,在这一步中该子进程会做这些事情:1.让进程摆脱原会话的控制;2.让进程摆脱员进程组的控制;3.让进程摆脱终端的控制。

为什么要这样?这个在守护进程介绍里面有

php这里使用posix_setsid()来在这个子进程中创建会话,使得这个进程成为会话组组长 (更多…)

chkconfig给linux添加开机自启动服务,chkconfig命令详解

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。

使用语法

chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

chkconfig 在没有参数运行时,会显示所有的服务在开机启动状态。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指 定了on,off或者reset,那么chkconfig 会改变指定服务的启动信息。on和off分别指服务被启动和停止,reset指重置服务的启动信息,无论有问题的初始化脚本指定了什么。on和off开 关,系统默认只对运行级3,4,5有效,但是reset可以对所有运行级有效。

参数用法

--add  增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
--del  删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
--level<等级代号>  指定读系统服务要在哪一个执行等级中开启或关毕。
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动

(更多…)

第一个shell脚本,hello shell

Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh),等等。不同的Shell语言的语法有所不同,所以不能交换使用。每种Shell都有其特色之处,基本上,掌握其中任何一种 就足够了。在本文中,我们关注的重点是Bash,也就是Bourne Again Shell,由于易用和免费,Bash在日常工作中被广泛使用;同时,Bash也是大多数Linux系统默认的Shell。在一般情况下,人们并不区分 Bourne Shell和Bourne Again Shell,所以,在下面的文字中,我们可以看到#!/bin/sh,它同样也可以改为#!/bin/bash。

你现在可能知道shell是什么了,想学习shell,那我们就开始第一个入门脚本

从hello shell开始,用vim新建一个脚本

vim hello.sh

并且在里面输入下面内容

#!/bin/bash
echo "Hello shell!"

“#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell,这里我们用的是bash,echo命令用于向窗口输出文本。 (更多…)

linux shell 入门

从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一。

Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh),等等。不同的Shell语言的语法有所不同,所以不能交换使用。每种Shell都有其特色之处,基本上,掌握其中任何一种 就足够了。在本文中,我们关注的重点是Bash,也就是Bourne Again Shell,由于易用和免费,Bash在日常工作中被广泛使用;同时,Bash也是大多数Linux系统默认的Shell。在一般情况下,人们并不区分 Bourne Shell和Bourne Again Shell,所以,在下面的文字中,我们可以看到#!/bin/sh,它同样也可以改为#!/bin/bash。

利用vi等文本编辑器编写Shell脚本的格式是固定的,如下:

#!/bin/sh
#comments
Your commands go here

首行中的符号#!告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程 序。如果首行没有这句话,在执行脚本文件的时候,将会出现错误。后续的部分就是主程序,Shell脚本像高级语言一样,也有变量赋值,也有控制语句。除第 一行外,以#开头的行就是注释行,直到此行的结束。如果一行未完成,可以在行尾加上”,这个符号表明下一行与此行会合并为同一行。 (更多…)

memcacheq的安装与使用

1、安装libevent

官网:http://www.libevent.org/

$ wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz --no-check-certificate
$ tar -zxvf libevent-2.0.21-stable.tar.gz
$ cd libevent-2.0.21-stable
$ ./configure --prefix=/usr/local/libevent
$ sudo make && make install

2、安装 BerkeleyDB

官网:http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html(下载需要登录)

安装:

$ wget http://download.oracle.com/berkeley-db/db-6.0.30.tar.gz
$ tar -zxvf db-6.0.30.tar.gz (根据自身的情况解压到目录)
$ cd db-6.0.30/build_unix
$ ../dist/configure --prefix=/usr/local/berkeleyDB
$ sudo make && make install

安装完成之后:

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/libevent/lib:/usr/local/berkeleyDB/lib

或者:

$ vim /etc/ld.so.conf

添加:

/usr/local/libevent/lib
/usr/local/berkeleyDB/lib

并执行:

$ /sbin/ldconfig

(更多…)

php-fpm与fastcgi之间的关系

php-fpm与fastcgi名词解释

php-fpm 全称为php fastcgi progress manager (php fastcgi 进程管理器)

FastCGI全称为fast common gateway interface (Fast 通用网关接口)

FastCGI是一种协议

Fastcgi是CGI的升级版,一种语言无关的协议,用来沟通程序(如PHP, Python, Java)和Web服务器(Apache2, Nginx), 理论上任何语言编写的程序都可以通过Fastcgi来提供Web服务。
Fastcgi的特点是会在一个进程中依次完成多个请求,以达到提高效率的目的,大多数Fastcgi实现都会维护一个进程池。

(更多…)

守护进程介绍

1.守护进程概述

守护进程,也就是通常所说的daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地 执行某种任务或等待处理某些发生的事件。守护进程常常在系统引导载入时启动,在系统关闭时终止。Linux有很多系统服务,大多数服务都是通过守护进程实 现的。同时,守护进程还能完成许多系统任务,例如,作业规划进程crond、打印进程lqd等(这里的结尾字母d就是daemon的意思)。

由于在Linux中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端称为这些进程的 控制终端,当控制终端被关闭时,相应的进程都会自动关闭。但是守护进程却能够突破这种限制,它从被执行开始运转,直到接收到某种信号或者整个系统关闭时才 会退出。如果想让某个进程不因为用户、终端或者其他的变化而受到影响,那么就必须把这个进程变成一个守护进程。可见,守护进程是非常重要的。 (更多…)

linux awk命令分析你的文本或日志,awk命令用法

简介

awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。

awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报 表,还有无数其他的功能。

(更多…)