• Идеи для Javascript приложений

    mlnkv
    @mlnkv
    JavaScript Developer
    todomvc.com
    сайт посвящен приложению Todo, написанного с использованием наиболее популярных js framework' ов
    Ответ написан
    Комментировать
  • Идеи для Javascript приложений

    madmages
    @madmages
    Человек прямоходящий
    я разбирался на практике используя chrome api. делал всякие расширения на хром, оч познавательно, так же потом сделал небольшой проект на vk api
    Ответ написан
    Комментировать
  • Идеи для Javascript приложений

    megahertz
    @megahertz
    full stack разработчик
    Todo. И просто, и можно потом посомтреть множество примеров, как оно реализовано на разных фреймворках на todomvc.com . Затем выбрать фреймворк, который больше нравится.
    Ответ написан
    Комментировать
  • Действительно ли reduce, filter, map и прочие работают медленнее обычного for?

    Xuxicheta
    @Xuxicheta
    инженер
    Сегодня быстрее, завтра не быстрее, послезавтра быстрее.
    Перфоманс таких вещей зависит от реализации js и будет разным на разных движках и версиях.
    Без веских причин не стоит экономить на спичках жертвуя читабельностью.
    Будь методы перебора массивов не нужны, их не сделали бы, правда ведь?
    Ответ написан
    6 комментариев
  • Какие книги порекомендуйте для fronend и для программиста вообще?

    uselessmindYEAH
    @uselessmindYEAH
    Frontback cocaine developer
    По HTML/CSS - иди на htmlacademy

    Из книг начать можно с серии Head First. Там все с картинками, простым языком написано, самое оно чтобы вникнуть.
    Дальше можно почитать серию книг "Вы не знаете JS" (You Don't Know JS)

    Как начнешь немного разбираться, что там куда в этом вашем джаваскрипте/хтмл/цсс, можно почитать что-нибудь посложнее, например:
    1. Естественно Фленаган JavaScript. Подробное руководство
    2. Секреты JavaScript ниндзя
    3. Стефанов Стоян - JavaScript. Шаблоны

    Из общего:
    1. Роберт Мартин: Чистый код
    2. Роберт Мартин: Чистая архитектура
    3. Грокаем алгоритмы

    Для начала хватит, но обязательно нужно практиковать все что прочитано. Без практики не надо начинать читать. За сложные книги браться сразу не стоит это пустая трата времени.
    Ответ написан
    2 комментария
  • Разыскивается толковая литература по изучению английской грамматики и орфографии?

    devalone
    @devalone
    ̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
    "English Grammar in Use" Raymond Murphy
    Ответ написан
    Комментировать
  • Разыскивается толковая литература по изучению английской грамматики и орфографии?

    32bit_me
    @32bit_me
    Программист, встраиваемые системы
    Murphy
    Ответ написан
    Комментировать
  • Как вы планируете свой рабочий день, чтобы не выгорать?

    @historydev
    Редактирую файлы с непонятными расширениями
    Работаю по настроению,удаленно на фрилансе.В офисе не был,ничего не скажу по этому поводу.Перегрузки не к чему не приведут,вы можете за 2ч в день зарабатывать больше,чем за 8-10,работайте в удовольствие,тратьте время с пользой,остановитесь на доходе которого хватит на проживание и немного погулять. Обучайтесь в остальное время.Не гонитесь за деньгами,они сами придут со временем.А нервы и психическое состояние вы уже не поправите,обосную тем что сам пережил нервный срыв и полежал в лечебнице.Выбор за вами.
    Ответ написан
  • Как вы планируете свой рабочий день, чтобы не выгорать?

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

    @alexdonskih
    Использую на удаленной работе многое из того что уже было сказано коллегами.

    От себя добавлю следующее:

    Важен режим, а точнее ранний подъем. Раньше проснетесь, раньше начнете работать, раньше закончите. Я начинаю работать не позже 8 утра, и обычно в начале четвертого уже свободен. Также намного легче себя мотивировать на работу в первой половине дня.

    Работаю по тайм-трекеру в сочетании с помидорной системой. Интервалы по 2 часа с короткими перерывами в 5 мин. и длинными в полчаса.

    Всего в день работаю не более 6 часов именно по тайм-трекеру (на долгие перерывы трекер ставится на паузу). Денег выходит чуть меньше, но зато на душе намного спокойнее. Пробовал работать по 7-8 часов, но в таком режиме ты живешь буквально между постелью и кодом, на другое не остается времени.

    У меня на работе никто не требует быть у компа 6-8 часов в день. Есть только норма по часам в неделю и дедлайны по некоторым таскам.

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

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

    На свои дела сил хватает т.к. не выкладываюсь на 120% на работе.
    Ответ написан
    2 комментария
  • Как вы планируете свой рабочий день, чтобы не выгорать?

    @bioroot
    Поддержу большую часть выше сказанного. Во-первых, работать с адекватным качеством можно не больше 6 часов в день. Я стараюсь брать по 4-5 часов (хотя это не отменяет того факта, что при какой-нибудь аварии на сервере нужно собраться и устранить проблему не глядя на часы, но такие ситуации крайне редки). Во-вторых, как только вы набьёте руку и будете интересовать клиентов больше чем они вас, уходите на фриланс. Ну или как минимум гибкий график жизненно необходим. В-третьих, подумайте, сколько денег вам нужно и чем для вас вообще является работа - способом заработка или призванием. Если первое, то работайте меньше. Лично я понял что для меня это именно способ заработка. Хотя в целом работа мне нравиться, но я не из тех кто готов по 12 часов писать код для работодателя, а остальные 12 часов - для pet-проектов. IT-субкультура навязывает что это не круто, но если вы сможете справиться со стереотипами, то станете продуктивнее и счастливее. Денег скорее всего станет меньше, но это на самом деле не так критично влияет на жизнь. Хотя сначала кажется что будет ужас, но у страха глаза велики.

    В сухом остатке, оценивайте работу в первую очередь по комфортности для вас, а не по доходу, известности компании и прочим побочным факторам. Если вы не создадите себе комфортных условий, то с гарантией выгорите, не смотря на психологов, доход, лекарства и репутацию как специалиста. Я, например, в качестве одного из главных критериев беру адекватность клиентов и доверительные отношения с ними. В результате мне не нужно писать гигантские отчёты по каждому потраченному часу, высылать пачки скриншотов с открытой IDE и выбивать заработанные деньги. Я просто говорю сколько они мне должны, они просто платят. Можно было бы нахватать больше клиентов и по большей ставке, но зачем? Всех денег не заработаешь, а удовлетворённость жизнью в текущем режиме выросла гораздо больше, чем просел бюджет.
    Ответ написан
    Комментировать
  • Как вы планируете свой рабочий день, чтобы не выгорать?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Интенсивной работы в день 5-6 часов максимум. Больше - только на ограниченное время, с обязательной компенсацией отдыхом. В офисе 9-18 работают в целом так же, кулер, поболтать, что-то обсудить 10 раз в день, почитать статьи. По моим личным ощущениям на удаленке работа интенсивнее, даже с учетом меньшего количества часов. Поэтому работаю по часам и на ставке больше чем в офисе на 8 часовом рабочем дне.
    Пробовал помодоро - не зашло.
    Бывает что накапливается и какие-то дни работа вообще не идет - даю себе отдохнуть, могу поработать часа два-три.
    Что-то новое изучаю иногда в формате перерывов - поработал - почитал. Так как график и учет времени гибкий, это не считается рабочим временем, и совесть не мучает. Могу посередине дня отдохнуть пару часов если совсем не идет, или сходить прогуляться или еще что.
    Свои проекты сначала пилил "по вечерам и выходным", особенно когда работал 9-18 потом понял что так не пойдет, на долгий срок это провальный подход, поэтому сейчас больше работаю как часть рабочего времени. Уменьшаю основную работу (при этом естественно уменьшается доход).

    Самое главное - правильно оценить свои силы и исходя из этого решать сколько куда их потратить. Может у вас сил хватит и на работу и на проекты и на хобби и еще перед сном почитать - без проблем, делайте все это. А если их не хватает даже на 8 часовой рабочий день - стоит это признать и не пытаться себя нагрузить сверх меры, получите новый срыв. Или отказаться от чего-то или искать другие способы кроме как "работать больше". Тут главное быть честным с собой и не "добавлять себе очки".

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

    Если вы уже один раз проходили через все это - ищите общее, анализируйте и поймите что вы сейчас делаете так же как и тогда и что надо поменять.
    Ответ написан
    2 комментария
  • Как получить ссылку на объект window из элемента?

    lazalu68
    @lazalu68
    Salmon
    Почитайте тут. Если упрощённо, то как-то так:

    function getWindowOf(element) {
    	return element.ownerDocument.defaultView || element.ownerDocument.parentWindow;
    }


    Только это надо тестить.
    Ответ написан
    1 комментарий
  • Для чего программа Open Gatekeeper friendly? И что она делает? Не безопасна ли она?

    deksden
    @deksden
    Enterpreneur
    Gatekeeper - компонент операционной системы macOS, контролирующий запуск программ. В поздних версиях mac OS он настроен по-умолчанию на запуск программ только с цифровой подписью разработчика или скачанных из mac app store.

    Если есть желание запустить "левую" программу, например, скачанную с торрента, нужно:
    - или добавить эту программу в список исключений gateKeeper:
    sudo xattr -rd com.apple.quarantine /Applications/LockedApp.app

    - или отключить его глобально в системе
    sudo spctl --master-disable.

    Подробнее, например, тут: https://macx.ws/mac-os-unix/10137-kak-otklyuchit-g...

    Open Gatekeeper friendly - скрипт, автоматизирующий указанные выше шаги.

    Вот пример такого скрипта: https://gist.github.com/RobertYan/4b73199f571d83c4...

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

    toxicmt
    @toxicmt
    CTO at hexlet.io
    > Насколько я понимаю, смысл mock-функций в jest - это заглушки для функций, чтобы не тащить код всего модуля и не замедлять процесс тестирования.

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

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

    Ни первое ни второе напрямую с видом тестирования не связано. Моки и стабы могут применяться практически на любом уровне автоматизированного тестирования.

    Темы для самостоятельного изучения:

    Побочные эффекты
    Детерминированность
    Чистые функции
    https://martinfowler.com/articles/mocksArentStubs.html
    Ответ написан
    Комментировать
  • Какой набор программ вы используете на Macbook для вебразработки?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Все что нужно на винде там есть + сама по себе макось намного дружественнее для веб разработки. Плюс тенденция такова что если кто-то что-то сделал классное для вебразработки (утилиту, пакет, сервис какой-нибудь) оно в первую очередь появится на маке.
    Переходите без вопросов.
    Ответ написан
  • Как использовать тег picture при создании адаптивных изображений?

    @IvanPsarev
    It-любитель
    Заводим тег picture внутри которого указываем дефолтную картинку:
    <picture>
        <img class="image"
          src="img/mobile.jpg"
          alt="Описание" width="260" height="260">
    <picture>

    В данном коде у нас везде просто загрузится "img/mobile.jpg".
    Как это можно улучшить? Можно использовать прогрессивные файлы изображений такие как webp (почитать про них стоит отдельно, вкратце - они меньше весят при одинаковом качестве картинки).
    Добавляем условие для показа новой картинки:
    <picture>
        <source srcset="img/mobile.webp" 
          type="image/webp">
        <img class="image"
          src="img/mobile.jpg"
          alt="Описание" width="260" height="260">
    <picture>

    Здесь, если браузер поддерживает .webp будет загружена картинка: img/mobile.webp.
    Допустим у нас есть брейкпоинт на десктоп при 768px где нам нужно показывать картинку более высокого качества (либо вообще другую). Код можно улучшить так:
    <picture>
        <source media="(min-width:768px)" 
          srcset="img/desktop.webp"
          type="image/webp">
        <source media="(min-width:768px)"
          srcset="img/picture/desktop.jpg">
        <source srcset="img/mobile.webp" 
          type="image/webp">
        <img class="image"
          src="img/mobile.jpg"
          alt="Описание" width="260" height="260">
    <picture>

    Тут мы добавили еще 2 условия: если окно шире 768px и браузер поддерживает webp - грузится desktop.webp, если не поддерживает то - desktop.jpg.
    Данную конструкцию можно еще расширить. Например мы хотим чтобы на retina-дисплеях картинки показывались в более высоком качестве. Для этого у нас должны быть копии всех наших картинок но с увеличенным в 2 раза разрешением. Например, наши картинки будут именоваться как mobile@1x.jpg (260х260рх). плюс эти же картинки, но в 2 раза большем разрешении: mobile@2x.jpg (520х520рх). Загружать их, или нет будет решать браузер, на основании данных о плотности пикселей на экрана полученных от системы (это тоже отдельная тема для обсуждения, есть статьис названием что-то вроде "Пиксель на самом деле не пиксель". Точного названия не помню, но смысл в том, что на "так называемых" Retina-дисплеях при фактическом разрешении, например, 2500х1600px браузер будет "считать", что окно шириной 1250px). Короче для "ретинизации" код нужно изменить так:
    <picture>
      <source media="(min-width:768px)" 
        srcset="img/desktop@1x.webp, img/webp/desktop@2x.webp 2x"
        type="image/webp">
      <source media="(min-width:768px)"
        srcset="img/picture/desktop@1x.jpg, img/picture/desktop@2x.jpg 2x">
      <source srcset="img/webp/mobile@1x.webp, img/webp/mobile@2x.webp 2x" 
        type="image/webp">
      <img class="image" 
        src="img/mobile@1x.jpg" 
        srcset="img/mobile@2x.jpg 2x"
        alt="Описание" width="260" height="260">
    </picture>

    Вся эта громадина читается сверху:
    - первый <source>: если ширина экрана больше 768рх, браузер поддерживает webp и плотность пикселей 2x грузится desktop@2x.webp, если плотность пикселей 1х - desktop@1x.webp
    - если webp не поддерживается, то второй <source> - все тоже самое для .jpg
    - если экран уже 768px - третий <source>
    - во всех остальных случаях и в случае если браузер не поддерживает загрузится обычный <img>.
    Нужно понимать, что для такого подхода требуется иметь для одной картинки 4 файла и это только для одной ширины экрана:
    mobile@1x.jpg, mobile@2x.jpg, mobile@1x.webp, mobile@2x.webp.
    И еще столько же для desktop.
    Вот как-то так, можно добавить еще брейкпоинт для tablet - все по примеру :)
    Ответ написан
  • Какие вопросы полезно задавать старшим разработчикам?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    "Я всё сделал. Что дальше?" (шутка)

    "Я думаю сделать так (показываете схему того, как Вы поняли задачу), верно?"
    "Я с этим не сталкивался. С чего мне начать?"
    "Я хочу оптимизировать (показатель и место оптимизации). Что скажете?"
    "Пытаюсь разобраться... Читал... Делал... Не получилось. Что я упустил?"

    И самое страшное:
    Которые вы бы хотели, чтобы Вас спрашивали, но высказать напрямую ваше желание вы не можете :)))
    Потеря коммуникации - потеря времени и средств!
    Ответ написан
    Комментировать