作者归档:鸡鸡哥的聪明伶俐的儿子

关于鸡鸡哥的聪明伶俐的儿子

嗜抽烟,嗜吃肉,常睡觉晚起,熬夜,看新闻,喜体育栏目,会操作电脑,会操作服务器,能做些别人不屑于做的事情。厌做饭,恶洗碗,不洗澡,不刷牙,不剃胡须,不喜逛超市,重压之下偶去之,无上进心,无恒心,无毅力。 1988-1998年,虚度人生 2001-2013年,懵懵懂懂忽然就有孩子有老婆有,匆匆间父亲去世,匆匆半个人生没有了 2013- 知道自己需要什么,知道自己该做什么,知道自己的是个什么样的人,重新上路,明明白白活自己。 ------鸡鸡哥 2013.02.28 老了,以后得改称老鸡鸡哥了,继续努力吧 -----鸡鸡哥 20150517

ubuntu16.04 任务栏不显示,桌面菜单右键无反应,无响应

linux系统的包依赖导致的副作用就是无意卸载一些小软件,这里是常用的gnmoe的软件

这次搜狗输入法出问题,折腾的过程中卸载了一些gnome的一些包,导致任务栏不显示,桌面右键菜单无法显示,总结如下
1、任务栏不显示,metacity gnome的窗口管理器
apt install metacity
metacity –replace #运行一下就OK
没窗口管理器:
开个程序
第一,在左上角
第二,没有边框
第三,不可挪动
第四,不可变形
第五,盖而无返
第六,……
2、gnome-tweak-tool Gnome Tweak Tool 是 Gnome 出品的配置工具,方便用户对 Gnome Shell 进行一些调整。
主要功能有:
安装,更改 Gnome-shell 主题
继续阅读

ubuntu搜狗拼音输入法升级后忽然不能用了,解决

其实很多都是配置文件导致的,一般都是~/.config/xxxx目录,xxx是应用名字,有可能大小写,搜索时注意

出错现象就是无法输入中文,有浮窗,出不来汉字,右上角输入法图标有时候也不能用,动不动不能启动。
日志中有:
viMar 16 14:26:11 yanjin-Lenovo-G500 kernel: [ 922.570008] sogou-qimpanel[4689]: segfault at 361500 ip 00000000004fbedb sp 00007ffde42edc70 error 4 in sogou-qimpanel[400000+1c5000]
Mar 16 14:26:15 yanjin-Lenovo-G500 kernel: [ 927.290693] sogou-qimpanel[4910]: segfault at 3613c0 ip 00000000004fbedb sp 00007ffdb6b09510 error 4 in sogou-qimpanel[400000+1c5000]
Mar 16 14:26:23 yanjin-Lenovo-G500 kernel: [ 935.102633] sogou-qimpanel[5015]: segfault at 36c9b0 ip 00000000004fbedb sp 00007ffdd57b3e40 error 4 in sogou-qimpanel[400000+1c5000]

解决Ubuntu 16.04 搜狗输入法 只有悬浮窗中文不能自动联想的问题
一直用得好好的,不知道下载了什么更新导致搜狗输入法,在输入中文的时候,只显示一个悬浮窗。打字的时候什么反应都没有。中文也联想不出来。
找了半天,重新安装fcitx/搜狗输入法N次无果,在网上论坛找到了答案,修复了这个问题,记录一下。
直接删除其配置文件:
rm -rf ~/.config/SogouPY* ~/.config/sogou*
然后直接在右上角点fcitx图标,下拉列表里面重启fcitx输入法

转:http://fiture.me/share/linux-ubuntu/1246.html

thinkphp5的crud基本操作理解

thinkphp的参数绑定:
Db::execute(‘insert into think_data (id, name ,status) values (?, ?, ?)’, [8, ‘thinkphp’, 1]);

thinkphp的占位符绑定:
Db::execute(‘insert into think_data (id, name , status) values (:id, :name, :status)’, [‘id’ => 10, ‘name’ => ‘thinkphp’, ‘status’ => 1]);

$result = Db::query(‘select * from think_data where id=:id’, [‘id’ => 10]);
dump($result);

thinkphp的查询构造器:
Db::table()和Db::name(),一个是完整的表名,一个是表前缀
$list = Db::name(‘data’)->where(‘id’,5)->select();

db助手函数默认会每次重新连接数据库,因此应当尽量避免多次调用。
$db = db(‘data’);
$db->insert([‘id’ => 3, ‘name’ => ‘thinkphp’]);
$list = $db->where(‘id’,20)->select();

链式操作做复杂查询:
$list = Db::name(‘data’)->where(‘status’,1)->field(‘id,name’)->order(‘id’,’desc’)->limit(10)->select();
dump($list);

全新途胜carlife的音乐格式

不想使用mp3,音质差
不支持其他无损格式,只能用wav

网上下载了一些ape格式的无损音乐文件,需要转化为wav,使用ffmpeg即可
ffmpeg -i music.ape music.wav

有些wav文件无法播放,全是电流声,但是用别的播放器是可以的,查看可能是声道问题,重新使用ffmpeg混音就可以
/usr/bin/ffmpeg -i /home/yanjin/music/wav/music.wav -af “pan=stereo|c0

搞定.

cacti,当udp不能用时,使用tcp的snmp监控服务器

国内网络环境复杂,udp往往不能用,可代用tcp,注意如下

添加设备的地方:
hostname tcp:ip 不是写ip,这里写tcp:192.168.0.xxx

snmp协议,通过修改/etc/sysconfig/snmpd文件,加入监听tcp端口
如:
# snmpd command line options
OPTIONS="tcp:1161 -LS0-6d -Lf /dev/null -p /var/run/snmpd.pid"

就可以了

thinkphp5中的pathinfo解析,nginx说明

nginx用正则拆分uri,官方的说明,很清楚!!!
thinkphp5必备!!!

Syntax: fastcgi_split_path_info regex;
Default: —
Context: location
Defines a regular expression that captures a value for the $fastcgi_path_info variable. The regular expression should have two captures: the first becomes a value of the $fastcgi_script_name variable, the second becomes a value of the $fastcgi_path_info variable. For example, with these settings

location ~ ^(.+\.php)(.*)$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME /path/to/php$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;

and the “/show.php/article/0001” request, the SCRIPT_FILENAME parameter will be equal to “/path/to/php/show.php”, and the PATH_INFO parameter will be equal to “/article/0001”.

模板文件中用的多,如page.tpl.php

流程控制的替代语法

(PHP 4, PHP 5, PHP 7)

PHP 提供了一些流程控制的替代语法,包括 ifwhileforforeachswitch。替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;endwhile;endfor;endforeach; 以及 endswitch;

<?php if ($a == 5): ?>
A is equal to 5
<?php endif; ?>

在上面的例子中,HTML 内容“A is equal to 5”用替代语法嵌套在 if 语句中。该 HTML 的内容仅在 $a 等于 5 时显示。

__METHOD__,__FUNCTION__

本文实例讲述了PHP中魔术变量__METHOD__与__FUNCTION__的区别,分享给大家供大家参考。具体分析如下:
__METHOD__类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
__FUNCTION__函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
文档解释都是说返回函数(方法)的名字。区别在于:
__FUNCTION__只是返回方法的名字;

__METHOD__返回类的名字和方法的名字。

<?php
      class Test{
        public function doit(){
          echo __FUNCTION__;
        }
        public function doitAgain(){
          echo __METHOD__;
        }
      }
      $obj = new Test();
      $obj->doit();
      echo '<br>';
      $obj->doitAgain();
?>

输出结果为:
doit
Test::doitAgain

 

Don’t know how to define struct flock on this system, set –enable-opcache=no

php-5.6.28编译出错,无法开启enable-opcache,出错信息如下:

Don’t know how to define struct flock on this system, set –enable-opcache=no

 

去掉php编译参数中的–disable-rpath,编译通过,具体原因未知,网上很多人说少litool-devel,也有人说和mysql的libmysqlclient的位置有关,我是没有解决,去掉disable_rpath,编译通过

https

https
数字证书:一种文件的名称,好比一个机构或人的签名,能够证明这个机构或人的真实性。其中包含的信息,用于实现上述功能。

加密和认证:加密是指通信双方为了防止铭感信息在信道上被第三方窃听而泄漏,将明文通过加密变成密文,如果第三方无法解密的话,就算他获得密文也无能为力;认证是指通信双方为了确认对方是值得信任的消息发送或接受方,而不是使用假身份的非法者,采取的确认身份的方式。只有同时进行了加密和认证才能保证通信的安全,因此在SSL通信协议中这两者都被应。早期一般是用对称加密算法,现在一般都是不对称加密,最常见的算法就是RSA。

消息摘要:这个技术主要是为了避免消息被篡改。消息摘要是把一段信息,通过某种算法,得出一串字符串。这个字符串就是消息的摘要。如果消息被篡改(发生了变化),那么摘要也一定会发生变化(如果2个不同的消息生成的摘要是一样的,那么这就叫发生了碰撞)。

消息摘要的算法主要有MD5和SHA,在证书领域,一般都是用SHA(安全哈希算法)。

数字证书、加密和认证、消息摘要三个技术结合起来,就是在HTTPS中广泛应用的证书(certificate),证书本身携带了加密/解密的信息,并且可以标识自己的身份,也自带消息摘要。

HTTPS认证过程:

① 浏览器发送一个连接请求给安全服务器。

② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。

③ 客户浏览器检查服务器送过来的证书是否是由自己信赖的 CA 中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的,询问客户是否需要继续。

④ 接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。

⑤ 服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。
还没有开始加密
⑥ 客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。

⑦ 服务器从客户发送过来的密码方案中,选择一种加密程度最高的密码方案,用客户的公钥加过密后通知浏览器。

⑧ 浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。

⑨ 服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥。

⑩ 服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。

上面所述的是双向认证 SSL 协议的具体通讯过程,这种情况要求服务器和用户双方都有证书。单向认证 SSL 协议不需要客户拥有 CA 证书,具体的过程相对于上面的步骤,只需将服务器端验证客户证书的过程去掉,以及在协商对称密码方案,对称通话密钥时,服务器发送给客户的是没有加过密的 (这并不影响 SSL 过程的安全性)密码方案。这样,双方具体的通讯内容,就是加过密的数据,如果有第三方攻击,获得的只是加密的数据,第三方要获得有用的信息,就需要对加密 的数据进行解密,这时候的安全就依赖于密码方案的安全。而幸运的是,目前所用的密码方案,只要通讯密钥长度足够的长,就足够的安全。这也是我们强调要求使用128 位加密通讯的原因。