Задать вопрос
  • Как правильно сделать непрочитанные уведомления на сайте?

    Если новость и достижение относится только к одному пользователю, то есть смысл ввести ячейку с флагом в саму таблицу с новостями, или достижениями.
    Если одна новость может относится ко многим пользователям, то отдельную таблицу в которую вводить связи между новостями и пользователями, тоесть был просмотр внесли запись. Далее проверять на наличие записи.
    Как вариант, отдельная табличка с уведомлениями, и при создании новости, вносить в неё запись о уведомлении. Вариантов масса, нужно исходить из деталей по задаче
    Ответ написан
    Комментировать
  • Перестала работать админка HostCMS, ошибка Parse error: syntax error, unexpected что делать?

    slo_nik
    @slo_nik Куратор тега PHP
    Добрый вечер.
    Ошибка говорит о том, что файл "неожиданно закончился".
    То есть, где-то не закрытая скобка, точка с запятой, кавычка...
    Проверяйте, желательно в редакторе с подсветкой синтаксиса.
    Ответ написан
    6 комментариев
  • Загрузил проект laravel на vps и получил 403 ошибку?

    miraage
    @miraage
    Старый прогер
    1) прочитать логи
    2) выявить проблему
    3) устранить ее
    4) liquid
    5) ...
    6) profit
    Ответ написан
    2 комментария
  • Как при работе единственным веб-мастером-на-все-руки в компании максимально эффективно прогрессировать в веб-разработке?

    andreych1963
    @andreych1963
    php, mysql
    Ни как.
    Последние три года был такой же "лошадью".
    Потом, если еще нет, попытаются навязать набор контекста.
    Работу в резюме, в смысле ссылки на сайт, показывать будет стыдно, потому так там в полной красе отражается "видение" руководителя. Сайт какое то время вообще напоминает винегрет из разных других... либо в рабочую область влазят лишние скроллы, либо вся страничка заляпана баннерами в никак не согласованных с общей концепцией цветах и при этом - жутко мерцающих и блымкающих.
    Место работы - менять.
    Ответ написан
    Комментировать
  • Как округлить число только в большую сторону?

    @Hello1
    function up(num) {
      return Math.ceil(num/50)*50
    }
    up(21749); //21750
    up(21750); //21750
    up(21751); //21800
    Ответ написан
    Комментировать
  • Почему скачивается .htaccess?

    dzheka3d
    @dzheka3d
    Добавьте строку:
    RewriteRule ^.htaccess$ - [F]
    Ответ написан
    3 комментария
  • Кто знает, есть ли уже какие-то готовые решения (CMS) на PHP7?

    Adamos
    @Adamos
    А что, еще есть CMS на PHP (кроме Битрикса), не отрапортовавшие о готовности свежей версии работать на РНР7?
    Ответ написан
    3 комментария
  • Почему .htaccess гонит?

    alsopub
    @alsopub
    Думаю соль в рекурсии - repo/... -> repo/?name=... снова попадает под правило.
    Ответ написан
    1 комментарий
  • Как закрыть директорию admin в Kohana?

    Проверить айпи в контроллере админки и если не тот, то выдать 404. Или сделать его проверку в корневом .htaccess .
    Ответ написан
    Комментировать
  • Как закрыть директорию admin в Kohana?

    deniamnet
    @deniamnet
    New Yorker, web developer
    Думаю, что лучшим решением будет проверка айпи в самом контроллере, прямо в начале функции-хэндлера. Хардкодить айпишник не обязательно, можно это вынести в конфиг.
    Ответ написан
    3 комментария
  • Как проверить подключение JS-скрипта?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Грузим сайт в phantomjs.org или аналогах и смотрим на своем сервере, был ли к нам запрос с определенным идентификатором, который должен быть разным для каждого сайта, которому отдаем код на вставку.
    Ответ написан
    Комментировать
  • Где можно найти примеры подобного приёма?

    @mais64
    Фронтенд разработчик
    Конкретно данный сайт это тема для WordPress Privado c Themeforest. А крутые сайты можно посмотреть на awwwards.

    Вот еще небольшой список:
    dribbble.com
    codepen.io
    codrops
    Ответ написан
    Комментировать
  • Возможно ли восстановить рекпликацию?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    да, все верно понимаете.
    выбираем "хороший" сервер, с него перезаливаем "плохой", перезапускаем репликацию.
    howto
    Ответ написан
    1 комментарий
  • Спроектировать базу данных, та что бы осталась возможность делать выборки по характеристикам объекта?

    coderisimo
    @coderisimo
    Вам нужно создать

    1) таблицу объектов
    2) таблицу характеристик
    3) таблицу объект-характеристика (object_id , characteristic_id)

    таким образом вы в будущем сможете добавлять новые характеристики и делать выборки объектов с нужными характеристиками
    Ответ написан
    2 комментария
  • MySQL slave. Отставание. Как сократить?

    Livitin
    @Livitin Автор вопроса
    с 1997 года
    Вопрос решили.
    1. По совету перлового скрипта по MySQL тюнингу произвели изменения на SLAVE.
    2. Отключили двойную проверку записи.
    Теперь отставание минимально... Вернее его вообще нет. :)
    Ответ написан
    2 комментария
  • Откуда Instagram узнал, что мой пароль был скомпрометирован на другом сайте?

    Frankenstine
    @Frankenstine
    Сисадмин
    Да лаадно.
    1) Имем где-то базу паролей с мылами.
    2) Знаем (мы же инстаграм!) алгоритм генерации хэша
    3) Генерируем хэш из слитого пароля
    4) Проверяем с хэшем в базе
    5) Если совпало - бьём тревогу.
    Ответ написан
    Комментировать
  • Как перенять объектно-ориентированное мышление?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Т.е. сложно понимаю, что "засунуть" в один объект, что в другой, что должно быть статическим методом, что приватным и тд.


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

    То есть по сути наше приложение - один объект. У него внутри вообще все. У этого объекта есть один метод - обработай запрос. Когда внешний мир его вызывает, меняются значения каких-то переменных, вызываются какие-то внутренние "приватные" для внешнего мира функции, и делается работа.

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

    И главное, у каждого объекта есть своя область ответственности. UNIX way. Каждый объект делает что-то одно и делает это хорошо. Бывает так что ну... нужно сделать так что бы один объект делал две вещи. НЕ вопрос, мы можем его попросить сделать что-то сложное, а он будет как хороший менеджер тупо делегировать работу другим объектом. То есть он и сложную штуку сделает, и сам не будет знать как она делается.

    А все безхозные функции, которые не пренадлежат никаким объектам (например функции порождающие объекты) можно вынести в статические методы. Главное что бы статичесих переменных у нас небыло (ибо это те же глобальные переменные). И поменьше публичного ибо черт его знает что эти разработчики будут использовать. Причем "те разработчики" это вы завтра.

    Вообщем писав всё время на процедурке, сложно перейти на ооп.


    Просто не думайте что это что-то "принципиально другое". Это та же самая процедурка, просто благодаря классам и объектам, вы можете порезать систему на маленькие модули. Данные будут лежать рядом с процедурами и у вас будет больше контроля за происходящим.

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

    Подскажите, какой проект начать писать (гостевая, блог), или может начать изучать фреймворк.


    Фреймворки универсальны, а значит чистого ООП там быть не может. Во всяком случае нет ни одного фреймворка на котором стоит учиться ООП.

    Есть хорошие упражнения на развитие понимания объектно-ориентированного проектирования. Например вот: https://habrahabr.ru/post/206802/

    Сразу хочу отметить что это крайности. Упражнения же. Они должны ограничивать вас что бы заставлять думать и задавать правильные вопросы.

    Или может подскажите книгу/сайт где пошагово в ооп написан какой-то проект, чтобы быстрее пришло понимание.


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

    riky
    @riky
    Laravel
    это не клоакинг. окно же не автоматически раскрывается при входе на сайт.
    по вашему описанию - любой модал подходит.
    Ответ написан
    2 комментария
  • Не понимаю, что такое модульная сетка?

    @Mercury13
    Программист на «си с крестами» и не только
    Первое определение говорит о вёрстке вообще. И даже второе слишком общее. Более-менее правильное такое.

    Есть некая базовая единица измерения — модуль. Это может быть шаг строки, размер картинки или что-нибудь ещё. И все размеры на сайте выставляют исходя из нескольких таких единиц. Пошло оно из архитектуры, где модули — толщина перекрытия, высота этажа, расстояние между окнами…

    Сами направляющие невидимы. Но мы видим границы блока текста, границы картинок, начало или конец одинокой строчки. И глаз радуется, когда эти элементы выстраиваются по горизонтальным и вертикальным линиям. И не просто выстраиваются, а вдруг оказывается, что размер А равен размеру Б.

    На ватмане эти направляющие рисовали, потом стирали. На компьютере — они находятся где-то на непечатаемом слое и блоки к ним прилипают.

    Всегда следовать модульной сетке? Нет, конечно. Дизайнов разных куча. Где он академичнее, там модули; где закос под что-то неформальное — стараются модули делать там, где пишущий краской на стене действительно сделал бы две вещи одинакового размера. А иногда выровнять одно с другим — это натянуто.

    Я бы дал такие правила.
    1. Не впихивай невпихуемое. Если не получается выровнять по художественным или техническим причинам — зачем это прокрустово ложе?
    2. Не мельчи модуль. Если не видно, что размеры кратны — пропадает смысл.
    3. Модуль не обязательно один. Высота картинки и высота строки могут быть некратны, например, если нет обтекания картинок текстом.
    Ответ написан
    3 комментария
  • Отображение температуры на сайте?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    А почему get-запрос через ajax раз в пять минут со страницы считаете плохим решением?
    Ответ написан
    3 комментария