前端技术分享
这是在 TEAM 的第二次分享,第一次分享的是加密技术,这次分享些前端知识,即使做为后端开发工程师也应该了解些前端知识。所有的内容如下:
这是在 TEAM 的第二次分享,第一次分享的是加密技术,这次分享些前端知识,即使做为后端开发工程师也应该了解些前端知识。所有的内容如下:
今天有位小伙伴加我,问我 Java 应该怎么学,编程学习没有捷径,需要自己坐得住、耐得住性子多敲代码多实践。
如果是一个新手,建议先学个简单的编程语言养成编程思维,捅破编程的第一层窗户纸,很多同学没有入门的原因就是因为这个。分两方面说,如果时间充裕,建议写个小游戏练手,是比较锻炼自己的基本功,同时遇到问题及时谷歌百度也可以培养解决问题的能力,这个过程需要多坚持,可能会试很多错但会收获很多;如果时间不充裕,建议就跟着网上的教程视频做,通常这个过程不会碰到太多问题,也不需要思考太多,因为坑和问题都给你设计好了,因此需要自己鼓捣(动脑思考)多实现些功能。
21 年 9 月 21,晴,中秋,来沙河的水库垂钓。
本来想查看 win 电脑上的一些源码,奈何在 Mac 上都乱码了,于是网上搜集了一些解决办法,网上多数都是针对单文件的,而我的源码文件是比较多的,因此写了个脚本进行批量处理,我先介绍单文件编码转换方法,最后放上批量转换的脚本。
第一种,直接使用 vi 编辑器调整编码方法。输入以下命令。
:set fileencoding=utf-8
最近在做国际化相关的工作,需求是在「English」状态用户的名称和部门的名称显示英文字段,实体中有 name 和 englishName,当用户选择英语时 name 需要被填充 englishName,这种情况不像系统字段的国际化,系统字段的各个语言是固定的,而用户的英文名称是变动的。为了处理用户的不同语言选择需要写很多 if 或者 switch,因此当 VO、DOT、Model 对象多了就会出现很多形式相似的代码,像下面这样。
业务系统会有多处与下面雷同的代码,因为不同的 VO、DTO 需要不同的处理。
public void i18nHandler(UserVO vo, User user){
LanguageEnum language = currentLanguage();
switch (language){
case EN:
String englishName = user.getEnglishName();
if(StringUtils.isNotEmpty(englishName)){
vo.setName(englishName);
}
break;
case JP:
String jpName = user.getJpName();
if(StringUtils.isNotEmpty(jpName)){
vo.setName(jpName);
}
case ZH:
default:
// 缺省默认中文
}
}
之前我一直抵触热部署工具,一是因为之前项目启动都比较快,二是对 spring 的热部署工具有不好的印象——使用过程中出先问题很难排查,直到现在启动比较大的项目一次要消耗掉 5 ~ 10 分钟,真能在期间喝杯咖啡了,忍无可忍了于是又想起了热部署工具,否则一上午也调试不了几次。
今天体验了一下 JRebel 还不错,推荐一下。公司内部开发的也有热部署工具 🔧,不过问同事了体验不是太好,不过能开发这种工具的是挺厉害,虽然不认同工具但对他的技术是认可的。
关于热部署相关工具,spring 热部署工具 spring-boot-devtools
, idea 也有热部署工具,还有收费的 JRebel。
JRebel 下载安装教程(亲测可用):点击跳转
果然,人要善于利用工具,把自己从繁忙、低效中解放出来,把空出的时间用来提升自己、社交或娱乐。
1、下载 SSH 软件
sudo apt update
sudo apt install openssh-server
2、查看 SSH 状态、设置开启自启
# 查看ssh状态
sudo systemctl status ssh
# 设置
sudo systemctl enable --now ssh
区别于 MyISAM,InnoDB 支持事务,使其成为了 MySQL 的默认存储引擎,也是大多数 OLTP 系统的首选存储引擎。
加密是为了保护数据的安全,进行数据校验,或者进行认证。但从加密和认证角度来说,加密分为:对称加密、非对称加密,另外还有不可逆的摘要(Digest)算法。前几天在团队分享加密相关的知识,也是现学现卖,看了本书和在网上查了些资料就开始讲了,废话不多说了,进入本篇文章的主题。