apt-get 的几个命令

apt-get 就是从网上下载包,并安装到本地

手工下载 dpkg 包,而后 ”dpkg -i 包名“ 也可以

但找包,检查dependency 太辛苦,这就是 apt-get 帮助做的事情

从哪里下载, 官方url

在/etc/apt/sources.list中,可以看看

开头 deb  代表编译好的包, des-src代表源代码

distribution 代表发行版本

update 三个命令的区别

apt-get update 更新软件列表。
apt-get upgrade 更新软件。
apt-get dist-upgrade 更新系统版本。

查询可安装的 package 

很多时候忘记了package 的名字

用 apt-cache search <包名>  查询就是了,其原理应该是到 package  的index文件中去做正则匹配

查询已经安装的package 

使用 dpkg -S 命令

 

wx.config 配置信息获取

微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。

通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力,为微信用户提供更优质的网页体验。

此文档面向网页开发者介绍微信JS-SDK如何使用及相关注意事项。

使用说明

在使用微信JS-SDK对应的JS接口前,需确保公众号已获得使用对应JS接口的权限,可登录微信公众平台进入“开发者中心”查看对应的接口权限。

注意: 所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”》“功能设置”里填写“JS接口安全域名”。

步骤一:引入JS文件

在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.0.0.js

备注:支持使用 AMD/CMD 标准模块加载方法加载

步骤二:通过config接口注入权限验证配置

所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用)。

wx.config({
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,
若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: '', // 必填,公众号的唯一标识
    timestamp: , // 必填,生成签名的时间戳
    nonceStr: '', // 必填,生成签名的随机串
    signature: '',// 必填,签名,见附录1
    jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});

JS-SDK使用权限签名算法

jsapi_ticket

生成签名之前必须先了解一下jsapi_ticket,jsapi_ticket是公众号用于调用微信JS接口的临时票据。正常情况下,jsapi_ticket的有效期为7200秒,通过access_token来获取。由于获取jsapi_ticket的api调用次数非常有限,频繁刷新jsapi_ticket会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存jsapi_ticket 。

 

1、首先获取AppID和AppSecret。

2、获取access token (http请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

3、用拿到的access token获取jsapi_ticket,https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

成功返回如下JSON:

{
"errcode":0,
"errmsg":"ok",
"ticket":"bx×××hFKA",
"expires_in":7200
}

获得jsapi_ticket之后,就可以生成JS-SDK权限验证的签名了。

4、通过微信 JS 接口签名校验工具获取签名

地址:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign

示例:

noncestr=Wm3WZYTPz0wzccnW (可以直接随机写)
jsapi_ticket=sM4×××KP7qg
timestamp=1414587457 (单位秒)
url=http://mp.weixin.qq.com?params=value (需要调用js的页面地址)

 

 

认证微博粉丝私信消息自动回复聊天机器人,附源码及搭建教程

用过了QQ机器人,微信公众号机器人,个人微信号机器人,这次弄一个微博机器人玩玩。

调用机器人api 图灵机器人(有各种查询功能,调用次数也足够用。)

请到官网注册申请API KEY :http://www.tuling123.com/

认证微博机器人搭建:

1、打开 http://open.weibo.com/ 创建一个网站连接应用获取App Key和App Secret。

2、修改Callback.php中的APP_SECRET对应的值为第一步获取到的App Secret

修改图灵apiKey对应的值为你自己申请的api key

3、将Callback.php和CallbackSDK.php放置在web服务器目录下

比如可访问的网址http://weixin.lyecsp.com/Callback.php

4、打开微博个人主页——管理中心——开发者中心。

weibo-dev

5、开启开发者模式或修改服务器配置

URL填写Callback.php的访问地址

APPKEY填写第一步中获取到的App Key。

weibofuwuqi

 

6、测试机器人是否可以正常工作

测试微博帐号:慧林淘友 (http://weibo.com/huilintaoyou)

至此,一个正常可运行的微博机器人已经完成搭建,Callback.php和CallbackSDK.php在这里下载:认证微博粉丝私信聊天机器人

 

//认证微博粉丝自动回复机器人如何搭建参考网址:http://clin003.com/debug/weibo-robot-3073/
//移植微信公众平台DEMO 修改,挂在新浪微博的私信聊天机器人。测试微博@慧林淘友

 

chrome 离线安装包官方下载地址

怎样打开官方链接就不说了,只说怎样从官方下载离线安装包

https://www.google.com/chrome/browser/desktop/index.html

这个是chrome默认的下载页面,在后面加上

?system=true&standalone=1

也就是

https://www.google.com/chrome/browser/desktop/index.html?system=true&standalone=1

就可以从chrome官方网站下载离线安装包了。

默认下载稳定版,如果需要指定下载的版本就再加上「&extra=[版本名称]」(版本有stablechannelbetachanneldevchannelcanarychannel)。

其他参数说明:

standalone=1 :确认下载离线安装包

platform=win :适用平台为windows
installdataindex=defaultbrowser :安装后设chrome为当前默认浏览器

extra=stablechannel :指定版本为稳定版(候选列表同上)

参考:http://www.lyhuilin.com/view/chrome-lixian.html

Centos 7 yum安装php 记录

CentOS下yum安装PHP

安装 apache 服务

#yum -y install httpd

安装 PHP

#yum -y install  php  php-gd php-mbstring php-mysql

使用
locate php.ini
查看php.ini文件在哪个位置
php -v 查看版本号

添加一个zend gurad loader模块,

在/etc/php.d/目录下新建zend_gurad.ini 然后参考README.txt

1. Extract the Zend Loader package.

2. Locate and extract the ZendGuardLoader.so (Linux) or ZendLoader.dll (Windows) that corresponds to your php version.

3. Add the following line to your php.ini file for loading the ZendGuardLoader:
Linux and Mac OS X: zend_extension=<full_path_to_ZendGuardLoader.so>
Windows non-thread safe: zend_extension=<full_path_to_ZendLoader.dll>

4. Add an aditional line to your php.ini for enabling ZendGuardLoader
; Enables loading encoded scripts. The default value is On
zend_loader.enable=1

5. Optional: following lines can be added your php.ini file for ZendGuardLoader configuration:

; Disable license checks (for performance reasons)
zend_loader.disable_licensing=0
; The Obfuscation level supported by Zend Guard Loader. The levels are detailed in the official Zend Guard Documentation. 0 – no obfuscation is enabled
zend_loader.obfuscation_level_support=3
; Path to where licensed Zend products should look for the product license. For more information on how to create a license file, see the Zend Guard User Guide
zend_loader.license_path=

6. If you use Zend debugger as well, please make sure to load it after the Zend guard Loader

7. If you use ioncube loader, please make sure to load it before Zend guard Loader

8. Restart your Web server.

 

 

配置www

nano /etc/httpd/conf.d/www.conf

<VirtualHost *:80>
ServerName luoyangbang.com
ServerAlias *.luoyangbang.com
DocumentRoot /var/www/abc/
<Directory /var/www/abc>
Require all granted
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>

 

重启对应服务

  1. systemctl restart mysqld.service
  2. systemctl restart httpd.service

 

添加 yum 源

CentOS 6.x 的源

# rpm -Uvh http://download.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

CentOS 7.x 的源

# rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

安装 PHP

# yum install –enablerepo=remi,remi-php56 php php-opcache php-pecl-apcu php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-pdo php-pear php-fpm php-cli php-xml php-bcmath php-process php-gd php-common

注:安装5.6版本为remi-php56,安装5.5版本为remi-php55

查看 PHP 版本

# php -v

关于多个名字空间(xmlns)的演示

由于xml允许你自己定义自己的标识,你定义的标识和其他人定义的标识有可能相同,但表示不同的意义。当文件交换或者共享的时候就容易产生错误。为了避免这种错误发生,XML采用名字空间声明,允许你通过一个网址指向来识别你的标识。

    XHTML是HTML向XML过渡的标识语言,它需要符合XML文档规则,因此也需要定义名字空间。又因为XHTML1.0不能自定义标识,所以它的名字空间都相同,就是”http://www.w3.org/1999/xhtml”。如果你还不太理解也不要紧,目前阶段我们只要照抄代码就可以了。但是仍然有必要理解存在着多个命名空间,以便在需要选择将基于某个 DTD 的内容嵌入其他 DTD 定义的内容中时,可以管理多个命名空间。

xmlns还可以放在div中,如“<div xmlns="http://www.w3.org/1999/Math/MathMl">x3/x</div>” 该div 元素中显示一串数学公式“x3/x”。或者在文档头部定义后在div中引用,如

在头部:<html xmlns=http://www.w3.org/1999/xhtml xmlns:math=”http://www.w3.org/1999/Math/MathMl”>

在div:<math:div>x3/X<div>