Ответы пользователя по тегу Node.js
  • Компрессия картинок на вашем сайте. Как реализовать?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    1) Гугл JS-сом сравнивает реальный размер картинки и тот в котором он отображается.
    2) Он обязательно вырезает мета информацию из файла картинки, она в некоторых случаях может быть больше больше самой картинки.
    Потом для jpeg, где предусмотрен параметр сжатие/компрессия от 0 до 100, скорее всего ругается если он больше 70-75. Т.к. от 75 до 100 разницы обычно не видно, а размер заметно меньше. (100 это без сжатия)

    Для png можно менять битность (8,16,24,32,48,64) изменить, если она используется не эффективно. Битность это количество битов используемое для кодирования одного пикселя от неё зависит количество доступных цветов и глубина альфаканала. Т.е. png8 это 256 цветов без альфы. Параметра компрессии у png нет.

    Для GIF это от двух до 256 цветов в заказной палитре, чем меньше цветов палитре тем меньше файл.

    Соответственно автоматическая оптимизация для PNG и GIF может быть только путём анализа цвета в каждом пикселе, на лету это муторно и ресурсоёмко. И соответственно этим почти никто не заморачивается.

    Так же у этих форматов есть несколько доп опций, которые так же влияют на размер картинки, но не значительно.
    Ответ написан
    5 комментариев
  • На каком языке лучше писать чат?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Я думаю это зависит от того кикие ощущения вы хотите иметь когда закончите.
    Если напишете на erlange будете куртым
    Напишете на go или node.ja будуте хипстором
    На java/python будете скучным
    На php будете унылым
    На С/С++ станете аксакал

    Так получается потому, что в современном мире, что бы показать сетевые возможности языка, пишут, что то простое и понятное всем. Раньше это были echo серверы, а теперь это чаты.

    Что касаеться певого вопроса, то по абривиатуре XMPP думаю можно нагуглить исходники серверов и клиеентов на любых языках.
    Ответ написан
    2 комментария
  • На чем писать клиент-сервер с 10 000+ онлайном и 36 000 000 запросов в час?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Выше писали про проблему 10к, не заморачивайтесь эта проблема была озвучена 10 лет назад, когда интернет, софт и железо были сильно другими.

    Мне кажется вы не в ту сторону смотрите. Вам намного проще научиться раскидывать нагрузку по 2-3-4... серверам, с тем, что есть. Это даст вам в итоге, переваривание любого трафика, только подкидывай денег на сервера.

    А уже потом вы можете оптимизировать стоимость владения этими серверами переписывая софт, меня базы и фронт энды. Так как переделывание/переписывание вам скорее всего поднимет производительность максимум в 2-3 раза, если у вас всё плохо в 10, а потом окажется что этот 10 кратный рост может отрабатывать только на 10 GB интернет каналах и ssd дисках на которые нет денег или они деньги есть но производительности одной железки не хватит уже через полгода.

    маштабируйтесь
    Ответ написан
    Комментировать
  • Как избавиться от зависимых запросов?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    @tamtakoe вам @Masterme всё верно сказал, если джойны не подходят идеологически сделайте три простых селекта подряд, вас никто не заставляет делать один запрос. И база их отлично закеширует, чего скорее всего не будет с джойнами.

    А ещё лучше будет если вы расширите исходный набор данных клиента, так что бы он мог сразу сделать api.site.ru/museums?city=123&categories=456&type=best
    Ответ написан
    Комментировать
  • Как передать многомерный массив в node.js?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data); не должно быть строкой, вы же не стороне node.js ожидаете данные от формы.
    Пишите что то вроде:
    curl_setopt($curl, CURLOPT_POSTFIELDS, array('jsonData'=>$data));


    Или парсите на стороне ноды сырые данные, но это более замороченный путь.
    Ответ написан