写完词法部分,又有很多杂事,周末终于有空来实现伟大的语法解析部分了。 撸完代码之后发现,程序太短了,不算上状态机,才186行(含注释),关键代码不到100行。运行调试过后,发现还行。居然可以解析On ...
一.前言 之前有个需求,是使ElasticSearch支持使用SQL进行简单查询,较新版本的ES已经支持该特性 不过貌似还是实验性质的 ,而且git上也有elasticsearch sql 插件,之所以决定手写一个,主要有两点原因: . 目前用的ES版本较老 . elasticsearch sql虽好,但比较复杂,代码也不易维护 . 练练手 二.技术选型 目前主流软件中通常使用ANTLR做词法语 ...
2019-11-01 09:53 2 1779 推荐指数:
写完词法部分,又有很多杂事,周末终于有空来实现伟大的语法解析部分了。 撸完代码之后发现,程序太短了,不算上状态机,才186行(含注释),关键代码不到100行。运行调试过后,发现还行。居然可以解析On ...
...
手写一个简单的死锁代码 死锁原因 多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放,而该资源又被其他线程锁定,从而导致每一个线程都得等其它线程释放其锁定的资源,造成了所有线程都无法正常结束。这是从网上其他文档看到的死锁产生的四个必要条件: 1、互斥使用,即当资源被一个线程使用 ...
基本结构 这里我根据自己的理解模仿了Vue的单文件写法,通过给Vue.createApp传入参数再挂载元素来实现页面与数据的互动。 其中理解不免有错,希望大佬轻喷。 收集数据 这里将Vue.createApp()里的参数叫做options data可以是一个对象或者函数 ...
HashMap简介 HashMap是Java中一中非常常用的数据结构,也基本是面试中的“必考题”。它实现了基于“K-V”形式的键值对的高效存取。JDK1.7之前,HashMap是基于数组+链表实现的 ...
效果图: html部分: JQuery部分: ...
spring-boot中有很多第三方包,都封装成starter组件,在maven中引用后,启动springBoot项目时会自动装配到spring ioc容器中。 思考: 为什么我们springBo ...
gesture recognizer 是比较好的解法。洒家也有一个类似的算法,借鉴了原始手写ocr的思路来实现的。其实是写在 $1 gesture recognizer 之前的,但没有 $1 gesture recognizer 归纳得好,作者jacob还是我偶像。Realtime ...