`
xylong
  • 浏览: 191271 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

clojure深入学习

阅读更多

 

学习clojure有一段时间了,大多停留在看clojure doc与api和书籍上面,看的写的都是基于repl的一些零碎单调的小例子,基本的函数与关键字大概熟悉了,但还需要大量案例与工程的学习,在这篇文章中,我将零零碎碎地把自己阅读工程源码和如何构建自己的web项目的过程记录在这篇文章中,目前在读的主要是三个github上clojure web工程,工程不大,还是比较适合自己对clojure的进一步的学习,这里我贴下路径,

 

一个基于noir框架+bootstrap编写的关于tair(kv系统)的监控项目

https://github.com/dutor/lemon/blob/master/project.clj

一个zk的web框架,和上面这个工程类似

https://github.com/qiuxiafei/zk-web

也是类似的基于compojure的计算买房贷款的小工程

https://github.com/xumingming/house

 

基于目前自己clojure的熟悉程度,学习上面三个小工程,还是有一定难度,但还得硬着肚皮坚持看下去,如有心得,再来次记录一二。

 

lemon工程阅读笔记:

 

启动clj是这样的(server.clj)

 

(server/load-views-ns 'lemon.views)

 

(defn -main [& m]

  (let [mode (keyword (or (first m) :dev))

        port (Integer. (get (System/getenv) "PORT" "8011"))]

    (server/start port {:mode mode

                        :ns 'lemon})))

 

对于以上两段代码,目前还没搞清楚是如何执行的,-main()作为程序入口,执行了start方法,但(server/load-views-ns 'lemon.views) 这段代码又是怎么执行的呢? 难道是类似java中静态代码块?这个疑问已经在网上提了问题,到时候有答案我会再记录下。

 

在这里我们还要理解keyword  symbol 关键字与符号有什么区别.

 

->(seq?  [1 2 3])  处理的结果是false  证明不是序列哟  

->(coll? [1 2 3]   处理的结果是true

 

 

 

 

 

 

分享到:
评论

相关推荐

    Clojure编程乐趣]+clojure_programming.pdf

    Clojure是一种基于Lisp家族的函数式编程语言,它运行在Java虚拟机(JVM)上,同时也支持JavaScript和...通过深入学习Clojure,你可以提升自己的编程技巧,拓宽解决问题的思路,并参与到这个充满活力的开源社区中去。

    clojure电子书

    《Clojure电子书》集合包含了三本关于Clojure编程的重要书籍和一个Leiningen的Windows安装程序,这对于学习和深入理解Clojure语言至关重要。Clojure是一种基于Lisp的函数式编程语言,它运行在Java虚拟机(JVM)上,...

    Clojure Data Analysis Cookbook

    1. **基础篇**:这一部分将引导读者入门 Clojure 编程语言的基本概念和语法,为后续深入学习打下坚实的基础。 - **Clojure 入门**:介绍 Clojure 的安装过程、REPL(Read-Eval-Print Loop)环境的使用方法以及简单...

    Practical Clojure.pdf

    作者在开始学习Clojure时,体会到了编程的乐趣,这种感觉只有在初次接触计算机并执行命令时才曾经有过。Clojure语言让程序员能够直接与程序沟通,无需经过模糊的间接层次,使得程序员感觉自己真正控制了程序。 ...

    Programming Clojure 英文电子版

    ### 编程Clojure:全面解析与学习指南 #### 一、Clojure语言概述 《Programming Clojure》是一本深入探讨Clojure编程语言的书籍,该书由Stuart Halloway编写,出版于2009年3月,由Pragmatic Bookshelf出版社发行。...

    clojure1.3.0及资料

    在这个压缩包文件中,包含了一些关于Clojure的重要资源,特别是对于学习和理解Clojure 1.3.0版本非常有帮助。 1. **《Programming Clojure》**:这本书由Stuart Halloway和Aaron Bedra编写,是Clojure编程的经典...

    Clojure入门教程- Clojure – Functional Programming for the JVM中文版

    - **书籍**: 有许多优秀的书籍可以帮助深入理解Clojure的语言特性和最佳实践,如《Clojure in Action》和《Programming Clojure》等。 #### 七、案例分析与实践 - **Clojure项目实战**: 通过实际项目来学习Clojure...

    Clojure学习——使用clojure jdbc操作mysql

    下面我们将深入探讨如何使用Clojure和JDBC来操作MySQL数据库。 首先,你需要在项目中添加`clojure.java.jdbc`的依赖。如果你使用Leiningen作为构建工具,可以在`project.clj`文件的`:dependencies`列表中添加以下...

    programming-clojure-3rd

    《Programming Clojure 第三版》是一本深入探讨Clojure编程语言的专业书籍,旨在帮助开发者全面理解和掌握这门基于Lisp的现代函数式编程语言。Clojure是由Rich Hickey设计的,它运行在Java虚拟机(JVM)上,同时也...

    Clojure Handbook(2012.11.1)

    Clojure Handbook是一份关于Clojure编程语言的学习笔记,旨在为读者提供一个方便的备查材料,以加深对Clojure语言特性的理解和记忆。 首先,Clojure作为Lisp语言家族的一员,具有一些独特的特性。Lisp语言以其极简...

    Lacinia纯Clojure实现的GraphQL

    对于希望学习Clojure和GraphQL结合的开发者来说,这是一个宝贵的资源。通过深入理解Lacinia,开发者不仅可以掌握如何在Clojure中实现GraphQL,还能领略到函数式编程在构建现代Web服务中的强大潜力。

    Clojure入门教程.pdf

    ### Clojure入门教程知识点概览 #### 一、Clojure简介 ...无论是对于希望深入了解函数式编程的新手,还是对于希望在JVM平台上构建高性能系统的资深开发者而言,Clojure都是一种值得学习和使用的优秀编程语言。

    Living clojure pdf

    综上所述,《Living Clojure》这本书旨在帮助读者深入了解Clojure编程语言的核心特性和实际应用,适合希望学习或已经熟悉Clojure的开发者阅读。通过本书,读者不仅可以了解到Clojure的基本语法和概念,还可以学习到...

    Living Clojure

    这本书作为一本学习资料,很可能会深入探讨Clojure语言的核心概念,包括但不限于其数据结构、函数式编程范式、宏系统、状态管理、并发编程机制等。 书中可能还会提供实践案例,教授如何利用Clojure解决现实世界的...

Global site tag (gtag.js) - Google Analytics