Как стать автором
Обновить
16
Карма
0.3
Рейтинг

NodeJS и финтех

Обновлённый прототип Tesla Cybertruck заметили на дороге общего пользования в Калифорнии

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

Экс-сотрудник Twitter под присягой заявил, что платформа позволяет в режиме GodMode публиковать твиты под любой учёткой

Я такой разрабатывал, только он больше на Дзен был похож... в том числе в итоге и контентом, много мусора было, хотя попадалось и годное, приятно было читать. Но много и мусора. А потом инвесторы захотели сделать из этого соцсеть и так как о ней никто не слышал - думаю вы понимаете чем закончилось. Но вообще можно было бы расчехлить наработки именно блога, OpenSource так то. И да - там в истории не поменяешь, блокчейн всё помнит. А из-за dPoS консенсуса хранение и обработка не стоили каких-то огромных денег.

«Альфа-Банк» из-за большого спроса на стикеры для бесконтактной оплаты выпустит 50 тыс. штук бесплатно

Можно перефразировать как-нибудь так:

Какой «ютуб», просто хостинг видео с рекомендациями, просто выпущенный в виде сайта, который делает просмотр видео более удобным и всё.

Как было сказано в одном фильме про музыку - «Вот за это нам и платят деньги» (с)

Разработчики из Tapbots попрощались с проектом Tweetbot

Всё что делает Маск - всё к лучшему.

Весной в правилах дорожного движения России впервые появится статус водителя электросамоката

Вообще зависимость от веса бы, а то школьник в 40 кило и солидный дядя в 120 это разная динамика, но мощность 250 всего. Я несколько лет назад катался с 2400 ватт и брал под себя и свой солидный вес. Понятно что там не 25 км/ч было, но и 250 ватт это как-то совсем мало, почти в 10 раз меньше. В горку на таком не каждый заедет.

Из полутысячи наблюдений НЛО в США несколько сотен остаются необъяснёнными

Помню был я когда-то юн и было это очень давно. Но телефоны с камерой в 1.3 мегапикселя уже встречались. И поехал я как-то с суровыми мужиками на рыбалку. Река, чуть тумана. Палаточный лагерь, шашлыки, уха из пойманной рыбы. И конечно же алкоголь. И один из участников действа начал делать фото. Того, сего, классические фото с руками на плечах друг у друга, удочки, рыба, пейзажи. Начал он фото смотреть… а там призраки! Духи какие-то летают! Показывает другим мужикам - ну правда духи! Вот же они, прямо на фото. И на разных фото есть. И камера не заляпана, чертовщина какая-то! Ну и я посмотрел на фото тоже. И правда духи, заснятые в движении, без фокуса, 1.3 мегапикселя. Комарами называются.

Почти свободное падение: продажи ПК и ноутбуков снижаются гораздо быстрее прогнозов аналитиков

И заряжать раз в 2 дня, не смотря на то что там локально бигдата крутится и гигабайты пр сети летят. И экран хороший, при этом без зависимости когда чем лучше экран тем меньше держится заряд и т.п. В общем устройство для того чтобы хорошо работу работать. Можно и на устройстве попроще и подешевле. Но хорошо когда есть выбор и возможность замерить эффективность.

Прекращайте оправдываться

А зачем вам точная детализация какой метод чего вызывает для комментирования на Хабре? Как бы вы это сейчас использовали если бы было? Концепт чего и как описан, примеры есть, кейсы разобраны, а такие детали - похоже на желание таки найти хоть какой изъян и сказать «я же говорил документации нет!» :)

Прекращайте оправдываться

Информацию о типах предоставляет тайпскрипт с аннотированной документацией кода, IDE подскажет что как. Отдельно лежащей api doc для всех пакетов и методов нет, но так даже и лучше - IDE отобразит прямо фактические данные. А вот если вместо IDE текстовый редактор… за легкость придется заплатить ручным поиском.

Прекращайте оправдываться

В Getting started про то как микросервис создать, а дальше как подключиться. Возможно, кому-то было бы удобнее изложение наоборот, но так тоже вариант - создал, подключился, логика в этом есть.

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

Главное не перестараться и помнить что основной поток в JS один и можно заблокировать обработку если у вас агрегаторы какие-либо появятся и прочее подобное. Можно конечно потоков наспавнить, завезли некоторое, но по классике делают микросервисы для этого.

Прекращайте оправдываться

А ведь ответ на ваш вопрос есть по вашей ссылке, посмотрите этот раздел - https://docs.nestjs.com/microservices/basics#client

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

Прекращайте оправдываться

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

Власти Нью-Йорка запретили использовать ChatGPT в школах

Запрещают шпаргалки на экзаменах, ух злодеи, сжечь их.

Ты же просто робот, имитация жизни

Были такие медицинские наблюдения, за людьми, у которых часть мозга что отвечала за органы чувств была отделена от общей части с разумом. Либо часть, ответственная за чувства была повреждена, удалена или что-то подобное случилос. Так вот интересные наблюдения были - им говорили что как бы вот что, вы не можете теперь видеть и т.п. Но пациенты отвечали что вы всё врёте, это вы выключили свет, всё не правда. И они никак не могли поверить, полностью игнорировали все доводы, ведь они чувствовали что просто света нет. Потому что внутренний опрос зрения говорил что мол пусто всё, участок мозга просто биологически молчал. Я могу не помнить точные термины, но мораль такая что ChatGPT может стать частью настоящего полноценного ИИ, отделом мозга, просто надо подсоединить нейросеть или нечто, что сумеет в физические объекты и планы и действия относительно реального мира и чуть доучить до взаимодействия, а не просто по описаниям текста. Выше был пример про Васю, который в карман телефон положил и потом несколько действий сделал и мол где телефон то. Для этого надо чтобы система умела в физический мир и его мироощущение. Возможно его завезут в версии 4?

Как алгоритм 1972 года спас наш проект и при чем тут Тарьян?

В такой задаче можно хранить флаг что был подписан второй раз, а кейс с пропуском Статус2 проверять по наличию подписи, ведь мы её храним. Кстати, в этом случае и историю переходов можно не хранить, если этого в бизнес-логике не требуется. Оно всё это ещё и быстрее работать будет, даже если храним таки историю - никаких хождений по графам, читаем данные из колонки в базе, причем в момент выгрузки документа, потому что явно обработка статуса предполагает выгрузку каких-то данных о документе. Заодно аналитикам удобно будет и прочей логике если понадобится - один запрос в базу без рекурсий и мы получили все документы, которые подписаны были дважды. Или только единожды. Быстро и эффективно. Опыт энтерпрайза.

Scratch — это уже не игрушки

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

«Настоящий» Low-Code: деградация программирования, или назад в будущее?

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

Мощь декораторов TypeScript на живых примерах. Декорирование методов класса

Ну, неудачный это эксперимент или нет, но это удобно, это работает, на этом множество фреймворков построено и кода написано. На столько что где-то это корпоративный легаси уже. И фатальных недостатков так то нет. Кроме того что обогнало оригинальный JS на несколько лет и теперь придется чуть поиграть с транспилерами.

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

Мощь декораторов TypeScript на живых примерах. Декорирование методов класса

А ещё можно эти столбики декораторов сжимать, если там повторяющиеся общие паттерны действий у методов.

Например такой код:

    @GetArrayWithCache('symbol/:id')
    @InfluxTimeLog()
    async getSymbol(@Headers() headers: object, @Param('id') id: string): TProxyItem {
        return this.symbolsService.getById(id);
    }

может иметь такой вот составной декоратор

export function GetArrayWithCache(path: string) {
    return applyDecorators(
        Get(path),
        ApiOkResponse(ARRAY_RESPONSE_DOC),
        ApiOperation(ARRAY_CACHE_DOC),
        CheckNotFound(),
    );
}

где applyDecorators это функция-склеиватель

export function applyDecorators(
  ...decorators: Array<ClassDecorator | MethodDecorator | PropertyDecorator>
) {
    return <TFunction extends Function, Y>(
      target: TFunction | object,
      propertyKey?: string | symbol,
      descriptor?: TypedPropertyDescriptor<Y>,
    ) => {
        for (const decorator of decorators) {
            if (target instanceof Function && !descriptor) {
                (decorator as ClassDecorator)(target);
                continue;
            }
            (decorator as MethodDecorator | PropertyDecorator)(
                target,
                propertyKey,
                descriptor,
            );
        }
    };
}

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

А ещё декораторами можно описывать апи и в итоге вместо писанины ручной валидации или конфигов или каких-либо других хитросплетений - мы можем просто сделать так

export class AccountListArgs {
    @Property({
        enum: EFieldsSortingAccounts,
        description: 'orderBy',
    })
    @IsOptional()
    @IsEnum(EFieldsSortingAccounts)
    orderBy?: EFieldsSortingAccounts = EFieldsSortingAccounts.ID;
}

и, натравив туда пакеты class-transformer и class-validator с ходу отвалидировать на тип, енум, не обязательность наличия и ещё сверху сгенерировать swagger-схему и на лету её показать на отдельном урле с документацией.

В общем, если вы ещё не используете декораторы - время пришло.

Информация

В рейтинге
1 643-й
Зарегистрирован
Активность