All streams
Search
Write a publication
Pull to refresh
4
0
Константин Цуканов @authoris

Программирую для души

Send message

Ботмама поддерживает и английский язык. И интегрируется не только с популярными на территории СНГ и РФ мессенджерами.

Есть интеграция и с Телеграмом, и с Ватсапом, и с Фэйсбук Мессенджером, и с Вайбером.

Выделение текста сбрасывается, если в Сафари выделять текст комментария или его часть (например чтобы скопировать). Фокус перебрасывается на заголовок комментария, выделение теряется.

Т. е. выделить текст теперь можно, только если начать «тащить» за пределами блока с текстом комментария.

В конце марта 2021 года «Ростелеком» предложил защитить биометрию россиян с помощью криптографического модуля, который будет шифровать канал связи, чтобы мошенники не могли перехватить биометрические данные.

Вот этот момент совсем не понятен, значит ли это, что сейчас данные из банков в ЕБС ходят по сети в открытом виде, даже без TLS?

Ну так вы и привели код который не будет работать.


setTimeout(myClass.sayHi.call(myClass), 0);

Вы пытаетесь undefined передать как обработчик для setTimeout.


Метод sayHi объекта myClass вызывается сразу, а потом его результат вы зачем-то передаете в setTimeout как колбэк.
Попробуйте поставить таймаут на 1000 миллисекунд, и поймете о чем я говорю.

Так у вас не получится пробросить метод в обработчик.

Да, вы правы. bind, конечно создает новую функцию с зафиксированным контекстом, но он скорее всего будет быстрей, потому что во внутренностях движка есть возможность сослаться на уже существующую в прототипе функцию.
Даже решил немного измерить в попугаях. В Хроме и Файрфоксе bind победил. В Сафари, на удивление, победил вариант со свойствами-стрелками.
Для Ноды тоже написал небольшой тест. Там bind победил вообще с огромным разрывом по скорости и чуть лучшим расходом памяти.


И опять вы правы, значение перетрется.
Но в случае с bind вместо стрелок мы все еще можем получить в наследнике исходный метод через super, а со стрелками не можем, вместо этого словим исключение TypeError: (intermediate value).какаяТоФункция is not a function


Псевдопример с обращением к super
class A {
  constructor() {
    this.hi = this.hi.bind(this);
  }

  hi() {
    console.log('A');
  }
}

class B extends A {
  constructor() {
    super();

    super.hi();
    this.hi();
  }

  hi() {
    console.log('B');
  }
}

class C {
  hi = () => {
    console.log('C');
  }
}

class D extends C {
  constructor() {
    super();

    super.hi();
    this.hi();
  }

  hi() {
    console.log('D');
  }
}

new B();
new D();

Постоянно сталкиваюсь, что кто-то использует => вместо bind.
Это прямо как болячка какая-то. И одно дело если экземпляров класса будет 1–10, а другое когда их сильно больше.

С dialog могут быть проблемы. Он не поддерживается Safari, а значит для iOS и десктопа его придется полифилить.

Я не безопасник, но уникальную соль можно получить из того что имеем.
В паспорте помимо номера есть и другие данные.


Солью может быть sha256(Последняя буква имени + Последняя буква фамилии)


Тогда итоговый хеш будет таким:
sha256(Номер паспорта + sha256(Последняя буква имени + Последняя буква фамилии))


Но я думаю самым разумным решением было бы не хранить эти данные дольше чем нужно (как и любые другие данные)


UPD: Уникальную в том смысле, что не общую соль для всех.

Кажется это был Pro XDR Display, а не новый iMac

prototype довольно удобно до сих пор использовать в фабриках классов и миксинах.


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

А MongoDB не планируете добавить?
Добавлю еще, что проверка по `instanceof` не всегда будет `true` для объектов.

Мы всегда можем создать объект без прототипа через Object.create. Так как у такого объекта не будет прототипа Object, то и логично, что instanceof не найдет его там.

const a = Object.create(null);
console.log(a instanceof Object) // false
const b = {};
console.log(b instanceof Object) // true
А можете поделиться, на базе чего поднимали приватный репозиторий?
Спасибо за перевод! Возможно пришло время создания платного пакетного репозитория с ручной проверкой пакетов, вроде AppStore, и более высоким уровнем доверия. Остается надеяться, что на его страницах оплаты или авторизации не будет сидеть ничего подобного из статьи =)
А на Botmother кто-то что-то делал? Как вам?
egrul_bot — в телеграме, бесплатный спарк для бедных. Можно и выписку скачать сразу, чтобы лишний раз сайт налоговой не открывать и капчу не вводить.
Я долгое время использую очень похожий велосипед попроще:
function createTypes(prefix, types) {
  const TYPES = {};

  types.forEach((type) => {
    TYPES[type] = prefix + type;
  });
  return TYPES;
}

const PREFIX = '@@room/';
const TYPES = createTypes(PREFIX, ['SET', 'RESET']);
const actions = {
  set(state) {
    return { type: TYPES.SET, state }
  },
  reset() {
    return { type: TYPES.RESET }
  }
}
В опросе не хватает ответа: «Такая библиотека уже есть».
Например эта

Information

Rating
Does not participate
Date of birth
Registered
Activity