美文网首页
Java Web 工作技巧总结 16.10

Java Web 工作技巧总结 16.10

作者: 程序员泥瓦匠 | 来源:发表于2016-10-28 18:07 被阅读169次

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢!

    在你成为领导者以前,成功只同自己的成长有关。

    当你成为领导者以后,成功都同别人的成长有关。

    1.聊聊并发插入&代码

    场景:业务中有些ERP第三方调用该接口,导致多组同样的数据包会调用同一个插入接口。一般都是XXXParamList,一个批量插入的接口。

    首先聊聊批量插入的代码,一般都会这样搞,伪代码

    for(XXXParam xxx : XXXParamList)

    validationXXXParam(xxx);

    XXXDao.batchInsert(XXXParamList)

    a.前端 – 灰色按钮

    就是提交的时候控制,不能重复条form或者ajax。

    b.后端 – 分布式锁

    分布式锁的资料上次分享过:传送门 ->

    http://www.cnblogs.com/PurpleDream/p/5559352.html

    c.数据库 – UK

    在数据库建表中设计时,设置 SQL UNIQUE 约束:传送门->

    http://www.w3school.com.cn/sql/sql_unique.asp

    2.继续说说数据库字段设计

    技巧1 关系表 -> JSON Text字段

    场景:比如商品详情页面,白色Apple,金色Apple…对应的图片显示。这样针对goods寸一条记录,记录着有个字段是 sku_image:

    goodsid {[“白色”:“url”],[“金色”:“url”]}

    而且Text字段是不对的。应该约定好大小,比如 VARCHAR(1000)

    为啥呢?其实每次get都是流量,转换成流量方向想,那就是带宽,大字段如果在高流量高并发的情况下,容易造成查询量太大,会造成网关超过带宽。

    有时候登录线上数据库PM后台,忘记了某表的字段,但只知道某表。我是这样干去取代 DESC table_name 或 SHOW CREATE TABLE table_name,SQL 很简单

    SELECT * FROM XXX WHERE 1 LIMIT 1;

    直接可以看到列名,修改下 WHERE 里面的条件就可以查询你想的查询的。

    3.grep 命令

    一般日志用过日志中心查询,但是更多情况下,单机下都会跑到服务器上直接找到自己想要的日志相关。

    我是这样的,找到某异常XXXException

    cat xxx.log grep ‘XXXException’

    然后显示该行上下几行内容,使用 -C 参数输出匹配行的前后各4行

    cat xxx.log grep ‘XXXException’ -C 4

    grep 小命令 详解:传送门

    https://linux.cn/article-5453-1.html

    4.Maven 骨架工程

    来到公司,发现小项目一个接一个地上。说罢就想起前东家的骨架工程。

    很简单的就能生成 HelloWorld 项目,XXXarchetype 是我开发的估计工程依赖。生成骨架项目关键代码:

    mvn archetype:generate -DgroupId=com.TT -DartifactId=helloworld -DarchetypeGroupId=com.TT -DarchetypeArtifactId=com.TT.XXXarchetype -DarchetypeVersion=0.0.1-SNAPSHOT -DinteractiveMode=false

    详细教程,传送门->

    http://www.voidcn.com/blog/aosica321/article/p-5764716.html

    5.DO BO 互转工具

    一般这种都是代码生成器,兼Java配置项。作用于两种业务model的互转:

    mapstruct(效率最高)、orika(最快)、dozer(用的多)

    详细教程,传送门

    http://www.tianshouzhi.com/api/tutorials/mapstruct

    http://blog.csdn.net/a258831020/article/details/48247187

    如以上文章或链接对你有帮助的话,别忘了在文章结尾处评论哈~ 你也可以点击页面右边“分享”悬浮按钮哦,让更多的人阅读这篇文章。

    ABApacheBenchBSTC++CollectionsCookiedateDDLDMLEhcachefast-frameworkGitHTTPIOJavajava8JavaEEJSONJVMMavenmvcPropertiesquartzRedisRESTServletSpringSpring BootSQLtimeTokenTomcattransactionWeb安全事务二叉搜索树二叉树状态码设计模式随笔集合

    相关文章

      网友评论

          本文标题:Java Web 工作技巧总结 16.10

          本文链接:https://www.haomeiwen.com/subject/xqyeuttx.html