OTHERS 五月 01, 2022

JavaCC 实战

文章字数 20k 阅读约需 18 mins.

Java Compiler Compiler (JavaCC) 是一个语法解释器生成工具,可以读取语法规则,并将其转换为能够识别这些语法的 Java 程序。

比如通过 Java 程序解析 Structured...

查看全文

OTHERS 五月 01, 2022

JavaCC 实战

文章字数 20k 阅读约需 18 mins.

Java Compiler Compiler (JavaCC) 是一个语法解释器生成工具,可以读取语法规则,并将其转换为能够识别这些语法的 Java 程序。

比如通过 Java 程序解析 Structured Query Language (SQL)。

语法规则使用类似 如何描述一种语言? 中介绍的 EBNF 规范进行描述,组织为 .jj 格式的文件。

JavaCC 发布包是 JAR 格式,可以通过 Java 命令直接执行,读取 .jj 文件,并根据其生成可运行的 Java 代码,实现对符合语法...

查看全文

OTHERS 四月 24, 2022

如何描述一种语言?

文章字数 11k 阅读约需 10 mins.

当我们需要定义一种语言的规范或语法时,需要将这种语言通过一种形式描述出来,用普通的文字来描述,会非常的繁琐,那么有什么工具来帮助我们描述这种语言的规范呢?

BNF 就是一种描述语法的规范,是 Backus–Naur form 或 Backus normal form 的缩写,其形式非常简单:

 <symbol> ::= __expression__

在这里:

  • <symbol> 代表一个非终止符,通过 <> 来定义,如 <主语><rule...
查看全文

JAVA 四月 17, 2022

写测试用例都这么简单了,你不来试试?

文章字数 14k 阅读约需 13 mins.

提到测试,所有人都知道它的重要性,但大部分开发人员都会觉得测试应该交给测试人员来做,或者直接到环境上执行一下、点一点看看没有问题就可以了。

究其原因,个人觉得是因为写单元测试的成本太高了,尤其是对外部环境依赖较多的项目,开发环境想运行起来都要依赖特定的组件,就更别提测试用例的运行了。

一个好的测试用例,应该是自动化的、可重复执行的,容易理解、容易运行的,且有明确的断言,以便在代码出现不符合预期的结果时,能够快速发现且定位到问题的。

本文以一些面向 Java 和 Spring 的常见测试场景为例,...

查看全文

OTHERS 四月 10, 2022

24 个沟通套路,让你一开口就大受欢迎

文章字数 7.4k 阅读约需 7 mins.

产品力:解决问题、创造价值的能力

  1. 高感性特质
  2. 结构整理力
  3. 共情力

领导力:与人沟通协作的能力

  1. 专注力
  2. 倾听能力
  3. 意义感

两个方法:

  1. 升维打击 去发挥
  2. 解决问题 —— 挖掘自己的特质,最重要的方法
  • 因为他们总是能洞察人性,设计出能够破解人们防御的伟大产品。
  • 好的产品,可以轻松打破一个人的防御。
  • 怎么才算了解一个人?明确一个人的边界 —— 边界之内,找到存在感;边界之外,充满焦虑。

如何设计,在别人眼中的第一印象?

  1. 角色:快速取得对方信任
  2. 经历:直接连接对方感性部分
  3. 价值观:告...
查看全文

OTHERS 四月 03, 2022

微信公众号功能介绍

文章字数 4.9k 阅读约需 4 mins.

公众号里积累了一些由用户主动发送消息触发的实用功能,因为都需要特定关键词触发,对记忆力有一定的考验,汇总如下,以便使用。

关键字:字帖字帖1

发送关键字 + 空格 + 文字内容,可将文字内容(去标点符号)生成一个楷体的 pdf 字帖,可用来临摹或描红使用。

关键字 字帖1字帖 的区别是会隔行输出一行文字内容。

字帖由 https://tools.yunzitie.cn/ 提供。

向公众号发送单个汉字,回复该汉字的笔顺。如:

发送

得到:

笔顺由 http://bishun.shufaji...

查看全文

JAVASCRIPT 三月 27, 2022

新医保系统开发常见问题自助搜索

文章字数 6.5k 阅读约需 6 mins.

新医保系统开发常见问题自助搜索功能上线了,欢迎大家贡献内容,及提出意见。

从上面的图标可以看出,这是一个类似 Stack Overflow 的问答服务,面向的是新医保系统的开发人员,内容是新医保系统建设过程中遇到的各类问题及解决办法,目前共包含 24 个类别:

  1. druid
  2. dubbo
  3. java
  4. mbs
  5. mybatis
  6. mysql
  7. oceanbase
  8. plc
  9. pmd
  10. redis
  11. sonar
  12. spring
  13. tomcat
  14. Web Service
  15. windows
  16. 一站式
  17. 业务协同平台
  18. 东软医保云
  19. 公...
查看全文

JAVASCRIPT 三月 20, 2022

JS 中的四舍五入

文章字数 4.3k 阅读约需 4 mins.

由于 JS 中 Number 对象的 toFixed 方法在对某些值进行四舍五入计算时 存在误差,而这种误差在进行货币金额计算时是不能接受的,那么在 JS 中我们应该如何正确的进行四舍五入呢?

以保留两位小数为例,选取几种典型的方法,其中 n 为要进行四舍五入运算的浮点数。

为 n 添加一个小的偏移量,再进行四舍五入:

(n + Number.EPSILON).toFixed(2)

保留两位小数时,先将 n 扩大 10^2 倍,然后通过 Math.round 获得最接近的整数,缩小 10^2 倍...

查看全文

DEVOPS 三月 13, 2022

简书阅读量报告

文章字数 2.6k 阅读约需 2 mins.

博客 上的文章,会同步发布到 公众号 和 简书 平台上,简书对 markdown 格式的支持、展现效果,以及文章的 SEO 和阅读量都非常不错,在有点赞和评论时,app 也会有即时通知。但当我们想知道自己的哪些文章阅读量最多,哪些文章阅读量增长较快以及近期哪些文章的阅读量有增加时,无论官网还是官方 app 上都缺少可用的工具。

我们可以借助一些简单的、免费的工具和脚本,来实现一个《简书阅读量报告》。

先来看下效果:

上面消息,为使用 NodeJS 脚本,在 AWS 上定时执行,并将 markdown...

查看全文

DEVOPS 三月 06, 2022

钉钉自定义机器人

文章字数 4.7k 阅读约需 4 mins.

hubot 起接触到聊天机器人,其使用场景还是非常丰富的:

  1. 群管理:新人入群欢迎、关键字自动回复、同类消息汇总 ……
  2. 结合 SaaS 服务:翻译、生成二维码、编解码、智能客服 ……
  3. 定时通知:天气预报、股市行情、监控信息 ……

简单归纳一下,需要机器人具备的能力主要包括:主动发送消息(单聊、群聊)和 被动响应消息(单聊、群聊)。

相关的开源实现也有很多,如上面提到的 hubot 和其与各种聊天工具的 适配、基于微信的 chatbot —— Wechaty 等。

不过因为众所周知的原因,国...

查看全文

MAC 二月 27, 2022

macOS 路由设置

文章字数 2.6k 阅读约需 2 mins.

经常会有需要连接多个网络环境的需求,比如通过网线连接内网,通过无线连接外网,想要同时连接内外网时,需要进行路由的配置,以通过不同的网卡访问不同的地址。

macOS 下可通过如下方式,配置临时(重启后失效)或永久(重启仍有效)路由。

在配置路由之前,先说一下网络顺序的问题。在同时连接内外网时,可能会有能上内网不能上外网的情况,也可能会有能上外网不能上内网的情况,这是什么原因呢?

系统偏好设置 => 网络 中,我们可以看到 Mac 当前连接的网络,如下图:

Wi-Fi 是外网连接,USB...

查看全文
加载更多
0%