• Кто такой продакт-менеджер?

      Популярность специальности product manager за последние 3 года выросла в несколько раз. Мы видим много объявлений о поиске менеджера продукта, курсов по по подготовке специалистов, кейсов и т.п. Но далеко не все знают, кто это такой, какие задачи выполняет и за что отвечает, некоторые и вовсе путают продакт-менеджера с генеральным директором.

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

      Читать далее
    • Модульность во Vue.js и Vuex

      • Перевод

      image


      При написании больших фронтенд-приложений управление состоянием может стать довольно сложной и утомительной задачей.


      image


      Для Vue.js был разработан плагин Vuex, предназначенный для управления состоянием. По умолчанию в нем выстроена следующая структура папок:


      image
      Структура папок в хранилище Vuex


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

      Читать дальше →
    • Решение нескольких задач от Amazon на примере JavaScript



        Доброго времени суток. Представляю вашему вниманию перевод статьи «Amazon Coding Interview Questions» автора Trung Anh Dang.

        В этой статье автор приводит несколько (три, если быть точнее) задач от Amazon (как он утверждает) и свои варианты решений.

        После ознакомления с условиями задачи, попробуйте решить ее самостоятельно. Затем сравните свое решение с авторским. Мои решения оказались близкими к авторским, но немного хуже. Если вам покажется, что ваше решение лучше, прошу поделиться им в комментариях.

        Итак, поехали.
        Читать дальше →
      • Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования


          Дисклеймер:


          Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

          Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
          Читать дальше →
        • 22 сайта для программиста, которые помогут заговорить на английском

            Хабр, привет!

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

            Приступим!

            Учить лексику


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

            ЛеоПереводчик

            С этим плагином удобно переписываться с коллегами. Он автоматически переводит непонятные слова и выражения. Незаменимый инструмент, когда нет времени на доскональные переводы и нужен срочный ответ.
            Читать дальше →
          • Что ты такое, Event Loop? Или как устроен цикл событий в браузере Chrome

              Как думаете, что произойдет, если запустить в консоли браузера этот фрагмент кода?

              function foo() {
                setTimeout(foo, 0);
              }
              
              foo();
              

              А этот?

              function foo() {
                Promise.resolve().then(foo);
              }
              
              foo();
              

              Если вы также, как и я, прочитали кучу статей про Event Loop, Main Thread, таски, микротаски и прочее, но затрудняетесь ответить на вопросы выше — эта статья для вас.
              Читать дальше →
            • Создание Redux-подобного глобального хранилища, используя React Hooks

              Привет, Хабр! Представляю вашему вниманию перевод статьи "Build a Redux-like Global Store Using React Hooks" автора Ramsay.


              Давайте представим, что я написал интересное предисловие к этой статье и теперь мы сразу можем перейти к по-настоящему интересным вещам. Если говорить вкратце, то мы будем
              использовать useReducer и useContext для создания пользовательского хука React, который обеспечит доступ к глобальному хранилищу, похожему на Redux.

              Читать дальше →
              • +11
              • 4,8k
              • 8
            • Ищем свободное парковочное место с Python

              • Перевод
              image

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

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

              image

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

              Поэтому давайте немного развлечёмся и напишем точную систему уведомлений о свободной парковке с помощью Python и глубокого обучения
              Читать дальше →
            • Справа налево. Как перевернуть интерфейс сайта под RTL

                image


                Мы недавно перевели онлайн-версию 2ГИС на арабский язык, и в прошлой статье я рассказал о необходимой для этого теории — что такое dir="rtl", по каким правилам отображается текст смешанной направленности и как держать себя в руках.


                Настало время приступить к практике — перевернуть с минимальными усилиями весь интерфейс справа налево так, чтобы даже настоящий араб не почувствовал подвоха.


                В этой статье я расскажу, как быстро сделать прототип, что сделать со сборкой CSS и какие костыли разложить в JS, замечу немного об особенностях перевода и локализации, напомню про логические свойства CSS и затрону тему RTL в CSS-in-JS.

                Переворачивай скорей
                • +58
                • 10,6k
                • 6
              • Основные структуры данных. Матчасть. Азы

                • Перевод
                Все чаще замечаю, что современным самоучкам очень не хватает матчасти. Все знают языки, но мало основы, такие как типы данных или алгоритмы. Немного про типы данных.

                Еще в далеком 1976 швейцарский ученый Никлаус Вирт написал книгу Алгоритмы + структуры данных = программы.

                40+ лет спустя это уравнение все еще верно. И если вы самоучка и надолго в программировании пробегитесь по статье, можно по диагонали. Можно код кофе.


                Читать дальше →
              • Как освоить иностранный язык без преподавателя. Часть 1. «Мой опыт»

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


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


                  таблица-вертушка неправильных глаголов


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

                  Читать дальше →
                • Знай свой инструмент: Event Loop в libuv

                    image
                    Юдель Пэн. Часовщик. 1924

                    «Компьютер — это конечный автомат. Потоковое программирование нужно тем, кто не умеет программировать конечные автоматы» 
                    Алан Кокс, прим. Википедия


                    “Знай свой инструмент” — твердят все вокруг и все равно доверяют. Доверяют модулю, доверяют фреймворку, доверяют чужому примеру.

                    Излюбленный вопрос на собеседованиях по Node.js — это устройство Event Loop. И при всем том, очевидном факте, что прикладному разработчику эти знания будут полезны, мало кто пытается самостоятельно погрузиться в устройство событийного цикла. В основном, всех устраивает картинка сверху. Хоть это и похоже на пересказ фильма, который ты не смотрел, а о котором тебе рассказал друг.
                    Читать дальше →
                  • Frontend-разработчики должны быть в теме всего


                      Мысли Криса Койера


                      Одна из мыслей, которая поселилась в моей голове: должен ли frontend-разработчик быть в курсе всего? В общем смысле, frontend-разработчик может использоваться и на других рабочих местах. Вся команда разработчиков заканчивает разговор на frontend-разработчике. В этом смысл моей идеи. Frontend-разработчики создают те вещи, с которыми будут взаимодействовать люди. Все этапы разработки проходят вместе с frontend-разработчиком. Возможно, именно поэтому это такая забавная работа! Поскольку frontend-разработчик занимает центральное место в цепочке разработки, и при этом мы имеем дело с большим количеством разных специалистов, мы должны понимать их работу и иногда подсказывать, что и как сделать лучше.

                      От переводчика


                      Всем привет, с вами Максим Иванов, и сегодня мы поговорим на довольно острую тему в сфере веб-разработки. Как утверждает Крис Койер, frontend-разработчик должен разбираться в очень многих вещах, о которых не все даже и задумываются. Конечно, мы должны понимать, что frontend-разработчик не главный в процессе разработки любого онлайн-сервиса или ПО в целом. На ту же позицию frontend-разработчика вы найдете больше откликов на вакансию, чем на позицию backend-разработчиком. Но почему же тогда Крис Койер считает, что работать frontend-разработчиком сложнее, ибо ты должен специализироваться во всем. Конечно, ситуаций в жизни очень много, разные компании по-разному используют своих специалистов, но в чем наверняка должен разбираться frontend-разработчик? Об этом мы сегодня и поговорим. Жду комментариев на эту тему, а сейчас приступим.
                      Читать дальше →
                    • Собеседование для фронтенд-разработчика на JavaScript: самые лучшие вопросы

                      • Перевод
                      Недавно мне довелось побывать на встрече участников проекта FreeCodeCamp в Сан-Франциско. Если кто не знает, Free Code Camp — это сообщество, нацеленное на изучение JavaScript и веб-программирования. Там один человек, который готовился к собеседованиям на позицию фронтенд-разработчика, попросил меня подсказать, какие вопросы по JavaScript стоит проработать. Я немного погуглил, но не смог найти подходящего списка вопросов, на который я бы мог дать ссылку и сказать: «Разбери эти вопросы и работа твоя». Некоторые списки были близки к тому, что мне хотелось найти, некоторые выглядели очень уж простыми, но все они были либо неполными, либо содержали вопросы, которые вряд ли кто станет задавать на реальном собеседовании.

                      image
                      Читать дальше →
                    • React.js: собираем с нуля изоморфное / универсальное приложение. Часть 1: собираем стек

                      image

                      Лицо моей жены, когда она вычитывала эту статью


                      Я решил написать цикл статей, который и сам был бы счастлив найти где-то полгода назад. Он будет интересен в первую очередь тем, кто хотел бы начать разрабатывать классные приложения на React.js, но не знает, как подступиться к зоопарку разных технологий и инструментов, которые необходимо знать для полноценной front-end разработки в наши дни.


                      Я хочу с нуля реализовать, пожалуй, наиболее востребованный сценарий: у нас есть серверная часть, которая предоставляет REST API. Часть его методов требует, чтобы пользователь веб-приложения был авторизован.

                      Читать дальше →
                    • WebRTC: Делаем peer to peer игру на javascript

                      • Tutorial
                      Недавно мне довелось поработать над прототипом видеочата. Это был отличный повод поближе познакомиться с концепциями WebRTC и опробовать их на практике. Как правило, когда говорят про WebRTC, подразумевают организацию аудио- и видеосвязи, но эта технология может применяться и для других интересных вещей. Я решил попробовать сделать peer-to-peer игру и поделиться опытом ее создания. Видео того что получилось и подробности реализации под катом.


                      Читать дальше →
                    • It’s the future

                      • Перевод

                      Этот пост просто шутка и не пытается выставить инструменты, упомянутые здесь, в дурном свете. Я использую их постоянно, они великолепны, и я рекомендую их использовать. По мотивам It's the future @ CircleCI Blog


                      — Эй, я бы хотел научиться писать крутые веб-приложения. Слышал, у тебя есть опыт.


                      — Да, я как раз занимаюсь фронтендом, юзаю пару тулз.


                      — Круто. Я щас делаю простое приложение — обычный TODO-лист, используя HTML, CSS и JavaScript, и планирую заюзать JQuery. Это норм?


                      — Не-не-не. Это олдскул. Джиквери мёртв — никто не использует его теперь! Тебе нужен React. Это будущее.


                      — Окей, лады. А что это?


                      Читать дальше →
                    • ReactJS 15.0.2 Tutorial

                      • Перевод

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


                      Мы обеспечим:


                      • Представление для отображения всех комментариев
                      • Форму для ввода и отправки комментариев
                      • Задел на будущее, для подключения настоящего бэк-енда

                      Также будут реализованы:


                      • Optimistic commenting: комментарии появляются на странице раньше чем они сохраняются на сервере, что визуально ускорит наш модуль
                      • Live updates: комментарии других пользователей появляются на странице в реальном времени
                      • Markdown formatting: пользователи могут использовать Markdown-разметку для форматирования текста

                      Финальная версия


                      Ссылка на GitHub

                      Читать дальше →
                    • Подборка материалов для начинающего разработчика игр на JavaScript

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

                        Данные материалы не претендуют на то, чтобы показать «как надо делать», они лишь помогут наглядно понять, что и как работает, а вот как правильно это сделать — решит только сам разработчик. Однако, кого-то эти материалы могут замотивировать на дальнейшую работу, так как они достаточно наглядны и объясняют простоту создания игр на JavaScript.
                        Читать дальше →
                      • Туториал по Jade для начинающих

                        • Перевод
                        • Tutorial


                        Jade — это препроцессор HTML и шаблонизатор, который был написан на JavaScript для Node.js. Проще говоря, Jade — это именно то средство, которое предоставляет вам возможность написания разметки совершенно по новому, с целым рядом преимуществ по сравнению с обычным HTML.
                        Читать дальше →