Основные возможности платформы Hexlet не доступны в вашем браузере. Пожалуйста, обновитесь.

Блог Хекслета

Обучение, саморазвитие и истории успеха
,

ОбучениеЧетыре ошибки новичков в программировании

Всем привет! Меня зовут Андрей, я фронтенд-разработчик в RAMBLER&Co, ранее в Иннове. Программированием я занимаюсь около года, до этого около двух лет занимался HTML-вёрсткой. Расскажу о том, какие ошибки я совершил за эти три года, чтобы вы (если вы новичок) их не повторяли.

Ошибка №1: изучение основ языка вместо основ программирования

Свой путь в веб-разработке я начинал с книги по HTML/CSS, которую мне дал почитать знакомый программист. В конце книги был дополнительный раздел с основами языка JavaScript. Разумеется, я начал его читать и ничего не понял. Помню как увидел пример простого цикла for (var i = 0; i < 10; i++) и долго недоумевал, как это вообще работает. В итоге у меня сложилось неправильное впечатление о языке: я решил, что JS ужасный язык и его нельзя изучать.

Читать дальше →
,

ОбучениеЭдди Османи о том, как изучать современный JavaScript

Несколько дней назад вышла юмористическая (но наполненная болью и страданиями автора) статья “На что похоже изучение JavaScript в 2016г.”

В одном из комментариев к статье засветился сам Addy Osmani, один из ведущих JavaScript разработчиков в мире. Далее идет текст его ответа в вольном переводе:

Я полностью понимаю ваше отчаяние :)

Я советую людям, изучающим экосистему JavaScript придерживаться такого подхода: сперва сделай это, потом сделай это правильно, потом сделай это лучше.

Читать дальше →
,

Подкаст02. Информация, энтропия и нечеловеческие данные

Сегодня в выпуске

RSShttps://pcr.apple.com/id1162673070. Подкаст также доступен в iTunes.

Как скачать выпуск? В плеере в верхнем правом углу кнопочка с изображением стрелки.
Проблемы с аудио-плеером? Подкаст можно послушать на ютубе.

Читать дальше →
,

ХекслетОбучение с ментором

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

С сегодняшнего дня на Хекслете доступно две учебных программы (тарифных плана):

  1. Базовый план
  2. Расширенный план

Да, у нас все силы уходят на обучение людей и улучшение платформы, а на придумывание крутых названий практически ничего не остается ;-)

Также в скором времени запустится третья, самая широкая программа – "Подготовка к профессии".

Что же все это значит?

Читать дальше →
,

Подкаст01. Пилотный выпуск подкаста Хекслет

Это пилотный, экспериментальный выпуск подкаста Хекслет. На основе ваших комментариев, идей, мыслей и пожеланий мы примем решение стоит ли развивать эту идею.

Пока формат таков: это соло-подкаст, темы – мысли и рассуждения о программировании, новостях мира ИТ и интересных дискуссиях в нашем сообществе и других тусовках разработчиков. Ведущий - Рахим Давлеткалиев.

RSShttps://pcr.apple.com/id1162673070. Подкаст также доступен в iTunes.

Сегодня в выпуске

Как скачать выпуск? В плеере в верхнем правом углу кнопочка с изображением стрелки.
Проблемы с аудио-плеером? Подкаст можно послушать на ютубе.

Читать дальше →
,

Истории успехаМоя длинная история.

Привет всем! Хотел рассказать свою историю небольшого успеха. Я по образованию инженер АСОИУ, но так получилось, что я стал работать сначала сисадмином, а потом техническим директором в издательстве. В целом мне нравилась работа, пока было все новое, но со временем стал понимать, что занимаюсь всякой ерундой, которая мне не сильно интересна, а иногда и дико раздражает.

Так как фирма небольшая, в громком наименовании технического директора было все - сисадмин, эникейщик, программист, ремонтник компов, завхоз, охрана труда, пожарная безопасность, электрик…. Периодически дико мотали нервы разные проверки, ростехнадзор, МЧС (пожарная безопасность), трудовая инспекция, и проработав в таком режиме года два, я понял, что надо менять все в своей жизни. Когда то я услышал фразу, “Противоположно направленные нагрузки, дают средний невыраженный результат”, увы не помню где, вроде даже в кино. Но эта фраза просто сидела и давила мне на мозг, я понимал, что как специалист я никто. Так как я еще поддерживал три сайта компании + иногда делал всякие халтурки на Drupal, и мне всегда нравилось программирование, решил удариться в веб.

Читать дальше →
,

Истории успехаЗаметка о стажировке в Экспресс42

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

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

Читать дальше →
,

РазработкаУправление конфигурацией

Для настройки окружения проекта можно использовать (а многие так и делают) стандартные средства операционной системы. Такие, как пакетный менеджер (yum, apt), прямое редактирование конфигурационных файлов, bash-скрипты, curl/wget и многое другое.

Этот подход, с одной стороны, самый простой, но он обладает рядом недостатков, некоторые из которых критические.

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

Читать дальше →
,

РазработкаРабочее окружение

Настройка рабочего окружения — не такое простое занятие, как может показаться на первый взгляд. Обычно начинающие разработчики (и не только) устанавливают проект и его зависимости прямо на ту систему, где они работают. Этот подход обладает рядом недостатков.

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

Читать дальше →
,

РазработкаРекурсия, рекурсивный процесс и итеративный процесс

Давайте для начала явно отметим отличие рекурсии (в общем смысле) от процесса. Эти понятия никак не связаны. Рекурсия — просто абстрактная концепция, которую можно наблюдать в природе, которая используется в математике и в других областях. Такая же абстрактная, как, например, музыкальная гармония.

пример рекурсии: художник рисует картину, в которой он рисует картину, в которой он рисует картину...
пример рекурсии: художник рисует картину, в которой он рисует картину, в которой он рисует картину...

Теперь на секунду забудем про рекурсию, и просто подумаем про компьютеры. Для выполнения задач компьютерам нужны инструкции. Когда компьютер выполняет набор инструкций — это процесс. Ваш работающий сейчас браузер — это процесс. Простой цикл, выводящий на экран десять раз число "42" — это процесс. Некоторые задачи можно решать рекурсивно, то есть в инструкциях использовать эту концепцию, когда что-то является частью самого себя. В частности, функция может быть частью самой себя, то есть вызывать саму себя.

Читать дальше →