大神2017年12月工作总结

转载:https://blog.csdn.net/u012734723/article/details/78786034
某大神的一篇博客,小白我看了后,觉得很有用,故转载,感谢大神。

这个月用到了一些新的东西,给大家讲讲我的一些使用心得:

(1)版本控制上用Git代替SVN

在用git做版本控制的时候,我一般会自己另外创建一个分支来做任务,有其他临时的任务时,先在本分支上git stash,再切换到主分支(git checkout master),回到主分支上完成临时的任务。完成后,回到自己的分支上git stash apply,拿回之前的修改,继续完成。新建的分支完成任务后,合并到主分支再进行提交。之前有一次push错了commit文件,得先将本地的文件reset回某个commit版本(记得应该先把原来的内容创建一个分支保存,不然自己的修改会丢失。),再强制push到远程仓库,最后再commit自己要提交的内容。对git的使用以前也就是自己一个人推送点东西到github,现在多人协作,就要避免下出现冲突。我的经验还不是很成熟,大家可以去看看廖雪峰的git教程,上面讲的很详细,也很有深度。下面列一些自己比较常用的命令:

命令 说明
git checkout -- file文件名 撤销文件修改,注意开启bash窗口的位置。
git checkout 分支名 切换分支
git branch -b 分支名 创建新的分支
git branch 查看有哪些分支,带*的是当前分支
git pull 拉取远程仓库更新
git diff 查看本地文件与远程文件的区别
git reset --head commit版本号 恢复本地文件至某个版本
git log 显示提交的commit记录
git status 查看当前文件的修改状态
git push –force 强制远程仓库回退到某个commit版本
git stash 将本分支上修改的内容暂存起来
git stash apply 恢复暂存的内容

(2)用maven来管理依赖的jar。

maven很早以前就有接触过,主要用来管理jar。但是它的那些命令和冷热部署不是很理解。先在本地安装一个maven。我是用的eclipse插件来管理maven,需要修改eclipse中maven下载jar的存放的位置。
这里写图片描述


(3)最近一直大热的SpringBoot。

SpringBoot最近的势头很猛,有很多人在研究SpringBoot。SpringBoot整合了项目上使用的SpringMVC,Hibernate之类的,现在不用再去写很多的配置文件。


(4)数据持久层用的是jpa的实现hibernate。

对数据库的操作以前用的是Mybatis,SQL都是程序员写的,如果遇到不同数据库的SQL写法不一致,就需要程序员自己处理差异,而Hibernate则是完全的面向对象编程,面向类编程。记录下自己在使用的过程中遇到的小问题:

1.hibernate的HQL写法用的是实体的名字,而不是表名。比如:表名是person,实体名是Person。那么应该写select * from Person,而不是select * from person。

2.Spring Data Jpa有定义一些查询规则,比如findByName()之类的,详细见Spring Data JPA的Query methods部分。使用StartingWith或是Like之类进行模糊查询时,需要给传递的参数加上”%”,一开始以为Sping Data Jpa会给自动加上,试了好多遍发现没有什么效果,得自己加上“%”才会模糊查询。

3.Spring Data JPA的Repository接口都有提供一些基本的增删改查的操作。其中的save(bean),如果根据bean的主键id可以在数据库找到记录,就会执行更新操作。如果根据主键id找不到记录,就会执行保存操作。看了下提供的接口中有保存,删除,查询的方法,但是就是找不到更新的方法,后来谷歌下才知道是在save方法里做了操作。


(5)页面处理

1.浏览器无法处理file,会出现跨域。需要进到chrome的安装位置,以--allow-file-access-from-files的形式启动,并且重新启动谷歌浏览器。
这里写图片描述

修改谷歌浏览器的设置:将“关闭Google Chrome后继续运行后台应用”设为off。
这里写图片描述

2.因为公司的项目是用开源项目云收藏修改来的,界面风格沿用了云收藏的设计。自己并不是专业的前端,也只是会复制下别人的界面,改改数据,自己尝试修改过以下的页面样式:
这里写图片描述
一开始是自己F12在浏览器下复制整个页面的代码,然后一点点去掉不要的部分,换上自己需要的数据。后来想想云收藏是开源项目,可以在网上找得到源代码。

3.做一些页面的时候,可以先用Pingendo,之前自己写过一个Pingendo使用指南(好像可以选择的样式比较少,没找到单选框复选框那些,单选框复选框的样式是自己先看云收藏网站上有没有,有找到复选框,但是没找到单选框,复选框的样式是”checkbox c-checkbox”,我猜单选框应该是”radio c-radio”,然后在bootstrap.css或是app.css中找单选框的样式。但是找了一圈没找到下拉框的样式,用select不好使,不知道是哪里受了影响。),先把大概的样子画出来,自己再手打一些细节的部分。

这里写图片描述

上图右边的两个表格要能够根据需要添加和删除行,给大家分享下我的思路:
1.给所在的table设置一个id标识,点击删除的时候,遍历这个table,判断这个table的第一列有哪些checkbox打勾了,将打勾的行删除(可以根据父级子级的关系)。

2.之前做这种类型的表格采用的是追加标签的形式,现在是默认存在一行,删除第一行只是将这一行设为display:none。当一行也没有的时候会把这一行show()出来。追加第二行的时候会clone()第一行的数据。

3.在edit填充数据的时候,用display:block将第一行数据显示出来样式会乱,需要使用show()。给checkbox赋值的时候,需要用prop,用attr是无效的。相同name的radio不受行的限定会互相影响,所以我将原本的radio改成select,遍历行,获取每行的值(checkbox和select会可以根据在不同行内进行区分,但是radio不行。)。

4.从一个页面跳转到另一个页面,可以通过window.localStorage.setItem()存储要传递的参数,跳转的页面获取后再删除。

(6)自己写了两个工具类

如何对返回给前端的JSON数据进行黑白名单过滤

Spring Data JPA之自动装配查询条件

最近一直在困惑一些事情,在纯洁的微笑程序员DD,麦克叔叔的微信公众号下留言,都得到了回复,在这里表示感谢。

就要2018了,这里祝大家新年快乐,也希望自己明年心想事成:)

这个月用到了一些新的东西,给大家讲讲我的一些使用心得:

(1)版本控制上用Git代替SVN

在用git做版本控制的时候,我一般会自己另外创建一个分支来做任务,有其他临时的任务时,先在本分支上git stash,再切换到主分支(git checkout master),回到主分支上完成临时的任务。完成后,回到自己的分支上git stash apply,拿回之前的修改,继续完成。新建的分支完成任务后,合并到主分支再进行提交。之前有一次push错了commit文件,得先将本地的文件reset回某个commit版本(记得应该先把原来的内容创建一个分支保存,不然自己的修改会丢失。),再强制push到远程仓库,最后再commit自己要提交的内容。对git的使用以前也就是自己一个人推送点东西到github,现在多人协作,就要避免下出现冲突。我的经验还不是很成熟,大家可以去看看廖雪峰的git教程,上面讲的很详细,也很有深度。下面列一些自己比较常用的命令:

命令 说明
git checkout -- file文件名 撤销文件修改,注意开启bash窗口的位置。
git checkout 分支名 切换分支
git branch -b 分支名 创建新的分支
git branch 查看有哪些分支,带*的是当前分支
git pull 拉取远程仓库更新
git diff 查看本地文件与远程文件的区别
git reset --head commit版本号 恢复本地文件至某个版本
git log 显示提交的commit记录
git status 查看当前文件的修改状态
git push –force 强制远程仓库回退到某个commit版本
git stash 将本分支上修改的内容暂存起来
git stash apply 恢复暂存的内容

(2)用maven来管理依赖的jar。

maven很早以前就有接触过,主要用来管理jar。但是它的那些命令和冷热部署不是很理解。先在本地安装一个maven。我是用的eclipse插件来管理maven,需要修改eclipse中maven下载jar的存放的位置。
这里写图片描述


(3)最近一直大热的SpringBoot。

SpringBoot最近的势头很猛,有很多人在研究SpringBoot。SpringBoot整合了项目上使用的SpringMVC,Hibernate之类的,现在不用再去写很多的配置文件。


(4)数据持久层用的是jpa的实现hibernate。

对数据库的操作以前用的是Mybatis,SQL都是程序员写的,如果遇到不同数据库的SQL写法不一致,就需要程序员自己处理差异,而Hibernate则是完全的面向对象编程,面向类编程。记录下自己在使用的过程中遇到的小问题:

1.hibernate的HQL写法用的是实体的名字,而不是表名。比如:表名是person,实体名是Person。那么应该写select * from Person,而不是select * from person。

2.Spring Data Jpa有定义一些查询规则,比如findByName()之类的,详细见Spring Data JPA的Query methods部分。使用StartingWith或是Like之类进行模糊查询时,需要给传递的参数加上”%”,一开始以为Sping Data Jpa会给自动加上,试了好多遍发现没有什么效果,得自己加上“%”才会模糊查询。

3.Spring Data JPA的Repository接口都有提供一些基本的增删改查的操作。其中的save(bean),如果根据bean的主键id可以在数据库找到记录,就会执行更新操作。如果根据主键id找不到记录,就会执行保存操作。看了下提供的接口中有保存,删除,查询的方法,但是就是找不到更新的方法,后来谷歌下才知道是在save方法里做了操作。


(5)页面处理

1.浏览器无法处理file,会出现跨域。需要进到chrome的安装位置,以--allow-file-access-from-files的形式启动,并且重新启动谷歌浏览器。
这里写图片描述

修改谷歌浏览器的设置:将“关闭Google Chrome后继续运行后台应用”设为off。
这里写图片描述

2.因为公司的项目是用开源项目云收藏修改来的,界面风格沿用了云收藏的设计。自己并不是专业的前端,也只是会复制下别人的界面,改改数据,自己尝试修改过以下的页面样式:
这里写图片描述
一开始是自己F12在浏览器下复制整个页面的代码,然后一点点去掉不要的部分,换上自己需要的数据。后来想想云收藏是开源项目,可以在网上找得到源代码。

3.做一些页面的时候,可以先用Pingendo,之前自己写过一个Pingendo使用指南(好像可以选择的样式比较少,没找到单选框复选框那些,单选框复选框的样式是自己先看云收藏网站上有没有,有找到复选框,但是没找到单选框,复选框的样式是”checkbox c-checkbox”,我猜单选框应该是”radio c-radio”,然后在bootstrap.css或是app.css中找单选框的样式。但是找了一圈没找到下拉框的样式,用select不好使,不知道是哪里受了影响。),先把大概的样子画出来,自己再手打一些细节的部分。

这里写图片描述

上图右边的两个表格要能够根据需要添加和删除行,给大家分享下我的思路:
1.给所在的table设置一个id标识,点击删除的时候,遍历这个table,判断这个table的第一列有哪些checkbox打勾了,将打勾的行删除(可以根据父级子级的关系)。

2.之前做这种类型的表格采用的是追加标签的形式,现在是默认存在一行,删除第一行只是将这一行设为display:none。当一行也没有的时候会把这一行show()出来。追加第二行的时候会clone()第一行的数据。

3.在edit填充数据的时候,用display:block将第一行数据显示出来样式会乱,需要使用show()。给checkbox赋值的时候,需要用prop,用attr是无效的。相同name的radio不受行的限定会互相影响,所以我将原本的radio改成select,遍历行,获取每行的值(checkbox和select会可以根据在不同行内进行区分,但是radio不行。)。

4.从一个页面跳转到另一个页面,可以通过window.localStorage.setItem()存储要传递的参数,跳转的页面获取后再删除。

(6)自己写了两个工具类

如何对返回给前端的JSON数据进行黑白名单过滤

Spring Data JPA之自动装配查询条件

最近一直在困惑一些事情,在纯洁的微笑程序员DD,麦克叔叔的微信公众号下留言,都得到了回复,在这里表示感谢。

就要2018了,这里祝大家新年快乐,也希望自己明年心想事成:)

猜你喜欢

转载自blog.csdn.net/zz13995900221/article/details/80284420