Michael
для списка постов (1 абзац, дата и автор), для каждого поста разбиваем текст на абзацы и передаём массив постов, которые состоят из текста (наш первый абзац), дата и автор
Michael
чувствую себя капитаном очевидностью
Pavel
Ребят а подскажите,видел где-то не давно красивый график различия версий node.js,нужен визуальный диф по версиям
Anonymous
Kons
Anonymous
один так один , но если человек нажал на перевод строки
надо это как-то отобразить правильно
Kons
При сохранении обрабатывать текст и готовить из него некий brief или teaser. На главной странице показывать тизер, а на странице поста - полный текст.
ikasymov
Sergey
ikasymov
Таймураз
ну может процессы у них
Ты либо напрямую запускаешь скрипт в пхп и получаешь результат работы этого скрипта, либо запрашиваешь cgi результат работы скрипта относительно запрошенного пути. Каждый новый запрос- это отдельный поток, который запускается отдельно от остальных потоков (процессов)
Таймураз
Из-за этого реалтайм приложения на пхп реализуются через задницу
ikasymov
Каждый новый запрос- это отдельный поток, который запускается отдельно от остальных потоков (процессов)
такое еще к каким языкам относиться?
ikasymov
.net ?
Таймураз
Таймураз
.net компилируется в бинарник и запускается на сервере
John
Таймураз
У пхп есть несколько плюсов- популярные большие фреймворки и легкость запуска мелкого овна
Но низкий порог вхождения- только минус имхо
ikasymov
в ноде один поток обрабатывает весь запрос
ikasymov
если засрать его блокирующим функцием, он засрется и будет ждать его в то время как другие клиенты запросы делают
Таймураз
Однобоко рассуждаешь
Да, один запрос в одном потоке исполнения отрабатывает
Но при этом этот поток исполнения обрабатывает тысячи запросов, тогда как в пхп 1 запрос = 1 поток
Таймураз
Пхп же сожрет всю память, зависни в нем пара сотен запросов
ikasymov
John
Из-за этого на малых нагрузках пыха быстрее, но на средних и больших уже нода
Таймураз
ikasymov
Таймураз
Дима
cluster
Таймураз
И если в ноде все эти запросы могут висеть в памяти и обрабатываться параллельно, в пхп они обрабатываются синхронно
Таймураз
у тебя 4 ядра, 8 потоков = 8 воркеров
8 запросов повисли на запросе в базу- все, сервак висит
ikasymov
Таймураз
кластеризация
Таймураз
Напрямую в коде
PM2
Docker
ikasymov
ikasymov
запрос на базу пошел, пришло ответил
ikasymov
ikasymov
Таймураз
Пока у тебя 100 запросов ожидает ответа от базы, другая сотня хочет узнать текущее время
Получило время сервера и сразу ответило, пока остальная сотня все еще висит
ikasymov
Таймураз
Если ты маг пхп, выбрал оптимальное кол-во воркеров учитывая возможности сервака, чтобы у тебя не простаивали запросы (обычно кол-во потоков исполнения множат на степень двойки и тестируют под нагрузкой)
Все равно есть вероятность, что все упрется в базу и начнут копиться запросы
Наговнокодить и на ноде можно, но все равно нодовская архитектура исполнения лучше пхпшной
ikasymov
как на счет питона?
Таймураз
В целом, у питона лучшая математика и делать бек на питоне- хорошо
Anton
как на счет питона?
богаче выбор либ, они более качественные, имхо (по моему опыту / задачам)
John
И если в ноде все эти запросы могут висеть в памяти и обрабатываться параллельно, в пхп они обрабатываются синхронно
Так нода же не работает параллельно, она ставит все в очередь, если встретился какой-то блокирующий процесс, она оставляет коллбэк и ставит в очередь, выполняя другие операции, когда в коллбэк пришел ответ, нода возращается и выполняет результат, потом идёт к следующему в очереди. А пыха ж потоки выполняет параллельно, но в рамках одного потока синхронно, но каждый поток жрет оперативку
Таймураз
ikasymov
John
Таймураз
John
Таймураз
Забыл термин, к своему стыду
Таймураз
John
Была тут классная статейка, ща найду
ikasymov
я не давно делал парсер который циклом создовал обьект парсера и парсил, 10 обьектов парсера парсили одновременно, то есть вызваны все 10 а делаються конечно через event loop, в питоне или пхп создовались бы обьекты по очереди
ikasymov
Главное что б эти обьекты не мешали друг другу
John
Вот объяснение мне понравилось
https://m.habrahabr.ru/post/150788/
ikasymov
да я читал)
Serhiy
ikasymov
ikasymov
не?
Serhiy
не?
https://docs.python.org/3.6/library/threading.html
Serhiy
т.е. даже вот так правильнее https://docs.python.org/3.6/library/concurrency.html
ikasymov
не юзал асинхронность в питоне)
Serhiy
А она там есть на любой вкус )
Anonymous
Ребят, всем привет. Подскажите, это не работает?
Anonymous
asnwer = JSON.parse(page.plainText);
console.log('Answer: ' + answer.taskId);
Anonymous
page.plainText возвращает строку {'errorId':0, 'taskId':4599437}
Anonymous
Я ее разбираю через json.parse, но
console.log('Answer: ' + answer.taskId);
ничего не выводит
arts
У тебя опечатка: aSNwer
Anonymous
Спасибо огромное!
Anonymous
Невнимательность до добра не доведет
arts
Юзай eslint, он поможет избежать подобных ошибок.
ixplo
Или просто вебсторм )
Sergey