• Как с помощью axios отлавливать ошибки в одном месте и потом редиректить пользователя или показывать модалку в зависимости от ошибки?

    FFxSquall
    @FFxSquall
    Могу писать код, могу не писать
    В принципе подход верный, сам пользуюсь таким, правда с показом модальников не сталкивался, у меня просто настроен редирект. Вам необходимо подключить роутер через import, так как через this тут к нему достучаться не получится.
    В файле router.js
    const LoginView = () => import('@/views/Login');
    const router = new Router({
      base: '/',
      mode: 'history',
      routes: [
        {
          path: '/login',
          name: 'login',
          component: LoginView,
        }
      ],
    });
    export default router;

    В файле с конфигом axios
    import axios from 'axios';
    import router from '../router';
    const instance = axios.create({ baseURL });
    
    instance.interceptors.response.use(undefined, (error) => {
      if (error.response && error.response.status === 401) {
        router.replace({
          path: '/login',
          query: { redirect: router.currentRoute.fullPath },
        });
      }
      return Promise.reject(error.response.data);
    });


    P.S. Можно редирект сделать с нужными props и тогда вы сможете показать модальник, если нужный пропс выставлен.
    Ответ написан
    1 комментарий
  • Нужно ли учить ООП (PHP)?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    но статья меня пугает, так нужно ли учить ООП или функциональное программирование: Welcome?


    ООП учить не нужно. Большинство вроде как и учат но выходит плохо. ООП надо понимать. Причем это скорее именно проектирование нежели программирование.

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

    А так... скажем так, использовать классы вам придется. В PHP другого способа изолировать состояние нет. Просто не надо думать что ООП про наследование (о чем большая часть статьи), оно про изоляцию состояния, взаимодействие объектов/модулей посредствам "общения" (tell don't ask, закон деметры), про позднее связывание (возможность подменить реализацию)... А не как не про классы. Классы лишь способ. Инкапсуляция, полиморфизм, наследование - все это было до ооп. Разве что наследование в Simula67 сделали в более удобном виде. Но все же считать этот язык объектно ориентированным не стоит. На его основе потом Страуступ плюсы сделал, и так же не думал делать объектно-ориентированный язык. Он хотел структурировать процедурный Си, задать так сказать культуру разработки. Менять парадигму он не собирался.

    В основном проблема нынче в том что под ООП люди понимают только классы, паттерны и все. А зачем его придумывали и чем оно отличается (если отличается) от старого доброго процедурного - это уже не вкурсе.
    Ответ написан
    Комментировать
  • Для чего в Yii2 именовать поведения?

    qonand
    @qonand
    Software Engineer
    использование именованных поведений позволяет:
    1. Откреплять по необходимости поведения от компонента c помощью функции detachBehavior
    2. Работать с поведением в классах-потомках (например, изменять конфигурацию поведения и т.п.)
    3. Получать собственно сам объект поведения и при необходимости с ним работать
    Ответ написан
    Комментировать
  • PostgreSQL - как архивировать старые записи в большой таблице?

    Melkij
    @Melkij
    PostgreSQL DBA
    Как разделить таблицу, горячие данные оставить на SSD, холодные - на HDD. Для этого во-первых партицирование для разделения таблицы на две. https://habrahabr.ru/post/273933/ (как обычно, внимание на комменты и pg_partman)
    Затем, до миграции данных (или сразу при создании партиций), перенос архивных в другой tablespace www.postgresql.org/docs/current/static/sql-createt... stackoverflow.com/a/11228536 на HDD.
    Затем миграция данных на партиции.
    Вообще-то, это уже может быть вполне достаточно. 1-2млн строк * 365 дней это не запредельно много. Хотя не указан характер данных.

    Прозрачный для приложения перенос таблиц на другую железку - FDW, foreign data wrapper. Чем актуальнее postgresql - тем лучше. Пилится штука весьма активно по части оптимального распределения запроса. Дружит ли уже с партицированием - честно, не в курсе.

    Прозрачно отправить запрос на две базы и склеить - элементарно view с union all из локальной таблицы и FDW. Только это неинтересный вариант, зачем для запроса на горячие данные дёргать холодную часть базы?

    Вдобавок, можете посмотреть в сторону postgresql-xl, greenplum. Первый года полтора назад был не вполне production-ready, сейчас не знаю, второй используется даже в банковской сфере, но как мне помнится катастрофически не годится для OLTP, только OLAP нагрузка.
    Ответ написан
    1 комментарий
  • Как исправить ошибку с header?

    @cloud-habr
    первый класс вторая четверть )))
    1. ob_start(); до вывода
    2. юзайте кодировку utf-8 без bom
    3. при большом количестве инклюде проверяйте каждый скрипт перед подключением (hex editor в помощь проверяем области до<?php)
    Ответ написан
    2 комментария
  • Как сравнить id с Max количеством?

    @Steely
    Нифига ты извращенец
    Ответ написан
    Комментировать
  • Дебаг приложения на PHP. Как улучшить код и избавиться от предупреждений?

    Sild
    @Sild
    как начать гуглить и перестать спрашивать одно и то же?
    напиши в начале инициализирующего скрипта
    error_reporting(~E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED);

    это избавит тебя от всех ошибок.

    Warning: Invalid argument supplied for foreach() in - про это тебе уже писали (я лично писал)
    Warning: mysqli_fetch_row() expects parameter 1 to be mysqli_result, boolean given in - про это тоже говорили, что проблема в запросах которые ничего не возвращают

    ты весь проект так хочешь проспрашивать? Лучше напиши строчку, которую я указал в самом начале. Это будет достаточно грамотный подход, по сравнению с текущими успехами.
    Ответ написан
    5 комментариев
  • Где взять готовую базу автомобилей (марки/модели/годы выпуска)?

    @Bodik Автор вопроса
    Нашел на сайте yearmakemodeldatabase.com/. База за 1941-2009, внутри довольно много информации включительно с объемом двигателя, страной выпуска, мощностью. Размер .csv файла 26Мб, архив — 4Мб.

    ---добавлено 15.05.2014---
    Зная название файла можно многое найти, вот например тут лежит в архиве, пароль на архив там же. Проверил работает: www.alltdrives.com/vehicles-database
    Ответ написан
    6 комментариев