Ну а какие еще вы знаете способы освобождения ресурсов?
Не говнокодить. Ваш Капитан Очевидность.
Мускулю как раз ресурсов и не надо, все, что он делает — это парсинг/компиляцию запроса ну и побегать по файлам/памяти собрать ответ.
И это происходит в десятки раз быстрее, если содержимое файлов находится в памяти, поэтому ресурсы мускулю в десятки раз нужнее, чем мессенджеру. Мессенджер же по файлам/памяти не бегает.
В 2018 даже у самого распоследнего месседжера, учитывая зависимости, функционал строго больше.
Например? Вот лично меня функционал Telegram, например, вполне устраивает, но при этом он вписывается в сотню-другую мегабайт оперативки (это мне тоже кажется многовато, но всё же ни в какое сравнение со Slack) и абсолютно не кушает проц. Какая такая киллер-фича начнёт гигабайты жрать?
мессенджер легко может какую-нибудь БД в качестве зависимости просто строго содержать.
Какой-нибудь легковесный sqlite3, который ресурсы тоже не кушает, ага)
И по-этому, конечно, ресурсов меньше жрать по определению не может.
А Telegram при этом почему-то жрёт меньше. Ваш коммент противоречит реальности.
Зачем терять-то? Нужно использовать ресурсы настолько по минимуму, насколько это возможно без ущерба для решаемой задачи. А ещё лучше, чтобы это было настраиваемым: тот же mysql может вполне скромно вести себя на дешёвом VDS с 512МБ оперативки или отжирать всё на мощной махине с 128ГБ оперативки. Ему можно: чем больше оперативки ему выделить, тем быстрее он будет выполнять запросы. А вот в то, что простенькому мессенджеру, передающему обыкновенный текст и отрисовывающему с десяток мелких аватарок, зачем-то нужно ресурсов больше, чем мускулю на дешёвом VDS, который там вполне неплохо работает, я абсолютно не верю.
Лично много времени пользовал ВК на EDGE (потому что в центре Питера 3G у Tele2 не работает блин нихрена, в отличие от). Думает дольше, но работает вполне нормально, даже менее качественные картинки качает для экономии трафика
А на какой планете QIP 2005 был оффициальным клиентом ICQ, я извиняюсь?
А на какой планете официальным клиентом ICQ хоть кто-нибудь пользовался, я извиняюсь? А на какой планете ICQ со своим тяжёлым клиентом не сдохла в 2010-м, продавшись мэйлрушечке, я извиняюсь? ICQ — как раз очень наглядный пример, что ресурсы надо было экономить и с агрессивной рекламой не играться :)
Да одних свойств всяких CSS3/CSS4 появились десятки!
И что, всем им гигабайты оперативки нужны? Не, не верю.
Точно-точно?
Перечислите хотя бы пять принципиальных отличий старого хабра от нового, влияющих на потребление ресурсов, не считая дизайна? На :before и :after мне как пользователю плевать (сайты и без них успешно делали), а как разработчик я могу обходиться и без них. Они, к слову, были ещё в IE8 в 2009-м (под который я, кстати, успешно верстаю по сей день, просто потому что могу. Ну да, border-radius не работает, ну и что).
Посмотрите на DOM-дерево этой стараницы, на котни килобайт CSS (а оно ведь каскадное!) и мегабайты JavaScript'а — и всё увидите.
Ещё раз: где принципиальные отличия от хабра десятилетней давности? Зачем килобайты JavaScript'а превратились в мегабайты? От каскада, кстати, нынче модно отказываться, БЭМ и всё такое.
Вы наверное официальным клиентом ICQ не пользовались.
Да, QIP 2005 вёл себя вполне скромно :)
Попробуйте зайти каким-нибудь Netscape 3 или 4 на современные web-сайты и посмотрите — сколько из них вообще чего-либо покажут.
То, что, простите, кровати в борделе подвигали и сломали совместимость, не говорит о том, что что-то принципиально поменялось. Вот что принципиально нового появилось в браузерах за последние лет десять? Аудио, видео, WebGL, WebRTC — ну и всё в принципе. Но это всё используется мало кем, разве что ютуб какой-нибудь или скайп. Тот же Хабрахабр ничего из перечисленного не использует и продолжает работать абсолютно так же, как и работал десять лет назад, ну разве что пару редизайнов пережил. Но если это никто не использует, то куда тогда делись гигабайты памяти? Неужели в реализацию border-radius и rgba? Ладно, я согласен выделить мегабайт 50 на кэширование тайлов, чтоб 60фпс при плавной прокрутке поддерживать и на плавный CSS3 transition, а остальное-то куда делось?
то есть даже одного миллиона ещё нет
Сравнивать число активных и число новых пользователей — как вы до такой глупости вообще додумались? Из новой версии комментария это пропало, но теперь конкретных чисел вообще нет.
Переходите с поделок на Electronе на что-то «быстрое и лёгкое»?
Да. Если полистать мои комментарии на хабре, можно увидеть, что они пропитаны концентрированной ненавистью к Electron'у и вообще вебу в целом)
Тогда, когда они появились — они занимали компьютер целиком или почти целиком.
Ну не знаю, мессенджеры у меня вроде бы никогда не занимали компьютер «целиком». Аудиоплееры тоже. Да и браузеры были гораздо скромнее чем сейчас при схожих возможностях. Разве что игры занимали компьютер «целиком», но они тот редкий случай, когда действительно можно (хотя я всё равно отдаю предпочтение «скромным» играм, обычно вышедшим те самые ~10 лет назад — другие мои 35 задач тоже оперативку хотят всё-таки).
На какой-нибудь Slack посмотрите…
На какой-нибудь Telegram посмотрите ;) Согласно википедии, запущен в один месяц со Slack, а ресурсов жрёт раз в десять меньше.
Добро пожаловать в двадцать первый век! У нас тут в 2018 году господствуют многозадачные ОС, у меня прямо сейчас запущен 271 процесс, которые можно условно поделить на примерно 35 задач, например. Лично мне совершенно не хотелось бы, чтобы каждый из них пытался забрать «более-менее все ресурсы». А компьютером, который способен запустить максимум одну задачу, выжирающую «более-менее все ресурсы», пользоваться не очень удобно.
Тем не менее тот же скайп работал вполне нормально, а когда майкрософт перетащил всё на свои сервера, то связь в целом ухудшилась) Но со сложностью задачи не спорю, конечно
вы будете довольны постоянной загрузкой своего канала в полку?
О том и речь, с кучей TURN-серверов получается вполне распределённо. Ну и ничто не мешает держать нормальный STUN/TURN-сервер у себя вместе с ожидаемым мной open-source сервером для мессенджера, в том же XMPP все именно так и делают
Правда, вообще без серверов уже вряд ли получится, но нужно ли?
Так-то скайп в свои лучше времена был очень даже распределённым со своими супернодами, мне рассказывали, что даже без интернета по локальной сети прекрасно работал, если до этого хотя бы раз залогиниться)
Open-source сервер, который можно установить у себя и который будет контактировать с другими серверами, аки электропочта, есть? Если нет, то — не то и фтопку.
Наличие библиотек характеризует удобство использования с точки зрения программиста. Если протокол каждый раз приходится отписывать руками — это плохой протокол, разработка идёт медленно.
Я однажды делал библиотеку, парсящую сайт для работы с ним, с удобным API и всё такое, у этой библиотеки даже несколько довольных пользователей есть. Получается, по вашей логике несемантичный и невалидный HTML с периодическими требованиями запуска произвольного js-кода — это хороший протокол, раз есть библиотека?
От имени школьника, писавшего как клиенты, так и простенький сервер на питоне ещё в 2011-м, заявляю, что XMPP очень даже прост, а вы ниасиляторы.
Библиотек готовых очень мало
Наличие или отсутствие библиотек не имеет никакого отношения к качеству протокола.
А кто должен запиливать приложение, как не тот, кому оно нужно?
Так мне оно не нужно. Мне нужен нормально работающий мессенджер, он у меня уже есть — Telegram. Если всякие разные пропагандисты Matrix хотят, чтобы народ использовал его — они и должны допилить его до адекватного состояния.
Ну, тогда дайте людям денег или подарите серверных мощностей.
Обоснования какие-нибудь есть? Я не верю, что на серверах так много народа, что серверных мощностей уже не хватает. Зато я уверен, что нехватка ресурсов — это прямое следствие использования HTTP/REST, говнокода и непродуманности презенсов. Я могу быть неправ, но хотелось бы видеть пруфы, что я неправ — когда я их спрашивал в ноябре, никто не осилил мне их показать, так-то.
Но это ж трудиться надо…
Трудиться над чем-то изначально убогим немножко лениво :)
но глаза боятся, а руки делают. Это главное свойство нормального программиста, на мой взгляд.
Это хорошо, но это не значит, что теперь нужно стремиться к тому, чтобы глаза всегда боялись. С тем же XMPP, не смотря на его некоторую убогость, работать проще и приятнее, чем с чем угодно на REST.
таки написан на python
Ну и хорошо. А полноценный клиент на C++ есть? Ну или хотя бы на питоне — но никак не на js.
Ну ради бога, запилите себе приложение.
А у меня уже есть, Telegram называется. Не я должен запиливать приложение для Matrix.
Комнаты-то на авшем сервере обслуживаться будут.
Эм, не расскажете, как сделать так, чтобы #matrix:matrix.org стал обслуживаться на моём сервере и имел рабочий онлайн? Сейчас там 12939 человек, из них онлайн — шесть. Похоже на какую-то случайность, потому что вчера онлайн был ноль. По-моему, онлайн должен быть хотя бы пару сотен — ну или там ~12900 мёртвых аккаунтов, во что слабо верится.
Телеграм — огромная дыра в безопасности, как и прочие мессенджеры, привязывающиеся к телефонному номеру.
Так-то это единственный его недостаток — централизованная проприетарная выпрашивалка мобилок. Зато всё остальное прекрасно.
А что, Дуров вам рекламу не показывает? Или иным образом деньги на вас не зарабатывает? Я что-то не верю в такой альтруизм.
Мне тоже не очень верится, однако никаких способов заработка на мне я до сих пор не заметил. Ну разве что базу номеров кому-нибудь продают...)
Нравится зависеть от доброго дяденьки — вперёд.
Ну а щито поделать, если альтернатив нет. О чём, собственно, этот пост и написан.
Значит как неопытный программист заявляете. Все, кого я знаю из тех, кто работает в том числе в немаленьких компаниях и со всякими хайлоадами (опытные, в общем), от REST плюются. Я тоже плююсь.
из любых сред работает.
Ничего не мешает запилить HTTP-обёртку для любого протокола в качестве дополнения — так сделано в XMPP, например, и именно так работают веб-клиенты у XMPP. Но нахрена делать на базе HTTP протокол целиком и вынуждать страдать нормальных прикладных программистов на C++/Java/Python, которые работают в нормальных средах, поддерживающих нормальные сокеты, в угоду хипсторам-вчерашним школьникам, люто любящим браузерный js?
Не надо качать и ставить.
Качать — надо, html/css/js сами по себе из воздуха не возьмутся. Поставить — у меня руки не отсохнут, а вот дополнительное процессорное время и немного лишней оперативки мне очень нужны.
Заведите себе свой сервер, как сделал я.
А толку? Все остальные будут сидеть на том же matrix.org, на котором «что-то не работает».
Вообще должны быть благодарны, что кто-то сделал сервер с открытой регистрацией за свой счёт.
Я безмерно благодарен Дурову за его Telegram, который вышеперечисленных проблем не имеет)))))))))
Как программист заявляю, что нет. Это удобно только для школохипстоты, которая ничего кроме HTTP не осилила.
пролезает через любой маньячный файрволл
Ни разу не доводилось видеть такие в природе. Точнее, видел, но такие, которые HTTP тоже порежут по белому списку.
Голос и видео таскается по WebRTC
Противоречите сами себе. Если WebRTC успешно таскается, то проблем с фаерволом нет и HTTP не нужен. Если фаервол есть и пролезает только HTTP (не верю, что так бывает, но допустим), то тогда голос и видео не будут работать.
Десктопный клиент у меня в браузере
Клиенты в браузере — ересь и не нужны. Тормоза, пожирания памяти и прочие прелести веб-приложений я не хочу. Дайте мне клиент на Qt5, аки телеграм.
Мобильный — Riot, никаких сайтов не открывает.
Окей, но отсутствия нормального десктопного клиента это не отменяет, к сожалению.
Я вчера заходил — в чатах всё так же было по нулю человек онлайн. Ну и нафига мне (и не только мне) мессенджер, в котором даже банальный онлайн не работает?
Проблемы джавистов… Нормальные люди на нормальных языках программирования просто создают свойство isCorrect и спокойно пишут что-то вроде obj.isCorrect = true :)
А почему не хрень? Где нормальный протокол с нормальными сокетами или хотя бы вебсокетами вместо убогого и неудобного HTTP/REST? Где нормальные полноценные десктопные и мобильные клиенты, которые не будут браузерами, открывающими веб-сайт Riot, у которого к тому же перегруженный и запутанный интерфейс? Когда вернут отломанное отображение онлайна в чатах на matrix.org?
Не говнокодить. Ваш Капитан Очевидность.
И это происходит в десятки раз быстрее, если содержимое файлов находится в памяти, поэтому ресурсы мускулю в десятки раз нужнее, чем мессенджеру. Мессенджер же по файлам/памяти не бегает.
Например? Вот лично меня функционал Telegram, например, вполне устраивает, но при этом он вписывается в сотню-другую мегабайт оперативки (это мне тоже кажется многовато, но всё же ни в какое сравнение со Slack) и абсолютно не кушает проц. Какая такая киллер-фича начнёт гигабайты жрать?
Какой-нибудь легковесный sqlite3, который ресурсы тоже не кушает, ага)
А Telegram при этом почему-то жрёт меньше. Ваш коммент противоречит реальности.
А на какой планете официальным клиентом ICQ хоть кто-нибудь пользовался, я извиняюсь? А на какой планете ICQ со своим тяжёлым клиентом не сдохла в 2010-м, продавшись мэйлрушечке, я извиняюсь? ICQ — как раз очень наглядный пример, что ресурсы надо было экономить и с агрессивной рекламой не играться :)
И что, всем им гигабайты оперативки нужны? Не, не верю.
Перечислите хотя бы пять принципиальных отличий старого хабра от нового, влияющих на потребление ресурсов, не считая дизайна? На :before и :after мне как пользователю плевать (сайты и без них успешно делали), а как разработчик я могу обходиться и без них. Они, к слову, были ещё в IE8 в 2009-м (под который я, кстати, успешно верстаю по сей день, просто потому что могу. Ну да, border-radius не работает, ну и что).
Ещё раз: где принципиальные отличия от хабра десятилетней давности? Зачем килобайты JavaScript'а превратились в мегабайты? От каскада, кстати, нынче модно отказываться, БЭМ и всё такое.
Да, QIP 2005 вёл себя вполне скромно :)
То, что, простите, кровати в борделе подвигали и сломали совместимость, не говорит о том, что что-то принципиально поменялось. Вот что принципиально нового появилось в браузерах за последние лет десять? Аудио, видео, WebGL, WebRTC — ну и всё в принципе. Но это всё используется мало кем, разве что ютуб какой-нибудь или скайп. Тот же Хабрахабр ничего из перечисленного не использует и продолжает работать абсолютно так же, как и работал десять лет назад, ну разве что пару редизайнов пережил. Но если это никто не использует, то куда тогда делись гигабайты памяти? Неужели в реализацию border-radius и rgba? Ладно, я согласен выделить мегабайт 50 на кэширование тайлов, чтоб 60фпс при плавной прокрутке поддерживать и на плавный CSS3 transition, а остальное-то куда делось?
Сравнивать число активных и число новых пользователей — как вы до такой глупости вообще додумались?Из новой версии комментария это пропало, но теперь конкретных чисел вообще нет.Да. Если полистать мои комментарии на хабре, можно увидеть, что они пропитаны концентрированной ненавистью к Electron'у и вообще вебу в целом)
Ну не знаю, мессенджеры у меня вроде бы никогда не занимали компьютер «целиком». Аудиоплееры тоже. Да и браузеры были гораздо скромнее чем сейчас при схожих возможностях. Разве что игры занимали компьютер «целиком», но они тот редкий случай, когда действительно можно (хотя я всё равно отдаю предпочтение «скромным» играм, обычно вышедшим те самые ~10 лет назад — другие мои 35 задач тоже оперативку хотят всё-таки).
На какой-нибудь Telegram посмотрите ;) Согласно википедии, запущен в один месяц со Slack, а ресурсов жрёт раз в десять меньше.
Добро пожаловать в двадцать первый век! У нас тут в 2018 году господствуют многозадачные ОС, у меня прямо сейчас запущен 271 процесс, которые можно условно поделить на примерно 35 задач, например. Лично мне совершенно не хотелось бы, чтобы каждый из них пытался забрать «более-менее все ресурсы». А компьютером, который способен запустить максимум одну задачу, выжирающую «более-менее все ресурсы», пользоваться не очень удобно.
[/толстота]
Тем не менее тот же скайп работал вполне нормально, а когда майкрософт перетащил всё на свои сервера, то связь в целом ухудшилась) Но со сложностью задачи не спорю, конечно
Да, у меня торренты специально канал загружают))
О том и речь, с кучей TURN-серверов получается вполне распределённо. Ну и ничто не мешает держать нормальный STUN/TURN-сервер у себя вместе с ожидаемым мной open-source сервером для мессенджера, в том же XMPP все именно так и делают
Правда, вообще без серверов уже вряд ли получится, но нужно ли?
Так-то скайп в свои лучше времена был очень даже распределённым со своими супернодами, мне рассказывали, что даже без интернета по локальной сети прекрасно работал, если до этого хотя бы раз залогиниться)
Open-source сервер, который можно установить у себя и который будет контактировать с другими серверами, аки электропочта, есть? Если нет, то — не то и фтопку.
Я однажды делал библиотеку, парсящую сайт для работы с ним, с удобным API и всё такое, у этой библиотеки даже несколько довольных пользователей есть. Получается, по вашей логике несемантичный и невалидный HTML с периодическими требованиями запуска произвольного js-кода — это хороший протокол, раз есть библиотека?
От имени школьника, писавшего как клиенты, так и простенький сервер на питоне ещё в 2011-м, заявляю, что XMPP очень даже прост, а вы ниасиляторы.
Наличие или отсутствие библиотек не имеет никакого отношения к качеству протокола.
Так мне оно не нужно. Мне нужен нормально работающий мессенджер, он у меня уже есть — Telegram. Если всякие разные пропагандисты Matrix хотят, чтобы народ использовал его — они и должны допилить его до адекватного состояния.
Обоснования какие-нибудь есть? Я не верю, что на серверах так много народа, что серверных мощностей уже не хватает. Зато я уверен, что нехватка ресурсов — это прямое следствие использования HTTP/REST, говнокода и непродуманности презенсов. Я могу быть неправ, но хотелось бы видеть пруфы, что я неправ — когда я их спрашивал в ноябре, никто не осилил мне их показать, так-то.
Трудиться над чем-то изначально убогим немножко лениво :)
Это хорошо, но это не значит, что теперь нужно стремиться к тому, чтобы глаза всегда боялись. С тем же XMPP, не смотря на его некоторую убогость, работать проще и приятнее, чем с чем угодно на REST.
Ну и хорошо. А полноценный клиент на C++ есть? Ну или хотя бы на питоне — но никак не на js.
А у меня уже есть, Telegram называется. Не я должен запиливать приложение для Matrix.
Эм, не расскажете, как сделать так, чтобы #matrix:matrix.org стал обслуживаться на моём сервере и имел рабочий онлайн? Сейчас там 12939 человек, из них онлайн — шесть. Похоже на какую-то случайность, потому что вчера онлайн был ноль. По-моему, онлайн должен быть хотя бы пару сотен — ну или там ~12900 мёртвых аккаунтов, во что слабо верится.
Так-то это единственный его недостаток — централизованная проприетарная выпрашивалка мобилок. Зато всё остальное прекрасно.
Мне тоже не очень верится, однако никаких способов заработка на мне я до сих пор не заметил. Ну разве что базу номеров кому-нибудь продают...)
Ну а щито поделать, если альтернатив нет. О чём, собственно, этот пост и написан.
Значит как неопытный программист заявляете. Все, кого я знаю из тех, кто работает в том числе в немаленьких компаниях и со всякими хайлоадами (опытные, в общем), от REST плюются. Я тоже плююсь.
Ничего не мешает запилить HTTP-обёртку для любого протокола в качестве дополнения — так сделано в XMPP, например, и именно так работают веб-клиенты у XMPP. Но нахрена делать на базе HTTP протокол целиком и вынуждать страдать нормальных прикладных программистов на C++/Java/Python, которые работают в нормальных средах, поддерживающих нормальные сокеты, в угоду хипсторам-вчерашним школьникам, люто любящим браузерный js?
Качать — надо, html/css/js сами по себе из воздуха не возьмутся. Поставить — у меня руки не отсохнут, а вот дополнительное процессорное время и немного лишней оперативки мне очень нужны.
А толку? Все остальные будут сидеть на том же matrix.org, на котором «что-то не работает».
Я безмерно благодарен Дурову за его Telegram, который вышеперечисленных проблем не имеет)))))))))
Как программист заявляю, что нет. Это удобно только для школохипстоты, которая ничего кроме HTTP не осилила.
Ни разу не доводилось видеть такие в природе. Точнее, видел, но такие, которые HTTP тоже порежут по белому списку.
Противоречите сами себе. Если WebRTC успешно таскается, то проблем с фаерволом нет и HTTP не нужен. Если фаервол есть и пролезает только HTTP (не верю, что так бывает, но допустим), то тогда голос и видео не будут работать.
Клиенты в браузере — ересь и не нужны. Тормоза, пожирания памяти и прочие прелести веб-приложений я не хочу. Дайте мне клиент на Qt5, аки телеграм.
Окей, но отсутствия нормального десктопного клиента это не отменяет, к сожалению.
Мне сообщали, что «На официальном сервере Matrix.org сейчас временно отключено presence (из-за проблем с нагрузкой на центральный сервер, т.к. спонсоры сократили финансирование)». (К слову, какая же у сервера нагрузка, мне никто так и не смог рассказать.)
Я вчера заходил — в чатах всё так же было по нулю человек онлайн. Ну и нафига мне (и не только мне) мессенджер, в котором даже банальный онлайн не работает?
А почему не хрень? Где нормальный протокол с нормальными сокетами или хотя бы вебсокетами вместо убогого и неудобного HTTP/REST? Где нормальные полноценные десктопные и мобильные клиенты, которые не будут браузерами, открывающими веб-сайт Riot, у которого к тому же перегруженный и запутанный интерфейс? Когда вернут отломанное отображение онлайна в чатах на matrix.org?
Беда в том, что делать такие решения очень сложно и при этом оно никому не нужно :(
Те же Tox и Ring у меня не работают от слова совсем, например. (И я уже не раз об этом ныл на просторах хаброгиктаймсов)