如何解决Clojure / Clojurescript在开发和/或自动化测试中是否有任何书面记录使用?
我正在寻找与本文类似的内容:"Go With Go(Lang): Features and Testing Frameworks",其中包含Clojure / Clojurescript。同样,任何包含Clojure / Clojurescript示例的书籍都可以用来创建devops / test-automation应用程序。
解决方法
我几乎使用aws-api进行所有AWS操作。通过clojure进行开发的经验要比使用bash / shell脚本和AWS CLI更好。
,我是 spire 背后的开发人员,这是一种用于通过 ssh 进行幂等机器配置的 clojure DSL。我使用 GraalVM 和 sci 构建它。我也将其用于自动化测试。
目前我正在努力使其成为 babashka pod,所以很快您就可以直接从 babashka 使用它的功能。
,您的问题有点含糊,但是Clojure是IMHO最好的通用计算机语言(自从您在Clojure网站上问过,就不足为奇了!)。
一种可能适合您的解决方案is the Babashka tool。它使您可以将Clojure代码转换为独立的可执行文件。因此,您可以编写健壮而强大的Clojure程序,而不必使用古怪,脆弱的const path = require(`path`)
module.exports = {
siteMetadata: {
title: `Web Dexter | Saskatoon Website Design and Mobile App Design`,description: `Web Dexter is a web design,and mobile app design company located in Saskatoon,SK. We also do logo design and graphic design. (306)-241-7019.`,author: `Web Dexter Design`,authorDescription: "Saskatoon Web and App Design Company",themeColor: "#d2f5fb",siteUrl: "https://webdexter.ca",socialLinks: {
facebook: "/",instagram: "/",linkedin: "https://linkedin.com/company/web-dexter",twitter: "/"
}
// image: "https://suddenlysask.com/static/54f3be73c004e26215a4a0cbf82c4524/ad85c/suddenly-saskatchewan-logo.webp"
},plugins: [
{
resolve: `gatsby-source-filesystem`,options: {
name: `images`,path: `${__dirname}/src/assets/images`,},{
resolve: `gatsby-source-filesystem`,options: {
path: `${__dirname}/content/markdown/`,name: `markdown-pages`,{
resolve: `gatsby-plugin-create-client-paths`,options: { prefixes: [
`/contact/*`,] },{
resolve: `gatsby-plugin-manifest`,options: {
name: `gatsby-starter-default`,short_name: `starter`,start_url: `/`,background_color: `#663399`,theme_color: `#663399`,display: `minimal-ui`,icon: `src/assets/images/gatsby-icon.png`,// This path is relative to the root of the site.
},{
resolve: `gatsby-transformer-remark`,options: {
plugins: [
'gatsby-remark-relative-images',{
resolve: `gatsby-remark-images`,options: {
backgroundColor: "transparent",maxWidth: "800",disableBgImageOnAlpha: true,linkImagesToOriginal: false,withWebp: true,loading: "eager"
},],{
resolve: 'gatsby-plugin-root-import',options: {
"components": path.join(__dirname,"src/components"),"styles": path.join(__dirname,"src/assets/styles"),"interfaces": path.join(__dirname,"src/interfaces"),"data": path.join(__dirname,'src/data'),"pages": path.join(__dirname,'src/pages'),"svg": path.join(__dirname,"src/assets/images/svg"),"hooks": path.join(__dirname,"src/hooks"),"types": path.join(__dirname,"src/types")
}
},`gatsby-transformer-sharp`,`gatsby-plugin-sharp`,`gatsby-plugin-typescript`,`gatsby-plugin-react-helmet`,`gatsby-plugin-sass`,`gatsby-plugin-offline`,`gatsby-plugin-sitemap`,`gatsby-plugin-netlify`,// `gatsby-plugin-preact`,`gatsby-transformer-json`,options: {
name: `data`,path: `${__dirname}/src/data`
}
},{
resolve: 'gatsby-plugin-react-svg',options: {
rule: {
include: /svg/
}
}
},{
resolve: `gatsby-plugin-purgecss`,options: {
// printRejected: true,// Print removed selectors and processed file names
purgeOnly: ['src/assets/styles','src/components','node_modules/'],ignore: ['node_modules/'],whitelist: [],whitelistPatterns: []
}
},}
脚本,而该程序具有Go或C程序的即时启动和低内存使用率。
对于更一般的目的,您可以编写一个完整的通用Clojure程序,并与外部操作系统互操作。 a function like tupelo.misc/shell-cmd
或original Clojure version from clojure.java.shell。我用它来驱动AWS CLI功能,例如列出,克隆和删除RDS数据库实例。
天空是极限(以及您的想象力)。
更新
我忘了提到GraalVM。它允许您将Clojure代码编译为静态可执行文件(与C / C ++程序生成的代码相同)。这是a Clojure/GraalVM demo project,可比Python脚本更快,更高效地创建“ Hello World”程序!享受吧!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。