100 Days of Clojure

Clojure - это язык программирования, который я с переменным успехом учу. К сожалению, периодически забрасываю его, несмотря на то, что язык мне очень интересен. Конечно же, каждый раз, когда я его забрасываю, многое забывается и приходится начинать почти с самого начала.

С проектом хочу начать регулярно его учить и поднять уровень понимания языка. К сожалению, у меня пока не получится соблюдать правила 100DaysOfCode - будет сложно час что-то кодить на Clojure, так как я недостаточно хорошо его знаю.

Для проекта создан отдельный репозиторий, где я буду каждый день писать заметки по тому, что выучила.

Правила

  • Каждый день уделять изучению Clojure 1 час.
  • После каждой сессии коротко описать прогресс и что именно я делала в этот день
  • В репозитории каждый день должен быть хотя бы один коммит
  • Можно прогулять один день в неделю, но нельзя два дня подряд
  • Все прогулы не учитываются

Материалы

Day 1: December 11, 2017

Сегодня начала читать книгу The Joy of Clojure с самого начала. Основы в целом немного улеглись, но лучше повторить. Пока прочитала первый раздел и начала второй.

Так как в книге я пока не дошла до практики, порешала базовые задачки на 4clojure. Решила задачи 1-17.

Время: 1 час книга, 30 минут на задачки

Day 2: December 12, 2017

Продолжаю читать Joy of Clojure. Сегодня без задачек, надо еще подчитать, чтобы решать следующие.

Время: 1 час книга

Day 3: December 13, 2017

Продолжаю читать Joy of Clojure.

Время: 1 час книга

Day 4: December 14, 2017

Сегодня в книге был классный пример с рисованием картинок с помощью Clojure. Плюс первый раз получился код больше 5-10 строк :) Сегодняшний прогресс

Время: 2 часа книга. Из этого час на практический пример

Вот такие картинки сегодня получились:

Day 5: December 15, 2017

Сегодня только полчаса читала Joy of Clojure.

Day 6: December 18, 2017

Пропустила два дня. Была на выставке два дня по 12 часов и к вечеру была зомби. Сегодня продолжаю читать Joy of Clojure.

Время: 1 час книга

Day 7: December 19, 2017

Читаю 5 раздел Joy of Clojure.

Время: 1 час книга

Day 8: December 20, 2017

Сегодня разбиралась с векторами. Завтра буду разбираться со списками. Примеры уже немного сложнее.

Время: 1:15 книга

Day 9: December 21, 2017

Продолжаю читать. Сегодня были: списки, persistent queue, sets. По множествам продолжу читать дальше о namespace clojure.set.

Время: 1 час книга, 30 минут на задачки

Код. Решила задачки 18-21 4clojure

Day 10: December 22, 2017

Сегодня дочитала про множества. Остальное время решала две задачки

Время: 40 минут книга, 1:20 задачки 4clojure

Code: 4clojure Problems 22-23

Надеюсь, что к 100 дню мои ответы будут похожи на решение :)

Day 11: December 23, 2017

Закончила читать 5 раздел. В следующих разделах сложность примеров растет довольно быстро, поэтому пока тренируюсь на задачках 4clojure. Сегодня решила 5 задачек 24-28.

Время: 20 минут книга, 2:40 задачки 4clojure

Code: 4clojure Problems 24-28

Сколько магии еще предстоит изучить :)

Текущий лог по времени:

Day 12: December 24, 2017

Сегодня только задачки. Решила 4 задачи 29-32. Надо обязательно разобраться с функциями в quickref.

Время: 2:00 задачки 4clojure

Code: 4clojure Problems 29-32

Day 13: December 25, 2017

Сегодня только задачки. Решила 8 задачек 33-40.

Время: 1:00 задачки 4clojure

Code: 4clojure Problems 33-40

Day 14: December 26, 2017

Сегодня только полчаса почитала книгу.

Время: 30 мин

Day 15: December 27, 2017

Сегодня только задачки. Решила 4 задачи 41-44. Две из них medium сложности.

Время: 2:50 задачки 4clojure

Code: 4clojure Problems 41-44

Day 16: December 28, 2017

Сегодня только задачки. Решила 8 задач 45-52.

Время: 1:10 задачки 4clojure

Code: 4clojure Problems 45-52

Day 17: December 29, 2017

Решила пройти курс Функциональное программирование на языке Haskell по рекомендации Сергея Яковлева (автора netdev).

И хотя это не Clojure, я буду засчитывать это время в этот проект. Я начала учить Clojure из-за того, что хотела разобраться с каким-то функциональным яз ыком программирования.

Выбрала я именно Clojure из-за того, что мне очень нравилось, что и как о нем говорят. В основном, я сталкивалась с упоминаниями Clojure в подкасте SE-Radio. При этом, это не были подкасты посвященные Clojure, он просто всплывал в разговоре.

Но в то же время я действительно хочу разобраться с функциональным программированием, понять его и перестроить мышление. Надеюсь, что курс мне в этом поможет.

Clojure я буду учить параллельно. Посмотрим, что из этого получится.

Сегодня занималась только курсом.

Время: 1:15 “Функциональное программирование на языке Haskell”

Day 18: December 30, 2017

Сегодня продолжаю проходить курс по Haskell. Решила пару дней позаниматься им, чтобы п обольше вовлечься.

Время: 2:00 “Функциональное программирование на языке Haskell”

Day 19: January 1, 2018

Пропустила один день. Сегодня только полчаса “The Joy of Clojure”.

Время: 30 мин книга

Day 20: January 2, 2018

Сегодня только “The Joy of Clojure”. Надо немного продвинуться по темам и потом опять за задачки приниматься.

Время: 1 час книга

Day 21: January 3, 2018

Сегодня решила три задачки и полчаса почитала.

Время: 1:00 задачки 4clojure, 30 мин “The Joy of Clojure”.

Code: 4clojure Problems 54-56

Day 22: January 4, 2018

Сегодня решила две задачки и 40 минут почитала.

Время: 1:00 задачки 4clojure, 40 мин “The Joy of Clojure”.

Code: 4clojure Problems 57-58

Я иногда забываю коммитить обновления, поэтому самый точный прогресс виден по Toggl:

Day 23: January 5, 2018

Сегодня вернулась к курсу Haskell и больше часа решала задачку :)

Время: 1:20 задача 10 в теме рекурсия.

Code: task 10

Day 24: January 6, 2018

Сегодня решила все же прекратить курс по Haskell. Задачки уходят в математику и мне не очень интересно их решать, а объяснения не сказала бы, что лучше, чем то, что я встречаю в книгах в Clojure.

Возможно, позже вернусь к курсу, а пока сосредоточусь на Clojure.

Время: 1 час курс “Функциональное программирование на языке Haskell”

Day 25: January 7, 2018

Сегодня только читала. Продолжаю читать 7 раздел и прошла темы: named arguments, pre- and postconditions, closure.

Время: 1:00 The Joy of Clojure

Я прошла четверть пути :)

Day 26: January 8, 2018

Сегодня только читала. Продолжаю читать 7 раздел.

Время: 40 минут The Joy of Clojure

Day 27: January 10, 2018

Сегодня решила одну задачку.

Время: 20 минут задачки 4clojure

Code: 4clojure Problems 59

Day 28: January 16, 2018

Сегодня дочитала 7 раздел и долго мучилась с одной задачкой, но пока так и не решила.

Время: 50 минут задача 4clojure, 25 минут чтение

Day 29: January 18, 2018

Сегодня только читала.

Время: 30 минут The Joy of Clojure

Day 30: January 19, 2018

Сегодня решила 60 задачу и 61.

Время: 1 час задачки 4clojure

Code: 4clojure Problems 60-61

Day 31: January 22, 2018

Сегодня решила задачи 62-64.

Время: 45 минут задачки 4clojure

Code: 4clojure Problems 62-64

Day 32: January 26, 2018

Сегодня решила задачи 65-67.

Время: 1:35 минут задачки 4clojure

Code: 4clojure Problems 65-67