Научитесь учиться

Многие люди, я – не исключение, просто не умеют учиться и находят кучу причин почему им не удается освоить какие-то навыки или иностранный язык. Уверен, что в вашей голове периодически возникают похожие мысли: “Да я просто не предрасположен(а) к математике. Это не мое.” или “У этой девушки с рождения талант. Я никогда не буду также хорош.” Этими мыслями мы часто успокаиваем себя и со спокойной душой прокрастинируем. Проблема заключается еще и в том, что в школах и университетах нам не объясняют как нужно учиться и, как результат, мы плохо помним изучаемые когда-то предметы, которые уже в зрелом возрасте оказываются нужны в работе, хобби или помощи ребенку с домашним заданием.

Почему я вообще решил написать этот пост? Эта заметка основана на личном ощущении, что я постоянно откладываю изучение каких-то нужных вещей, которые мне кажутся недостижимыми и сложными, в долгий ящик. Ситуацию усугубляет нехватка свободного времени – семья, ребенок, работа. Пытаясь найти ответ на вопрос эффективного самообразования, я случайно наткнулся на замечательный курс “Learning How to Learn” на Coursera1 и всячески его рекомендую абсолютно всем – школьникам, студентам, работающим людям и тем, кто еще в поисках себя. Мне он очень помог в осознании, в первую очередь, своей мотивации2 и приведении в порядок мыслей и своего режима.

Ниже mind-карта3, выступающая для меня recall-шпаргалкой после прохождения курса. Возможно она вам тоже пригодится.

Читать далее

Являются ли list comprehensions в Python идиоматическими?

Изучая Python или работая с ним определенное количество времени, неизбежно возникает вопрос “Являются ли list comprehensions (они же “списковые включения”) идиоматическими и когда стоит их использовать?”

Источником вопроса может послужить Zen of Python и его постулаты “Явное лучше, чем неявное”, “Простое лучше, чем сложное” и “Читабельность имеет значение”. Исходя из этого, списковые включения могут расцениваться как менее идиоматические, чем их более явные альтернативы типа вложенных циклов. В то же время, большое количество статей в интернете пестрит метками “плохой код” применительно к программам, написанным более многословно – без использования однострочников, лямбда-выражений, списковых включений и т.д. Все это выливается в неверный посыл, особенно для начинающих разработчиков.

Читать далее

Железо для Deep Learning

DRAFT Если вы интересуетесь искусственным интеллектом, то вам, скорее всего, известно, что глубокое обучение требует больших вычислительных ресурсов. Означает ли это, что для сборки системы для работы с deep learning вам потребуется быстрый многоядерный центральный процессор? Или же наоборот может ли оказаться его покупка пустой тратой денег? А потратить деньги на дорогое железо, которое вам не пригодится, довольно легко. Эта заметка поможет прояснить какие компоненты системы являются наиболее важными при построении относительно дешевой и высокопроизводительной сборки для глубокого обучения.

Читать далее

IBM выпустили приложение на Elm

Около месяца назад на официальном форуме языка один из инженеров IBM рассказал об опыте разработки веб-приложения на Elm. Я решил перевести пост, так как выжимка возможно поможет вам в “продаже” Elm команде и выборе технологий в будущем.

Читать далее

Изучая Elm: Функции

В предыдущей статье я приводил следующий пример: ordersLabel = if ordersCount == 1 then "order" else "orders" Для того, чтобы перейти от частного случая с orders к более общему pluralize, нам необходимо оформить этот код в виде функции, которую мы сможем вызывать и не дублировать логику. Функции в Elm представляют собой повторно-используемую логику. Они не являются объектами и не хранят состояние. Все что они делают – принимают значения в качестве аргументов и возвращают значение.

Читать далее