Written by 正冰 on 2017, November 15, 2:46 PM
1. 匈牙利命名:
开头字母用变量类型的缩写,其余部分用变量的英文或英文的缩写,要求单词第一个字母大写。
For example: long lsum = 0;"l"是类型的缩写;
2. 小驼峰式:(little camel-case)
第一个单词首字母小写,后面其他单词首字母大写。
For example: string firstName = string.Empty;
2. 大驼峰式:(big camel-case)
每个单词的第一个字母都大写;
For example:string FirstName = string.Empty;
Filed under: 编程小记
0 Comments
436849 Views
Written by 正冰 on 2017, October 10, 1:44 PM
mysql 时间戳与日期格式的相互转换
1、UNIX时间戳转换为日期函数:FROM_UNIXTIME()
- select FROM_UNIXTIME(1507614043);
输出:2017-10-10 13:40:43
mysql查询当天的记录数:
- $sql=”select * from 表 Where DATE_FORMAT(FROM_UNIXTIME(列),’%Y-%m-%d’) = DATE_FORMAT(NOW(),’%Y-%m-%d’) order by id desc”;
2、日期转换为UNIX时间戳函数: UNIX_TIMESTAMP()
- Select UNIX_TIMESTAMP('2017-10-10 13:40:43');
输出:1507614043
查看当前时间的时间戳:
- Select UNIX_TIMESTAMP(NOW());
PHP 时间戳与日期格式的相互转换:
UNIX时间戳转换为日期用函数: date()
- date('Y-m-d H:i:s', 1507614043);
日期转换为UNIX时间戳用函数:strtotime()
- strtotime('2017-10-10 13:40:43');
Filed under: 技术归总
0 Comments
409582 Views
Written by 正冰 on 2017, October 2, 8:20 PM
最近在淘宝上买了一个最新的树莓派三代B型Element14版(中国造)用来完成一个小型项目。
1、树莓派最新系统
下载地址:https://www.raspberrypi.org/downloads/raspbian/
我选择的是RASPBIAN STRETCH WITH DESKTOP,基于Debian系统,带桌面环境,版本为2017-09-07-raspbian-stretch(http://111.1.62.87/files/5182000004AB280B/vx2-downloads.raspberrypi.org/raspbian/images/raspbian-2017-09-08/2017-09-07-raspbian-stretch.zip)。
2、默认没有开启ssh,如何开启?
进入终端界面,切换到boot目录,创建一个ssh文件,然后重启,命令如下:
- cd /boot
- sudo touch ssh
- reboot
3、树莓派开启远程桌面功能(window系统远程桌面连接可以连接)
- cd /tmp/
- wget http://mirrordirector.raspbian.org/raspbian/pool/main/x/xfonts-base/xfonts-base_1.0.3_all.deb
- sudo dpkg -i xfonts-base_1.0.3_all.deb
- sudo apt-get remove xrdp vnc4server tightvncserver -y
- sudo apt-get install tightvncserver -y
- sudo apt-get install xrdp -y
4、更新apt-get列表
5、安装一个Nginx+PHP+MySQL+PhpMyAdmin玩玩?
- sudo apt-get install nginx -y
- sudo apt-get install php5-fpm php5-mysql -y
- sudo apt-get install mysql-client-core-5.5 -y
- sudo apt-get install mysql-server mysql-client -y
注意:当在安装的时候提示如下错误,解决方法就是换回官方源即可,参考第6条。
- mysqsl-server : Depends: mysql-server-5.5 but it is not going to be installed
- Depends: mysql-client-5.5 but it is not going to be installed
安装完成之后mysql的root用户只能在树莓派系统的root用户下才能进入,当你是pi用户登录时候,输入su和root用户密码后就可以切换到root用户下,然后用mysql -uroot -p即可进入mysql数据库进行操作。
接着开始配置nginx+php+mysql
#修改nginx默认配置文件
- sudo nano /etc/nginx/sites-available/default
把index index.html index.htm index.nginx-debian.html;
改为index index.php index.html index.htm index.nginx-debian.html;
因为按照的是php5-fpm模式来跑php,所以继续往下,有关php的部分修改如下
- # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
- #
- location ~ \.php$ {
- # include snippets/fastcgi-php.conf;
- #
- # # With php5-cgi alone:
- # fastcgi_pass 127.0.0.1:9000;
- # # With php5-fpm:
- fastcgi_pass unix:/var/run/php5-fpm.sock;
- fastcgi_index index.php;
- include fastcgi_params;
- }
接着按ctrl+x,按y后回车保存成功,测试一下配置文件是否有问题:
nginx+php-fpm配置后页面显示空白的解决方法:
参考:http://blog.csdn.net/feiniao8651/article/details/52768911
在/etc/nginx/fastcgi_params文件的最后增加两行:
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- fastcgi_param PATH_INFO $fastcgi_script_name;
最后重载nginx和php5-fpm
- sudo service nginx reload
- sudo service php5-fpm reload
查看nginx+php+mysql版本号如下:
- pi@raspberrypi:/ $ nginx -v
- nginx version: nginx/1.6.2
- pi@raspberrypi:/ $ php -v
- PHP 5.6.30-0+deb8u1 (cli) (built: Apr 14 2017 16:20:58)
- Copyright (c) 1997-2016 The PHP Group
- Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
- with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
- pi@raspberrypi:/ $ mysql -V
- mysql Ver 15.1 Distrib 10.1.23-MariaDB, for debian-linux-gnueabihf (armv7l) using readline 5.2
nginx默认的网页目录是:/var/www/html
6、默认更新源太慢了,能不能换个更新源?
把源改成aliyun的就会比较快了!命令如下:
- sudo mv /etc/apt/sources.list /etc/apt/sources.list_bak
- sudo nano /etc/apt/sources.list
输入下面2条记录后按ctrl+x退出,输入y后回车完成保存
- deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main contrib non-free rpi
- deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main contrib non-free rpi
保存之后需要用sudo apt-get update命令更新软件源列表。
注意:如果发现后续在安装软件无法成功的情况下,请恢复官方默认源,好处就是安装成功率会很高,毕竟是官方出品;坏处就是速度会慢一点,毕竟是连接到千里之外。
7、用到树莓派的显示屏作为演示或监视器的时候,禁止长时间无响应屏幕休眠的方法。
电源管理中禁止屏幕休眠,命令具体如下:
- sudo nano /etc/profile.d/screen.sh
输入如下命令后按ctrl+x,然后按y后回车,最后重启即可:
xset s 0 0
xset dpms 0 0 0
其它一些设置
- #xset s 300 #设置屏保时间为300秒,时间单位为秒
- #xset s 0 #关闭屏幕保护
- #xset dpms 0 0 0 # 三个数值分别为Standby、Suspend、Off,单位秒
- #xset -dpms #关闭电源管理
更多相关设置示例:
指令 |
说明 |
xset s off |
禁用屏幕保护 |
xset s 3600 3600 |
设置空闲时间为1小时 |
xset -dpms |
关闭 DPMS |
xset s off -dpms |
禁用 DPMS 并阻止屏幕进入空闲 |
xset dpms force off |
立即关闭屏幕 |
xset dpms force standby |
强制屏幕进入待命状态 |
xset dpms force suspend |
强制屏幕进入暂停状态 |
8、修改为上海时区
- sudo timedatectl set-timezone Asia/Shanghai
9、我需要安装Firefox!
在树莓派下Firefox叫做iceweasel,安装命令如下:
- sudo apt-get install iceweasel -y
如果希望Firefox支持Flash的话就继续执行以下命令:
- sudo apt-get install browser-plugin-gnash -y
10、树莓派自动登录、自动运行startx、自动运行程序
参考:http://blog.csdn.net/rocklee/article/details/50083049
设置开机自动运行Firefox命令如下:
- mkdir -p /home/pi/.config/autostart
- echo '[Desktop Entry]'>/home/pi/.config/autostart/my.desktop
- echo 'Type=Application'>>/home/pi/.config/autostart/my.desktop
- echo 'Exec=firefox'>>/home/pi/.config/autostart/my.desktop
11、禁用Firefox崩溃后的会话恢复功能(默认是启用的)
这样在意外退出或崩溃后,Firefox 也不会恢复上次会话的窗口和标签页:
在 地址栏,输入 about:config,然后按 Enter,到 about:config 页面。
在顶端的过滤器文本框中,输入browser.sessionstore.resume_from_crash。
在结果栏中,双击browser.sessionstore.resume_from_crash并设置为false。
12、修改nginx配置文件使得api目录下可以隐藏PHP文件扩展名
比如访问api/get.php文件可以用api/get访问到。
sudo nano /etc/nginx/sites-available/default
在location ~ \.php$这个节点下方增加如下
location ^~ /api/ {
if (!-f $request_filename){
rewrite "^/api/(.*)$" /api/$1.php;
break;
}
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
}
13、设置树莓派HDMI输出黑屏问题
当把树莓派通过HDMI连接显示器或者电视后,如果树莓派先于显示器或电视启动,则会产生显示器或电视开启后黑屏问题,只能重启树莓派才能正常显示。如何解决这个问题呢?在树莓派系统里编辑/boot/config.txt文件,末尾增加hdmi_ignore_edid=0xa5000080保存后重启即可。
14、树莓派修改系统时间
sudo date --s="2017-10-28 12:00:00"
15、解决No module named cv2的问题
sudo apt-get install python-opencv
16、设置树莓派HDMI输出无法全屏问题
我以输出到1920x1080的电视机为例,用sudo nano /boot/config.txt命令编辑配置文件,以下参数修改如下,去掉前面的#(注释符)
- disable_overscan=1
- overscan_left=5
- overscan_right=5
- overscan_top=5
- overscan_bottom=5
- framebuffer_width=1920
- framebuffer_height=1080
17、检测Firefox是否运行,没有运行则重启系统
*/1 * * * * sudo /home/pi/chk_firefox
- #! /bin/bash
- function check(){
- count=`ps -ef |grep $1 |grep -v "grep" |wc -l`
- #echo $count
- if [ 0 == $count ];then
- echo "[ `date +'%Y-%m-%d %T'` ]">>/home/pi/reboot.log
- sudo reboot
- fi
- }
- sleep 30
- check firefox-esr
18、启动chromium浏览器并最大化显示
mkdir -p /home/pi/.config/autostart
echo '[Desktop Entry]'>/home/pi/.config/autostart/my.desktop
echo 'Type=Application'>>/home/pi/.config/autostart/my.desktop
echo 'Exec=/home/pi/start_chrome'>>/home/pi/.config/autostart/my.desktop
touch ~/start_chrome && chmod +x ~/start_chrome
nano ~/start_chrome
- #!/bin/sh
- sed -i 's/"exited_cleanly":false/"exited_cleanly": true/' /home/pi/.config/chromium/Default/Preferences
- sed -i 's/"exit_type":"Crashed"/"exit_type": "None"/' /home/pi/.config/chromium/Default/Preferences
-
- chromium-browser --disable-popup-blocking --no-first-run --disable-desktop-notifications --kiosk "http://blog.is36.com"
19、待续……
Filed under: 技术归总
0 Comments
296973 Views
Written by 正冰 on 2017, September 29, 2:19 PM
这里Linux以CentOS为例,安装好gnome桌面环境以及中文字体支持:
- yum -y groupinstall Desktop
- yum -y groupinstall "X Window System"
- yum -y install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
- yum groupinstall chinese-support
安装完成后首次用startx或者init 5进入桌面系统,然后安装Firefox
我们需要设置Linux自动登录gnome桌面并且启动Firefox程序
修改/etc/gdm/custom.conf
在[daemon]下添加
- AutomaticLoginEnable=true
- AutomaticLogin=root
修改/etc/inittab文件,把id:3:initdefault:修改为id:5:initdefault:保存
然后编辑~/.bash_profile文件,在末尾添加firefox后保存
打开Firefox浏览器,设置主页和full screen插件
重启系统,就可以看到系统自动登录->启动Firefox浏览器->打开主页->全屏窗口。
参考资料:
- 如果是开机马上执行的脚本,可以将脚本写到rc.local中;
- 如果是用户登录后自动执行脚本,可以将脚本写到相应的用户目录下“~/.bash_profile”,若脚本“~/.bash_profile”不存在,可以直接拷贝“/etc/profile”命名为“~/.bash_profile”;
- 如果是要任一用户登录后自动执行脚本,可以将脚本写到“/etc/profile”中。
Filed under: 技术归总
0 Comments
93023 Views
Written by 正冰 on 2017, September 26, 3:07 PM
用360摄像机APP登录后,提示升级摄像机程序,毫不犹豫地点击了升级……结果升级之后播放录像只提示“安全通道已建立 准备播放”无法播放。
解决方法1:尝试卸载手机APP然后重新安装后打开登录查看视频。
解决方法2:如果方法1无法解决问题,直接联系360返厂维修吧。
Filed under: 技术归总
0 Comments
90361 Views
Written by 正冰 on 2017, September 25, 11:42 AM
wget -c -r -np -k -L -p http://www.baidu.com
Filed under: 技术归总
0 Comments
91429 Views
Written by 正冰 on 2017, September 18, 11:34 AM
手头有一个网站是基于CMS Made Simple这个CMS系统搭建的,但是忘记了后台密码,解决方法:
进入mysql管理(基于phpmyadmin或者mysql命令行),然后执行以下sql语句(把中文替换为你实际应用中的数据)
update cms_users set password = (select md5(CONCAT(IFNULL((SELECT sitepref_value FROM cms_siteprefs WHERE sitepref_name = 'sitemask'),''),'新密码'))) where username = '重置密码的用户名'
参考:https://www.cmscanbesimple.org/blog/cms-made-simple-admin-password-recovery
题外话:如果把基于CMS Made Simple搭建的网站修改的域名,需要进入后台,清空一下缓存(cache),然后前台网页就正常了。
Filed under: 技术归总
0 Comments
48730 Views
Written by 正冰 on 2017, September 15, 12:42 PM
完成CentOS7安装之后,需要手动配置IP信息,如下:
/etc/sysconfig/network-scripts
vi ifcfg-eth0
修改ONBOOT=no为ONBOOT=yes
然后添加IP、网关、DNS信息
- IPADDR=192.168.1.2
- GATEWAY=192.168.1.1
- DNS1=192.168.26.1
然后按Esc输入:wq后回车保存。
service network restart #重启网络
ping g.cn #测试网络是否正常
Filed under: 技术归总
0 Comments
25612 Views