emacs开发-02:从零开始学习emacs构建clojure项目

直接开始, 不废话, 上内容:

第0步: clojure开发背景介绍
第1步:  使用leiningen开发第一个 clojure项目
第2步: 使用emacs智能高效living code
第3步: 常见问题列表FAQ
    1. 软件安装网络不稳定,经常失败应该怎么处理? 
    2. 如何使用公司的私有repository?
    3 如何编写前后端通用的库?
    4. 如何连接到远程服务器进行living code
第4步: clojure知名软件库介绍
第5步: clojure知名技术资料介绍
第6步: clojurians-org中国社区成员

clojure开发背景介绍:(clojure是一种lisp, 是一种信仰)

    开发clojure需要一系列工具, 我们的选择也很多。这里仅列出本人工具箱, 不做过多解释,好东西就是用。

    软件包管理工具[nix]: https://nixos.org/nix/
    项目构建工具[leiningen]: https://leiningen.org
    IDE开发[emacs]:  http://www.gnu.org/software/emacs/

    必不可少的clojure文档:https://clojuredocs.org/core-library
    clojure常用库列表: https://www.clojure-toolbox.com/
    clojure技术书箱列表: https://github.com/clojurians-org/clojure-ebook-2

    clojure技术微信群: 联系微信号18217307226添加

开始前的准备工作:(连软件包也要函数式的nix)

nix安装: 

docker方式安装: 
  docker pull nixos/nix
  docker run --name nixos -it --net=host nixos/nix:latest sh

;; 如果没有root权限,请参照: https://nixos.wiki/wiki/Nix_Installation_Guide

网络方式安装: 
  sudo install -d -m755 -o $USER -g $USER /nix
  curl https://nixos.org/nix/install | sh

离线方式安装:
    sudo install -d -m755 -o $USER -g $USER /nix
    下载https://nixos.org/releases/nix安装包后解压运行./install

jdk安装: nix-env -i openjdk

1. 使用leiningen开发第一个 clojure项目(轻轻松松)

leiningen安装:   nix-env -i leiningen

;; 如果下载过慢,请参见常见问题列表FAQ.

测试一下REPL: lein repl 

就可以开始进行编程了, 来一个标准的Hello Wold。

玩一下项目: lein new my-first

这里我们简单的写一个字符串base64加密的工具

a. 新建工程: lein new my-first

b. 添加依赖:[org.clojure/data.codec "0.1.1"] 

c. 下载依赖: lein deps

d. 在lein repl里面测试代码

e. 编写源码文件

f: 编译并运行模块: 

g: 生成maven pom文件(可选):

h: 打成jar包并运行:

i: 发布到本地maven仓库

j: 发布到远程服务器: lein deploy(待补充)


2. 使用emacs智能高效living code(成为黑客的必要条件) 

emacs安装:   nix-env -i emacs 

;; 如果下载过慢,请参见常见问题列表FAQ.

    a. 添加melpa源软件包:https://github.com/melpa/melpa

        ;; 全部使用http协议, https一些情况下存在bug

    b. 启动emacs, 更新软件包
        alt+x: package-refresh-contents


    c. 安装clojure开发插件cider: https://github.com/clojure-emacs/cider  

         alx+x: package-install回车后输入: cider


    d: 安装插号匹配插件paredit: https://www.emacswiki.org/emacs/ParEdit
         alx+x: package-install回车后输入: paredit 


    e: 退出emacs, 挂钩paredit-mode至clojure编辑

    f: emacs编辑项目文件,输入ctrl+c, alt+j后启动repl

    g: 使用ctrl + x, o从repl窗口切换至源文件

    g. 输入ctrl+c, ctrl + k加载当前文件
    h:  移至需要计算的括号后面,输入ctrl+x, ctrl+e进行计算 

    快捷键总结:

        [ctrl + c, alt + j] 启动repl

        [ctrl + c, ctrl + k]  加载当前文件

        [ctrl + x, ctrl + e]  执行当前表达式

        [ctrl + X, o] 切换窗口

        [ctrl +0] 关闭当前窗口

        [ctrl + 1] 仅保持当前窗口

        [ctrl + 2] 水平分隔窗口

        [ctrl + 3] 垂直分隔窗口

        [ctrl + 5, 2] 最大化窗口

        [ctrl + 5, 0] 还原最大化窗口

        [ctrl +x, b] 替换当前窗口

        [ctrl + alt + f] 跳转到匹配括号结束

        [ctrl + alt + b] 跳转到匹配括号开始

3: 常见问题列表FAQ

4: clojure知名商用软件库介绍:

    Metabase: BI领域及其难得的开源可视化工具
       主页: https://www.metabase.com/
       github: https://github.com/jepsen-io/jepsen 

    CircleCI: 持续集成领域的最强者  
        主页: https://circleci.com/

    Storm: 经典流式处理框架 
        主页: http://storm-project.net/
        github: https://www.storm-project.net/

    Onyx: 以clojure为核心打造的新型流式处理框架
        主页: http://www.onyxplatform.org/
        github: https://github.com/onyx-platform/onyx

    Datomic: clojure之父打造的函数式日志的数据库, 极高的数据稳定性。   
        主页: http://datomic.com/

    Jepsen: 以测试出各种分布式软件BUG著称于世
        主页: https://jepsen.io/
        github: https://github.com/jepsen-io/jepsen   

    rieman: 监控利器
        主页: http://riemann.io/
        github: https://github.com/riemann/riemann


5. clojure知名技术资料介绍

6. clojurians-org中国社区成员: all@clojurians.org 

;; 联系larluo@clojurians.org添加

2gua@clojurians.org

andelf@clojurians.org

ballon@clojurians.org

banana@clojurians.org

celerybean@clojurians.org

chenyyx@clojurians.org

clj@clojurians.org

cyz@clojurians.org

dajianshi@clojurians.org

darionyaphet@clojurians.org

deepnil@clojurians.org

defclass@clojurians.org

dewei@clojurians.org

doglooksgood@clojurians.org

emliunix@clojurians.org

f258fengye@clojurians.org

fetureisgood@clojurians.org

fptomatoeggs@clojurians.org

franco@clojurians.org

frank@clojurians.org

gzmask@clojurians.org

horizon@clojurians.org

hujianxin@clojurians.org

hzm@clojurians.org

isaac@clojurians.org

itgraph@clojurians.org

kanontds@clojurians.org

kinoko@clojurians.org

lambeta@clojurians.org

larluo@clojurians.org

leapon@clojurians.org

lijun@clojurians.org

linpengchengfa@clojurians.org

lo@clojurians.org

lzp@clojurians.org

mahengyang@clojurians.org

mantantan@clojurians.org

mengzhao@clojurians.org

padma0@clojurians.org

pangolin@clojurians.org

phenom720@clojurians.org

raincal@clojurians.org

shuhui@clojurians.org

solarup@clojurians.org

tiye@clojurians.org

wind13@clojurians.org

wmeng17@clojurians.org

wuy@clojurians.org

xhh@clojurians.org

xiangel@clojurians.org

xiaochaihu@clojurians.org

xulhui@clojurians.org

yaiba@clojurians.org

yuanbo@clojurians.org

yyqian@clojurians.org

zongwu@clojurians.org

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容