Vladimir
Не, Род
Anonymous
оО
Anonymous
кстати, что такое D&I?
Anonymous
диверсити и инклюзивити видимо
Vladimir
ага
Vladimir
Короче, sjw как всегда
Anonymous
а Род-то что? он ваще молчит обычно и только по тех части пишет
Vladimir
https://github.com/nodejs/TSC/issues/310
Anonymous
лол ваще
Anonymous
про твиттер просто пиздец
Anonymous
что это за бот? он по несколько раз в день заходит
Vladimir
Хз. Вроде ничего не делает
Vladimir
Забавно. Бен и Родд - пожалуй два человека, оказавших максимальное влияние из текущей команды
Vladimir
Обоих пытались слить под левыми предлогами
Anonymous
лол https://twitter.com/maybekatz/status/899756026538278913
Anonymous
го кс я создала
Anonymous
кто уже поставил айожс?
Anonymous
надо настроить бота
0xVoushi
кто уже поставил айожс?
Совпадение? Не думаю...
Anonymous
😂
Kons
hamper 𓅝
Зависит от размеров файла например, или от дого дописывание это или перезапись.
hamper 𓅝
Как бы всякие nginx тоже логи писать могуть десятками мегабайт в минуту.
hamper 𓅝
Ну кеш лишним не будет, и скидывать в файл только периодически, если возможно, хотя если ты там гигабайтами не пишешь то в целом пофиг.
Nikita
Ох.
Ihor
Если у тебя не миллион логов в секунду то ничего страшного не будет)
Андрей
Добрый день, решил поковырять sails, можете подсказать на сколько он актуален и как часто его берут за основу для реальных проектов?
Хмм
Вообще не актуален
Андрей
а чему стоит уделить внимание кроме express ?
Андрей
смотрю в топе koa , meteor
Хмм
Количеству сделанных проектов вами.
Gleb
Я бы ещё Restify в этот список внёс. Но это ж не фреймворки типа ASP.NET, а маленькие либы для HTTP. Их не совсем корректно называть фреймворками.
Egor
смотрю в топе koa , meteor
koa стоит уделить внимание, там мидлвары легче делать и ошибки обрабатывать, так как все на асинках можно делать + koa супер легковесный (0 бойлерплейта) и к тому же от разработчика, который раньше разрабатывал и поддерживал express
Kons
... а потом ушел в го
Андрей
Спасибо
Jąńek
От TJ в смысле?
Jąńek
Он до этого и в рубя коммитил
Jąńek
Это скорее про его личные интересы, а не про языки
Jąńek
Keystone кто-нибудь юзает/юзал?
Jąńek
Поделитесь впечатлениями
Богдан
koa стоит уделить внимание, там мидлвары легче делать и ошибки обрабатывать, так как все на асинках можно делать + koa супер легковесный (0 бойлерплейта) и к тому же от разработчика, который раньше разрабатывал и поддерживал express
Мне например не нравится что koa вводит новую абтракцию в виде контекста и предлагает учить кучу свойств и методов вместо того чтобы передавать нативные нодовские request и responce в аргументах миддлварки. В итоге после того как я разобрался в его исходниках я понял что на самом деле паттерн миддлваров насколько простой что укладывается в пару строчек. Вот пожалуйста мини-koa без в 10 строчек var http = require('http'); var server = new http.Server(); var middlewares = require('./middlewares'); var handler = middlewares.reduceRight((acc, m)=>m.bind(null, acc), async()=>{}); server.on('request', (req, res)=>{ handler(req, res); }) server.listen(3000, 'localhost');а сами миддлварки которые принимают request и responce и следующую миддлварку (next) выглядят так module.exports = [ async (next, req, res)=>{ console.log('before', req.method, req.url); await new Promise(res=>setTimeout, 1000); await next(req, res); console.log('after'); }, async (next, req, res)=>{ console.log('before'); res.end('hello, world'); console.log('after'); } ]Плюс у коа есть еще недостаток что не кеширует миддлварки и на каждый реквест создает новые забидненные функции, в то время когда в моем примере хандлер собирается только один при старте раз а на реквест потом его достаточно просто вызвать. В общем я в своих проектах пришел к тому что мне не нужна лишняя асбракция в виде фремвока и дополнительной документации которую нужно учить когда достаточно обычной ноды
Egor
в коа есть алиасы req/res и еще, можно было просто в аргументах деструктуризовать поля и достать их, ну пример очевиден app.use(async ({ req, res }, next) => { // to something });
Dmitrii
Её не надо учить у коа дока минимальна и проста
Egor
+
Dmitrii
Плюс в коа и экспрессе в том, что есть куча готовых мидлваров, которые отлично работают. Тебе же прийдется писать свои на каждый чих
Богдан
Плюс в коа и экспрессе в том, что есть куча готовых мидлваров, которые отлично работают. Тебе же прийдется писать свои на каждый чих
Возможно это и плюс для тех новичков которые каждый раз для решения какой-то задачи идут гуглить специальную миддлварку которая сделает все за них, но мне например было достаточно выучить апи ноды и в итоге я на порядок быстрее напишу нужную миддлварку самому чем потрачу кучу времени на гугление, потом на изучение документации и эксперименты а потом на возню и костыли когда что-то там нету или сделано не так и т.д. К тому же для реального проекта огромной тучи миддлваров обычно не нужно - достаточно миддлварки боди-парсера и отдачи файла и миддлварки отдачи статических файлов которые занимают в сумме не больше 150 строчек
Egor
Max одно дело, когда ты используешь библиотеку, которую покрыли тестами на 100 процентов и другое дело, когда ты пишешь свой код в прод..
Egor
ну последствия очевидны
Dmitrii
"в итоге я быстрее напишу нужную миддлварку самому чем потрачу кучу времени на гугление" - без обид, но это будет с большей вероятностью не production ready говнокод, те мидлвары отличаются не только тем что они готовые, но и тем, что кроме того, что бы просто выполнять задачу, там продуманы куча edge case, и собранно огромное количество опыта и граблей множества разрабов, понимаешь?
Egor
+
Ivan
" ...в итоге я на порядок быстрее напишу нужную миддлварку самому..." (с) Max тоже так хочу )
Dmitrii
можно сделать fileStream.pipe(res) чтобы отдать файл в одну строку без middleware, но адекватным людям понятно, что это хуйня, т.к добавив правильную обработку ошибок, edge case - это преватиться в 20 а то и более строк
Alex
Бесплатный митап о смартконтрактах для разработчиков
Alex
https://atlasblockchain.timepad.ru/event/559921/
Богдан
"в итоге я быстрее напишу нужную миддлварку самому чем потрачу кучу времени на гугление" - без обид, но это будет с большей вероятностью не production ready говнокод, те мидлвары отличаются не только тем что они готовые, но и тем, что кроме того, что бы просто выполнять задачу, там продуманы куча edge case, и собранно огромное количество опыта и граблей множества разрабов, понимаешь?
Ну я не знаю как другие но я сначала будучи джуниором тоже тащил в проект каждую зависимость. Потом я начал разбираться а что собственно я тащу? Кто то может сказать какие собственно эдж-кейсы решает какая-то миддлварка? Для этого нужно знать что делает каждая строчка в проекте. Я очень сомневаюсь что перед тем как тащить внешнюю библиотеку разработчик изучает каждую сточку кода. А если нет то это лишь доверие к автору + необходимость учить документацию и разбирать и экспериментировать кучу нюансов в настройках + дополнительная зависимость которую нужно вовремя обновлять и изучать нюансы новых релизов. Кстати попробуйте посмотреть что делает миддлварка статического сервера у коа - у нее там зависимости у которых другие зависимости и т.д - в итоге мне пришлось перерыть около 10 пакетов чтобы собрать весь код и разобраться в эдж-кейсах . В итоге эдж-кейсов оказалось немного а 99 процентов кода это куча лишних абстракций разбросанных по разным пакетах
Egor
т.е. ты считаешь, что писать сервер "с нуля" будучи не джуниуром - это нормально?
Богдан
т.е. ты считаешь, что писать сервер "с нуля" будучи не джуниуром - это нормально?
Писать сервер с нуля у меня по затратам времени не отличается от настройки окружения для фронтенд-фремворков. Можно конечно написать конфик вебпака и использовать его как внешнюю npm-зависимость но так обычно никто не делает а кладет файл с конфигом прямо в проект скопировав с другого проекта если лень печатать. Вот так и у меня с сервером.
Egor
Холиварчик, холиварчик, с одной стороны нужно понимать как это внутри работает, это да, но с другой, время своё нужно экономить
Таймураз
Потому!!!
Таймураз
Тут нет чародеев и чудеса творящих Логи в студию
Aleksand
почему у меня все работает а у тебя нет ???
Таймураз
почему у меня все работает а у тебя нет ???
Просто ты на винде все делаешь, а он на линуксе!
KlonD90
я к тому что в экосистеме nodejs половина библиотек написано наглухо отмороженными людьми и чтобы что-то брать особенно какую-нибудь middleware стоит трижды подумать
Aleksand
Просто ты на винде все делаешь, а он на линуксе!
я на винде не делаю ничего) но я надеялся что человек поймет аналогию)
Таймураз
Блин Купил ноут, у которого куча плюшек на десятой винде, но у докера под винду куча багов, не могу тестить все проекты, что в раз запускаются на линухе(
Egor
@Atassis аъъаъаъаъаъаъаъаъ
Egor
я мак собираюсь купить, ну эту винду
Таймураз
На мак нативного докера тоже нет
Таймураз
My turn now @egoarka аъъаъаъаъаъаъа
Таймураз
я недавно пробовал поставить. не, жизнь коротка и не стоит ее тратить на это
Блин, не запускать же виртуалку на двухядерном ультрабуке
Aleksand
На мак нативного докера тоже нет
на маке он отлично работает, с известными слабоумными фичами но работает
Egor
))
Aleksand
Блин, не запускать же виртуалку на двухядерном ультрабуке
покупай макбук и забудь о всех проблемах
Таймураз
покупай макбук и забудь о всех проблемах
Кроме как докер, все остальное збс Пользуюсь каждый день, заряжую раз в двое суток