• Совет: Python Intermediate Developer?

    Решайте задачи в новых областях с новыми инструментами.
    Ответ написан
    Комментировать
  • Как IT компании находят нишу в enterprise-разработке?

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

    Но есть и процессы потери каких-то знаний, связанные с потерей или приходом людей.
    Ответ написан
    Комментировать
  • Как мигрировать с php 5.4 на php 7?

    Включаем php 7.x.
    Включаем логирование (судя по вопросу).
    Пока не работает:
    Проверяем где поломалось.
    Определяем количество подобного кода, который сломался.
    Правим.
    Ответ написан
    Комментировать
  • Не могу понять для чего нужны Entities в ООП PHP, Yii?

    Entities - то что уникально в системе. Уникальность фиксируется в большинстве случаев идентификатором.
    Может в системе быть два Иванова Ивана Ивановича. Если это два уникальных человека, то у каждого свой уникальный идентификатор.

    В противовес возможны велью обджекст. Они не уникальны в плане идентификации, так как нам не нужно её учитывать. Мы храним их как значения. Два разных энтити могут иметь один и тот же по значению велью обджект, например, имя со значением "Иван".

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

    Иногда в системе может быть требование что бы определённые энтити различались по какому-либо велью их обджект, а не только связанному энтити и идентификатору.
    Ответ написан
    Комментировать
  • Как правильно отсортировать выборку из базы php mysql?

    Сделать выборку с группировкой для сортировки (количество кого-то по городам).
    Сортировать основную выборку с учетом выборки с группировкой.
    Как это объединить в один запрос не буду сейчас разбираться.
    Как вариант, возможна сортировка и после выборки уже в программном коде.
    Ответ написан
    Комментировать
  • Как реализовать логику работы нескольких модераторов в новостном разделе сайта?

    Разбрасывать посты по модерам рандомно. Модераторы видят только свои посты.

    Дать возможность отказа от модерации поста. Возврат поста в общий пул с переадресацией другому модератору с меньшим числом постов. Сдесь есть возможность, что посты будут гулять между модераторами по кругу.

    Создать возврат авто переадресации поста, если модератор его не открывал, после определенного времени. Это как предыдущее но без воли модератора.

    Дать возможность создания тикита поста по постам модерированым другим модератором.
    И прочие усложнения.

    При этом всём можно получить статистику об активности модераторов.
    Ответ написан
    Комментировать
  • Как сделать повторный POST запрос requests если нет ответа?

    Может нужно всё же изучить API, а не слать что попало или не превышать число запросов?
    Кстати, с пустым ответом ещё хорошо, а вот Битрикс24 API на не перевариваемый ей фильтр может слать все значения.
    Ответ написан
    Комментировать
  • Пожалуйста оцените мое убогое ООП?

    Тут "куча" независимых задач:
    1. Чтение файла (лога) построчно.
    2. Разбор строки по правилам.
    3. Сохранение результата разбора строки в каком-то промежуточном виде.
    4. Сохранение в нужном текстовом формате.
    5. Сохранение текста в файл.
    6. Сборка всех задач в один простой алгоритм.
    Все их лучше решить отдельно.
    Ответ написан
    Комментировать
  • Чем опытнее разработчик, тем меньше соблюдается принцип KISS?

    Как раз молодые разработчики усложняют (они чаще плодят сущности, подражая, а не думая).
    А вот специалисты с опытом упрощают. У упрощения два основных подхода:
    1. Не делать того, что не требуется.
    2. Разделять и властвовать над тем, что требуется. Правильно разделяя - мы упрощаем.

    Что касается репозиториев. Объекты бизнес логики не должны знать где и как они хранятся, как извлекаются и сохраняются. Тогда бизнес логику легко написать и протестировать. Так же легко мы можем протестировать отдельно извлечение или сохранение объектов. Что ведёт к лёгкой смене хранилища. И при этом нет стандарта на репозитории и их интерфейс. Он может быть минимальным и добавляться на основе востребованности. Не нужно сразу писать интерфейс на все случаи жизни.

    Порой случается, что бизнес логика простая. Взять объект из одного места и положить слегка изменив в другое. Вся сложность будет не в бизнес логике, а вокруг неё. С репозиториями. Один репозиторий реализует только извлечение в общий вид объекта, а второй только размещение в хранилище. И мы знаем, что если изменится API для какого-то из хранилищ, то изменения придётся вносить только для него. Мы разбили и скорее написали больше кода, но зная, что один API сырой или быстро изменяется, мы защитили себя от сложности внесения изменений.
    Ответ написан
    Комментировать
  • Как реализовать BBCode?

    В том и идея BBCode, что текст хранится и редактируется с ними, а отображается с html тегами.
    По этому можно создать функцию хэлпер для преобразования.
    Ответ написан
    Комментировать
  • Как изучить ООП на Python?

    Синтаксис для ООП описан практически во всех современных учебниках по python.
    В начале изучаем его. Как написать класс. Как создать экземпляр объекта и взаимодействовать с его атрибутами и методами. Привыкаем к self.

    Далее более осознано применяем библиотеки, использующие ООП, и изучаем SOLID.

    Потом всю оставшуюся жизнь учимся писать свои классы, создавая годные абстракции предметных областей.
    Ответ написан
    Комментировать
  • Как правильно обратиться к БД оператором INSERT INTO?

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

    И помните. Книга не причём. Код в ваших руках. Вы с ним работаете.
    Ответ написан
    2 комментария
  • Как открывать веб страницу только на определенных девайсах?

    Привязаться как-то к железу (запрашивать через js или создать свой клиент), но всегда это можно подделать.
    Всё зависит от навыков желающего получить доступ.
    Ответ написан
    Комментировать
  • Как работает COPY в DOCKERFILE?

    COPY readme.txt /usr/src/test

    readme.txt - файл в текущей папке вместе с Dockerfile
    Ответ написан
    Комментировать
  • DOCKER -как создать папку?

    RUN mkdir /run/mysqld
    Ответ написан
    Комментировать
  • Какие типовые задачи решаются через middleware django?

    В миделвея выполняется то, что нужно выполнить для нескольких роутов. Таким образом мы избавляемся от дублирования кода.
    Ответ написан
    Комментировать
  • Как извлечь текст из bitrix24 с помощью Python?

    В Битрикс 24 есть REST API. И с ним пофиг на чём работать. Но нужна знать то, на чём работаешь.
    Авторизуемся.
    Делаем запросы на получение сделок.
    Делаем то что нам нужно со сделками.
    Ответ написан
    1 комментарий
  • Почему то docker не мапит каталоги в Windows 7?

    Если работать из под докер толс (windows 7), то нужно в VirtualBox в настройках добавить общую папку отличную от C:\Users Ведь именно это и хотелось. При этом задать ей удобное имя и поставьте галочку авто подключение.
    Например, папку "C:\projects" можно именовать "c/projects" (с/ - это для понимания на каком диске).
    Всё это делается при остановленной докер машине. Другими словами, если запущена докер консоль, то:

    docker-machine stop

    А после выполнения настроек:

    docker-machine start

    Далее можно монтировать существующие папки внутри неё:

    docker run -v /c/projects/<путь до монтируемой папки>:<папка в контейнере> <имя образа>
    Ответ написан
    Комментировать
  • Как найти необходимый текст в Битрикс?

    Текст может быть и базе данных, а не каком либо файле (русификации, например).
    Ответ написан
    Комментировать
  • А почему вообше не работает запрос на удаление при условии если время отправки < текущее время > поля времени где на 2 минуты больше времени отправ?

    Настраиваем логирование. В него кладём строку запроса. Не гадаем, а просто смотрим что в запросе.
    На основе этого делаем выводы.
    Ответ написан
    Комментировать