All streams
Search
Write a publication
Pull to refresh
40
0.1
Егор @YegorP

User

Send message

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

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

О да, я бы не просто заныл... Я бы даже завыл увидев как "with? name" повторяется семь раз по двум файлам ради одного поля.

// dto/fields/with-name.dto.ts
import { IsString, Length } from 'class-validator';

export function WithName<T extends new (...args: any[]) => any>(Base: T) {
    abstract class WithName extends Base {
        @IsString()
        @Length(2, 50)
        name: string;
    }
    return WithName;
}

// dto/create-user.dto.ts
import { WithName } from './fields/with-name.dto';

export class CreateUserDto extends WithName(class {}) {}

вместо

import { IsString, Length } from 'class-validator';

export class CreateUserDto {
    @IsString()
    @Length(2, 50)
    name: string;
}

Кастомные рулы линтера и прочий суперклей применимы к традиционному подходу тоже.

Ну не знаааю. Это какой-то нечитаемый DRY obsession.

export class CreateUserDto extends WithName(WithEmail(WithPassword(class {}))) {}

  • WithName означает присутствие name или, например, firstName + lastName (для краткости)?

  • Когда полей будет с десяток, получится LISPообразная вязанка. Разобрать её визуально будет сложно.

  • У класса из N полей N+2 закрывающих скобок почти подряд. Обычно - одна.

  • DRY номинально есть, но по факту копипаст тот ещё.

  • Нормальная идиоматичная для TS композиция покинула чат.

  • Ctrl+Click будет перекидывать в какое-то изолированное объявление поля (файл with-x). Find all references тоже вряд ли выдаст все неабстрактные классы с этим полем.

Может, просто декораторы композировать? Ну там IsPassword сделать какой-нибудь, если Nest это поймёт.

Пока можно пересадить - надо пересадить. Если бы МС так не делала, то поминали бы её сейчас как почившую по Windows XP. Или по 95. Или по DOS.

Интересно. Но вряд ли применимо к ситуации когда отсканированная подпись директора вставляется в документ левым чуваком по указанию ещё какого-то сотрудника. Практически без ведома директора. Тут и что-нибудь уголовное накопать можно при желании.

Вид четвёртый: вставить рукописную подпись в .docx и назвать это электронной подписью. На серьёзных щах причём.

Прям лично сталкивался с этим в свои эникейские годы. Самое забавное, что всех всё устраивало. Кроме меня разве что, но я слишком не выпендривался.

При оформлении заказа некорректно применялся промокод «ВЕСНА2025». Завели баг, разработчик нашел проблему, пофиксил, выкатил фикс — промокод заработал, все довольны.

Сделал фикс и не покрыл тестом, потому что тестов не было.

Через час прилетает сообщение из бухгалтерии: в новых заказах несоответствие между ценой на товар и оплаченной суммой. Параллельно в CRM — неверно рассчиталась скидка.

Ибо тестов на это тоже не было.

Идем к разработчику — он обнаруживает странный «костыль» в логике, влияющий на работу промокодов, и убирает его. Промокоды «восстановлены», но вместе с этим ломается расчет стоимости с учетом скидок — потому что вся логика «держалась» на этом самом костыле.

Стопудово нигде не было ни одного юнит-теста.

Всё снова повторится в ближайшие пару лет.

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

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

Во-во. И при объезде внезапным открытием двери тебя отправят под колёса ближайшей машины.

А кто сказал, что тест будет написан только ради этой строчки? Просто она будет покрыта как минимум одним тестом, который проверяет некоторое поведение, частью которого является этот вызов.

приравнять самокат к велосипеду и обязать ездить по дороге

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

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

Ценность примитивных типов - в простой сериализации. Есть вариант не городить обёрточные классы, а просто покрыть код юнит-тестами нормально. Тогда и перепутать process(userId, itemId) с process(itemId, userId) не получится. Тестами вообще многие пробелы в типизации закрыть можно.

Если компания сталкивается с трудностями при работе с VPN, нужно обратиться в Роскомнадзор <...> Роскомнадзор проверит информацию и внесёт IP-адреса компании в «белый список»

Враньё. Я обращался пару недель назад с просьбой перестать блокировать доступ к моему личному прокси. Сценарий использования абсолютно легитимный - подключаться к рабочим ресурсам с заранее известного IP + эпизодический обход внешних (антироссийских) блокировок для чтения документации. Все данные укзаал. Вот сегодня ответ пришёл:

Эта штука нужна чтобы меньше платить водителям. Ну, или страдающим от их действий. Так?

Ехать в городе быстрее 60 экономически бессмысленно. Ехать по трассе длительно 110 вместо 90 смысл есть, но вряд ли такое допустят в ближайшее время. Лишние скандалы и суды в случае ДТП того не стоят.

Стандарты или протоколы во всем мире разрабатываются людьми чисто научного толка

Нет.

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

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

"Зафиксировал" в смысле чтоб не наладилось?

Деньги никогда не сделают вас счастливым. Только надо понимать, что отсутствие денег сделает вас несчастным.

Тут что-то не клеится. Если я был счастлив, а потом у меня не стало денег, то разве не могут деньги вернуть мне счастье?

А ещё заработок айтишника не зависит от машины. Ну поездит на ОТ/такси/пешком пока тачку чинят, и всё.

Information

Rating
3,097-th
Registered
Activity

Specialization

Backend Developer
Lead
From 500,000 ₽
Node.js
.NET