Задать вопрос
  • Как оптимизировать запрос?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Зачем вам подзапрос в where? Eго на inner join заменить можно
    Ответ написан
    7 комментариев
  • Как защитить код от воровства в крупной компании?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Просто код - ничего не стоит. Ценность имеет только то, как и что он делает. Это важно понимать.
    У многих программистов дома хранятся копии проектов, в которых они участвуют, или участвовали раньше. Чаще всего их используют как набор сниппетов. Например в одном проекте был удобный класс для коллекций, в другом хорошо спроектировано несколько таблиц, в третьем - большой список исключений на любой чих и пук... Сам же проект "скомуниздить" - смысла, как правило, нет так как это не только код, это еще и целая экосистема и куча народу, которая ее обслуживает.

    Что касается передачи кода третьим лицам - это уже юридический и административный вопрос, NDA всякие и т.д.

    ИБ можно обмазываться до самого не балуйся, и это надо делать, но нужно соблюдать разумные границы.

    Знакомые как-то отзывались о проекте, где вся разработка велась на серверах в США по rdp, большинство решало задачи "на оте**сь" не потому, что вот подлецы такие, а потому, что отклик нажатия клавиши 5-15 сек. Проект закрыли через какое-то время, слишком долго, дорого и некачественно.
    Ответ написан
    Комментировать
  • Как реализовать защищенный и не отслеживаемый телефон?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Невозможность отследить местоположение

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

    Защита самого разговора

    Шифрование, для мобильных есть приложения. Многие рации умеют в шифрование.

    Простота использования

    Купить телефон, купить одноразовую симку, говорить в дороге, выбросить симку, выбросить телефон.

    Интернет через 3G модем с картой по предоплате (надеюсь нельзя установить связь между траффиком конкретного абонента и звонками через Riot?

    )) надейтесь))

    Как считаете, такая схема достаточно надежна или есть более защищенные/удобные способы?

    Защит, которые нельзя взломать не существует, от слова "совсем". Цель любой защиты - это сделать ее взлом не выгодным.
    Все зависит от кого вы защищаетесь.
    Ответ написан
    7 комментариев
  • Насколько сложно сделать С-3PO из "Star Wars"?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Boston Dynamics для создания atlas потребовалось всего 21 год. Проще простого в общем.
    Ответ написан
    1 комментарий
  • Как сделать свой DNS с блекджеком и доменами?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Пфф, легко!

    * Читаем RFC 1034, 1035, 1912, 1591, 1713, 2606
    * Придумываем концепт нового проекта
    * Составляем ТЗ
    * Нанимаем команду инженеров
    * Осознаем, что еще один DNS сервер никому не нужен и вам в том числе
    * Печалимся о впустую потраченном времени
    Ответ написан
    Комментировать
  • Как заставить php-cs-fixer не удалять нужные отступы?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    На PhpStorm у меня была аналогичная проблема, но я как-то забил на её решение и форматировал только выделенный код.

    ac543e123bac4e36b2582b9c13b0d829.png
    Ответ написан
  • Как научиться быстро и эффективно делать простые сайты на wordpress?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Как научиться быстро и эффективно делать простые сайты на wordpress?

    Купить книгу по HTML+CSS, изучить, практиковаться.
    Купить книгу по PHP, изучить, практиковаться.
    Купить книгу по WP, изучить, практиковаться.

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

    Книгу выбирают под себя:
    - заходишь в магазин, берешь любую стр. на 700+, открываешь наугад, гед-то по средине, читаешь абзац. Если вообще ничего не понятно - книга не подходит, пробуешь другую.

    Книги, онлайн-курсы, офлайн-курсы, индивидуальные обучение, видео-уроки, ресурсы, что-то другое ?

    Книги - читаешь первый раз, как художественную, цель - понять, что можешь в принципе делать и за счет каких механизмов. Заучивать не нужен. Второй раз - уже практикуешься с книгой.
    Видео уроки - как обзор, вполне ок, для обучения - хреновая затея.
    Индивидуальные обучение - если вам это нужно для изучения wp - вероятно разработка вообще не для вас.
    Ответ написан
    3 комментария
  • Как отучить php сжирать память?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    unset не очищает память, этим занимается чистильщик мусора, можете вручную запустить php.net/manual/ru/function.gc-collect-cycles.php
    Ответ написан
  • Как правильное перевести сайт на новую CMS?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Django который планирую перевести на 1С-Битрикс

    Вы пытаетесь потушить пожар смесью бензина и фекалий.

    Прошу поделиться опытом либо ссылками на материалы по переводу сайта с одной CMS на другую.

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

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

    Редиректить со старых на новые.

    Сокращение затрат на обслуживание

    Как можно экономить, заменяя бесплатное решение на платное? Учитывая, что и php-шников много и питонщиков много.

    импортозамещение

    У вас ошибка в слове "распил".
    Ответ написан
    2 комментария
  • Хостер наложил порчу на скрипт и он не отправляет почту. Колдунство?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Вполне можно для специфических урлов задать интерпретатор со своими блокируемым настройками. Вы, я так понимаю, backup.php запускаете http запросом?

    Колдунство?

    Магия перестает существовать как только вы понимаете, как это работает.
    Ответ написан
  • Как быстро разрабатывать сайты визитки и простые корпоративные сайты на wordpress на старте?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Все ли виджеты есть под простой функционал ?

    Все ли инструменты подходят под простые механизмы?

    И хватает ли такого подхода для нетребовательных заказчиков?

    Если заказчик не просто не требовательный, а ему насрать - вполне))

    Думаю начального знания html, css для данной тактики должно хватить, или я заблуждаюсь

    Да

    Как быстро разрабатывать сайты визитки и простые корпоративные сайты на wordpress?

    ТЗ -> Дизайн -> Верстка -> Программирование
    Если что-то изменить в любом из шагов - последующие придется тоже изменять
    Ответ написан
    Комментировать
  • В чем преимущества ValueObject и DTO?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Преимущество VO в том, что это значения, которые уже проверены на границы и тип. В вашем примере валидация происходит в геттере - это мягко говоря бессмысленно. Вот вам пример
    class UUID
    {
        /** @var string */
        private $value;
    
        /**
         * @param string $value
         */
        public function __construct(string $value)
        {
            if (!preg_match('/^[\da-f]{32}$/', $value)) {
                throw new \InvalidArgumentException(
                    sprintf('Argument "$value" must be correct UUID, actual value: "%s"', $value)
                );
            }
            
            $this->value = $value;
        }
    
        /**
         * @return string
         */
        public function getValue(): string
        {
            return $this->value;
        }
    }


    Дальше в коде вам достаточно делать type hinting на тип VO и все, значение будет корректным. От рефлексии, или runkit вы все равно защититься не сможете.

    -- --

    DTO - это штука, для удобного транспорта данных, между разными частями системы. Например у вас есть метод, который на вход принимает 20+ аргументов (например регистрация), вызывать такое кодло вероятно будет не удобно, но собрав dto вы можете его передать одним аргументом и рассчитывать на то, что данные переданы с правильными типами. Граничные же значения придется проверить, так как в задачу "транспорта" не входит контроль правильности данных между системами, что его используют.

    но вот внутри в тех частях логика которых фиксирована и не может меняться - вполне подходит массив ключ-значение

    Использование KV в контексте DTO/VO - дико хреновая практика, в очень редких кейсах ее использование оправдывает себя. Дело в том, что массив - это набор произвольных данных. Что бы писать надежный код - вам придется на каждом этапе делать проверку правильности этого массива. Что это за проверки?
    * все нужные ключи существуют
    * все значения по этим ключам правильных типов
    * массив не содержит левых данных

    как реализовать на php типизированую коллекцию типа как в СИ

    class MyTypedCollection implements \Countable, \IteratorAggregate, \ArrayAccess
    ...
    Ответ написан
    2 комментария
  • Есть ли разница в производительности PHP при работе с однобайтовой и мультибайтовой кодировками?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Кодировка влияет на производительность примерно так же, как форма лица на аэродинамику бегуна.
    Копайте в сторону индексов БД, очень вероятно проблема зарыта где-то там.
    Ответ написан
    3 комментария
  • Web интервейс для сетевого накопителя?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Ответ написан
    Комментировать
  • Не работает Cron?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Под тем же пользователем, на который навешен крон запустите вашу же команду руками. Если все ок - перезапустите крон, если не ок - решайте новую проблему.
    Ответ написан
    Комментировать
  • Стоит ли что-то менять?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Информация из книг, по большей части, выветрилась
    Потому, что
    за ненадобностью


    Нормально ли это, или ощущение, что я деградирую, правдиво?

    Вполне. На то, что бы выучить все - вам 10-ти жизней не хватит. Ценится - умение быстро решать поставленные задачи, даже когда с подобными не сталкивался ни разу.

    Возможно, стоит перечитать книги или взяться за новые(но зачем, если я не смогу применить знания в работе?

    Книги по конкретным технологиям, по языкам например - заново перечитывать не стоит, информация вероятнее всего там уже устарела)). По более общим "глубинным" вещам - вполне имеет смысл.

    На пет проекты нет времени, учеба+работа+3 часа на дорогу съездают все время

    Вы должны понимать, зачем делать пет проект. Это важно. Многие думают, что "вот напишу свое супер крутое решение и придет гармония в этот мир". Увы, это не так, вероятность что вы будете использовать свои же наработки на работе - довольно низкая еще и пропорционально зависит от вашего "веса" в компании.
    Ответ написан
    Комментировать
  • Как выявить нарушителя в компьютерном классе?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    В центре есть определенное количество компьютеров без пароля.

    Снизьте это количество до 0. Для каждого учащегося заводим отдельную единую учетку (можете в сторону LDAP посмотреть) + свою маленькую песочницу. На счет sql инъекций - если это сайты вашего учреждения - режьте доступы по самое не балуйся. Если же чужие - как бы и хрен с ними, не ваша задача защищать весь интернет от школоло. Логгируйте активность.

    Объявите конкурс: на обход защиты. При этом как и в реальности за раскрытие должны быть весомые плюшки, за скрытый взлом - весомые проблемы. Например:
    * белый взлом - "отлично" автоматом
    * черный взлом - "кол", без права пересдачи
    Ответ написан
    Комментировать
  • Как прикрутить модульное тестирование на старый проект?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Я бы на вашем месте сначала актуализирлвал окружение. Места с депрекейтед кодом - стоит переписать. Что касается тестов: в развиваемом проекте они постоянно переписываются, это вполне норм.
    Ответ написан
  • CRM для домашнего использования?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    gitlab
    Ответ написан
    Комментировать