chesian


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 搜索
close

Hexo manual

发表于 2018 年 03 月 04 日   |     |   阅读次数

Node和Git都安装好后,可执行如下命令安装hexo:

$ sudo npm install -g hexo

写博客、发布文章

新建一篇博客,执行下面的命令:

hexo new post "article title"

用MarDown编辑器打开就可以编辑文章了。文章编辑好之后,运行生成、部署命令,生成静态页面:

hexo g   // 生成
hexo d   // 部署

当然你也可以执行下面的命令,相当于上面两条命令的效果

hexo d -g #在部署前先生成

本地启动

启动本地服务,进行文章预览调试,命令:

hexo server   

浏览器输入http://localhost:4000

JDBC 与 ODBC 的区别

发表于 2017 年 03 月 01 日   |   分类于 JavaSE , 数据库   |     |   阅读次数

ODBC(Open DataBase Connectivity :开放数据库连接)
是一组对数据库访问的标准API,这些API通过SQL来完成大部分任务,而且它本身也支持SQL语言,支持用户发来的SQL。ODBC定义了访问数据库API的一组规范,这些API独立于形色各异的DBMS和编程语言。

JDBC(Java DataBase Connectivity :Java数据库连接)
是Java与数据库的接口规范,JDBC定义了一个支持标准SQL功能的通用低层API,它由Java 语言编写的类和接口组成,旨在让各数据库开发商为Java程序员提供标准的数据库API。
JDBC API定义了若干Java中的类,表示数据库连接、SQL指令、结果集、数据库元数据等。它允许Java程序员发送SQL指令并处理结果。

JDBC与ODBC都是基于X/Open的SQL调用级接口;
从结构上来讲,JDBC的总体结构类似于ODBC,都有四个组件:应用程序、驱动程序管理器、驱动程序和数据源,工作原 理亦大体相同;
在内容交互方面,JDBC保持了ODBC的基本特性,也独立于特定数据库. 而且都不是直接与数据库交互,而是通过驱动程序管理器。

ODBC 不适合直接在 Java 中使用,因为它使用 C 语言接口。从Java 调用本地 C代码在安全性、实现、坚固性和程序的自动移植性方面都有许多缺点。

JDBC 在很大程度上是借鉴了ODBC的,从他的基础上发展而来。JDBC 保留了 ODBC 的基本设计特征,JDBC 以 Java 风格与优点为基础并进行优化,因此更加易于使用。

TensorFlow-learn

发表于 2017 年 02 月 28 日   |   分类于 机器学习 , TensoFlow   |     |   阅读次数

参考TensorFlow官网:http://www.tensorfly.cn/

使用 TensorFlow, 你必须明白 TensorFlow:

使用图 (graph) 来表示计算任务.
在被称之为 会话 (Session) 的上下文 (context) 中执行图.
使用 tensor 表示数据.
通过 变量 (Variable) 维护状态.
使用 feed 和 fetch 可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据.

django-learn

发表于 2017 年 02 月 27 日   |   分类于 Python , Django   |     |   阅读次数

http://wiki.python.org/moin/WebFrameworks

常见的Python web 框架
Full-Stack FrameWorks

Django web2py TurboGears pythlons

tornado flask bottle

环境:

python
Django
mysql
pymysql

sublime Text 3
pycharm

pip freeze
python -m pip install --upgrade pip

pip install virtulenv

创建虚拟环境
virtulenv base
base\Script\activate
pip install Django

django-admin.py 命令

startproject
startapp
runserver 运行
shell
dbshell
check 检查项目完整性
flush 清空数据库
compilemessages 编译语言文件
makemessages 创建语言文件
makemigrations 生成同步数据库脚步命令
migrate 同步数据库

manage.py 是对 django-admin.py 命令 包装

createsuperuser
changepassword

127.0.0.1:8000/admin

目录结构

manage.py
工程目录
urls.py
setting.py
wsgi.py

mongodb

b-json

collection
document

column field
index

‘mongoengine’

mongodb_DATABASE = {
“default” : {
“name”:”test”,
“host”:’127.0.0.1’,
“tz_aware”:True,
}
}
dummy

linux-crontab

发表于 2017 年 02 月 27 日   |   分类于 服务器 , Linux   |     |   阅读次数

第1列分钟1~59
第2列小时1~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~6(0表示星期天)
第6列要运行的命令

下面是crontab的格式:
分 时 日 月 星期 要运行的命令

这里有crontab文件条目的一些例子:

30 21 * /usr/local/apache/bin/apachectl restart
上面的例子表示每晚的21:30重启apache。

45 4 1,10,22 /usr/local/apache/bin/apachectl restart
上面的例子表示每月1、10、22日的4 : 45重启apache。

10 1 6,0 /usr/local/apache/bin/apachectl restart
上面的例子表示每周六、周日的1 : 10重启apache。

0,30 18-23 * /usr/local/apache/bin/apachectl restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 6 /usr/local/apache/bin/apachectl restart
上面的例子表示每星期六的11 : 00 pm重启apache。

0 /1 /usr/local/apache/bin/apachectl restart
每一小时重启apache

/1和表示的同样的意思,对于 / 的用法,可以参考另一篇文章 Crontab中的除号到底怎么用?http://www.cnblogs.com/cocowool/p/5865397.html

0 23-7/1 * /usr/local/apache/bin/apachectl restart
晚上11点到早上7点之间,每隔一小时重启apache

0 11 4 * mon-wed /usr/local/apache/bin/apachectl restart
每月的4号与每周一到周三的11点重启apache

0 4 1 jan * /usr/local/apache/bin/apachectl restart
一月一号的4点重启apache

参考于:http://www.cnblogs.com/cocowool/archive/2009/04/22/1441291.html

未命名

发表于 2017 年 02 月 25 日   |     |   阅读次数

算法:

分析框架:
输入的规模的度量
运行时间的度量单位 基本操作 算法最内层循环最费时的操作
大多数的排序算法的基本操作是对键值的比较

增长次数

linux 命令 赋权 chmod

发表于 2017 年 01 月 24 日   |   分类于 服务器 , Linux   |     |   阅读次数

转载请注明出处,谢谢!(原文链接:https://chensian.github.io/2017/01/24/linux-command/ )

字母操作符修改法

linux文件或目录的权限分为,读、写、可执行三种权限。文件访问的用户类别分为,文件创建者、与文件创建者同组的用户、其他用户三类。

修改文件的权限或目录的命令为“chmod 755 test.sh”。755表示“创建者拥有读写可执行权限、同一组用户以及其他用户拥有读和执行权限”。

“755”怎么构成的:”0”表示没有权限、“1”表示可执行权限、“2”表示可写权限、“4”表示可读权限。“7=1+2+4,5=1+4”。

使用“chmod 777 test.sh” 令使用能使用linux系统的用户拥有相同的“读写可执行权限”。

# chmod 777 test.sh
# ls -l | grep test.sh

字母操作符修改法

linux给文件或目录赋权限还有一种容易理解方法。比如:“chmod a-x” 表示所有用户对此文件或目录将没有执行权限。

“a”表示所有用户,“u”表示创建者、“g”表示创建者同组用户、“o”表示其他用户;“+”表示添加权限,“-”表示取消权限;“r”表示读权限、“w”表示写权限、“x”表示写权限。

将系统下/tmp/history目录的权限中增加所属组的写权限。方法:在提示符后输入命令

# chmod g+w /tmp/history

完成后查看发现该目录的权限已由drwxr-xr-x变更为drwxrwxr-x。

# chmod u-x,g-w /tmp/history

完成后查看发现文件的权限已发生变更。这里注意多元素修改需要使用“,”连接。

centos 开发环境搭建

发表于 2017 年 01 月 03 日   |   分类于 服务器 , Linux   |     |   阅读次数

转载请注明出处,谢谢!(原文链接:https://chensian.github.io/2017/01/03/centos-built-develope-envs/ )

centos 开发环境搭建

# mkdir chen
# cd chen
# mkdir softwares
# mkdir tools
# mkdir workspace
# cd tools
# tar -xzvf ../tools/apache-tomcat-8.0.26.tar.gz
# tar -xzvf ../tools/jdk-8u91-linux-x64.gz

JDK安装

# vim /etc/profile
# export JAVA_HOME=/home/chen/softwares/jdk1.8.0_91
# export PATH=$JAVA_HOME/bin:$PATH
# source /etc/profile

Tomcat安装

# mv apache-tomcat-8.0.26 tomcat
# cd tomcat/bin
# ./startup.sh
# ./shutdown.sh

Mysql安装

# tar -zxvf mysql-version.tar.gz
# mv mysql-version  /usr/local/mysql
# groupadd mysql
# useradd -r -g mysql mysql
# cd /usr/local/mysql
# bin/mysqld --initialize
# [Note] A temporary password is generated for root@localhost: **mjT,#x_5sW

记住最后的密码

# vim /etc/my.cnf

添加以下

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
[client]
default-character-set=utf8

配置mysql服务开机自动启动

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 
# chkconfig --add mysqld   # 添加mysqld
# chkconfig mysqld on      # 用这个命令设置开机启动

mysql服务的启动/重启/停止

# service mysqld start                         # 启动服务
# service mysqld restart                       # 重启服务
# service mysqld stop                          # 停止服务

初始化mysql用户root的密码

# mysql -u root -p '**mjT,#x_5sW'
# mysql> alter user 'root'@'localhost' identified by 'root';
# mysql> use mysql
# mysql> update user set authentication_string = PASSWORD('123456') where user = 'root';

mysql软连接

添加
ln -s /usr/local/mysql mysql
删除
rm mysql

Zookeeper安装

1:把zookeeper的压缩包上传到linux系统。
2:解压缩压缩包

tar -zxvf zookeeper-3.4.6.tar.gz

3:进入zookeeper-3.4.6目录,创建data文件夹。

4:把zoo_sample.cfg改名为zoo.cfg

[root@localhost conf]# mv zoo_sample.cfg zoo.cfg

5:修改data属性:

# vim zoo.cfg
dataDir=/root/zookeeper-3.4.6/data

6:启动zookeeper

[root@localhost bin]# ./zkServer.sh start

关闭zookeeper:

[root@localhost bin]# ./zkServer.sh stop

查看zookeeper状态:

[root@localhost bin]# ./zkServer.sh status

Redis安装

# cd redis
# yum install gcc
# make MALLOC=libc
# make install

1、修改redis.conf文件

# 修改daemonize为yes,即默认以后台程序方式运行(还记得前面手动使用&号强制后台运行吗)。
daemonize no

启动服务

# src/redis-server redis.conf

关闭服务

# src/redis-cli shutdown

xiaozhao_001

发表于 2016 年 12 月 24 日   |   分类于 算法 , 笔试题   |     |   阅读次数

转载请注明出处,谢谢!(原文链接:https://chensian.github.io/2016/12/24/xiaozhao_001/ )

链接:https://www.nowcoder.com/practice/62cdf520b9d94616b6644ac03a0306ff?tpId=49&tqId=29309&tPage=3&rp=3&ru=/ta/2016test&qru=/ta/2016test/question-ranking

来源:牛客网

题目描述

一条长l的笔直的街道上有n个路灯,若这条街的起点为0,终点为l,第i个路灯坐标为ai,每盏灯可以覆盖到的最远距离为d,为了照明需求,所有灯的灯光必须覆盖整条街,但是为了省电,要是这个d最小,请找到这个最小的d。

输入描述:
每组数据第一行两个整数n和l(n大于0小于等于1000,l小于等于1000000000大于0)。
第二行有n个整数(均大于等于0小于等于l),为每盏灯的坐标,多个路灯可以在同一点。
输出描述:
输出答案,保留两位小数。
输入例子:
7 15
15 5 3 7 9 14 0
输出例子:
2.50
解题思路

改题可转化为 求乱序数组排序后的元素之间最大距离

改题最简单的做法就是

15 5 3 7 9 14 0

排序 0 3 5 7 9 14 15

最大距离为 9 -> 14 为 5

所以 d = 5 / 2 = 2.50

源代码
import java.util.Scanner;
import java.math.BigDecimal;

public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        while(in.hasNext()){
            int n = in.nextInt();
            long l = in.nextLong();    
            long[] array = new long[n];
            for(int i=0;i<n;i++){
                array[i] = in.nextLong();
            }
            // 冒泡排序
            for (int i=0;i<n;i++){
                for(int j=0;j<n-i-1;j++){
                    if(array[j]>array[j+1]){
                        long temp=array[j];
                        array[j]=array[j+1];
                        array[j+1]=temp;
                    }
                }
            }
            // 找出数组相邻元素的最大距离
            long maxLength = 0;
            for(int i=1;i<n;i++){
                if(array[i]-array[i-1] > maxLength){
                    maxLength = array[i]-array[i-1];
                }
            }
            // 边界处理
            maxLength = ((array[0]-0)*2 > maxLength)?(array[0]-0)*2:maxLength;
            maxLength = ((l-array[n-1])*2 > maxLength)?(l-array[n-1])*2:maxLength; 
            double reusult=(double)maxLength/2;
            BigDecimal bigDecimal=new BigDecimal(reusult);
            System.out.println(bigDecimal.setScale(2));
        }
    }
}

centos 查看和修改PATH环境变量的方法

发表于 2016 年 12 月 23 日   |     |   阅读次数

转载请注明出处,谢谢!(原文链接:https://chensian.github.io/2016/12/23/centos-env/ )

centos 查看和修改PATH环境变量的方法

查看PATH:

# echo $PATH

以添加mongodb server为列

修改方法一:

# export PATH=/usr/local/mongodb/bin:$PATH

//配置完后可以通过echo $PATH查看配置结果。
生效方法:立即生效
有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢复原有的path配置
用户局限:仅对当前用户

修改方法二:

通过修改.bashrc文件:

# vim ~/.bashrc 

//在最后一行添上:

# export PATH=/usr/local/mongodb/bin:$PATH

生效方法:(有以下两种)
1、关闭当前终端窗口,重新打开一个新终端窗口就能生效
2、输入“source ~/.bashrc”命令,立即生效
有效期限:永久有效
用户局限:仅对当前用户

修改方法三:

通过修改profile文件:

# vim /etc/profile

# /export PATH //找到设置PATH的行,添加

# export PATH=/usr/local/mongodb/bin:$PATH

生效方法:系统重启
有效期限:永久有效
用户局限:对所有用户

修改方法四:

通过修改environment文件:

# vim /etc/environment

在PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games”中加入“:/usr/local/mongodb/bin”

生效方法:系统重启
有效期限:永久有效
用户局限:对所有用户

123
陈世强

陈世强

你陪着我的时候,我从没有羡慕任何人。

26 日志
27 分类
30 标签
GitHub CSDN 知乎
Links
  • MacTalk
  • Title
© 2015 - 2018 陈世强
由 Hexo 强力驱动
主题 - NexT.Pisces