Как стать автором
Обновить
-22
0

Web-программист

Отправить сообщение

В какой момент для подобных задач перестало хватать микроконтроллера? На чём дальше начнут делать подобные изделия? Так и вижу заголовок «энтузиаст создал поилку для птиц на базе кластера серверов»

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

А браслеты всех видов появились за ещё большую тучу лет до часов. Но виноваты современные технологии. /s

Доброе пожаловать в клуб бага «мой коммент попал не в ту ветку» :)

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

Всё зависит от решаемой задачи, а не от абстрактного «Если ваш продукт работает с большим количеством данных». Big-O cheat sheet вам в помощь.

Сама статья тоже, судя по всему написана и скорректирована чат-ботом.

DTO подразумевает 2 основных аспекта: отсутствие какой либо логики и иммутабельность. В своём примере вы нарушили оба. Конвертация в JSON, как ни крути - логика, а публичные свойства по умолчанию мутабельны. Так же вы совершенно не используете современные возможности языка, напомню, что версия 7.4 больше не поддерживается c ноября прошлого года.

<?php
class UserDTO
{
    public function __construct(
        public readonly int    $id,
        public readonly string $name,
        public readonly string $email,
        public readonly string $phone,
    ) {}
}

Если используется версия php младше 8.1, то следует сделать свойства приватными, и добавить геттеры для доступа к свойствам.

Для сериализации DTO можно использовать что-то такое:

<?php
class UserDTOSerializer
{
    public function serialize(UserDTO $dto): string
    {
        return json_encode([
            'id'    => $dto->id,
            'name'  => $dto->name,
            'email' => $dto->email,
            'phone' => $dto->phone,
        ]);
    }
}

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

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

Не смотря на написанное в начале статьи вы делаете в конце особенный акцент на том, что использование DTO особенно полезно при передаче данных из php в go. Это может тоже сбить с толку начинающих программистов. DTO следует использовать везде, где необходимо передать данные из одного слоя абстракции в другой. Неплохо было бы добавить примеров и для таких случаев.

Вы на завтрак кушаете свои продукты жизнедеятельности или вражеский апельсин?

Сравнение неконкретно, как мне кажется. Или вы считаете апельсиновые деревья своими врагами?

Компания утверждает, что информация была устаревшей

Надо полагать у клиентов уже изменилась ДНК с момента «пропажи» данных?

Основная идея CMG (Content management generator) — не выполнять в Runtime то, что можно сгенерировать в виде статического PHP кода.

Что-то мне подсказывает, что .htaccess не является PHP-кодом. К тому же на apache свет клином не сошёлся. По крайней мере я в своей практике за последние 10 лет вообще ни разу с ним не встречался.

Зафиксировать уже реализованное и попытаться понять что я упустил.

Из прочитанного сложилось впечатление, что вы предлагаете писать конфиг в виде кода. А после этот код будет генерировать другой код.

В целом не понятно на кого это рассчитано. Если на пользователей CMF, то слишком много кода, который как раз прячется за привычными роутерами и DI в фреймворке. Если на пользователей CMS, то тоже слишком много кода, который в принципе надо писать, что для пользователей CMS в целом задача не тривиальная.

В обоих случаях я бы предпочёл видеть какую-то декларативную расширяемую систему (либо просто конфиг в случае с CMF, либо визуальный редактор для CMS). На основе этого конгфига уже можно было бы генерить какой-то код. Кстати, это мало чем отличается текущего положения вещей в современных фреймворках.

Так же не понятно, каким образом получилось избавиться от Reflection API при использовании сервисов.

Ещё заметил, что ваш код отдаёт статику. Но это же тоже можно на этапе роутинга в HTTP-сервере решить.

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

А в чём собственно новость? В том что спецслужбы собирают информацию, читай делают свою работу? Или в том, что IT-гиганты сотрудничают? PRISM ещё кто-то помнит, или вы думали, что после того скандала больше никто таким заниматься не будет?

PS Жду новости как условный Иван Сугробов побежит сначала в Коста-Рику, а потом в Вашингтон.

От чего же? Судя по скринам у владельца iPhone, с помощью которого он вызвал полицию и эвакуатор, а потом добился компенсации от техподдержки.

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

Скорее всего vk, как в своё время эпики, занесли бабла за эксклюзивность. Но, так как этим сервисом никто в здравом уме за бугром пользоваться не будет, эксклюзивность осталась только в СНГ. И что-то мне подсказывает, сервис уровня epic games store мы не увидим даже через 5 лет.

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

Действие игры разворачивается в средневековой новой Англии.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность