Таймураз
Ты просто зачем то перефразировал мою фразу
Таймураз
Мне теперь интересно, если мне перестанет нравиться js, по каким причинам это произойдет
Aleksand
Мне теперь интересно, если мне перестанет нравиться js, по каким причинам это произойдет
ну так-то есть масса задач для которой нода не годится, начнешь заниматься ими и разонравится)
Таймураз
В контексте веба- например?
Anonymous
Кстати в vk количество php сильно уменьшилось, очень много микросервисов на том же go. Вообще тот же kphp это не php ни разу. Нет ООП, полустатическая типизация. Вообще слабо понятно, зачем он им понадобился.
Anonymous
Хотя, тут наверное выбор стоял между ним и какой-нибудь Java.
Anonymous
В контексте веба- например?
Ну там нейросети всякие. Например, поиск похожих аудио или анализ текста. Но да, это не совсем стандартный веб.
Aleksand
В контексте веба- например?
в контексте веба таких почти нет, я вот знаю только одну - как только тебе нужно работать с сырым сокетом или хотя бы просто поставить свои флаги на сокет нода сразу заставляет приуныть очень мощно а около веба любая задача где нужно быстро и много считать, много и глубоко оптимизировать скорость
Aleksand
Сырые сокеты легко ж заводятся стандартным модулем
это каким? сырой это в котором нет tcp или udp, там ip
Aleksand
raw socket
Таймураз
raw socket
Ну так я о каких
Aleksand
Ну так я о каких
а что это за модуль?
Alex 🗽👇
читаю вас, еще пару чатиков
Alex 🗽👇
если нода такое говно, тогда на чем можно НОРМАЛЬНО писать?
Anonymous
С NodeJS всё норм, просто иногда надо выносить часть задач в отдельный сервис и на другой язык.
Aleksand
Ну так я о каких
нода даже опции к обычным сокетам не дает ставить кроме нескольких популярных, ну и тут либо сходить с ума с помощью ffi, либо писать биндинг которые дает абстракцию к ним. вот это поистине печаль большая.
Aleksand
С NodeJS всё норм, просто иногда надо выносить часть задач в отдельный сервис и на другой язык.
тогда и начинаешь жить в гармонии, кстати, без батхерта. когда каждый язык используешь в том в чем он силен и не боишься что в стеке их 2-3
Mykola 🤷🏼‍♀️
в чем силен js?)
GG
во фронтенде)
Alan
да ладно говнячить можно на любом языке выбирай какой нравится))
Alan
под задачу0))))
Aleksand
Охренеть, нет сырых сокетов, только юниксовые
только так - https://www.npmjs.com/package/raw-socket в таких местах я начинаю смотреть на го
Таймураз
Anonymous
только так - https://www.npmjs.com/package/raw-socket в таких местах я начинаю смотреть на го
Не углублялся в вопрос, но подозреваю, что там была проблема в совместимости между OS. Не просто так не запилили.
Aleksand
А для какой задачи настолько сырые сокеты нужны?
ну пинг попробуйте сделать не вызовом подпроцесса а нативно на ноде)
Aleksand
вообще сетевая мощь ядра просто исчезает без возможности управлять полноценно сокетом
Aleksand
А если более практическую задачу?
это очень практическая задача для системы мониторинга например
Aleksand
это протокол ICMP требует открытия сырого сокета
Таймураз
это протокол ICMP требует открытия сырого сокета
Хм Это дело под ноду на плюсах разве сложно написать?🤔
Aleksand
Хм Это дело под ноду на плюсах разве сложно написать?🤔
ну вот выше давал ссылку на пакет, там написали, но одно дело чье-то, другое дело стандартная либа. но тут просто надо брать го и не страдать, нода не для этого
Aleksand
До этого было просто желание изучить го
там местами настолько круто и этого никогда не будет в ноде что его абсолютно точно нужно знать сильному инженеру
Anonymous
Но сборщик мусора по прежнему боль. И нет удобного ООП. Но да, знать нужно)
Aleksand
Но сборщик мусора по прежнему боль. И нет удобного ООП. Но да, знать нужно)
да, и центрального репозитория пакетов нет, там куча стремных моментов, как и везде
Alex 🗽👇
а как вы потом ноду и го связываете? как сервисы между собой общаются? если в кратце
Alex 🗽👇
так же как и клиент-сервер - через апи?
Anonymous
ZeroMQ до первой потери сообщений, RabbitMQ или Kafka если надо в консистентность. RESTful API если скорость не жмёт, иначе какой-нибудь Protobuf.
Aleksand
NATS хвалят очень)
Alex 🗽👇
эти решения еще должны быть на обеих языках
Anonymous
Естесна есть) Это же не какой-нибудь Haskell.
Aleksand
но вообще можно выбирать от Thrift до Grpc или просто использовать websockets, но это очень сильно зависит от того как вы деплоитесь.
Anonymous
NATS хвалят очень)
Да, есть такое. Была недавно статья на хабре. Пока ручками не дошёл.
Aleksand
эти решения еще должны быть на обеих языках
это нормально, в любом сложном проекте обязательно нужно иметь единый подход для коммуникации между компонентами, это данность
Aleksand
WebSocket - это какой-то мазохизм в server-server связи)
почему? он сильно более плоский и простой чем тот же трифт
Таймураз
почему? он сильно более плоский и простой чем тот же трифт
Между серверами можно обычный TCP сокет пустить
Таймураз
почему? он сильно более плоский и простой чем тот же трифт
Вебсокет- абстракция над хттп с кучей лишних хендшейков
Anonymous
Ну... Всё равно поверх прийдётся писать что-то своё.
Aleksand
Между серверами можно обычный TCP сокет пустить
можно, конечно, зависит от задачи.
Aleksand
Вебсокет- абстракция над хттп с кучей лишних хендшейков
ну оно в таком контексте не играет роли, соединение создается очень редко, а по скорости обмена практически равны. у вебсокета есть реализация фреймов, с голым tcp придется самому там вошкаться с чанками и данными
Aleksand
но если деплоитья не по старинке а по-взрослому, глядя в 12factors то удобнее очереди использовать, своя боль есть везде, конечно
Anonymous
Народ, как в OVH заказать VPS'ку обычную? Где кнопка в панели управления?
Anonymous
Цена. Точка. Да, у них больный сервис, но цена всё таки подкупает. За $3.5 1 core + 2Gb + 20 Gb SSD
Mikhail
Цена. Точка. Да, у них больный сервис, но цена всё таки подкупает. За $3.5 1 core + 2Gb + 20 Gb SSD
за 4 бакса можно купить в айхоре без лишней головой боли vds с теми же характеристиками, но 1 Гб ОЗУ
Aleksand
Цена. Точка. Да, у них больный сервис, но цена всё таки подкупает. За $3.5 1 core + 2Gb + 20 Gb SSD
скорость ядра не измеряли? нередко подсовывают полный отстой
Aleksand
Я измерял что дает AWS, GC, Vultr, DO, Hetzner. Победитель вышел неожиданным
Дима
Ucoz?
Aleksand
А ua hosting?
Украина всмысле?
Таймураз
Украина всмысле?
https://ua-hosting.company
Mykola 🤷🏼‍♀️
full compiler в v8 имеет разные реализации под каждую платформу, выходит?
Denis
ну, они его отдельно собирают под разные платформы, так что по идее да
Mykola 🤷🏼‍♀️
блин, это же наверное сложноватенько под каждую платформу с исходного кода js в машинный без IR. Хотя, если никаких оптимизаций нет...
Zaur
Ребят, а подскажите по mysql+nodejs. Вот если у меня есть таблица в которой несколько string полей. Данные из этой таблицы загружаются часто, но после загрузки объект долг живет в памяти. Т.е. одну и туже строку часто загружать не приходится. Вопрос: есть ли смысл объеденять все string поля в одно поле, в котором будет json-строка со всеми string-данными?
Denis
Нет, с точки зрения поддержки это в разы менее удобно, а профиты очень сомнительные
Zaur
т.е. скорость поика по базе не увеличится?
Denis
Индексируй если скорости не хватает
Denis
Если у тебя будет одна строка с жсоном, то индексировать ты по сути не сможешь)
Zaur
Индексируй если скорости не хватает
на всех полях, по которым происходит поиск индексы уже есть. По string полям поиск не осуществляю.
Zaur
Если у тебя будет одна строка с жсоном, то индексировать ты по сути не сможешь)
я имел ввиду объеденить в json только string-поля, поиск по которым не нужен
Denis
Тогда не уверен, но тоже думается что так лучше не надо. В проде с реляционками не работал, только по учебе, так что так себе советник тут.