OrangePi

前言

朋友弄了一批香橙派的板子,给我做测试,拿了板子、CF卡、电源后开启了试玩,通过配置查看,香橙派比草莓派配置还强劲一些,国产的还不错,不过生态没草莓派完善,对新手可能没健全的指导,稍显不友好,但是对于我这种职业开发人员来说,小case,所以这里个人觉得香橙派还是很不错的

1、准备工作

烧录系统镜像
1、准备一个CF读卡器
2、安装Win32DiskImager,给CF卡格式化,其实可以免了直接进入下一步,最初以为跟U盘一样要格式化所以多安装了这个@_@,其实下面ethcher更好用
3、安装ethcher,给CF卡烧录系统的软件
4、准备网线和hub一个,或者用hdmi网线连显示器,作为输出端,烧录后需要登录板子系统进行一些操作,我选择的是ssh方式登录,所以准备网线和hub,如果路由器网口多不用hub也可以,不过朋友测试的是8套香橙派集群,必须要hub

……

阅读全文

springmvc的参数校验注解整理

1、JSR303注解字段校验

注解 说明 功能
@AssertFalse Boolean,boolean 验证注解的元素值是false
@AssertTrue Boolean,boolean 验证注解的元素值是true
@NotNull 任意类型 验证注解的元素值不是null
@Null 任意类型 验证注解的元素值是null
@Min(value=值) BigDecimal,BigInteger, byte,short, int, long,等任何Number或CharSequence(存储的是数字)子类型 验证注解的元素值大于等于@Min指定的value值
@Max(value=值) 和@Min要求一样 验证注解的元素值小于等于@Max指定的value值
@DecimalMin(value=值) 和@Min要求一样 验证注解的元素值大于等于@ DecimalMin指定的value值
@DecimalMax(value=值) 和@Min要求一样 验证注解的元素值小于等于@ DecimalMax指定的value值
@Digits(integer=整数位数, fraction=小数位数) 和@Min要求一样 验证注解的元素值的整数位数和小数位数上限
@Size(min=下限, max=上限) 字符串、Collection、Map、数组等 验证注解的元素值的在min和max(包含)指定区间之内,如字符长度、集合大小
@Past java.util.Date,java.util.Calendar;Joda Time类库的日期类型 验证注解的元素值(日期类型)比当前时间早
@Future 与@Past要求一样 验证注解的元素值(日期类型)比当前时间晚
@NotBlank CharSequence子类型 验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的首位空格
@Length(min=下限, max=上限) CharSequence子类型 验证注解的元素值长度在min和max区间内
@NotEmpty CharSequence子类型、Collection、Map、数组 验证注解的元素值不为null且不为空(字符串长度不为0、集合大小不为0)
@Range(min=最小值, max=最大值) BigDecimal,BigInteger,CharSequence, byte, short, int, long等原子类型和包装类型 验证注解的元素值在最小值和最大值之间
@Email(regexp=正则表达式,flag=标志的模式) CharSequence子类型(如String) 验证注解的元素值是Email,也可以通过regexp和flag指定自定义的email格式
@Pattern(regexp=正则表达式,flag=标志的模式) String,任何CharSequence的子类型 验证注解的元素值与指定的正则表达式匹配
@Valid 任何非原子类型 指定递归验证关联的对象;如用户对象中有个地址对象属性,如果想在验证用户对象时一起验证地址对象的话,在地址对象上加@Valid注解即可级联验证
……

阅读全文

Cygwin安装

前言

cygwin是windows平台上运行的unix模拟环境,它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。

cygwin

cygwin相对安装虚拟机、vps是轻量级的,因此在条件不足情况下,练习、学习shell等都是很好的选择。

……

阅读全文

oracle知识梳理-执行计划分析

前言

分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。常用的两种方法查看SQL执行计划。

1、autotrace生成执行计划

这种方式执行方便,但是当遇到执行时间长的SQL就变得不太现实,它是先产生结果再生成执行计划的。关于Autotrace几个常用选项的说明:

1
2
3
4
5
SET  AUTOTRACE  OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式
SET  AUTOTRACE  ON  EXPLAIN --------- AUTOTRACE只显示优化器执行路径报告
SET  AUTOTRACE  ON  STATISTICS ------ 只显示执行统计信息
SET  AUTOTRACE  ON ----------------- 包含执行计划和统计信息
SET  AUTOTRACE  TRACEONLY -----------同set autotrace on,但是不显示查询输出

步骤1 sqlplus登录数据库

步骤2 打开autotrace

1
SQL> set autotrace on explain

步骤3 输入要查看的SQL

1
2
3
4
5
6
7
SQL> select po.charge, po.new_charge, po.avg_charge
         from lbi_ls_basic.t_l_acct_sum_po_sum_d  po,
             lbi_dim_basic.t_d_dyn_pkgname     pkg,
             lbi_dim_basic.t_d_dyn_tenant_def     def
 where po.subcosid = pkg.productkey(+)
         and po.tenantid = def.tenantid(+); 
返回执行计划结果

步骤4 关闭autotrace

1
2
SQL> set autotrace off
----结束

2、explain plan for 生成执行计划

这种方式是直接产生执行计划,不会产生SQL结果。

……

阅读全文

oracle知识梳理-awr\ash\addm日志开启并提取

前言

之前工作经常搜集AWR日志,但是因工作环境的调整,6年下来的笔记都无法带出来,只能回忆一些和找一些网上的信息整理了。
常规的性能分析,awr足够了,但是深层次的问题,需要更多的日志,下面整理下awr、ash、addm日志的手工提取方式

1、awr报告开启和提取操作步骤

前提条件

数据库为Oracle 10g以上版本。

背景信息

Oracle默认快照1小时生成一次、保持7天,可以根据需要调整快照生成的频率、保持时长。
如果要手工生成快照,则用

……

阅读全文

java小日常记录-不定期更新

前言

记录工作中碰到的一些 java 小日常积累

1、远程debug调测

web项目远程调测 - 仅用于测试环境或者上线前的调测

注意:

仅限测试环境或者上线前的调测,如果用于生产环境,你的开发工具再debug模式起着的话,会拦截所有的请求。

1
2
# linux增加以下这段就可以远程连接服务器的5888端口了
CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888"

1.1 关闭的问题

添加了debug端口以后好像会出现./shutdown.sh 无法关闭tomcat,需要手动kill

……

阅读全文

web应用分析利器-xrebel

前言

XRebel 是不间断运行在 web 应用的交互式分析器,当发现问题会在浏览器中显示警告信息。XRebel 会实时监测应用代码的性能指标和可能会发生的问题。

看名称跟之前的jrebel有点相像,对了,是同一家公司的产品,jrebel解决java项目动态部署,xrebel解决j2ee应用的交互式分析(甚至sql都能分析到,强悍得不要不要的)。

……

阅读全文

给你的静态博客增加留言系统

前言

Gitment 是作者imsun实现的一款基于 GitHub Issues 的评论系统。支持在前端直接引入,不需要任何后端代码。可以在页面进行登录、查看、评论、点赞等操作,同时有完整的 Markdown / GFM 和代码高亮支持。尤为适合各种基于 GitHub Pages 的静态博客或项目页面。

本博客评论系统已迁移至 Gitment,参考作者的介绍部署成功,不过这里补充详细点,方便新手入门。

……

阅读全文

开发技能-shell面试整理

1、常规命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
cd 切换目录 
ls 查看当前目录下的内容 
cp 复制 
head、tail 显示文件头、尾内容 
cat 查看文件内容 
more、less 分页展示文件内容 
rm 删除 
tar 解、压缩 
touch 创建文本 
mv 移动或重命名 
find 在文件系统中搜索某文件 如find . -name filename 支持正则 
wc 统计 
grep 查找某个字符串 
pwd 显示当前目录

2、系统管理命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
su 切换用户 
ps 查看进程 
kill 根据pid号杀进程 
who 显示在线账号 
whoami 显示当前操作账号 
hostname 显示主机名 
uname 显示系统信息 
top 动态显示当前资源消耗 
du 查看目录大小 
df 查看磁盘大小 
ping 测试网络是否连通,丢包 
ifocnfig 查看网卡 
man 帮助 
clear 清屏 
alias 对命令重命名 如:alias showmeit=”ps -aux” ,另外解除使用unaliax showmeit 
netstat 显示网络状态 
free 显示内存使用情况 
sar 1 20 以20次显示当前系统资源占用情况,最终显示这20次的平均值 
export 设置环境变量

3、Linux管道

1
2
将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。 
例:grep -r “close” /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。

4、用户及用户组管理

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
/etc/passwd 存储用户账号 
/etc/group 存储组账号 
/etc/shadow 存储用户账号的密码 
/etc/gshadow 存储用户组账号的密码 
useradd 用户名 
userdel 用户名 
groupadd 组名 
groupdel 组名 
passwd root 给root设置密码 
/etc/profile 系统环境变量 
bash_profile 用户环境变量 
.bashrc 用户环境变量 
su user 切换用户,加载配置文件.bashrc 
su - user 切换用户,加载配置文件/etc/profile ,加载bash_profile

5、更改文件的用户及用户组

1
chown [-R] owner[:group] {File|Directory}

6、文件权限管理

1
2
3
4
三种基本权限 
R 读 数值表示为4 
W 写 数值表示为2 
X 可执行 数值表示为1

7、更改权限

1
chmod [u所属用户 g所属组 o其他用户 a所有用户] [+增加权限 -减少权限] [r w x] 目录/文件名

8、vim使用

vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。 命令模式下:

……

阅读全文

最近文章

分类

标签

其它