Максим
а что именно ты ставил?
Sem
sudo npm i -g mysql
Sem
да я понял, что уже что-то не то
Максим
через npm ставятся пакеты ноды
Максим
это штука для работы с мускулем, а не сам мускуль
Максим
советую прочесть https://habrahabr.ru/post/243335/
Sem
спасибо)
Vyacheslav
Всем привет! Вопрос по express: Есть файл, в нем я объявляю роуты след. образом:
app.use('/api/v1/:user', require('./routes/actions'));
app.use('/api/v1/:user', require('./routes/user'));
ну и собственно в файлах ./routes/actions.js экспортирую роутер от экспресса и юзаю как то так:
const express = require('express');
const router = express.Router();
router.post('/doAction', myfunction);
Ожидается, что для обращения к /doAction я должен обратится по адресу: /api/v1/someuser/doAction, оно так и работает, но почему - то req.params пуст. Можно его как то пробросить в myfunction?
Denis
Про over engineering
Denis
Отличная статья от мейнтейнера www.devopsbookmarks.com про ряд заблуждений, которые могут привести вас к тому самому состоянию over-engineering'а в вашем проекте, которое мы все всегда стараемся избежать.
http://amp.gs/8BUH
Evgeny
Vit@Lik
Выше писали что только для кеша
думаю все зависит от задачи - если у вас нет больших вычилений в памяти / реалтайм - то нода, если у вас предполагаются вычиления - то нода не подойдет - тк это один процес и ваши вычисления залочат всех, выбирайте java/golang/.netcore и тд
Александр
Evgeny
Их можно держать в памяти и переиспользовать. Я уверен что для этого есть уже модуль
Александр
Ну фиг знает. Если у тебя там такие крутые вычисления, то почему бы и процесс не поднять. Его же не обязательно убивать потом.
Vit@Lik
Их можно держать в памяти и переиспользовать. Я уверен что для этого есть уже модуль
Да можно, но зачем, если сама по себе нода не для вычилений создавалась,я о том, что более эффективно можно потоками внутри процесса управлять чем поднимать целый процесс для вычислений, просто все упирается в итоге в более эфективное управление ресурсами, вообще конечно, можно делать как выс казали спаунить и все, это уже выбор стратегии
Denis
Сейчас в @devops_ru начался holly war на любимую тему :)
Denis
и да golang все таки лучше для больших систем чем bash
Denis
но чем же плох golang для больших систем?
Denis
Слишком простой.
Denis
а чем же это плохо, быстрое обучение разработчиков, быстрая разработка, простая поддержка, не надо тратить 10 лет как на тот-же С++
Michael
Denis
так это и не мнение, а просто набор букв.
коллеги, у нас есть некоторое количество инструментов. все они довольно грубые, неудобные, ненадежные.
но других у нас нет.
выбор инструмента под задачу - отдельное умение, которое важно получить и развивать.
golang, при всей свое богомерзкости и хайпе - отличный инструмент как раз для вот этого вот круга задач. лучше всех остальных, что у нас есть. и это важно.
PS
отдельного порицания заслуживают люди, которые убедили себя, что есть инструменты, которые хороши. Питонисты часто этим грешат, и перловики.
Michael
В JIT вгрохано безумное количество человекочасов
Vladimir
ну очевидно что JIT медленне чем AOT в статически типзированном языке
Loyd
Зато он in time. Гугли перформанс strftime js против сишного
Vladimir
не смеши
Vladimir
js не может быть быстрее никогда
Vladimir
естетственно. там столько лишних проверок
Vit@Lik
jit тоько при пером старте медленней - дальше идет кэширование машинного кода и сишный компилятор - поэтому особой разницы не будет, только первое время работы
Vladimir
ну ребят, умоляю
Vladimir
jit может оптимизировать кусок кода неплохо - но при этом ему придется вставить куча проверок инвариантов
Vit@Lik
ну я не говорил что такой же перфоманс, но где-то близхко к нему будет
Loyd
Дык, тебе не надо чтобы весь код был быстрый
Loyd
Тебе надо, чтобы были быстры горячие места
Vladimir
она дает максимум возможности для оптимизациии, при этом нет необходимости в деоптимизациях
Vladimir
насчет мапов - ну может быть
Vladimir
это и есть статическая типизация)
Vit@Lik
ну дак и в cpp есть virtual те динамическое использование типов, если не так поправьте меня, в этом плане там же тоже должно быть достаточно проверок - точнее поиск по графу объектов, как и в jit
Vit@Lik
вобще нужны бенчмарки - так бесполезно)))
Vladimir
ну оно медленнее, естетсвенно
Loyd
Vitaliy не так, virtual это про виртуальную таблицу, т.е. полиморфизм подтипов
Vladimir
ну там есть indirection, он все замедляет конкретно
Vladimir
возможно это медленнее, чем оптимизированные объекты в v8
Vladimir
но это полиморфизм
Loyd
ну оно медленнее, естетсвенно
Надо определиться о чём мы говорим. В теории jit может быть быстрее, чем скомпилированный, потому что он знает на каком конкретно проце крутится и может сгенерировать сильно специфичный asm под это. Другое дело, что jit в основном в языках с большой динамикой и там это не сильно помогает.
Vladimir
я говорю про jit в js конкретно
Loyd
Но при это метапрограммирование никто не отменял и вот тут jit точно впереди.
Loyd
jit в js не бывает
Loyd
бывает jit в реализации
Vladimir
профит от знания конкретного процессора вряд ли имеет значимый вклад
Loyd
Имеет
Vit@Lik
влияет - он же инструкции генерит специальные
Loyd
Зацени компиляцию под какой-нибудь i686 и -native
Vladimir
я имеею в виду что jit в джаве и jit в js - не одно и то же
Vit@Lik
не могу понять что значит jit в js
Loyd
По сути одно и то же. hitspot (java) перегоняет байткод в машинный, а crankshaft (v8) — ast в машинный
Loyd
(немного вру, ибо там не ast, а выхлом от неоптимизирующего компилятора)
Vit@Lik
ну или msil в ютуе
Vit@Lik
.net
Vit@Lik
кстати у .netcore cli появился flag —native копиляцияя сразу в нативный код, интересно бенчмарк глянуть
Vlad
Vladimir
и не только - он ей и противоречит
Vlad
Vladimir
https://github.com/nodejs/node/issues/6673#issuecomment-218224365
Vladimir
один из примеров
Vladimir
думаю нет
Vladimir
ребята из v8 так говорят про производительность: нативные промисы медленнее, потому что они вынуждены исполнять спеку
Roman
Есть еще один случай: когда что-то сложное можно заменить простым
Roman
Например, регексп на поиск подстроки
Vladimir
знаю)
Vladimir
но иногда приходится шаманить с игнорами, это да
Andrey
а что вместо этого?
Vitaliiシ
Что лучше node js или python?
Roman
пхп
Artur
Что лучше, кабриолет или мопед?
Vitaliiシ
мопед
Vitaliiシ
не нравится мне кабриолет
Anton
Что больше, метр или килограмм?