@nodejs_ru

Страница 173 из 2748
Никита
01.09.2016
10:35:53
То есть ему нельзя сказать строго чекать всё в папке?

@vkurchatkin Ясно, спасибо.

Vladimir
01.09.2016
10:59:09
какие блокирующие асинк-операции есть в браузерах?

Amir
01.09.2016
10:59:36
юзер?

Google
Amir
01.09.2016
10:59:43
сидит и ковыряет в носу)

а можно пример блокирующего асинка в жс? или именно в браузере имелось ввиду?

Никита
01.09.2016
11:00:45
Vladimir
01.09.2016
11:01:00
в плане в ноде это fs.readFileSync

Amir
01.09.2016
11:01:09
ну я встречал такие) операция записи кеша, когда места нет а браузер пытается записать и все виснет нахер

Vladimir
01.09.2016
11:01:10
по идее асинк

Никита
01.09.2016
11:01:13
так это синк

Vladimir
01.09.2016
11:01:14
но блокирующие

Никита
01.09.2016
11:01:26
ну, например, xmlhttprequest можно синхронный послать

ты это имеешь ввиду?

Amir
01.09.2016
11:01:31
владимир синк блокирующие асинк неблокирующие

ну там относительная синхронность

таймеры и прочее все равно будут работать

Google
Amir
01.09.2016
11:01:59
в рамках скоупа будет относительно синхронно

Amir
01.09.2016
11:02:21
в браузере

и v8 в ноде

Никита
01.09.2016
11:02:27
в синхронном хмлхттпреквесте?

таймеры не будут работать

там ничего не будет работать, всё подвиснет

Amir
01.09.2016
11:02:50
пруф?

мы щас про ноду или браузер?

Vladimir
01.09.2016
11:03:28
про браузер

Amir
01.09.2016
11:03:41
ну там где-то был чатик про чистый жс

без ноды

наверное было бы не плохо спросить там

Vladimir
01.09.2016
11:04:03
fs.readFileSync я привёл в пример операции которая по сути асинк, но блокирующая

Amir
01.09.2016
11:04:03
потому что в ноде синхроный "аякс" реквест сделать можно но таймеры он не сломает

единственное чем можно ушатать ноду в блокирующий режим считать в вечном цикле в туда и сюда

тогда eventloop не получит свистка, что есть окно для работы

или я что-то упускаю из принципа eventloop?

Dreamerinnoise
01.09.2016
11:07:17
.pipe(doingStuff()) const doingStuff = () => { return through.obj(function (file, enc, cb) { ffmpeg('path/to/file.mp3').ffprobe((err, data) => { console.log(data.format.duration); }); cb(null, file); }, function(cb){ console.log('flush'); cb(); }); }; [13:42:44] Starting 'audioAssets'... 5.799125 3.604875 1.828563 4.466938 0.679125 flush [13:42:45] Finished 'audioAssets' after 767 ms [13:42:45] Finished 'build' after 786 ms 1.201625 Почему так? Я что-то не догоняю ?

Amir
01.09.2016
11:08:59
гистом не учили пользоваться?

Google
Dreamerinnoise
01.09.2016
11:09:03
Неа

Amir
01.09.2016
11:10:20
ну ок, тогда и читать не обязательно)

マイク
01.09.2016
11:10:53
Vladimir
01.09.2016
11:11:29
по сути операция асинк

マイク
01.09.2016
11:11:42
по какой сути?

Vladimir
01.09.2016
11:11:43
но в таком исполнении конечно же синк и потому блокирующая

IO всегда асинк (fs, network)

マイク
01.09.2016
11:12:12
нет

как же оно там в кишках устроено — не имеет значения абсолютно

чего хочешь-то в окончательном итоге узнать?

ты что-то скрываешь

да, там может быть aio и принудительный слип до возвращения колбека, но сути это не меняет

マイク
01.09.2016
11:13:35
оно синхронное

Amir
01.09.2016
11:14:00
вот рандомно тыкнул

почти в тему

Никита
01.09.2016
11:16:53
пруф?
const r = new XMLHttpRequest(); r.open('GET', 'https://www.angio.net/pi/digits/pi1000000.txt', false); r.send();

В консоли браузера.

У тебя даже прокрутка отвалится.

И ресайз.

И все остальные вкладки, открытые в этом процессе.

Google
Никита
01.09.2016
11:18:06
ой-ой я не то указал, простите.

const r = new XMLHttpRequest(); r.open('GET', 'https://skimdb.npmjs.com/registry/_design/scratch/_view/byField', false); r.send();

Вот то =)

Первое заблочится же.

Amir
01.09.2016
11:19:51
плять да причем тут консоль браузера

Никита
01.09.2016
11:20:24
А ты о чём?

Ты просил для браузера пример синхронных долгих запросов.

Это он.

Amir
01.09.2016
11:21:08
я не просил

Admin
ERROR: S client not available

Roman
01.09.2016
11:21:10
а раздача статики нодой - это плохо?

Amir
01.09.2016
11:21:13
я просил с браузером идти в соседнюю конфу

статики да

динамики нет

и твой пример у меня нифига не заблочил)

Roman
01.09.2016
11:22:49
статики да
почему?

Amir
01.09.2016
11:23:05
Странный вопрос

Потому что Apache это сделает быстрее

даже апач! карл

или ты надеешься в ноде запустить в кластере балансировку?

Google
Amir
01.09.2016
11:23:52
а то что оно основано на udp вас не смущает?)

что если пакет не дойдет то и хер с ним

когда упрешься в производительность ноды в 1 потоке

что будешь делать?

KlonD90
01.09.2016
11:24:40
хапроси

Amir
01.09.2016
11:24:43
балансировать ее чем-то сверху

вот

только смысла от хапрокси последнее время только ссл проксить

KlonD90
01.09.2016
11:25:03
Импресс что ли обсуждаете?

Amir
01.09.2016
11:25:05
а последний nginx тоже теперь умеет проксить udp

так вот вопрос собсвенно в обратку

а почему у вас в голове рождается идея отдавать статику на ноде

и других языках?)

типа 1 точка входа там и код и статика и блекджек с поетесаами и все все?

KlonD90
01.09.2016
11:27:02
Go и есть статика

Amir
01.09.2016
11:27:16
го тут причем?)

Bogdan
01.09.2016
11:27:20
на продакшене всегда статику раздаю через nginx

Amir
01.09.2016
11:31:46
я все вдокере держу

один фиг поправил 3 строчки и прод

Павел
01.09.2016
11:40:16
А как, кстати, правильно раздавать статику от nodejs-приложения, если оно в докере?

Denis
01.09.2016
11:41:06
Мы через отдельный image с nginx и node.js, т.е. кастомизированный Dockerfile, который после сборки вместо запуска Node.js app запускает nginx

KlonD90
01.09.2016
11:41:51
ну а какие проблемы? мапишь ее на реальную папку и оттуда отдаешь

Страница 173 из 2748