Cheslav
в вебпаке пути настроить с определенной папки
Cheslav
алиасы
сomorsiс
кстати, а в джс/тс есть package-private модули?
Таймураз
Alexander
Привет ребят! немного не в тему вопрос. Хочу купить стикеры на ноутбук на IT тематику (лого компаний, языков программирования, технологий) везде берут за наклейку по 1.5$ и выше, хотя на али можно 50 шт за такие деньги взять, но на али не нашёл таких. Мб кто видел либо покупал?
Таймураз
Алексей
Рубикон
arts
Igor
бабел, думаю, более опимальный путь
Igor
https://github.com/entwicklerstube/babel-plugin-root-import
Alexander
но огромный плюс ноды тут в том, что не нужно об этих потоках думать, это удел самой ноды, а не моего кода)
Dmitrii
игрался кто нибудь с этим? https://moleculer.services
Алексей
Дима
libuv нодовский многопоточен, если мне не изменяет память
Алексей
Alexander
но в целом, для подавляющего числа задач ноды асинхронное апи таки есть)
Дима
По крайнней мере IO
Alexander
Алексей
Alexander
Алексей
libuv нодовский многопоточен, если мне не изменяет память
Вопрос не в многопоточности, а в асинхронности. Например можно сетевые подключения несколькими потоками обрабатывать, но с использованием асинхронного апи ОС. Тогда количество одновременных подключений может сильно превышать число потоков, так как всякие ожидания прихода записи не будут блокировать потоки.
Алексей
И скорее всего в ноде сетевой стек так и реализован, иначе бы просто вся нода была бы просто бесполезной.
Alexander
просто асинхронность для сетевого стека можно и на пхп сделать, и делают на основе stream_select, у ноды же несколько больше возможностей для этого, т.к. она для этого и разрабатывалась
Алексей
Алексей
Alexander
Alexander
удобство -> более быстрая разработка -> бизнес доволен, его требования соблюдены
Alexander
уперлись в производительность? масштабируйтесь
Alexander
уперлись в возможности масштабирования? переписывайте
Николаич
Есть коллекция tags, Есть коллекция posts, в которой есть поле tags, содержащее массив закрепленных тегов.
При запросе /DELETE /api/tags/:id удаляю запись из коллекции.
Как у всех posts удалить переданный :id из массива?
Алексей
На C++11 уже чуть удобнее будет, так как там уже есть какие-никакие лямбды. Но вот нода удобнее всех на мой взгляд, так как есть замыкания, промисы, async/await и всё апи асинхронно.
Алексей
Даже стандартное (хотя есть и синхронные аналоги)
Алексей
Просто во многих языка стандартная библиотека синхронна и есть большой соблазн, например прочитать файл синхронно в асинхронном обработчике со всеми вытекающими последствиями в виде блокировки потока-воркера.
Alexander
Ну мне вот наоборот асинхронная порода ноды увеличивает время разработки, потому я берусь реализовывать на ноде только то, что без асинхронности делать плохо
Alexander
Это очень индивидуально, и я уверен, что кто-то может делать те же задачи, которые я делаю на пхп с такой же скоростью, только на ноде. Кто-то, но не я)
Alexander
ну опять же, я как выходец из пхп, привык всё по умолчанию считать синхронным, и на каждой третьей строчке кода я обнаруживаю, что у меня в переменной данных нет и метод работает не так, как я ожидал.
проблема привычки и нежелания в RTFM
Alexander
в итоге я после каждой третьей строчки останавливаю софтину и пишу async/await
Алексей
Просто привыкнуть надо
Alexander
а привык то я к тому, что накатал портянку кода, прогнал тесты и запушил в прод)
Алексей
на ноде в принципе также можно
Алексей
если писать на async/await и не забывать этот самый await где нужно ставить
сomorsiс
прикручиваем типы и не забываем
Alexander
ну вот я и говорю, что всё индивидуально: дать одинаковую задачу мне и тебе и разрешить использовать любимые инструменты, мы примерно в одну минуту задачу сдадим, а добавить условие "юзать только ноду", так тут я сдам на неделю позже, потому что после каждой третьей строчки буду гуглить, как побороть асинхронность)
Joseph
Как можно пересылать json по сокету tcp сервера
Alexander
я например два часа убил на борьбу с асинхронностью чтобы вывести данные из api в формочку на vue. у меня от этого горело.
Alexander
потом пришло просветление, когда выяснилось что я делаю не так)
Alexander
но факт остается фактом: полностью асинхронный апи не всем и не всегда удобен. я вот про это говорю
Alexander
иногда мне наоборот не хватает асинхронности, такое тоже есть. есть масса задач, которые асинхронно решаются проще
Alexander
Дима
Нужно чтобы что?
Alexander
у меня такой кейс был:
приходит запрос от пользователя, нужно достать объект этого пользователя из коллекции, если его там нет, то получить по api, положить в коллекцию и отдать оттуда. async/await в то время еще не было. промисы только появились. в итоге пришлось заставлять метод UserCollection.get(id) возвращать промис, хотя можно было бы просто выполнить синхронно. сейчас да, есть async/await, и такие задачи решаются точно так же как синхронно, бесшовно
Алексей
у меня такой кейс был:
приходит запрос от пользователя, нужно достать объект этого пользователя из коллекции, если его там нет, то получить по api, положить в коллекцию и отдать оттуда. async/await в то время еще не было. промисы только появились. в итоге пришлось заставлять метод UserCollection.get(id) возвращать промис, хотя можно было бы просто выполнить синхронно. сейчас да, есть async/await, и такие задачи решаются точно так же как синхронно, бесшовно
Вообще был и есть babel и typescript, которые добавляли async/await туда, где его не было или нет.
Алексей
Для других языков транспиляция в более старую версию языка не очень распространено, но для JS - это норма.
Alexander
с TS я только год назад познакомился, он мне очень понравился, а вот про babel и сам факт существования async/await только пару месяцев назад, так что не очень это работало тогда. тогда лучше всего мне подходил вариант с синхронностью
Alexander
опять же дело привычки и предпочтений. мне например было бы удобнее, чтобы по умолчанию было всё синхронно и только при явном указании async вызов становился бы асинхронным. вкусовщина в общем
Алексей
Ну тогда да. Вообще на самом деле плохо, что нода родилась без таких удобных штук, хорошо хоть сейчас они появились.
Алексей
Алексей
А если не хочется ставить повсюду await, тогда в Go.
Alexander
на питона я уже давно смотрю, всё никак не попробую
Alexander
а шарп... сломается мой привычный воркфлоу: поправил строчку, F6 нажал)
Alexander
питон еще и непривычный слегка. по скобочкам скучать начинаю 😁😁😁
Alexander
потому вот для себя выработал такой вариант: всякие stateful штуки писать на ноде, а всё остальное на пыхе. для меня самый быстрый вариант получается
Alexander
главное не перепутать, потому что тогда получается хлам)
сomorsiс
ты перепутал
сomorsiс
нода для stateless