项目文档编写规范

说明

每一个项目都 必须 包含一个 readme.md 文件,readme 里书写这个项目的简单信息。作用主要有两个,一个是团队新成员可从此文件中快速获悉项目大致情况,另一个是部署项目时可以作为参考。

1. 排版规范

文档页面排版 必须 遵循 中文文案排版指北 ,在此基础上:

  • 中文文档请使用全角标点符号;
  • 必须 遵循 Markdown 语法,勿让代码显示错乱;
  • 原文中的双引号(” “)请代换成中文的引号(『』符号怎么打出来见 这里)。
  • 所有的 「加亮」、「加粗」和「[链接]()」都需要在左右保持一个空格。

2. 行文规范

readme.md 文档 应该 包含以下内容:

  • 「项目概述」- 介绍说明项目的一些情况,类似于简单的产品说明,简单的功能描述,项目相关链接等,500 字以内;
  • 「运行环境」- 运行环境说明,系统要求等信息;
  • 「开发环境部署/安装」- 一步一步引导说明,保证项目新成员能最快速的,没有歧义的部署好开发环境;
  • 「服务器架构说明」- 最好能有服务器架构图,从用户浏览器请求开始,包括后端缓存服务使用等都描述清楚(主要体现为软件的使用),配合「运行环境」区块内容,可作为线上环境部署的依据;
  • 「代码上线」- 介绍代码上线流程,需要执行哪些步骤;
  • 「扩展包说明」- 表格列出所有使用的扩展包,还有在哪些业务逻辑或者用例中使用了此扩展包;
  • 「自定义 Artisan 命令列表」- 以表格形式罗列出所有自定义的命令,说明用途,指出调用场景;
  • 「队列列表」- 以表格形式罗列出项目所有队列接口,说明用途,指出调用场景。

转自 https://laravel-china.org/docs/laravel-specification/5.5/project-documentation-specification

Laravel 辅助函数

存放位置

Laravel 提供了很多 辅助函数,有时候我们也需要创建自己的辅助函数。

必须 把所有的『自定义辅助函数』存放于 bootstrap 文件夹中。

并在 bootstrap/app.php 文件的最顶部进行加载:

<?php

require __DIR__ . '/helpers.php';

...

转自 https://laravel-china.org/docs/laravel-specification/5.5/helper-functions

Laravel 项目中的配置信息与环境变量

.env 文件中设置:

CDN_DOMAIN=cdndomain.com

config/app.php 文件中设置:

'cdn_domain' => env('CDN_DOMAIN', null),

程序中两种获取 相同配置 的方法:
env('CDN_DOMAIN')
config('app.cdn_domain')
在此统一规定:所有程序配置信息 必须 通过 config() 来读取,所有的 .env 配置信息 必须 通过 config() 来读取,绝不 在配置文件以外的范围使用 env()

有何优势

这样做主要有以下几个优势:

  1. 定义分明,config() 是配置信息,env() 只是用来区分不同环境;
  2. 统一放置于 config 中还可以利用框架的 配置信息缓存功能 来提高运行效率;
  3. 代码健壮性, config()env() 之上多出来一个抽象层,会使代码更加健壮,更加灵活。

Idea 下 Spring MVC + Maven + Hibernate + Freemarker 开发环境搭建之Maven安装配置

这是一个系列文章,分为如下几个部分:

  1. Java环境搭建及Idea安装
  2. Maven安装配置
  3. 基于Maven的Spring MVC 项目创建
  4. Spring MVC CURD Sample
  5. Maven项目打包并发布到远程Tomcat
  6. Spring MVC 项目的中Hibernate的使用
  7. Spring MVC 项目中FreeMarker的使用
  8. Spring MVC + Maven + Hibernate + Freemarker Sample

Maven是一个项目管理的Java 工具,在JavaEE中,我们可以使用Maven方便地管理团队合作的项目,现在我们在学习JavaEE框架,使用Maven可以管理类库,有效方便地供团队中的其他人员使用。

一、下载Maven

请访问Maven的下载页面:http://maven.apache.org/download.cgi,其中包含针对不同平台的各种版本的Maven下载文件及系统要求。

1

我这里下载的是:apache-maven-3.5.0-bin.zip 版本。

二、解压Maven压缩包

解压apache-maven-3.5.0-bin.zip,并把解压后的文件夹下的apache-maven-3.5.0文件夹移动到d:\npm\maven 下,如果没有maven 这个文件夹的话,请自行创建。

三、配置环境变量

右键“计算机”,选择“属性”,之后点击“高级系统设置”,点击“环境变量”,来设置环境变量,有以下系统变量需要配置:

新建系统变量   MAVEN_HOME  变量值:d:\npm\maven

编辑系统变量  Path         添加变量值: ;%MAVEN_HOME%\bin

注意:注意多个值之间需要有分号隔开,然后点击确定

四、检测是否安装成功

最后检验配置是否成功:用win键+R,来打开命令行提示符窗口,即Dos界面,输入mvn –version  若出现以下情况说明配置成功

2

五、升级

Maven还比较年轻,更新比较频繁,因此用户往往会需要更新Maven安装以获得更多更酷的新特性,以及避免一些旧的bug只需要按照上面的配置过程换成新的包即可。

六、配置

修改conf/settings.xml

a.配置maven localRepository,如果不配置默认的maven本地仓库地址是:C:\Users\{windows用户名}\.m2\repository,这里我们自定义到E:\maven_repository

在 settings 节点下添加 <localRepository>E:\maven_repository</localRepository>

b.配置远程maven仓库镜像。由于网络等原因有时候我们可能无法从原始maven仓库获取包,为了我们能及时获取包,可以配置一些国内比较稳定的maven仓库镜像节点,如alimaven等。配置方法:

在<mirrors>节点下添加如下一组配置,这里以alimaven为例:

<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

至此Maven已经安装配置完成。

Idea 下 Spring MVC + Maven + Hibernate + Freemarker 开发环境搭建之Java环境安装及Idea安装

这是一个系列文章,分为如下几个部分:

  1. Java环境搭建及Idea安装
  2. Maven安装配置
  3. 基于Maven的Spring MVC 项目创建
  4. Spring MVC  CURD Sample
  5. Maven项目打包并发布到远程Tomcat
  6. Spring MVC 项目的中Hibernate的使用
  7. Spring MVC 项目中FreeMarker的使用
  8. Spring MVC + Maven + Hibernate + Freemarker Sample

一、JDK

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库。

二、组成

JDK包含的基本组件包括:
javac – 编译器,将源程序转成字节码
jar – 打包工具,将相关的类文件打包成一个文件
javadoc – 文档生成器,从源码注释中提取文档
jdb – debugger,查错工具

java – 运行编译后的java程序(.class后缀的)
appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jconsole: Java进行系统调试和监控的工具

三、常用包

java.lang: 这个是系统的基础类,比如String等都是这里面的,这个包是唯一一个可以不用引入(import)就可以使用的包。
java.io: 这里面是所有输入输出有关的类,比如文件操作等。
java.nio:为了完善io包中的功能,提高io包中性能而写的一个新包 ,例如NIO非堵塞应用
java.net: 这里面是与网络有关的类,比如URL,URLConnection等。
java.util: 这个是系统辅助类,特别是集合类Collection,List,Map等。
java.sql: 这个是数据库操作的类,Connection, Statement,ResultSet等。
javax.servlet:这个是JSP,Servlet等使用到的类。
四、环境配置

在Windows下(以x64系统为例)

java运行环境安装与测试及HelloWorld的实现。
1).下载JDK 1.8或更高版本 (建议同时下载其Java Documentation,这是Java帮助文档)。
2).运行刚刚下载的安装程序进行正式安装(以下假设安装于d:\jdk1.6.0_21\,建议安装路径不要有空格,不宜安装在\Program Files目录下!)。
3).设置运行环境参数:
在Win7、Win8、Win10系统,使用鼠标右击“计算机”->属性->左侧高级系统设置->高级->环境变量
系统变量->新建->变量名:JAVA_HOME 变量值:JDK安装目录
系统变量->新建->变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib
系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin;
(CLASSPATH中有一英文句号“.”后跟一个分号,表示当前路径的意思)
(使用命令行的方法设置环境变量,只会对当前窗口生效)
(改Path变量时,不是删除原有的值而是添加新的路径)
4).使用文本编辑器(比如:Notepad++/UltraEdit/EditPlus)编写如下代码,并保存为文件:HelloWorld.java(必须大小写正确!假设为e:\test\HelloWorld.java)
/* HelloWorld.java */
public class HelloWorld
{
public static void main(String[] arg)
{
System.out.println(“Hello,World!”);
}
}
5).在e:\test\开启一个命令提示符窗口
6).编译HelloWorld.java为HelloWorld.class
e:\test>javac HelloWorld.java
7).运行HelloWorld.class
c:\test>java HelloWorld
Hello,World!

ok,至此java环境配置完毕

Linux 下安装

暂时没有实际操作,后续补充。

五、Idea安装

直接去 https://www.jetbrains.com/idea/ 下载对应安装文件安装即可。

 

PHP libcurl 升级

今天解决一个微信退款 “certificate not match” 的问题。这个错误是说:微信证书错误。开始以为是证书路径问题,经过排查发现并非路径问题,而是libcurl 版本的问题,可能是微信服务器升级了libcurl吧,他们要求libcurl 必须使用 7.20以上版本。所以只能升级服务器…..

下面说一下我的步骤吧:

首先下载安装包:https://curl.haxx.se/download/curl-7.50.3.tar.gz

— 解压到当前目录
# tar -zxf curl-7.50.3.tar.gz
— 进入解压后的目录内
# cd curl-7.50.3
— 配置(如之前安装有指定目录这里也请指定到原来安装的目录,这里是默认安装)
# ./configure
— 编译
# make
— 安装
# make install
— 安装完毕

然后重启PHP即可

一个CentOS下的集成环境部署shell脚本

最近每天忙成狗,但是还是抽了一些时间改了一下之前写的一个CentOS LNMP环境集成包。这次写的很仓促,也没有考虑太多,可以说简单粗暴吧
希望有闲的朋友可以跟我一起完善这个脚本,争取做到可以在任意 Linux 系统上运行,目前只能用于CentOS 6.5以上  7.0以下。当然我会继续抽时间完善修复。如果大家发现什么问题也欢迎大家给我留言,我会争取尽快修复,并提交 github
闲话不多了贴上 github地址大家自己看吧。这也是我注册github一来第一次提交代码。之前一直在打酱油
https://github.com/545191228/lnmp.git

ubuntu 下无线网卡被禁用问题解决

首先说明一下我的电脑是华硕F450J小本。之前电脑一直使用win8.1系统。可是后来有一天想要使用Linux。于是开始试用各种发行版本的Linux,结果装完之后发现一个问题那就是我的无线网卡用不了….

当时表示真的是很无语啊,为什么我用windows的时候无线没有问题,换了Linux就不行了呢???神码度娘,google全查了,最后发现这是一个华硕电脑的通病。只需要执行一个短短的命令然后重启电脑就搞定了…..

这是什么狗血的东西啊…..

不费话了,代码直接干上来。大家自己看吧…

ceho “options asus_nb_wmi wapf=4” | sudo tee /etc/modprobe.d/asus_nb_wmi.conf

CentOS 下 LNMP 环境搭建

今天写一篇关于CentOS 下配置 LNMP 环境的文章。首先我们了解一下什么事LNMP,L表示Linux系统,也就是机器的操作系统;N表示web服务器的一种Nginx;  M这个就简单了表示MySQL,这个做PHP的人应该都知道; 剩下的P 这个毫无疑问就是PHP。名词解释这个其实能看到这篇文章的人本都不用解释,但是为了一些想要了解的人,我还是写了。接着要做的就是LNMP环境的搭建了。不多说直接开始。

首先,我们拿到一台装有CentOS系统的机器,首先需要查看一下机器的配置。

1. 查看硬盘信息   `df -h` 通过这个命令我们可以获取到当前机器已挂载的硬盘信息。

2. 查看系统版本 `uname -a` ,`cat /etc/issue` 这两个命令就可以当前使用系统的版本。

3. 查看当前机器的CPU信息  `cat /proc/cpuinfo` 通过这个命令查看CPU信息。

4. 查看当前机器内存大小  `free -g` 通过这个命令查看内存大小。

接着,更新安装一些必要的扩展依赖。查看完上面的信息我们知道了现在所使用的机器的一些信息之后我们就可以开始安装我们的服务器环境了。

1. 安装必要的扩展依赖

yum安装扩展
wget patch make cmake gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal nano fonts-chinese gettext gettext-devel gmp-devel pspell-devel unzip libcap autoconf

继续阅读CentOS 下 LNMP 环境搭建