Задать вопрос
  • Как подключиться к postgres - TypeOrm через Nestjs запущенной в контейнере?

    @q2digger
    никого не трогаю, починяю примус
    Почему блин к 127.0.0.1 ? Вам к базе надо - вместо адреса имя контейнера с базой и пишите.
    host: postgres11
    докер там разберется
    Ответ написан
    3 комментария
  • Как сделать проверки на наличие нужного текста?

    Seasle
    @Seasle Куратор тега JavaScript
    document.querySelectorAll('table').forEach(table => {
    	for (const body of table.tBodies) {
    		for (const row of body.rows) {
    			row.hidden = !row.cells[0].textContent.trim().toLowerCase().includes('параметр 1');
    		}
    	}
    });
    Ответ написан
    Комментировать
  • Как изменить тип Query Nest JS?

    lssssssssssl
    @lssssssssssl
    Можете сделать dto и использовать в нём @Transform для преобразования к числу

    export class ExampleDto {
      @Transform((exp) => Number(exp.value))
      @ApiProperty() // or @ApiModelPropertyOptional()
      @IsNumber()
      @IsNotEmpty() // or @IsOptional()
      exp: number;
    }
    Ответ написан
    2 комментария
  • Как тестировать NestJS?

    meowto16
    @meowto16
    Делаю штуки
    Если говорить о юнит тестах:

    Контроллеры - тестим, что отдаются верные статус-коды и дергаются нужные сервисы. Можно проверять ответ, можно проверять валидацию параметров

    Сервисы - удобнее тестить когда используется паттерн с репозиторием, а в сервисе зашивается лишь бизнес-логика без обращения к БД.
    Просто тестируем бизнес-логику зашитую в сервисе, имплементация репозитория/ORM мокается.

    Если говорить о e2e тестах:

    Можно использовать supertest. Как и в остальных языках/фреймворках - создается тестовая база, забивается различными необходимыми для теста данными (с помощью фабрик, фикстур). В тестах идет прямое обращение к эндпоинтам и сравнивается результат, будто бы мы тестили это вручную в swagger'е
    Ответ написан
    Комментировать
  • Насколько правильно записывать так?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    В большинстве случаев вы не ощутите разницы. А вот если вы работаете с огромным кол-вом элементов в выборке, разница может стать ощутимее.

    Но по существу 1й вариант лучше.

    Во 2м варианте, вы 2 раза заставляете искать элемент .parent, а в 1м варианте, кешируете результат поиска и повторно искать элемент уже не нужно. Если коротко и понятно
    Ответ написан
    Комментировать
  • Как реализовать отправку файлов через React на бэкенд?

    kirbi1996
    @kirbi1996
    Отправляешь через формату, new FormData, при этом бэкендер должен знать что там формата. А все остальные параметры добавлешь через formdata.append(name, param). Тогда будет полноценная загрузка файла в представлении blob.

    Либо же в представлении base64 но это себе же дороже выйдет.
    Ответ написан
    2 комментария
  • В каких случаях я могу использовать второй параметр в useSelector?

    Alexandroppolus
    @Alexandroppolus
    кодир
    Например, у тебя такой селектор
    const selector = (state) => {
      return {
        a: state.a,
        b: state.b,
      };
    };


    как видим, он всегда возвращает новое значение, потому что новый объект (новая ссылка).
    если селектор несколько раз подряд будет возвращать, например, {a: 1, b: 2}, то компонент, в котором вызван useSelector, будет всегда перерендериваться, так как useSelector по умолчанию сравнивает старое и новое значение по ссылке и потому считает их разными.
    вторым параметром ты можешь воткнуть функцию, которая умеет сравнить объекты более "вдумчиво" и признать их одинаковыми, даже если ссылки разные:
    const isEqual = (x, y) => {
      return x === y || (x.a === y.a && x.b === y.b);
    };


    за счет этого сможем экономить ререндеры.

    можно взять готовую shallowEqual из 'react-redux', если только поверхностное сравнение, или использовать глубокое сравнение, или что-то ещё.
    Ответ написан
    2 комментария
  • Ошибка при отправке данных на сервер?

    @gsaw
    Почитайте тут
    https://ru.reactjs.org/docs/hooks-rules.html#only-...

    Нельзя вызывать хуки из обычных javascript функций

    https://ru.reactjs.org/docs/hooks-custom.html
    https://ru.reactjs.org/docs/hooks-rules.html

    Я как раз разбирался с ними.
    Ответ написан
    Комментировать
  • Как использовать useStore, useSelector, useDispatch hook?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    1. useDispatch - получение функции store.dispatch в компоненте. Раньше для вызова action функциональный компонент приходилось оборачивать в вызов connect:
    const Foo = ({ dispatch }) => {
      const handler = useCallback(() => {
        dispatch(action());
      }, []);
    
      return (
        <Bar onClick={handler} />
      );
    };
    
    export default connect()(Foo);


    Сейчас:
    const Foo = () => {
      const dispatch = useDispatch();
    
      const handler = useCallback(() => {
        dispatch(action());
      }, []);
    
      return (
        <Bar onClick={handler} />
      );
    };
    
    export default Foo;


    2. useSelector - маппинг значения из store.
    Раньше:
    const Foo = ({ value }) => {
      return (
        <Bar value={value} />
      );
    };
    
    const mapStateToProps = state => ({
      value: state.value,
    });
    
    export default connect(mapStateToProps)(Foo);


    const Foo = () => {
      const value = useSelector(state => state.value);
    
      return (
        <Bar value={value} />
      );
    };
    
    export default Foo;


    3. useStore - получение store целиком:
    const valueSelector = state => state.value;
    
    const Foo = () => {
      const { dispatch, getState, subscribe } = useStore();
      const value = valueSelector(getState());
      
      useEffect(() => subscribe(console.log), []);
    
      const handler = useCallback(() => {
        dispatch(action());
      }, []);
    
      return (
        <Bar onClick={handler} value={value} />
      );
    };
    
    export default Foo;

    Вряд ли useStore вам, действительно, понадобится на практике.
    Ответ написан
    Комментировать
  • Переехать в Москву и устроиться джуниором. Сколько стоит?

    @iliyaisd
    Полгода назад приехал в Мск, жил 3 недели в самом дешёвом хостеле (в общей сложности 3 недели, обошлось в ~5 тыр, месяц в хостеле общаге можно купить за 8-10 тыр), это время слегка фрилансил, потом устроился на работу. Я правда не джуниор.
    В общем, если знания какие-то есть, и голова соображает, то тыщ 20-30 на старте в Мск выбить сможете железно. Правда, жить на 10-20 тысяч сейчас придётся здорово экономить, но реально. Вопрос, нужно ли вам это? По-моему дешевле обучиться годик-другой дома, найти хорошую, годную удалёнку, делать проекты, изучать технологии. После этого вас в столице оторвут с руками и ногами на нормальной ЗП.
    Ответ написан
    3 комментария
  • По какой причине может не применяться скачанный локальный шрифт?

    UnluckySerivelha
    @UnluckySerivelha
    1) ошибка в пути, можно проверить в консоли
    2) проверяете на кириллице, а её в шрифте нет, можно проверить на латинских буквах
    Ответ написан
    2 комментария