├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Ivan Fedorov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Clojure. Граф знаний на русском. 2 | Clojure. Knowledge graph in Russian. 3 | 4 | Очень лениво наполняемый граф со ссылками на разные учебные материалы и сообщества. 5 | 6 | Всегда рад Вашим дополнениям ❤️ 7 | 8 | Навигация 9 | ================= 10 | 11 | * [Проба ClojureScript](#Проба-ClojureScript) 12 | * [Пути изучения Clojure](#Пути-изучения-Clojure) 13 | * [Сборники материалов](#Сборники-материалов) 14 | * [Книги](#Книги) 15 | * [Блоги](#Блоги) 16 | * [Видео](#Видео) 17 | * [Упражнения и курсы](#Упражнения-и-курсы) 18 | 19 | 20 | ## Проба ClojureScript 21 | Один из легчайших путей попробовать сделать проект на ClojureScript – [shadow-cljs](http://shadow-cljs.org) 22 | 23 | 24 | ``` 25 | yarn global add shadow-cljs 26 | lein new shadow-cljs your-project +reagent 27 | lein new shadow-cljs your-project +om 28 | lein new shadow-cljs your-project +rum 29 | cd your-project 30 | 31 | shadow-cljs watch dev 32 | 33 | shadow-cljs cljs-repl dev 34 | ``` 35 | 36 | ## Пути изучения Clojure 37 | По мнению участников чата t.me/clojure_ru 38 | 39 | 40 | ##### Artur Dumchev, [9 Sep 2019 at 13:36:34]: 41 | > Наверное, зависит еще от начального опыта. 42 | > у меня было SICP -> Brave -> The Joy of Clojure -> Web Development with Clojure -> Miscoservices with Clojure и параллельно свой pet-project и разные сайты с задачками. 43 | > Кому-то с опытом веба, наверное, не нужны были бы Web Development with Clojure и Miscoservices with Clojure 44 | > Я бы начинал не с Кложи, а с js, java/kotlin (android) или swift (ios), чтобы можно было сразу что-то сделать и выложить, посмотреть, как твоим аппом пользуются. Иначе может мотивации не хватить. 45 | > Еще можно рискнуть с флаттера начать (кросплатформенно), на нем ui попроще делать, но могут возникнуть проблемы, когда появится необходимость трогать нативные фичи девайсов — камеру, блутуз, смс и пр. 46 | > Потом будет приятнее с этих языков на кложу переходить) 47 | 48 | 49 | ##### Mike Bohdan, [9 Sep 2019 at 13:21:19]: 50 | > А чего там учить? 51 | > Brave->Code Wars->Clojure Applied 52 | > Основные концепции понял, а дальше как и в предидущих н языках до этого. 53 | > Можно даже без Applied первое время 54 | > Есть ещё, если концепции нужно понять, Little Schemer 55 | 56 | 57 | ##### Alexey Golda 58 | > https://github.com/netxor/sicp-clojure 59 | > вот еще ресурс для начала если brave не зашел 60 | > http://kimh.github.io/clojure-by-example/#about 61 | > вот еще сойдет, с разными примерами и тп 62 | > http://clojure-doc.org 63 | 64 | 65 | ##### Ivan Fedorov 66 | > у меня в начале был этот туториал 67 | > https://objectcomputing.com/resources/publications/sett/march-2009-clojure-functional-programming-for-the-jvm 68 | 69 | Туториал древний 2009 года, но ещё достаточно релевантен и покрывает большое число тем. 70 | Если где-то неясно как работает функция – можно обратиться к ClojureDocs 71 | https://clojuredocs.org/clojure.core/dotimes 72 | 73 | 74 | ##### Anton Chikin, [9 Sep 2019 at 14:52:14]: 75 | > Вообще есть мнение что sicp устарел немного 76 | > Сами авторы sicp аргументируют тем, что фокус сместился с базовых знаний о алгоритмах и структурах данных к библиотекам и архитектуре 77 | > Есть кстати курс от Стюарта Сиерры 78 | > https://player.oreilly.com/videos/9781491961544 79 | 80 | 81 | ##### Vyacheslav Mikushev, [31 May 2020, 12:56:15]: 82 | > Practical Common Lisp, On Lisp и Let over Lambda. Перечислил от простого к сложному. 83 | > Но это всё для Common Lisp. Для кложи я не читал ничего по метапрограммированию на макросах. Такое метапрограммирование не любят тут. 😁 84 | 85 | 86 | ##### Mikhail Beliansky [8 May 2021] 87 | Книги классные Programming Clojure, Getting Clojure и Professional Clojure 88 | 89 | 90 | ## Книги 91 | * Иван Гришаев – Clojure в производстве. https://grishaev.me/clojure-in-prod/ 92 | * Brave Clojure – https://www.braveclojure.com/foreword/ 93 | * [Elements of Clojure](https://elementsofclojure.com/) (Zachary Tellman) 94 | * SICP / [SICP Distilled (адаптация под Clojure)](http://www.sicpdistilled.com/) 95 | * [Getting Clojure](https://pragprog.com/titles/roclojure/getting-clojure/) 96 | * [Programming Clojure](https://pragprog.com/titles/shcloj3/programming-clojure-third-edition/) 97 | * [Professional Clojure](https://www.wiley.com/en-us/Professional+Clojure-p-9781119267270) 98 | * [Clojure : the Essential Reference](https://www.manning.com/books/clojure-the-essential-reference) 99 | * [The Little Schemer](https://mitpress.mit.edu/books/little-schemer-fourth-edition) 100 | 101 | ## Видео 102 | * [Синтаксис и базовые понятия Clojure. Никита Прокопов](https://www.youtube.com/watch?v=3NPBbYPYzhs&ab_channel=MoscowClojureUserGroup) 103 | 104 | ## Сборники материалов 105 | * [Все лекции Рича Хикки](https://github.com/tallesl/Rich-Hickey-fanclub) 106 | * https://github.com/papers-we-love/papers-we-love 107 | * https://www.infoq.com/architecture-design 108 | * Хорошие примеры на все функции из ядра Clojure https://clojuredocs.org/clojure.core/dotimes 109 | 110 | 111 | ## Блоги 112 | * Иван Гришаев https://grishaev.me/ 113 | * Zachary Tellman https://ideolalia.com/ 114 | 115 | 116 | ## Online REPL 117 | [repl.it](https://repl.it) 118 | 119 | ## Упражнения и курсы 120 | * https://exercism.org/ – площадка с упражнениями которые вы сможете показать друзьям и нанимателю 121 | * Бесплатный курс на русском – https://ru.code-basics.com/languages/clojure 122 | * Учим re-frame https://www.learnreframe.com/ курс Jacek Schae 123 | 124 | ## Базы данных 125 | * [Datomic](https://www.datomic.com) Clojure 126 | * [Crux](https://opencrux.com/main/index.html) Clojure 127 | * [datahike](https://github.com/replikativ/datahike) Clojure and ClojureScript 128 | * [DataScript](https://github.com/tonsky/datascript) Clojure and ClojureScript 129 | 130 | ## Фронтэнд фреймворки 131 | * [reagent](https://reagent-project.github.io/). reagent принято считать обёрткой над React. На деле, reagent больше чем обёртка. Он также даёт [FRP инструменты](https://en.wikipedia.org/wiki/Functional_reactive_programming) для работы с состоянием, которые настолько просты и круты, что Вы больше никогда не захотите возвращаться к чёртовым хукам и сетСтейтам. 132 | * [re-frame](https://github.com/day8/re-frame). re-frame это как редакс, только редакс отстой, а после рефрейма думаешь – как же я раньше жил немытым. 133 | * [fulcro](https://github.com/fulcrologic/fulcro) 134 | * [Awesome ClojureScript](https://github.com/hantuzun/awesome-clojurescript) около сотни ClojureScript проектов, не только фронтенд. 135 | --------------------------------------------------------------------------------