• Что такое содержит в себе файл?

    qork
    @qork
    { background: #F00B42 }
    㤰へ䘸㤰硆㠸へ䘸㜰硆㠶へ䘸㔰硆㠴へ䘸㌰硆㠲へ䘸㄰硆㠰へ䘷㤰硆㜸へ䘷㜰硆㜶へ䘷㔰硆㜴へ䘷㌰硆㜲へ䘷㄰硆㜰へ䘶㤰硆㘸へ䘶㜰硆㘶へ䘶㔰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㤰へ䘸㤰硆㠸へ䘸㜰硆㠶へ䘸㔰硆㠴へ䘸㌰硆㠲へ䘸㄰硆㠰へ䘷㤰硆㜸へ䘷㜰硆㜶へ䘷㔰硆㜴へ䘷㌰硆㜲へ䘷㄰硆㜰へ䘶㤰硆㘸へ䘶㜰硆㘶へ䘶㔰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㤰へ䘸㤰硆㠸へ䘸㜰硆㠶へ䘸㔰硆㠴へ䘸㌰硆㠲へ䘸㄰硆㠰へ䘷㤰硆㜸へ䘷㜰硆㜶へ䘷㔰硆㜴へ䘷㌰硆㜲へ䘷㄰硆㜰へ䘶㤰硆㘸へ䘶㜰硆㘶へ䘶㔰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㤰へ䘸㤰硆㠸へ䘸㜰硆㠶へ䘸㔰硆㠴へ䘸㌰硆㠲へ䘸㄰硆㠰へ䘷㤰硆㜸へ䘷㜰硆㜶へ䘷㔰硆㜴へ䘷㌰硆㜲へ䘷㄰硆㜰へ䘶㤰硆㘸へ䘶㜰硆㘶へ䘶㔰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㤸へ䘱ㄸへ䘱〱へ䘱ㄹへ䘱ㄶへ䘱ㄸへ䘳㐰硆ㄱ㐰硆ㄱ㐰硆ㄱ㌰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㤰へ䘸㤰硆㠸へ䘸㜰硆㠶へ䘸㔰硆㠴へ䘸㌰硆㠲へ䘸㄰硆㠰へ䘷㤰硆㜸へ䘷㜰硆㜶へ䘷㔰硆㜴へ䘷㌰硆㜲へ䘷㄰硆㜰へ䘶㤰硆㘸へ䘶㜰硆㘶へ䘶㔰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㤰へ䘸㤰硆㠸へ䘸㜰硆㠶へ䘸㔰硆㠴へ䘸㌰硆㠲へ䘸㄰硆㠰へ䘷㤰硆㜸へ䘷㜰硆㜶へ䘷㔰硆㜴へ䘷㌰硆㜲へ䘷㄰硆㜰へ䘶㤰硆㘸へ䘶㜰硆㘶へ䘶㔰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠰硆㈰㠍


    Примерный перевод:
    Для того, чтобы 㤰 к 䘸 㤰 硆 㠸 к 䘸 㜰 硆 㠶 к 䘸 㔰 硆 㠴 к 䘸 ㌰ 硆 㠲 к 䘸 ㄰ 硆 㠰 к 䘷 㤰 硆 㜸 к 䘷 㜰 硆 㜶 к 䘷 㔰 硆 㜴 к 䘷 ㌰ 硆 㜲 䘷 ㄰ 硆чтобы 㜰 к 䘶 㤰 硆 㘸 к 䘶 㜰 硆 㘶 䘶 㔰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰㠰 硆 ㈰ 㠰 硆 㤰 Предыдущая 䘸 㤰 硆 㠸 к 䘸 㜰 硆 㠶 к 䘸 㔰 硆 㠴 к 䘸 ㌰ 硆 㠲 к 䘸 ㄰ 硆 㠰 к 䘷 㤰 硆 㜸 к 䘷 㜰 硆 㜶 к 䘷 㔰 硆 㜴 䘷 ㌰ 硆чтобы 㜲 к 䘷 ㄰ 硆 㜰 к 䘶 㤰 硆 㘸 к 䘶 㜰 硆 㘶 䘶 㔰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 㤰 Предыдущая 䘸 㤰 硆 㠸 к 䘸 㜰 硆 㠶 к 䘸 㔰 硆 㠴 к 䘸 ㌰ 硆 㠲 к 䘸 ㄰ 硆 㠰 к 䘷 㤰 硆 㜸 к 䘷 㜰 硆 㜶 䘷 㔰 硆чтобы 㜴 к 䘷 ㌰ 硆 㜲 䘷 ㄰ к 硆 㜰 к 䘶 㤰 硆 㘸 к 䘶 㜰 硆 㘶 䘶 㔰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 㤰 Предыдущая 䘸 㤰 硆 㠸 к 䘸 㜰 硆 㠶 к 䘸 㔰 硆 㠴 к 䘸 ㌰ 硆 㠲 к 䘸 ㄰ 硆 㠰 к 䘷 㤰 硆 㜸 䘷 㜰 硆чтобы 㜶 к 䘷 㔰 硆 㜴 к 䘷 ㌰ 硆 㜲 䘷 ㄰ к 硆 㜰 к 䘶 㤰 硆 㘸 к 䘶 㜰 硆 㘶 䘶 㔰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 㤸 Предыдущая 䘱 ㄸ к 䘱 〱 к 䘱 ㄹ 䘱 ㄶ Предыдущая 䘱 ㄸ 䘳 㐰 硆 ㄱ 㐰 硆 ㄱ 㐰 硆 ㄱ ㌰ 硆 ㈰ 㠰 硆 ㈰ 㠰硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 㤰 Предыдущая 䘸 㤰 硆 㠸 к 䘸 㜰 硆 㠶 к 䘸 㔰 硆 㠴 к 䘸 ㌰ 硆 㠲 к 䘸 ㄰ 硆 㠰 䘷 㤰 硆 㜸䘶 㔰 Предыдущая 䘷 㜰 硆 㜶 к 䘷 㔰 硆 㜴 к 䘷 ㌰ 硆 㜲 䘷 ㄰ к 硆 㜰 к 䘶 㤰 硆 㘸 к 䘶 㜰 硆 㘶 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 㤰 Предыдущая 䘸 㤰 硆 㠸 к 䘸 㜰 硆 㠶 к 䘸 㔰 硆 㠴 к 䘸 ㌰ 硆 㠲 䘸 ㄰ 硆 㠰䘶 㔰 Предыдущая 䘷 㤰 硆 㜸 к 䘷 㜰 硆 㜶 к 䘷 㔰 硆 㜴 к 䘷 ㌰ 硆 㜲 䘷 ㄰ к 硆 㜰 к 䘶 㤰 硆 㘸 к 䘶 㜰 硆 㘶 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠰 硆 ㈰ 㠍
    Ответ написан
    1 комментарий
  • Как правильно отдавать статику?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Тот пример что вы привели, никак не относится к понятию "правильно подргужать статику". Для загрузки статических файлов существуют некоторые общепринятые правила, которые существенно эту загрузку облегчают.
    Вот они:
    • Объединение JS и CSS файлов в 1 - уменьшение количества запросов к серверу
    • Объединение нескольких изображений в спрайт - опять уменьшение кол-ва запросов
    • Преобразование изображений в Base64 - опять уменьшение кол-ва запросов, так как картинка теперь находится в теле CSS файла
    • Использование кэширования
    • Использования отдельного сервера для загрузки статики - уменьшает нагрузку на основной сервер, преодолевает правила браузеров по количеству возможных параллельных загрузок
    • Использование Gzip на сервере, чтобы максимально уменьшить вес статики

    Да и много чего еще.

    То о чем говорите вы, это скорее правила верстки, суть концепции заключается в отделении оформления от содержания. Но это не железная концепция, могут быть многочисленные исключения. Например возьмем картинку товара в каталоге. В обычной ситуации это картинка - IMG, так как это контент. Но, если вдруг эту самую картинку нужно как-то интересно оформить и добавить к ней какие-то эффекты или выравнивание, то обычный IMG тут уже увы не подходит и проще сделать ее фоном к DIV-у. Ну и т.д.
    Ответ написан
    Комментировать
  • Когда нужно использовать React+Redux?

    vlakhvo
    @vlakhvo
    front-end developer
    Если пишешь один компонент - достаточно только react, когда пишешь два и более компонентов, удобнее будет использовать redux, чтобы обмениваться данными, между этими компонентами. react-router нужен если строишь веб приложение и не хочешь обновлять всю страницу, когда пользователь кликает по ссылке. (а просто меняешь содержимое страницы js'ом). Стандартными средствами можно обойтись для дебага в консоле =)
    Ответ написан
    Комментировать
  • Как правильно оценить стоимость работы дизайнера?

    ivanvorobei
    @ivanvorobei
    iOS разработчик, канал https://t.me/sparrowcode
    Адекватная - столько, сколько вы готовы потратить.

    Оценить тяжело. И зачастую стоимость обоснована опытом специалиста. Но кое-что можно вытащить из вашего Т3:
    1.
    Все это для desktop/tablet/mobile

    Самое важное. Дизайнеру нужно разработать брендбук, с цветами-элементами. Нужен чтобы от платформы к платформе дизайн оставался узнаваемым.
    Диапазон от 50 до 2000 уе. Добротные результаты будут на уровне 170$

    2.
    музыкальный проигрыватель

    Важно сколько экранов. На основе брендбука будет разработан дизайн для каждой платформы отдельно, учитывая наработки самих платформ. У каждой свой UX, поэтому этап обходить не стоит. Прайс на экран в райне 10$ (с учетам бренбука). У вас 1 декстоп, ios/android (телефон + планшет). Примерно 4-5 экранов. Грубо говоря: 5 устройств * 5 экранов приложения * 10$ = 250$.

    3. Учитывайте стоимость работ UX специалиста, он важен и для проекта, и для дизайнера.

    Достойная работа будет сделана за 170 + 250 = 420$

    Главный посыл:
    Смотрите портфолио специалиста, оно скажет больше любых слов. И спрашивайте цену. Когда поймаете себя на мысли что вот за такой дизайн я бы заплатил столько, и цифра совпадет со специалистом - вы нашли друг друга.
    Ответ написан
    1 комментарий
  • Как уйти с распутья технологий?

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

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

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

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

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

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

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

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

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

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

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

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

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

    С третьим - придешь, когда поймешь, что тебе это нужно. Из-под палки не учатся.

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

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

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

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

    Сложность задачи не особо влияет на мотивацию, а вот факт решения/нерешения - влияет сильно. Не решил - значит не осилил, не осилил - значит не достоин, не достоин - значит иди ко дну и не рыпайся. Это как импотенция: импотент - значит не мужик, не мужик - значит никто, ничего не достоин и об тебя можно ноги вытирать. Подсознание портит всю малину, так что не следует давать ему шанса - лучше решить задачу попроще, чем не решить по сложнее.
    Ответ написан
    7 комментариев
  • Как пользоваться BEM?

    Machinez
    @Machinez
    1) Всё верно.

    2) В стилях блока мы описываем только его внешний вид, внутренние отступы и т.д, блок не знает где он находится и какой его размер, позиционировать можно элементы.
    к примеру у нас есть блок авторизации в хедере
    <header class="header">
      <div class="header__auth">
        <div class="auth">
          <div class="auth__item"></div>
          <div class="auth__item"></div>
        </div>
      </div>
    </header>

    в .header__auth мы описываем положение и размер элемента, в .auth описываем внешний вид.

    3) Только класс элемента, но бывают исключения, например используя модификаторы иногда можно воспользоваться каскадом.

    4) Может, называете точно так-же как и другие элементы
    пример:
    <ul class="props__list">
        <li class="props__item">
            <span class="props__label">Weight:</span>
            <span class="props__value">128</span>
        </li>
    </ul>

    хорошие примеры можете посмотреть тут

    5) Не совсем понял вопроса.

    6) cf = clearfix, общепринятый класс, используется как исключение из правил БЭМа, хотя и не приветствуется. Для интерактивности и щелчков нужно использовать модификаторы.
    пример:
    <a class="button button--is-active">click me</a>
    Ответ написан
    2 комментария
  • Как называется плагин, делающий "горячую" загрузку CSS?

    @foin Автор вопроса
    Вспомнил, плагин называется critical-css
    Ответ написан
    Комментировать
  • Альтернатива Web worker или как заставить его работать?

    @Large
    Воркер не дает работать с дом элементами и выполнять синхронные запросы - это собственно основные ограничения. Для вычислений он подходит идеально, просто код вычислений должен находится в самом воркере/воркерах. С основным скриптом он может общаться посредством сообщений. То есть не получится выполнить произвольный код в воркере, но можно выбрать из библиотек только нужные функции и завернуть их в воркер где и выполнить.

    Вариант без воркера - делать вычисления поэтапно и вставлять промежутки setTimeout между этапами, чтобы не потерять отзывчивость пользовательского интерфейса.
    Ответ написан
    Комментировать
  • Изменение высоты блока?

    SilenceOfWinter
    @SilenceOfWinter
    та еще зажигалка...
    привязать контент к нижней части блока аля vertical-align: bottom
    Ответ написан
    2 комментария
  • Как называется скрипт обучения по использованию элементов страницы сайта?

    Deonisius
    @Deonisius
    Родился в 11110110111 году, 11000 января.
    Кроме intro.js:
    1. Product Tour3
    2. SiteHelp.js
    3. jQuery Guide
    4. FAQtoid
    5. Shepherd
    6. Hopscotch
    7. Bootstrap Tour
    Еще десяток найти можно точно.
    Ответ написан
    Комментировать
  • Как спрятать страну от гуглокарт на другом сайте?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Нужно в настройках браузера на первое место поставить английский язык - эти данные отправляются в заголовках HTTP-запроса и на них смотрит сервис, гуглоаккаунт тут ни при чём.

    e535ecde186948a59c074fd4d062a809.png


    591f0c26ecdc4a5fb0f01c58c9d66752.png
    Ответ написан
    2 комментария
  • Где найти шаблон персонального сайта?

    Sanes
    @Sanes
    Белый фон, серый текст и синие ссылки. Вот вам и весь шаблон. Можете фотку профессора сбоку прикрепить.
    Для примера Академия Террасофт
    Ответ написан
    3 комментария
  • В чем моя причина провала тестового задания Яндекса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ну давайте я покритикую:

    возьмем файлик

    1) вы не разобрались как объявлять методы у прототипов с новой нотацией `class`:

    class Travelsort {
        constructor() {}
        sortTickets(tickets) {}
    }


    2) вы не умеете пользоваться исключениями.
    if (!Array.isArray(cards)) {
        throw new ValueError('Wrong input');
    }


    3) использование let там где должен использоваться const

    4) в принципе использование переменных там где их быть не должно

    5) вы зачем-то реализовали свою функцию сортировки, я не увидел в требованиях отсутствия возможности использовать старый добрый Array.prototype.sort

    6) Общие замечания по кодинг стайлу. snake_case там где должен быть camelCase, пишите с большой буквы то что должно быть с маленькой и т.д.

    7) нарушения принципа единой ответственности. У вас объеткт умеет и сортировать и писать куда-то. Это категорически плохо.

    8) Если исправить 7-ой пункт то наш класс превращается просто в функцию.

    Далее... берем следующий файлик

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

    2) вы зачем-то тут в прототип объекта строки впихиваете функции для парсинга CSS. Таким образом мы нарушаем принцип единой ответственности. Да и в целом расширять без надобности прототипы объектов как-то не ок.

    Чуть дальше проскролил - вы пытаетесь расширить прототип строк для того что бы добиться API jquery? ух, батенька.

    3) очень много дублирования.

    4) очень плохо с protected variations.

    Справедливости ради, ваш код входит в категорию ">50% JS кода", так что не расстраивайтесь. Просто для работы в яндексе нужен чуть более высокий уровень и понимание вещей.
    Ответ написан
    17 комментариев
  • Как сделать свой поинтер?

    @IceJOKER
    Web/Android developer
    Y2LqB8oT8geGA6.png
    Ответ написан
    Комментировать
  • Как сверстать новостную ленту?

    Kublyakov
    @Kublyakov
    Это называется masonry сетка. Погуглите, есть разные реализации, выберите себе по душе. Есть и на чистом css, но не во всех браузерах работать будет.
    Ответ написан
    Комментировать
  • Как сверстать такой bg?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Как и 10 лет назад.
    div -> background-image
    Ответ написан
    2 комментария
  • Как в jquery выполнять действия если на странцие после перезагрузки появился элемент?

    copist
    @copist
    Empower people to give
    Тут ошибка в коде. Неисправимая, потому что нарушена логика.

    $(window).load( ... - это назначение обработчика на событие, которое срабатывает при загрузке страницы

    $("body").load("load", "#notify" , ... - такого нет

    Тебе надо вставить такой вариант:
    $(function(){ // вызовётся когда страница загрузится (почти то же самое как и $(window).load(...)
        if ($('#notify').length) { // если найден элемент #notify
            console.log('asd'); // что-то сделать
        }
    });
    Ответ написан
    1 комментарий