编译原理之 Chomsky 文法的判断 —— Java 实现

文法的定义和记号 $$ G = (V_N, V_T, P, S) \qquad (V_N \cap V_T = \varnothing, V_N \cup V_T = V) $$ 是 N.Chomsky 在 1956 年描述形式语言时首先给出的。同时,Chomsky 还对产生式的形式给以不同的限制而定义了四类基本的文法,分别称之为 0 型文法,1 型文法,2 型文法和 3 型文法。

Learn

Spring Boot 项目打包并部署到 Tomcat、Tomcat 同时部署多应用

Spring Boot 项目开发完毕后,需要部署到 tomcat 服务器下,鉴于经常忘记部署流程,特地写了一篇博客来记录。

Java

Spring Boot 集成 Shiro 权限管理与密码加盐加密存储

在 Spring 中,流行的涉及权限管理的框架有两个:Spring Security 和 Apache Shiro。但是去了解一下 Spring Security 就知道,简单的权限管理根本用不到那么复杂的功能。在自己的项目中,我更倾向于使用简单明了的 Apache Shiro。

Java

SpringBoot WebSocket 发送广播,Android 接收

WebSocketWebSocket 为客户端、浏览器和服务端提供了双工异步通信的功能,即客户端(浏览器、Android)可以向服务器发送消息,服务器端也可以向客户端发送消息。

Java

Nginx 提供文件下载服务

有时候我们可能需要提供一些配置文件或安装包的下载链接,这种场景使用 CDN 有些杀鸡用牛刀,通过 Eginx 配置可以简单快速的提供功能。

Nginx

Nginx 自定义静态资源位置

nginx [Engine X] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev.

Nginx

Centos7 系统使用 Gunicorn、Supervisor、Nginx 部署使用了工厂模式的 Flask 项目

项目后端从原始 socket 模式切换到了 RESTful API,考虑到项目的复杂度不高,于是我决定采用 Flask 来实现,本文记录一下基于 Gunicorn、Supervisor 和 Nginx 的最终的部署过程。

Python
12

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。