Обновить
-1
0

Программист

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

Прекрасный текст. Нефиг push-уведомления с секретами рассылать направо-налево. Прекрасно, что МерзавецЦентр решил положить этому конец.

Стихи оно вообще не генерирует

Типичное нытьё зумера-неосилятора. Аж захотелось поработать.

Капец калабуховскому дому

Попробуйте n8n — это селф-хостед решение, полностью бесплатное.

но по очереди

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

Шутки ради решил проверить ваш вариант без аллокаций массивов, получилось вот что:

function *getEntries<T, U>(arr: T[], getKey: (x: T) => string, getValue: (x: T) => U) {
    const pair = [];
    for (let x of arr) {
      pair[0] = getKey(x);
      pair[1] = getValue(x);
      yield pair;
    }
}

function objectify<T, U>(arr: T[], getKey: (x: T) => string, getValue: (x: T) => U) {
    return Object.fromEntries(getEntries(arr, getKey, getValue))
}

Там простого map-а с головой хватит:

const listify = <TVal, KRes>(
  obj: Record<string, TVal>,
  // функция-преобразователь
  toItem: (key: string, val: TVal) => KRes
) => {
  return Object.entries(obj).map((entry) =>
    toItem(entry[0], entry[1])
  );
};

Попутно, почему я заменил TKey на string. С Symbol в качестве ключа Object.entries не работает. Числовые ключи всё равно преобразует в строки.

Ваш вариант тоже аллоцирует n массивов из 2 элементов. Да, они не собираются в один большой массив благодаря использованию гератора. Но сами порождаемые генератором значения [getKey(x), getValue(x)] тоже расходуют память.

Предлагаю по старинке:

function objectify<T, U>(
  arr: T[],
  getKey: (x: T) => string,
  getValue: (x: T) => U
) {
  const res:{ [k: string]: U } = {};

  for (const x of arr) {
    res[getKey(x)] = getValue(x);
  }

  return res;
}

А сейчас, когда вы это пишете, никаких тревожных звоночков не ощущаете?

Ключевое слово private было бы намного читабельнее.

Декларативный стиль хорош для салатов, где процессы легко параллелятся и нет большого количества состояний. А получится ли, например, формализировать борщ без императивщины?

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

Да господи, зачем вообще человеку одноклассники? Согнанные в кучу против воли люди без общих интересов.

Поступит в вуз, или на профессиональные курсы, там найдёт мотивированных единомышленников.

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

Ни одного их выпуска не пропускаю.

Правильно. Скажет «плоская», значит плоская.

Историк со взломами 20 века оказался бы при этом полезнее всех.

Ладно, Википедия фигня, убедили. Предоставлю слово вашей организации.

https://www.youtube.com/watch?v=8Wj3c4ASfBg


Для тех, кто в танке: вот это та самая АллатРа ТВ, адепты которой сейчас массово вербуют людей через LinkedIn, а теперь уже и через Хабр. И это тот же самый Youtube-канал, на котором выложено видео про "глобальный кризис" в посте.

Тут прекрасно всё: анунаки, мировое правительство, рептилоиды. Наслаждайтесь. Осторожно, зашкаливающая "духовность".

Я просто оставлю здесь ссылку на организацию, к которой, судя по авторству видеоролика, принадлежит Виктор и его "друзья".

https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%BB%D0%B0%D1%82%D0%A0%D0%B0

Для понимания полноты контекста, так сказать.

По-настоящему секьюрная интеграция с платёжной системой ни в коем случае не должна отдавать клиентскому JavaScript-у номер кредитки и CVV. Вместо этого инпуты — это на самом деле маленькие IFRAMы с инпутами, а клиентскому коду магазина отдаётся не номер кредитки и прочая конфиденциальная информация, а токен, сформированный платёжной системой.

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

Это называется PCI compliance.
1

Информация

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