• Как написать большое приложение на Vue.js и не умереть?

    Как-то странно у вас webpack настроен. У нас на проекте весьма большая сборка (~100 ui компонентов + ~300 view файлов), собирается на холодную порядка 10 секунд, на горячую 1-2 секунды. При этом весьма большие store и система роутов.

    Конфиг: windows 10, 16bg, i7 7-го поколения

    PS
    Если вам не хватает БЭМ'а, что очень странно, используйте scope style и всё
    Ответ написан
    Комментировать
  • Как написать большое приложение на Vue.js и не умереть?

    @Buzzzzer
    Возможно что то не так в конфигах webpack ?

    У меня сейчас в проекте порядка 600+ vue компонентов.
    Пересборка в dev с hot reload занимает 2-5 сек.
    (win, ram 16gb, ssd, какой то старенький i3)
    Ответ написан
    4 комментария
  • Правильная взаимосвязь между компонентами?

    alsolovyev
    @alsolovyev
    Удобно использовать store. Во vue есть Vuex
    Сохраняйте данные в store:
    this.$store.commit('setData', data);
    После чего можно получить доступ к этим данным из любого компонента:
    import { mapGetters } from 'vuex';
    
    // code...
    computed: {
      ...mapGetters({
        data: 'getData', 
      }),
    },

    Данные реактивны.

    ps есть удобный способ разделения на модули(user, global etc)
    Ответ написан
    7 комментариев
  • С какой книги начать изучение javascript?

    mbelskiy
    @mbelskiy
    Software Developer
    Я с технической литературой на ты, поэтому ознакомление с языком хорошо зашло по книге: JavaScript. Подробное руководство, Д. Флэнаган. Она не самая свежая, но основы понимания языка даст, а свежая информация всегда только в документации.
    Но при чтении или просмотре видеокурсов можно попасть в ловушку, будто обучение идет, а на практике вы ничего сделать не сможете. Поэтому совмещайте решение задач с познанием теории. Один из ресурсов где можно практиковаться в решении логических задач: https://github.com/mbelsky/js-problems
    UPD: Расширил список прочитанных мной книг по JS, настоятельно рекомендую Паттэрны Стэфанова
    Ответ написан
    2 комментария
  • Как получить обратную связь от реле 220 В -> 5 В?

    @AlexanderKomarchouk
    программист PHP, разработка на AVR ATmega
    Вот вам идея схемы. Лампа как пример нагрузки, которую включает ваше реле. Опторазвязка это важно. Да, и без дорогостоящих токовых датчиков. PC814 очень дешевая оптопара. Конечно же входную цепь оптопары обычно немного усложняют, но тут уж вы сами делайте что нужно для ваших задач. На выходе оптопары посмотрите осцилограмму, если нужно, добавьте интегрирующую цепочку.
    5b3c930fc9fa3696244676.png
    Ответ написан
    3 комментария
  • Какой ГОСТ применять?

    eduardtibet
    @eduardtibet
    Technical Writer / Documentation Engineer
    Артем

    Для АС применим ГОСТ 34.x серии. Ознакомьтесь с ним.

    Вам может быть полезна книга:

    "Вадим Глаголев Разработка технической документации. Руководство для технических писателей и локализаторов ПО. СПб, Питер, 2008." ISBN 978-5-388-00101-6 Там все о документации с точки зрения ГОСТов.
    Ответ написан
    Комментировать
  • Где взять корпус для самоделки на Raspberry?

    @evgeniy_lm
    У тебя целых четыре варианта:
    1. Простой и дешевый. Бросить эту гнилую затею и купить сей девайс готовый. Плюсы: экономия средств и времени. Минусы: Нудно, не наш метод, короче.
    2. Простой и дорогой. Собрать 3D принтер и напечатать что тебе надо. Плюсы: у тебя будет свой 3D принтер. Минусы: нужно убить кучу денег и времени.
    3. Сложный и дорогой. Купить: примерно-приблизительно подходящий корпус и допилить до нужной кондиции. Плюсы: Хорошо развлечешься, гораздо дешевле и быстрее чем п.2. Минусы: Все ровно нужны деньги (возможно даже больше чем в п.1) и у тебя не будет 3D принтера.
    4. Сложный и дешевый. Склеить корпус из оргстекла (например коробки старых CD). Плюсы: Ну оочень дешево и сердито. Минусы: Геморрой еще тот и принтера, опять же, не будет
    Ответ написан
    Комментировать
  • Как возвратить значение из коллбеков или завершить внешнюю функцию?

    @emp1re
    create(req, res, next) {
            crypt('PASSWORD').hash((err, hash) => {
               if (err)  return next(err);
               new User().save((err) => {
                    if (err) return next(err);
                    res.send("User has been saved!");
                })
            });
        },

    else тебе тоже не нужно
    Ответ написан
    Комментировать
  • Как вывести div-блок из поддомена на основной домен?

    webirus
    @webirus
    Тыжверстальщик! Наверстай мне упущенное...
    Ты сам-то понял, что сказал?

    А вообще, даже если понял, то эта реализация - полный бред.
    Сделай нормально, а не ищи костыли непонятные.

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

    Имеется два сайта, оба мои.

    2-й неизвестная мне CMS,

    Как-то это подозрительно)))
    Ответ написан
    Комментировать
  • Где взять дизайны (.psd) для практики верстки?

    @WWWWWWWW
    Лучше всего качай уже сверстанные шаблоны с psd исходниками. Потом пытайся верстать по макету и после каждого блока сверяй с исходной версткой, что бы приблизительно понимать как правильно, так будет намного эффективней.
    Ответ написан
    3 комментария
  • Как пробить переменную из функции функции в компонент (Vue)?

    Sanasol
    @Sanasol Куратор тега JavaScript
    нельзя просто так взять и загуглить ошибку
    Использовать vuex
    Ответ написан
    Комментировать
  • Какой посоветуете js-framework для SPA?

    @aslanovich
    Web/Art Designer. Front+Back-end Geek
    Vue.js
    Ответ написан
    Комментировать
  • Можно ли смотреть, какие запросы проходят через БД?

    @Nc_Soft
    SET GLOBAL general_log = 'ON';
    SET GLOBAL general_log_file = 'C:\\log\\mysql.log';
    Ответ написан
    Комментировать
  • Какие есть варианты реализации автоматической авторизации?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    Слова "лучше" и "наиболее" здесь, конечно, неприменимы, как и в большинстве связанных с программированием вопросов.
    Я на одном из проектов сделал это так:
    1. Есть таблица token_actions, куда записывается секретный токен, название действия (Enum) и его аргументы в json.
    2. Действия могуть быть многоразовым и единичными.
    3. У токена может быть ограничено время жизни.
    4. Есть классы, каждый из которых обрабатывают конкретное действие, но имеют один интерфейс.
    5. Среди них есть и класс LogIn, который как раз авторизует пользователя.
    6. Есть контроллер, который принимает токен и по нему получает действие, создаёт объект его обработчика и выполняет его (для этого и нужен стандартный интерфейс).
    7. В письма, собственно, вставляются ссылки на обработчик токенов.
    8. Ну и ещё немного мелкой логики, добавляющей красоты и удобства.

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

    Вот, я вам даже часть кода подарю: https://gist.github.com/alexey-m-ukolov/9588dcefc9...
    Ответ написан
    Комментировать
  • Как не начать говн*кодить?

    banderos120
    @banderos120
    Играю на балалайке
    - Оу, смотрите, я сумел сделать форму и отправить ее POST запросом и вывести ответ и это все в одном файле !
    - Таак, шаблоны на Wordpress, отлично, только что за файл functions.php. О! Анонимные функции я видел такое в JQuery ! Оказывается все так просто.
    - Воот, раскидал функции (процедуры) по конкретным файлам. Думаю так будет удобнее и понятнее.
    - ООП, ооп. Везде требуют ООП. "Классы", "наследование", "инка..." чего ?! Понял ! Классы - это же такая неплохая обертка для моих любимых функций !
    - Ого ! Блин, опять приходится плодить одинаковый функционал. Наверное наследование поможет это исправить. СТАТИЧЕСКИЕ МЕТОДЫ !!!
    - Черт, везде необходимо знание фреймворка. Попробую-ка я Symfony. *!"#$^$&@мать !!! КТо придумал эту хрень ! Месяц прошел я так ничего и не запустил !!
    - Роутинг, хм, толково. Контроллеры. Сервисы. Ага, так вот что означает single responsibility.
    - Ребята ! Я предлагаю не пихать всё в один бандл, а разделить.
    - ORM, репозитории, сервисы, сущности ...
    - ТАК ВОТ ЗАЧЕМ НУЖНЫ ИНТЕРФЕЙСЫ !
    - Чё за "бизнес логика" такая ? DDD ? Чта, простите ?
    - Б*я, б*я, б*я... Так, если эту сущность вынести в этот модуль, то тогда у нас появляется зависимость в вот этом модуле, а это не хорошо. Блин, этот метод вообще не несет смысла. Тааак, а тут стандартный Chain Responsibility . Отлично, напишу-ка тест под это дело.
    - Да пофиг, что по CQRS команда не должна возвращать результат, мне так удобно.
    ...
    - Да Сережа, делать вот как ты делаешь - это и есть говнокод.
    Ответ написан
    Комментировать
  • Кто-нибудь использует очки для компьютера?

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

    Вот этот код отображает только новые, т.е. еще не прочитанные, письма
    def get_list_mail():
        server = imaplib.IMAP4_SSL(server_imap, port_imap)
        server.login("*****@mail.ru", password)
        server.select()
        result, ids = server.search(None, '(UNSEEN)')
        print "New emails with your email in TO is %d" % len(ids[0].split())
        for id in ids[0].split():
            subject = server.fetch(id,
                                   '(BODY.PEEK[HEADER.FIELDS (SUBJECT)])')[1][0][1].strip()
            print "\t" + quopri.decodestring(subject.encode('utf-8')).decode('utf-8')
        server.close()
        server.logout()
    Ответ написан
    1 комментарий
  • Как почтовый клиент понимает, какие письма нужно загрузить?

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

    Пропавшие Folder+UID помечайте как удаленные и убивайте по завершении сеанса.
    Ответ написан
    2 комментария
  • Проблемы с Роскомнадзором, нужен IT-юрист?

    @lakegull
    А самому не догадаться, почему РКН просит удалить контент? Это только вам кажется, что сокрытие номера авто приносит исключительно пользу. На деле такие рекомендации могут снизить вероятность поимки преступников.
    Если хотите и дальше заниматься, не побоюсь слова, этой еботой, то переезжаете на обузоустойчивый хостинг и арендуйте домен не в зоне "рю". Другими словами уходите в подполье, как Рутрекер и готовьтесь к тому, что сайт будет заблокирован на территории РФ.
    Честно говоря не понимаю зачем скрывать свой номер от видеокамер, если каждый день на ютуб выливается огромное количество записей видео регистраторов, на которых этих номеров - хоть базу собирай.
    Ответ написан
    3 комментария