Anonymous
function insertname(name)
{
var query = connection.query('INSERT INTO Spisok (name) VALUES ('+name+')', function(err, result) {
console.log(err);
console.log(result);
});
}
bot.insertname('message', function(msg) {
var name = msg.text;}
Славик
вангую траблу с экранированием
Anonymous
function insertname(name)
{
var query = connection.query('INSERT INTO Spisok (name) VALUES ('+name+')', );
}
bot.insertname('message', function(msg) {
var name = msg.text;}
Anonymous
а если без экранирования?
Yuriy
Рекомендую глянуть google://SQL sanitizing, а то встреча с Little Bobby Tables неизбежна :)
Anonymous
У меня самый примитивный вариант, mssql
Anonymous
на PHPmyAdmin
Anonymous
.
Anonymous
Anonymous
Сюда пытаюсь засунуть данные
Славик
Vitaliy
У меня самый примитивный вариант, mssql
Отлично! У драйверов для вашей БД тоже есть способ передачи параметров вторым аргументом. Драйвер сам возьмёт их и заэкранирует, просто посмотрите документацию. Это важно
Anonymous
Всем привет .как оптимальней написать для компилятора ?нужно разбить строку и при этом учитывать пробелы табы и переносы строк,то есть в дереве храниться все
Anonymous
Славик
Anonymous
Славик
0_о
Славик
как бы я спросил, как разбить строку нужно
Славик
получить только слова?
Славик
или получить только массив строк, разделенных переносом?
Ohar
Господа, у меня API генерит XLSX-файлы
Из-за расчудесного Safari (который не умеет на клиенте создавать файлы с заданным именем) я вынужден делать это на сервере.
API называется, допустим table
Алгоритм примерно такой
1. Пользователь кликает на ссылку, в которой уже прописаны GET-параметры для генерации и стоит target="blank". Ссылка выглядит, допустим, так: example.com/api/table?param1=42.
2. API принимает GET-запрос, генерит файл и отправляет в ответ на запрос, так что для пользователя всё выглядит, будто это просто ссылка на файл. Параметры ответа примерно такие http://puu.sh/sJu6n/b5b5e17133.png
3. пользователь получает запрос на сохранение файла браузером, но он почему-то называется не VASYA.xlsx, как я указал в attachmentfilename, а table — по названию API.
Почему так?
Славик
короче, ответ: регулярные выражения
Славик
гугл в помощь
Славик
Господа, у меня API генерит XLSX-файлы
Из-за расчудесного Safari (который не умеет на клиенте создавать файлы с заданным именем) я вынужден делать это на сервере.
API называется, допустим table
Алгоритм примерно такой
1. Пользователь кликает на ссылку, в которой уже прописаны GET-параметры для генерации и стоит target="blank". Ссылка выглядит, допустим, так: example.com/api/table?param1=42.
2. API принимает GET-запрос, генерит файл и отправляет в ответ на запрос, так что для пользователя всё выглядит, будто это просто ссылка на файл. Параметры ответа примерно такие http://puu.sh/sJu6n/b5b5e17133.png
3. пользователь получает запрос на сохранение файла браузером, но он почему-то называется не VASYA.xlsx, как я указал в attachmentfilename, а table — по названию API.
Почему так?
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition
я не вижу в примерах нигде "attachmentfilename", только вот:
Content-Disposition: attachment; filename="filename.jpg"
Anonymous
короче, ответ: регулярные выражения
Вот строка "это очередная строка =)
"
Вхождение1:"это",
Вхождение2:"пробел",
Вхождение3:"очередная",
Вхождение4:"пробел",
Вхождение5:"строка",
Вхождение6:"пробел",
Вхождение7:"пробел",
Вхождение8:"пробел",
Вхождение9:"=)",
Вхождение10:"перенос строки".
Меня интересует алгоритм разбора
Vitaliy
string.split(' ');
Vitaliy
На выходе — массив слов. А пробелы — вычленены. В исходной строке пробелов столько, сколько элементов в массиве слов минус 1.
Vitaliy
Например, строка из 2 пробелов будет разбита на массив из 3 строк нулевой длины
' '.split(' ') // ['', '', '']
Vitaliy
Yuriy
Либо регулярки, либо написать простейший конечный автомат.
Ohar
Anonymous
Ohar
Спасибо
Anonymous
Славик
уже 2 месяца последствия разгребаю
Anonymous
Eugene
Petr
Ребята можете привести следующию функцию в промисах, просто хочу посмотреть как правильно делать:
router.post("/", (req, res)=>{
let email = req.body.email;
mailer.request(email, "email.index.html", (err) => {if (err) res.sendStatus(400);
let user = new User({email: email});
user.save((err)=> { if (err) console.error(err);
console.log("success");}}})
Vlad
Vlad
у тебя у кода инденты сломались
Petr
В том то и проблема можете в промисах переписать, буду благодарен👍
Vlad
у тебя каша а не код сейчас, прости
Vlad
если хочешь автоматическое решение
Vlad
посмотри на pify
Sergey
Sergey
Sergey
по хорошему User#save тоже должен возвращать промис
Sergey
https://gist.github.com/LestaD/8e37acfd548995fbaa1d5a9f09edea86
Alex ZeroDub
как сейчас обстоят дела у ноды с postgresql ? нормально работает ?
А ВОТ ТЕПЕРЬ ПАБЛИК
@sovamist ты же вроде рубифан, подскажи в руби чате
SK
Alex ZeroDub
ранее была статья где автор сравнивал монгу и постгре при работе с нодой. отозвался что постгре не подходит под нодовскую асинхронность
Vladimir
Ерунда скорей всего
Владимир
а что именно не подходит?
SK
Дай ссылку интересно посмотреть
Alex ZeroDub
надо найти
vitshev
Ohar
vitshev
согласен
Vladimir
Возможно имеется в виду что протокол синхронный и нужен пул соединений?
Anonymous
Alex ZeroDub
Anonymous
промисы там и все такое
Anonymous
не, в проде я на php пишу 🌚
Alex ZeroDub
статью чет не могу найти. видимо надо свой бенчмарк устроить.
Anonymous
кароче смотри от задачи
Anonymous
если тебе не нужны связанные таблицы, то монга, если нужны то скл
Anonymous
чето такое читал
Alex ZeroDub
это понятно. монга гарантирует целостность только в пределах одной коллекции
Sergey
Alex ZeroDub
а по одной коллекции масшитабные срезы не построишь
Alex ZeroDub
поэтому монга и не нужна
А ВОТ ТЕПЕРЬ ПАБЛИК
А ВОТ ТЕПЕРЬ ПАБЛИК
молчат
Anonymous
я в начале с монги начинал, но скл базы чет больше понравились