Pull to refresh
17
0.6
Кашлак Андрей @andreymal

User

Send message
Ну а какие еще вы знаете способы освобождения ресурсов?

Не говнокодить. Ваш Капитан Очевидность.


Мускулю как раз ресурсов и не надо, все, что он делает — это парсинг/компиляцию запроса ну и побегать по файлам/памяти собрать ответ.

И это происходит в десятки раз быстрее, если содержимое файлов находится в памяти, поэтому ресурсы мускулю в десятки раз нужнее, чем мессенджеру. Мессенджер же по файлам/памяти не бегает.


В 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-кода — это хороший протокол, раз есть библиотека?

С XMPP на порядки сложнее работать, чем с matrix.

От имени школьника, писавшего как клиенты, так и простенький сервер на питоне ещё в 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/REST — очень удобно

Как программист заявляю, что нет. Это удобно только для школохипстоты, которая ничего кроме HTTP не осилила.


пролезает через любой маньячный файрволл

Ни разу не доводилось видеть такие в природе. Точнее, видел, но такие, которые HTTP тоже порежут по белому списку.


Голос и видео таскается по WebRTC

Противоречите сами себе. Если WebRTC успешно таскается, то проблем с фаерволом нет и HTTP не нужен. Если фаервол есть и пролезает только HTTP (не верю, что так бывает, но допустим), то тогда голос и видео не будут работать.


Десктопный клиент у меня в браузере

Клиенты в браузере — ересь и не нужны. Тормоза, пожирания памяти и прочие прелести веб-приложений я не хочу. Дайте мне клиент на Qt5, аки телеграм.


Мобильный — Riot, никаких сайтов не открывает.

Окей, но отсутствия нормального десктопного клиента это не отменяет, к сожалению.


С онлайном не понял, что за проблема?

Мне сообщали, что «На официальном сервере Matrix.org сейчас временно отключено presence (из-за проблем с нагрузкой на центральный сервер, т.к. спонсоры сократили финансирование)». (К слову, какая же у сервера нагрузка, мне никто так и не смог рассказать.)


Я вчера заходил — в чатах всё так же было по нулю человек онлайн. Ну и нафига мне (и не только мне) мессенджер, в котором даже банальный онлайн не работает?

Проблемы джавистов… Нормальные люди на нормальных языках программирования просто создают свойство isCorrect и спокойно пишут что-то вроде obj.isCorrect = true :)

А почему не хрень? Где нормальный протокол с нормальными сокетами или хотя бы вебсокетами вместо убогого и неудобного HTTP/REST? Где нормальные полноценные десктопные и мобильные клиенты, которые не будут браузерами, открывающими веб-сайт Riot, у которого к тому же перегруженный и запутанный интерфейс? Когда вернут отломанное отображение онлайна в чатах на matrix.org?

Беда в том, что делать такие решения очень сложно и при этом оно никому не нужно :(


Те же Tox и Ring у меня не работают от слова совсем, например. (И я уже не раз об этом ныл на просторах хаброгиктаймсов)

Information

Rating
1,877-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity