Java通过ScriptEngine执行脚本语言
前两天接到一个需求,大致归纳成以下三点: 要通过Java来解析并运行一段脚本 还不确定是什么语言的脚本 最终效果是Java把数据传进脚本里处理,处理完再接回来 看起来是不是很简单,但这做起来就不太顺手啊。经过一番了解,在我在哪里可以找到可用的JSR-223脚本语言列表?这个帖子里找到相关的知识。原来早在JDK1.6开始,Java就引入了JSR-223规范,让我们通过脚本引擎这种统一接口的方式在JVM上运行脚本语言。所以我最终选择了ScriptEngine来完成这个需求,他本身仅支持JavaScript,经过扩展后可支持Python、Ruby、Groovy等。 直奔主题,敲代码! 编写逻辑操作类这个类会被解析成脚本中对应的变量,可在脚本中调用类中的方法 12345678910111213141516171819202122public class Codec { // 存放上下文内容,用于回传数据 private final Sinks.Many<Context> processor =...
PlanetScale-免费云数据平台
PlanetScale一个可以白嫖的云数据库。支持分支版本控制、cli命令行操作、web控制台操作、数据备份与保护等功能。下面来简单说一下他的使用 注册、登录老规矩,直接Github账号登录即可官网地址:PlanetScale* 这里可能需要使用某些爱国富强的方式才能打开,奇怪他居然把边缘节点去除了 创建数据库进入个人主页就能看到很大的一个create按钮,想都不用想直接点了 弹出一个小窗口也是不用多想,随便填一个名字接着点Create database 经过一番等待,页面上那个圈圈终于转没了,然后要干嘛? 当然是点Connect看看能不能连接数据库啊 芜湖~这里密码居然全是星星,所以应该点这个New password创建一个密码* 要注意这里的密码只显示一次,页面刷新就得重新生成了,有点token的意思啊 连接数据库随便搞个数据库GUI工具或者用你已有的项目代码连一下。 他这是一个部署在阿伟云的MySQL数据库,没钱或者比较抠搜的朋友们,冲!
Vercel部署Serverless函数
不了解Vercel的朋友可以先浏览上一篇文章 Vercel-免费Web应用托管平台。上文提到Vercel支持Python、Go、NodeJS、Ruby、PHP等语言的Serverless函数编写,下面就来尝试一下Serverless部署的过程。 环境准备以下步骤自行解决,不再赘述 123建个git仓库拉到本地,导入IDE安装各语言的SDK和IDE插件 编写配置文件创建vercel.json,填入以下内容 123456789101112131415161718192021222324252627{ "headers": [ { "source": "/(.*)", "headers": [ { "key": "Access-Control-Allow-Origin", "value": "*" ...
Vercel-免费Web应用托管平台
Vercel是一个开箱即用的Web应用部署平台,相当于把GitHub Page和GitHub Action的特性相结合。这里给大家列一下他的几个特性: 针对个人用户是免费的,这个很重要; 支持GitHub登录、导入GitHub项目并直接部署; 支持N多种应用框架和模板,如Vue、React、Angular、Hexo、Next等; 支持Python、Go、NodeJS、Ruby、PHP(需要安装库)等语言的Serverless函数编写; 支持多分支部署; 支持自定义域名和SSL证书签发; 拥有全球CDN,无需担心访问速度问题下面就分享一下Vercel的基本使用 注册、登录这个步骤就不用多说了,通常github关联登录就行 项目创建和部署1)进入Dashboard,点击右手边Add New...按钮,选择Project 2)可选择从github(Import Git Repository)或第三方git(Import Third-Party Git Repository)导入项目,或者是通过官方提供的模板(Clone...
Docker环境下部署TDengine集群
一、Docker环境准备本文基于Windows 10+Docker Desktop单机搭建集群,如需跨主机搭建,请自行搜索Swarm或Docker跨主机通讯相关内容。 1、安装Docker DesktopDocker Desktop自带了Docker Compose,无需另外安装 12# 验证一下docker-compose --version 2、创建Docker网络1docker network create --driver bridge --subnet 172.18.0.0/16...
WSL使用systemctl命令报错
WSL(Windows Subsystem for Linux / 适用于Linux的Windows子系统)中使用systemctl命令会报以下错误: System has not been booted with systemd as init system (PID 1). Can’t operate.Failed to connect to bus: Host is down 那出现以上的问题应该怎么解决呢? 微软声明在官方文档的数据库入门里面有提到这一点: 其他教程可能会使用操作系统的内置 init 系统来启动 MongoDB。 你可能会看到在教程或文章中使用了命令 sudo systemctl status mongodb。 目前 WSL 不支持 systemd(Linux 中的服务管理系统)。你应该不会注意到有什么区别,但是如果教程建议使用 sudo systemctl,请改用 sudo /etc/init.d/。 例如,对于WSL,sudo systemctl status docker 应改用 sudo /etc/init.d/docker...
Vagrant-虚拟化开发环境构建工具
Vagrant是一个基于Ruby编写的工具,用于创建和部署虚拟化开发环境。它使用Oracle开源的VirtualBox虚拟化系统,通过Chef创建自动化虚拟环境。具备功能特性: 支持快速新建虚拟机 支持快速设置端口转发 支持自定义镜像打包(原始镜像方式、增量补丁方式) 基本上日常能用到的基础配置都能快速设置 支持开机启动自动运行命令 可以自己写扩展 我是在搞k8s环境的时候接触到这个工具的,下面讲一下vagrant批量创建虚拟机以及ssh配置的流程。 编写Vagrantfile关于virtualbox和vagrant的安装,基本是傻瓜式的,这里不赘述。我们先在终端敲一句vagrant init,在当前目录下会出现一个具备基础配置的Vagrantfile,内容如下: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970# -*- mode: ruby -*-#...
Python多版本管理神器-pyenv
最近着手学习Python,但是发现网上那些demo的Python版本2.x和3.x都有,虽然已经安装了多版本共存,但对于强迫症的我来说,用python2和python3命令来区分版本,感觉是真的别扭,为此专门找来了这款版本管理工具pyenv。 一、安装1、windows安装1)下载pyenv-win 2)在任意安装目录下创建.pyenv文件夹 3)将zip压缩包解压至.pyenv文件夹中 4)在系统环境变量path里添加.pyenv文件夹下的bin和shims目录 5)命令行输入pyenv --version测试一下是否安装成功 2、Linux安装/MacOS安装1)安装pyenv 12git clone https://github.com/pyenv/pyenv.git ~/.pyenvcd ~/.pyenv && src/configure && make -C src MacOS还可以可通过Homebrew安装: 12brew updatebrew install pyenv 2)配置环境变量 123echo...
Hello World
我的个人博客开通了