• Код HTTP ответа, для уведомления о смене пароля?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    HTTP 200 OK
    А в ответе признак особой операции и текст "Требуется смена пароля"

    Или вот в википедии вот указано вне-регламентное использование кода 419
    419 Authentication Timeout (not in RFC 2616) — Этого кода нет в RFC 2616, используется в качестве альтернативы коду 401, которые прошли проверку подлинности, но лишены доступа к определенным ресурсам сервера. Обычно код отдается, если CSRF токен устарел или оказался некорректным.
    Ответ написан
  • Какие вы знаете способы выполнения тяжелых задач на node.js?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    Использовать очередь заданий

    1. NodeJS принимает задание (HTTP POST запрос с параметрами), передаёт служебную информацию в очередь (Apache Kafka, RabbitMQ)
    2. Исполнитель извлекает задание, обрабатывает его, отправляет уведомление о завершении работы

    Передача уведомдений возможна так же через очередь
    Исполнитель для ресурсоёмких операций лучше делать на компилируемых языках, то есть C++, Erlang, GoLang
    Ответ написан
  • Хранение информации в js переменных?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    Ответ: браузер будет хранить данные до перегрузки страницы (Ctrl+R, F5), или навигации на другую страницу того же сайта, или навигации на другой сайт, или закрытии окна (вкладки).

    Хранить можно в переменных или в объектах JavaScript, в атрибутах элементов DOM, в localStorage, в куках и других местах браузера.
    Ответ написан
  • Скрытая отправка формы, без следа в консоли?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    1. Подавить контекстное меню мыши
    2. Перехватить нажатия клавиш, которые включают панель отладки
    3. Заменить объект, который реализует консоль
    4. Шифровать отправляемые и получаемые данные, причём код JS должен быть изощрённо обфусфированным, чтобы там нельзя было найти ключ или алгоритм шифрования (см. коды каких-нибудь вирусов - полиморфов)
    5. Использовать протокол websocket - там смотреть фреймы тупо неудобно
    6. Использовать HTTP прослойку на Flash или Java и там тоже шифровать

    Не забывайте, что кроме браузера обмен данными могут смотреть снифферы, например Wireshark. Кому надо, тот посмотрит.

    Я рекомендую изучить вопрос защиты данных, а не скрытия трафика.
    Не отдавайте клиенту лишнее, авторизуйте всех, проверяйте всегда кто что и зачем прислал, пользуйтесь токетами CSRF, заблокируйте кросс-доменные запросы, не выполняйте модифицирующие операции через GET запросы и так далее. Защищайте бэк.
    Ответ написан
  • Как в postgresql хранить рабочие часы организации?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    Хранение выбирается исходя из целей: расписание нужно только лишь показывать или по нему нужно искать.

    Если только показывать - то можно для любого расписания придумать замысловатую конструкцию в формате JSON, а можно текстом хранить, а можно и HTML.
    Если требуется искать, то нужно понимать - можно ли по этой структуре написать алгоритм поиска. Возможно будет эффективнее представить расписание как записи: в такой-то день недели с такого-то времени по такое-то время РАБОТАЕТ или наоборот НЕ РАБОТАЕТ

    CREATE table `workinghours` (
      `timefrom` unsigner integer COMMENT "Время начала", /*0 ... 2359 - перевод часов минут в целочисленный формат*/
      `timeto ` unsigner integer COMMENT "Время окончания", /* 0 ... 2359 */
      `weekday` unsigner integer COMMENT "День недели" /* { 1, 2, 3, 4, 5, 6, 7 } */
    );


    на случай, если расписание действует какой-то календарный период времени, необходимо ещё добавить пару свойств
    `datefrom` date COMMENT "Начало календарного периода",
    `dateto` date COMMENT "Окончание календарного периода",
    Ответ написан
  • Как отключить кеш в мобильных браузерах?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    Кэширование надо подавлять

    К URL каждого файла статики добавляй версию.

    Для разработки - версия должна меняться часто, я использую псевдорандомные строки типа 'app.js?v=' + Math.random()

    Для продуктовой сборки использую версию сборки из package.json, либо из файла конфига, либо код текущей ревизии, если приложение собирается из репозитория git. Последний вариант более точно определяет факт изменений.
    Ответ написан
  • Как настроить разработку vue под java бэкенд?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    По-умолчанию webpack отгружает приложение и всю статику с localhost:3000
    В настройках webpack надо указать другой базовый путь приложения.
    Пример https://github.com/pvolyntsev/toster-608800/blob/5...
    Ответ написан
  • Как использовать два vue приложения на одной странице?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    В модуле чата не используй роутер. Переключай представления (компоненты) без изменения URL.

    Что-то типа такого: в свойство component сохраняй код текущей видимой части приложения.
    <template>
       <app-dialog v-if="component === "dialog"></app-dialog>
       <app-settings v-if="component === "settings"></app-settings>
    </template>
    Ответ написан
  • Как внедрять vue в проект на Yii2?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    Ты сборку на базе webpack используешь?

    В Yii2 надо будет сделать два layout: один для обычных страниц (view/layouts/main.php), второй для страниц с Vue (view/layouts/vue.php)

    Для режима dev в файле view/layouts/vue.php нужно подключать JS скрипты, которые генерит npm start. Для этого открой исходный код страницы, которую раздаёт webpack и скопируй оттуда все подключенные <script>. Либо вручную, либо парсер напиши. Вроде бы у этих скриптов статичные имена, поэтому тут проще. Можно один раз скопировать и забыть.

    Для режима prod нужно в лэйауте view/layouts/vue.php подключать финальные сжатые JS скрипты, которые генерит npm run build - тут сложность в том, что эти скрипты с уникальными именами всегда.

    Попробую сделать пример на github
    Ответ написан
  • Возможно ли восстановить source map созданный uglify?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    source map нету

    Нет, восстановить исходный код без source map нельзя.

    Можно отформатировать это г****о, чтобы оступы появились и скобки были расставлены аккуратно, но останутся сокращённые переменные и каша в виде модулей. К тому же это будет написано на ванильном JavaScript, это приложение невозможно будет переиспользовать в React Angular Vue или чём-либо ещё, на чём оно было написано изначально. Ни строки кода нельзя будет скопипастить. Только глазами посмотреть.
    Ответ написан
  • Может кто простыми словами объяснить что такое SalesForce и его предназначение?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    что такое SalesForce

    SalesForce относится к системам управления взаимоотношениями с клиентами (Customer Relationship Management, CRM, CRM-система).
    Если коротко, то это сервис для ведения базы данных клиентов (имена, контакты), ведения сделок (заказы, продажи, оплаты), документооборота (заявки, договора, квитанции). Обычно это многопользовательские системы. Обычно эти системы имеют интеграцию с другими системами для ведения email, sms и голосовых рассылок с напоминаниями о сделках или для рекламных целей. Обычно там есть возможность вести задачи, передавать их между сотрудниками, отслеживать исполнение, сроки. Обычно такие системы могут взаимодействовать с клиентами на базе автоматизированных скриптов, например регистрировать заказы с сайта или вести опросы по качеству обслуживания.

    его предназначение?

    Не держать всё в голове. Не вести учёт на бумажке. Не вести учёт в гугло-доках. Не терять клиентов и деньги. Вот его предназначение.

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

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

    А дописываются модули под конкретные бизнес-процессы организации. Например, в моей организации ведутся конференции по веб-технологиям. Нужно вести контакты с конференц-залами и контакты с слушателями. С первыми договориться о времени, заплатить. Со вторых взять оплату за участие и напомнить, чтобы не пропустили. А ещё вести онлайн блог и в личном кабинете после мероприятия дать возможность скачать видео-запись, задать вопрос, оставить отзыв. Это конкретно мои заморочки. Мне стало быть нужно базовый модуль + личный кабинет участника + онлайн оплаты + интеграцию с ККМ + задачник + рассылки по email/sms + блог.
    Ответ написан
  • Какую CRM выбрать для школы/курсов?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    АльфаCRM

    Я на неё смотрел 2 года назад. Мимо прошёл.
    А в прошлом году наткнулся ещё раз. И теперь она зацепила. Установил и настроил для маленькой языковой школе, где жена работает. Установил себе, чтобы консультации регистрировать. Сейчас настраиваю для языковой школы с 100+ преподавателей.

    Фичи:
    * Отзывчивый интерфейс, подходящий для работы через планшет и смартфон
    * Интеграция лидов с VK Instagram FB
    * Виджеты для записи на урок, регистрации новых учеников на свой сайт
    * Работа с лидами, воронки продаж
    * Внутренний задачник с напоминаниями
    * Личный кабинет для админов, менеджеров, учителей, учеников; ролевая система с ограничениями прав доступа
    * Внутренние рассылки по SMS и Email, по триггерам или вручную, индивидуальные или массовые
    * API и веб-хуки для интеграции с внешними системами аналитики и интернет-маркетинга, SMS, email и телефонией, с платёжными системами (эквайринг), кассовыми аппаратами
    * Визуальное расписание уроков, преподавателей, свободных аудиторий
    * Занятия индивидуально и в группах ( -- тут есть наполняемость и в списках и в специальных отчётах)
    * Расписание разовое и регулярное
    * Оплата разовая и по абоненементам, абонементы по занятиям и помесячно
    * Куча отчётов финансовых, по лидам, по учителям, по урокам
    * Возможность использовать свои бланки договоров, бланки квитанций, создание своих отчётов
    * Импорт и экспорт данных в Excel

    Мечта, а не система

    Обзоры и отзывы: 1 2
    Ответ написан
  • Как можно сделать такое при скролле?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    Это может быть SVG с элементами-чекбоксами и белой линией, поверх которой отрисовывается жёлтая линия по вот такому сценарию: Scroll to draw



    Вот пример похожий: le-mugs.com (см раздел La Carte) в работе и пример на codepen https://codepen.io/proweb1991/pen/GNxYaR
    Ответ написан
  • Как сделать валюту оплаты отличной от валюты сайта?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    Прежде всего нужно определиться с платёжным агрегатором. Stripe Skrill PayPal 2Checkout Braintree и туча их ещё
    У каждого из них разные варианты оплаты
    Нужно смотреть описание API

    Обычно в запросе на проведение оплаты сумма задаётся в базовой валюте (USD например), а пользователю показывается селектор валюты, либо сразу отображается в местной валюте, либо показывается в USD, но в итоге с карты списывается в рублях

    Иногда цены "для запада/для России" отличаются значительно. Например, для России - 100 рублей за штуку, для Европы - 10 евро за штуку. Это реализуется в бизнес-логике твоего приложения, как Developer описал. В таблице хранятся цены, курсы.

    Иногда цены отличаются для новеньких и для бывших пользователей (дисконтная система). Иногда скидка реализовывается на стороне платёжного агрегатора (Stripe), а чаще - хранишь параметры у себя и выставляешь через API сумму с учётом скидки.
    Ответ написан
  • На сколько важна для работодателя диплом о завершении курсов?

    copist
    @copist
    Мидл, хочешь стать синьором? http://copi.st/ExhE
    Спроси конкретного работодателя. У каждой конторы свои причины спрашивать или не спрашивать диплом.

    Про диплом можно не вспоминать во время собеседования. То есть специально спрашивать "Вы меня без диплома возьмёте?" - это бесмысленно. Если квалификация достаточна, диплом не пригодится. Если квалификация не достаточна, диплом не поможет.

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