Как стать автором
Обновить

Компания Хекслет временно не ведёт блог на Хабре

Сначала показывать

Под капотом образовательного проекта Хекслет

Время на прочтение5 мин
Количество просмотров16K
Привет, Хабр!



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

Напомню, Хекслет — это платформа для создания практических уроков по программированию в настоящей среде разработки. Под настоящей средой разработки мы подразумеваем полноценную машину, подключенную к сети. Эта важная деталь отличает Хекслет от других образовательных проектов (например, Codecademy или CodeSchool) — у нас нет симуляторов, все по-настоящему. Это позволяет обучать и обучаться не только программированию, но и работе с базами данных, серверами, сетью, фреймворками и так далее. В целом, если это запускается на Unix-машине — этому можно обучать на Хекслете. При этом, понимая это или нет, пользователи используют Test-Driven Development (TDD), потому что их решения проверяются юнит-тестами.

В этом посте я расскажу про архитектуру платформы Хекслет и инструменты, которые мы используем. О том, как на этой платформе создавать практически уроки — в следующей статье.
Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии19

Хекслет 3.0: практические уроки по программированию в браузере

Время на прочтение5 мин
Количество просмотров52K
Привет, Хабр!

Мы уже не раз писали о запуске, перезапуске и развитии образовательного проекта Хекслет. Проект стал возможным во многом именно благодаря поддержке Хабрасообщества и администрации (особенно deniskin). Спасибо вам!

Примерно месяц назад вышла бета-версия нового Хекслета! Есть несколько важных нововведений, но главная идея Hexlet.io это полноценная практика по программированию в браузере. Главное отличие от других проектов (например, Codecademy или CodeSchool) в том, что на Хекслете нет симуляторов: в каждом уроке вы работаете с полноценной машиной, подключенной к сети. Это позволяет обучать и обучаться не только программированию, но и работе с базами данных, серверами, сетью, фреймворками и так далее. Грубо говоря, если это запускается на Unix-машине – этому можно обучать на Хекслете.

В этой статье я расскажу немного об итерациях разработки (как мы пришли к такому формату и почему считаем его правильным), о новой версии, а также о технической реализации. Но сначала – о доступных сейчас уроках.
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии16

Почему научиться программировать так чертовски тяжело?

Время на прочтение14 мин
Количество просмотров424K
Привет, Хабр!

Взявшись за работу над образовательным проектом Хекслет, мы понимали, что на нас ложится большая ответственность. К нам приходит огромное количество новичков с вопросами и комментариями, такими как:

  • С чего начать обучение программированию?
  • У вас есть курс по Java для новичков, но я слышал, что нужно изучать Python, правда ли это?
  • На других сайтах все просто и понятно, а у вас какие-то компиляции и тесты!
  • Непонятно зачем нужен этот ваш курс по алгоритмам, в реальной жизни все алгоритмы уже реализованы в стандартных библиотеках

Но сложнее всего объяснить новичку, грубо говоря, во что он ввязывается. Благодаря очень простым, игровым образовательным проектам многие считают, что программирование это очень легко, а наши виртуальные машины, где нужно запускать тесты и компилировать код – это надуманная сложность. Давно хотелось найти такой материал, который бы подготовил новичка к длинному и сложному пути к карьере программиста. И недавно наши коллеги из Viking Code School такой материал написали! А мы его перевели для вас.




Квинси Ларсон был просто “офисным парнем в костюме”. Он решил научиться программировать. Начал спрашивать людей вокруг. Изучил немного Руби, потом быстренько посмотрел на другие языки вроде Scala, Clojure и Go. Он изучил Emacs, а потом Vim, а потом раскладку Dvorak. Он втыкал в Линукс, копался с Лиспом и кодил на Питоне, и жил при этом в командной строке больше полутора лет.

Его швыряло туда-сюда как листочек в торнадо. Каждый совет, который он слышал, тащил его то в одну, то в другую сторону, до тех пор пока он не прошел “каждый онлайн-курс по программированию во вселенной”. В конце концов, не смотря на то, что он получил работу разработчика ПО, Квинси:

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

Ох. Звучит знакомо?
Читать дальше →
Всего голосов 65: ↑55 и ↓10+45
Комментарии44

Нетрадиционный обзор AngularJS

Время на прочтение10 мин
Количество просмотров62K
Привет, Хабр!

Наш прошлый перевод нетрадиционного обзора React многим понравился, и, конечно, люди стали сравнивать Реакт с популярным AngularJS. Сегодня мы публикуем перевод статьи «An Unconventional Review of AngularJS» от того же автора (Джеймса Шора, ведущего проекта Let’s Code: Test-Driven JavaScript). Поклонникам Angular просьба сохранять спокойствие.



AngularJS это все, что я ожидаю от фреймворка. И это не хорошо.

В ноябре, декабре и январе я обозревал AngularJS для серии «front-end frameworks» в рамках проекта Let’s Code JavaScript. Суммарно я провел 40 часов изучая, программируя и решая задачи. Как обычно, моей целью было изучить AngularJS создавая приложение.

Angular это, наверное, самый популярный фронт-энд фреймворк сейчас. Его разрабатывает команда из Google, что сразу внушает доверие. Он настолько популярен, что входит в акроним. Angular это часть так называемого стека «MEAN»: MongoDB, Express, AngularJS, Node.JS. Самая что ни на есть передовая технология.

Angular описывает себя как инструмент для улучшения ХТМЛ. Он позволяет расширить ХТМЛ новыми определениями — директивами — которые превращают статичный ХТМЛ-документ в динамический шаблон. Директивы могут быть атрибутами или тегами (или даже комментариями или классами, но это уже не совсем обычная история), и они превращают статичный ХТМЛ-документ во что-то живое и дышащее, на первый взгляд без добавления JavaScript.
Читать дальше →
Всего голосов 101: ↑90 и ↓11+79
Комментарии114

Нетрадиционный обзор React

Время на прочтение7 мин
Количество просмотров50K
Привет, Хабр!

Мы в Хекслете любим свой стек технологий :) Когда рассказываем другим — многие завидуют: Rails, Docker, AWS, React JS. Реакт мы используем в первую очередь для создания веб-среды для разработки Hexlet-IDE, которая позволяет нашим пользователям выполнять упражнение по разработке приложений и взаимодействию с виртуальной машиной прямо в браузере.

Сегодня мы публикуем перевод статьи «An Unconventional Review of React» Джеймса Шора, ведущего проекта Let’s Code: Test-Driven JavaScript.



Он мне понравился. Я не ожидал такого.

Для специальных выпусков Let’s Code JavaScript в августе и сентябре я изучал Реакт.

На случай если вам не знаком Реакт: это библиотека для фронт-энд веб-разработки. С помощью него создаются компоненты: короткие, не-совсем-ХТМЛ теги, которые можно комбинировать для создания интерфейса.

Реакт знаменит своими нетрадиционными решениями: реализацией виртуального DOM’а, созданием элементов интерфейса в JavaScript вместо шаблонов, создание суперсета языка JavaScript — JSX, который позволяет вставлять не-совсем-ХТМЛ прямо в код JS.

С этими решениями разработка уходит от схемы манипуляции DOM’ом — добавить этот элемент, скрыть эффектом другой элемент, обновить это текстовое поле. Вместо этого вы описываете как сейчас должен выглядеть DOM. Реакт берет на себя сложную работу по определению необходимых действий чтобы DOM на самом деле стал выглядеть так, как вы сказали.
Читать дальше →
Всего голосов 50: ↑47 и ↓3+44
Комментарии34

Письмо Дейкстры: почему обучение программированию нужно начинать с функционального языка

Время на прочтение4 мин
Количество просмотров102K


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

Мы в Хекслете недавно запустили новую версию, ключевой особенностью которой стали практические упражнения по программированию в браузере. В связи с этим мы стали получать еще больше писем от начинающих программистов с вопросами вроде «с чего начать». С одной стороны, они хотят выложить бета-версию приложения в app store через неделю. С другой стороны, мы понимаем, что за такой короткий срок, наверное, можно научиться кодить приложения, но нельзя научиться программировать. И сложно решить, что лучше: как можно быстрее научить созданию простых приложений без реального понимания программирования, алгоритмов и их вычислительной сложности, а потом начать знакомство с этими важными темами, или начать «с начала», и органично придти к созданию приложений и продуктов после освоения фундамента.

В 2001 году, Эдсгер Дейкстра написал письмо экономическому совету университета Техаса. В нем знаменитый ученый призывает членов совета задуматься о смене языка программирования для вводного курса. К сожалению, язык был заменен на Java. Примерно в то же время MIT сменили язык курса «Структура и интерпретация компьютерных программ» с функционального Scheme (диалекта LISP) на Python.

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

Членам Экономического Совета


Я пишу вам по поводу слуха о замене языка во вводном курсе по программированию с функционального языка Haskell на императивный язык Java. Я считаю, что Совет должен взять на себя ответственность, чтобы решение не было принято на неправильном уровне.
Читать дальше →
Всего голосов 65: ↑61 и ↓4+57
Комментарии309

Проблема PID 1 zombie reaping в Докере

Время на прочтение8 мин
Количество просмотров21K
Привет, Хабр!
Мы в Хекслете активно используем Докер как для запуска самого приложения и сопутствующих серверов, так и для запуска пользовательского кода в практических упражнениях по программированию. Без этих легковесных контейнеров нам было бы в разы сложнее справиться с этими задачами. Докер –замечательная технология, но иногда возникают неожиданные проблемы. Одна из таких проблем (и ее решение) описана в блоге Phusion (это создатели Phusion Passenger), сегодня мы публикуем ее перевод.


Примерно год назад, когда Докер был в версии 0.6, мы первыми представили Baseimage-docker. Это минимальный образ Ubuntu, модифицированный специально для Докера. Люди могут пуллить этот базовый образ из Docker Registry и использовать его как основу для своих образов.

Мы были ранними пользователям Докера, используя его для CI и для создания рабочего окружения задолго до выхода версии 1.0. Базовый образ мы сделали чтобы решить проблемы, специфичные для принципов работы Докера. Например, Докер не запускает процессы под специальным процессом init, который бы правильно обрабатывал дочерние процессы, поэтому возможна такая ситуация, когда зомби-процессы вызывают кучу проблем. Докер также не делает ничего с syslog, поэтому важные сообщения могут быть утеряны. И так далее.

Однако, мы выяснили, что многие люди не понимают проблем, с которыми мы столкнулись. Да, это довольно низкоуровневые системные механизмы Unix, которые понятны далеко не всем. Поэтому в этом посте мы опишем самую главную проблему, которую мы решаем – PID 1 zombie reaping problem.


Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии9

Пора заменить Python как язык для обучения

Время на прочтение3 мин
Количество просмотров108K
В последние десять лет мой стандартный ответ на вопрос «с какого языка начинать знакомство с программированием?» был прост — Python. Теперь я меняю свою рекомендацию. Python все еще хороший язык. Он позволяет сфокусироваться на задаче и не волноваться об архитектурных заморочках. О штуках, которые опытные программисты считают важными, позабыв о том, каково это — быть абсолютным новичком. Сам язык растворяется на фоне, и вместо объяснения возможностей и философий, уроки посвящены генерации музыкальных звукорядов, вычислению расстояний на стадионе в зависимости от беговой дорожки, или написанию автоматического игрока в покер или ятцы.

И вот в один прекрасный день студент задаст невинный вопрос: «А как сделать так, чтобы симулятор покера был не в командной строке, а в окне, с кнопкой для выдачи следующих карт?»
Читать дальше →
Всего голосов 100: ↑61 и ↓39+22
Комментарии280

Видео-курс по Swift на русском языке

Время на прочтение1 мин
Количество просмотров115K
Здравствуй, Хабр!

Мы сделали видео-уроки по языку Swift на основе бесплатной книги The Swift Programming Language от Эппл.



Все 32 урока доступны на нашем сайте. Несколько уроков – под катом.
Читать дальше →
Всего голосов 146: ↑129 и ↓17+112
Комментарии62

Видео-курс «Введение в логику» на русском языке

Время на прочтение1 мин
Количество просмотров61K
Здравствуй, Хабр!

Представляю вам курс «Введение в логику», недавно прошедший на Хекслете. Он основан на учебнике по математике Романа Добровенского. Курс состоит из шести лекций общей продолжительностью 2 часа 20 минут.



Первая лекция. Базовые понятия логики, логические операции, наша первая теорема и закон Де Моргана.


Читать дальше →
Всего голосов 62: ↑61 и ↓1+60
Комментарии8

Хекслет: Erlang, логика, операционные системы, Java 2

Время на прочтение3 мин
Количество просмотров18K
Привет, Хабр!

Прошло уже больше полугода с момента старта проекта Хекслет. Напомню: мы проводим бесплатные онлайн-курсы по программированию и смежным дисциплинам. По традиции сегодня мы расскажем про новые курсы.

Статистика


  • Завершено четыре курса (всего – больше 100 уроков)
  • Сейчас в процессе – еще три курса, + запланирован старт двух курсов
  • 19 000 студентов зарегистрировано
  • Они сдали более 450 000 тестов
  • Просмотров лекций – больше 277 000 (не считая подкастов в iTunes и раздачи через битторрент)
  • 444 000 посетителей и 1.6M просмотров страниц


Новые курсы


Erlang / OTP


Читать дальше →
Всего голосов 66: ↑63 и ↓3+60
Комментарии8

Видео-курс по JavaScript на русском языке

Время на прочтение1 мин
Количество просмотров218K
Здравствуй, Хабр!

Представляю вам свой курс по JavaScript, недавно прошедний на Хекслете. Курс состоит из семи лекций общей продолжительностью около четырех часов.



Первая лекция: Введение в JavaScript, немного истории, числа (тут есть ошибка: функция toFixed округляет значения).



Остальное – под катом.
Читать дальше →
Всего голосов 135: ↑127 и ↓8+119
Комментарии23

Хекслет 5 месяцев спустя: новые онлайн-курсы на русском языке

Время на прочтение4 мин
Количество просмотров47K
Привет, Хабр!



С момента перезапуска образовательного проекта Хекслет прошло почти 5 месяцев. Напомню: мы проводим бесплатные онлайн-курсы по программированию и смежным дисциплинам. Сегодня мы хотим рассказать о наших успехах, прошедших и текущих курсах и планах на будущее.

Статистика


  • Завершено три курса (всего – 73 урока)
  • Сейчас в процессе – еще два курса
  • 11 600 студентов зарегистрировано
  • Они сдали более 200 000 тестов
  • Просмотров лекций – больше 160 000 (не считая подкастов в iTunes и раздачи через битторрент)
  • 250 000 посетителей и миллион просмотров страниц


Текущие курсы


Программирование на JavaScript

Короткий курс об основах языка программирования JavaScript. Никакого браузера, никаких jQuery, никакого DOM, только чистый JavaScript со всеми ужасными и прекрасными деталями. Подробнее о курсе можно узнать из первой лекции.
Читать дальше →
Всего голосов 87: ↑86 и ↓1+85
Комментарии63

Видео: полный цикл разработки на JavaScript

Время на прочтение1 мин
Количество просмотров50K
Здравствуй, Хабр!

В этой открытой лекции я попытался сжато рассказать и показать полный цикл (full stack) разработки веб-приложений на JavaScript.

Начнем мы с короткого введения в язык, потом в двух словах поговорим о клиентской части, в частности, об MVC фреймворках вроде Angular.js, после чего перейдем на серверную часть: Node.js и MongoDB. В конце обсудим возможность автоматизации разработки и сборки проектов с помощью Grunt.js.



Скачать слайды и исходные коды.

Лекция была записана в офисе компании Chocolife, зрители – разработчики этой компании.
Всего голосов 57: ↑47 и ↓10+37
Комментарии27

Новый Хекслет: онлайн-курсы (Java, SICP, Objective C и др.) на русском языке

Время на прочтение3 мин
Количество просмотров69K
Здравствуй, Хабр!



Осенью прошлого года я открыл Хекслет – образовательный проект с бесплатными онлайн-курсами по программированию на русском языке. Спустя неделю стартовал первый курс – Разработка под OS X. Это был очень интересный опыт, но было допущено много ошибок в разработке этого проекта.

Сегодня я рад объявить о перезапуске Хекслета! Что вас ожидает:

  • Новый сайт и удобный, быстрый движок. Со старым было столько проблем, что многие студенты просто не могли им нормально пользоваться.
  • Улучшенный формат курсов. В первой версии я пытался эмулировать физический университет в интернете, а нужно было делать изначально онлайн–курс.
  • Личное общение с преподавателем. Эту особенность хочется сделать важным отличием от други образовательных проектов.
  • Новые, интересные курсы и планы на будущие курсы.


Уже сейчас можно записаться на три первых курса:

  1. Разработка приложений на Java
  2. Структура и интерпретация компьютерных программ (SICP)
  3. Разработка под OS X


Трейлер очень интересного курса SICP:



Под катом – описания текущих и будущих курсов.

Читать дальше →
Всего голосов 111: ↑109 и ↓2+107
Комментарии68

Курс «Введение в финансовую инженерию»

Время на прочтение2 мин
Количество просмотров19K
В онлайн-университете Хекслет вслед за первым курсом стартовал новый – Введение в финансовую инженерию.



Финaнcoвaя инжeнepия – cpaвнитeльнo нoвый тepмин, и являeтcя oдним из вoзмoжныx пepeвoдoв aнглийcкoгo тepминa «quаntitаtivе finаnсе». Дeйcтвитeльнo, «инжeнepия» – лучшee cлoвo для oблacти знaний, кoтopaя зaтpaгивaeт финaнcoвую мaтeмaтику и пpoгpaммиpoвaниe.

B этoм куpce зaтpoнуты тpи тecнo cвязaнныe тeмы:

  • Пpинципы функциoниpoвaния финaнcoвыx pынкoв – eгo учacтники, мexaнизмы взaимoдeйcтвия, инcтpумeнты и тexнoлoгии paбoты.
  • Финaнcoвaя мaтeмaтикa – мeтoды пpимeнeния мaтeмaтики в финaнcoвыx pacчeтax.
  • Пpoгpaммиpoвaниe – кaк пиcaть пpoгpaммнoe oбecпeчeниe, кoтopoe умeeт paбoтaть нa финaнcoвыx pынкax.


Записаться на курс / Посмотреть лекции


Читать дальше →
Всего голосов 41: ↑34 и ↓7+27
Комментарии9

Онлайн-курс «Разработка для OS X» на Hexlet стартовал

Время на прочтение2 мин
Количество просмотров22K


Примерно три недели назад я писал на Хабр про создание небольшого образовательного проекта Хекслет. Благодаря этому посту в команду Хекслет вступило несколько хороших людей, и мы рады объявить, что первый бесплатный курс стартовал! Правда, стартовал он еще неделю назад, так что если вы решите зарегистрироваться на него, то наверстать нужно будет лишь вводную лекцию. Вторая неделя занятий начинается завтра (во вторник, 30 октября).

О структуре и содержании курса можно узнать из короткого первого модуля первой лекции:



Читать дальше →
Всего голосов 64: ↑59 и ↓5+54
Комментарии27

Онлайн-курсы на русском языке

Время на прочтение3 мин
Количество просмотров50K


Предыстория


Здравствуйте! Меня зовут Рахим, я учился по программе Computer Science (B.Sc) в университете Карлтон и писал об этом на Хабре пару лет назад в рамках проекта Computer Science Studentпрофиле можно найти все выпуски). Потом здесь же я нашел множество людей, заинтересованных в создании коллективного блога о математике и информатике. Тогда даже написал в комментариях:

Если я когда-нибудь стану профессором (а я надеюсь им стать), то я хочу в начале каждого курса писать на доске адрес этого коллективного блога и говорить: «Присоединяйтесь. Коллективный разум поможет познать вам информатику».

К сожалению, блог через некоторое время перестал обновляться, активность упала до минимума. Я закончил университет и первый год работал разработчиком, но в январе 2012 приблизился немного к реализации того комментария: стал преподавателем Международного университета информационных технологий (IITU) в южной столице Казахстана. В своем первом семестре читал лекции по операционным системам и веб-разработке, иногда проводил открытые лекции, изредка публиковал что-то на хабре. Но «hexlet.ru» на доске не писал.

Этой осенью Хекслет превратился из коллективного блога в свободную образовательную платформу. Суть проста: можно стать студентом и проходить разные курсы, можно стать учителем и вести собственные курсы. Формат схож с форматами Coursera или Udacity. 23 октября начинается первый онлайн-курс – Разработка приложений для Mac OS X.
Читать дальше →
Всего голосов 88: ↑80 и ↓8+72
Комментарии52

Hexlet.ru: «коллективный computer science student»

Время на прочтение1 мин
Количество просмотров2.5K
Здравствуйте!

Помните мой проектик об учебе в университете Carleton по программе Computer Science? Ему скоро будет 2 года!

Этим летом я предложил другим неравнодушным к информатике, математике и прочим наукам людям (студентам, специалистам или учителям/профессорам) присоединиться ко мне и создать коллективный блог. Сегодня мы рады открыть двери на новый сайт, который решено было назвать Hexlet. Hexlet это математическая фигура, которая отлично символизирует структуру содержания нашего сообщества: соприкасающиеся сферы внутри большой сферы как соседние области наук.

Мы приглашаем вас принять участие в жизни сообщества. Вы можете публиковать любые полезные материалы: от конспектов лекций до собственных исследований. Студенты и люди, работающие в индустрии, могут делиться опытом и знаниями; учителя или профессоры могут использовать сайт как площадку для публикации материалов по своему курсу: тогда их студенты смогут не только получить необходимую информацию, но и обсудить ее с другими людьми из разных частей планеты.
Читать дальше →
Всего голосов 73: ↑70 и ↓3+67
Комментарии28

Проект Computer Science Student

Время на прочтение2 мин
Количество просмотров2.1K
Возможно, вы знакомы с моим проектом Computer Science Student — на хабре публиковались все его выпуски. Я получал очень много положительных откликов, и в целом некоторой популярности проекта и аудитории я благодарен в первую очередь Хабрахабру.

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

У меня появилась идея.
Читать дальше →
Всего голосов 87: ↑63 и ↓24+39
Комментарии39