Da'sBlog


  • 首页

  • 分类

  • 归档

  • compass中文手册

  • 搜索
close
Da'sBlog

php-disign-pattern设计模式

发表于 2017-04-21 | 分类于 php

单一职责:1避免职责分散,2避免职责过于集中。关键词 整体 部分。原子

接口隔离:意思是不应该强迫实现一些不会使用的接口 关键词 原子

开放-封闭原则:一个模块扩展是开放的,核心是封闭的。 这里的关键是 抽象,因为抽象具有稳定性

替换原则:子类必须能够替换成他们的基类

阅读全文 »
Da'sBlog

linux-shell-/bin/bash^M错误

发表于 2017-04-20 | 分类于 linux
1
bash: ./du2.sh: /bin/bash^M: bad interpreter: No such file or directory

在win平台下输入/bin/bash的脚本,运行报错。

因为win下默认编辑器的回车是crlf。改成lf就好了

阅读全文 »
Da'sBlog

linux-while-do-case与js和python,php对比

发表于 2017-04-20 | 分类于 linux

case … esac 与其他语言中的 switch … case 语句类似,是一种多分枝选择结构。

1
2
3
4
while command
do
Statement(s) to be executed if command is true
done
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
case 值 in
模式1)
command1
command2
command3
;;
模式2)
command1
command2
command3
;;
*)
command1
command2
command3
;;
esac
阅读全文 »
Da'sBlog

mysql-mysql5.7-[Err]1067-Invaliddefaultvaluefor

发表于 2017-04-19 | 分类于 mysql

升级到mysql5.7后,还原数据出现[Err]1067-Invaliddefaultvaluefor,更改mysqld组的sql_mode.
5.7在/etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
sql_mode        = ALLOW_INVALID_DATES

设置完后,查询下,如果是ALLOW_INVALID_DATES说明改成功。否则检查下。

1
2
3
4
5
6
mysql> select @@sql_mode;
+----------------------------------------------------------------+
| @@sql_mode |
+----------------------------------------------------------------+
| STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------+

阅读全文 »
Da'sBlog

php-php7-fpm默认监听的scok

发表于 2017-04-19 | 分类于 php

php7-fpm默认监听的sock。和以前不一样 。以前是监听9000端口。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
server {
listen 80;
server_name ityhc.com www.ityhc.com;
root /var/www/html/ityhc;
index index.html index.htm index.php;
location ~ \.php?.*$ {
root /var/www/html/ityhc;
fastcgi_index index.php;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
阅读全文 »
Da'sBlog

php-interfaces-and-traits

发表于 2017-04-18 | 分类于 php

interfaces和traits,超强组合

译者注:
老歪,写的文章特别详细,一句话会说好几遍,语义我删减了点。但尽可能保持原意。
如果你还没有用php的interfaces, 会错过面向对象的强大特性. 在PHP 5.4中Interfaces和traits配合十分强大.
Interfaces不在类中,类必须实现interface里约定的方法.

假设我们有个User的类. Users有个地址,我们把地址通过应用邮件包传给PackageShipper(托运人) :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Address {
// ... setters and getters for address fields ...
}
class User {
protected $address;
public function setAddress(Address $address) {
$this->address = $address;
}
public function getAddress() {
return $this->address;
}
// ... other user logic ...
}
class PackageShipper {
public function shipTo(User $user) {
$address = $user->getAddress();
// ... do shipping code using $address ...
}
}
阅读全文 »
Da'sBlog

linux-fifo

发表于 2017-04-14
Da'sBlog

linux-mknod

发表于 2017-04-14 | 分类于 linux
1
2
3
4
5
6
7
8
#将其中的1,3这样的数字记录下来,这表示主设备号和次设备号(一般来说主设备号用来区分设备的种类;次设备号则是为了作唯一性区分,标明不同属性——注意,在unix系统中是把设备也当作文件来对待的),在redhat 9下,ls加不加-L参数都无所谓,但是在Solaris下则一定要加上才可以显示
[root@localhost test1]# ls -lL /dev/null
crw-rw-rw- 1 root root 1, 3 8月 18 21:56 /dev/null
[root@localhost test1]# mknod /dev/hda3 b 3 7 #创建一个区块
[root@localhost test1]# ls -al /dev/hda3 #查看
brw-r--r-- 1 root root 3, 7 8月 21 11:01 /dev/hda3
  1. mknod命令用于创建Linux中的字符设备文件和块设备文件。

  2. 首先要明白什么是设备文件,简单的我们说 操作系统与外部设备(入磁盘驱动器,打印机,modern,终端 等等)都是通过设备文件来进行通信 的,在Unix/Linux系统与外部设备通讯之前,这个设备必须首先要有一个设备文件,设备文件均放在/dev目录下。一般情况下在安装系统的时候系统自动创建了很多已检测到的设备的设备文件,但有时候我们也需要自己手动创建,命令行生成设备文件的方式有 insf,mksf,mknod等等

  3. 根据mknod命令的使用参数来看【mknod Name { b | c } Major Minor 】,使用mknod之前,至少要明白以下几点:
    设备文件类型:分为块设备和字符设备。ls -l /dev 结果显示第一个字段有b 和 c*,这里即标识了块设备和字符设备。
    字符设备文件—-字符设备文件传送数据给设备的时候,一次传送一个字符,终端,打印机,绘图仪,modern等设备都经过字符设备文件传送数据
    块设备—系统通过块设备文件存取一个设备的时候,先从内存中的buffer中读或写数据,而不是直接传送数据到物理磁盘,这种方式能有效的提高磁盘和CD-ROMS的I/O性能。磁盘和CD-ROMS即可以使用字符设备文件也可使用块设备文件。

  4. 来看看mknod 命令,如果该设备文件你想放在一个特定的文件夹下当然就先创建文件夹
    mknod 设备文件名[/dev/xyz] b/c 主号 次号

阅读全文 »
Da'sBlog

html5-prefech加速prerender预渲染

发表于 2017-04-14 | 分类于 html5
  1. DNS Prefetching

现代浏览器当遇到DNS解析时已经十分聪明——用户在跟随某个链接之前,浏览器先尝试解析域名再将其进行缓存。

<link rel="dns-prefetch" href="//fonts.googleapis.com">  
<link rel="dns-prefetch" href="//google-analytics.com">  
<link rel="dns-prefetch" href="//www.google-    analytics.com">  
<link rel="dns-prefetch" href="//platform.twitter.com">
阅读全文 »
Da'sBlog

linux-kill

发表于 2017-04-11 | 分类于 linux

一些快捷键

ctrl+a 行首

ctrl+e 行尾

ctrl+u 删除

ctrl+l 清除屏幕

ctrl+z 加入到后台

ctrl+r 历史记录

linux 把top放入后台 ctrl+z
或者top& 放入后台
&还有含义 就是 1 2 输出

如果要关闭

先ps

看到pid号后

kill -9 pid号

阅读全文 »
1…4567
Sun Hao

Sun Hao

Whoever wants to be first must be slave of all.

68 日志
26 分类
100 标签
RSS
Creative Commons
© 2018 Sun Hao
Powered by Hexo
Theme - NexT.Mist
本站访客数人次 本站总访问量次