几天前,我的一个朋友给了我一个Haskell问题 Hey, MK,假设我有个BNF,并且我在Haskell中有个这个BNF的parser.现在,我想给这个BNF改一行,有没有办法不用动这个BNF parser的代码(因为是其他人写的),而是对这parser进行扩展呢? 这问题挺有趣的,也不算难. 这问题说是extensibility problem,其实有两个地方需要扩展. 0:Parser需要用open recursion之类的方法扩展 1:Parse出来的ADT也需要可扩展性 后半个需求见多…
做一个系统,如果不做监控,是不完善的. 如果为做一个快速系统,花力气去做监控,是不值得的. 因为,我们有必要具备一个能够快速建立监控体系的能力.即使你只是一个普通开发人员! 个人觉得,做监控有三个核心能力: 1. 持续收集数据的能力; (时间序列数据库) 2. 监控结果可视化的能力; 3. 异常监控可报警的能力; 只要把这三点做到了,那么,这个监控基本就成功了. 既然自己不方便做监控系统,那就只要好框架造型就可以了. 因grafana的图表功能个人感觉最强大,我们就以 grafana 作为监控抓…
一.搭建主从mysql环境 1 下载mysql镜像 docker pull mysql:5.7 2 运行刚下载的mysql镜像文件 # 运行该命令之前可以使用`docker images`是否下载成功 docker run -p 3307:3306 --name mysql-master -v /mysql/conf:/etc/mysql/conf.d -v /mysql/logs:/logs -v /mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWOR…
谁说生成api文档就必须要定义注解? 谁说生成接口请求和返回示例必须要在线? 用代码去探路,不断尝试更多文档交付的可能性. 如果代码有生命,为什么不换种方式和它对话! 一.背景 没有背景.就自己做自己的背景 在当今各种盛行的前后端分离.restful service开发过程中,接口文档是必不可少的.对于前后端分离的开发中,后端开发需要将接口写好后需要告诉前端工程师接口的请求参数.响应示例等重要信息,而对于对外暴露的restful接口服务,我们提供接口也是需要具备相同的接口文档的. 但是对于后端工…
# Hexo Configuration ## Docs: https://hexo.io/docs/configuration.html ## Source: https://github.com/hexojs/hexo/ # Site title: my blog subtitle: 从此只有眼前路,没有身后身 description: 愿你走出半生路 归来仍是少年 author: Yves language: zh-Hans timezone: Asia/Shanghai # URL ##…
愿历尽千帆,归来仍是少年 缘由: 优化sql,顾此记录一下,以便温习之用. 前置: sql执行过程:客户端 -> 连接器 -> 分析器 (或查询缓存 - > end) -> 优化器 -> 执行器 -> 存储引擎 mysql的执行计划 -> 模拟优化器执行sql查询语句 1.explain 执行计划包含信息 最重要的字段为:id.type.key.rows.extra 2.各字段解析 a.id 解释:select查询的序列号,包含一组数字,表示查询中执行select…
愿历尽千帆,归来仍是少年 1.所需依赖 <!-- Redis依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!--常用工具类 --> <dependency> <groupI…
愿历尽千帆,归来仍是少年 内嵌持久层框架Mybatis 1.所需依赖 <!-- Mysql驱动包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--mybatis --> <dependency> <groupId>org.my…
愿历尽千帆,归来仍是少年 1.基础springBoot框架 编辑工具:IDEA.jdk1.8.tomcat8.maven3.3.9 编码格式:UTF-8 参考文献:https://www.cnblogs.com/zhangbin1989/p/9473292.html https://blog.csdn.net/fanshukui/article/details/80258793 构建项目: 新建springboot项目 new-->Project-->Spring Initralizr 2.…
愿历尽千帆,归来仍是少年 所遇问题: MySql 更新死锁问题 Deadlock found when trying to get lock; try restarting transaction 场景: CREATE TABLE `user_item` ( `id` BIGINT(20) NOT NULL, `user_id` BIGINT(20) NOT NULL, `item_id` BIGINT(20) NOT NULL, `status` TINYINT(4) NOT NULL, PR…