en
Feedback
Frontend&You

Frontend&You

Open in Telegram

Личные истории из жизни frontend-разработчика. Онлайн-дневник о запуске своего расширения Google Chrome. Связаться - @suzannoshka, рекламы нет, только ВП.

Show more
1 418
Subscribers
No data24 hours
+47 days
+830 days
Posts Archive
Как вывести из себя программиста Помните книгу из детства Г. Осетра “Вредные советы”? Про то, как задолбать родителей, съесть все сладости и быть самым умным? Рассказываю о том, как быть ужасным коллегой и вредным программистом. 1. Называйте функции и переменные именем, с которым они совершенно не связаны. Предположим, вы разрабатываете детскую игру “Ферма”. И у вас есть класс, который размножает коров. Назовите его “ОченьБыстраяКурица”, чтобы даже самый профессиональный программист долго вникал в ваш код. Ведь если на разработку вы потратили целый день, то покушающиеся на код коллеги должны запариться тоже. 2. Стремитесь к минимизации имени переменной. Зачем вообще указывать, “курица” на нашей ферме или “корова”. Называйте переменные как в учебниках: a, b, a1, b2, test3. Запишите себе на бумажке, какая из них за какую сущность отвечает и не показывайте никому. Пускай разбираются сами! 3. Не учите английский язык. Если не знаете, как сформулировать название функции, пишите его наобум. Вы всегда поймете, а другим и не надо. Таким образом, станете незаменимым специалистом и сможете повышать себе зарплату бесконечно. 4. После комментов в PR делайте коммиты каждый раз, когда у вас зачесался нос. С какой стати коллеги удосужились придраться к вашему коду? Сделайте так, чтобы им было максимально неудобно смотреть ваши фиксы. В следующий раз не станут париться и апрувнут не глядя. Быстрее уйдете домой. P.S. Подробнее о том, что такое Github и коммит в статье или в моем видео. 5. Оставляйте console.log всегда. Вдруг, вам потребуется посмотреть значение переменной на проде? А еще через консоль можно делать секретные заметки программистам. Добавьте код: console.log(“Ха-ха, чувак, я слежу за тобой!”). А еще лучше оставьте e-mail, чтобы будущие работодатели связались с таким оригинальным и умным программистом, как вы. 6. Добавляйте проверки на каждый уровень вложенности. Мы ведь знаем, что в JavaScript не получится достучаться до значений в пустом объекте. А если у нас сложная структура вида: {a: {b: {c: {d:{}}}}} ? Проверьте, существует ли каждая из его частей. Лучше всего по отдельности и на отдельной строке. Никогда не используйте типизацию: она для слабаков. Вы все сделаете сами. 7. Копируйте код по-максимому. Так вы быстрее решите задачу и пойдете пить кофе. Зачем оптимизировать и писать код с нуля, если готовое решение уже есть? Продублируйте то, что сделал коллега, поменяйте имена - и готово! Если будете молодцы в п. 4, никто даже придраться не посмеет. Живите по принципу “раз-два и готово“. Чем быстрее и непонятнее вы напишите код, тем лучше. Тогда все остальные будут считать вас супер умным: ведь они не в состоянии разобраться в написанном. А вы - почивать на лаврах собственной крутости. Насмехаясь над другими и попивая смузи.

404. Страница не найдена Когда разрабатываете сайт, состоящий из множества страниц, не забудьте про 404: Page not found. На нее попадает пользователь, если ввел неверный адрес. Давайте посмотрим, насколько креативными они бывают. Есть, например, такая. Или такая. А другие подходят с юмором. Еще пара вариантов: этот. Если для вдохновения нужно больше примеров, они здесь. В следующий раз, когда увидите работу дизайнера по 404 странице, не соглашайтесь на нее сразу. Предложите свою, более креативную. Как видите, другие этот подход используют.

Унылая осень или лазурное лето? О чем вы вспоминаете, когда за окном протяжно стучит осенний дождь? Когда на улице настолько холодно, грустно и скучно, что на ней не хочется появляться? Когда каждый день стоите в пробке или в общественном транспорте, отправляясь на работу, словно на приговор? В такие моменты я думаю о Ницце. О теплой, солнечной и окруженной Лазурным берегом Ницце. Месте моего последнего путешествия. Люди не верили тем фотографиям, которые я демонстрировала. Я тоже думала, что Лазурный берег - это не более, чем название. Пока не приехала сюда, чтобы лицезреть его своими глазами. Лазурный берег - юго-восточное Средиземноморское побережье Франции, особенно популярное среди британских аристократов. Здесь и сейчас их много, и везде говорят по-английски, - что совсем нетипично для удаленных уголков Франции. Помимо англичан, на лазурном берегу много русских. Их движение зародилось в середине 19 века, когда Александра Федоровна выбрала Ниццу как место отдыха императорского двора. Здесь даже есть русский собор, а Ницца - город-побратим Санкт-Петербурга. Кстати, в Ниццу дорого лететь. Как бы я ни старалась, я не смогла найти прямых рейсов из Москвы до 27 000 руб. Пришлось лететь Победой до Генуи (внимание: лайфхак!). А дальше всего 2 часа на автобусе Flex Bus (с отличным интернетом на борту). Приезжая в Ниццу, обычно заезжают в Канны и Монако. Оба находятся в часе езды от лазурной “столицы”. Конечно, Монако - одно из самых богатых государств мира, знаменитое уровнем разъезжающих автомобилей. Страна настолько маленькая, что ее легко преодолеть за один час. Однако, настолько интересная, что в ней можно задержаться на несколько дней. Если вам для счастья нужны только море, солнце, белоснежные яхты, отличная погода и деньги (как мне), то вам сюда. С берегов Монако открывается настолько потрясающий вид, что ты хочешь просидеть на нем вечно. Знаменитое казино Монако - определенно, must see. Однако, в нем работает продуманная пропускная система. Сначала надо заплатить за вход, затем показать паспорт, а после пройти дресс-код. В шортах в вечернее время нельзя - знайте это, чтобы не обломаться с посещением, как мы. Шикарных автомобилей напротив казино настолько много, что ты просто к ним привыкаешь. Рядом с Ниццой также находятся Канны - знаменитый городок места действия Каннского кинофестиваля. Он был организован как альтернатива Венецианскому фестивалю, победители которого, как посчитала Франция, избирались нечестно. Попасть на Каннский кинофестиваль можно только по приглашениям. Но, как и в любом бизнесе, за них можно заплатить на сером рынке или достать по знакомству. В Каннах вы свободно сфотографируетесь на красной ковровой дорожке, на которой стояли звезды. И прогуляетесь вдоль побережья, разглядывая яхты, которые еще вам не принадлежат. Окружающий нас мир прекрасен, но пришла пора возвращаться к суровым реалиям. Если вы хотите ещё немного задержаться на побережье прекрасного места, прочитайте мою статью про итальянское озеро Комо. А я тем временем продолжу путь на работу, просматривая фотографии с райского берега, на котором мне довелось побывать.

Гуглить как программист Легко обучаться, когда тебе разжевывают информацию. А если нет? Представим ситуацию. Вы просмотрели урок или прочитали статью, как грамотно сделать функционал. Особо талантливые реализовывали. Ещё более способные написали код с нуля вслед за лектором. Наступает окрыление: ты знаешь все. Затем приходит реальная задача, ты смотришь на тз и понимаешь: «Такого в курсе не было! Откуда я знаю, как реализовать то, что мне еще не объясняли?». Здесь два пути: сердиться на преподавателя или разбираться в коде самому. Возмущаться можно бесконечно, но хорошими программистами становятся те, кто гуглит материал. Любая задача в программировании состоит из двух частей: поиск решения и кодинг. Поиск решения - исследование предметной области, гуглинг, обращение за советам к опытным программистам. Кодинг - написание программного кода и тестирование результата. Знать все нереально. Рано или поздно придётся обратиться к Google. Поэтому важно научиться гуглить правильно. Как? Рассказываю по шагам. 1. Сформулируйте запрос на английскому языке. На русский язык перевели не все, а шанс найти нужное в англоязычном мире увеличивается в 10 раз. 2. В запрос включайте только ключевые слова. Не пишите вопрос вида «Как сделать обводку прямоугольника только с левой стороны». Уберите связующие и задайте.: «css border left». 3. Указывайте название технологии. В примере выше это - «css». Формируете запрос о JavaScript - пишите «JS». Применяете библиотеки или фреймворки - указывайте их в запросе, например, «React». В противном случае, Google может не понять и показать ответы, например, на с++. 4. Отсеивайте результаты годичной давности. Для этого в гугле есть специальная галочка в инструментах. В мире фронтенд все очень быстро меняется, и старые статьи уже не отвечают последним тенденциям. 5. Выучите спецсимволы Google. Например, «-» позволяет исключить слова, а кавычки ” ” искать запрос только во введённом падеже. Подробная инструкция здесь. Говорят, что для знания программирования уровня Бог достаточно лишь грамотно гуглить. Спорное утверждение, но оно характеризует суть процесса. Недооценивать умение правильно составлять запрос Google нельзя. Практикуйтесь в этом самостоятельно, и тогда выучите программирование без платных курсов и помощи учителей. К тому же, кому еще мешало умение быстро и грамотно загуглить?

Ресурсы в подмогу. Flexbox30 Ранее речь шла об изучении JavaScript за 30 дней. А что, если нужно сделать то же самое с версткой? Ресурс Flexbox30 предоставляет такую возможность. Правда, как следует из названия, только для flex. Flex - это способ расположения элементов на странице, упорядочивания блоков. Активно применяется на современных проектах. Flexbox30 предоставляет возможность каждый день учить новую фишку. Сегодня - как выстроить элементы в один ряд, завтра - как сделать один блок больше другого, послезавтра - как выравнить элементы по вертикали. Найти время для пары абзацев новой информации каждый день может каждый. Главное - не забывайте экспериментировать. Теория без практики мало что значит.

Программист. Быть или не быть? «Почему бы и не сейчас», - подумала я, и записалась на курс по созданию видео для YouTube. Но отходила половину и охренела. Не получится заснять видео кое-как. В перерыве между первой и второй работой. К созданию видео-контента нужно подходить серьезно: для каждой подзадачи существует отдельный специалист. С зарплатами не меньше, чем у разработчиков. Я подсчитала: один съёмочный день мне обойдётся в 20 000 руб. При условии, что я не хочу париться и вникать в детали съемки самостоятельно. Иногда действительно проще обратиться к специалистам и продолжать зарабатывать деньги веб-разработкой. К чему это я? Знакома ситуация: начинаете заниматься программированием, тратите на него время и деньги и после трёх месяцев не понимаете, нужно вам оно или нет? Не всем дано стать программистом. Это нормально. Главное найти ту сферу в жизни, которая будет близка тебе. Я бы поставила себе точный срок. Например, занимаюсь программированием три месяца. И если после этого не смогу сверстать лендинг с макета, больше в эту сторону не двигаюсь. Поймите, что обучаться на курсах и верстать шаблонные макеты, - самое простое. Дальше вам придётся искать работу джуном или заказы на фрилансе. А рынок среди начинающих специалистов переполнен. Делать пару сайтов с курсов умеют все. От вам требуется нечто большее. Во-первых, вы должны знать тонкости, которые забыли изучить другие джуны. Нарабатывается практикой, а еще лучше - лайфхаками действующих программистов. Во-вторых, вас должно двигать нечто большее, чем желание обогатиться. Веб-разработка сложна, вам придется делать нудные вещи в том числе. Держите глобальную цель в голове и любовь к программированию в сердце, - тогда вы пробьетесь. Помните, что разработка должна зажигать вас изнутри. На моих курсах по YouTube рассказывают, что нужно продумывать ролики до мелочей. А я думаю, где мне найти столько времени. Притащить себя в класс для занятий и обратно - единственное, что мне доступно. Я молчу о непрерывной практике и выполнении дз. Однако, теория без практики ничто. А плохо снятые ролики не имеют на YouTube смысла (вы ведь их проматываете, правда?) То же самое и с программированием. На вебинаре вам скажут, что за пару месяцев можно стать джуном. Однако, они не учли важный факт: занимаясь по 12 часов ежедневно. Знания в веб-разработке приобретаются путём долгой и нудной практики. Не бывает такого: посмотрел в метро лекцию и запомнил. Нет. Делаем, гуглим решения, смотрим, какое работает, и разбираемся, почему. Ни одна программа не запустится с первого раза. Вместо обещанных пяти часов в неделю программирование растянется на все шестьдесят. Честно ответьте на вопрос: сколько времени в неделю вы готовы уделять программированию. Хорошо круглосуточно учиться, когда тебе 20 лет. У многих из вас есть основная работа, семья и личные интересы. Готовы ли вы ими пожертвовать, чтобы стартовать в веб-разработке? Я для себя приняла решение, что заниматься YouTube я не буду. Слишком временно затратно, а делать кое-как уже не модно. Примите решение и вы. Отказываетесь от затеи стать программистом или идете до победного конца?

На какие frontend рассылки подписаться? Признаться честно, у меня есть специальный ящик на Яндексе. Для спама, хочется сказать. Но нет. На него поступает всевозможная новая информация о нюансах JavaScript, CSS, React и личной производительности. Сегодня решила составить ТОП-лист полезных материалов из мира frontend, которые я почитываю, чтобы быть в тренде. Мне безумно нравится Frontend Focus. Выходит раз в неделю - и на том спасибо, все равно вы не успеете все прочитать. Агрегатор новостей из мира HTML/CSS/Web, как они сами себя позиционируют. Ссылаются на последние выступления с конференций (на Youtube), официальные изменения в стандартах и ресурсы, о которых вы, скорее всего, не слышали (но информация на них годная). Еще я почитываю JavaScript Weekly. Аналогично, но речь идет о JS. Туториалы, новые npm-пакеты разработчиков и статьи. React Status - на этот раз про React. Подпишитесь и постарайтесь понять, о чем идет речь. Заодно, английский выучите. Вариант, конечно, не для начинающих. Developer Newsletter - официальный гайд для разработчиков от Mozilla. Достаточно зарегистрироваться на сайте MDN и в настройках личного кабинета указать, что вас интересуют новости из мира веб. И новое у Firefox в том числе (если это правда). Говорят об изменениях в Firefox (кто бы сомневался), афишируют статьи на MDN и пишут о будущих мероприятиях для разработчиков. Конечно же, большинство статей выходит на Medium. И здесь даже нет необходимости брать платную подписку: множество технических статей бесплатные. Платная в основном бизнес-тематика. Скролите страницу, находите интересную статью, нажимаете на автора. Нравится - подписываетесь на него. Таким образом формируете себе лист ИТ-подписок и настраиваете оповещения Daily Digest в разделе Settings. Как только у авторов появится что-то новое - вам сообщат. https://hackernoon.com/ - как и Medium, освещает статьи тематики IT, будущего и стартапов. Регистрируетесь и настраиваете подписку на то, что вам интересно. Да, статьи почти все на английском. Но кто сказал, что без technical English можно стать хорошим специалистом? Подписывайтесь на все вышеперечисленное, и у вас будет 926 непрочитанных сообщений, как у меня. А если серьезно, то вы всегда найдете, что почитать на работе, поймете, куда движется мир веба, и будете знать о новых изменениях в браузерах до того, как эта информация дойдет до вашего team lead.

CodeHouse. Идеи для самостоятельной разработки Предположим, курсы по HTML/CSS/JS вы уже прошли, а знаний для поиска первой работы недостаточно. Каким образом находить проекты для самостоятельной реализации? Как понимать, что ты его сделал верно? Для этих целей мне нравится проект CodyHouse. Выбираете идею, которую хотите реализовать. Будь то красивый 3D-сайт или автоматический Product Builder. Скачиваете исходники с Github и учитесь понимать чужой код (одна из самых важных способностей программиста). Если что-то непонятно, в статье бывает описание. Когда разберетесь, выясните для себя паттерны создания того или иного функционала. А когда к вам придет заказчик с реализацией похожей штуки, вы уже будете знать, как ее делать. Меня лично этот ресурс вдохновил.

Марокко. Ехать или нет? Недавно я съездила в Марокко, и хочу поделиться, какая это замечательная страна. Начнём с того, что Марокко беднее России. Свежевыжатый апельсиновый сок здесь стоит 70 руб., гранатовый (из 5-ти гранатов!) - 120 руб. Без намёков на разбавление водой. А верблюды просто прекрасны. Если до этого вы видели их лишь в зоопарке (как я), а пустыню - только на картинке, то welcome в Марокко. Четырехчасовая прогулка на горбатых и угощение национальным марокканским чаем (все за 2 000 руб.) вам в помощь. Здесь дёшево. Вы будете кайфовать после европейских цен. Бутылка воды - 15 руб., магнит - 50 руб., ужин в ресторане - 1 000 руб. на одного, приличный отель в крутом районе - 3 000 руб. за ночь. Хотелось бы добавить, что в Африке тепло. Но мне не повезло. Погода с московской в октябре отличалась лишь на +6 градусов. Теперь о недостатках: бедность и хаус на улицах Африки. Узкий центр города, со всех сторон заполненный торговцами. Прилавки достались не всем - кто-то продаёт на земле. Апельсины, в двух сантиметрах от которых проезжает мопед. Змеи, танцующие под национальную музыку. Мастера по маникюру, зазывающие тебя с асфальта. Гранатовый сок, который пьют из одного и того же стакана. Название этого места - Медина (Старый город). Местные набрасываются на тебя с криками: «Купи». Через каждый квадратный метр. Для них ты - ходячий мешок денег, с которого можно капельку поиметь. Они плохо говорят по-английски (второй язык - французский) и практически не знают правил дорожного движения. Мопеды ездят везде и в т.ч. по встречке. По дороге одновременно проезжают авто, велосипеды, автобусы, кони, ослы, мопеды и самодельные повозки, и никто тебя не пропускает на зелёный свет. Думаете, я преувеличиваю? Перед поездкой я читала отзывы других об этой стране, и в них было то же самое. Однако, не так ужасно Марокко, как о нем говорят. Все вышеописанное имеет место быть, но лишь короткий промежуток времени. В большинстве случаев, моя поездка по Марокко состояла из посещения туристических точек. Старинный дворец 19 века (кстати, хорошо сохранившийся), красивый сад с фруктовыми деревьями, современный парк с национальными африканскими скульптурами. И опрятные европейцы вокруг тебя. В общем, Марокко прекрасно, если не покидать туристических мест. В противном случае ты соприкасаешься с нечистоплотностью и нищетой, от которых хочется бежать как можно дальше. Например, обратно в Москву и радоваться, что тебе довелось родиться не в Африке.

Проиграв, не сдаться Это случилось в пятницу. Я решила создать для себя новый челлендж. Без них моя жизнь слишком скучна и однообразна. Хобби у меня такое: задавать самой себе вызовы. Я увлекаюсь sup-серфингом. Это - гребля на доске стоя. Google по этому поводу знает много картинок. Я попробовала его пару раз - и втянулась. Мне кажется, я обошла все sup-маршруты Петербурга. Мне нужен был вызов - и я организовала его на волнах Ниццы. За всю историю знакомства с доской я не разу с нее не упала. После полутора лет практики и паре десятков маршрутов я стала именовать себя профессионалом. Ведь держалась я увереннее новичков и всегда шла впереди группы. Я решила, что мне больше не место среди начинающих. И отправилась на sup-гонку в Завидово (Тверская область) на 18 км. За неделю до начала ситуация начала разворачиваться не в мою пользу. Во-первых, испортилась погода. Я готовилась к соревнованиям в +15, а прогноз показывал +6. Во-вторых, я практически заболела. Но не сдалась, как писала в этой статье. Под вопросом была физическая возможность моего участия, ведь я даже не появлялась на работе. В-третьих, организовался корпоратив. В пятницу вечер, в Москве. А стартовать надо было в субботу, в 8 утра, под Тверью. Мероприятие компании обещало растянуться на всю ночь. У меня было много причин не ехать. Но я решила не сдаваться, и отправилась в путь. Надо понимать, что 18 км на sup - это 4-6 часов гребли для любителя. А если ты гребешь неаккуратно, то теряешь равновесие и падаешь в воду. Такое погружение равносильно выходу из гонки, ведь плавать в +2 мало кому приятно. Это было не просто холодно, а бессердечно промозгло. Вместо +11 и солнца погода уготовила +2 и град. При такой температуре ты выбираешь либо маневренность, надеясь согреться спортом, либо пуховик и три слоя одежды. Я выбрала первое и прогадала. Никаких указателей километража не было. Через 2 часа sup я перестала чувствовать свое тело полностью. Я поняла, что еще немного - и окажусь с обморожением в больнице. Не записав видео для своих курсов и подведя заказчиков, с которыми работаю. Я решила сойти с дистанции, проплыв 6 км. И до сих пор считаю, что сделала грамотное решение. Иногда силы, которые надо потратить на достижение цели, несоизмеримы с результатами, которые ты достигнешь. Риски могут оказаться слишком большими, чтобы их принимать. Как оказалось позднее, шансов пройти гонку у меня не было. Дальнейшая дорога была лишь суровее, а одежды, пригодной для спорта в +2 у меня не существовало. Единственный вариант был сойти с трассы позднее. Но тогда я бы понесла большие убытки. Иногда полезно сдаться. Сойти с дистанции и проиграть. Наша жизнь конечна, и тратить ее на иррациональные вещи бессмысленно. Нас может не хватить на все те цели, которые мы себе задали. И тогда мы просто останемся посреди дороги без сил, забив на все остальные области жизни. Надо принимать рациональные решения и каждый раз думать, стоит оно того или нет.

Как валидировать форму на js? Как сделать так, чтобы пользователь мог вводить только цифры в поле с паспортом? А только буквы русского алфавита в поле “Имя”? Для этого существует метод regexp. Например, создадим переменную myDream. let myDream = "Я хочу научиться программировать" /хочу/.test(myDream); возвращает нам true, потому что слово “хочу” в фразе "Я хочу научиться программировать" есть. А выражение: /играть на барабане/.test(myDream); возвращает false, т.к. фразы “играть на барабане” в myDream нет. Однако, мы можем искать не только слова, но и цифры. Для этого используется запись \d. /\d/.test('1234') говорит нам о том, есть ли в записи хотя бы одно число. Кстати, можно использовать более человеко читаемую форму, которая выглядит как: /[0-9]/.test(’1234’) Перейдем к более практичным примерам. Предположим, что нам нужна валидация на поле возраста, где пользователь может ввести одну или две цифры. Выглядеть она будет так: /^[0-9]{1,2}$/.test('12') ^ - сигнализирует о начале строки. Мы начинаем искать выражение не с середины, ни с конца, а с начала. $ - сигнализирует о конце строки. Мы заканчиваем искать выражение не после первого найденного, а идем до конца строки полностью. [0-9] - это мы знаем. Ищем цифры от 0 до 9. {1,2} - интересует, чтобы пользователь ввел 1 или 2 символа. Так, строка из трех символов “123” уже не подойдет. Интерес представляет regexp, когда пользователь может вводить только русские символы. Выглядеть это будет: /^[А-ЯЁа-яё]+$/.test('Елена') А если только латинские (например, фамилия в загранпаспорте): /^[a-zA-Z]+$/.test(‘Fedorova’) Бывает, что интересуют латинские символы, цифры и пробел: /^[A-Za-z0-9\s]+$/.test('apartment 15') В общем, логика ясна. Прочитать подробнее про regexp на английском можно здесь, на русском - здесь, а попрактиковаться онлайн тут. Про regexp я заговорила потому, что попалось задание: - вернуть true, если фраза содержит все буквы латинского алфавита хотя бы по 1 разу ("The quick brown fox jumps over the lazy dog"); - вернуть false в противном случае. Попробуйте выполнить его и вы, когда закончите все остальное.

Курсов много, а я - один Когда еще не поздно заскочить в последний выгон уходящего поезда. Сегодня заканчивается запись на мой курс "Старт в ИТ". Почему стоит заниматься именно у меня? 1. Я разбираю ваше домашнее задание 30 мин. Честно. За это время вы получаете индивидуальный анализ вашей работы и не слушаете советы других. Вы имеете персональные рекомендации по улучшению кода, будто мы занимаемся с вами индивидуально. Но по меньшей цене. 2. Мне не все равно, какой код вы написали. Я стремлюсь к тому, чтобы он был качественным, указываю на все возможные best practice и анализирую каждую ошибку. Рынок переполнен специалистами, выучившимися кое-как. Спросите у разработчиков, собеседующих других. Я хочу, чтобы вы владели информацией не поверхностно, а полноценно. Это позволит вам выгодно отличиться среди конкурентов. 3. Я провела опрос среди учеников и спросила о ключевом преимуществе курсов. Как показала статистика, выиграли «качественное изложение материала, без воды», «удобный формат обучения» и «много практики на реальном макете». Ссылки на учеников могу предоставить (для тех, кто сомневается в моей честности). 4. Формат обучения построен так, что позволяет заниматься вам в удобнее время. Все видео предзаписаны и выходят по расписанию, - зависеть от других участников не надо. После каждого урока есть поясняющая информация и дополнительные ссылки. А также домашнее задание. За все время мы работаем и одним и тем же макетом и по результату курса выкладываем созданный сайт в интернет. 5. Вы меня знаете. В мире полно курсов, которые рекламируют одни люди, составляют другие, а преподают третьи. Здесь все делаю я сама. И с той же ответственностью, с которой я подхожу к написанию постов, я отношусь и к своим курсам. Одно дело, если человек работает на себя и строит персональные связи и бренд. И другое, если он берет подработку в компании, чтобы завершить её как можно быстрее и отправиться по своим делам. Убедитесь в качестве курсов лично. Старт сегодня. Успев оплатить до 00.00, вы автоматически запрыгиваете в последний вагон поезда "Будущий программист". Вперед!

В Африку за ИТ Куда отправиться за IT-знаниями? В США, Канаду, Лондон, - это банально. Почему бы ни протоптать себе путь на африканский континент, чтобы приобщиться к новейшим разработкам в Deep Learning? Я тоже сначала смеялась. Потом увидела эту статью. Оказывается, уже третий год проходит конференция Deep Learning Indaba в Кении. Им пришлось организовать свою, ведь в развитые страны их практически не пускают. Эффект того стоит: на крупнейшую AIconf континента съезжаются представители 40 стран Африки. Конференция конференцией, но я решила узнать, как живут программисты на африканском континенте. Оказывается, не так и плохо: по данным Indeed средняя зарплата Frontend developer в ЮАР - 150 000 российских рублей. Как гласит поговорка, программист - он и в Африке программист. Однако, похоже, что за богатством стоит ехать только в самую богатую страну Африки (ЮАР). Средняя зп программиста в Нигерии - уже 50 000 русских рублей. В остальных африканских странах разработчики менее популярны. У меня всегда было мнение, что Африка еще не отошла от первобытного строя. Однако, сегодня я узнала, что цивилизованная жизнь в части Африки есть. Чем не повод поставить себе новую экзотическую цель и отправиться в дальнее странствие по ЮАР? Или в другую затерянную страну Африки?

Как верстать быстрее? Вы в верстке уже около года. Верстаете много, но производительность хромает. Хочется научиться делать макеты со скоростью и качеством профессионала. Об инструментах для повышения продуктивности верстки расскажу в этой статье. Установите плагины для быстрого набора HTML-тегов и CSS-стилей. Посмотрите на Emmet (комбинации здесь), если используете Sublime text. Либо включите набор кода через короткую комбинацию символов в Webstorm или Atom. Обучитесь методу слепой печати. Я так делаю с 15 лет. Применяла «Соло на клавиатуре» (для Windows и онлайн) для русского и английского языка. Сначала нудно, ещё сложнее вспоминать расположение пальцев на практике, но уже через полгода производительность кардинально растёт. Мне эта программа спасла не одну ночь в универе, когда 100 страниц магистерского диплома я набрала за 1 день. В то время, как у других на это уходило по 2-3 недели. Выучите быстрые комбинации клавиш в программе, которой вы пользуетесь: создание новой функции, выделение нескольких строк и др. (Webstorm и Atom). Пока другие будут писать код вручную, вы уже все давно сделаете. При верстки сначала концентрируйтесь на разметке страницы, затем - на расположении блоков (что слева, что справа, а какие элементы стоят в один ряд), а потом подгоняйте под Pixel Perfect plugin. Я всегда накладываю оригинал на страницу, подгоняю актуальные стили в браузере, а затем копирую получившиеся CSS-свойства и вставляю их в файл. Применяйте сборщики проекта, чтобы вам не пришлось копировать изменённые ссылки по 10 раз. Выносите повторяющийся функционал в отдельный файл и переиспользуйте их. В этом вам помогут gulp и Webpack. Используйте переменные не только в JS, но и в CSS с помощью LESS и SASS. Чем быстрее вы делаете задачи, тем выше ваша стоимость на рынке. Особенно актуально при работе на фрилансе, где ваша часовая ставка зависит от объема работ, который вы делаете в единицу времени. Применяйте вышеуказанные инструменты, и у вас всегда будут свободные вечера. Кстати, это был вопрос от подписчика. Задать свой можно мне лично или анонимно. Не бойтись спросить то, что интересно услышать!

О времени Время. Мне кажется, что оно ускользает. Оно надсмехается надо мной. Каждый месяц я составляю план по 5 направлениям, по которым хочу продвинуться в жизни дальше. Уже середина месяца, и я лишь выполнила 15% от него. Я говорю не о работе. На ней задачи, которые нельзя не выполнять. Я имею в виду личные проекты, которых у меня пять. Я активно слежу за конкурентами и вижу, куда двигаются они. Однако, если они продвигаются на 10 шагов, мне за месяц удаётся прыгнуть лишь на 2. Ставя себе план на 5. Думаю, что дело в том, что мне нужно принимать решения в жутко ограниченных временных ресурсах. Тот, кто постоянно работает над личными проектами в метро, - тот я. Тот, кто таскает ноутбук на свидания и отвечает на вопросы во время, - тоже я. Как и тот, кто ложится спать в три часа ночи и вечно опаздывает, стремясь впихнуть невпихуемое. Если бы меня спросили, какой подарок я хочу больше всего на свете, я бы ответила: «Время». Время на себя. Когда ты никому ничего не должен и делаешь то, что благоволит душа. Я всегда была человеком, который слишком много на себя берет. Даже в периоды высокой загруженности я делаю выбор в пользу разнообразия и с лёгкостью соглашаюсь на театры, конференции и посиделки с друзьями. А потом судорожно наверстываю упущенное, уединившись и выключив все уведомления. Знаете, за что я люблю программирование? И почему я туда пошла? Оно логично. Путём экспериментов или подсказок ты поймешь, верно функция работает или нет. В жизни такого нет. На развилке ты никогда не знаешь, какой путь верный. Ты тратишь ресурсы, и у тебя нет понимания, сработает оно или нет. Ты не можешь стереть код и начать все заново. И никогда не сможешь сделать рефакторинг. А время... Оно идёт. Помню, мне ещё родители говорили: чем дальше, тем быстрее. И теперь я осознаю, насколько это верно.

JavaScript30. Или 30 дней JavaScript’а Как выучить JavaScript? Один из вариантов - делать программы на JavaScript каждый день. Как говорят, прогресс приходит с опытом. Для этой цели мне нравится бесплатный ресурс JavaScript30. 30 уроков JavaScript на каждый день. Реализовываете тикающие часы, HTML5 видео-плеер, галерею изображений и даже игру. И так ежедневно. На следующий день вам приходит ответ, все ли вы сделали так. Но есть один маленький нюанс: доступ к ресурсам всего на 30 дней. Сможете?) Познайте себя в челлендже! А я, тем временем, продолжаю запись на свой курс. Если вы еще не знаете JavaScript, но хотите приобщиться к вебу. Welcome!

Как начать изучать программирование? Хочешь начать изучать программирование, но не знаешь, сможешь ли? Тест-драйв бесплатно! В это воскресенье, 13 октября в 12.00 я провожу бесплатный вебинар “Как составить программу для самостоятельного изучения frontend”. Смотреть можно в записи! На вебинаре мы: - поймем, с чего начинать обучение; - построим маршрут веб-разработчика до первой работы/первого заказа; - рассмотрим конкретные самоучители и примеры; - придумаем идеи для самостоятельных проектов. Вебинар будет идти 1-2 часа. Попасть на него смогут только первые 15 человек. Для записи напишите мне сообщение @afelua. Трансляция будет доступна после окончания вебинара, но записываться на него нужно. Не откладывай на понедельник то, что можно сделать в воскресенье!

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

Что такое хакатон? Хакатон - это мероприятие для разработчиков, на котором им предстоит решать бизнес-кейс в короткие сроки. Как правило, написать прототип сайта/мобильного предложения по отведенному сценарию за 24/48 часов. Чаще всего хакатоны ориентированы на студентов и начинающих программистов. И тем и другим нужны проекты для портфолио и прокачка скиллов на начальном этапе. Кроме того, команде нужен руководитель, желающий продвинуть реализуемый проект, найти финансирование и разбирающийся в маркетинге. Однако, лишь единицы продолжают проект дальше: обычно его кладут в копилку портфолио. Хакатон предполагает круглосуточное программирования, иногда даже без сна. Как правило, расписание 24-часового хакатона такое: 10.00 - 12.00 - приветственное слово, предложение кейсов, формирование команд. 12.00 - 15.00 - знакомство в команде, проработка идеи, старт программирования. 15.00 - 00.00 - программирование. Кто-то после 12 ночи уезжает спать, другие остаются кодить дальше. 08.00 - 10.00 - подготовка презентации, объясняющей, почему ваша идея и реализация должны победить. Хакатон - это конкурс, и команды должны продемонстрировать, что они лучше других. 10.00 - 12.00 - защита проектов, объявление победителей. Все! 24-х часовой марафон кодинга прошел. Если хакатон длится дольше (например, 48 часов), то увеличивается время на разработку и качество демонстрируемого прототипа. Я лично участвую в хакатонах по фану. Чтобы разнообразить свою жизнь. За все время проходила около 10 подобных марафонов, но не разу не выигрывала. Почему? Я - программист, а не маркетолог. Побеждают идеи, которые сумели грамотно продать. Возможно, часть созданных мною реализаций была недостаточно практичной для бизнеса. Занимая роль программиста на хакатоне, ты думаешь о том, как технически сделать решение, а не о том, как объяснить потенциальный рынок инвестору. На последнем хакатоне я заметила, что для демонстрации идеи стоит упростить прототип до минимального. Так, у нас совсем не было интеграции с бэкендом, и все решала верстка. У меня даже был тяжелый хардкод: предполагалось, что система будет валидировать ошибки и в зависимости от ответа говорить, верен он или нет. Демонстрировать надо было как отрицательный, так и правильно работающий сценарий. Я сделала так, чтобы при нажатии на кнопку первый раз она всегда выдавала ошибку, а на второй - сообщение “Ваш ответ верен!”. И такого грубого нарушения никто даже не заметил. Так что, напрягаться на хакатонах не стоит) О системе, которую я разрабатывала. Я делала онлайн-проект по изучению паттернов программирования с геймификацией на примере робота. Он даже назывался “Robocode”. Суть в следующем: по умолчанию тебе дан примитивный робот, и по мере решения задач ты его одеваешь. Получаешь шлем, атакующие перчатки, супер быстрые ботинки и др. Таким образом, из стандартного робот становится монстром. Рассчитано на возраст 15-20 лет. Подробнее презентацию смотрите здесь. Но мы не выиграли. Однако, было весело. Я всем советую ходить на хакатоны за новыми идеями, друзьями и приятным времяпрепровождением. Общие проблемы всегда объединяют. Начинающим рекомендую хакатоны, чтобы впервые закодить реальный проект. Как бы то ни было, хакатоны разбавляют нашу серую и стандартную жизнь. А тут на 24 часа ты погружаешься в совершенно иной мир.

Зачем изучать веб? 2 человека, 2 истории. Почему люди начинают изучать веб-разработку? Почему именно сейчас и по какой причине выбирают мой курс? Рассказы активных студентов потока. Наталья, самый старательный студент “Я решила попробовать себя в ИТ, поскольку знаю, что эта область перспективная. К тому же, мне всегда любопытно получать новые навыки. Выбрала веб-разработку, т. к. направление frontend показалось мне наиболее интересным. У меня появилось свободное время по вечерам, и я сразу решила попробовать себя на курсах для начинающих. Ведь в любом деле главное - не тянуть, а включаться в процесс как можно быстрее. На курсах мне больше всего нравится небольшая группа и быстрая обратная связь. Качественная помощь при возникновении трудностей и детальный разбор ошибок. Хорошая подача материала без "воды" и удобный формат обучения. А также огромное количество практики. Сейчас я пока учусь, но через год хотелось бы брать небольшие проекты в качестве подработки. Посмотрю, как пойдет. Может, приму решение о смене сферы деятельности. Но для этого нужно усердно учиться)” Александр, студент, который не сдается “Мне всегда было интересно понять процесс работы в вебе от и до. К тому же, я знаю, что это - востребованная профессия, и ее актуальность будет расти и дальше. На курсе мне нравится реализация учебного процесса. Имеются видеоуроки и презентации к ним. Понятно преподносится материал. В нашей жизни возможно все, и если заниматься практикой регулярно, то 100% можно полностью сменить сферу. Главное - не останавливаться и продолжать обучение дальше”. Усердие, регулярный труд и качественный материал помогут вам в этом нелегком деле. 100 обучающих видео, конспекты и практические примеры, - ваши помощники. А я - ваш строгий учитель желающий делать из начинающих профессиональных frontend-разработчиков. Медлить можно вечно! Спеши занять свое место на моем курсе, который стартует 21 октября. Стоимость 10 000 руб. при оплате до 6 октября.