

Nikolay добряш
21.06.2016
18:19:12
Вчера опубликовал слайды с выступления на AgileDays 2016 в марте. Получил много благодарностей за это выступление и многим оно оказалось полезным. Основная часть была взята с ноябрьского выступления.
"2016 год. Добро пожаловать в новую реальность.
Сегодня позиция JavaScript-разработчика является одной из самых востребованных и хорошо оплачиваемых в мире. Современные возможности JavaScript - это квестистенция всего, что произошло в отрасли разработки за всё её время существования: универсальные React-компоненты и композиция, декларативная анимация, изоморфные приложения, отсутствие side effects, авто-генерация тестов, симбиоз ООП и функционального программирования.
Последние три года выдались самые насыщенные революционные для веб-разработки. Многие разработчики, кто не успел уследить за произошедшим, задают лишь один вопрос ЧТО ПРОИСХОДИТ?
В рамках этого доклада мы попробуем синхронизироваться с JavaScript сообществом и посмотреть, что же он предоставляет нам сегодня? Как решать задачи привычные задачи? Что является актуальным направлением, а что может стать пустой тратой сил и времени?"
http://www.slideshare.net/denisizmaylov/javascript-react-redux-63287677
Видео как всегда нет наверное:(


Denis
21.06.2016
18:26:50
Скоро опубликуют тоже =)

Oleg
21.06.2016
18:36:00
Ждём-с видео

Roman
22.06.2016
07:29:20
если кто не в курсе - в телеграме можно удалять свои сообщения

Google

Yan?
22.06.2016
07:31:27
лол
реально

Roman
22.06.2016
07:31:43
это ж телеграм йо

Yan?
22.06.2016
07:32:08
я думал чатики на такое никогда не пойдут)

Oleg
22.06.2016
07:33:23
Ты их удаляешь только из своей истории, бро

Andrey
22.06.2016
07:33:51

Oleg
22.06.2016
07:34:13
Попробуй удалить, Ян

Roman
22.06.2016
07:35:11
в скайпе ж так тоже можно было
только там оставалось мол "Сообщение удалено"

Oleg
22.06.2016
07:35:48
В скайпе да

Roman
22.06.2016
07:35:48

Yan?
22.06.2016
07:36:18
да я написал такое сообщение за которое меня бы тут кильнули
но никто не узнает че там

Google

Oleg
22.06.2016
07:37:04
Такая фича только в супер группах и каналах?

Yan?
22.06.2016
07:37:59
в обычном чатике это было бы слишком)

Roman
22.06.2016
07:38:40
в этом чате были шутки про твою мамашу! да, да, про твою бро
но мы их удалили
???

Roman
22.06.2016
07:40:58
насколько я понял вот здесь это было реализовано
https://github.com/telegramdesktop/tdesktop/releases/tag/v0.9.49

Artur
22.06.2016
09:21:42
Угадайте, что получится
["C:", "path", "to", "something"].reduce((l,r) => path.resolve(l,r))

Denis
22.06.2016
09:28:39
классно

Artur
22.06.2016
09:29:20
Короче, юзкейс такой.
OS Win, npm run scriptname в котором есть такая конструкция
Вернет путь не от C:, а от текущей директории
т.е. получится что-то вроде C:\\Workings\\Dir\\C:\\path\\to\\something
Если через node запускать, все ок
Вопрос. Чем там занят npm?
Я нашел багу?
$ npm -v && node -v
3.9.5
v6.2.2

Denis
22.06.2016
09:33:13
$ node
> ["C:", "path", "to", "something"].reduce((l,r) => path.resolve(l,r))
'/Users/denisizmaylov/Sites/C:/path/to/something'

Artur
22.06.2016
09:33:50
Это потому что у тебя macos

Denis
22.06.2016
09:33:53
А зачем вообще такая сложная конструкция? Почему не resolve(join(..))?
Но тоже относительно текущего пути

Google

Vladimir
22.06.2016
09:34:06
Йеп

Artur
22.06.2016
09:34:08
Потому, что мне надо весь путь собрать.

Vladimir
22.06.2016
09:34:22
Join соберёт

Artur
22.06.2016
09:34:25
там внутрях paths.push(path.resolve(l,r))

Denis
22.06.2016
09:34:35
path.join() смотрел?)

Artur
22.06.2016
09:34:46
Не, он соберет, вопрос что за поведение такое?

Roman
22.06.2016
09:34:48
так а винда же вроде научилась нормальные слэщи воспринимать, не?

Vladimir
22.06.2016
09:35:14
["C:", "path", "to", "something"].reduce((l,r) => path.win32.resolve(l,r))
'C:\\path\\to\\something'

Artur
22.06.2016
09:35:20

Vladimir
22.06.2016
09:35:37
Покажи, что тебе нужно сделать
Input -> result

Artur
22.06.2016
09:36:03
Из под npm run результат все тот же
Задача простая, получить от __filename массив путей

Admin
ERROR: S client not available

Artur
22.06.2016
09:37:45
аля
/a/b/c.js
['/a', '/a/b']

Vladimir
22.06.2016
09:37:47
Npm подменяет path
И cwd я уверен другой

Google

Vladimir
22.06.2016
09:38:31
__dirname наверное тоже

Vladimir
22.06.2016
09:38:58
да не, ну не должно такого быть

Artur
22.06.2016
09:39:11
Показываю

Vladimir
22.06.2016
09:39:22
Npm подменяет $PATH, я хотел сказать

Artur
22.06.2016
09:39:32
const path = require('path');
console.log(__dirname);
console.log(__dirname.split(path.sep).reduce((l, r) => path.resolve(l, r)));
$ npm run path
C:\dev\project
C:\dev\project\dev\project
$ node path.js
C:\dev\project
C:\dev\project

Vladimir
22.06.2016
09:41:15
а можно весь лог вызовов редьюсера?

Artur
22.06.2016
09:41:32
Я в него тоже долго втыкал
ща
C: dev
C:\dev\project\dev project
C:\dev\project\dev\project

Vladimir
22.06.2016
09:46:03
Покажи process.cwd() в обоих случаях

Vladimir
22.06.2016
09:46:07
не воспроизводится
https://github.com/nodejs/node/blob/master/lib/path.js#L170-L182
вот это выглядит подозрительно

Artur
22.06.2016
10:11:52
Кстати, да, если C:\\ написать, то все ок
Но в любом случае, не очень понятно, почему через npm run поведение отличается.

Google

Artur
22.06.2016
10:13:14
Кстати, не воспроизводится на винде же? И какие версии npm и node?
Короче, надо найти траблу и сделать пулреквест в ноду!