Cenator 🐈
максимум браузер и версию оси
Anonymous
Nurik
Anonymous
тоже вижу что больше чем ОС не получается вытянуть
Anonymous
Nurik
аналитика
Можно чекать связку UserAgent и разрешение экрана.
Anonymous
Anonymous
на беке, вижу, никак
Anonymous
надо сомтреть фронт ((
Cenator 🐈
Alexander
привет
Alexander
кто-нибудь работал через ноду с ravendb?
Alexander
Кто-то сталкивался с google play music? Можно ли как-то выкачать музыку из этого сервиса непосредственно кодом?
Существует метод, сохранить треки на телефон что бы слушать онлайн, а потом с телефона используя этот трек и базу данных - декодировать музыку, что бы получить готовый mp3.
Но есть ли ещё способы? Может можно как-то слить музыкальный поток прямо со страницы пока музыка играет? Или есть предположения?
Тимофей 🛴
Alexander
Хотел бы получить доступ к гугл музыке, конечно.
Тимофей 🛴
Alexander
Отсутствует. Точнее, апи есть, но музыку скачивать оно не позволяет. Как я уже сказал, есть окольный метод и можно дешифровать музыку, которая скачивается приложением. Изначально на телефоне она зашифрована. Но меня интересует, может быть подскажут ещё варианты.
Anonymous
Vitaliy
уверен, можно при загруженной веб-версии, вытягивать через нее файлы. возможно, придется клеить чанки, загруженные с сервера, подменять audio api или еще что-то такое
главное — запустить свой js-код внутри страницы
Dmitry
https://www.npmjs.com/package/ngrok
Alexander
Anonymous
Контекст this?
Anonymous
Погугли, это элементарно
Vitaliy
сама функция foo
Vitaliy
ну потомучто ти записал ей как обьекту поле delay
Vitaliy
потому и обьект
Vitaliy
ну как-бы функция это и есть обьект
Dmitry
нет конечно
Vitaliy
как-бы она и до того была обьектом
Dmitry
просто смотря как вызывать ф-ю. И она будет ссылаться на новый абсолютно обьект
Dmitry
тут ты вызвал ф-. фу как obj.foo и поэтому контекст взялся от foo. Если вызывать ф-. просто то контекст глобальный или в случаю со строгим режимом Undefined
Vitaliy
MDN
Vitaliy
лучше нету
Dmitry
там все сложно пиздец. Но основы и понимания должны быть. Хоть не то то что там под капотом и почему так ведет себя
Vitaliy
там есть обучалка
Dmitry
https://github.com/azat-io/you-dont-know-js-ru
Dmitry
на русском
Aleserche
Не все конечно, но основы на русском
Dmitry
я сам читаю. и думаю перечитывать
Dmitry
в частности про this и прототип
Aleserche
Ну кроме того, что у стрелочных функций контекст захватывается, хз
Vitaliy
тебе же кинули ссылку
Aleserche
сделай debugger; да посмотри стек
Vitaliy
Dmitry
Стрелочные контекст выше берут
Vitaliy
не выше а вовремя обьявления
Belmo NaTazu
Ещё бы за let пояснить =)
Aleserche
https://github.com/azat-io/you-dont-know-js-ru/blob/master/scope%20%26%20closures/apC.md
Vitaliy
ну для стрелочных ты его не поменяеш
Aleserche
Стрелочные как сбербанк, где получали, туда и топайте
Belmo NaTazu
Dmitry
Belmo NaTazu
Меня больше let over lambda доставляет
Dmitry
Belmo NaTazu
Сразу хочется пойти лисп выучить
Belmo NaTazu
Тогда sicp в помощь
Belmo NaTazu
Он не оставляет вопросов
Dmitry
function foo(){
console.log(this)
}
//global
Это назвается привязка по умолчанию
Dmitry
А у тебя не явная привязка
Dmitry
Во втором случае
Aleserche
И привязано к функции. Тот же выхлоп будет, если просто набрать console.log(foo)
Dmitry
И явно можно привязать bind call apply
Dmitry
Что к чему? Глобальная область видимости в this у функции вызванной просто
Dmitry
function foo(){
console.log(this.a)
}
a = 1
// 1
Dmitry
Забей
Belmo NaTazu
This в js не прибитый гвоздями к контексту
Dmitry
Belmo NaTazu
Его можно потерять и или пробросить куда надо
Dmitry
Там уже не просто функция. Он не явно к фу привязался
Belmo NaTazu
Dmitry
foo
Belmo NaTazu
Не путайте вызов и декларацию блин
Dmitry
Явно привязать fun.bind(ctx)
Aleserche
var foo = function () {
console.log('foo');
}
foo.delay = function (ms) {
setTimeout(() => {
console.log(this === foo);
}, ms);
};
foo.delay(1000);
что выведет?
Belmo NaTazu
На каком языке до этого писал?