• В чём минус вёрстки дивянками?

    MrDecoy
    @MrDecoy
    Верставший фронтендер
    1) Вы не помогаете ни себе в будущем, ни будущему разработчику читать код сайта. Так как всё - див, то не понятно на первый взгляд, функциональный он или же просто обёртка. Хотя див по своей задумке должен быть обёрткой и только обёрткой.
    2) Вы не помогаете людям, пользующимся интерфейсом не только мышкой, не только глазами. Семантические теги помогают строить дерево доступности, которое помогает быстрее навигироваться по странице и понимать что на ней вообще есть.
    3) Вы не помогаете поисковым системам понять, что на сайте за контент. Поисковые системы любят семантику. Любят семантические сайты. Поэтому если всё хорошо размечено, то в поисковой выдаче сайт будет выше, а так же может быть более качественный и информативный сниппет ответа на запрос пользователя, а это положительно сказывается на пользовательском опыте и конверсии для сайта.
    4) Если Вы даже кнопки и ссылки верстаете дивами, то гореть вам синим пламенем Вы теряете нативное поведение этих элементов, которое Вам придётся эмитировать. Причём полностью повторить его, скорее всего и не удастся. Например: если вместо ссылки Вы делаете div c событием onClick, в обработчике клика указываете что нужно перейти на такую-то страницу, то переход будет осуществляться СТРОГО по событию клика. На этом диве Вы не сможете нажать колёсиком, как на ссылке, чтобы открыть её в новой вкладке. На этом диве, если нажать правой кнопкой мыши, в контекстном меню НЕ будет кнопки "Открыть в новой вкладке". На этом диве Вы НЕ сможете использовать CSS селекторы :active, :visited и тд. Если это див будет, каким-то чудом, в фокусе, Вы НЕ сможете нажатием на пробел "перейти по ссылке" и это только то, что касается ссылок, и то не всё.

    В чём минус вёрстки только дивами? Проще ответить на вопрос: в чём достоинство? Ответ: ни в чём.

    P.s. Да, можно достичь почти всего вышесказанного только дивами, но для этого нужно грамотно и весьма геморно пользоваться aria-* и role атрибутами, а так же городить кучу лишнего js`а.
    Ответ написан
    Комментировать
  • Как сделать многопоточный HTTP(S) сервер в ноде?

    Deissh
    @Deissh
    I like Python, Node.JS, Go, pain, bugs and my cat.
    Нет таких ситуаций когда от fs.readFileSync не избавиться, проблема уже в разработчике, который пытается избавиться.
    Вся ваша проблема в синхронном fs.readFileSync.
    Ответ написан
    Комментировать
  • Как передать props в React-router?

    eternalSt
    @eternalSt
    Доброго времени суток!

    У компонента Route есть параметр render.

    <Route
      render = { props => logged ? <Product /> : <Redirect to='/' /> }
      exact
      path='/products/:id'
    />


    И важно, в доках об этом конечно сказанно, но я повторюсь.
    component имеет приоритет над render, так что использовать их вместе не стоит.
    Ответ написан
    Комментировать
  • Что делать веб разработчику, если уже всё придумано?

    AgentProvocateur
    @AgentProvocateur
    Правильно заметили, что есть люди-исполнители, а есть люди-генераторы идей. Нужно реально взглянуть на себя и...принять это. Быть профессиональным исполнителем гораздо кошернее, чем быть генератором провальных идей. По статистике, 9 из 10 стартапов провальны...зачем пополнять собой этот список? Если ты - рыба, то многого ли ты добьешься от фрустрации по поводу неумения залезать на дерево?

    Самый верный путь к рабочей идее:
    1. Проработать в какой-либо сфере достаточное количество времени;
    2. Познать её изнутри на собственной шкуре;
    3. Выявить в ней боли/проблемы/недостатки;
    4. Решить их с помощью прикладного навыка (программирования);
    5. Обкатать в собственной работе;
    6. Упаковать решение и реализовать коллегам по сфере;
    ...
    7. PROFIT!

    Далее...даже если завтра в голову залетит рабочая идея, готов ли ты её реализовать? У тебя есть команда, готовая работать минимум полгода-год бесплатно на время создания беты, тестов, обкатки, раскрутки? Она сможет действительно реализовать всё как надо? Если нет команды, имеются ли у тебя средства на зарплатный фонд хотя бы для 5 человек на эти полгода-год? А с учетом налогов и отчислений (+30% к зарплате на руки)? У тебя есть условия для работы этих 5 человек? Есть ли у тебя сумма на маркетинговое исследование твоей идеи (или лучше облажаться на авось)? Есть ли у тебя хотя бы миллион на первичный трафик из директа? Или надеешься донести свой стартап до пользователей путём емэйл-спама?)) Я не указал и доли того, что потребуется для реализации небольшого web-сервиса, даже при наличии действительно рабочей идеи. Может быть, идеи не прут именно потому, что ты просто не готов к их реализации, и неча порожняка гонять?)

    Как выглядит стартап глазами романтичного юноши, начитавшегося глянцевых историй успеха:
    1. Придумать гениальную идею;
    2. Закодить в гараже в одну харю или в паре с дружбаном;
    3. Разместить на сервере и получать от мира благодарности, признание и мешки денег.

    Как выглядит стартап на самом деле:
    1. Пахота минимум 10 лет в одном направлении/сфере;
    2. Наработка профессионализма, идей, контактов, связей, клиентской базы, понимания всех нюансов сферы;
    3. Угон базы, угон клиентов на себя, переманивание лучших коллег/сотрудников, оформление юрлица, открытие "своего дела" на рабочей идее)))

    К примеру, "икона стиля" стартаперов - Павел Дуров, он идеолог? Нет! Прикол в том, что он именно стырил рабочую идею (также, как тырят клиентскую базу у работодателя), собрал команду, создал для неё условия, привлек корешей-евреев с еврейскими ресурсами, бюджетами и влиятельной питерской крышей, и обеспечил этому всему грамотный проект-менеджмент и маркетинг. Дело в идее? Нет, дело в реализации:)

    А если серьезно, сайт - это просто промо-материал, как билборд, только интерактивный и в интернете. Языки веб-разработки - такие же инструменты, как молоток для изготовления билбордов. Веб-разработчик - нифига не носитель уникальных знаний (который просто обязан повторить успех Цукерберга, иначе не тру), и всего-лишь современный слесарь, изготавливающий технологичные интерактивные промо-материалы. А теперь представь слесаря, который завидует предпринимателям, которые заказывают у него билборды, и вскидывает руки к небу с криком "Доколе??")) Смешно? Смешнее только реплики других слесарей на тему "если нет идей, значит меняй профессию"))

    P.S. Понимаю, что вряд ли отметишь мой ответ решением, ведь тебе хочется подбадриваний вида "Не сдавайся! Ищи и обрящешь! Не опускай руки и всё получится! Вот тебе ссылочки, вот тебе инструкции!", а не режущей глаза суровой реальности. Но в некоторых случаях действительно полезно осознать своё место в пищевой цепочке - антилопа или гепард, слесарь или архитектор, промо-изготовитель или промо-заказчик и т.д. И исходя из этого уже взращивать свои амбиции, комплексы и фрустрации. Повторюсь - в стремлении стать самым крутым слесарем нет ничего постыдного, и даже в финансовом плане может оказаться куда выгоднее и стабильнее других амбициозных вариантов.
    Ответ написан
    4 комментария