Clojure

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(项目)
(RESTful API)
第97行: 第97行:
 
*[https://github.com/metosin/compojure-api compojure-api] with [https://github.com/weavejester/compojure Compojure] & [[Swagger]]
 
*[https://github.com/metosin/compojure-api compojure-api] with [https://github.com/weavejester/compojure Compojure] & [[Swagger]]
 
*[https://github.com/clojure-liberator/liberator/ liberator]
 
*[https://github.com/clojure-liberator/liberator/ liberator]
 +
 +
==IDE==
 +
[https://cursive-ide.com/ Cursive IDE]
  
 
==项目==
 
==项目==

2016年4月25日 (一) 17:10的版本

Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 Clojure Thanks, Wikipedia.

Clojure 是一个面向Java Virtual Machine 的动态语言。

Lisp 是一种编程语言,以表达性和功能强大著称,但人们通常认为它不太适合应用于一般情况。Clojure 是一种运行在 Java平台上的 Lisp 方言,它的出现彻底改变了这一现状。如今,在任何具备 Java 虚拟机的地方,您都可以利用 Lisp 的强大功能。

目录

指南

wget http://repo1.maven.org/maven2/org/clojure/clojure/1.8.0/clojure-1.8.0.zip
java -cp clojure-1.8.0.jar clojure.main
user=> (+ 1 2 3)
6
user=> (def hello (fn [] "Hello world"))
#'user/hello
user=> (hello)
"Hello world"

Leiningen

使用leiningen工具来管理Clojure项目和Java配置。

brew install leiningen

或者获得 https://raw.github.com/technomancy/leiningen/preview/bin/lein 并放到 /bin 目录下,chmod 755

cd bin,执行 ./lein // 开始安装 Leiningen

Leiningen is a tool for working with Clojure projects.

Several tasks are available:

check               Check syntax and warn on reflection.
classpath           Write the classpath of the current project to output-file.
clean               Remove all files from project's target-path.
compile             Compile Clojure source into .class files.
deploy              Build jar and deploy to remote repository.
deps                Show details about dependencies.
do                  Higher-order task to perform other tasks in succession.
help                Display a list of tasks or help for a given task.
install             Install current project to the local repository.
jar                 Package up all the project's files into a jar file.
javac               Compile Java source files. 
new                 Generate project scaffolding based on a template.
plugin              DEPRECATED. Please use the :user profile instead.
pom                 Write a pom.xml file to disk for Maven interoperability.
repl                Start a repl session either with the current project or standalone.
retest              Run only the test namespaces which failed last time around.
run                 Run the project's -main function.
search              Search remote maven repositories for matching jars.
show-profiles       List all available profiles or display one if given an argument.
test                Run the project's tests.
trampoline          Run a task without nesting the project's JVM inside Leiningen's.
uberjar             Package up the project files and all dependencies into a jar file.
upgrade             Upgrade Leiningen to specified version or latest stable.
version             Print version for Leiningen and the current JVM.
with-profile        Apply the given task with the profile(s) specified.

Run lein help $TASK for details.

接着:

lein new start-clojure
cd start-clojure
lein repl
将获得一些jar,如:
Retrieving org/clojure/clojure/1.4.0/clojure-1.4.0.jar ...
user=>  (println "Give me some Clojure!")
Give me some Clojure!
nil

Clojars

大数据

数据库

SQL

  • Korma: Tasty SQL for Clojure
  • Honey SQL: Turn Clojure data structures into SQL

PostgreSQL

MongoDB

Clojure Monger, Monger @ GitHub

Cassandra

  • alia: High performance Cassandra client for clojure
  • hayt: CQL3 DSL for Clojure

HBase

BI

RESTful API

IDE

Cursive IDE

项目

文档

图书

用户

  • Cognitect, Clojue之父,Rich Hickey 是该公司Co-Founder & CTO。
  • 花旗信⽤实时⻛险估值系统Java/Clojure后端(1500节点分布计算)花旗投⾏信⽤部实时⻛险计算系统,逻辑使⽤Clojure。
  • Puppet: Puppet Server, Trapperkeeper, PuppetDB, Trapperkeeper Webserver Service
  • 沃尔玛: “Our Clojure system just handled its first Walmart black Friday and came out without a scratch.” - Walmart Labs
  • Riemann
  • LeanCloud 采用了多种语言混合来构建整个后端系统,包括 Clojure、Java、Node.js、Scala 等。其中 Clojure 构建了整个网站门户、存储开放 API、推送、聊天等核心服务,Node.js构建了云端代码服务(类似应用代码托管),我们还使用 Scala 编写的 Spark 任务来处理离线数据分析,此外,还有大量的统计类 MapReduce 任务使用 Java 编写并运行在 Hadoop 集群上。不同服务之间使用 RESTful 协议、RPC 框架或者队列进行通信。

更多用户>>>

图集

链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱