All streams
Search
Write a publication
Pull to refresh
27
0
Николай Александров @dos

User

Send message
У нас, например, есть сканер, который собирает разную информацию. Сегодня в этом поле может быть число, завтра там строка, послезавтра там уже массив строк и т.п. То есть заранее не известно, что мы получим. При этом нам нужно обязательно хранить эту информацию, не важно какой бы она была. Понимаю, что это чисто наша спецефическая проблема, но всё же — заранее схему описать нельзя. Можно лишь попытаться подогнать пришедшие данные под допустимые схемы и сохранить их БД для последующей обработки.
Кстати, вот наверно чего не хватает всем библиотекам — это конвертирующих функций, которые исполняются после успешной валидации. В Joi они примитивны, например там в число преобразовать или в строку. Не хватает чего-нить типа такого:

convert: function (value) {
return value.toString().split('\n');
}

1) Ну да, это только JS. У вас есть php и python это круто. Раньше, когда на этих языках писал, то испытывал те же проблемы что и вы — не было нормальной библиотеки для валидации. Теперь, видимо, есть, спасибо :)
2) Можно описать в виде структуры (json), потом скомпилировать структуру в схему Joi.
3) Есть опция, которая позволяет отобразить все ошибки, а не остановится только на первой.
4) Если вы имеете ввиду, что для валидации данных необходимо использовать свою функцию, то для этого есть Joi.func
5) Можно валидировать неограниченное количество вложенных объектов.

Как альтернативу, подпадающие под все ваши вводные правила, могу порекомендовать Joi. Из плюсов — правил валидации намного больше, ну и чуть больше возможностей, например не увидел у вас, возможно ли задавать дефолтные значения переменных, если во входящий данных пусто и можно ли у вас задавать условия ветвления, если например я хочу допустить, что в одной переменной может быть строка или массив строк и соответственно задать разные правила для каждого из случаев.
Какой в среднем уровень ЗП на руки у довольно хорошего full stack web разработчика?
Так в текущих новых прошках уже ничего не апгрейдится.
Вот на днях на всем известном сайте искал б/у прошку 15" с расчетом на замену hdd->ssd и оперативку до 16. Так вот в текущих реалиях, купить старую прошку + новый ssd и два модуля по 8GB по совокупной стоимости равняется цене б/у ретины 15".
Да все нормально — дорогу с тоннелями представить можно, а представить то, что поезда уже «летают» как-то сложно.
Да, понятно, что эта дорога по факту получилась довольно сложной, этого никто и не отрицает. Но есть какое-то чувство не справедливости, когда читаешь новости о том, что где-то там поезда уже ездят со скоростью 590 км/ч, а у нас отменяют электрички.
Извините, но никто тут не ругает коррупцию.
Проблемы — отсутствие инфраструктуры и высокая стоимость создания колеи

Ради интереса погуглил и нашел, что JR Maglev стоит 136 млн. долл за 1 км. Так то не очень дорого, если сравнить с дорогой «Адлер — Красная поляна», которая обошлась почти в 200 млн. долл за 1 км… ;)
Это открытый хват. Возможно, чтобы снять нагрузку с предплечья.
Это если вы деньги храните в одном банке. Мне вот нужно вести учет по трем банкам, по десятку депозитов, как рублевых, так и валютных.
у третьего — забавный глюк с записью размера транзакции по значению на момент блокировки средств, а учёт по размеру на момент клиринга (при оплате в валюте, отличной от валюты счёта).

Такой же штукой страдает Авангард. Бывает оплачиваешь хостинг, на счете блокируется одна сумма, а потом, когда, например, курс подрастет, они проводят её по другой сумме и плюс добавляют комисию за «За осуществление трансграничной операции».

Как и автор, тоже пользуюсь ZenMoney — удобней их ничего не видел еще. Жаль будет, если они закроются.
А почему бы не хранить теги не в виде массива строка, а в ввиде массива объектов? Вот например так это описывается в модели Mongoose:

var postSchema = new Schema({
  ...
  tags: [new Schema({
    id: {type: Schema.Types.ObjectId, ref: 'Tags'},
    name: String
  })]
  ...
});


Тогда при вставке поста будет проверяться наличие тега в коллекции Tags и если он присутствует, то в id будет подтягиваться ObjectId из коллекции Tags и если нужно будет изменить имя тега, то в коллекции Tags должен быть хук, который после обновления поля name обновляет в других коллекциях это же поле.
А какой из этих сервисов позволяет совершать групповые видеозвонки с возможностью демонстрации экрана? Иногда быстрее продемонстрировать проблему и обсудить её быстро голосом, чем копипастить скриншоты и писать текст.
А проблема со вставкой картинок решаема или здесь есть какой-то нюанс?
Пожертвования принимаются тут: donate.wikimedia.ru/campaign/main

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity