• Как лучше организовать рабочее окружение для веб разработчика?

    DevMan
    @DevMan
    vagrant
    Ответ написан
    Комментировать
  • Дилемма повышать в должности или нет?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Убрать глупые и ненужные экзамены. Тогда всё встанет на свои места.
    Ответ написан
    5 комментариев
  • Перестал восприниматься id в CSS. Как сделать чтоб всё заработало?

    DeLaVega
    @DeLaVega
    Верстаю, фронтэндю =)
    1. НИКОГДА!! Не пишите стили на ИД, если можно этого избежать.
    2. И второе. Кривой синтаксис

    #ceni {
         background: #1C1C1C url("../images/moneti.png") 885px 25px no-repeat;
          background-size: 220px 1150px;
          width: 1150px;
          margin: 0 auto;
          overflow: hidden;
          padding: 0 0 15px 0;
    }
    Ответ написан
    34 комментария
  • Модуль лицензирования продукта?

    PHP тяжело лицензировать, однако, возможно. Только надо быть готовым, что защиту рано или поздно обойдут. Используйте ioncube. Есть версия онлайн обфускации. Не забывайте, что $_SERVER можно переопределить перед запутанным кодом, тем самым поменять, например, настоящие данные сервера.
    Ответ написан
    5 комментариев
  • Готовая админка для Laravel - расскажите пожалуйста о личном опыте использования - что выбрать и зачем?

    Среди админок каторые мне очень зашли

    1. SleepingOwlAdmin - есть много элементов и демо проект что очень помогло в разборе документации, также достаточно просто сделать как свой элемент так и полностью свою страницу

    2. Laravel Generator - не совсем админка, но мне прям очень зашло, люблю я генерацию кода через терминал делать, к примеру подход yii, где генерация через фронт мне не зашло, мож такой вариант и тебе понравиться

    3. Nova - сейчас я новые проекты делаю с этой админкой главный ее минус это цена и невозможность протестить до покупки, это долго останавливало от пользовання, но потом раздобыл на пощупать и понравилось. Лаконичность и гибкость в одном флаконе, то-есть все нормально работает с коробки, но если хочешь сделать что-то по другому это реализовать также очень легко (да и честно говоря в сети ее найти не трудно бесплатно)


    Мне прям очень не зашел Voyager админка создает в бд кучу таблиц, позволяет генерировать код с админки это не совсем мне подходит, но много народу ставили ее на 1 место до выхода nova
    А так щупал очень много админок, если что спрашивай более конкретно
    Ответ написан
  • Насколько у меня правильный код ООП php?

    @D3lphi
    Здесь плохо всё, к сожалению.

    Начнем с того, что вы неверно наследуете классы. Почему у вас класс, отвечающий за подключение к базе данных является родителем класса, работающим с заказами? Наследование применяется, если можно сказать, что что-то является чем-то. Например, разработчик является работником; компьютер является устройством и тд. Здесь же у вас вообще близко такой логике не получится следовать. Вы должны передавать хотя бы объект для работы с бд через инъекцию, например, в конструктор. В идеале, нужно использовать паттерн репозиторий для работы с базой данных.

    Класс SearchOrder у вас не только выполняет запросы, но еще и работает с данными, хранит состояние этих самых данных, фильтрует данные (strip_tags()). Непорядок. Это все нужно разделять. У вас вообще получаются какие-то богообъекты, которые умеют во все.

    Вы каждый раз повторяете строки с подготовкой запроса, биндингом параметров, отправкой запроса и тд. Не думали, что неплохо бы было написать какую-нибудь обертку и выполнять запросы как-нибудь так:
    $result = $wrapper->select("SELECT * FROM `tablename` WHERE `id` = :id", ['id' => 5]);

    ?

    Вы вызываете connect() в методах. То есть, каждый вызов этого метода будет приводить к установке нового соединения с базой данных, даже если оно уже было установлено. Соединение с базой данных это достаточно дорогостоящая операция.

    Зачем вы используете свойства, если можно обойтись обычными локальными переменными:
    $this->orderID = (int) strip_tags($orderID);
    $this->column = (string) strip_tags($column);
    $this->value = (string) strip_tags($value);

    ?

    Почему вы стриппите тэги у идентификатора? вы настолько не уверены в том, что влетает в функцию:
    strip_tags($orderID);
    ?

    Если вы не используете php 7 и, как следствие, скалярный тайпхинтинг, то должны делать проверки на тип входящего аргумента. Если что-то не так с типом, бросаем исключение (А не приводим его к нужному)! Например:
    if (!is_string($arg)) {
        throw new InvalidArgumentTypeException('string', $arg);
    }

    Это в идеале. Вы не обязаны это делать, конечно же. Но вот такие проверки делают приложение безопаснее. Хотя, опять же, повторюсь, в 2017 нужно начинать новые проекты на php 7.1+.

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

    Кроме всего прочего, почитайте про стандарты оформления кода. Вы им не следуете.

    Вам пока рано писать такие велосипеды. Судя по всему, у вас нет опыта вообще. Посмотрите готовые решения: фреймворки, ORM, изучите их, хотя бы поверхностно разберитесь, как оно работает и уже потом пробуйте что-то сделать, исходя из полученных знаний.

    Желаю успехов!
    Ответ написан
    1 комментарий
  • Как правильнее сверстать такие элементы?

    alsolovyev
    @alsolovyev
    Ничего сложного не вижу в верстке. Запарная, но вполне реализуемая. Чего в комментариях ноет народ? Или Вам интересно 3 блока в ряд flex'ом закидать - "Ху*к-ху*к, и в продакшн"?
    Делим на три блока: светлый, текст по центру, темный блок. Текст через shapes форматируем, форму каждого блок через clip-path, svg... Позиционируем чуть-чуть(много). Получаем итог. Ну a с нижней все понятно - transparent: skew, clip-path...

    Вот хороший пример shapes - https://www.sarasoueidan.com/blog/css-shapes/
    clip-path - https://developer.mozilla.org/en-US/docs/Web/CSS/c...

    А мобильную пусть кидает макет дизайнер. Или он на полпути оставил Вас?

    ps с поддержкой надо поиграть, но тоже ничего такого....
    psps скинь макет. Ночью будет свободное время - сделаю.
    Ответ написан
    8 комментариев
  • Как оптимизировать видео, вставляемое в качестве фона?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    Уменьшите битрейт и разрешение видео.
    Переместите метаданные в начало mp4 контейнера
    Установите preload="metadata"
    htmlbook.ru/html/video/preload

    Чтобы пиксели в глаза не бросались наложите на видео сеточку из маленьких черных точек
    https://jsfiddle.net/soumyabg/wefLyrhp/
    css background dotted overlay
    Ответ написан
    5 комментариев
  • Лучший ресурс для изучения React?

    Astrohas
    @Astrohas
    Python/Django Developer
    я хоть и ненавижу ITVDn за излишнею майкрософтоманию, но курс по реакту у них отличный, да лекторша - дева с приятным голосом
    Ответ написан
    2 комментария