Clojure

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(大数据)
(数据库存储)
(未显示1个用户的14个中间版本)
第9行: 第9行:
 
==简介==
 
==简介==
 
Clojure is about Data, [[Scala]] is about Types, [[Java]] is about Objects.
 
Clojure is about Data, [[Scala]] is about Types, [[Java]] is about Objects.
 +
 +
Eclipse Public License.
  
 
==虚拟机编译器==
 
==虚拟机编译器==
*[[ClojureCLR]]
+
*[https://github.com/clojure/clojure-clr ClojureCLR]
 
*[[ClojureScript]]
 
*[[ClojureScript]]
 +
 +
==语言==
 +
由[[Clojure]]开发的编程语言:
 +
*[https://github.com/jeaye/jank jank]
 +
*[https://github.com/LuxLang/lux lux]
 +
*[https://github.com/kanaka/mal/tree/master/clojure mal]
 +
*[https://github.com/turbopape/scheje scheje]
  
 
==指南==
 
==指南==
第25行: 第34行:
 
或使用 Leiningen REPL,它比 Clojure 自带的 REPL 好很多。
 
或使用 Leiningen REPL,它比 Clojure 自带的 REPL 好很多。
 
  lein repl
 
  lein repl
 +
Web应用启动:
 +
lein run 或 lein ring server
  
 
== Leiningen==
 
== Leiningen==
第64行: 第75行:
  
 
==数据分析==
 
==数据分析==
 +
数据分析和商业智能
 
*[[Metabase]]
 
*[[Metabase]]
  
第85行: 第97行:
  
 
==事件CEP==
 
==事件CEP==
*[https://github.com/clojurewerkz/eep EEP], Embedded Event Processing in Clojure
+
*[https://github.com/clojurewerkz/eep EEP] Embedded Event Processing in Clojure
*[https://github.com/clojurewerkz/meltdown Meltdown], a Clojure Interface to Reactor
+
*[https://github.com/clojurewerkz/meltdown Meltdown] a Clojure Interface to Reactor
  
 
==并行并发==
 
==并行并发==
第104行: 第116行:
 
==数据库存储==
 
==数据库存储==
 
*[[Datomic]]
 
*[[Datomic]]
 +
*[https://github.com/tonsky/datascript DataScript]
 
*[http://clojurewerkz.org/ Clojure libraries for MongoDB, RabbitMQ, validations, Neo4J, ElasticSearch, Apache Cassandra, Riak, Memcached, stream processing]
 
*[http://clojurewerkz.org/ Clojure libraries for MongoDB, RabbitMQ, validations, Neo4J, ElasticSearch, Apache Cassandra, Riak, Memcached, stream processing]
 
*[https://github.com/tomekw/hikari-cp hikari-cp] 连接池
 
*[https://github.com/tomekw/hikari-cp hikari-cp] 连接池
第110行: 第123行:
  
 
===SQL===
 
===SQL===
*[https://github.com/korma/Korma Korma]: Tasty SQL for Clojure
+
*[https://github.com/korma/Korma Korma] Tasty SQL for Clojure
*[https://github.com/jkk/honeysql Honey SQL]: Turn Clojure data structures into SQL
+
*[https://github.com/jkk/honeysql Honey SQL] Turn Clojure data structures into SQL
*[https://github.com/krisajenkins/yesql yesql]: https://github.com/krisajenkins/yesql
+
*[https://github.com/krisajenkins/yesql yesql] https://github.com/krisajenkins/yesql
  
 
===PostgreSQL===
 
===PostgreSQL===
第135行: 第148行:
 
*[http://clojureelasticsearch.info/ Elastisch]
 
*[http://clojureelasticsearch.info/ Elastisch]
  
==HTTP==
+
==Web HTTP==
 
*[[ring]]
 
*[[ring]]
 +
*[[Compojure]]
 
*[https://github.com/dakrone/clj-http clj-http]
 
*[https://github.com/dakrone/clj-http clj-http]
 
*[https://github.com/http-kit/http-kit http-kit]
 
*[https://github.com/http-kit/http-kit http-kit]
第143行: 第157行:
 
*[https://github.com/brehaut/necessary-evil necessary-evil] [[XML-RPC]]
 
*[https://github.com/brehaut/necessary-evil necessary-evil] [[XML-RPC]]
 
*[https://github.com/nginx-clojure/nginx-clojure nginx-clojure]
 
*[https://github.com/nginx-clojure/nginx-clojure nginx-clojure]
 +
*[https://github.com/pedestal/pedestal Pedestal]
 +
*[https://github.com/weavejester/hiccup Hiccup]
  
 
==RESTful API==
 
==RESTful API==
第152行: 第168行:
 
==IDE和Editor==
 
==IDE和Editor==
 
*[[Light Table]]
 
*[[Light Table]]
 +
*[https://github.com/oakes/Nightcode Nightcode]
 
*[[Cursive|Cursive IDE]]
 
*[[Cursive|Cursive IDE]]
 
*[[CCW IDE]]
 
*[[CCW IDE]]
第173行: 第190行:
 
*[[Ring]]
 
*[[Ring]]
 
*[[Compojure]]
 
*[[Compojure]]
 +
*[https://github.com/robashton/cravendb CravenDB]文档数据库
 +
*[https://github.com/circleci/frontend CircleCI's frontend]
 
*[[Enlive]]
 
*[[Enlive]]
 
*[https://github.com/macourtney/Conjure Conjure] A Rails like framework for Clojure.
 
*[https://github.com/macourtney/Conjure Conjure] A Rails like framework for Clojure.

2018年9月23日 (日) 16:20的版本

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

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

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

Clojure-logo.png

目录

简介

Clojure is about Data, Scala is about Types, Java is about Objects.

Eclipse Public License.

虚拟机编译器

语言

Clojure开发的编程语言:

指南

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 REPL,它比 Clojure 自带的 REPL 好很多。

lein repl

Web应用启动:

lein run 或 lein ring server

Leiningen

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

brew install leiningen

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

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

lein help

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

插件

Leiningen Plugins

Clojars

大数据

数据分析

数据分析和商业智能

机器学习

计算机视觉

自然语言处理

消息通信

事件CEP

  • EEP Embedded Event Processing in Clojure
  • Meltdown a Clojure Interface to Reactor

并行并发

金融货币

验证授权

数据库存储

SQL

PostgreSQL

MongoDB

Clojure Monger, Monger @ GitHub

Cassandra

  • cassaforte 建议:暂不使用高版本Cassandar,因为可能不支持。
  • alia: High performance Cassandra client for clojure
  • hayt: CQL3 DSL for Clojure

Redis

HBase

BI

Elasticsearch

Web HTTP

RESTful API

IDE和Editor

GUI

项目

文档

图书

用户

  • 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 框架或者队列进行通信。

更多用户>>>

图集

链接

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

变换
操作
导航
工具箱