06 2019 档案
摘要:总结:业务还是蛮复杂的(基本,商品(打包,套装,会员价等),订单,促销(优惠卷,满减,折扣等))核心业务,总结我做电商一年多了,总结下电子商务知识积累,都是博客。基本都是业务积累。 稍微提一下:sku,spu 的概念: SKU:Stock Keeping Unit 中文翻译为库存单位。SKU 从库存
阅读全文
摘要:千古奇文 百读不厌《 寒 窑 赋 》北宋传奇状元宰相吕蒙正有一则流传了1000多年的《寒窑赋》。 如今读来,朗朗上口,其状物之精、明理之深,堪称一代奇文。将社会的各种人情冷暖,现实无奈,写得那么真实且入心。全文如下:天有不测风云,人有旦夕祸福。蜈蚣百足,行不及蛇;雄鸡扇翼,飞不过鸦。马有千里之程,无
阅读全文
摘要:总结:由于移动端兴起,带动了单页应用,单页一个页面互相跳转怎么搞呢,vue - Router 专门来做这个事情的,说白了就是 默认就是 锚点 实现,我这里结合elementui 简单做了一下效果。 路由配置如下 效果入下:
阅读全文
摘要:总结:vue 基本下面这个东西,生态圈还是可以的,基本就下面一套 其他基础不讲了,语法什么的,node 什么的 自己装。 1.安装webpacknpm install -g webpack 2.安装vue-clivue-cli是什么?vue-cli 是vue.js的脚手架,用于自动生成vue.js模
阅读全文
摘要:总结:作为一个小码农,一直在用 HttpServletRequest ,反正直接注入 就给俺 用了,用了折磨久,今天我就要深入了解一下,他是个什么东东。 看 他就是接口,具体实现他不管,一流人才 写接口,具体实现我不管。其实就是解析 http 协议 我找到tomcat 的实现 看下图,其实是个req
阅读全文
摘要:总结:先聊聊 servlet 其实是一套规范具体实现都是交给容器,如 tomcat,jetty 具体实现, 接口如下: tip: load-on-startup元素标记容器是否应该在web应用程序启动的时候就加载这个Servlet,(实例化并调用其init()方法)。它的值必须是一个整数,表示Ser
阅读全文
摘要:总结:小故事:很久很久以前,http 是无状态的协议,就是说一次请求你根本不知道是哪个客户端的,为了解决无状态搞出了 会话 这个名词,就是说要记住哪个客户端发的请求。 于是乎 浏览器 cookies 诞生了,浏览器每次请求都会自动带上 cookies 这里面存了一下信息,第一次访问 服务端时 服务端
阅读全文
摘要:总结:跨域几种解决方式。 1.jsonp 支持get ,兼容性好 后台返回数据格式 jquery 已经帮我们封装了,为啥只支持 get 请求 应为 script 是get 请求 2.前段代理 自己解决 3.Cros 高版本浏览器基本都支持 ie8 以上 支持get post 等 知道不是简单请求(可
阅读全文
摘要:总结:有时候测试环境 想更新 数据,一条一条 改真麻烦,1000条 搞死人了,但是你有不想写代码,那么我这里提供一种 思路 结果如下 直接copy 出来执行 就可以了
阅读全文
摘要:总结:通俗来讲,幂等就是 一次很多次 的处理产生的结果一样,这种东东叫做幂等性。 1. 从restfull 接口上来讲 # GET:读取(Read) 幂等 就是单纯的取数据 不会产生什么影响 # POST:新建(Create) 不幂等 需要处理 # PUT:更新(Update) 幂等 因为就算更新
阅读全文
摘要:总结:异步任务怎样快速实现呢 当然可以自己搞个线程池然后submit,spring4 里面提供一个注解 @Async 默认是 一个可缓存的线程池,最好是还是自己定义一个线程池大小,注意用注解 必须是能代理的,不然不会生效。 使用如下:开启异步 注意了:必须对象必须是能被代理的 不然重试 和 异步 都
阅读全文
摘要:总结:写好一个代码生成器,要花点心思的,我这里主要讲解一下原理,重复的工作 直接一套搞定,当然师傅领进门,路漫漫兮修远兮,吾将上下而求索。 上次讲到了获取数据库元数据,这次是手动带大家实现一套流程吧。制作模板——》类型转换——》渲染——》io 生成文件 。话不多说代码如下: 1.制作模板 ftl 2
阅读全文
摘要:总结:这篇博客有点难,本来不想写的,因为昨晚分析了几个小时,脑阔疼,所以这里还是随便聊聊吧。话不多说首先来张 百度的原理图。 看看他的组件 今天我要讲的的就是 handlerAdapter,他是个 什么鸡儿呢,其实全在这里 主要逻辑 其实就是 参数解析 和 数据 返回 再看 RequestRespo
阅读全文
摘要:总结:套路灰常多,而我却只钟爱下面几种,单机就不说了。 例子1:利用数据库自增(数字)(可以设置步长),和唯一索引 ,依赖数据库 (数据库有瓶颈) 可以灵活定制规则 注意 :name 字段唯一索引 例子2: UUID java 自带(字符串) 不过听说有重复,百度一些也说有会重复 但是我没遇到 例子
阅读全文
摘要:总结:有时候我们想获取容器中的bean 代码获取,那么首先要获取工厂对象 ,那么我总结一下几种常用的方式吧。 基本使用如下 1.获取数据从applicationContext 2.动态注入bean 获取几种方式如下: 1.直接注入 2.直接文件系统获取 3.classpath 获取 4.WebApp
阅读全文
摘要:总结:代码生成器大致有两种方式,1.根据po 生成 表 结构 等系列类,如 Hibernate自动生成 2.根据表生成 po 等系列类。其实实际 开发时候 多半还是 先设计好表,然后生成 的情况多。 元数据:描述数据的数据,就是记录数据的数据这就是所谓的元数据 ,比如 int age 那么元数据记录
阅读全文
摘要:总结:有时候程序会出现各种错误,比如网络抖动,链接超时,或者其他的一些情况,为了增加成功的机会,出错时候多重试几次 在业务允许的情况呀,提高成功的概率,那么重试尤为重要了,比如我就遇到过,接口返回下载链接 而根据下载链接 却下载不到 对应的文件(那是调用别人的开发票接口(怀疑他们是异步生成文件的))
阅读全文
摘要:网关:Nginx、Kong、Zuul 缓存:Redis、MemCached、OsCache、EhCache 搜索:ElasticSearch、Solr 熔断:Hystrix、resilience4j 负载均衡:DNS、F5、LVS、Nginx、OpenResty、HAproxy 注册中心:Nacos
阅读全文
摘要:总结:有时候我们异步处理结果,异步处理完成一半都是在处理的那端推送 消息(如 sms,极光或者自定义的推送消息系统)通知用户处理结果,不会立马返回处理后的结果,一般返回 排队中,或者处理中,前端轮询 查询结果 有时候在想 有没有 异步处理 同步响应结果呢,答案是有的,一般会设置超时时间,避免长时间等
阅读全文
摘要:总结:其实我是讨厌写文档的,但是又不得不写文档,写接口文档的工具 有很多,如: CrapApi ,APIJSON,superapi,java-api-doc ,sosoapi,yapi 等 这里随便写下一下 swagger 常用注解 如下: @Api:用在类上,说明该类的作用。 @ApiOperat
阅读全文
摘要:总结:锁分很多种,说起来都可怕,有些我自己都不是很清楚 具体可以参考 https://github.com/redisson/redisson/wiki/8.-%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81%E5%92%8C%E5%90%8C%E6%AD%A5%E5%99%
阅读全文
摘要:总结:解决网站的高访问量,有三大利器,缓存,降级,限流,我这里讲解一下 常用的几种限流手段。 单机 ,有型号量,令牌通,漏桶, 分布式,可以考虑从网关,redis ngnix, 阿里 Sentinel 等手段解决 。话不多说代码如下: 1.单机: 1.1 型号量 // 线程池
阅读全文
摘要:总结:灵活解耦,业务分离,单一责任,易维护 那么就可以使用观察模式了,例如:新用户注册 会有一系列的赠送活动(积分,优惠券等)。 单体项目 优先推荐guava 的 EventBus 其次spring Event 事件机制,服务分离 就可以考虑 分布式消息队列。话不多说 代码入下: 1.spring
阅读全文
摘要:总结:记录业务日志可以帮助自己留下证据,防止业务人员甩锅,所以系统一般有选择性的记录一些 业务日志。 步骤 如下,1.定义注解 2.aop 切入对于注解 3.线程池异步保存日志,4.使用起来美滋滋 代码如下: 注解 处理类
阅读全文
摘要:总结:读取配置文件直接读取也有 从git 如springconfig ,容器 Apollo 等,这里讲下直接读取的几种姿势。 1. 对象直接注入
阅读全文
摘要:总结:从文件上传谈 策略模式运用 ,虚拟路径配置,纸上得来终觉浅,绝知此事要躬行。 单文件,多文件,base64 几种上传方式 。具体细节参考我的代码库 https://gitee.com/www.lyc.com/lyc-demo.git
阅读全文
摘要:总结:aop 简单运用, 比如 1.系统长时间运行你怎样很容易找到 那些url 访问最多(一般80%的请求都在常用链接上 2,8 原则) 那些耗时较长 具体优化重点(不需要乱优化一通)阿里数据源可以监控sql 耗时(这里我提下) 2. 如何快速点位 那台服务器出问题 快速找到(如果服务器多了 日志寻
阅读全文
摘要:总结:一直苦寻代码规范,规范的代码读起来优雅,bug 改起来快,自己读起来也很舒服。优雅的代码易于维护,可塑性强。 具体很多可以参考 阿里巴巴规范,我这里整理的就是个人心得。 1. 分层领域模型规约 DO(Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。 DTO(D
阅读全文
摘要:总结:屌丝没钱买不起服务器,所有只能想穷逼的手段,tomcat 也可以配置 (虚拟server 就可以)多个,这里 以ngnix 为例,域名不同而已 共享80 端口 server1 server { listen 80; server_name www.atliyic.cn atliyic.cn;
阅读全文
摘要:小结 :各种参数解析,其实就是 springmvc 适配性 的作用 叫做参数解析器,根据类型 匹配对应的数据 1.X 都是表单格式默认 为application/x-wwww-from-urlencoded 提交2.X 都是 json 格式application/json 其实就是内部jackson
阅读全文
摘要:1,小结 :springboot 各种参数校验 ,一般除了前端校验外,后台对接口 也要做强制参数校验(出于接口安全和参数格式不正确 考虑),规范考虑 一般对外提供的接口 或者 给别人调用 的公用方法(如工具类) 必须要求 强制参数校验 1.1,常规校验 1.2 ,分组校验 @Valid 注解是jav
阅读全文