• Много запросов, нормально ли это?

    @ollisso
    делайте ->with
    Ответ написан
    Комментировать
  • Зачем использовать Vue вместе с Laravel?

    @ollisso
    Для чего лично вам использовать его - сложно сказать :)

    Как его мы его используем:
    1. динамика на странице, т.е. даже простое "если изменилось поле А то изменить поле Б" делается намного проще и быстрее чем на jquery/javascript
    2. темлейтинг. Нужно вам например сделать удобный темплейт на JS - вы можете или сам движок придумывать. или использовать готовый. Vue - один из них.
    3. Отображение данных с сервера. Опять же, можно генерировать весь хтмл на сервере, можно на клиенте. На сервере свои плюсы и минусы, на клиенте - свои.

    Удобство VUE - что можно использовать на отдельных элементах отдельных страниц. Нет нужды полностью переходить на него для всех страниц.

    Вот посмотрите примеры тут:
    https://vuejs.org/v2/examples/hackernews.html
    Ответ написан
    4 комментария
  • Как лучше всего реализовать дополнительные поля?

    @ollisso
    Главный вопрос, как часто меняется таблица, сколько планируется доп. полей. и насколько есть данные поля у всех строк?

    Т.е. пример:
    если есть поле которое есть у 1 из 1000 записей, то имеет смысл выносить в отдельную таблицу.

    Такие же поля как "дата создания", "номер автора" и тп , то имеет смысл хранить в основной таблице publications.

    Это возможно не совсем полостью нормализированная таблица, но это практичнее :)
    Ответ написан
    Комментировать
  • Как вести историю изменений сущностей в системе?

    @ollisso
    > Тупо создается таблица для истории изменений
    Лучше умно :)

    Зависит что именно вы хотите сделать, т.е. какие бизнестребования.
    Вариант 1:
    нужно просто иметь лог о том что изменилось. В этом случае, вы можете просто при любом изменении писать лог:
    кто изменил, когда, что изменилось, старое значение, новое.

    Вариант 2:
    вам нужно в любой момент иметь возможность откатить до указанного состояния (как вики, например).
    Тогда делаете п1 и добавляете функционал работы с логами.

    Но самое прстое - просто сделать лог.
    Ответ написан
    Комментировать
  • Кто-то вообще просматривает сайты в полную ширину на мониторе с большим разрешением?

    @ollisso
    Да, я.
    Браузер всегда развернутый на максимум.
    Ответ написан
    Комментировать
  • Remote_addr и user ip?

    @ollisso
    proxy_add_x_forwarded_for опасный заголовок, так как фактически, любой прокси может его модифицировать как угодно.

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

    Если вы используете его - то нужно использовать его только для доверенных айпи адресов.
    Ответ написан
  • Как найти на сайте вирус?

    @ollisso
    1. метабар - это дополнение для браузера. смотрите, какие extension/бары для бара у вас добавленны и удаляйте.

    2. в гугле данные обновляются не сразу. Если только что очистили, то надо подождать. : We last updated our information about bassnika.ru on September 13, 2016.

    3. не обязательно проблема на внешней странице, возможно что на любой другой, в том числе на форуме, если он у вас есть.
    Ответ написан
    Комментировать
  • Существуют ли какие-то решения (на php) для автоматизации загрузки каталога на сайт (в том числе и файлов изображений)?

    @ollisso
    можно напрямую ексель файл парсить. Есть классы для этого.

    главный вопрос в каком виде сейчас лежат картинки ?
    Ответ написан
  • Как получить два значения MYSQL?

    @ollisso
    если нужно и так все строки получить, то выбираете их и уже скриптом отбираете что нужно.

    тот же array_slice и тп.
    Ответ написан
    Комментировать
  • В этом случае пропадает преимущество от использования строк фиксированной длины?

    @ollisso
    ситуация зависит от типа данных внутри таблицы, и того, какие у вас данные хранятся в фиксированном поле.

    Если нет VARCHAR, то все строки имеют фиксированную длину на диске. Т.е. если у вас 1 строка фиксированной длины - 100 байт, то 1000ая строка на диске, имеет позицию 1000 * 100 (условно) Это обычно ускоряет считывание с диска. Как только есть хоть 1 varchar, строки больше не фиксированные - нет никакой оптимизации.

    Другой случай - надо знать, что вы храните в данных? Например, если вы там всегда храните 3 значный код, который всегда ровно 3 знака, то CHAR лучше из за того что он требует на 1 байт меньше для хранения, даже если другие столбцы varchar. Внутри VARCHAR - есть дополнительный символ "конец данных", который увеличивает требуемое место на диске. Если же у вас данные не фиксированной длины, т.е. иногда 1, иногда 2, иногда 3 знака - то CHAR не имеет смысла в данном случае - особой экономии нет на диске.

    Да, это всё имеет смысл только если у вас ОЧЕНЬ много данных. Для таблиц до 10000 строк особой разницы нет.

    Итого:
    * CHAR имеет смысл только если у вас строки фиксированной длины, и только если много строк в таблице.
    Ответ написан
    Комментировать
  • Можно ли в gmail письма из "категорий" не отмечать прочитанными?

    @ollisso
    зайдите в gmail.com через браузер, и отключите группировку по категориям.
    для этого нажмите на плюсик рядом с категориями, и удалите галочки.

    или же в настройках - закладка inbox
    Ответ написан
    3 комментария
  • Насколько сейчас актуальна "Большая книга CSS" 2010 года?

    @ollisso
    Основа - не изменилась.

    меняется только надстройки.
    Ответ написан
    Комментировать
  • Почему хорошей практикой считается сохранять this в переменную в jquery?

    @ollisso
    Простой пример кода:
    $('#object1').on('click', function () {
            console.log(this);
            $('#object2').on('mouseover', function () {
                console.log(this);
            });
        }
    );

    Чему равен this ?

    Если же сделать так, то всё всё ок.
    $('#object1').on('click', function () {
    var self = this;
            $('#object2').on('mouseover', function () {
                console.log(self);
            });
        }
    );


    PS: Не очень хорошая название для переменной - $this. Лучше использовать слова that, object, и тп. Т.е. чтобы не перепутать.
    Ответ написан
    2 комментария
  • Существует ли технология идентификации таба окна браузера?

    @ollisso
    https - это "протокол" шифрования http трафика (не совсем конечно так, но упрощаем). Он ничего не знает про браузер, ничего не знает про табы, как отображать данные, и тп. Он просто передают данные. Им могут пользоваться как браузеры, так и скрипты, программы и тп.
    Поэтому, в нём не может быть ничего лишнего. (ибо всё это лишнее - нужно реализовывать в каждом сервере по всему миру. При этом. 99.999% сайтам это не нужно).

    Вы же говорите, уже про уровень "вашего приложения". Оно может использовать ХТТП, а может и не использовать.
    Если вам нужно сделать чтобы в каждом окне одно и тоже приложение отображалось по разному, т.е. чтобы были разные "сессии", то это уже ваша логика.
    Для этого у вас есть разные варианты, в частности, самый простой - передавать номер сессии всегда в адресе, в параметрах запроса. Или же, сделать чтобы было постоянное соеденение с сервером, например через вебсокет. Открылся второй таб с той же сессией - разрывать в первом табе конект, или же не давать открыть второй конект с той же сессией. Варианты есть :)
    Ответ написан
  • Контроль версий при разработке. Что легче для новичка?

    @ollisso
    Git или Subversion.

    Subversion проще (фактически, в начале нужно всего 2 команды в начале -> commit, update)

    Github - сложнее, но намного больше функционала. Т.е. в идеале - лучше его :)
    Ответ написан
  • Как сделать, чтобы были видны переменные из require_once?

    @ollisso
    Они автоматически видны, если файл есть в инклуде.
    Судя по тому что он у вас жёлтый - шторм не видет файла. Проверьте это.

    Так же, возможно что у вас переменная в файле имеет другой регистр - Users и users - разные переменные.

    Так же - покажите файл head.php чтобы точно проверить что там есть переменная $Users. Может быть она в функции какой либо, или же это класс, а не переменная ?
    Ответ написан
    1 комментарий
  • Конфликт кук на поддоменах?

    @ollisso
    > Как разделить эти домены правильно?

    варианты:
    1. добавить префиксы для кук: dev_username например
    2. перевести дев на другой домен (site.com)
    3. при установке кук на dev.site.ru удалять все куки с site.ru
    Ответ написан
  • Можно ли делать бекап базы mysql если идут записи?

    @ollisso
    Если вся база в InnoDB - То можно, через командную строку:
    mysqldump --single-transaction ...
    Через phpmyadmin - не уверен.
    Ответ написан
    Комментировать
  • У кого ошибка в коде или я что то не так делаю?

    @ollisso
    в оригинальной библиотеке есть такой код:

    static void show(Context context, UsbSerialPort port) {
    sPort = port;
            final Intent intent = new Intent(context, SerialConsoleActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NO_HISTORY);
            context.startActivity(intent);
        }

    Важна тут вторая строка. В ней мы передаём созданный порт и сохраняем его в sPort.

    У вас я не вижу подобного куска кода.
    Ответ написан
    Комментировать
  • Должен ли заказчик платить за купленные в ходе разработки библиотеки кода?

    @ollisso
    Мнение:
    если не обговорено было заранее, и без этой библиотеке не работает код - вы должны её отдать им.

    Если же подходить с юридической точки зранения, то надо смотреть контракт: как там было оговорено этот момент.
    Фактически, если не было оговорено ничего, то в момент покупки библиотеки вы должны были связаться с заказчиком и уточнить - согласен ли он на такую трату, и если нет - то готов ли он чтобы вы сами реализовали всё (но вышло бы дороже)
    Ответ написан
    Комментировать