|
| 1 | +{:title "ClojureTW 週報 2016-12-10" |
| 2 | +:layout :post |
| 3 | +:author "coldnew" |
| 4 | +:tags ["clojure"] |
| 5 | +:toc true} |
| 6 | + |
| 7 | +# ClojureTW 活動 |
| 8 | + |
| 9 | +* 我們將在 [12/19 舉辦實體聚會活動](https://www.meetup.com/Clojure-tw/events/235951132/),本次討論的議題是 [clojure.spec](http://clojure.org/about/spec) ,具體聚會地點以及詳細時間請關注 [meetup](https://www.meetup.com/Clojure-tw/events/235951132/) 的通知。 |
| 10 | + |
| 11 | +# Emacs |
| 12 | + |
| 13 | +* 你是 [spacemacs](http://spacemacs.org/) 的用戶嗎? [Figwheel + Spacemacs](https://paultopia.github.io/posts-output/figwheel-emacs/) 整理了如何在 [spacemacs](http://spacemacs.org/) 下使用 [figwheel](https://github.com/bhauman/lein-figwheel) 。 |
| 14 | + |
| 15 | +# 書籍 |
| 16 | + |
| 17 | +* [Clojure Standard Library](https://www.manning.com/books/clojure-standard-library) |
| 18 | + |
| 19 | +# 影片/演講 |
| 20 | + |
| 21 | +* [Clojure eXchange 2016 系列影片](https://skillsmatter.com/conferences/7430-clojure-exchange-2016#skillscasts) |
| 22 | + |
| 23 | +* [Genetic Programming with clojure.spec](https://www.youtube.com/watch?v=xvk-Gnydn54&feature=youtu.be) |
| 24 | + |
| 25 | +* [JCConf 2016 系列影片](http://jcconf.tw/2016/schedule-1.html) |
| 26 | + |
| 27 | +# 專案 |
| 28 | + |
| 29 | +* [optimized-kw-maps](https://github.com/frenchy64/optimized-kw-maps) - 透過 Clojure 對 哈希數組映射算法(Hash Array Mapped Trie,HAMT) 進行學習 [[ANN](https://groups.google.com/forum/#!msg/clojure/CdeNTbeFXHU/xqzLpGhQDQAJ)]。 |
| 30 | + |
| 31 | +# 函式庫 |
| 32 | + |
| 33 | +* [vvvvalvalval/datalog-rules](https://github.com/vvvvalvalval/datalog-rules) - Utilities for managing Datalog rulesets from Clojure |
| 34 | + |
| 35 | +* [docker-fixture](https://github.com/brabster/docker-fixture) - Docker containers as clojure.test fixtures |
| 36 | + |
| 37 | +* [dynamodb-expressions](https://github.com/brabster/dynamodb-expressions) - A WIP attempt to write a DSL for DynamoDB expressions in Clojure. |
| 38 | + |
| 39 | +* [cc.qbits/checkmate](https://github.com/mpenet/checkmate) - A minimalist/extensible lib to handle failures and retries in a gracefull way. |
| 40 | + |
| 41 | +* [clojure/data.xml](https://github.com/clojure/data.xml) - library for reading and writing XML data. [[ANN](https://groups.google.com/d/msg/clojure/52XaQK9ppWY/Aavo54zuDAAJ)] |
| 42 | + |
| 43 | +* [karma-reporter](https://github.com/honzabrecka/karma-reporter) - A plugin for running clojurescript tests with Karma. |
| 44 | + |
| 45 | +* [Integrant](https://github.com/weavejester/integrant) - Micro-framework for data-driven architecture |
| 46 | + |
| 47 | +* [manifold-cljs](https://github.com/dm3/manifold-cljs) - [manifold](https://github.com/ztellman/manifold) implementation in Clojurescript |
| 48 | + |
| 49 | + |
| 50 | +# 開發 |
| 51 | + |
| 52 | +* 想要參與 ClojureScript 的開發嗎? [這裡](http://dev.clojure.org/jira/secure/IssueNavigator.jspa?mode=hide&requestId=10616)有一批適合新手的坑,歡迎跳坑!! |
| 53 | + |
| 54 | +* [Clojure-Kit](https://github.com/gregsh/Clojure-Kit) 是針對 IntelliJ 類型的 IDE 所開發的 Clojure/Script 擴充套件 [[reddit](https://www.reddit.com/r/Clojure/comments/5h7lre/clojureclojurescript_plugin_for_intellijbased_ides/)]。 |
| 55 | + |
| 56 | +* [Nightlight](https://sekao.net/nightlight/) 是一個可以嵌入在 [leinigen](http://leiningen.org) 的整合開發環境,最近釋出了 1.3.0 版本,帶來了一個新的界面 [[ANN](https://groups.google.com/d/msg/clojure/6fjRKqgnF30/E1u4Gx6GDQAJ)]。 |
| 57 | + |
| 58 | +* [Gorilla REPL](http://gorilla-repl.org/) 是 Clojure 下類似 ipython notebook 的視覺化 REPL 工具, 有人嚐試將其與 ClojureScript 整合在一起,你可以在 [Pimping Gorilla REPL with React and ClojureScript. And Beyond.](https://www.contentreich.de/pimping-gorilla-repl-with-react-clojurescript-and-beyond) 一文看到介紹。 |
| 59 | + |
| 60 | + |
| 61 | +# 學習資訊 (英) |
| 62 | + |
| 63 | +* 怎樣才能成為 Clojure 的專家呢?其實這問題我也想知道。[One Weird Trick To Become a Clojure Expert](http://realworldclojure.com/one-weird-trick/) 一文提供了一些建議。 |
| 64 | + |
| 65 | +* 雖然沒有像 R、Python 那樣被廣泛使用, Clojure 仍舊是學習資料科學 (Data Science) 的好工具。 [Clojure for Data Science](https://www.amazon.com/Clojure-Data-Science-Henry-Garner/dp/1784397180/) 的作者 [Henry Garner](https://twitter.com/henrygarner) 在 InfoQ 發表了 [Data Science Up and Down the Ladder of Abstraction](https://www.infoq.com/articles/data-science-abstraction) 文章,來講述用 Clojure 學習資料科學的一些歷程。 |
| 66 | + |
| 67 | +* Transducer 是 Clojure 1.7 引入的新概念,這裡又有一篇教學文囉: [TRANSDUCERS FOR TOTAL BEGINNERS](https://paultopia.github.io/posts-output/basic-transducers/)。 |
| 68 | + |
| 69 | +* [devcards](https://github.com/bhauman/devcards) 是 ClojureScript 下一個可以在網頁上即時看到結果的 REPL, [Devcards for Testing Clojurescript Projects: A Beginner Introduction](https://paultopia.github.io/posts-output/devcards-testing/) 為我們整理了如何透過 [devcards](https://github.com/bhauman/devcards) 來測試你的 ClojureScript 專案。 |
| 70 | + |
| 71 | +* [Building a Parallax Scroller in ClojureScript with Reagent](http://www.jmaythings.com/2016/11-13-reagent-pixi-scroller.html) 講述了如何在 reagent 下透過 [PixiJS](http://www.pixijs.com/) 這個 2D 渲染框架來製作網頁的視差滾動 (Parallax Scrolling) 特效。 |
| 72 | + |
| 73 | +* 我們在上一期的範例專案有說到如何透過巨集 (macro) 在編譯時將資訊塞入到 ClojureScript 中,[Using macros to get data into Clojurescript front-end pages](https://paultopia.github.io/posts-output/cljs-macro-data/) 以文章的形式將這作法再講解一次。 |
| 74 | + |
| 75 | +* [boot](http://boot-clj.com/) 是 Clojure 下很好用的編譯系統,[Starting a Node.js app with ClojureScript and Boot](https://specious.github.io/blog/2016/12/07/Starting-a-NodeJS-app-with-ClojureScript-and-Boot/) 簡單介紹如何透過 [boot](http://boot-clj.com/) 來將你的 ClojureScript 專案用於 Node.js 上。 |
| 76 | + |
| 77 | +* 想在 Clojure 下使用 [Kafka](https://kafka.apache.org/) 而不知道如何入手嘛? [Quick Recipe for #Kafka Streams in #Clojure](https://dataissexy.wordpress.com/2016/12/06/quick-recipe-for-kafka-streams-in-clojure/) 帶來了簡單的介紹。 |
| 78 | + |
| 79 | +* [halite.io](https://halite.io/) 是最近出現的一個人工智慧競賽平台, [Writing a Halite Bot in Clojure](http://adereth.github.io/blog/2016/12/06/writing-a-halite-bot-in-clojure/) 說明如何用 Clojure 來參與這場競賽。 |
| 80 | + |
| 81 | +* [Clojure High Performance Programming](https://www.packtpub.com/application-development/clojure-high-performance-programming-second-edition) 的作者指出,在進行 模擬測試 (Mock) 的時候,重新定義變數是危險的,具體內容請見:[Mocking with var redefinition considered harmful](http://charsequence.blogspot.tw/2016/12/mocking-with-var-redefinition.html) 。 |
| 82 | + |
| 83 | +* [Consul](https://www.consul.io/) 是服務發現 (service discovery) 和配置共享的工具 (類似 zoekeeper) , [Consul & Clojure](http://www.surrealanalysis.com/post/clojure-and-consul/) 這篇文章講解如何在 Clojure 和 [Consul](https://www.consul.io/) 一起愉快的工作。 |
| 84 | + |
| 85 | +* [Clojure: Owning the Language](https://medium.com/@hlship/clojure-owning-the-language-ec0196871c40#.567nh646r) |
| 86 | + |
| 87 | +# 學習資訊 (日) |
| 88 | + |
| 89 | +* [Lispってどう書くの?](http://qiita.com/xorphitus/items/64f739e2594caba6eb4d) 為我們整理了用編輯器編輯 Lisp 類語言的套件與方式。 |
| 90 | + |
| 91 | +* 除了 [leinigen](http://leiningen.org/) 外, [boot](http://boot-clj.com) 也是 Clojure 下流行的編譯系統。[プロジェクトを作らないClojure](http://qiita.com/ihuku/items/6daadf48328926bafbde) 一文介紹了如何透過 [boot](http://boot-clj.com) 把 Clojure 當成腳本語言來寫。 (如果你不想看日文的話,那可以看看: [Advanced Boot Scripting](https://lionfacelemonface.wordpress.com/2015/04/11/advanced-boot-scripting/) 或是 [How To Use Clojure For Scripting](http://asimjalis.github.io/blog/2016/12/07/clojure-for-scripting.html)) 。 |
| 92 | + |
| 93 | +* 還是不太了解 ClojureScript 專案的架構嗎?日本網友為我們整理了這篇文章: [ClojureScript 開発時の project.clj を理解する](http://qiita.com/ponkore/items/ea91e8b5b952a89a64f2)。 |
| 94 | + |
| 95 | +* [構造を抽象化する](http://qiita.com/kohyama/items/e788877a67e27ce9c6fb) |
| 96 | + |
| 97 | +* [clojure.test の拡張方法について](http://qiita.com/ayato_p/items/7aa4b8f2d4d2c0f258df) 介紹了 clojure.test 的實務應用。 |
| 98 | + |
| 99 | +* 本期的日文文章比較多,反正台灣人都看得懂日文 థ౪థ 。[継承によらないポリモーフィズム実現手法](http://qiita.com/lagenorhynque/items/389679018aafaabd2d24) 為我們帶來了 Java、Clojure、Haskell、Scala 以及 Elixir 和 Common Lisp 的多型 (polymorphism) 以及 繼承 (inheritance) 的表現方式。 |
| 100 | + |
| 101 | +# 其他 |
| 102 | + |
| 103 | +* 知名的 Clojure 開發者 [Anthony Grimes](https://github.com/Raynes) 意外身亡, [Chas Emerick](https://github.com/bbatsov) 撰文 [RIP Anthony Grimes](https://cemerick.com/2016/12/07/rip-anthony-grimes/) 表達哀悼 - [reddit](https://www.reddit.com/r/Clojure/comments/5gyyxw/clojure_open_source_contributor_anthony_grimes/)。 |
| 104 | + |
| 105 | +* 本週是 [Ludum Dare 37](https://ldjam.com/),這是一個遊戲開發競賽,參與者需要在48小時內針對所設定的主題創作遊戲。想要用 Clojure 來參與嗎? [Lambda Island](https://lambdaisland.com) 為我們整理了在 Clojure 下你可以使用的遊戲框架函式庫,具體請見: |
| 106 | +[Game Development with Clojure/ClojureScript](https://lambdaisland.com/blog/08-12-2016-game-development-with-clojure-clojurescript) 。 |
| 107 | + |
| 108 | +* [Dutch Clojure Day 2017](http://clojuredays.org) 正在 [尋求講者](https://docs.google.com/forms/d/e/1FAIpQLSeQj3EzOYnYPoKrAueoHnETJ_yQpBmx4zrCHPQEgS1RL7P1CA/viewform?c=0&w=1),如果您要順道去德國玩,不要猶豫,上吧!! |
| 109 | + |
| 110 | +* [LambdaConf 2017](http://lambdaconf.us)正在[尋求講者](https://www.surveymonkey.com/r/lambdaconf-2017-cfp),這次會議時間是 2017/05/25 ~ 27 ,地點則是美國的科羅拉多州 (Colorado) 波德市(Boulder)。 |
| 111 | + |
| 112 | +* [juxt](https://juxt.pro) 有一系列的歐洲 Clojure 公司採訪報導,這次對象是位於挪威奧斯陸 (Oslo) 的 [Telenor Digital](https://juxt.pro/blog/posts/clojure-in-telenor.html) ,如果你對使用 Clojure 的公司有興趣,你一定要看看這篇文章。 |
| 113 | + |
| 114 | +* [Clojure Conj 2016 回顧](http://timothypratley.blogspot.tw/2016/12/the-hallway-track-of-clojure-conj-2016.html) |
| 115 | + |
| 116 | +* 為何麻省理工學院 (MIT) 不再繼續講授 [SICP](https://mitpress.mit.edu/sicp/) ? [這篇文章](http://lambda-the-ultimate.org/node/5335) 做了一個很好的總結。 |
0 commit comments