М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 3 июня 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

9 Кб, 1052x1052

3 Кб, 168x168

JavaScript перекат-эдишн #260317 26 Мар, 17:08 #961365 В конец треда | Веб

прошлый >>946859 (OP)

Ответы961371961733961947962914963097963633965531965671965836966664968295970939971800

26 Мар, 17:20 #2 #961371

>>961365 (OP)

знатоки, подскажите плиз, как в хроме и ноде смотреть дерево вызова объектов и как лучше писать не блокирующий код, м/б для п 2, есть какой-то универсальный рецепт?

Ответы961672

26 Мар, 20:32 #3 #961452

Подскажите, что такое Browser API?

Ответы968721

26 Мар, 21:04 #4 #961467

Антон, нужна твоя помощь.

На textarea весит on.change, который вызывается при каждом нажатии и выводит в консоль символы. Как написать так, чтобы выводились все символы разом(после некоторого таймоута)?

Ответы961494961499961500

26 Мар, 21:05 #5 #961468

господа, можете подсказать по селениуму на жс? установил себе java, selenium-standalone-server, node-js (в нем скачал пакет selenium-webdriver), скачал и добавил в paths chromvewebdriver, нашел простейший пример в виде

const {Builder, By, until} = require('..');

var driver = new Builder()
.forBrowser('chrome')
.build();

driver.get('http://www.google.com/ncr')
.then(_ => driver.findElement(By.name('q')).sendKeys('webdriver'))
.then(_ => driver.findElement(By.name('btnG')).click())
.then(_ => driver.wait(until.titleIs('webdriver - Google Search'), 1000))
.then(_ => driver.quit());

затем сохранил и столкнулся с тупейшим вопросом. А как это запустить в селениуме? При установке руководствовался статьей https://habrahabr.ru/company/yandex/blog/173769/ и гуглом

Ответы961502

26 Мар, 21:47 #6 #961494

>>961467
Или лучше, что написать, чтобы console.log или другая функция срабатывала на последнем нажатии on.change, а не каждый раз. Как это отследить?

Двачик, помоги.

Ответы961619961670

26 Мар, 21:53 #7 #961499

>>961467
http://pastebin.com/wVv8qLGH
вот так

26 Мар, 21:54 #8 #961500

>>961467
https://learn.javascript.ru/task/throttle

Ответы961898

26 Мар, 21:58 #9 #961502

>>961468
пишешь конфиг, указываешь путь к спеке, запускаешь нодой
http://webdriver.io/guide/getstarted/configuration.html

26 Мар, 22:30 #10 #961537

Какое же все-таки говно этот ваш жс. Вроде бы 2017 год на дворе, но нет, на каждый чих нужно бороться с ахуенными проблемами вроде плохой поддержки какой-то фичи каким-то браузером, обвешивать свои скрипты тоннами костылей, чтобы получить возможность хоть немного приблизить эту ссанину к виду человеческого ЯП. По количеству костылей и велосипедов, вкладывающихся друг в друга, переводящих импорты в коммонжс, коммонжс в амд, амд в <скрипт>, асинхи в промисы, промисы в колбэки, темплейты в jsx, jsx в html, навешивающих поверх всей этой вакханалии типы, список можно продолжать бесконечно - он приближается, если не перегоняет уже, тырпрайзную жабу. И это ебучее стремление переписывать абсолютно все уже давно существующие, стабильные, всем знакомые решения на точно такие же, только с более нескучными конфигами. Родина дала мэйкфайлы, которыми еще диды процессы сборки автоматизировали - нет блять, хочу наизобретать хуеву гору своих велосипедов. Просто фу блять, фу нахуй

Ответы961561961586961671961682

26 Мар, 23:00 #11 #961561

>>961537
Просто разработчики ФРОНТЕНДОВ и дипломированные специалисты по BOOTSTRAP вместо того, чтобы делать просто, делают все сложно чтобы сделать индустрию, рабочие места и высокую зарплату. Хитрый план.

Ответы961586

27 Мар, 00:07 #12 #961586

>>961537
>>961561
уебывай

Ответы961616

27 Мар, 01:42 #13 #961616

>>961586
Значит правда.

27 Мар, 01:48 #14 #961619

>>961494
Наканецта завезли неразрешимые задачи. Последнего нажатия не бывает. Компьютер не может узнать, нажмёшь ты кнопку после этого или нет. Лучше объясни, что ты хочешь получить на выходе

167 Кб, 1755x449

27 Мар, 07:03 #15 #961657

Всем привет. Нужна помощь по css-селекторам. Весь гугл перехуячил, но ничего не выходит. Имеется два элемента class с одинаковым именем info. Скриншот прилагается.
Так вот в одну переменную мне нужно записать Имя команды, во вторую- позицию игрока.
При команде var team=$("div.info").text();
Я получаю ответ SouthamptonGoalkeeper.
Как мне обратиться к каждому конкретному элементу? Или хотя бы разделить сроку так, чтобы я мог присвоить Goalkeeper для другой переменной?

Ответы961663962195

27 Мар, 07:27 #16 #961663

>>961657
Добавь к селектору указание на четность\нечетность элемента.

27 Мар, 08:08 #17 #961670

>>961494
>что написать, чтобы console.log или другая функция срабатывала на последнем нажатии on.change, а не каждый раз. Как это отследить?
debounce

Ответы961898

27 Мар, 08:12 #18 #961671

>>961537
>говно этот ваш жс
Да.
>немного приблизить эту ссанину к виду человеческого ЯП
Тайпскрипт, scala.js
>если не перегоняет уже, тырпрайзную жабу
Не перегоняет. Если пишешь только под новые браузеры - можно исключить тот же бабел например.
>мэйкфайлы
Ты ими собирал хоть что-нибудь сложнее хелло ворлда? автотулс это ужасная, страшно неудобная вещь конца 20 века.

Ответы961673

27 Мар, 08:12 #19 #961672

>>961371
>как лучше писать не блокирующий код
callback hell

Ответы961768

27 Мар, 08:42 #20 #961673

>>961671
>Тайпскрип
И навесить очередной велосипед, транслирующий тайпскрип в ес7, ес7 в ес6, ес6 в ес5, потом прикрутить полифилл...
>Ты ими собирал хоть что-нибудь сложнее хелло ворлда? автотулс это ужасная, страшно неудобная вещь конца 20 века.
Я-то собирал. Хочешь сказать, что ссанина с нескучными конфигами, которую дополнительно нужно изучать, охуенно удобна?

Ответы961691

27 Мар, 09:30 #21 #961682

>>961537
У очередного закостенелого припекло от того, что все не так, как он привык. Будь гибким как вода ну или страдай.

27 Мар, 09:46 #22 #961691

>>961673
>которую дополнительно нужно изучать
Писал на С# до этого, ничего не изучал - надстройка проста и понятна, достаточно часов читнуть документацию.

Ответы961692

27 Мар, 09:46 #23 #961692

>>961691
>часок
fix

97 Кб, 1080x1080

27 Мар, 12:13 #24 #961733

>>961365 (OP)
Разъяснения по ридаксу от анона. Рекомендую.
https://www.youtube.com/watch?v=PG0YuLY2Qic&t

Ответы961754961874962248969263

27 Мар, 13:23 #25 #961754

>>961733
астанавитесь, сколько можно снимать одно и тоже

27 Мар, 13:25 #26 #961756

Дочитал вторую часть учебника(про дом) кантора. В какую сторону дальше двигаться, сразу в фреймворки вкатываться или лучше еще что нибудь почитать? Алсо как дела обстоят с работой в дс2, какой фреймворк перспективней всего учить чтобы проблем с работой и зарплатой не было?

Ответы961763

27 Мар, 13:44 #27 #961763

>>961756
Сделай что-нибудь на ваниле. С приминением этих знаний.
Если ничего не можешь придумать - wes bos javascript30 (просто чтобы база в голове закрепилась)/
Потом пару дней поковыряй апиху jq, lodash/ramda.

Далее да, фреймворки.
Но если не знаешь про сборку/автоматизацию то полезно будет глянуть от Кантора по ноде/вебпаку/галпу сринкасты его.

Из фреймворков выбирай любой из:
1) React + Redux
2) Vue + Vuex
3) Angular

Даже после изучения фреймворков (и во время) можешь углублять понимание ваниллы: например по книгам из этого списка https://github.com/javascript-society/javascript-path и статьям всяким.

Если же в ноду хочешь, то тут ничего кроме express не подскажу, сори

Ответы961838961934

27 Мар, 14:01 #28 #961768

>>961672

да это понятно, но у меня всё сложней, как быть если операция блокирующая? например итерация объектов/массивов, релейт http://stackoverflow.com/questions/8413857/whats-the-smartest-cleanest-way-to-iterate-async-over-arrays-or-objs

вроде как для этого есть либа https://github.com/caolan/async

но я хочу понять как это сделать "ручками", без либ

ок, буду гуглить дальше

Ответы961787

27 Мар, 14:56 #29 #961787

>>961768
а ты сможешь(хотя бы для себя) ответить на вопрос "что такое блокирующий код"?
Ну а если ты хочешь руками асинхронно перебрать массив, то эт наверное генераторы нужны (es7 async/await), но пример сходу я показать не смогу. Если что-нибудь получится, отпиши

Ответы961926961938

4 Кб, 200x112

27 Мар, 16:03 #30 #961838

>>961763
Спасибо няш.

27 Мар, 16:43 #31 #961874

>>961733
Посмотрел 15 видео подряд. Голова болит от говорилки. Наберись смелости и записывай свой голос. Вставки из фильмов — ок, но вот братишки и прочей хуйни было слишком много и не к месту. Базарить надо попроще и покультурнее со своими подписчиками. Если ты хочешь, чтобы у тебя было 3.5 подписчика — продолжай в том же духе, иначе меняй стиль общения, тебя могут смотреть люди не только с двача и не только школьники.

Ответы961877962248

27 Мар, 16:43 #32 #961877

>>961874
Добавлю: сам контент неплох, норм поясняешь.

27 Мар, 17:02 #33 #961897

Котаны, шалом.

В вашем треде есть ликбез? Или я его проебал?

Я мимо-сисадмин, чет мясяца-полтора назад увлекся версткой, мне доставляет весь этот огород городить на css и html, однако в определенный момент я понял что без ЖабаСкрипт никуда.
В универчике писал программки на турбо паскале, давным-давно, да и все.
Но общий принцип циклов, массивов и прочих операторов помню (кажется).
Подскажите нормальных книг по джаваскрипт, ну и нормальную книгу по собственно логике программирования как таковой, что бы освежить воспоминания, и совсем уж макакой не быть.
Сейчас изучаю по урокам https://learn.javascript.ru/
у этого типа есть платный курс - он стоит своих денег может знает кто?

Очень уж хочется порадовать мир еще одним "hellowordom", аж кушать не могу.
Но совсем уж мартышкой быть не хочется.

Ответы961918961934961953962046

27 Мар, 17:02 #34 #961898

>>961670
>>961500
Спс, то что нужно.

27 Мар, 17:17 #35 #961918

>>961897
>он стоит своих денег может знает кто
JS-курс — тупо пересказ учебника + общение с преподом. Общение такое себе, просто разбирает решения задач.

>логике программирования
Не уверен, но вроде бы должна подойти книга под названием Eloquent JavaScript (есть годный перевод "Выразительный JavaScript").

Ответы961979

27 Мар, 17:22 #36 #961926

>>961787
>эт наверное генераторы нужны
нахуя? пул с онкомплит пишется на коленке и отлаживается за полчаса тестов на хелловорлдах

27 Мар, 17:26 #37 #961934

>>961897
Привет.
Для начала перестань глумиться над названием языка.

Отвечая на вопросы- learn.javascript.ru норм. Выше чуваку писал где еще книги можно глянуть. >>961763

Курс же, как тебе написали, тупо по учебнику. На мой взгляд не стоит своих денег это.

Нормальную книгу по логике прораммирования, хм, SICP))

Я думал сисадмины, всякие скрипты то попиливают (не раз такое слышал).

Ответы961979

113 Кб, 600x442

27 Мар, 17:30 #38 #961938

>>961787
>а ты сможешь(хотя бы для себя) ответить на вопрос "что такое блокирующий код"?

если я правильно понял, любой цикл - блокирующая операция.

если ты перебираешь массив/объект, ты всегда используешь какой либо цикл, и это будет блокировать твой код, код будет стоять, пока не закончится перебор всего объекта. ЖС однопоточная.

Ответы961955961983

27 Мар, 17:46 #39 #961947

>>961365 (OP)
Котоны, нужна помощь. Имеется сайт, на который пользователь может загрузить аудиофайл, после чего проиграть его и в процессе посмотреть на визуалиацию.
Но так как место на сервере не резиновое, пытаюсь прикрутить поддержку какого-нибудь облачного хранилища музыки. То есть, чтобы юзер вбивал в форму на сайте ссылку с песней из этого хранилища и она проигрывалась. Пробовал использовать для этого SoundCloud API, вроде он как раз умеет делать то, что мне нужно. Но из-за того, что они изменили процесс регистрации приложений у них, я уже полтора месяца не могу получить доступ к API. Есть ли какие-нибудь аналоги? Или вообще другие способы всё это организовать?

Ответы961949

27 Мар, 17:48 #40 #961949

>>961947

делай на клиенте https://github.com/localForage/localForage

Ответы961960

27 Мар, 17:53 #41 #961953

>>961897
Учи в таком порядке:
1. learn.javascript.ru
2. Скринкаст по NodeJS там же
3. Пробегись по документации к webpack 2
4. Прочти документацию React и начинай делать какие-нибудь учебные проекты, наполни свой github-репозиторий

>Но совсем уж мартышкой быть не хочется.
Забей на это. Не читай SICP и Eloquent JavaScript, как можно скорее переходи к практике. Потому что в экосистеме JS слишком много фреймворков и инструментов. Когда сделаешь пару нормальных проектов, разберешься во всем этом говне, найдешь работу, тогда уже можно качать логику программирования.

961918-кун

Ответы961954961979

27 Мар, 17:54 #42 #961954

>>961953
>2. Скринкаст по NodeJS там же
Блять, забыл уточнить, что смотреть нужно только первые 9 видео.

27 Мар, 17:55 #43 #961955

>>961938
А я вот что-то не уверен в этом суждении. Цикл рано или поздно закончится (который не бесконечный офк), а вот команды, которые выходят за окружение ноды(нода в данном случае просто среда исполнения js) вот они блокирующие. Тот же самый alert или fs.ReadSync. Но вообще я не настаиваю

27 Мар, 18:09 #44 #961960

>>961949
Спасибо, буду разбираться.

27 Мар, 18:57 #45 #961979

>>961918
>>961934
>>961953
Спасибо котаны за советы. Знаю с чего начать теперь.
Это даже забавно, но я на данный момент на заряде каком то, основной профиль работы надоел до одури. С бабой с которой прожил под два года разошелся.
И голова как барабан.
А фронтред это прям отдушина - и творчество и сириос скилл.
Честно говоря на данный момент забивал версткой все свободное время, в том числе и на работе.
Щас буду время забивать javascript.
>961934
>>Я думал сисадмины, всякие скрипты то попиливают (не раз такое слышал).
Всякие косорылые батнички и скрипты под красноглазую.
Понимаешь у профессии сис.админа есть один фатальный порок - когда все настроено и работает - делать нехрен. И выше того что есть прыгнуть сложно.
Опять же принцип - не трожь пока работает.
А создавать себе задачи принудительно, и решать их в сисадминстве - это не совсем как сказать себе - а давай ка я напишу крутейший сайт, ну по крайней мере попробую.
Зачастую сисадмину нужно оборудование.
Крутые сервера, понтовые маршрутизаторы ну и т.д.

27 Мар, 19:07 #46 #961983

>>961938
>любой цикл - блокирующая операция.
чет в голос

Ответы962085

27 Мар, 19:08 #47 #961985

Сделали бы нормальный FAQ уже для треда, а то как бомжи блять. Раньше же вроде было что-то. Есть тут сеньоры мб или миддлы хотя бы которые могут этим заняться? Реально полезно же было бы для новичков.

Ответы961986961997961999

27 Мар, 19:12 #48 #961986

>>961985
>нормальный FAQ уже для треда
Нахуя? Для пары минут в гугле?
>полезно же было бы для новичков.
Не умеют искать инфу - вон пусть пиздуют из профы

95 Кб, 1280x354

27 Мар, 19:19 #49 #961997

>>961985
Предлагаю взять пикрилейтед за основу фака для этого треда

Ответы962000

27 Мар, 19:27 #50 #961999

>>961985
В фронтенд треде из wrk есть шапка - можете ради вдохновения взять себе. Или тупо спиздить (какая кому разница)

27 Мар, 19:28 #51 #962000

>>961997
А че, годнота ведь написана

27 Мар, 20:33 #52 #962035

хуйня вопрос, делай следующее:
ставишь на комп ноду и нпм
ставишь ярн
ставишь бабел и пишешь бабелконфиг
ставишь еслинт эхкстендишь конфиг от эирбиэнби и пишешь еслинтконфиг, вешаешь хук на прекоммит
ставишь вебпак и пишешь два конфига один под прод второй под дев, на деве не забываешь поставвить вебпакдевсервер и настроить хатрелоад, на проде не забудь бить код на чанки, углифай, критикал си эс эс
инитишь гит, добавляешь гитигнор
не забудь ярн лок в репу
потом корочи ставишь дев зависимости бабель-кор, бабель-лоадер, бабель-плагин-трансформ-обджект-рест-сприд, бабель-пресет-2015, бабель-пресет-реакт, вебпак, вебпак-дев-сервер, сиэсэс-лоадер, стайл-лоадер, стайл-экст-эйчтиэмэль-вебпак-плагин, лесс или сасс, лесс или сасс лоадер, еслинт, еслинт-конфиг-эирбиэнби, еслинт-плагин-импорт, еслинт-плагин-реакт, экстракт-текст-вебпак-плагин, эйчтиэмэль-вебпак-плагин
потом корочи зависимости материал-юай или реакт-мдл-юай или бутстрап, нормалайзр, реакт, реакт-дом, редакс, реакт-редакс, реакт-роутер, реакт-тэп-эвент-плагин, редакс-тсанк, дабльюашэйтидаблюджи-фетч
для удобства в нпм скрипты алиасы, но вызывай все через ярн потому тчо так круче

короче делаешь папочки там контейнеры компоненты экшены стор миддлверы, редбюсеры еще и утилзы и понеслась короче пиши код твори пили сайт который будет через апи другого сервиса брать определенные данные и выводить их у тебя, строй его.

Ответы962039962040962302963677

27 Мар, 20:35 #53 #962036

Раньше на одном сайте тренировался в использовании js для решения небольших задачек(например, делить строку на 2 части, инвертировать последовательность каждого символов в образующихся подстроках и соединять обратно). Оформление сайта было черно-красным. Сам сайт давал своему пользователю даны, как восточных единоборствах, очень близок был к восточной(скорее всего к японской) тематике. Кроме js, можно было тренироваться в владении другими языками, но, помимо scala, какими - не помню. И, вроде как, он был в шапке треда.
Помогите найти этот сайт.

Ответы962040

27 Мар, 20:36 #54 #962039

>>962035
О, кто-то еще схоронил этот шедевр

27 Мар, 20:41 #55 #962040

>>962035
только подправить надо
react-router-dom

ну и вроде вместо babel-preset-es2015
можно заюзать babel-preset-env

>>962036
codewars

Ответы962041

27 Мар, 20:45 #56 #962041

>>962040
> codewars
Спасибо.

27 Мар, 21:03 #57 #962046

>>961897
Попробуй FreeCodeCamp. Бесплатно, весело, довольно практично. Сначала тупак, потом посерьёзней.
https://medium.freecodecamp.com/every-time-you-build-a-to-do-list-app-a-puppy-dies-505b54637a5d#.q792q3252

а вот список практических штук, которые можно попробовать написать после освоения вывода "Привет, Пит" в консоль, лол

Ответы962051

27 Мар, 21:19 #58 #962051

>>962046
Норм, схоронил. После того как допилю то, что запланировал может оттуда идейки потырю

мимо

27 Мар, 22:24 #59 #962085

>>961983

наркоман?

19 Кб, 558x431

28 Мар, 01:40 #60 #962195

>>961657
Снова выхожу на связь. Эту проблему решил, появилась новая.
Вот мой код

var request = require('request');
var cheerio = require ('cheerio');
url='https://www.premierleague.com/players/3170/Fraser-Forster/stats?se=54'
request ({url, method: 'GET', encoding: 'binary'},
function (err,res,body) {
if (err) throw err;
setTimeout ( function () {
var $=cheerio.load(body);
var name=$("div.name").text();
var team=$("div.info").first().text();
var position=$("div.info").last().text();
var games=$("div.topStatList").text();
console.log(name);
console.log(team);
console.log(position);
console.log(games);
},5000)});

Изначально, заходя на страницу со статистикой игрока https://www.premierleague.com/players/3170/Fraser-Forster/stats отображается общая статистика за все годы карьеры, если в выпадающем списке выбрать последний сезон, то к ссылке добавляется ?se=54, с которой я граблю. Но если пройти по ссылке, то видно что изначально подгружается общая статистика и только потом за последний сезон, который мне и нужен.
Так и мой код загружает первоначальную ОБЩУЮ статистику за все сезоны, а не за последний. Как видно на скриншоте.
Как можно решить такую проблему? Пробовал таймер ставить- не помогает.

Ответы962244

28 Мар, 05:46 #61 #962223

Поясните, чем макОс лучше винды для веб-разработки? Вроде тот же нпм, ярн, нода, вебпак и так далее, всё работает и запускается без костылей. Редакторы те же самые.

92 Кб, 500x400

28 Мар, 07:46 #62 #962244

>>962195
Очевидно, что эти данные подтягиваются через AJAX\WS после загрузки страницы. F12 -> Network помогает отследить, что и откуда взялось. Либо работа с тем же IE через WSH.

28 Мар, 09:00 #63 #962248

>>961733
проиграл со вступления

>>961874
последние ролики без мата, все чинно, благородно
хотя читать такие советы на дваче

28 Мар, 11:38 #64 #962302

>>962035
я бы ещё nvm поставил

28 Мар, 18:21 #65 #962466

Анончик, объясни, почему в https://pastebin.com/fcLM82tM консоль лог выводит одинаковые значения? (в массиве только один объект). Разве выполнив Object.assign({}, state); я не создал новый объект, который после редактирую?

Ответы962587

73 Кб, 661x688

28 Мар, 18:32 #66 #962471

Что можете за vue.js сказать? Нужен он где-то кому-нибудь на работе или нет, просто очередной проходной хиста фреймворк?

Ответы962472962522

28 Мар, 18:35 #67 #962472

>>962471
Жыдбрейнсы запилили поддержку этой хуйни в новой идее, значит нужен.

28 Мар, 19:41 #68 #962522

>>962471
вью жс - это когда ангулар слишком навороченный, а реакт слишком геморный.

Ответы962586

28 Мар, 20:38 #69 #962580

джавист стаж 2 года.
на работе ебут за то, что должен быть фулстек.
охуеваю от сложности js

Ответы962588962742963239

28 Мар, 20:41 #70 #962586

>>962522
вью жс - это когда хочется чтоб как в реакте, но реакт слишком сложен для твоих мозгов

давайте дальше шутки про вью за 300

28 Мар, 20:43 #71 #962587

>>962466
Почитай как работает Object.assign - сразу поймешь в чем проблема

28 Мар, 20:44 #72 #962588

>>962580
Пиздец за 2 года бэкенд не освоить, я его вместе с фронтом сидя дома за 3 года освоил

Ответы962596

28 Мар, 20:53 #73 #962596

>>962588
в смысле не освоил? мне нравится бэкенд, но заставляют дрочить и фронт, к которому душа не лежит

59 Кб, 848x552

28 Мар, 23:25 #74 #962728

Анончики, вот я сейчас изучаю JS по Кантору, изучил 5 глав, пока тяжеловато идёт ибо это мой первый язык программирования, но потихоньку справляюсь. Появился такой вопрос: сколько информации необходимой для работы или для достаточного уровня владения языком даёт в своей книге Кантор? Т.е я хочу понять на каком этапе обучения я буду после прочтения этого всего материала, выполнил ли я 50% необходимой работы чтобы вкатиться и нормально уже хоть что-то делать в фронтенде, или это уже 70% необходимых мне знаний (ну что-то в этом плане).

Ответы962736962742

28 Мар, 23:34 #75 #962736

>>962728
20%
WebASM
React
Angular2
Bootstrap
IPFS
HTML6
CSS4
ECMAScript7
TypeScript

Фреймворки все лучше не учить и на ванилле писать, но для работы надо знать новые модные фреймворки.

Ответы962773962840

28 Мар, 23:41 #76 #962742

>>962728
Просто пиши больше кода - игры на Canvas, например.
Для работы в основном нужно знание фреймворков (Angular, React, Bootstrap ну и само собой jQuery), какие-то языковые тонкости спрашивать вряд ли будут.
У Кантора учебник написан для людей, знающих программирование (на других языках).

>>962580
Это ерунда, меня вот заставляли учить связку React+Redux+TypeScript. Главное в JS запомнить, что там нет классов (в нынешнем стандарте ECMA есть, но не нужны) и объекты это хэш-таблицы с изменяемой структурой, что нужно использовать лямбда-выражения, что там слабая динамическая типизация и в чем отличие == от ===. Чистый бэк сейчас хуй найдешь, на всех Java вакансиях требуют фуллстек.

Ответы962773963076

28 Мар, 23:47 #77 #962744

Напоминаю проёбанную шапку:
https://github.com/xxxwww/js-thread/blob/master/header.md

29 Мар, 00:31 #78 #962773

>>962742
>У Кантора учебник написан для людей, знающих программирование (на других языках).

Ну он вроде иногда упомянает что учебник для полных нулей, но всё равно в некоторых момент разобраться сложновато бывает, возможно я ещё не на самом тяжелом даже.

>Просто пиши больше кода - игры на Canvas, например.

Ну чтобы хоть что-то писать, нужен какой-то минимальный банк знаний, который достаточно сложно получить из-за общего количества материала. Т.е мне ещё месяц наверное нужно дрочиться перед тем как я самую простую хрень смогу написать...

>>962736
Ну HTML/CSS я немного знаю, сверстал один статический макет, другой адаптивный резиновый (правда достаточно простой). Правда пока учил этот JS уже забыл как верстать, лул.

110 Кб, 834x825

29 Мар, 01:41 #79 #962783

Объясните плз эту херню. Короче переводя с языка Кантора, this объявленный вне функции (просто в свойство объекта) не получает ссылку на этот объект, поэтому this получает ссылку на window. В итоге свойство становится равно export: window , и тогда при вызове alert( user.export.firstName ); мы получаем alert(user.window.firstName); ? Т.е объект user в котором есть объект window и у которого есть свойство firstName, а т.к этого внутреннего объекта window нет, то получается undefined. Правильно логику работы расписал, не?

Ответы962793963003

29 Мар, 02:08 #80 #962793

>>962783
this захватывается из контекста объявления, и т.к. это не функция, а глобальный скоуп, this ссылается на window.

29 Мар, 07:56 #81 #962840

>>962736
>для работы надо знать новые модные фреймворки
Хуйню несешь, ангулара/эмбер+бэкбоун достаточно

Ответы962908

Dmitry 29 Мар, 12:07 #82 #962908

>>962840
В срачло засунь, сейчас React.

Ответы962918

29 Мар, 12:12 #83 #962914

>>961365 (OP)
Сап аноны.
Есть список <ol> <li></li>...</ol>. Хочу чтобы каждый элемент окрашивался в зеленый цвет по очереди. То есть сначала верхний, через секунду чуть ниже, потом еще ниже и так до конца.
Я нашел функцию setTimeout, но она замедляет и потом окрашивает сразу все элементы сразу. Пробовал с циклом делать, все равно тоже самое.
https://jsbin.com/meguxehaso/edit?html,js,console,output

Ответы962941

29 Мар, 12:23 #84 #962918

>>962908
>сейчас React
хуйца сосни, борщехлеб

29 Мар, 12:47 #85 #962941

>>962914
Тип такого?
https://jsbin.com/niduqapise/edit?html,js,console,output

Ответы962993

29 Мар, 14:03 #86 #962993

>>962941
Cпасибо анон, всего тебе доброго!

29 Мар, 14:30 #87 #963003

>>962783

user переменная в контексте window. всё что не обернуто в функцию является по умолчанию свойством window

29 Мар, 16:12 #88 #963076

>>962742
Поясни за лямбды, когда их использовать?

Ответы963158963201

29 Мар, 16:42 #89 #963097

>>961365 (OP)

норм инструмент для визуализации джава кода, найти бы такой для ЖС... https://www.youtube.com/watch?v=yUTEGepKIxY

29 Мар, 17:47 #90 #963158

>>963076
Лучше спроси, когда их НЕ использовать, в жс без них даже лаба1 не напишешь

Dmitry 29 Мар, 19:00 #91 #963201

>>963076
Всегда кроме generators, async function.
если имя ей нужно то делай const.

29 Мар, 19:51 #92 #963222

Анончик, поясни за vk api

Нужно получить данные юзера
Пробовал с клиента через fetch
fetch('https://api.vk.com/method/users.getSubscriptions?user_id=111&v=5.63')
.then(res=> console.log(res));

Не работает.

Как это правильно делать?

Ответы963434

29 Мар, 20:17 #93 #963239

>>962580
ты чего, я ебался с с/с++, python, java, потом наткнулся на js и охуел от того, насколько он изи

Ответы963329

29 Мар, 22:31 #94 #963321

Все сюда https://t.me/jsthread
Хе-хей!

29 Мар, 22:45 #95 #963329

>>963239
Ты не ебался с классми на js.

Ответы963433

29 Мар, 22:55 #96 #963333

Блять, это наверное самая конченная глава(урок?) от Кантора - https://learn.javascript.ru/object-conversion . Нихуя нормально не объяснил, и какие-то задания вбрасывает, лул. Пойду "Выразительный Javascript" потыкаю, может там это как-то другим языком объяснят.

Ответы963467963468

30 Мар, 07:13 #97 #963433

>>963329
в том-то и дело, что не ебался

30 Мар, 07:20 #98 #963434

>>963222
а где твой access_token

30 Мар, 10:07 #99 #963467

>>963333
На самом деле это книга немного нестандартная и искать в ней ЛУЧШЕГО объяснения я бы не стал. Там написано каким-то ебанутый языком обстракций, и лично для меня это было не в пользу ЛУЧШЕГО понимания сути, а как лишняя мешающая прослойка.

30 Мар, 10:07 #100 #963468

>>963333
>Блять, это наверное самая конченная глава(урок?) от Кантора
Нет, ты просто баран. Ничего сложного там и в помине нет.

Ответы963750

30 Мар, 10:08 #101 #963469

Подскажите что-то реально дельное из инфы по дебагингу. Я заебался консолеложить.

Ответы963478963500

30 Мар, 10:26 #102 #963478

>>963469
>Подскажите что-то реально дельное из инфы по дебагингу
man тестирование

30 Мар, 11:01 #103 #963500

>>963469
вкладка Source в chrome dev tools

Ответы963509

30 Мар, 11:14 #104 #963509

>>963500
Ну это понятно, как юзать ее грамотно чтиво реквестирую

Ответы963514963523

30 Мар, 11:22 #105 #963514

>>963509
>как юзать ее грамотно чтиво реквестирую
Как сходить посрать тоже книги читал?

Ответы963541

30 Мар, 11:48 #106 #963523

>>963509
Открываешь на ютубчике любой толк Пола Айриша и внемлешь, попутно сожалея, что не так умен. Ну и там короче всё понятно становится. Дерзай.

30 Мар, 12:37 #107 #963541

>>963514
Я тогда еще не умел читать, а вообще когда что-то не умеешь, то читать полезно как бы. Ты можешь думать, что понял инструмент протыкав его, но на деле так и не узнав половину функционала, ибо не прочитал.

Ответы963548963609

30 Мар, 12:50 #108 #963548

>>963541
Маны гугла к твоим услугам.
А вообще, ты слишком хуево умеешь гуглить, чтобы тут разглагольствовать о чтении.
Иди почитай, как искать информацию в 21м веке самостоятельно.

Выходит, срать ты так и не научился, раз приходишь с такими идиотскими вопросами.

Ответы963570

30 Мар, 12:51 #109 #963550

Посоны, сейчас вообще актуально понимать наследование через прототипы и мемную функцию extend Крокфорда?

Или это говно мамонта на которое все забили и спокойно пользуются классами из ES6 с нормальным наследованием?

Ответы963559963609963621

30 Мар, 13:06 #110 #963559

>>963550
>Посоны, сейчас вообще актуально понимать наследование через прототипы и мемную функцию extend Крокфорда?

но под капотом классов все равно прототипы, так что желательно в паре предложений описать как они работают.

30 Мар, 13:27 #111 #963570

>>963548
Маны гугла по-твоему не читать надо? Что бы не тратить время на поиск Аля гуглении хорошей, комплексной статьи я ее и реквестирую у тех, кто, возможно, уже искал и находил что-то годное. А тебе бы, раз ты научился срать, советовал не тратить время на написание постов типо: ну ты и мудак, такооое то не можешь, бляяя. Проще же не писать?

30 Мар, 14:21 #112 #963600

Сап аноны, подскажите пожалуйста что не так с моим кодом.
Суть такова: хочу по нажатию на кнопку чтобы текст менял цвет. То есть если черный - то на зеленый, если зеленый - то на черный.

https://jsbin.com/gesiworaji/edit?html,js,console,output

Ответы963604963606

30 Мар, 14:28 #113 #963604

>>963600
сравнение пропустил

Ответы963623

30 Мар, 14:32 #114 #963606

>>963600
const color = tree.style.color;
tree.style.color = color === 'green' ? '': 'green';

Как-то так должно быть.

Ответы963623

30 Мар, 14:40 #115 #963609

>>963550
>классами из ES6 с нормальным наследованием?
В js нет и не будет традиционных классов из java/c# и прочих языков.
>>963541
>когда что-то не умеешь, то читать полезно как бы
Ага, как сейчас помню - не умел я значит ручками перьевыми пользоваться. Потом взял в руки - и понял как оно работает. А еще яичницу готовить не умел, а там оказывается надо только яйца разбить да с солью и молоком взбить.

Ответы963610

30 Мар, 14:43 #116 #963610

>>963609
Молоко-то нахуя.

Ответы963620

30 Мар, 14:58 #117 #963620

>>963610
Делает омлет легким, пышным и нежным, не чета классическому итальянскому.

Ответы963622

30 Мар, 15:00 #118 #963621

>>963550
У классов под капотом тот же самый поиск по цепочке прототипов через [[Get]]. Классы это просто более лучший синтаксис.

Советую пролистать спецификацию, чтобы в ней ориентироваться:
https://tc39.github.io/ecma262/

Потом читать Кайла Симпсона ( https://www.youtube.com/watch?v=2pL28CcEijU ) по порядку:
https://github.com/getify/You-Dont-Know-JS
В третьей книге "this & Object Prototypes" это всё разбирается.

Потом в спецификации, в которой ты уже ориентируешься, искать конкретные механизмы, чтобы понимать, что ты пишешь, а не какими буковками.

Ответы964044

30 Мар, 15:02 #119 #963622

>>963620
Ну я бывает муки добавляю чуток для пышности, а молоко как-то хз даже. Надо будет попробовать.

Ответы963641

186 Кб, 570x760

30 Мар, 15:03 #120 #963623

>>963604
>>963606
Спасибо аноны! Всего доброго вам!

30 Мар, 15:18 #121 #963633

>>961365 (OP)
Вписал свое имя в автора emscripten

Feels good :D

Ответы963640963790

30 Мар, 15:27 #122 #963638

Анон, смотри: у меня есть кнопочк с лайками. Юзер кликает на кнопочку с лайком, и она меняет цвет. Вопрос: как оптимальнее всего сохранить цвет кнопочки? Через запрос на сервер? Или же в локал сторадже каком-нибудь?

Ответы963641

30 Мар, 15:30 #123 #963640

>>963633
>emscripten
Последний коммит Dec 24, 2016

Соси хуй лалка.

Ответы963647

30 Мар, 15:30 #124 #963641

>>963622
Щепотку небольшую соды не забудь и прожаривай под закрытой крышкой, а лучше в духовке. Если правильно готовить - получится такой же пиздатый омлет, как в советских ресторанах.
>>963638
>сохранить цвет кнопочки?
Ты ебанутый? Тебе надо действия юзера сохранять, а не цвета и прочие свистоперделки.

Ответы963643963648

30 Мар, 15:33 #125 #963643

>>963641
ну так каким образом? Я, допустим, могу сделать аякс-запрос на сервер, и в зависимости от ответа поменять цвет кнопочки. Можно хранить инфу о прожатии кнопочки в сессии, но сессия после логаута флашится, и в неё тоже не вариант.

Ответы963648963650

30 Мар, 15:38 #126 #963647

>>963640
>Последний коммит Dec 24, 2016
Ты мастер смотрел? Ты ебанутый?

30 Мар, 15:39 #127 #963648

>>963641
В духовке это в смысле вообще изначально ставить тарелку с субстанцией в духовку и там парить? Я бывало в микроволновке хуячил омлет, а в двуховке вообще не слыхал даже. Ты меня заинтриговал, прям с работы приду и заебашу.
>>963643
На сервере, всё на сервере. А ты как думал? У модели твоей есть же филд isLiked: bool, вот его и тоггли. Можешь использовать подход оптимистичных апдейтов, как все крутые ребята, тобишь ты отправляешь аякс на сервер, а сам между делом, не дожидаясь респонса, флипаешь в интерфейсе лайкед тру, уповая на то, что на сервере все пройдет гладко. Когда респонс возвращается, ты проверяешь, если статус ок, то ничего не надо делать, уже всё сделано. А если каким-то боком, что-то пошло не так, то в еррор хендлере флипаешь в интерфейсе обратно на лайкед фалс и сообщаешь об ошибке, ну или не сообщаешь. Тут уже от ситуации зависит.

Ответы963651963655

30 Мар, 15:40 #128 #963650

>>963643
>ну так каким образом?
А это уже задача разработчиков приложения - продумать схему бд, как изменяющиеся данных хранить, что хранить, сколько и так далее

Ответы963651

30 Мар, 15:43 #129 #963651

>>963650
Так я сам "разработчик" приложения. И бекенд пишу, и фронтенд.

>>963648
Окей, я понял, спасибо. В принципе, мног огуглил, но тоже пришел к такому решению. Двачик помог обрести мне уверенность.

30 Мар, 15:48 #130 #963655

>>963648
Ну желательно какую-нибудь ёмкость побольше взять, обязательно закрытую, ибо омлет должен быть пышным в результате.

30 Мар, 16:18 #131 #963677

>>962035

https://www.youtube.com/watch?v=8p1uLKYAwEw

20 Кб, 615x233

30 Мар, 18:47 #132 #963750

>>963468
Я бы тебе конечно мог подробнее объяснить чем именно плох этот урок от кантора и что в нём столько же абстракций как в выразительном JS, но мне реально просто лень. Чего стоит только то, что Кантор ЧЕТКО не говорит что эти медоты toString и ValueOf при написании становятся какими-то служебными и язык начинает использовать их при преобразовании объекта в примитив, ну ладно, это ещё можно понять самому. А вот КАК именно происходит это преобразование, автор почему не не описывает, тут уже я наверное должен свое воображение подрубать. Почему автор приводит примеры только тех объектов, в которых одно свойство (кроме методы), а как будет работать если их там несколько? И как вообще происходит алгоритм работы, инфы просто ноль...

Ответы963798

29 Кб, 638x359

30 Мар, 20:02 #133 #963790

>>963633
>emscripten

с подключением)

30 Мар, 20:12 #134 #963798

>>963750
Але блин

[object Object] по дефолту
А когда переобозначишь то будет так, как переобозначишь

мимо

Ответы963801

30 Мар, 20:16 #135 #963801

>>963798
Ну и почему оно так работает? При этом с массив такой хуйни нет (автор об этом не говорит).

Ответы963807

30 Мар, 20:20 #136 #963804

Сап анон, как вкатиться в фриланс жс джуны.

30 Мар, 20:22 #137 #963807

>>963801
Потому что по умолчанию для объектов это так работает. И у него так прям и написано.

А у массива просто переопределено то, как должно выводиться. И тебе в главе показано как можно самому переопределить если тебе это нужно/интересно.

Ответы963810

30 Мар, 20:25 #138 #963810

>>963807
Ну а если в объекте несколько свойств, то как это будет работать? Почему оно вообще работает если функция возвращает только одно из свойств объекта на наш выбор (в коде функцией возвращается только firstName). Оно как-то само понимает и применяет это ко все остальным свойствам или что?

Ответы963818

30 Мар, 20:34 #139 #963818

>>963810
Ну там же по русски написано. По умолчанию для любого объекта будет [object Object]
а когда ты сам пропишешь собственный toString
то будет выполняться он

и что ты туда загонишь - то и будет выдавать
можешь возвращать для объекта
"идите в жопу" вот он и будет выдавать "идите в жопу"

http://jsbin.com/gefotodane/edit?js,console

Ну бля ну читай внимательней

Ответы963881

30 Мар, 21:47 #140 #963881

>>963818
Что именно я должен внимательно читать?
Написано:
>Если в объекте присутствует метод toString, который возвращает примитив, то он используется для преобразования.

Откуда я должен знать что туда можно ещё что-то вставлять кроме свойства массива? А также на предыдущий ответ о том как в принципе работает этот метод - ответа нет. Также как и о том как будет работать если в объекте несколько свойств, если возвращать только одно, то какой в этом смысл, вернется только fullName, а с остальными свойствами что будет, где об этом инфа?

Ответы963891

30 Мар, 22:02 #141 #963891

>>963881
Ты по ссылке перешел?

> Откуда я должен знать что туда можно ещё что-то вставлять кроме свойства массива?
WAT?
> Если в объекте присутствует метод toString, который возвращает примитив, то он используется для преобразования.

вот мы и делаем этот метод toString в котором возвращаем примитив - строку.

Тебе же пример в учебнике написали, в котором Кантор решил вернуть свойство если будет строковое преобразование. Вернуть одно свойство - это его собственное решение. Как по ссылке выше наше собственное решение выводить "идите в жопу" если будет строковое преобразование.
Нам хочется чтобы этот объект вместо стандартного [object Object] виделся именно так: "идите в жопу", а Кантору захотелось чтобы выводилось fullName в его объекте

> а с остальными свойствами что будет?
Ниче со свойстввами не будет - будут спокойно ждать своего часа (обращения к себе). Если хочешь можешь точно так же их добавить в строку вывода.

Ответы963904963927964019

63 Кб, 445x372

this just in 30 Мар, 22:03 #142 #963892

https://github.com/fuse-box/fuse-box
Вебпак уже не нужен.
Потянул смузи
>FuseBox 0.234s
>Webpack 1.376s
Сходил на митап
>Simple example using React with babel (compiles in 50ms!)
Портанул проект на yarn
Каковы ваши оправдения не использования фьюзбокса в 2017 A. D, старичьё?

30 Мар, 22:16 #143 #963904

>>963891
Ему так захотелось, при этом он не упоминает что можно и по другому сделать.

>Ниче со свойстввами не будет - будут спокойно ждать своего часа (обращения к себе). Если хочешь можешь точно так же их добавить в строку вывода.

Ну вот этого тоже я не знал потому что инфы в уроке не было.

30 Мар, 22:39 #144 #963914

Ребят,такая проблема: спиздил аудиоплеер и теперь нихера не могу понять,как мне сделать так,чтобы звук устанавливался для каждого объекта(песни).При включении какой-либо песни,а потом переключения на другую ползунок идёт только у той,которая добавлялась последняя
Что в странице с аудиозаписями:
<div class="audios_list">
<div class="player">
<?
$result = mysql_query("SELECT FROM `audios` WHERE u_id = ".$id." ORDER BY id DESC");
while($row = mysql_fetch_array($result)) {
$author = $row['author'];
$song = $row['song'];
$path = $row['path'];
$u_id = $row['u_id'];
$a_id = $row['id'];
?>
<audio id="<?echo$a_id;?>" ontimeupdate="updateTime()">
<source src="/user/audios/<?echo$path;?>" type="audio/mp3">
</audio>
<div id="songPlay" onclick="play('<?echo$a_id;?>')"></div>
<div id="songPause" onclick="pause()"></div>
<div id="songPlayPause" onclick="playPause('<?echo$a_id;?>')"></div>
<div id="songTime">0:00 / 0:00</div>
<div id="songName"><b><?echo$author;?></b> - <?echo$song;?></div>
<div id="songSlider" onclick="setSongPosition(this,event)"><div id="trackProgress"></div></div>
<div id="volumeMeter" onclick="setNewVolume(this,event)"><div id="volumeStatus"></div></div>
</div>
<?}?>
</div>

Что в файле .js:
$(document).ready(function() {
$(function(){
var activeSong;
//Plays the song. Just pass the id of the audio element.
function play(id){
//Sets the active song to the song being played. All other functions depend on this.
activeSong = document.getElementById(id);
//Plays the song defined in the audio tag.
activeSong.play();

//Calculates the starting percentage of the song.
var percentageOfVolume = activeSong.volume / 1;
var percentageOfVolumeMeter = document.getElementById('volumeMeter').offsetWidth percentageOfVolume;

//Fills out the volume status bar.
document.getElementById('volumeStatus').style.width = Math.round(percentageOfVolumeSlider) + "px";
}
//Pauses the active song.
function pause(){
activeSong.pause();
}
//Does a switch of the play/pause with one button.
function playPause(id){
//Sets the active song since one of the functions could be play.
activeSong = document.getElementById(id);
//Checks to see if the song is paused, if it is, play it from where it left off otherwise pause it.
if (activeSong.paused){
activeSong.play();
}else{
activeSong.pause();
}
}

//Updates the current time function so it reflects where the user is in the song.
//This function is called whenever the time is updated. This keeps the visual in sync with the actual time.
function updateTime(){
var currentSeconds = (Math.floor(activeSong.currentTime % 60) < 10 ? '0' : '') + Math.floor(activeSong.currentTime % 60);
var currentMinutes = Math.floor(activeSong.currentTime / 60);
//Sets the current song location compared to the song duration.
document.getElementById('songTime').innerHTML = currentMinutes + ":" + currentSeconds + ' / ' + Math.floor(activeSong.duration / 60) + ":" + (Math.floor(activeSong.duration % 60) < 10 ? '0' : '') + Math.floor(activeSong.duration % 60);

//Fills out the slider with the appropriate position.
var percentageOfSong = (activeSong.currentTime/activeSong.duration);
var percentageOfSlider = document.getElementById('songSlider').offsetWidth percentageOfSong;

//Updates the track progress div.
document.getElementById('trackProgress').style.width = Math.round(percentageOfSlider) + "px";
}
function volumeUpdate(number){
//Updates the volume of the track to a certain number.
activeSong.volume = number / 100;
}
//Changes the volume up or down a specific number
function changeVolume(number, direction){
//Checks to see if the volume is at zero, if so it doesn't go any further.
if(activeSong.volume >= 0 && direction == "down"){
activeSong.volume = activeSong.volume - (number / 100);
}
//Checks to see if the volume is at one, if so it doesn't go any higher.
if(activeSong.volume <= 1 && direction == "up"){
activeSong.volume = activeSong.volume + (number / 100);
}

//Finds the percentage of the volume and sets the volume meter accordingly.
var percentageOfVolume = activeSong.volume / 1;
var percentageOfVolumeSlider = document.getElementById('volumeMeter').offsetWidth percentageOfVolume;

document.getElementById('volumeStatus').style.width = Math.round(percentageOfVolumeSlider) + "px";
}
//Sets the location of the song based off of the percentage of the slider clicked.
function setLocation(percentage){
activeSong.currentTime = activeSong.duration percentage;
}
/
Gets the percentage of the click on the slider to set the song position accordingly.
Source for Object event and offset: http://website-engineering.blogspot.com/2011/04/get-x-y-coordinates-relative-to-div-on.html
/
function setSongPosition(obj,e){
//Gets the offset from the left so it gets the exact location.
var songSliderWidth = obj.offsetWidth;
var evtobj=window.event? event : e;
clickLocation = evtobj.layerX - obj.offsetLeft;

var percentage = (clickLocation/songSliderWidth);
//Sets the song location with the percentage.
setLocation(percentage);
}

//Set's volume as a percentage of total volume based off of user click.
function setVolume(percentage){
activeSong.volume = percentage;

var percentageOfVolume = activeSong.volume / 1;
var percentageOfVolumeSlider = document.getElementById('volumeMeter').offsetWidth percentageOfVolume;

document.getElementById('volumeStatus').style.width = Math.round(percentageOfVolumeSlider) + "px";
}

//Set's new volume id based off of the click on the volume bar.
function setNewVolume(obj,e){
var volumeSliderWidth = obj.offsetWidth;
var evtobj = window.event? event: e;
clickLocation = evtobj.layerX - obj.offsetLeft;

var percentage = (clickLocation/volumeSliderWidth);
setVolume(percentage);
}
//Stop song by setting the current time to 0 and pausing the song.
function stopSong(){
activeSong.currentTime = 0;
activeSong.pause();
}
});
});

30 Мар, 22:39 #144 #963914

Ребят,такая проблема: спиздил аудиоплеер и теперь нихера не могу понять,как мне сделать так,чтобы звук устанавливался для каждого объекта(песни).При включении какой-либо песни,а потом переключения на другую ползунок идёт только у той,которая добавлялась последняя
Что в странице с аудиозаписями:
<div class="audios_list">
<div class="player">
<?
$result = mysql_query("SELECT FROM `audios` WHERE u_id = ".$id." ORDER BY id DESC");
while($row = mysql_fetch_array($result)) {
$author = $row['author'];
$song = $row['song'];
$path = $row['path'];
$u_id = $row['u_id'];
$a_id = $row['id'];
?>
<audio id="<?echo$a_id;?>" ontimeupdate="updateTime()">
<source src="/user/audios/<?echo$path;?>" type="audio/mp3">
</audio>
<div id="songPlay" onclick="play('<?echo$a_id;?>')"></div>
<div id="songPause" onclick="pause()"></div>
<div id="songPlayPause" onclick="playPause('<?echo$a_id;?>')"></div>
<div id="songTime">0:00 / 0:00</div>
<div id="songName"><b><?echo$author;?></b> - <?echo$song;?></div>
<div id="songSlider" onclick="setSongPosition(this,event)"><div id="trackProgress"></div></div>
<div id="volumeMeter" onclick="setNewVolume(this,event)"><div id="volumeStatus"></div></div>
</div>
<?}?>
</div>

Что в файле .js:
$(document).ready(function() {
$(function(){
var activeSong;
//Plays the song. Just pass the id of the audio element.
function play(id){
//Sets the active song to the song being played. All other functions depend on this.
activeSong = document.getElementById(id);
//Plays the song defined in the audio tag.
activeSong.play();

//Calculates the starting percentage of the song.
var percentageOfVolume = activeSong.volume / 1;
var percentageOfVolumeMeter = document.getElementById('volumeMeter').offsetWidth percentageOfVolume;

//Fills out the volume status bar.
document.getElementById('volumeStatus').style.width = Math.round(percentageOfVolumeSlider) + "px";
}
//Pauses the active song.
function pause(){
activeSong.pause();
}
//Does a switch of the play/pause with one button.
function playPause(id){
//Sets the active song since one of the functions could be play.
activeSong = document.getElementById(id);
//Checks to see if the song is paused, if it is, play it from where it left off otherwise pause it.
if (activeSong.paused){
activeSong.play();
}else{
activeSong.pause();
}
}

//Updates the current time function so it reflects where the user is in the song.
//This function is called whenever the time is updated. This keeps the visual in sync with the actual time.
function updateTime(){
var currentSeconds = (Math.floor(activeSong.currentTime % 60) < 10 ? '0' : '') + Math.floor(activeSong.currentTime % 60);
var currentMinutes = Math.floor(activeSong.currentTime / 60);
//Sets the current song location compared to the song duration.
document.getElementById('songTime').innerHTML = currentMinutes + ":" + currentSeconds + ' / ' + Math.floor(activeSong.duration / 60) + ":" + (Math.floor(activeSong.duration % 60) < 10 ? '0' : '') + Math.floor(activeSong.duration % 60);

//Fills out the slider with the appropriate position.
var percentageOfSong = (activeSong.currentTime/activeSong.duration);
var percentageOfSlider = document.getElementById('songSlider').offsetWidth percentageOfSong;

//Updates the track progress div.
document.getElementById('trackProgress').style.width = Math.round(percentageOfSlider) + "px";
}
function volumeUpdate(number){
//Updates the volume of the track to a certain number.
activeSong.volume = number / 100;
}
//Changes the volume up or down a specific number
function changeVolume(number, direction){
//Checks to see if the volume is at zero, if so it doesn't go any further.
if(activeSong.volume >= 0 && direction == "down"){
activeSong.volume = activeSong.volume - (number / 100);
}
//Checks to see if the volume is at one, if so it doesn't go any higher.
if(activeSong.volume <= 1 && direction == "up"){
activeSong.volume = activeSong.volume + (number / 100);
}

//Finds the percentage of the volume and sets the volume meter accordingly.
var percentageOfVolume = activeSong.volume / 1;
var percentageOfVolumeSlider = document.getElementById('volumeMeter').offsetWidth percentageOfVolume;

document.getElementById('volumeStatus').style.width = Math.round(percentageOfVolumeSlider) + "px";
}
//Sets the location of the song based off of the percentage of the slider clicked.
function setLocation(percentage){
activeSong.currentTime = activeSong.duration percentage;
}
/
Gets the percentage of the click on the slider to set the song position accordingly.
Source for Object event and offset: http://website-engineering.blogspot.com/2011/04/get-x-y-coordinates-relative-to-div-on.html
/
function setSongPosition(obj,e){
//Gets the offset from the left so it gets the exact location.
var songSliderWidth = obj.offsetWidth;
var evtobj=window.event? event : e;
clickLocation = evtobj.layerX - obj.offsetLeft;

var percentage = (clickLocation/songSliderWidth);
//Sets the song location with the percentage.
setLocation(percentage);
}

//Set's volume as a percentage of total volume based off of user click.
function setVolume(percentage){
activeSong.volume = percentage;

var percentageOfVolume = activeSong.volume / 1;
var percentageOfVolumeSlider = document.getElementById('volumeMeter').offsetWidth percentageOfVolume;

document.getElementById('volumeStatus').style.width = Math.round(percentageOfVolumeSlider) + "px";
}

//Set's new volume id based off of the click on the volume bar.
function setNewVolume(obj,e){
var volumeSliderWidth = obj.offsetWidth;
var evtobj = window.event? event: e;
clickLocation = evtobj.layerX - obj.offsetLeft;

var percentage = (clickLocation/volumeSliderWidth);
setVolume(percentage);
}
//Stop song by setting the current time to 0 and pausing the song.
function stopSong(){
activeSong.currentTime = 0;
activeSong.pause();
}
});
});

Показать весь текст
Ответы963915963982965097

30 Мар, 22:41 #145 #963915

>>963914
suka polzuisya jsfidllom ili drugoy hyiney, bleat

30 Мар, 23:09 #146 #963927

>>963891
Я вот сейчас видео-урок от кантора открыл по этой теме и там он прямо охуенно рассказал. Даже сказал что toString можно привязать к функции (вне объекта, просто функция) и он с ней будет работать точно также.

Ответы964046

45 Кб, 927x647

30 Мар, 23:22 #147 #963931

Котаны, нужен ваш совет. До недавних пор писал исключительно бекэнд, а тут внезапно потребовалось педалить ещё и фронт. Какую книгу/цикл статей можете посоветовать, чтобы в сжатые сроки уложить в голове кашу из жс, ангуляра и рактива? Сейчас каждый фикс превращается в жопную боль на весь день, потому что нет понимания, что и как там работает.

Ответы965001

31 Мар, 00:38 #148 #963982

>>963914
ну ты и програмист ебать мой хуй .......

31 Мар, 03:07 #149 #964019

>>963891
https://learn.javascript.ru/constructor-new - лол, вот ещё одно подобие охуенной статьи. Сначала автор говорит что можно СОЗДАВАТЬ объекты через new. А теперь он сразу начинает работать с ВЫЗОВОМ функции через new. Как это работает я видимо должен сам додумать...

Ответы964044964046

31 Мар, 08:48 #150 #964044

>>964019
>я видимо должен сам додумать...
Ну конечно же нет, птенчик, не для того тебя мамка растила. Илюша должен был догадаться всё тщательно разжевать и в ебальце тебе отрыгнуть, плохой Илюша.
Как закончишь листать Кантора, пиздуй сюда:
>>963621

Ответы964086

31 Мар, 08:56 #151 #964046

>>963927
>>964019
Открою маленькую тайну - функция это тоже объект
И при вызове через new она не поверишь, но тоже возвращает объект. Таким образом она СОЗДАЕТ объект через new.
И да, все это написано у него в учебнике, просто научись вдумываться в то, что написано - полезный навык. А не сидеть и рассказывать что тебе не доходит то, что до других дошло. Как жеж так, видимо всемирный заговор, не иначе.

31 Мар, 09:16 #152 #964048

Кроме жирного жирного гуру Кайла никто больше по хардкору за язык не поясняет на видео. Советую пройти на рутрекер и качнуть оттуда все его разговорчики с frontend masters.

31 Мар, 10:36 #153 #964082

Где шапка где литература

Ответы964085

31 Мар, 10:51 #154 #964085

>>964082
Нет ее.
http://pastebin.com/3VAYADCd

31 Мар, 10:52 #155 #964086

>>964044
>Как закончишь листать Кантора, пиздуй нахуй
пофиксил

31 Мар, 11:21 #156 #964095

Посантрэ, кто в редаксе волочет, секи сюды!
Вопрос такой, если у меня приложение использует комбайн редьюсерс и экшен креаторы лежат по разным файлам как согласно бест практис вызвать экшен креатор из файла2 в экшен креаторе 1 из файла1? На ум лезет банальное импортирование и вызов, но уверен, что когда доки читал видел какой-то родной редаксовский механизм для этого? Может мое воображение разыгралось и это лишь ветер, а может нет. Кто подскажет?

Ответы964110964446

31 Мар, 12:05 #157 #964110

>>964095
>уверен, что когда доки читал видел какой-то родной редаксовский механизм для этого? Может мое воображение разыгралось и это лишь ветер, а может нет
Перечитать религия не позволяет?

Ответы964192

31 Мар, 14:00 #158 #964192

>>964110
Ебанфал нахуй? Всю доку перечитать? Откуда этот припездок здесь взялся? Попросите-с его нахуй, пожалуйста. Видимо какой-то обиженный непрвозмог, ныне грузчик, теперь срет в треде.

Ответы964199964405

31 Мар, 14:05 #159 #964199

>>964192
>Всю доку перечитать?
Удачи.

31 Мар, 18:46 #160 #964405

>>964192
>Всю доку перечитать?
Любитель саморазвиваться по видосикам, ты?

31 Мар, 19:44 #161 #964446

>>964095
store.dispatch(action)

Ответы964714

31 Мар, 22:01 #162 #964512

суп. Есть короче класс MobileDetecter который использует https://hgoebl.github.io/mobile-detect.js/
и помимо свойства this.md = new mobile-detect(navigator.userAgent)
делает свойство this.isMobile = this.md.mobile();
как считаете, насколько это плохая идея не использовать в потомках this.md.mobile() а юзать для проверок this.isMobile() ? Что уже не является библиотечным методом к которому все привыкли. За такое в офисе мне не наебашили бы ?

01 Апр, 12:13 #163 #964714

>>964446
Ну я так и делаю - импорт нужного экшенКреатора и диспатч его из стора. Просто думал оптимальный ли это подход.

Ответы965295

01 Апр, 17:16 #164 #964912

стоит ли на гитхаб заливать решенные задачки с жс30?

Ответы964991

01 Апр, 17:31 #165 #964915

Подскажите в чем разница межу калбэками и промайзами? У них же принцип вроде одинаковый. А что из них лучше?
Например:
function atas() { blabla; huyhuy; }

Kалбэк:
suka(atas);

Промайз:
var yo = suka();
yo.then(atas);

Ответы964921965096965583

255 Кб, 512x512

01 Апр, 17:38 #166 #964921

>>964915
> принцип вроде одинаковый

Ответы965064

01 Апр, 19:08 #167 #964972

Что по basis.js ?

01 Апр, 19:37 #168 #964991

>>964912
Кипятка себе в жопу залей чепушила.

Ответы964995

01 Апр, 19:40 #169 #964995

>>964991
джвачую

Dmitry 01 Апр, 19:46 #170 #965001

>>963931
Для начала ваниллу осиль.
JavaScript Add Sparcle and Life to your web pages.

01 Апр, 21:55 #171 #965064

>>964921
Ну объясни плиз, мы же люди.

01 Апр, 22:46 #172 #965096

>>964915
Если функция асинхронная, то твой колбэк вызовется в случайный момент времени и поломает код, в то время как промис вызовет следующую функцию тогда и только тогда, когда выполнится предыдущая.

01 Апр, 22:47 #173 #965097

>>963914
Больше так не делай.

02 Апр, 02:33 #174 #965226

подскожите плз компилятор для жс

Ответы965229965391965884

02 Апр, 02:43 #175 #965229

>>965226
Internet Explorer

02 Апр, 11:32 #176 #965295

>>964714
да я сам хз, в любом уроке по редуксу такой способ указан, но бля, большинство этих уроков просто юзлесс.

пишешь такую конструкцию
import { bindActionCreators } from 'redux';
import * as экшн from '../actions/autocompleteActions';

function mapDispatchToProps(dispatch) {
return {
экшн: bindActionCreators(экшн, dispatch)
};
}

и теперь в компоненте можешь получить его через пропсы
let экшн = { ...this.props.экшн};

Вот так вроде, может кто поправит, если ошибся

Ответы965296

02 Апр, 11:33 #177 #965296

>>965295
import * as экшн from '../actions/экшн';

02 Апр, 12:33 #178 #965345

Поясните, зачем фронтендеру реакт и редакс?
Я тут на ангуляр перешел, так он хорош только повторяющиеся списке из жс вызывать, сокращая разметку и то неизвестно, как это совмещать со списками, формирующимися из бд.

Ответы965354965385

02 Апр, 12:38 #179 #965354

>>965345
https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367

02 Апр, 13:23 #180 #965385

>>965345
аякс для этого и придумали

Ответы965409

02 Апр, 13:28 #181 #965391

>>965226

лол, смотрел сейчас про ЖС, его создатель отписался в комменте https://www.techworm.net/2017/03/webassembly-replacing-javascript.html#comment-182273

лол смотрел компилятор для ЖС в ВАСМ, нашел каммент создателя языка https://www.techworm.net/2017/03/webassembly-replacing-javascript.html#comment-182273

его блог https://brendaneich.com/

как тесен мир однако

Ответы965394965395

02 Апр, 13:29 #182 #965394

>>965391

*первый коммент был для скайпика

02 Апр, 13:32 #183 #965395

>>965391
>его создатель
Хуйню написал, он один из чуваков, кто дизайнил то говно, от которого стараются сейчас избавиться.

Ответы965397

02 Апр, 13:36 #184 #965397

>>965395

угу, так стараются, что спека ecmascript 6 уже овер 700 страниц, против 250 первоначальных

Ответы965398

02 Апр, 13:38 #185 #965398

>>965397
>ecmascript 6 уже овер 700 страниц, против 250 первоначальных
так эта хуйня и будет расти
добавляют всякий функциональный сахар, сохраняя всякое легаси в стандарте
хоть что-нибудь оттуда выкинули? нет

Ответы965401

02 Апр, 13:42 #186 #965401

>>965398

промисы и генераторы вполне годная вещь например, ты просто не юзай что тебе не нужно

сжатый обзор синтакса ЖС, может кому пригодится https://en.wikipedia.org/wiki/JavaScript_syntax

02 Апр, 13:57 #187 #965409

>>965385
А как из пхп контроллера передать данные в жс скрипт да еще и аяксом, маня?

Ответы965412

255 Кб, 512x512

02 Апр, 14:03 #188 #965412

>>965409
>как из пхп контроллера передать данные в жс скрипт да еще и аяксом
>маня

Ответы965426

02 Апр, 14:24 #189 #965426

>>965412
Вот я тебя и спрашиваю как, еблан тупой, если эти данные из ангуляра передаются. Каким образом я их из сервера передам списком в жс скрипт. Еблан туопй, все жаваскритпчики обмазывающиеся своими еба фреймворками - ебланы тупые, их фреймворки только костыли плодят.

Ответы965435965441

02 Апр, 14:40 #190 #965435

>>965426
К тебе приходит запрос. Ты его обрабатываешь и выдаешь ответ в виде json.
Все, клиент его обрабатывает и рисует своим еба-фреймворком то, что ему надо отрисовать.

мимо

02 Апр, 14:52 #191 #965441

>>965426
Отец твой, еблан тупой, животное. Заебали вы со своими маня, ну такое и прочими фразами вырожденцев, деревенщины залетные.
Нахуй пошел.
Подумай головой хоть раз, как у тебя вообще сервер и приложение за прокси=сервером обрабатывает запросы с клиента.

Ответы965443

02 Апр, 14:54 #192 #965443

>>965441
Пиздец, блять, еще и ошибок дохуя нагородил.

02 Апр, 15:15 #193 #965452

Ебать ты даун, ты вообще знаешь, что такое ангуляр и для чего его используют?

131 Кб, 850x1080

02 Апр, 17:30 #194 #965530

Подскажите хайповый бекенд под хайповый Vue js

Ответы965533965545

195 Кб, 1280x1024

02 Апр, 17:33 #195 #965531

>>961365 (OP)
охуенную игру я придумал:
я вам кидаю код, который мне кажется, я написал как индус, объясняю чего я добивался, а вы мне говорите как мне его изменить. А то мне чет тошно на него смотреть

короче есть SPA и на нем есть страница с работами, html для которых генерится из jade файла
так вот
в целях сео, заказчик попросил страницы с работами разбить на отдельные как то walls.html/floor.html/bathroom.html
я не долго думаю запилил проверялку location и в зависимости от ее содержимого передаю jade файлу не все работы а только нужные на данной странице ( все если на главной )

кто нить может подкинуть идей как сделать метод createTemplate посимпотишнее ?

Ответы965535

02 Апр, 17:33 #196 #965533

>>965530
go(Revel), elixir(феникс)

Ответы965545

02 Апр, 17:35 #197 #965535

>>965531
алсо 40я строка тоже подбешивает, буду благодарен за более интересное решение

02 Апр, 17:46 #198 #965545

>>965530
Ах да, забыл добавить, желательно, чтобы бекенд фреймворк был прост и в то же время эффективен, как и сам Vue.
>>965533
Говорят Го прост в изучении, но все же предпочтителен JS бекенд. Или js на бекенде все не лучшая идея?

Ответы965547965557965848

02 Апр, 17:48 #199 #965547

>>965545
Sails

02 Апр, 18:04 #200 #965557

>>965545
А ну тогда не в курсе, на js нормально бэкенд, нода быстрее остальных скриптовых языков, как я слышал.

Ответы965885

02 Апр, 18:47 #201 #965583

>>964915
>Подскажите в чем разница межу калбэками и промайзами?
Промис - попытка сделать сделать работу с асинхронным кодом (колбеками) похожей на синхронный код.
Использование промисов предотвращает callback hell, делает асинхронный код читабельным, дает возможность обработки ошибок в catch.
Развитие идеи промисов - генераторы и async/await.

47 Кб, 783x734

02 Апр, 22:12 #202 #965671

>>961365 (OP)
аноны, смотрите какой я красивый и работающий код написал

нюфак

Ответы965697

02 Апр, 22:51 #203 #965697

>>965671
Ты умудрился даже в html-разметке накосячить. Как можно быть таким дауном?

Ответы965704

47 Кб, 782x736

02 Апр, 22:56 #204 #965704

>>965697
проиграл со своей невнимательности и тупизны.
не стукайте пожалуйста, я только учусь

Ответы965707965721

02 Апр, 22:59 #205 #965707

>>965704
хотя нет, стукать иногда полезно, но не сильно.

47 Кб, 783x738

02 Апр, 23:07 #206 #965721

>>965704

Ответы966077966199

03 Апр, 03:46 #207 #965836

>>961365 (OP)
Как асинхронно загрузить файл из формы на сервер? Гугл выдаёт много всего, но в основном не то,либо я как-то не так спрашиваю.

Ответы965876

03 Апр, 06:30 #208 #965848

>>965545
koa

03 Апр, 10:24 #209 #965876

>>965836
2 ссылка, пидор ленивый
http://pogugli.com/?154230

Dmitry 03 Апр, 10:41 #210 #965884

>>965226
Компилятора в вебасм вроде нет, и не должно быть, и реализовать такое очень сложно, а работать оно будет все равнот медленей того что собирали из C.

Dmitry 03 Апр, 10:43 #211 #965885

>>965557
Но меденнее джавы И намного медленнее го.

Ответы965991

53 Кб, 1000x728

03 Апр, 13:17 #212 #965991

>>965885
>И намного медленнее го

бутылочное горлышко

хуле толку от хело вордов, когда в стеке нужно работать с БД?

03 Апр, 15:04 #213 #966038

Посоны, не встречал ли кто-нибудь редактор сплайнов, ну и векторное 3д в общем?

по-типу вот этого https://threejs.org/examples/webgl_geometry_spline_editor.html

только чтобы на каждый поинт был контрол кривизны, снапы, и прочее как в 2д векторках.

03 Апр, 16:44 #214 #966077

>>965721
чеэт за плюсики в алерте янепонил

Ответы967545

30 Кб, 475x334

03 Апр, 20:04 #215 #966170

Кто-нибудь может доступным языком объяснить что такое статические/фабричные методы и для чего они нужны? Зачем вне функции добавлять в её объект свойства? Читал Кантора, нихуя не понял, он как-то слишком резко темы переводит и по какой-то причине считает что ученик должен улавливать его различные не очевидные порывы в заданиях и объяснениях.

Не пойму например почему count передаваемый объекту функции не обновляется при её вызове? Т.е если мы извне функции назначаем в её объект свойство, то на него не влияют повторные вызовы и оно не переназначается?

Ответы966178966287

03 Апр, 20:23 #216 #966178

>>966170
Count висит грубо говопя на функции, точнее на конструкторе, т.к. фкнкция Article является конструктором, о чем говорит то, что она с большой буквы начинается.
Count вынесен на конструктор, а не в него, потому что количество статей не относится к какой-то отдельной статье.
Когда мы создаем экземпляр (вызываем через new) количество увеличивается на один
При showcount просто его выводим.

Не бугурть на Кантора, вникай сиди лучше.

Ответы966212

03 Апр, 20:53 #217 #966199

>>965721
почему не через рекрусии?

Ответы967545

30 Кб, 422x341

03 Апр, 21:15 #218 #966212

>>966178
Ну так и нахуй это надо? Просто чтобы создать независимую переменную которая не обнуляется при повторном запуске функции?

Я тут пытался понять и вспомнить как работают функции. Т.е значения в их объект можно записать извне, но при этом нельзя извне как-то вызвать? Зато если этот func.value присвоить вне функции, то он будет читаться и в функции, и вне её. Как это понять вообще?

Ответы966223966229966233

03 Апр, 21:22 #219 #966223

>>966212
сколько ты уже изучаешь жс?

Ответы966235

03 Апр, 21:26 #220 #966229

>>966212
Перемести вызов функ перед алерт. Посмотри че будет.

Ответы966235

03 Апр, 21:34 #221 #966233

>>966212
если провести аналогию с твоим кодом, то ты сначала посрал, потом зашел в туалет, потом сел на унитаз, потом снял штаны

Ответы966247

03 Апр, 21:36 #222 #966235

>>966223
Пару недель мб.

>>966229
Кк понял. А почему записывая func.value я потом просто не могу получить переменную написав просто value? Т.е func.value записывается в какой-то другой объект, а не в объект лексического окружения?

Ответы966241966247

19 Кб, 270x170

03 Апр, 21:40 #223 #966241

>>966235
>Пару недель

03 Апр, 21:44 #224 #966247

>>966235
Нет, не понял.
Вот этот чувак норм написал >>966233 хорошая аналогия.
Пока ты не вызвал функ у тебя ничего никуда не присвоилось. А ты хочешь что-то взять. Как можно взять то, чего нет? Никак. Поэтому у тебя андефайнд.
Я спать, если будут вопросы завтра может отвечу

А в

Ответы966266

11 Кб, 241x203

03 Апр, 21:50 #225 #966250

Почему без this не работает, ведь value находится внутри объекта?

Ответы966251966252966258966260

03 Апр, 21:52 #226 #966251

>>966250
у функции свой скоуп, оторванный от объекта и что такое вэлью функции невдомёк

03 Апр, 21:53 #227 #966252

>>966250
А почему по-твоему должна?
У тебя нигде не определена переменная value
а внутри объекта у тебя не переменная, а его поле.

Ответы966255966269

03 Апр, 21:54 #228 #966255

>>966252
>А почему по-твоему должна?
Потому что value это переменная.

Ответы966281

03 Апр, 21:59 #229 #966258

>>966250
ну и что что внутри, сука ебаная. через точку нужно обращаться к кею.

Ответы966263

255 Кб, 512x512

03 Апр, 22:00 #230 #966260

>>966250

03 Апр, 22:03 #231 #966263

>>966258
По логике функция должна видеть value, как в других нормальных языках.

Ответы966264966278

03 Апр, 22:03 #232 #966264

>>966263
Не должна

Ответы966268966269

29 Кб, 453x312

30 Кб, 475x334

03 Апр, 22:04 #233 #966266

>>966247
Т.е если мы извне назначаем объекту функции свойство, то оно доступно и без её вызова? Суть такого назначения в том чтобы это свойство привязывалось к функции и при повторном её вызове никак не изменялось? Ну если напрямую в функции назначить Article.value = 0, то при каждом вызове функции значение бы сбрасывалось в 0, а при таком внешнем назначении оно остается таким же каким было на момент предыдущего запуска функции. Раньше вроде бы подобные переменные (в уроках Кантора) создавались при работе одной внешней функции, в которой записывались подобные "неизменяемые" переменные и другой внутренней функцией, которая как раз эти переменные использовала.

А вот с методами я чет уже не понял совсем. Зачем их делать статическими. Код на первом и втором пике вроде работает одинаково и выдает один и тот же результат. Т.е нафига записывать метод в функцию извне если он итак будет работать?

Возможно я опять нихуя неправильно всё понял. Но что-то совсем запутался с этими функциями, замыканиями и тем как работают функции. Хотя вроде только совсем недавно делал по задания и читал темы, всё было понятно.

Ответы966429966481966482

9 Кб, 245x157

03 Апр, 22:07 #234 #966268

>>966264
А о так она видит, почему в объекте не видит, ведь value находятся в одном поле видимости.

Ответы966271966273

03 Апр, 22:07 #235 #966269

>>966264
>>966252

Почему когда мы в общем коде напишем value = 5 и это будет считаться свойством глобального объекта window, то мы можем вызывать этот value без window.value , а когда в обычной функции (которая такой же объект) мы этого делать не можем?

Ответы966272966274

03 Апр, 22:09 #236 #966271

>>966268
>value находятся в одном поле видимости
нет

03 Апр, 22:09 #237 #966272

>>966269
>которая такой же объект
Не такой же.
Глобальный объект - это глбоальный объект.
И не везде глобальным объектом является window

Ответы966282

03 Апр, 22:11 #238 #966273

>>966268

валью в объекте - это поле этого объекта, к полю нужно обращаться через точку. тебе же уже выше это сказали, что тупишь?

Ответы966276

03 Апр, 22:11 #239 #966274

>>966269
ну попробуй написать let value = 5
а потом найти его в своем глобальном объекте.

03 Апр, 22:12 #240 #966276

>>966273
он не видит разницы между пропертью и переменой в глобальном скопе. и не может понять, что глобальный скоуп(как и любой другой) это тоже объект.

Ответы966289

03 Апр, 22:14 #241 #966278

>>966263
Не лез бы ты в программирование, с такой логикой.

Ответы966289

03 Апр, 22:15 #242 #966281

>>966255
Нет, не переменная. У тебя она поле объекта.

29 Кб, 754x262

03 Апр, 22:16 #243 #966282

>>966272
Ну я вот вопрос выше задавал. Т.е у функции 2 объекта в которые она записывает свои значения или че? 1 - это лексическое окружение (LexicalEnvironment) в которые попадают все переменные. 2 - это просто объект которому можно задать свойство. ?

Ответы966284966286966290

03 Апр, 22:17 #244 #966284

>>966282
Чувак, начни с компьютер саенс, сириесли.

Ответы966294

198 Кб, 1080x1080

03 Апр, 22:18 #245 #966285

Как защитить шиндоус от засирания, да и вообще как-то организовать всё?
Ставил scoop. Удобненько отсортировалось, но yarn всё равно вылез за пределы и серанул в папку пользователя.
Веб приложения это вообще пиздец. Поставил vs code,hyperjs, да и вообще что-то посмотреть, так они постоянно всё засирают в папке юзера, создавая свои файлы и папочки для зависимых пакетов и т.д. Можно это вот всё чтобы лежало по своим отдельным папкам?

03 Апр, 22:18 #246 #966286

>>966282
func.value у тебя поле объекта func
ты к нему обращаешься по имени функции.
будь у тебя функиця анонимная ты к нему не обрашись.

лексическое окружение - это лексическое окруение. оно наследуется вверх, вплоть до лоальной области видимости.

еще есть контекст this

Я не знаю, где ты там изучаешь язык. Но изучаешь ты его как-то через жопу.

Ответы966288966294966309

03 Апр, 22:18 #247 #966287

>>966170

похожет тут ответы https://addyosmani.com/resources/essentialjsdesignpatterns/book/#summarytabledesignpatterns

03 Апр, 22:18 #248 #966288

>>966286
> вплоть до глобальной области видимости.

12 Кб, 404x134

03 Апр, 22:20 #249 #966289

>>966276
>>966278

Справедливости ради в window всё работает и вызывается. А в внутренней переменной которая тоже объект - нужно вызывать только через точку? Какое отношение к этому имеет логика, если по логике и то и другое должно работать одинаково ибо это объекты.
Но челик выше сказал что глобальный объект он немного другой, поэтому через него это возможно. Ну ок, тогда вопросов нет.

Ответы966292

03 Апр, 22:20 #250 #966290

>>966282
>Т.е у функции 2 объекта
Функция это тоже объект.
В твоем примере, ты дергаешь переменную из лексического окружения и свойство объекта func.

А this - это контекст. Контекстом может быть вообще любой объект в разное время, смотря как ты вызовешь и смотря какая у тебя функция.

Ответы966295

03 Апр, 22:21 #251 #966292

>>966289
Ты свой пример перепеши с let а не var, и увидишь, что ничего у тебя не работает.

Ответы966295

03 Апр, 22:22 #252 #966294

>>966284
>>966286

Так четкий ответ будет, не? Лексическое окружение это один объект в который записываются переменные. А при назначении через func.value = 5 мы просто назначаем в свойство объекта func значение?

>лексическое окружение - это лексическое окружение.
Ну т.е это как бы другой объект, правильно?

03 Апр, 22:23 #253 #966295

>>966290
Я не тот анон который спрашивал про this. Мне другое интересно.

>>966292
Я не знаю что такое let

03 Апр, 22:27 #254 #966298

Т.е грубо говоря функция при создании создает в своем объекте свойство LexicalEnvironment: {} - у которого значение это другой объект в который уже записываются переменные функции.
Когда мы вызываем func.value то обращаемся к объекту функции, а не внутреннему объекту, поэтому это по сути разные 2 объекта, один в другом.

Ответы966302966311

03 Апр, 22:29 #255 #966302

>>966298
нет.

Ответы966306

03 Апр, 22:32 #256 #966306

>>966302
Ну тогда может кто-то расскажет чем отличается LexicalEnvironment от основного объекта функции?

Ответы966309

03 Апр, 22:35 #257 #966309

>>966306
Тебе уже тут все сказали >>966286
и еще несколько раз выше тоже все пояснили
ты или отказываешься понимать, или дурак.
извини.

Ответы966313

03 Апр, 22:40 #258 #966311

>>966298
Лексические окружения вложены друг в друга до глобальной области видимости, и ни какого отношения ни к каким другим объектам не имеют. Ты слишком тугой.

Ответы966318

03 Апр, 22:41 #259 #966312

вы понимаете... вары они до инвокинга в памяти...

03 Апр, 22:41 #260 #966313

>>966309
Четкого ответа так и не было.

>лексическое окружение - это лексическое окруение
Охуенное объяснение. Лексическое окружение это объект в который записываются локальные переменные, аргументы (так написано у кантора).

Но записывая func.value = 5 , то чем является это свойство value? Свойством объекта лексического окружения или просто свойством объекта функции?

Ответы966317

03 Апр, 22:43 #261 #966317

>>966313
>Охуенное объяснение
Тебе до конца строки пояснение прочитать религия мешает?

Короче, ты заебал.

Ответы966321

22 Кб, 694x185

03 Апр, 22:44 #262 #966318

>>966311
Ну если ты не тугой, где находятся эти лексические окружения?
Лексического окружение это объект который создает для себя каждая функция, понимаешь?

Ответы966320966326

03 Апр, 22:45 #263 #966320

>>966318
Это ты не понимаешь иерархию этих окружений.
Ты блядь дурак. Просто дурак.

03 Апр, 22:46 #264 #966321

>>966317
>лексическое окружение - это лексическое окруение. оно наследуется вверх, вплоть до лоальной области видимости.

Где здесь ответ на вопрос - "чем отличается LexicalEnvironment от основного объекта функции?"

>наследуется вверх
По моему челик даже сам не уверен разбирается он в этом или нет. Наследуется не лексическое окружение, а ссылка на лексическое окружение объекта "уровнем" выше. У функции ссылка (скоуп) на объект window. У внутренней функции объект на внешнюю и так далее.
Где ты здесь увидел ответ на мой вопрос я даже не ебу.

Ответы966328966331966342

197 Кб, 825x395

03 Апр, 22:52 #265 #966326

>>966318

03 Апр, 22:53 #266 #966328

>>966321
> на объект window
Ты хоть понимаешь, что может не быть никакого объекта window?
Понимаешь, что глобальным объектом может быть совершенно любой объект, и его еще можно поменять?

03 Апр, 22:55 #267 #966331

>>966321
>Наследуется не лексическое окружение, а ссылка на лексическое окружение объекта
Дебил блядь ебаный. Это и есть наследование.
ДЕЛЕГИРОВАНИЕМ.

Идин нахуй отсюда просто.

03 Апр, 23:04 #268 #966342

>>966321
>Где здесь ответ на вопрос - "чем отличается LexicalEnvironment от основного объекта функции?"
Ты болен чем-то?
Тебе пятнадцать раз сказали - это разные объекты, они ничем не схожи. Объект функции - это блядь сама функция. Она и есть объект сама по себе. Лексические окружения - это окружения блядь, вложенные друг в друга иерархией. Если тебе не нравится пояснение, что симаская кошка - это такая кошка, то проследуй решительно нахуй. Объяснять тебе азы никто не обязан. А если ты настолько идиот, что не сумел за все это время нагуглить ответы на свои глупые вопросы, то я не понимаю, что ты до сих пор пытаешься тут изучить. У тебя нет будущего в этой сфере. У тебя все очень плохо с абстракциями.

Ты блядь продолжаешь задавать идиотские вопросы утверждая, что тебе ничего не пояснили.

Тебе все пояснили. Не единожды.

487 Кб, 800x533

03 Апр, 23:24 #269 #966357

>Lexical Environment

как можно тут что-то не понимать? http://es5.github.io/#x10.2

Ответы966359

03 Апр, 23:27 #270 #966359

>>966357
че, англичанин дохуя, мож выйдем пойдем?!

Ответы966362

03 Апр, 23:28 #271 #966362

>>966359

кому ты нужен, Маня. можешь забыть без ангельского изучения ЖС.

Ответы966374

03 Апр, 23:37 #272 #966374

>>966362
щенок)

04 Апр, 00:30 #273 #966423

Короче, аноны, сегодня получил работу - фронтенд джуниор, выхожу через неделю. Но суть в том, что собес я прошел неплохо, но на деле просто спрашивали довольно банальные вещи, типа замыканий, прототипов, етк. Так вот, дело в том, что я js изучаю ну от силы месяца 3-4. Ничего серьезного не писал и толком то не умею даже вебпаком пользоваться и всякими такими фичами, не говоря уже о фреймворках а работа кстати на реакте предстоит, как я понял. Они спрашивали об этом - я честно сказал, что опыта нет.
Короче, подскажите с чего начать изучение, чтобы совсем не обосраться на месте.

Ответы966494969143

9251 Кб, Webm

04 Апр, 00:35 #274 #966429

>>966266
Бамп данному вопросу. Вот нашел видосик даже в котором Кантор всё доходчиво объясняет (зато на сайте хуй поймешь). Но тут только про статические переменные.

Ответы966446

04 Апр, 01:03 #275 #966446

>>966429
это который за 26к?

Ответы966452

04 Апр, 01:49 #276 #966452

>>966446
не понял твоего вопроса

Ответы966598

04 Апр, 07:41 #277 #966481

>>966266
Поставь еще один showcount до new Article. Я про скрин с саблайма.

Ответы966648

04 Апр, 08:03 #278 #966482

>>966266
>Возможно я опять нихуя неправильно всё понял
Пиздуй уже книжку наверни нормальную, сука. Уж насколько джс простой язык, так ты и в нем нихуя не понимаешь.

Ответы966648

04 Апр, 09:10 #279 #966494

>>966423
я тебя сейчас задушу

Ответы966512

04 Апр, 10:15 #280 #966512

>>966494
Так сделайте шапку треда уже, олдфагушки.

04 Апр, 10:28 #281 #966518

Котаны, помогите убогому мне.
Учусь по учебнику с javascript.ru
Вопрос по основам самым. То ли я туплю, то ли не очевидно написано.
Но - не пойму как работает директива return в функциях.
Вот накатал простейшее условие: https://jsfiddle.net/4mn4r1qn/1/

вот цитата из учебника: "Функция может возвратить результат, который будет передан в вызвавший её код." или "Она может находиться в любом месте функции. Как только до неё доходит управление – функция завершается и значение передается обратно."

На примере моего скрипта можете обьяснить куда можно воткнуть return, куда будет возвращено значение при этом?
Туплю блин аж раздражает.

Ответы966539

04 Апр, 10:48 #282 #966539

>>966518
Кажется понял.
когда кажется крестятся
Поэтому все равно буду рад разъяснениям.

04 Апр, 11:09 #283 #966548

Анончики, что можно написать на react+redux такого, чтобы на собеседовании показать?

Ответы966550

04 Апр, 11:11 #284 #966550

>>966548
круд

04 Апр, 13:24 #285 #966598

>>966452
Ну видео. Это из его платного курса?

Ответы966641

04 Апр, 15:06 #286 #966641

>>966598
Ну наверное из платного, лично я с торрента качнул.

Ответы966681

04 Апр, 15:13 #287 #966648

>>966481
Т.е вся суть статического метода функции в том, что его можно запускать даже тогда когда функция не была запущена?

>>966482
Кто-то пишет что легко, кто-то наоборот что сложно...

Ответы966725966761

9 Кб, 80x80

04 Апр, 15:47 #288 #966664

>>961365 (OP)

наконец-то в ЖС подвезут нормального синтакса https://youtu.be/s-G_RZ4RJLU

Ответы966674966734

04 Апр, 16:21 #289 #966674

>>966664
А запилил они js на s-выражениях, язык бы ругали только говнокодеры

04 Апр, 16:28 #290 #966681

>>966641
Скинь ссылку.

Ответы966692

04 Апр, 16:51 #291 #966692

>>966681
ну загугли блять. там курсы за 2013 год (ориентир тебе).

04 Апр, 17:53 #292 #966725

>>966648
Ну... типа того

Ответы966732

04 Апр, 18:07 #293 #966732

>>966725
А на счет инициализации. Если я этот метод сделаю как просто вложенную функцию в конструкторе Article, то эта функция будет инициализироваться каждый раз при создании нового объекта new Article() ? И если делать через статический метод, то он инициализируется всего 1 раз, правильно?

04 Апр, 18:09 #294 #966734

>>966664
штоблядьэтозаговно

Ответы967035

04 Апр, 18:55 #295 #966757

Уважаемые програмисты, хочу тут написать ебучий кубик рубика тридэшных в канвансах.
Посоветуйте какой фреймворк юзать, чтоб с этим было не так много ебли.

Ответы966766966769

04 Апр, 19:01 #296 #966761

>>966648
>Т.е вся суть статического метода функции в том, что его можно запускать даже тогда когда функция не была запущена?

Нет. Ты снова ничего не понял. Суть совершенно не в этом. Твой статический метод showcount объекта Article это точно такая же функция, как сам Article, которая может быть его методом, а может и не быть. showcount это поле объекта Article. Article - это callable object.

В js нет функций. В js есть объекты и примитивы. Функция в js - это callable объект. Который может быть еще и конструктором (то есть при вызове callable object в качестве конструктора будет создан новый объект, который станет контекстом).
Методов у объектов нет. У объектов есть поля, в них хранятся ссылки на другие объекты или примитивы. Если в поле хранится ссылка на callable объект, то она иногда может выступать в качестве метода объекта, который на нее ссылается. Но может и не выступать.

Нет никакой разницы принципиальной между методом\функцией\объектом. Это все есть объекты, с разными свойствами. Но ты почему решительно пытаешься их сегрегировать.

Твоя проблема в том, что ты совершенно не понимаешь сути объектов в js, и пытаешься понять все задом наперед.

Вот когда ты поймешь дзен объектного программирования, тогда ты перестанешь спрашивать про суть. А точнее ее выдумывать. И плодить последующие неправильные вопросы.

Пойми, что твое непонимание базовых принципов, порождает у тебя массу неправильных суждений в будущем. По всей ветке легко наблюдается, как ты в одном месте говоришь, что что-то понял и сразу следом задаешь вопрос из которого видно, что ты не понял ничего абсолютно. Прекрати мучить людей в треде. И себя. Или пройди курс, прочти книжек, или найди ментора, если у тебя не получается в самообучение.

Ответы966772966774

Dmitry 04 Апр, 19:03 #297 #966766

>>966757
Three.js говнецо, юзай второе по популярности, забыл название.

Ответы966778

Dmitry 04 Апр, 19:05 #298 #966769

>>966757
CSS может в триде, по идее шустрее канваса, погугли.

Ответы966778

04 Апр, 19:07 #299 #966772

>>966761
>Твоя проблема в том, что ты совершенно не понимаешь сути объектов в js, и пытаешься понять все задом наперед.

Бля а как я могу что-то понимать если я изучаю язык по Кантору и он там говорит что вот есть функция, а вот объект. А если свойство объекта это функция - то это называется методом. Я чисто физически не могу иметь другого представления о языке потому что мне его не давали по ходу обучения (уроков Кантора).

Ответы966795966803

04 Апр, 19:10 #300 #966774

>>966761
Ну тогда вбрось мне плз объяснение главного отличия статического метода от всех других, в чем особенность. Ткни пальцем плз куда читать.

Ответы966785

04 Апр, 19:15 #301 #966778

>>966766
WebGLU,GLGE,Babylon JS?

Я просто в гугле нашёл вот этот сайтик
http://www.randelshofer.ch/rubik/virtual_cubes/rubik/instructions/instructions.html
открыл сорс и вот эта вот хуйня несколько фрустрировала меня http://www.randelshofer.ch/rubik/virtual_cubes/rubik/lib/virtualcube.js
посему я и прошу библиотеку фреймворк чтоб попроще было.

>>966769
Мне кажется эта хуйня не предназначена для этого.
Это как игра на css, лол.
Она есть, но только для того чтобы была хотя бы одна игра на css, то есть не благодаря, а вопреки.

04 Апр, 19:20 #302 #966785

>>966774
Нечего тебе вбрасывать.
Потому что нет в js никаких статических методов.
Сколько тебе можно объяснять?

Статическим методом можно при большой натяжке назвать поле,в котором лежит ссылка на callable объект, а на поле навешен дескриптор запрещающий его изменять. Или объект заморожен. Вот тогда он тебе будет статическим.

Ты просто не хочешь понимать что нет разницы между function a() {} и методом a.x()

и объектов b = {} и методом b.y()

Методы это просто блядь поля. Сейчас у тебя в поле функция, а через секунду там может быть примитив. Тут нет никакой статики. Тут нет даже классов. Классы в js это просто цепочка ТЕГОВ на цепочку прототипов из объектов. Классы не статичны как в других языках. Тут вообще ничего не статично, если специально это не сделать. Тут сплошная динамика.

Ответы966846

04 Апр, 19:28 #303 #966795

>>966772
Язык лишь средство для отражения той или иной методологии программирования. В каждом языке заложены те или иные возможности, чтобы писать с использованием определенной парадигмы. JS динамический мультипарадигменный объектный язык программирования. Ты вполне себе можешь писать на нем в процедурном стиле, используя функции как функции, а объекты, как ассоциативные массивы. Можешь писать в функциональном стиле. Можешь в объектном. Но в КЛАССОВО-ОБЪЕКТНОМ так как это принято в мейнстримовых энтерпрайзных языках если и можешь, то только с большим трудом. JS прототипный язык.

Прочитай Алана Кея, посмотри на Smalltalk. Постигни что такое когда все есть объект, а вместо методов есть только сообщения.

JS несет в себе именно эти концепции, только сильно урезанном виде. В нем помимо объектов есть примитивы, а из сообщений есть всего-лишь get\set\call и еще несколько служебных.

Ответы966846967150

04 Апр, 19:41 #304 #966803

>>966772
> вот есть функция, а вот объект
Либо хуёво он объясняет, либо ты тупой.
В js все есть объект, даже примитивы. Хотя нет, особенно примитивы.

Ответы966811966846

73 Кб, 1280x720

04 Апр, 19:42 #305 #966805

А можно как-то записать результат функции в переменную, не вызывая ее в глобальном смысле?

Ответы966813

04 Апр, 19:49 #306 #966811

>>966803
Нет. Примитивы в js это примитивы.
А еще в js есть императивные конструкции, которые являются исключительно синтаксическими конструкциями, а не объектами : циклы\операторы\блоки кода\етк - все это в js не объекты. Могли бы быть, но увы, нет.

Ответы966819

04 Апр, 19:50 #307 #966813

>>966805
А можно как-то выпить чая, не выпивая его в глобальном смысле?

Научись формулировать вопросы.

3 Кб, 369x143

04 Апр, 19:57 #308 #966819

>>966811
>Примитивы в js это примитивы.
Ну да.

Ответы966820966828966871

04 Апр, 19:59 #309 #966820

>>966819
Ты своим скрином только показал свою некомпетентность же.

Ответы966822

04 Апр, 20:01 #310 #966822

>>966820
Нет, в js все есть объект и примитивов тут нет, как и в любом подобном языке с динамической типизацией.

Ответы966825966826966833966842

04 Апр, 20:03 #311 #966825

>>966822
Нумбер объект, а сама циферка нет

04 Апр, 20:03 #312 #966826

>>966822
Но ведь ты не прав.
Спецификация есть. В ней написано черным по белому, что в js ровно шесть примитивных типов, которые не являются объектами. При этом только из четырех из них есть враппер, для вызова методов из прототипа.

Ты же не понимая этой простой вещи, пытаешься заявлять обратное, основываясь на чем, извини, кроме собственного невежества?

04 Апр, 20:04 #313 #966828

>>966819
Ну-ка вызвои мне null.toString(), маня.
Ну или сделай

x = 'ты хуй бля'
x[2] = 'ы'

Ты совсем отбитый, да?

Ответы966829966835

04 Апр, 20:05 #314 #966829

>>966828
>x[2] = 'а'

04 Апр, 20:09 #315 #966833

>>966822
Мы вам перезвоним.

Ответы967142

04 Апр, 20:10 #316 #966835

>>966828
>x = 'ты хуй бля'
>x[2] = 'ы'
Лол, это будет работать ващет, если ты не с осла сидишь.
Null это вообще ничто, указатель на пустоту.
Тут называется примитивом все, что копируется по значению, так что это хуита.

Ответы966837966840

04 Апр, 20:12 #317 #966837

>>966835
null это примитивный тип.
Как и undefined.

> это будет работать ващет
Ну-ка докажи

04 Апр, 20:14 #318 #966840

>>966835
но ведь хуита тут только ты

04 Апр, 20:15 #319 #966842

>>966822
выйди в окно, дитё жилбрейнс

04 Апр, 20:21 #320 #966846

>>966785
>>966795

Зачем тогда Кантор называет это статическим методом и статическими переменными если их нет? Я хочу понять в чем разница между статическим методом и обычным в КОНТЕКСТЕ объяснений Кантора. То что разницы в общем нет - ок.

>>966803
Пруф что примитивы это объект, плз.

Ответы966856

04 Апр, 20:29 #321 #966856

>>966846
>Зачем тогда Кантор называет это статическим методом и статическими переменными если их нет?
Это калька с других языков.
Возможно, он это делает чтобы людям было удобнее воспринимать информацию, полагаясь на то, что они уже знакомы с какими-то ЯП, в которых действительно есть статические вещи. Делает он это, конечно, зря.

> в чем разница между статическим методом и обычным в КОНТЕКСТЕ объяснений Кантора
У "статического" метода this - это сам класс.
У обычного метода, this - это инстанс класса.

Ответы966858966868

04 Апр, 20:30 #322 #966858

>>966856
Пока не знаю что такое инстанс, мда.
А что тогда мне почитать чтобы понять нормально как работает язык и тд.
Цикл этих книг поможет - https://github.com/azat-io/you-dont-know-js-ru/tree/master/up & going ?

Ответы966862966863

04 Апр, 20:37 #323 #966862

>>966858
Я не знаю ничего по книгам по языкам.
Я все всегда изучал практикой и чтением манов\статей\гуглением.

А книги только концептуальные вещи, типа кея\таненбаума\раскина\макконела\етк.

04 Апр, 20:41 #324 #966863

>>966858
instance это объект, который возвращает конструктор, - экземпляр класса.

function x() {}

x() // вернет undefined
new x() // вернет объект который является экземпляром(инстансом) класса x

Ответы966868

04 Апр, 20:43 #325 #966868

>>966863
Спасибо большое.

>>966856
>У "статического" метода this - это сам класс.
>У обычного метода, this - это инстанс класса.
Теперь наконец вот этот момент стал намного более понятен (не понятен) ((понятен)).
Вроде ничего сложного нет, но из-за всей хуйни я запутался и каша в голове. Нужно видимо действительно данные книжки почитать ибо мне кто-то говорил что там ультра-годнота для нубов.

Ответы966882

99 Кб, 567x274

04 Апр, 20:47 #326 #966871

>>966819

04 Апр, 20:58 #327 #966882

>>966868
>из-за всей хуйни я запутался и каша в голове
Просто, при изучении разных языков, очень вредно таскать\проецировать парадигмы из одних на другие.
Но, большинство не умеет иначе как изучать новое на примерах того, что уже изучено.
Именно поэтому в js сейчас натаскали кучи синтаксического сахара, который делает его похожим на другие, привычные многим, языки. Хотя на самом деле он таковым не является. И очень печально становится, когда человек застревает в этих вот рамках восприятия. Хотя, конечно, ничто им не мешает вот так застряв писать с использованием языка, совершенно не понимая до конца как он устроен. Именно по этой причине многие хаят тот или иной язык\технологию\вещь - потому что они хотят, чтобы было вот так, как они там где-то привыкли. а тут на самом деле все иначе.

Я не знаю, как там объясняет Кантор сейчас, я помню его статьи еще лет 10 назад только, когда у него и не было курса как такового и он там спеки переводил. Но, вполне может быть он подает информацию используя привычную устоявшуюсь терминологию для каких-то вещей, хотя на самом деле эти вещи тут не такие как в других местах.

Главное не зацикливаться, и стараться смотреть шире.

Ответы966886

04 Апр, 21:00 #328 #966886

>>966882
У меня вообще JS это первый язык, поэтому в голове в общем ничего нет.

Ответы966895

04 Апр, 21:17 #329 #966895

>>966886
Если пытаться изучать js в параллель с каким-нибудь php или питоном, то может будут очевиднее различия. (лучше наверное php, ибо там более стандартное ооп, в питоне такое же прототипное как и в js). В php есть все эти вещи как нормальные классы, интерфейсы, статические методы и переменные, вот это все. А прост он так же как и js. Да и связка вполне себе полезная. Можно конечно и более серьезные, будь то java\плюсы\шарп\етк. Можно вообще начать с чисто процедурных вещей и без всякой динамики (там эти все си\паскаль\go отчасти), а потом повышать абстракции. Можно понижать. Тут не угадаешь, как удобнее, это всегда индивидуально.

Но главное не застрять на каком-то месте. Очень сильно бытует мнение, что если человек изучил какой-то "не тот" язык первым, то он и не сможет уже нормально изучить остальные. Но это не так. Этот стереотип именно из-за той вещи о которой я писал. Людям сложно перестраивать абстракции. Но программист без гибкого абстрактного мышления не более чем макака же.

Писать ты можешь преимущественно на чем угодно (что нравится\за что платят\что-то еще). Но это не исключает твоей профессиональной обязанности понимать принципы и различия разных прочих областей.

Ответы966903

04 Апр, 21:32 #330 #966903

>>966895
>в питоне такое же прототипное как и в js

WUT?

Ответы966914

04 Апр, 21:49 #331 #966914

>>966903
Я конечно не имел ввиду, что он точно такой же. Но он ближе к js, чем php, например. А чтобы почуять разницу между действительно классовым ооп, без всякого метапрограммирования, и динамическим (будь он от js\ruby\python) питон не подойдет. Классы в питоне такой же примерно сахар как и в js. В остальном там все та же динамика, делегирование вместо копирования, классы как объекты и вот это все. Да, там нельзя выстраивать произвольную цепочку прототипов не используя классы. Но учитывая, что классы там вполне себе объекты, это сахарное деление на классы-объекты и инстансы-объекты.

04 Апр, 21:58 #332 #966918

https://github.com/azat-io/you-dont-know-js-ru/tree/master/up & going - кстати про эти книги. есть ли они в электронном форме на русском языке? Ибо читать можно только с гитхаба, а вот если на читалке - то уже не выйдет.

Ответы968404

04 Апр, 23:54 #333 #967035

>>966734
первоеапреляже

05 Апр, 10:09 #334 #967142

>>966833
Я уже работаю, можете даже не пытаться.

05 Апр, 10:24 #335 #967150

>>966795
А еслия пишу лапшу на клиенте, а повторяющийся куски выношу в функции, то я в какой стиле пишу?

05 Апр, 10:29 #336 #967153

Я использовал объекты в пхп, но я ума не приложу, где как и зачем мне использовать объекты в жс на клиенте? Можно же просто функций нахуярить

05 Апр, 12:19 #337 #967197

Не холивара ради.
Я уже несколько раз пытался учить джаваскрипт. в принципе, фрустрация начинается сразу, как только я приближаюсь ко фронтенду. Да, джаваскрипт разработчики делают красивые вещи, бывает, спасибо им за это

но вот все эти недоразумения типа ES5-8, охуительные выкрутасы с генераторами (для эмуляции, пока их в язык не завезли, async/await-ов), наличие охулиарда языков, компилирающихся в джаваскрипт, прорва подходов для отсылания формочек на бек, сделанных вчерашними студентами на коленке?
Кросбраузерная несовместимость - код, котоырй пишет наш фронтенд под хром, больше по сути нигде не работает.
Какая-то хуева куча бойлерплейта во всяких реактах - видел один проект своего знакомого - там какой-то ад.

Как вы блять живете то ?
Я что, что-то не так понимаю, или у вас вся жизнь - это действительно вот этот вот блядский цирк? Каждый раз, когда я подхожу к выбору инструментария для написания js , я использую jquery, плачу от убогости получившейся лапши и выкатываю в продакшен. Просто потому что все остальное такое ебанутое, грузящее и непонятное, а самое главное устаревает уже завтра.

Ответы967215967225967260

05 Апр, 12:45 #338 #967215

>>967197
Ты СОВЕРШЕННО не понимаешь в чем суть JavaScript. JavaScript это не раби «о, привет чуваки, зацените я слепил три гема и получился блог, гыгы». JavaScript это не псевдофункциональный код питона. JavaScript это не C#, Джава или ПХП. JavaScript это язык, на котором люди могут побыть программистами-творцами — ужасными, поехавшими, ненормальными чудовищами, которыми они на самом деле и являются.

Добавили промисы, а мы смеемся. Присыпали сахаром прототипы и назвали классами, а мы смеемся.

Три тимлида прыгнули с крыши 16-этажного дома, взявшись за руки после попытки разгрести код с тридцатикратной вложенностью, а мы смеемся и просим еще. Промисы, колбэки, асинки/авайты — мы смеемся. Модульность, асинхронность, непрерывная интеграция, юнит-тестирование, key-value хранилища, два десятка фреймворков на любой вкус — мы смеемся. GitHub позволил писать приложения на десктопе, запихивая в каждый хеллоуворлд отдельный браузер — мы смеемся. Мы бездушно подпишемся под чем угодно, наши предпочтения не основаны на здравом смысле, бесцельные споры — наша стихия, мы — истинное лицо современного IT.

Ответы968043

05 Апр, 13:04 #339 #967225

>>967197
А еще куча систем сборки и два пакетных менеджера.

05 Апр, 13:43 #340 #967260

>>967197
>Как вы блять живете то ?
Бухаем, упарываем
>устаревает уже завтра
а вот это уже чистый пиздеж
>Кросбраузерная несовместимость
хуйня, высосанная из пальца
>наличие охулиарда языков, компилирающихся в джаваскрипт
тебя никто не заставляет их знать, обычно они выбираются под проект, чтобы не тратить время спецов на другой, более уёбищный, дизайн языка
>хуева куча бойлерплейта во всяких реактах
как и в любом другом фреймворке на любом другом языке, который работает с ui

Ответы967269

05 Апр, 13:52 #341 #967269

>>967260
>а вот это уже чистый пиздеж
В 2010 меня агитировали за ExtJS, В 2013 - за ангуляр, в 2015 - за эмбер и в 2016 за реакт. Сегодня за Vue. Я не поспеваю за вашими новыми историями, уж извини
>хуйня, высосанная из пальца
Наверное именно потому наш ахуительный проект не работает в сафари, но работает в хроме. Потому что проблемы нет, а мы тут все дебилы сидим. Кек.
>тебя никто не заставляет их знать, обычно они выбираются под проект
ну то есть решил сменить проект - все начинай по новой. Красиво. Это я уже не говорю о том, что группа поехавших до сих пор продвигает кофийскрипт, который ну просто невероятно уебищен и не нужен.
>как и в любом другом фреймворке на любом другом языке, который работает с ui
там явно было больше, чем надо нормальному человеку. Хотя я допускаю, что он дебил, но таких дебилов сколько ходит по земле и сколько дает советы на стековерфлоу?

Ответы967290968043

05 Апр, 14:06 #342 #967290

>>967269
>В 2013 - за ангуляр, в 2015 - за эмбер
слоупоки какие-то
>новыми
Этим новым уже лет 5-6. Вот велосипеды-клоны реакта да, выросли как на дрожжах. Но там принцип один и тот же везде - компоненты и неизменяемое состояние приложения
> потому наш ахуительный проект не работает в сафари
> сафари
Эта хуйня на устаревающем вебките сейчас тащится где-то на уровне эксплорера
>решил сменить проект - все начинай по новой
схуяли ты сделал такой вывод, жопочтец?
Это значит что пишут чуваки на скале - пилят фронт тоже на скале
кто-то хуярит на рубях - чтобы не ебаться и фронт на кофе пилят
аналогично с тайпскриптом, closure, etc
>невероятно уебищен
это js невероятно уёбищен, если бы автор не был упрямым и принял коммиты, добавляющие аннотацию типов - он был бы идеален
>надо нормальному человеку
хуяк-хуяк и в продакшн?

Ответы967292967309

05 Апр, 14:08 #343 #967292

>>967290
>автор не был упрямым
ОРУ С ЭТОГО ДЕБИЛА

Ответы967294

255 Кб, 512x512

05 Апр, 14:09 #344 #967294

>>967292
Ну и зачем же ты с себя орешь?

05 Апр, 14:23 #345 #967309

>>967290
>Этим новым уже лет 5-6
тащемта какой нибудь vue , ангуляр 2 - это свежие истории. Ну не суть.
>Эта хуйня на устаревающем вебките сейчас тащится где-то на уровне эксплорера
ты не бойся, в фф оно тоже работает через раз и куча страниц не работают так как надо.
>кто-то хуярит на рубях - чтобы не ебаться и фронт на кофе пилят
вот я на рубях хуярю. Во-первых, кофескрипт на раби не похож, во вторых он уебищный, в третьих - он реально уебищно парсится. Мало того, что он парсится в довольно неэффективный код в угоду синтаксическому сахару, так там еще и конструкции языка можно написать так, что оно ебнется с совершенно невнятной ошибкой. Опять же, видел как наш фронт написал if с ошибкой и около часа ебался с какой-то просто невероятно невнятной ебаниной в консоли. Это не смешно.
>хуяк-хуяк и в продакшн?
погоди, погоди, погоди
сначала ты говоришь, что бойлерплейт - это неотъемлимая часть любого ui
потом говоришь, что кому то многовато бойлерплейта, написанного, блять, руками - это плохо и говоришь "хуяк-хуяк и в продакшн".
Родина дала гигагерцы, терабайты и кучу ЯП под все это, а вот эта хуйня из браузера хочет, чтобы я вот это вот писал руками.

Ответы967315

199 Кб, 1000x691

05 Апр, 14:29 #346 #967315

>>967309
> фф оно тоже работает через раз и куча страниц не работают так как надо
>видел как наш фронт написал if с ошибкой и около часа ебался с какой-то просто невероятно невнятной ебаниной
хуя у вас там говнокодеры
>погоди, погоди, погоди
специально жопой читаешь?

05 Апр, 14:48 #347 #967332

Фронтаны, поясните за CycleJS? Го(д|в)но, (ни)нужно?

Ответы968289

05 Апр, 17:17 #348 #967419

Как в gulp вызвать свою функцию, не плагин? Внутри pipe.

05 Апр, 20:29 #349 #967519

Как сюда https://developers.google.com/chart/interactive/docs/quick_start?hl=ru внести данные из json файла? C JS всё хуёво к сожелению.

05 Апр, 20:55 #350 #967531

Как не допустить вывода error в консоль после get ответа через axios со статусом 422? (С самой обработкой ответа всё ок)

05 Апр, 21:10 #351 #967545

>>966077
эти плюсики встраивают в строку значение переменной i

>>966199
а что такое рекурсии? прост я кроме основ ничего не проходил еще

Ответы967660

05 Апр, 22:24 #352 #967660

>>967545
> рекурсии?

мем с башорга же когда функция в своем теле вызывает себя

Ответы967750

05 Апр, 23:00 #353 #967696

Пацаны, помогайте, я обращаюсь к локальному пхп файлу через XMLHttpRequest с Гетом, а он его не экзекутит, а просто возвращает весь текст файла через респонс.

Ответы967703967725

05 Апр, 23:04 #354 #967703

>>967696
Кароч, другой вопрос, можно ли экзекутить пхп файл через XMLHttpRequest не создавая сервера самому, просто обращаясь к файлу в каталоге?

Ответы967711967752

78 Кб, 537x349

05 Апр, 23:11 #355 #967711

>>967703

05 Апр, 23:23 #356 #967725

>>967696
Пиздец. 2017 год на дворе. А кто-то ещё ебётся с php. Вам node.js для кого запилили? Ебанутые ебанашки.

06 Апр, 00:23 #357 #967750

>>967660
лол, до функций я еще даже не дошел, так что не удивительно что я не понял о чем идет речь.
а вообще, как не удивительно, этот мемас довольно известный даже среди людей не разбирающихся в теме

Ответы967761

06 Апр, 00:27 #358 #967752

>>967703
определенно нет

06 Апр, 00:38 #359 #967761

>>967750
Ну в математике же ты знаешь функции? Вот когда значение функции от аргумента равняется последовательности значений функции от меньших аргументов - это рекурсия, например факториал

f(n) = f(n - 1) f(n - 2) ... f(1)

Ответы967763967764967766967904

06 Апр, 00:39 #360 #967763

>>967761
знак умножения между аргументами потерялся

06 Апр, 00:40 #361 #967764

>>967761
Да и при этом есть база рекурсии, когда фунция железно выдает какой-то ответ, а не опять вызывает себя. Для факториала f(1) = 1

06 Апр, 00:42 #362 #967766

>>967761
>Ну в математике же ты знаешь функции?
нет, я бросил школу в 16 лет, после того как меня два раза выгнали за прогулы.
вообще, с математикой я не очень дружу, и считаю что именно из-за этого я тупой, так что твой пример вряд ли дойдет до меня

Ответы967768967769967770967772967774

06 Апр, 00:43 #363 #967768

>>967766
>два раза выгнали из двух профильных заведений за большие пропуски которые измеряются месяцами

06 Апр, 00:44 #364 #967769

>>967766
а вообще, я ничего не считаю, поскольку я слишком тупой чтобы считать.
я предполагаю – так будет лучше, наверное

06 Апр, 00:45 #365 #967770

>>967766
но кого это волнует.
сейчас зарепортят за вайп, и я больше не смогу писать в тред

06 Апр, 00:48 #366 #967772

>>967766
Ладно не парься, математика - это не панацея кстати, программист != математик.

06 Апр, 00:48 #367 #967774

>>967766
я просто самое худшее что можно представить, просто апофеоз необразованного и малограмотного человека, самый лучший пример из худших людей.

Ответы967901

06 Апр, 11:12 #368 #967901

>>967774
Ты глупая вниманиеблядь, иди нахуй отсюда, всем плевать на тебя. Займись собой сам.

На двощ пришел ты, советов мудрых ищешь. Сосни-ка хуйца!

06 Апр, 11:20 #369 #967904

>>967761
Блеять я знаю что такое ракурсия в коде, но вот то что ты написал в виде уравнения я бы не понял

Ответы967918

06 Апр, 11:39 #370 #967918

>>967904
> ракурсия
Ога, знаешь, как же. Там что в ойти-пту выпуск недавно был? Откуда вы лезете, имбецилы?

Ответы968304

56 Кб, 320x224

06 Апр, 13:55 #371 #968043

>>967269
>>ангуляр
учится за пару дней
>> Vue
учится за пару дней
>>Наверное именно потому наш ахуительный проект не работает в сафари
Так было задуманно изначально ,это интеллектуальная защита от пидорасов встроенная в джаваскрипт
>>967215
>Добавили промисы, а мы смеемся.
сука че за промисы блять?Походу придется гуглить

Ответы968065968087968257

06 Апр, 14:26 #372 #968065

>>968043
>че за промисы блять?Походу придется гуглить
как там в 2013?

Ответы968071

171 Кб, 1280x720

06 Апр, 14:34 #373 #968071

>>968065
>>в 2013
Все просто супер,получаю 7к евро за свою первую игру на флеше и еще не знаю что мне придется перекатываться в ебаный веб чтоб заработать.

06 Апр, 14:55 #374 #968087

>>968043
> не знать промисы
> говорить что ангуляр и вью учатся за пару дней

Ответы968110

06 Апр, 15:17 #375 #968110

>>968087
пару дней достаточно чтоб написать приложение а большего с тебя и не потребуется ибо клиент ммо с функционалом ААА тайтла с тебя никто не спросит

06 Апр, 18:04 #376 #968239

на learn.javascript некоторые страницы не работают, возникает ошибка 404

Ответы968246

06 Апр, 18:14 #377 #968246

>>968239
https://javascript.info/

Ответы968248968250

06 Апр, 18:15 #378 #968248

>>968246
Это обновленный сайт с новой инфой?
А Кантор будет обновлять на русский язык или не?

06 Апр, 18:16 #379 #968250

>>968246
спасибо, я настолько тупой что забыл о том, что существует английская версия.
альза, благодаря своей тупости впервые воспользовался тайм машиной.

06 Апр, 18:35 #380 #968257

>>968043
>учится за пару дней
>сук чё за промисы ((
Бля, я недооценивал программистов на жс.

Ответы968258

06 Апр, 18:39 #381 #968258

>>968257
>программистов

06 Апр, 19:33 #382 #968289

>>967332
Годно, не нужно.

06 Апр, 19:50 #383 #968295

>>961365 (OP)
Анон поясни по angular.

Вот есть AngularJS(1.6.x) - я понял шо это, оно работает в браузере и отправляет на мой laravel данные.

А есть Angular(2,4,5,6,7,8,9...222) - Что это? Оно на серваке запускается?

В чем отличия между AngularJS и Angular?

это как Java и JavaJS, хуевые смехуечки

Ответы968307

06 Апр, 20:04 #384 #968304

>>967918
Для тебя Т-9 опечатка - показатель ума. Много полезных формул в шаде изучил, имбецил?

06 Апр, 20:07 #385 #968307

>>968295
>AngularJS
старая версия

>Angular
Новая версия

Ответы968316

06 Апр, 20:16 #386 #968316

>>968307
бляяя

думал angular2 на серваке работает

Ответы968318

06 Апр, 20:18 #387 #968318

>>968316
Второй уже устарел, пересаживайся на четвертый

Ответы968322

06 Апр, 20:19 #388 #968322

>>968318
Там мало изменений.

06 Апр, 20:48 #389 #968358

Парни, копирую лэндинг wget-ом, но некоторые скрипты в скопированном сайте не работают.

Заметил, что в оригинальном лэндинге при некоторых кликах или ховерах изменяются названия классов в реальном времени и подсвечиваются оранжевым в инспекторе. В моей копии такого не происходит.

Как сделать это и на своей копии?
Знаю, что сайт сделан с помощью Muse.

Ответы968370

06 Апр, 20:57 #390 #968370

>>968358
Потому что вгет жс не выполняет.

Ответы968376

06 Апр, 21:01 #391 #968376

>>968370
а чем воспользоваться вместо него? В Teleport Pro такая же проблема

Ответы968407969708

06 Апр, 21:27 #392 #968404

>>966918
бамп

06 Апр, 21:30 #393 #968407

>>968376
Руками и головой.

Ответы968410

06 Апр, 21:38 #394 #968410

>>968407
Воспользовался твоим анусом. Зачем пишешь бесполезные советы?

Ответы968411968412

2905 Кб, Webm

06 Апр, 21:41 #395 #968411

>>968410

06 Апр, 21:41 #396 #968412

>>968410
Бля ну воспользуйся селениумом если с головой проблемы. Но это на борду к тестировщикам.

06 Апр, 22:05 #397 #968457

PhantomJS

06 Апр, 22:40 #398 #968490

Пиздец тут ебанутые пиздят лендинги headless браузмерами. Вы поехали в край что ли?

Ответы968598

06 Апр, 22:44 #399 #968494

Ребят, нид хелп
Нужно динамически рисовать графы в браузере, пусть будет сафари
То есть скрипт на питоне генерирует граф в json, а мне нужно по мере обновления рисовать его в браузере
Раньше сильно с js не работал, можете подсказать хорошую библиотеку для этого?
Желательно чтобы я мог еще задавать для рисовки расположение точек, потому что с каждым этажом графа число вершин растет

Ответы968504

06 Апр, 22:50 #400 #968504

>>968494
bokeh

06 Апр, 23:38 #401 #968552

Скриптаны, поясните за модульные системы. Читаю выразительный джаваскрипт, и чето глава про них не совсем зашла. Нужно ли сейчас детально разбираться как работают вот эти вот CommonJs, AMD, RequireJs, или это уже потом по мере необходимости подхватывается? Если нужно, поделитесь ресурсом годным каким а?

07 Апр, 04:18 #402 #968598

>>968490
А как правильно пиздить?

Еще вопрос, там кароч почта отправляется как эту отправку тоже спиздить? Там какой-то левый адресс mail.php/

07 Апр, 13:43 #403 #968721

>>961452
То, чем броузер расширяет спецификацию языка.

https://www.w3schools.com/jsref/dom_obj_document.asp

07 Апр, 17:48 #404 #968824

Анонасики, есть два стула. На текущей работе намечается заниматься йоба приложухой на электроне, море жса и зп здесь х, второй стул это фронт на пхп бэкенде, море верстки, пхп шаблоны, дизайн еще и все такое, и зп тут 1,5х. Вроде как первое круче, но на второй бабок больше. Че выбрать-то блеа.

Ответы968827968862

07 Апр, 17:51 #405 #968827

>>968824
Выбери не задавать вопросы на мейлаче, на которые ты можешь ответить только сам

Ответы968831

07 Апр, 17:56 #406 #968831

>>968827
А ты бы что выбрал?

Ответы968838

07 Апр, 18:05 #407 #968838

>>968831
Первое.

мимо

07 Апр, 18:31 #408 #968862

>>968824
Тоже выбрал бы первое, но постарался найти причины увеличить бюджет (если там действительно все х).

другой мимо

96 Кб, 1409x475

JS 07 Апр, 22:20 #409 #968987

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

Ответы968993968997969005969007

07 Апр, 22:32 #410 #968993

>>968987
Тебе в другой тред

Ответы968996

07 Апр, 22:40 #411 #968996

>>968993
ну в названии было написано(JS) более подходящий я не нашел

Ответы969000

07 Апр, 22:43 #412 #968997

>>968987
Ты что еблан?

Ответы968999

07 Апр, 22:48 #413 #968999

>>968997
зачем проецировать?

Ответы969016

07 Апр, 22:49 #414 #969000

>>968996
Ну в названии JS, а тебе джава нужна. Вот и иди в джава-тред

Ответы969215969243

07 Апр, 23:01 #415 #969005

>>968987

содомит!

07 Апр, 23:03 #416 #969007

>>968987

я х/з что ты там делаешь, но не проще ли использовать релейт https://www.w3schools.com/jsref/jsref_indexof_array.asp

Ответы969241

07 Апр, 23:29 #417 #969016

>>968999
в каком ты классе учишься что пишешь подобную хуйню

08 Апр, 04:00 #418 #969064

Пацаны, а вы учили эти всякие алгоритмы, структуры данных? И вообще, на начальном этапе для фронта это разумная трата времени? Что вообще из фундаментальных знаний просто необходимо, чтобы не быть макакой? Посоветуйте книжек короче.

Ответы969086969105

Dmitry 08 Апр, 07:16 #419 #969086

>>969064
K&R, Linux System Programming

Ответы969124

08 Апр, 09:05 #420 #969105

>>969064
Алгоритмы и структуры данных очень полезны.
Разберись с минимумом: О-натация, поиск (линейный/бинарный), сортировки (пока только простые - пузырьковая, вставками, выбором), структуры данных (списки, стек, очередь), сложные сортировки (быстрая, слиянием), хеш-таблицы, деревья, графы. Читать википедию, смотреть визуализации на YouTube. Можешь как раз на JS сам что-нибудь визуализировать, я визуализировал обходы графа.

Ответы969124

08 Апр, 10:11 #421 #969124

>>969105
>>969086
Спасибо, значит ознакомлюсь.

08 Апр, 10:47 #422 #969143

>>966423
>типа замыканий, прототипов, етк
Работаю полгода жс-макакой, не понимаю о чем ты, первый раз слышу эти слова.

Ответы969192

08 Апр, 11:54 #423 #969192

>>969143
А что именно ты пишешь? Устанавливаешь jQuery-скрипты и верстаешь? Тут не то что в замыканиях, тут даже в программировании разбираться не нужно.

08 Апр, 12:22 #424 #969215

>>969000
мне js нужно. не тупи

08 Апр, 13:17 #425 #969241

>>969007
не знаю пока как это использовать, но спасибо за инфу

08 Апр, 13:19 #426 #969243

>>969000
согласен, моя ошибка когда написал джава вместо js, я думал что учитывая что это js тред то все поймут о чем речь

08 Апр, 14:04 #427 #969263

>>961733
Внезапно, годнота, не ожидал даже такого от двачера

09 Апр, 00:04 #428 #969545

Не касался ЖС примерно полгода, накидайте кейвордов, что там сейчас модно в последние 2 недели.

09 Апр, 00:20 #429 #969551

пацаны, реквестирую адвансед книжек по js/jquery/react чтоб не было на первых 100-300 страницах описаний как сложить два числа/добавить класс к элементу/отрендерить hello world

куда шапку то проебали ?

09 Апр, 11:17 #430 #969708

>>968376
Попробуй плагин к ff - scrapbook - не факт, что поможет особенно если какая-нибудь асинхронная подгрузка js через ajax, но шансов гораздо больше.

09 Апр, 21:33 #431 #970503

Сап, аноны. Решил вкатится в кодерство с JS. Интересует вот что: зная только, грубо говоря, JS можно ли заработать первые деньги? Или для того, чтобы как можно быстрее начать зарабатывать нужно начинать с PHP?

Ответы970544970557970710970986

09 Апр, 22:16 #432 #970544

>>970503
>У нас было куча вкладок "какой язык программирования выбрать первым", пара мнений в пользу JS как первого языка, и еще столько же против. Не то чтобы это была вся необходимая информация для выбора языка, но если задался вопросом о первом языке, то становится трудно определиться. Единственное, что вызывало у меня опасения - это, что JS может оказаться не серебрянной пулей, а пулей из говна. Ничто в мире не бывает более беспомощным, безответственным и порочным, чем кодер задрачивающий язык непонять зачем. Я знал, что рано или поздно я продолжу капчевать.

09 Апр, 22:30 #433 #970557

>>970503
Чтобы как можно быстрее начать зарабатывать нужно идти устраиваться в мак.

Ответы970562

09 Апр, 22:33 #434 #970562

>>970557
Им нужны люди на позицию junior javascript developer?

Ответы970710

sage 10 Апр, 05:47 #435 #970710

>>970503
Я не этот занудный тролль саботажник >>970562 к слову.

10 Апр, 12:21 #436 #970805

https://github.com/azat-io/you-dont-know-js-ru/blob/master/scope & closures/ch1.md#Компилятор-расскажет

В разделе про RHS и LHS ссылки не понял почему функция является RHS ссылкой:
"Однако, едва заметная, но важная разница есть в том, что Компилятор обрабатывает как объявление, так и определение значения во время генерации кода, благодаря чему, когда Движок выполняет код, не требуется никакой обработки чтобы "присвоить" значение функции в foo. Следовательно, неуместно думать об объявлении функции как о присваивании с помощью LHS-поиска тем способом, который мы здесь обсуждаем."

Это вроде объяснение, но я что-то всё равно не пойму.

Ответы970807

10 Апр, 12:26 #437 #970807

>>970805

В смысле? Объявление функции - это особый случай, там так и описано.
function a() {}

Но функцию можно и присвоить
b = function (){}

Что непонятного то?

Ответы970839

10 Апр, 13:49 #438 #970839

>>970807
Почему ИМЕННО это особый случай? В чем отличия?

Ответы970907

10 Апр, 15:25 #439 #970907

>>970839
Объявления функций всплывают.

10 Апр, 15:36 #440 #970911

Поясните за Redux.
Если с ReactJS все ясно, просто библиотека реализующая вьюшки. Беру старый добрый <script src и импортирую вавилон и реакт, но в примерах редукса одни ипорты и npm. Складывается впечатление что это библиотека для бэкенда и NodeJS, но если и так , тогда почему так часто встречается React/Redux ? Я могу написать АПИ на каком-нибудь Go, а на клиенте все сделать React/Redux ? Мне нужен какой-нибудь транслятор в ванильный JS типо браузерфлая ? Или я все еще могу как в старые добрые подключить локальную библиотеку явно и ссылкой ?

Ответы970913

10 Апр, 15:44 #441 #970913

>>970911
Смотри es6 modules и webpack.

Ответы970934

10 Апр, 16:16 #442 #970934

>>970913
>Модули в ECMAScript 6: будущее уже сейчас
лол, шел 2017й, в JS открыли модули

ну норм, просто последний раз я JS смотрел год назад и там можно было все компиять, а сейчас как ? Ну и да, это же все новые стандартны, как их использовать если нужно еще друвнее говно поддерживать ?

Ответы970938

10 Апр, 16:25 #443 #970938

>>970934
>можно
модно

10 Апр, 16:25 #444 #970939

>>961365 (OP)
Чем сейчас занимаются наёмные js пидоры, кроме сайтов?

Ответы970962

10 Апр, 17:02 #445 #970962

>>970939

поешь говна няша https://www.youtube.com/watch?v=fK32__vlVAA

Ответы970993

10 Апр, 17:40 #446 #970986

>>970503
С Паскаля думаю начать, норм? Или лучше все таки с JS, или PHP, Python?

10 Апр, 18:03 #447 #970993

>>970962
Говна я всегда поесть рад. Благодарствую

10 Апр, 18:07 #448 #970995

Анон, как импортировать файлы из одной жс-функции в другую? вебпаками и т.п. пока что не умею пользоваться, просто файлики с жквери-функциями.

Ответы971118971123

10 Апр, 20:09 #449 #971118

>>970995
Переформулируй нормально вопрос, мб отвечу.

Ответы971123

10 Апр, 20:11 #450 #971123

>>970995
https://learn.javascript.ru/modules

>>971118
>мб отвечу
Съебал отсюда.

10 Апр, 21:41 #451 #971217

Здрасте. Нужно записать данные в csv файл по ячейкам на node. Использую fast-csv и делаю так:

var ws = fs.createWriteStream("my.csv");
csv
.write([
["a", "b"],
["a1", "b1"],
["a2", "b2"]
], {headers: true})
.pipe(ws);
В итоге данные записываются в один столбец через запятую. Т.е всё выглядит так:
a,b
a1,b1
a2,b2

Хотя в этом гайде https://www.youtube.com/watch?v=B5TvirUBqzU у человека всё как нужно. В чем дело?

Ответы971220971382971570971766

10 Апр, 21:45 #452 #971220

>>971217
А как должно записываться?

Ответы971223

10 Апр, 21:47 #453 #971223

>>971220
a,a1,a2- в столбец A
b,b1,b2- в столбец B

Ответы971232

10 Апр, 22:00 #454 #971232

>>971223
Ну открой файл блокнотом, что там записано?
И что ты ожидаешь?
Просто мне кажется что у тебя проблема с экселем который ожидает по-умолчанию для рашки там не , а ; и ее легко решить или в нодке или в экселе.

Ответы971242971262

10 Апр, 22:04 #455 #971242

>>971232
больше похоже на то что он ждет столбцы вместо строк

Ответы971245

10 Апр, 22:06 #456 #971245

>>971242
Нет я уверен что проблема именно в рашке и ;. Я был уверен в этом с самого начала на самом деле лул и спросил вопросов просто чтоб поебать мозг человеку

10 Апр, 22:14 #457 #971262

>>971232
Похоже на то. Но если вставляю ["a" ; "b"]- код не выполняется. Подскажи, как быть? Я совсем не кодер, но понадобился небольшой скрипт, пытаюсь склеить его по гайдам.

Ответы971267

10 Апр, 22:17 #458 #971267

>>971262
> ["a" ; "b"]
Ар ю факин ретард ?

Ответы971270

10 Апр, 22:21 #459 #971270

>>971267
Бля, чувак, я понимаю что ; не катит т.к это синтаксис JS, но как ебануть это разделение для рашки другим способом- я хуй знает. Написал же, что опыта в программировании не имею ВООБЩЕ.
Ты или подскажи, либо сразу нахуй пошли, пойду искать ответы в других местах, зачем устраиваешь тут клоунаду?

Ответы971275

10 Апр, 22:23 #460 #971275

>>971270
https://www.google.ru/search?q=fast+csv+delimiter&oq=fast+csv+d&aqs=chrome.1.69i57j0l5.9524j0j7&sourceid=chrome&ie=UTF-8

Ответы971278971382

10 Апр, 22:26 #461 #971278

>>971275
headers: true, delimiter=";"
Но кстати там хелп всратый, без сорцов не разберешься.

Ответы971281971282971382

10 Апр, 22:30 #462 #971281

>>971278
>хелп всратый
ебать, 3й пример сверху. Тебе наверное ноги ходить мешают

Ответы971289

10 Апр, 22:30 #463 #971282

>>971278
Сделал, заработало.
Спасибо

10 Апр, 22:37 #464 #971289

>>971281
У нас разный гугл видимо

Ответы971290

10 Апр, 22:38 #465 #971290

>>971289
>
https://www.npmjs.com/package/fast-csv-delims

Ответы971295

10 Апр, 22:42 #466 #971295

>>971290
>Doug Martin is the original author. This is merely a temporary fork to support alternate cell delimiters.
Я закрыл нахуй после этих слов если честно.
И в оригинальной библиотеке разделители уже есть, я сорцы чекнул.

Ответы971348

10 Апр, 23:20 #467 #971348

>>971295
>npm install fast-csv
он по твоему другую ставил ?

Ответы971400

10 Апр, 23:40 #468 #971382

>>971278
>>971275
>>971217
Ткни носом, как дописывать данные в уже существующий файл с информацией, просто начиная с новой строки.

79 Кб, 1333x900

10 Апр, 23:42 #469 #971383

Ёб вашу мать, как же мне БОМБИТ от этого вебпака. Ну ведь нормально же gulp-ом собирали, всё просто и понятно в виде конвейера, запомнил ТРИ метода и погнали. Захотел pluginname - поставил gulp-pluginname, и всё работает, хуярь как хочешь на чистом JS. Нет, хочу жрать говно, конфиги на пару тыщ строк, каждый плагин имеет собственную конфигурацию с хитровыебанными опциями, хуй-пойми-какое-очень-длинное-имя-о-котором-ты-никогда-не-догадаешься, даже в дефолтном вебпаке я ОХУЕЛ от количества опций, их же просто нереально все знать, ЭТО ПРОСТО ПИЗДЕЦ

10 Апр, 23:53 #470 #971400

>>971348
https://www.npmjs.com/package/fast-csv-delims
https://www.npmjs.com/package/fast-csv

Найди 10 отличий

58 Кб, 745x446

11 Апр, 00:37 #471 #971421

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

Ответы971446971481

11 Апр, 01:26 #472 #971446

>>971421
Переписать на js

Ответы971448

11 Апр, 01:28 #473 #971448

>>971446
в смысле ? Чувак третий час ночи я в сарказм после 1:00 не могу

11 Апр, 02:11 #474 #971481

>>971421
а тебе точно нужно при каждом ререндеринге создавать заново функцию renderMenuData ? вынести за пределы компонента
key={random(1, 100)}
неа
http://stackoverflow.com/questions/29808636/when-giving-unique-keys-to-components-is-it-okay-to-use-math-random-for-gener
https://facebook.github.io/react/docs/reconciliation.html

раз уж lodash используешь _.forEach(menuData, item=>...)

11 Апр, 09:45 #475 #971570

>>971217
для чего может потребоваться писать нодой данные в файл экселя?

11 Апр, 11:30 #476 #971609

Я правильно понимаю, что все современные фреймаорки типо реакта, ангуляра и тд работают по принципу аджакса, то есть асинхронно подгружают json и перерисовывают страницу без перезагрузки? В этом и суть SPA так называемых, что не нужно постоянно к серверу обращаться за новым htmk, а все делается на лету. Я просто только с ajax познакомился.

Ответы971610971617

11 Апр, 11:31 #477 #971610

>>971609
html* fix

11 Апр, 11:39 #478 #971617

>>971609
Вся суть SPA в том что не нужно постоянно реакт загружать или ангуляр. И цсску твою.

11 Апр, 12:03 #479 #971638

Посоны, разбираю чужую либу и встретил такую конструкцию
function({row,rowId, index}, e) {}
как ее блять победить? Как получить доступ к этим вот переменным, переданным таким способом, я думал просто позвав их по именам, но нихуя - андефайнед. И как называется этот тип передачи параметров на ангельском - почитаю хоть за ес6.

Ответы971651971702

11 Апр, 12:21 #480 #971651

>>971638
destructuring

Ответы971713

11 Апр, 13:26 #481 #971702

>>971638

похоже на релейт https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

Ответы971713

11 Апр, 13:40 #482 #971713

>>971651
>>971702
Да, это деструктуризация объектов, таки, хотя большая часть и МДН тоже, забыли блядь написать о такой операции как передача объекта через деструктуризацию. А либа - хуита, это она не возвращала значения, потому что уебок, что ее писал привел один пример для 20+ ивентов и именование для каждого ивента важно, потому на 19 его пример не пашет, как юзать остальные кроме описанного этот хуй нигде не написал. Бен Крипс - ссыте ему в рот. когда встретите.

Ответы971721

11 Апр, 13:50 #483 #971721

>>971713
>часть
How this can't work? Destructuring works everywhere.

11 Апр, 14:49 #484 #971766

>>971217

вангую нужно в экселе указывать делимитер.

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

11 Апр, 15:00 #485 #971770

пилю кластер для ноды согласно этому гайду http://nginx.org/en/docs/http/load_balancing.html

в апстриме у меня указыны два порта

upstream vChatDevNode {
ip_hash;
server 127.0.0.1:11200;
server 127.0.0.1:11201;
}

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

если я правильно понимаю, апстриму нужно разные айпи, Антоха плиз зайди на минуту проверить это https://dev.videochat.red/room/English Room

Ответы971791971815

11 Апр, 15:10 #486 #971776

Антон, ну ты где? заходи не ссы. или поясни хотябы, как проверить кластер

11 Апр, 15:30 #487 #971791

>>971770
> videochat
Нууу...

Ответы971794

11 Апр, 15:35 #488 #971794

>>971791

что не так? залепи камеру изолентой)

11 Апр, 15:40 #489 #971798

Не могу выбрать между реактом и вью. Что лучше выбрать для будущей работы?

Ответы971801971803971811

sage 11 Апр, 15:40 #490 #971800

>>961365 (OP)
Тут просили передать, что @vladimir любитель побаловаться толстыми клиентами под хвост.

Ответы971802

11 Апр, 15:40 #491 #971801

>>971798
Вью если глаз узкий.

Ответы971804

11 Апр, 15:41 #492 #971802

>>971800
Они пиздят, я люблю толстые сервера.
мимоВладимир

sage 11 Апр, 15:41 #493 #971803

>>971798
А Н Г У Л Я Р
Н
Г
У
Л
Я
Р

Ответы971805971810

11 Апр, 15:41 #494 #971804

>>971801
Не понял юмора.

Ответы971807971809

11 Апр, 15:41 #495 #971805

>>971803
Только если ты жавапетух.

11 Апр, 15:42 #496 #971807

>>971804
Автор - китаец. Больше всего юзеров - в Китае.

Ответы971808

11 Апр, 15:42 #497 #971808

>>971807
поехавший

Ответы971812

sage 11 Апр, 15:43 #498 #971809

>>971804
На востоке популярно. Можно в сингапур какой мигрировать.

11 Апр, 15:43 #499 #971810

>>971803
ага, четвертый лять

11 Апр, 15:43 #500 #971811

>>971798
выберу реакт, всем спасибо за помощь

Ответы971813971827

11 Апр, 15:43 #501 #971812

>>971808
Китаец? Возможно.

11 Апр, 15:43 #502 #971813

>>971811
сраный расист

51 Кб, 266x200

11 Апр, 15:43 #503 #971815

>>971770

Антоша, ну ёбана, 1 минута же

11 Апр, 15:44 #504 #971816

ПЕРЕКОКОТ
https://2ch.hk/pr/res/971814.html (М)

11 Апр, 15:59 #505 #971827

>>971811
Не ведись, если что-то сложнее хеловорлда, то это пиздец. Я сегодня зол на реакт-редакс как никогда, забеало уже велосипеды писать, потому что за несколько лет, ни одно чмо не сподобилось что-либо предпринять. Из коробки нихуя нет, сообщество ничего путнего не делает - ебать, ебись как хочешь, на каждый чих пиши свои либы. З А Е Б А Л О.

Ответы971974

24 Кб, 645x230

8 Кб, 333x128

11 Апр, 16:54 #506 #971899

Почему такой код не работает?

Ответы971919

11 Апр, 17:46 #507 #971919

>>971899
>s2.jpg

добавь в 4ю линию после } скобки, что бы было }();

11 Апр, 19:05 #508 #971974

>>971827
а что должно быть из коробки в библиотеке для вьюх ? какой библиотеки и для чего тебе не нашлось ?

13 Кб, 510x46

14 Кб, 338x165

11 Апр, 19:28 #509 #971991

Какой способ создания элементов лучше и быстрее?

Ответы972262972268

12 Апр, 07:18 #510 #972262

>>971991
че за хуйня? реакт юзай

Ответы972347

12 Апр, 07:43 #511 #972268

>>971991
Стоит ориентироваться на производительность. forEach предполагает, что замен в коде будет много, в этом случае лучше один раз слепить html и один раз вставить его в код вместо того, чтобы много раз подряд менять DOM. Если что-то разовое, то не принципиально.

В Chrome DevTools есть вкладка Timeline, почитай про нее. По ней отлично видно, что в твоем коде при отработке занимаетс сколько времени, на это стоит ориентироваться.

Ответы972269

12 Апр, 07:45 #512 #972269

>>972268
>вставить на страницу*

мгновеннофикс

12 Апр, 10:43 #513 #972308

Зачем в аакансиях требуют знание ангуляра, если приходишь, а тебя просят верстать темы для вордпресса без рест апи?

12 Апр, 12:42 #514 #972347

>>972262
>че за хуйня?
Учебный курс по JS.

13 Апр, 10:12 #515 #972834

Котаны, что на счет связки vue + go + sqlite. В плане простоты/удобства/производительности заебца?

154 Кб, 956x486

14 Апр, 03:04 #516 #973324

Чет автора немного не понял, почему данное функциональное выражение не имеет замыкания? Ведь у функции есть свое лексическое окружение, которое пустует на момент её вызова. Но потом функция ищет переменную а, в области видимости "повыше" - в глобальной. Разве не так?

Ответы981258

18 Апр, 12:44 #517 #975492

Есть один скрипт на питоне, который в процессе работы пишет в файл data.json
Как сделать так, чтобы js брал информацию из этого файла и отображал ее на странице? Чтобы еще каждый раз как скрипт обновляет файл, изображение на странице менялось

21 Апр, 23:08 #518 #977517

https://jsfiddle.net/ewrdpLab/1/
Не понимаю, почему нельзя сохранить инфу из ajax-запроса в глобальную переменную, почему первый алерт делает то что должен, а второй выдает undefined

Ответы980859

27 Апр, 01:02 #519 #980859

>>977517
Дело в том, что второй алерт, на самом деле - первый. жс не ждет когда закончится аджакс (АСИНХРОННЫЙ джс и хмл) и запишет его респонс в дата. Он просто идет дальше.
привыкнешь.
Кури промисы;)

27 Апр, 23:21 #520 #981258

>>973324
потому что ()() такие выражения имеют изолированный скоуп.

Тред утонул или удален.
Это копия, сохраненная 3 июня 2017 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion