• Реально ли совмещение дизайнера и фронтэнд разработчика?

    Chipr
    @Chipr
    UX/UI designer
    В нашей компании UX/UI дизайнер развивается скорее больше в сторону PM или бизнес-аналитика, т.к. больше работы с клиентом. Базовых знаний верстки вполне достаточно, чтобы не получать косых взглядов от отдела разработки. В любом случае, всегда можно пообщаться с ребятам из фронта, если сомневаешься в реализации. Наши фронты всегда помогают и объясняют. Они крутаны.

    P.S. Я бы не слушал человека, который в 2018 году говорит, что дизайнеру необходимо знать фотошоп:)
    Ответ написан
    3 комментария
  • С чем связанна странная манера сайтов дорогих брендов?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Мой любимый пример - это lib.ru
    Это пример того, как надо плевать на дизайн
    Ответ написан
    8 комментариев
  • Есть ли русские сервисы по поиску менторов/наставников?

    copist
    @copist
    Empower people to give
    Лучшую реализацию сервиса наставников я нашёл на codementor.io - а русских реализаций аналогичных или более качественных нет, и пожалуй кодментор самый раскрученный, поскольку в самом начале развития получил несколько $M инвестиций как стартап и знатно вложились в функционал и раскрутку.

    Плюсы:
    * Можно разово консультации получить
    * Можно запланировать longterm на несколько месяцев вперёд
    * У них есь краудсорсный сервис codereview
    * Можно захантить спеца
    * Можно нанять на фриланс
    * Много статей интересных - по ним можно определить уровень специалистов-менторов
    * Менторы могут устроить аукцион
    * Менторы даже могут дать подсказку (текстом в чате) ещё до начала митинга

    Минусы:
    * английский в основном, но есть менторы из России и Украины - с ними можно на русском общаться
    * стоимость больше 1000 р в час, но единица тарификации - 15 минут, иногда первые 15 минут бесплатные (зависит от ментора)
    * мобильное приложение глючное

    P.S. Я работал там и как бы со стороны ученика скажу - очень ненадёжно ориентироваться на одного ментора. Ментор то занят, то устал. Редкий ученик ждёт часы или сутки, чтобы встретиться. Чем сложнее тема, чем больше она приближена к реальным производственным задачам, тем нетерпеливей ученик. И выбор - это лучшее, что можно придумать.
    Ответ написан
    2 комментария
  • Как перенести nodejs проект на хостинг DigitalOcean?

    @immaculate
    Программист-путешественник
    Единственно правильного способа не существует, но ваш способ однозначно неправильный. Копировать node_modules с локальной машины на хостинг — это в корне неправильный подход.

    По хорошему, надо начинать с одного из двух:
    1) Код в репозитории GitHub/BitBucket/GitLab. При каждом деплое на сервере DO вручную выполняется git pull, npm install
    2) Код в репозитории Git. Скрипт на ansible, который устанавливает на дроплете node, npm, выполняет git pull, npm install

    От одного из этих вариантов можно плясать уже дальше.
    Ответ написан
    Комментировать
  • Как перенести nodejs проект на хостинг DigitalOcean?

    @StonedCatt
    Frontend developer
    Хорошее из решений, если у вас nodejs backend.. :

    Поддерживаю все ранее данные ответы по поводу гита, но -> Заведите приватный репозиторий в битбаките. Заведите файл .gitignore ( там обязательно пропишите node_modules).
    Далее ->
    Посмотрите в сторону pm2, это менеджер бесперебойной работы приложения. Найдите туториал для настройки pm2 в вашем проекте, обязательно установите плагин pm2-auto-pull и настройте аналитику вашего сервера (при помощи keymetrics - это настраивается через консоль при помощи того же pm2*) Всё это делается через консоль (Поищите приличный туториал).
    После того, как проект будет в битбакете и там будет pm2 и pm2-auto-pull можно на сервере склонировать ваш репозиторий, поднять pm2 и плагин для автодеплоя с битбакета. И теперь ваш сервер может сам стучать на гит и обновляться с ветки (например master).

    Либо склонируйте бэк на сервер и когда нужно обновляйте его в ручную, тоже норм вариант.

    На сервере стоит иметь ноду ту же, что у вас в локальном окружении (чтобы уж точно без ошибок запускать проект)

    Как то так.
    Ответ написан
    2 комментария
  • Как использовать source в handlebars из внешнего файла, а не из инлайн код (чтобы добавить css, js и изменять title)?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    Можно сделать так:
    var fs = require('fs');
    
    var source = fs.readFileSync('./template.html', 'utf8');
    
    var template = handlebars.compile(source);
    var html = template(data);
    console.log(html);


    Также, неплохой идеей было бы делать это асинхронно:
    var fs = require('fs');
    
    fs.readFile('./template.html', 'utf8', function(err, source) {
      var template = handlebars.compile(source);
      var html = template(data);
      console.log(html);
    });
    Ответ написан
    Комментировать
  • Как отложить выполнение кода пока не будет получен ответ от сервера?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Нужно держать состояние диалога, индивидуальное для каждого пользователя.

    Команды пользователя складывать в очередь, и как-то помечать, «где мы сейчас»: ждём очередную команду от пользователя или ждём ответа от сервера.

    Состояние можно держать в Redis, MySQL или другой БД. Входящее сообщение от пользователя содержит его from.id – по нему идентифицируется диалог и берется его состояние.

    Промисы и прочая асинхрота тут не поможет, так как дело шире, чем один запрос.
    Ответ написан
  • Как запустить автоматическое обновление в стеке MERN + webpack?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Почитать:
    webpack dev server
    webpack hot module replacement

    Библиотека для горячей замены модулей React: react-hot-loader
    В папке examples есть куча примеров.
    Ответ написан
    2 комментария
  • Как лучше передать идею fulfilment в логотипе?

    khipster
    @khipster
    Сделать красный куб похожим на картонную коробку, положить её в кузов грузовика, за рулём которого будет сидеть грустный водитель которого все это заfulfilmentило.
    Ответ написан
    Комментировать
  • Какое регулярное выражение подойдет для проверки номера телефона?

    @kudry
    Тоже столкнулся с проблемой валидизации телефонных номеров.
    Телефоны берутся с участников вебинаров, на которые записываются люди из очень разных стран.
    Соответственно, со всеми предыдущими схемами возникают проблемы:
    1) а что если телефон с Украины (не +7-, а +38-)? А из Казахстана? А США (1-)? А Уганда ( +233-)? (из Уганды, правда, пока слушателей не было, но все впереди).
    2)В разных местностях приняты самые невообразимые способы разбиения телефона на группы цифр:
    8(8888)8-88-88-88 например. или 888(88)88888-888. Да и какие угодно могут возникнуть в будущем.
    Поэтому вариант с "дефолтным разбиением типа "8(888)888-88-88 ну совершенно не катит.

    Соответственно, я придумал следующий валидатор:
    1) В начале могут быть пробелы, после них может быть "+" (а может и не быть)
    2) Дальше должна идти группа цифр в количестве от 10 до 14 (мне нужны номера в международном формате; но если кому-то нужны более короткие - можно исправить диапазон длин).
    3) Поскольку я не знаю, как люди группируют цифры - до и после каждой цифры может быть один из 8 знаков ("-", " ", "_", "(", ")", ":", "=", "+"). Это значит, что между двумя цифрами могут быть любые два из этих знаков.

    В итоге получилось очень коротко и понятно )) :
    /^(\s*)?(\+)?([- _():=+]?\d[- _():=+]?){10,14}(\s*)?$/

    Съедает следующие телефоны:
    +7(903)888-88-88
    8(999)99-999-99
    +380(67)777-7-777
    001-541-754-3010
    +1-541-754-3010
    19-49-89-636-48018
    +233 205599853
    Ответ написан
    1 комментарий
  • Как организовать файловую структуру проекта со стеком MERN?

    theobroma
    @theobroma
    javascript developer (ReactJS)
    Создайте третий package.json в основании проекта. Подробнее тут.
    Вот пример содержания package.json
    "scripts": {
            "dev": "concurrently \"cd server && npm start\" \"cd client && npm start \"",
            "build": "cd client && npm run build",
            "install": "(cd server && npm install) && (cd client && npm install)",
            "start:prod": "cd server && npm run start:prod",
            "heroku-postbuild": "npm run build"
        },
        "dependencies": {
            "concurrently": "^3.5.1"
        }
    }
    Ответ написан
    Комментировать
  • Есть ли библиотека для поиска лиц по фотографиям?

    @Camaro67
    Помог? - "Отметить решением"
    Ищите в области нейронных сетей, но для фронта вы такое не найдете.
    Ответ написан
    Комментировать
  • Nodejs/express + ES6 рекомендации?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    По первому пункту, ссылка от Антона в помощь.

    По второму вопросу: вы на node.js будете делать бэкэнд. Который будет являться API сервером, не более. Здесь придется поизучать что такое REST API. Следовательно, если вы будете писать фронтенд на react/redux, то кладете его в другую директорию, там уже свой package.json и т.д., так как ваш фронтенд и бэкэнд - это две разные вещи.
    Ответ написан
    Комментировать
  • Можно ли через js отлавливать ошибки, которые выводятся в консоли?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    перехват глобальных ошибок:
    function globalError(e) {
        e.preventDefault();
        window.ga('send', 'event', 'logs', 'error', JSON.stringify({
            reason: e.reason,
            message: e.message,
            filename: e.filename,
            pos: `${e.lineno}:${e.colno}`,
            href: location.href
        }), {
            nonInteraction: true
        });
    }
    window.addEventListener('unhandledrejection', globalError);
    window.addEventListener('error', globalError);
    Гугл аналитику можно заменить на любой другой сбор логов

    перехват ошибок конкретного элемента (скрипт, картинка, медиа):
    element.onerror = function(e) {
      // обрабатываем ошибку
    };
    Ответ написан
    Комментировать
  • Можно ли через js отлавливать ошибки, которые выводятся в консоли?

    @vshvydky
    const consoleLog = console.log
    console.log = (...args) => {
        // то что ты хочешь с аргументами делать
        consoleLog(...args);
    }

    аналогично для error
    важный момент это надо цеплять в прелоад в браузере на нужные тебе страницы.
    Ответ написан
    Комментировать
  • Есть ли русские сервисы по поиску менторов/наставников?

    @Dafaqtx
    Web-developer
    Знаю этот
    Ответ написан
    Комментировать
  • Как сделать документацию к коду?

    @kn0ckn0ck
    Продюсер
    Есть две крайности, которых лучше избегать:
    1. красивая и исчерпывающая документация требует колоссальных ресурсов на поддержку
    2. сложно воспринимаемый код, без малейших подсказок с чего все начинается и чем заканчивается

    Стандартные решения:
    1. самодокументируемый код, составленный так, что читающий может понять что для чего и в какой последовательности работает.
    2. описание интерфейсов (назначение метода, тип/суть параметров и т.п.) в форме комментов в коде.
    3. автоматическая документация (генерится из комментариев) - эффективно, только если сам код закрыт.
    4. модульные тесты, фиксирующие требования к коду и демонстрирующие его использование.
    5. описание высокоуровневого дизайна (High Level Design, HLD), описывающий какие элементы существуют, их взаимосвязь друг с другом и основные сценарии взаимодействия.

    Работающая документация - это компромисс из этих практик, релевантный конкретной ситуации.

    Кстати, проектная работа, это не только документация к коду, это еще и свод правил, которые позволят архитектуре не расползтись кто в лес кто по дрова, а также сохранят стилистику написания кода для единообразия и легкой поддерживаемости кода.
    Ответ написан
    12 комментариев
  • Как сделать резервную копию БД без phpmyadmin?

    VELIK505
    @VELIK505
    Руководитель департамента profitcentr.com
    Как я понял доступа к ssh нету?
    Тогда зайлете в корень сайта phpminiadmin и через него сделайте тык
    Ответ написан
    Комментировать