Andrew, оттуда же, откуда об этом знает сервис caniuse. Я отдаю ему css файл, а он мне говорит, что все свойства подходят под все браузеры, даже под IE6. Отдаю другой, а он мне говорит, что только современные браузеры, а о IE можешь забыть и перечисляет почему.
Для nodejs имеется passportjs,
этого достаточно, чтобы перестать заморачиваться авторизацией.
Если у Вас будет всего одна таблица (и та с пользователями), то от ORM можно отказаться.
А статьи по всего этому легко найти по связке PassportJS PostgreSQL.
Roman, 20 миллионов это самый большой, а так они в среднем все по 2 - 4 миллиона,
да, моя задача прочитать строчку, отфильтровать, преобразовать данные в sql запрос,
и забыть о ней. Но, как оказалось, почему-то некоторые "строчки" БД переходят на новую строчку в файле,
сохраняя при этом свою структуру разделителей. Что-то типа кривого CSV.
Моим решением было устроить проверку текущий строки на наличие разделителя,
и если он отсутствует, то сохранить текущую строчку во временную переменную и достать из неё запись при обработке следующей, и так до самого конца. Т.е. из моего примера в вопросе, строчки 1 и 2 слились во временную, а 3 останется такой какая есть.
Про решение с чтением побайтно тоже думал, но поскольку я уже встал на путь сомнения о своем решении,
то решил посоветоваться здесь, возможно есть что-то более красивое.
DanilkaEs6, также, как и в случае со статическим текстом
можно применить другой способ, более оптимальный (возможно во время рассуждения придет более оптимальная идея)
вместо создания DOM,
на основе исходной строки можно создать массив объектов с каждым символом.
тоже программно, проходясь по каждой букве исходной строки,
дальше ищите через регулярные выражения совпадения, применяете индексы и длину на массив и добавляете в объекты необходимые стили:
метод send может принимать, как одно устройство, так и массив устройств