24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Этот тред посвящён уже нахуй никому не нужному языку прошлого - JavaScript, который через пару лет будет похоронен WebAssembly. Благодаря своей кажущейся дебилам простоте, веб-макаки затащили его уже и на сервера, и в мобильные приложения, и на десктопы, и ещё хуй знает куда, что привело к экспоненциальному росту количества написанного говнокода. Благо синтаксис позволяет легко писать на нём говнокод любой степени ущербности, а производительность позволяет писать на нём даже анимашки для лендингов и интернет-магазинов. Впрочем, для уменьшения потока говнокода от веб-макак каждый день выпускается по 100500 JS-фреймворков, благодаря чему веб-макаки теперь в основном тратят своё время на чтение доков по этим фреймворкам, а не на написание говнокода. JavaScript по праву является самым популярным в мире языком: ведь дебилов среди людей - абсолютное большинство. На каждом сайте пока ещё есть браузерный JavaScript, а от JavaScript на сервере все постепенно отказываются.
У меня есть воспрос. Вот чувак объясняет прием "делегирование" пикрилейтед. В конце он создает новый объект с помощью new, но никуда его не сохраняет, в смысле ни в какую переменную. Как получить после этого доступ к объекту, удалить или изменить?
>>1108562 Алсо. вот слова с их же сайта: "What’s more, you don’t even have to know how to create WebAssembly code to take advantage of it. WebAssembly modules can be imported into a web (or Node.js) app, exposing WebAssembly functions for use via JavaScript. JavaScript frameworks could make use of WebAssembly to confer massive performance advantages and new features while still making functionality easily available to web developers."
Чем это угрожает джиэсу? Скорее уж дополняет его, не?
Вот запилят прямой доступ к DOM и всяким Web API из WebAssembly и джиэсу кирдык. Ибо можно будет кресты и многое другое компилять в WebAssembly и работать с DOM/Web API напрямую, минуя джиэс. Что касается Goals, то они же не могут прямо так сразу написать: "Нас заебал кривой и тормознутый джиэс, и поэтому мы его скоро похороним."
>>1108593 Слепой штоле? Allow WebAssembly modules to create, pass around, call, and manipulate JavaScript + DOM objects. Speed - Allow JS/DOM calls to be well optimized. Т. е. все манипуляции с DOM и Web API предлагают разрешить проводить напрямую из WebAssembly, а не как сейчас - через обёртку из джиэса. Что в итоге увеличит производительность, уменьшит размер загружаемого с серваков кода и прибьёт джиэс. Но знания Web API всё равно будут нужны, да.
Вообще надо Kotlin учить, я так думаю. И для ведроида пригодится, и перегон Kotlin в WebAssembly, скорее всего, запилят, и в джиэс его уже давно можно перегонять.
>>1108596 Никак там доступ к созданному объекту Menu уже не получишь. Так делают только когда с подобным объектом уже не нужно проводить никаких манипуляций. Получается что-то вроде обёртки, скрывающей внутренности объекта от внешнего мира.
>>1108604 Так есть смысл сейчас хорошо задрачивать жс, если ему все равно пиздец через 3-4 года? Или как всегда сначала в сша произойдет, а до пидорашкинских контор хуй когда еще докатиться?
>>1108569 И еще вопрос: почему объект не ичез после создания, он же должен быть доступен из корня, так? Но мы не можем никак к нему обратиться, вы говорите? Единственное, что к нему обращается, это "онклик" родительского контейнера. Это и удерживает его "живым"?
>>1108581 >Ибо можно будет кресты и многое другое компилять в WebAssembly И нахуя использовать гротескный и уёбищный инструмент типа крестов вместо JS? Плюс, сначала нужно будет, чтоб кто-то написал годный компилятор, потом чтоб кто-то перенес всю существующую инфраструктуру под веб-разработку. В общем хуйня.
>>1108616 >И нахуя использовать гротескный и уёбищный инструмент типа крестов вместо JS? Перегон крестов (прежде всех остальных языков) в WebAssembly реализовывают потому, что на крестах написана хуева туча либ, которые сейчас внезапно стало возможно использовать в вебе at near-native speed. А сами по себе кресты в вебе нахуй не нужны, да.
>>1108609 >Так делают для надежности? Чтоб случайно другими действиями не сломать? Да.
>>1108612 >почему объект не ичез после создания Ты сам себе ответил: onclick может обращаться к этому объекту через self: self[action]() Хотя это и говнокод. >он же должен быть доступен из корня Нет. Он там остаётся доступен только из замыкания Menu() через self.
>fun main(args: Array<String>) { >println("Hello, world!") >} сходу можно подумать что это просто какой нибудь тайпскрипт, а не злоебучая гадкокодая жаба
>>1108618 У нас уже была одна низкоуровневая виртуальная машина параллельно с ЖС. Хайпёнок, ты сейчас агитируешь за то, что Жава-апплеты вытеснят уебанский ЖС, надо учить Жаву. Во-первых, ВАСМ-машина будет запускаться поверх виртуальной машины ЖС. Во-вторых, Веб так и останется событийно-ориентированным. Ты будешь импортировать кем-то заботливо написанный какой-нибудь фейс-реконгнишн.васм и абстрактно использовать его результат в своём копросценарии. В-третьих, вместо миллионов макак-сценаристов не появятся внезапно миллионы макак-байтоёбов, которые будут делать высокоэффективные низкоуровневые лендосы и магазы за дошик. Рыночку это не надо. У нас тут Жиквери-, а теперь и Реакт-интеграторы массив отсортировать не могут, а завтра они вдруг будут низкоуровневым состоянием управлять.
Ребят помогите разобраться в этом коде. Я в курсе что ни к селу ни к городу, но хочу понять этот js код. Хотелось бы разъяснения к коду или хотя бы для чего в этом коде event, event.target, event.which и classList.contains("item"). Js учусь приемущественно по схеме проблема -> решение поэтому большие пробелы. Оскорбления присылать сюда
>>1108880 Ну я же просил посылы нахуй присылать сюда http://natribu.org/ Я просил объяснить event.which (на сайте нет), classList.contains("item") (как ни странно тоже нет) и рассказать как это работает. К стати сударь, благодарю за подробное объяснение. Ага
Че делать если не могу в сборку flow/ts > babel/module > webpack ? Доки читал, доки идут нахуй. Банольное гугление не помогает. реквестирую проверенные гайды, видео, каналы на ютубе
>>1109013 Ну проще всего typescript - webpack, сразу все в одном. Можешь разобраться для начала в этом. А там если захочешь, можешь добавить сотню бабелей.
>>1109043 Мне нужно флоу > вебпак Как без флоу я разобрался, а дальш я ничео не понимаю как убрать типы флововские, хоть бабелем, хоть флововским модулем. Нормального гайда как собрать это все в кучу, где что прописать так и не нашел
developer.mozilla.org – Годнота или хуйня? Много англоязычных статей не переведенных, и которые скорее всего не будут переведены. Материал излагается кратко и сухо.
>>1109056 Главный сайт по ЖС и один из главных для ВЕБа, нравится ли тебе изложение решай сам. Вся прелесть что все в одном месте. Полнее только спецификации
>>1109058 >Главный сайт по ЖС и один из главных для ВЕБа, нравится ли тебе изложение решай сам. Хм, я и не знал что он главный, но я многого не знаю, потому что ньюфаг обоссаный. Вообще, мне нравится изложение. Если читать даже на английском, хоть и придется потратить на 25 проценов больше времени, тем не менее все будет относительно ясно.
>Полнее только спецификации А где их читать? В официальных описаниях свежих версий?
Так, посоны, в общем я тут профайлю в файрфоксе одну штуку, и оно мне говорит, что больше половины времени уходит на функцию "Graphics". Я правильно понимаю, что это сам файрфоксовый движок, то есть всякие цссы и вебгли? То есть с кодом все в порядке, тормозит сам файрфокс, так?
Алсо, еще 15% занимает "Gecko", и если развернуть эту энтри, то там есть мои функции, но на всех них стоит уже по 0%. Это у лисы профайлер кривой или что что-то делаю не так?
Сказали, что оказывается реакт используется не для того, чтобы переиспользовать компоненты. По ходу они просто дауны. Ну еще искать сеньора с опытом от 3 до 6 лет за 80-150к. делавший тестовое на реакте
>>1109212 Реактовые компоненты хуевенько переиспользуются как бы, да. Если бы ты был сеньором, то нутыпонел. И вообще, реюзабельные компоненты - это вебкомпонентс, а реакт про другое.
>>1109215 Был бы я сеньором - не пошёл бы за копейки в васянскмй стартап. Про пере использование компонентов в реактор мне тимлид сказал (уж он точно сеньор). Если не для этого то для чего используется реакт? Структуирование?
>>1108498 (OP) Поясните неофиту, почему это работает? Я не могу понять логику, зачем объявлять переменную add5 и вешать на нее вызов функции? Почему просто не вызвать сразу с двумя аргументами, почему это так? А если у дочерней функции еще одна дочерняя, то нужно объявлять еще одну переменную ?
>>1109296 Потому что нужно "замкнуть" скоуп. Не выебуйся и читай на русском. В ФАКе где-то есть ссылка на ресурс где дают хорошее понимание скоупов, замыканий
>>1109296 >In essence, makeAdder is a function factory — it creates functions which can add a specific value to their argument. In the above example we use our function factory to create two new functions — one that adds 5 to its argument, and one that adds 10.
Т.е. makeAdder это фабрика функций, которая создает функции с произвольным первым аргументом.
Вечер добрый. Я новичёк в js и html и мне нужна помощь с заданием. Буду благодарен за любой совет. Задача такова: В пустом html файле (не используя никаких тегов в body), с помощью скрипта вывести таблицу 3х3 с буквами внутри. Я могу сделать таблицу в body, но не понимаю, как вставить её в скрипт, и вывести на экран. Кто нибудь может объяснить или дать направление?
Я тот чел, который просил помощи про таблицу 3х3. Я смог вывести с помощью document.crыeateElement("") текст на окно html. Но не понимаю как вставить туда таблицу. Через что её выразить?
Скриптаны, есть довольной большой опыт в программировании и в работе с языками. Не вижу смысла я мусолить ресурсы/учебники с кучей воды для меня. Нужен ресурс или учебник, который максимально коротко, желательно с новым стандартом расскажет про язык. После чего можно было сразу вкатится в дум и фреймворки.
>>1109287 Так для чего используется реакт Мань если не для переиспользования компонентов и не для триггера он чейндж евентов. Ты по ходу сам выебывающаяся школота, которая не понимает се несёт но лезет вставить свои 5 копеек.
>>1108845 >Жиквери-, а теперь и Реакт-интеграторы массив отсортировать не могут но ТЫ то можешь!! так чтож мы спокойны за ай-ти, есть еще в нем светлые головы!11
Я знаю что такое call, это в случае с poet.call(vladimir); как будто внутри vladimir вызывается poet(), и this внутри поэта ссылается на Владимира.
Но я не понимаю, почему дальше такие ебанутые хуйни пошли, что-то перезаписалось почему-то, что-то... чего? Куда?.. Можете пошагово прокомментировать что тут происходит, я совсем не понимаю.
то глобальные переменные с таким же именем перезапишутся, потому что глобальный объект - это тоже объект, и this будет на него ссылаться без всяких call. Таким образом, могут перезаписаться глобальные переменные или даже создаться новые.
>>1109693 Я не работаю, но думаю, что это зависит от того что именно ты делаешь на джс. Наверняка в вебе платят меньше всего тк я слышал это легче всего и быдла много вроде меня
>>1109639 Я хз почему такой результат, ведь мы передает контекс (this) vladimir в poet, почему что-то должно измениться у владимира я хз. Откуда этот код?
>>1109693 Я вот гуглил, полным нуба джунам в вебе платят в Украине г.Днепр 200 долларов поначалу, а если язык типа C и ему подобные и это настоящая разработка программ под десктоп, то спокойно 400 баксов т.е. вдвое больше, а в Киеве еще больше и для тех и для тех.
>>1108498 (OP) Расскажите, пожалуйста, как пользоваться rollup для сборки. Во всех проектах раньше использовал исключительно composer c npm-asset плагином. То есть просто добавлял нужную мне либу в зависимости в composer.json и получал на выходе няшный minified файл нужной мне либы. Но вот понадобилось использоваться в проекте https://github.com/Turfjs/turf И с ним так не получается. Вся библиотека имеет модульную структуру, а мне на выходе нужно объединить все эти модули в один файл. Сами они, среди прочего, предлагают подключать minified файл через cdn, но мне бы этого не хотелось, так как все остальные либы обновляются простым composer update и после не требуют интернета для работы, а проект должен работать и без доступа к интернету. Рекомендуют использовать этот ваш новомодный rollup, но я так и не разобрался, как заставить его собрать все эти модули (те, что в каталоге packages) в один файл. Спасибо.
>>1109959 Жиквери нинужно ррряяя, Учи реакт ррряяя. Обосрался с такого вкатывальщика. Вообще жс как стартовый язык это очень плохо, учит тебя говнокодить. А если ты уже понимаешь как программировать, то смотришь на современный жс и охуеваешь с того зачем столько говна на фронт тянут. Причём ладно бы данных много, нет, эти ушлые дошли до того, что пишут код, который заранее на сервере компилируется, настолько они свою дилду переусложнили.
>>1109959 >вы наверное хотели бы сначала хорошенько разобраться в основах языка, прежде чем заниматься чем-либо другим. Но это будет равносильно тому, как если б вы учились плавать, изучая анатомию человека и динамику жидкости. Безусловно, это играет огромную роль в плавании, но гораздо веселее и практичнее было бы просто прыгнуть в бассейн! кароче надо привыкать к ущербному ощущению вечного недопонимания
>>1110012 >Жиквери нинужно но ведь это так, так же как лес и сас устаревшее нинужное говно
какой то ты ретроград ебаный, да еще все вокруг дураки, а ты самый вумный, вот поижай в калифорнии, покажи бородатым пидорам с наклеичкими как нада, а то ишь епта
>>1109959 Так падажди ка, то есть чтобы написать таблицу, которая бы просто данные с сервера подцепляла мне надо 33 технологии? Вы ебанулись? Vue основан на html шаблонах? Опять смешиваете логику и интерфейс?
>>1110023 Они деньги инвесторов отмывают, технологии придумывая. Всё равно все сводится к "получи данные-выведи в хтмльку". И проблема не в том что "ты просто не понимаешь всё новое", а в том что эти мощнейшие инструменты используют для всего подряд. Термин даже есть такой "золотой молоток". А потом оказывается, что какой то фичи в любимой хуйне нет и они её суют внутрь. Индусы до сих пор на опенкарте магазины ебашат и бизнес доволен. Кип ит симпл. 90% успеха сайта это дизайн. Если он уебищно спроектирован, никакие реакты и ангуляры не помогут.
>>1110031 > "получи данные-выведи в хтмльку" прямо как в нулевых, от было ж время, без всей этой педерастии, як бы ща странички лейтали а?
>90% успеха сайта это его суть, товар услуга сервис, современная графика продуманный юих и няшные яксовые технологии сделают его еще лучше, но не смогут продать одну лишь обертку если не топить маркетоту типа эпола, хотя и их приход слабнет
>>1110040 Эпл любят потому что там всё работает быстро и из коробки, а не потому что дизайн красивый. Как только перестанет работать быстро и из коробки, Эпл разлубят.
Если парень имел в виду дизайн в смысле "дизайн это когда работает быстро и из коробки", то всё верно, если парень имел в виду "дизайн это охуенные ассеты и шрифты", то это не правда.
>>1110055 >Кто-нибудь может вкинуть ютьюб канал, где подобие борды пишут. Вроде кто-то с сосаки каналом занимается. Хули её писать то блять. Посмотри на сосач, набросай брифинг, да пиши епта. Поставь вакабу, админку посмотри
Такой вопрос, как поживает meteor.js? Помню был хайп дикий, подняли кучу инвестиций, разговоры были что он заменит полностью все фреймворки. Использует ли кто-нибудь его в работе?
Появился ли какой-нибудь фреймворк, чтобы можно было быстро делать приложения как rails например?
>>1110140 > meteor.js Он вообще в рунете хоть как-то засветился?
> Появился ли какой-нибудь фреймворк, чтобы можно было быстро делать приложения как rails например? Opa конпелируется в жс. А если серьезно, то все эти изоморфики - хуита, и все блоггеры, раздувающие хайп на эту хуитку, позже сами открестились от этой технологии.
Был какой-то бесплатный веб-курс для начинающих, там надо было программировать какую-то машинку или робота, чтобы он по лабиринту правильно ходил. Не напомните?
>>1110322 Господи, какое же словоблудие. > Сайты с таким количеством скриптов просто недоступны значительной части пользователей; статистически, пользователи не будут ждать загрузки интерфейса так долго. Дальше не читал.
>>1110322 Какие оправдания? Давно известно что рядовой скот с АДХД не ждёт секунды загрузки сайта и надо укладываться в 200кб страницу максимум. Никаких фреймворков, сасов, лесов и прочих буткрапов. Дух старой школы, шаблонов и 50кб страниц жив и будет жить.
>>1109818 Спасибо. Я запустил "rollup -c" с этим конфигом и получил на выходе turf.min.js, но не в том виде, в котором хотел. Это вроде как для nodejs?
ребята начал учить яву недавно по 3 месячной стажеровки туплю больше всех сказали сделать функцию возвращающую слово в решения не хотел лезть сделал посвоему https://jsfiddle.net/9btujm2e/ сказали переделывать что не так?
Как запаузить выполнение скрипта? setTimeout не подходит, потому что у меня цикл, и цикл выполняется, пока идет таймер который сам в цикле, нужно именно остановить выполнение.
>>1110318 >Как починить? Биндить функцию, а не результат выполнения функции, очевидно же. напиши typeof(biding2('click')), который ты передаёшь вторым аргументом в bind, который так-то функцию ожидает.
>>1110729 Ты ебанутый, ты что вообще там сделать хочешь? Разбираешь слово по буквам и обратно собираешь, зачем? А переделывать уж хотя бы из-за форматирования кода надо, независимо от результата даже.
>>1110325 Сас и лес не увеличивают размер файла, даунич. А фреймворки бывают и по 4 килобайта, включая реактивные. Нехуй просто гвозди микроскопом забивать, а потом орать что тебе и молоток-то не нужен, будешь руками хуярить. Ударься сразу лбом.
Помогите необразованному, код работает, но у меня такое чувство, что можно сделать проще и лучше, стоит над ним еще подумать или писать как получается, а остальное не прийдет с опытом? Спросить не у кого, в одного.
>>1110840 Вот такой аутпут получается, часть задания, что выполнял подчеркнул. Тут нет какого-то сакрального смысла, просто задачка, мне нужно знать, насколько это говно код по шкале от 0 до 1. И стоит остановиться и все еще раз переделать или это приемлемое решение.
тебе чего конкретно не хватает? вложенности что бы ковнокодить или экстенда что бы вообще пиздец устроить, или ты из тех кому мало калка с варом и ты хочешь запихать туда еще какой то код? ну вот серьезно чо надо то?
>>1110867 Это новый, эджевый тру-реактивный view-фреймворк от китайцев. Нашпигован магией, из-за чего учится примерно за пару часов. Не смешивает код и шаблоны, в отличии от реакта и кладёт хуй на ЧИСТАТУ функций, заменяя всё передачей большого объекта конфигурации в конструктор компонента.
>>1110870 Спасибо, посмотрю. А то аддонописатели как-то отстают от технологий, большинство аддонов тупо дрочит DOM. Разработчик лисьего Tree Style Tab (вертикальный древовидный список вкладок) вроде планирует только через годик-другой на React переписать.
>>1110874 Посмотри на исходники бутстрапа как-нибудь или на компасс. Сасс позволяет писать реюзабельные компоненты и библиотеки для упрощения рутинных ежедневных операций. Поиск контрастного цвета, генерация сетки по запросу, экстенд других элементов, инклюд коммон-кусков кода, расчёт лайн-хейта для типографики и остальное. Для продуктовых проектов незаменимая вещь.
>разбиение на модули вебпак Хуепак, сравнил няшный @import, который умеют обрабатывать все ИДЕ, подтягивая оттуда миксины, компоненты и остальное, и вебпак.
>вебпак уебок ты ж блять что ты собрался конфигурировать в КАСКАДЕ СТИЛЕЙ В самом каскаде - ничего, в сасс-коде - собрался. Очевидно, различные переменные, определяющие поведение функций при компиле и прочее.
>>1110874 >жду примеров когда в цеске нужны ЦЫКЛЫ блять Для генерации цсс-кода, лалка.
МОЖНО сделать всё то же самое без препроцессора, вопросов нет. Но с ними - в разы быстрее, проще и удобнее. Чем больше проект, тем больше это заметно. Писанину руками сокращает очень сильно, а поддерживаемость повышает.
>>1110879 >бутстрапа Ты чо нахуй смеешься что ле? какой блять бутстрап в 2к18!?
>няшный @import дегрод это стандартная цеска
>рутинных ежедневных операций >Поиск контрастного цвета, генерация сетки по запросу, экстенд других элементов, инклюд коммон-кусков кода, расчёт лайн-хейта для типографики шизофазия щас умру блять
>Писанину руками сокращает эммет с предиктом
>>1110882 >костыли для даунов понторезов выучу хуйню@наклею еще одну наклеичкю не желающих учить дефолтный инструментарий навроде цес грида с флексом ясненько, я так и думал
>>1110886 >дегрод это стандартная цеска Дегрод речь про другое, почитай как директива импортв сассе работает
>шизофазия щас умру блять Говноверстак в говностудии, так и скажи.
>эммет с предиктом Какой, нахуй, эммет? Дай мне строку для эммета 12 классов грида, давнич. И если ты мне сейчас скинешь дохуя сложную строку, тогда отвечай сразу, чем это отличается от препроцессора? И схуяли тогда эммет не костыль, а препроцессор - костыль?
>не желающих учить дефолтный инструментарий навроде цес грида с флексом Речь вообще не об этом. Ты как-то неправильно воспринимаешь, что такое препроцессор. Хули ты в блокноте-то не пишешь? ИДЕ - костыль для дауна, не желающего учить возможности языка? Эммет? Автокомплит? Подчёркивание ошибок? Всё для даунов!
Ты нихуя не писал ничего серьёзного в продуктовом проекте, я тебе ещё раз говорю.
Ты вызываешь функцию binding2 в коде бинда. () - это значит "выполнить функцию", поэтому он пытается использовать результат вызова как коллбэк.
Тебе нужно: Во-первых, убрать устаревший bind и заменить на .on
Во-вторых, не вызывать функцию сразу, а либо обернуть её в анонимку, либо просто передать её название, и тогда при событии она вызовется с аргументом event.
Это три равнозначных по результату варианта. event - это объект типа Event, он в себе уже содержит всю инфу о событии, передавать имя руками аргументом не нужно
>>1110916 >бэм весь мир пользуется, думает как сделать лучше, делает говно атомарный бэм с грустью присаживается обратно на русский хуец >но модный молодежный инвалидный анон скачет на костылях и радваица кек
>>1110938 >В выводе получается [object Object] Потому что ты получил в своём binding весь объект целиком и пытаешься его вывести. Конечно, он так выводит.
Выводить нужно event.type
Заменил на такой вариант: $(".tb").bind("mouseenter", event => binding2("mouseenter")); Ну как бы да, но нет смысла передавать моусэнтер тогда
И нашёл ещё такой (останавлюсь на нём): $(".tb").bind("mouseenter", event => binding2(event.type)); Типа, работает, да, но мне кажется,что подход неправильный. Твоя функция binding не имеет чёткого назначения. Если ты назовёшь её drawToConsole( string ), и она будет заниматься только выводом строки в консоль - тогда да.
Если ты назовёшь её drawEventName(), то лучше передавать в неё не event.type, а event целиком.
Но сейчас она у тебя вообще непонятно зачем нужна, потому что не имееет адекватного имени.
Кстати, учти! Стрелочные функции ()=>{} не работают в старых браузерах. Если нужна поддержка ИЕ 9 и прочего хлама, нужно писать function(){}
>>1110941 С именем функции, да, соглашусь. Такое имя было выбрано для простоты использования (в debug версии). В дальнейшем конечно же переименую. Задача функции лишь в том, чтобы вывести имя события, которое возникло.
>>1110958 Доебусь ещё разок и скажу, что имя такое себе. Почему get? Get-функции возвращают значение, а у тебя только рисутесят. Напиши тогда drawEventInfo
>>1108498 (OP) Посоны, помогите советом. Нужно написать небольшой сервис, который будет крутиться на локалхосте а может и нет, который будет дергать небольшие части видео со списка стримов.стримов. Есть список стримов, сервис обращается к первому стриму, показывает небольшой кусочек видео оттуда, буквально секунду-две, может даже скриншот, а потом проделывает тоже самое с другими стримами из этого списка. Посоветуйте модуль для реализации этого. Наверняка есть что-нибудь подходящее.
>>1110870 Он же с реактивным никак не связан. Как и реакт в принципе. Но угоревшие по реактивному и фп используют реакт (и смежные вещи, вроде Elm и Cycle.js).
>>1111640 Это же ебануться какая нагрузка. Сначала к апи подключись, ссылки на видео поток получи, видео поток запусти. Ради двух секунд. И так каждый раз. Плохая идея, думай ещё.
php тред мертв, задам вопрос тут. Анон, я на распутье. Познал дзен в html+css и сейчас учу js. Наткнулся на рекламу курса php+sql от академии. Просят 15к (с купоном) https://htmlacademy.ru/intensive/php
Глянь своим опытным глазом, чему меня хотят научить за 15к и скажи - хуйня это все и такие знания можно самому подтянуть за пару месяцев или стоит все же вкатиться.
Сейчас js учу по их спизженому курсу и все радует и с пхп бы поступил так же, но не нашел слитого курса по пхп.
>>1111687 Нахуй шли какие-либо курсы со свободным набором. В своем большинстве этот мегакурс от Васяна даст тебе только базовые знания. И легче получить эту базу из какой-нибудь книги для чайников
>>1111644 Присматривался к циклу.жс, понравилась идея подвязать стримы для обработки событий. Но не понял, как цикл работает с домом? У них свой движок или юзаеься сторонняя либа?
Аноны, посоветуйте ресурсы по node js. Просмотрел скринкаст от Кантора, но он вроде устаревший или нет? И скачал курс от learn.javascript, но на первом же задании застрял.
Знаю фронт, с бэк эндом вообще не знаком.
С чего вы начинали учить node js? Какие книги для чайников посоветуете?
>>1111818 Идентично, если не использовать возмозжности хойстинга (то есть не использовать что-то, что объявлено ниже в файле). Функция условно перемещается в начало файла вместе с определением, var поднимается как undefined до своего объявления.
>>1111640 Аха, ты типа IPTV гонять через ноду хочешь что ли? Сервер тебе, скорее всего, отдает m3u плейлист с ссылками на живые чанки видео, а тебе нужно распарсить ентот плейлист и закачать все файлы, после чего их либо склеить в один файл, либо просто пробросить клиенту. Я занимался как-то подобной хуйней, только цели были другие. Ну, это не так уж и сложно и сделать, но если лень, можешь гуглить по ключевикам "node m3u download". Вот, например, чайный пакетик без доков и смс, разбирайся: https://github.com/deepakk87/m3u8-downloader
Аноны вот учу я js по учебнику кантора так там везде старая спецификация, только не много по es2015, это сильно устаревшая информация? Сильно большая разница с es6, а то я не понимаю.
>>1111898 Спасибо тебе. Почитаю. Нужно что-то вроде пикрелейтед. Тут они просто в реальном времени по два-три кадра с каждого стрима выдают. У меня стримов будет больше, но сразу все не надо, надо по очереди.
Flow больно использовать под Шиндовс, пюрэ больно использовать из-за эффектов, кложу больно использовать из-за тайпчекера. Против тайпскрипта у меня иррациональная предвзятость. Какие еще хорошие варианты есть?
>>1112075 >Тю, мы то думали ты твитч парсишь. А что такого в парсинге твитча? Точно так же ведь достал ссылку на плейлист, скачал кусок, отобразил (или кадр вырезал). Я так с корейского afreeca.tv скриншоты с кучи стримов грабал в поисках годноты какой-нибудь.
>>1112728 - использование любого языка, транслирующегося в JS существенно осложняет разбор исходного кода в виду дичайшего оверхеда; - стриминг клиентского кода с сервера в бинарном формате через вебсокеты; - wasm; - asar packing (для десктопа).
Вариантов до пизды и все ПРОСТО немного усложнят жизнь заинтересованному лицу.
Сап /js/, я пытаюсь осваивать xpath. Мне удалось успешно написать правило, которое выделяет посты со ссылками 2ch.hk##:xpath(//div[@class='post-wrapper' and descendant::a[contains(text(), 'http')]]) теперь я пытаюсь написать правило для выделения постов без ссылок. Перепробовал уже около 5 вариантов, не заработал ни один. Буду благодарен помощи.
>>1112731 >- стриминг клиентского кода с сервера в бинарном формате через вебсокеты; Интересно, можно подробнее? Что происходит в браузере с этим бинарным кодом дальше? Где используют эту технологию и используют ли?
Зашёл, чтобы напомнить вам, что js - это очень сложный язык, который мне просто лень учить. Он непродуманный изначально, и построен на костылях, ещё и этот es6 ебучий, который пиздец как всё раздул, скоро будете как в с++. Для себя я сделал вывод, что чем строже язык - тем лучше == ЧАО ПАКА ВСЕМ ДАБРА И ПАЗИТИВА ==
>>1112823 > можно подробнее? Можно, но лень, т.к. сам не юзаю, а пересказывать чужой опыт не так интересно. Но скажу так, ибо тема релевантна - технологию передачи двоичных данных и чанки скриптов через вебсокеты активно юзал небезызвестная в здешних местах личность, евангелист фп-программирования, автор доски по программированию на самописном движке. Имя я его не помню, но нагуглить будет легко, лол. Простите за сумбур.
>>1112844 Выучить его не сложно, не такой он и большой. Но не дай бог разбираться в жутком императивном коде, использующем большинство его фич, да еще и без типов.
>>1111912 В ES6 есть пара плюшек в виде синтаксического сахара. Покурить ES5 и ниже будет полезно, чтобы лучше понимать то, что происходит за ширмой красивых слов типа class, стрелочных функций и так далее. Ну ещё там есть действительно крутые нововведения типа let, которые решают кучу проблем с ебанутой системой областей видимости в языке. Короче, я бы советовал поизучать es5, а потом сверху уже es6 изучить.
Что уважаемый антон порекомендует в качестве движка для встраивания JS в программу (для того чтобы пользователь мог скриптовать её поведение, автоматизировать под свои узкоспециальные нужды)? Смотрю на V8. А, если это важно, также встроен каноничный Lua, т.е. движки должны уживаться друг с другом и в идеале встраиваться ммммаксимально схожим образом, но это не обязательно.
Как можно вызвать анонимную функцию внутри анонимной функции? var a = (function(){здесь нужно вызвать эту же функцию})(); Хочу сделать рекурсию с анонимной функцией
>>1113216 Редиректит сервер. Ну либо исполняемым на хмтл странице жс-ом можно window.location сделать. В чём у тебя смысла редиректа именно по такой ссылке, ты что сделать хочешь?
Просьба к анонам которые занимаются фронтом профессионально, обведите кружочками плиз что из этого вы юзаете часто и что должен знать джун обязательно.
>>1113137 в данном случае будет захват переменной из внешнего скоупа, в то время как в случае с именем функции - такого захвата не будет. вы вообще когда-нибудь в консоль заглядываете?
>>1113304 Не получается кружочком, пункты не квадртаные же, лишнее захватывается. Переделай картинку. Ты серьёзно? Никто не будет тут сто пунктов читать и что-то там обводить.
Сап, js-уебок на связи. В который раз охуеваю от его уебищности, но делать нехуй. Нужен совет от шарящих анонов, чьи жопы натренированы и не убивают кенгуру на той стороне шара. В общем есть localStorage, в него записываешь >localStorage.setItem(counterObj, localObj); (counterObj - простой счетчик, localObj - объект с переменными, в переменных всякая хуйня записана). Так вот когда используешь метод localStorage.getItem(counterObj) и пытаешься за 1 итерацию цикла вытащить 1 переменную (ее содержимое) localObject, то вытаскивается 1 символ, а не объект. Как фиксить?
>>1113457 Спасибо, анон, но кажысь разобрался, надо объект в JSON захуярить сначала. Если помещаешь что-то в localStorage, то оно походу сразу становиться текстовой строкой.
Не могу сформулировать вопрос человеческим языком, Анон, так что формулирую как могу.
Я макака, какое-то время занимаюсь фрилансом. Верстаю относительно неплохо, JS изучал на ходу, так что никаких "фундаментальных знаний" по нему у меня нет. Знаю, что надо бы прочитать какую-нибудь книгу, но пока не до этого, сначала хочу уровень вёрстки сделать более уверенным (собственно, почти закончил с этим). Тем не менее, поскольку я фриланшу время от времени приходится писать на JS, постепенно выработал для себя примерную "архитектуру приложения". Не уверен, что я всё делаю правильно, но мне пока хватает. Однако меня всё чаще посещает мысль о том, что "логика" и "представление" должны разделяться, но не очень понимаю, как это сделать.
Приведу на конкретном примере. У меня есть инпут в который вписывается имя пользователя. Алгоритм работы такой: сначала скрипт проверяет, есть ли пользователь в базе. Если есть - переключает свитчер (ну, типа, one page application, "страницы" переключает) на следующую страницу. Если нет - выводит модальное окно с текстом и двумя кнопками, мол добавить пользователя в базу или как? Сейчас это сделано одной функцией, которая на входе получает юзернейм, на выходе либо переключает свитчер, либо выдаёт алерт типа "операция отменена пользователем".
И вот тут у меня снова появилась мысль, что смешивать "логику" приложения и "представление" (вызов всяких оверлеев, модальных окон, прочей херни) это не очень хорошая идея, потому что это делает мою функцию менее "гибкой" и не даёт использовать её в других местах, ведь в другом месте мне могут быть не нужны оверлеи, модальные окна и т. д.
Ты можешь спросить: "Чего, блядь? Кто тебе мешает сделать функцию, которая будет только отдавать true\false на нахождения пользователя в базе". "Мешает" то, что от функции этой толку нихуя, зачем нужна функция из двух строчек кода? Я бы скорее хотел видеть функцию такой, как она есть сейчас, то есть, чтобы она не только проверяла наличие пользователя в базе, но и предлагала добавить его в неё, если пользователя в ней нет.
Что почитать на эту тему, как это сделать? Вот в PHP я видел у многих CMS папки типа controler viewer и т. д. в которых содержались одни и те же php-скрипты, но в одной папке была "логика работы", в другой - как это будет выводиться на страницу, в третьей - запросы к БД и т. д. В JS используется такой подход, когда она и та же "функция" дробится на "логику" и "представление"? Мне зубодробительная YOBA о глубинах и тонкостях JS не нужна, просто понять саму суть. Может, колбэками как-то? Типа, на событие "всё ок" такой колбэк, на событие "юзера нет в базе" такой колбэк, на событие "юзер хочет в базу" такой колбэк? Сама внутренняя логика работы одна и та же, но в одном случае мне нужно вывести алерт с таким-то текстом, в другом - модальное окно с другим, в третьем еще что-то.
Надеюсь, что хоть кто-нибудь поймёт эту хуйню. Ключевые слова: разграничение "логики" и "представления". Такое практикуется или я выдумал какую-то хуйню?
>>1114175 Да, и еще вспомнил, почему я не могу сделать функцию возвращающую true\false - AJAX же. Значит, колбэки? Сейчас пробую сделать с ними, добавил объект с кучей колбэков на разных этапах.
Сап, что за хуйня, сделал Кантора, подумал закрепить хекслетом - и что не задача - не могу сделать. При чем постоянно пишу код на 90% похожий на верное решение, и постоянно проебываюсь с какой нибудь фигней. Пр чем это на начальном уровне, типа там слова проверить, которые задом наперед одинаково читаются и все такое. Все, пиздец, я тупой? Или к хуям эти задачи и учить реакт? Или я просто старый уже? Мне 27 уже, заебался по саппортам работать.
>>1114194 >AJAX же. Значит, колбэки? Есть еще событийно-ориентированное программирование. Триггеришь события, подписываешься на определенные события, обрабатываешь их.
Приветствую, Джейсоны! Есть ли npm-пакетики, позволяющие связывать стримы и буфер, чтобы можно было писать в буфер по типу createWriteStream из fs api?
Помогите разобраться с конфигом gulp и webpack. За сборку js отвечает webpack, а за сборку всего остального gulp. Набросал конфиг, но возникли две проблемы: 1. При изменении файла index.js (или main.js) в консоль сыпется ошибка "Error: task completion callback called too many times". В чём проблема и как это поправить? 2. После изменения js файлов webpack пересобирает их, но в браузере они не подцепляются. Как заинжектить изменённые файлы в браузер?
>>1114719 Если пишешь что-то на фреймворках - юзай вебпак. Если верстаешь лендинги - можешь юзать галп. Но не совмещай их, так как сейчас вебпаком уже все можно делать и без галпа. Если хочешь риалтайм изменения, то тебе нужно хот-релоад в вебпаке настроить. Решения таких ошибок нужно искать не на дваче, а на стаковерфлоу или в гугле.
Ещё раньше можно было на с9 заебенить прям всё в облаке, но их сейчас Амазон купил, и я не знаю что там поменялось, сколько халявы осталось https://aws.amazon.com/ru/cloud9/
А вообще для никому не интересной тудушки лучше сделай в лохал-сторедже, ну или в индекседДБ, если хочешь веселья.
>>1114906 хеуктор как раз работает, это вектор у тебя не работает. Потому что нахуя ты делаешь проперти plus с геттером, а потом пытаешься эту проперти как функцию вызывать? Геттер это же совсем другое.
Всем привет. Можете пожалуйста пояснить за механизм работы сессий? использую express-session и mongo-connect бекенд и фронт разделены. Вот мне приходит логинка пользователя, я сохраняю её в req.session, мне надо , получается, на клиент надо вернуть id сессии и потом просто в остальных запросах делать проверку коллекции session в монге на поиск всех этих данных?
или на клиент ничего не возвращается и я исколючительно должен это делать на своей стороне? просто если так то не пойму каким образом
Посоны, стал я изучать этот ваш JS. И сразу бросается в глаза какая-то неконсистентность. Почему если я не объявлю переменную x и обращусь к ней напрямую, то получу ошибку, а если обращусь через window.x, то просто получу undefined? Почему если я у null и undefined попытаюсь установить или получить свойство, то получу ошибку, хотя с другими примитивными типами такого не будет? Есть логичное обоснование для этого?
>>1115880 >просто получу undefined Так работает внутренняя операция [[Get]] согласно спеке. >у null и undefined попытаюсь установить Для них нет конструктора. Для строки, например, есть String(). Если ты делаешь "abc".trim(), то под капотом происходит String("abc").trim(). >логичное обоснование Все внутренние операции описаны в спеке: https://tc39.github.io/ecma262/ Многие из них это результат компромисса. А некоторые это "хотели, как лучше, получлось, как всегда", типа нестрого сравнения.
>>1116083 Каждый раз проигрываю с этого ролика. А что за jsc интерпритатор соснольный? Я знаю в сперме есть в составе net framework jsc.exe , который для jscript.net.
Сапо, господа программисты. Существует возможность с помощью javascript менять содержимое файла при его открытии по клику мышки? Ну то есть вот когда открываешь картинку на сосаче надо что-бы скрипт правил немного заголовок картинки. Пока приходит в голову разместить внешний скрипт на хостинге и отправлять картинку туда, но суть в том что хочу запилить расширение для пользователей Safari есть баг с открытием некоторых изображений, а держать хостинг для таких целей не охото.
Вообще можно попробовать напилить екстенш, который будет открывать картинку через File API, править что надо (так как картинка будет считана в Blob'e). Ну и потом правленную открывать как Base64 URL.
Вот так сходу не могу придумать, почему не будет работать, File API в сафарях работают (вроде), экстеншены позволяют работать с контентом страницы, на которую настроены пермишены. Конечно могут быть подводные камни, но сходу их не видно.
>>1116652 Проиграл в очередной раз с неогранизанности макак, в Java/PHP такого ни разу не было, а в JS опять left-pad. Алсо чому ты в субботу вечером кодишь?
Антоны, такой тупой вопрос, как задать динамическое позиционирование к примеру от картинки? В каждой теме картинка бывает разных размеров и что бы оценки сами определяли размер картинки и вставали правильно как рилейт, а не налезали на фоточеку если она вдруг оказалась большой https://jsfiddle.net/uxu0nygh/
Коты, как вкатиться в реакт? Туториал на сайте с tic tac toe прошел, но в реальных сайтах яснее не стало. Скачал material ui для реакта, но дальше одного компонента дело не движется. Например запилил drawer, но хуй знает как привязать обработчики к кнопкам, onClick там никаких нету. Готовые же сайты на react material ui просто вообще нихуя не понятны.
Есть годные гайды для реакта (именно по material ui неважно, мне хоть как), которые сложнее написания tic tac toe, но не космического уровня и объясняют именно прикладную задачу по запилу фронта для сайта.
>>1117073 Мап - применить функцию к каждому элементу и вернуть список результатов, филтер - применить функцию к каждому элементу и вернуть только те исходные элементы, где результат функции true, редюс - собрать список в единственное значение, поочередно применяя к каждому значению списка функцию, таким образом изменяя промежуточное значение тупо написал, на примере проще разобраться.
>>1117080 Уже сделал, только всё равно чувство что полная хуйня осталось. Не знаю, как лучше сделать такое, надо хранить, допустим, юзеров и у них есть статы. Похоже на ооп хуйню, но не пойму.
>>1117261 >ReferenceError: inBetween is not defined Твоя последняя строка ничего не знает про функцию "inBetween". Ты её определяешь внутри filter, за его пределами её не существует.
Аноны, что за хуйня происходит в этом клочке кода?
function r(e) { if (!e || e.length % 4 == 1) return !1; for (var t, i, a = 0, o = 0, r = ""; i = e.charAt(o++);) i = n.indexOf(i), ~i && (t = a % 4 ? 64 t + i : i, a++ % 4) && (r += String.fromCharCode(255 & t >> (-2 a & 6))); return r }
ПЕРЕМЕННЫЕ e = AqSYntu n = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN0PQRSTUVWXYZO123456789+/=
меня интересует момент в теле цикла. 1) почему там везде запятые? 2) почему в скобках в условном выражении, там где false тоже запятые? как это сработает? если Ложь, то t = i; a = (a + 1) % 4 Верно? 3) 255 & t будет как сложение?
Переписываю на другом языке. Извините, если вопросы очень глупые. С js никогда не работал в таком коде. Очень все сложно и нихуя не понятно
Анонче, опять вопрос от нуба. Почему на пике слева выдает 10, как и надо. А справа выдает содержимое функции(хотя там вроде указан stringOf)? п.с. Тема по преобразованиям объектов к примитивам у Кантора
>>1117365 Но ведь vue.js это по сути та же хуйня, что и реакт, только без jsx-месива (а разделенное на темплейты, скрипты и ксс). Разве что нормально просто в html-страницах работает.
>>1117586 Нет, vuejs это та же, хуета, что и ангуляр. И заменяет она именно ангуляр, но в целом на соотношение ангуляр/vue против react она никак не повлияет
>>1117390 >1) почему там везде запятые? Аналог точек с запятой. console.log(1);console.log(2);console.log(3); и console.log(1),console.log(2),console.log(3); одинаковые.
>2) почему в скобках в условном выражении, там где false тоже запятые? как это сработает? если Ложь, то t = i; a = (a + Я не совсем понял про какой из кусков ты говоришь, но в if() уходит последнее значение в запятых. if(false, false, false, true) = true if(true, true, true, false) = false
>3) 255 & t будет как сложение? Нет. Это битовая операция AND Это ты берёшь биты числа и по очереди делаешь их AND 255 в 10и ричной системе = 11111111 в бинарной (биты) t например у тебя равняется 00010110 11111111 & 00010110 = 00010110 Потому что 1 AND 0 = 0 0 AND 1 = 0 0 AND 0 = 0 1 AND 1 = 1
Вот 192&96 = 64 (вбей с жс консоль, убедись) Потому что 192 = 11000000 96 = 01100000 AND только для 2го бита вернёт 1, и получается: 01000000 = 64 Как из 10и ричной в двоичную переводить сам разберёшься. Это можно и в виндовом калькуляторе делать. Или прям в жсе (64).toString(2) = 1000000 (7 бит вывело, первые нули выбрасываются) parseInt('01100000', 2) = 96
>С js никогда не работал в таком коде. Потому что это не человек писал, а обфускатор сгенерировал. Там изначально был нормальный понятный код, но его вот так упаковали. Сам не вздумай так писать, пиши нормально.
>>1117654 Нихуя она ангуляр не заменяет, глупый. Если там директивы как в ангуляре - это ещё ничего не значит. Вуе - это вью-слой, лёгкий, быстрый и реактивный без костылей.
>>1117680 Еще как значит. Подход тот же, что у ангуляра, что в свое время перевернул реакт, предложив намного более простой способ размышления об интерфейсе.
>>1117789 >Подход тот же, что у ангуляра, что в свое время перевернул реакт Кто кого перевернул?
Ангуляр - это MVVC - фреймворк, тяжёлый ентерпрайз-монстр, а Vue - это View-слой, агностичный по отношению ко всему остальному в приложении. А директивы - ничего не значат. Давай тогда всё, где встречается {{}} - синтаксис называть заменой хандлебару
>>1117815 Я думал курить для программиста - табу. Умный человек курить не может. Ящитаю. Как и быть жирным. А если человек жирный и курит, он вообще отброс.
Двач, есть json-чик со списком городов и их координатами - "coordinates": {"lat": 31.230393, "lon": 121.473704}
Куда можно скормить мой json, чтобы он среди всех городов нашёл, например, 5 самых близких координат к тем, что я укажу? Нужно кокочать геобазу и ajaxом отправлять к PHP?
>>1118722 Я бы так сделал. Топ 5 самых близких городов и циклом перебирать все из жсона. Если текущий ближе, чем 5й в списке, то удалять 5й, и заменять его текущим и сортировать топ5, чтоб в конце был самый дальний. Воооот.
>>1118738 Решил свою задачу. Оказывается, есть крутая формула по определению векторного расстояния между двумя точками. Система образования в шкалах - це пиздец, конечно. Эта формула - материал 9-го класса. Но нахуя в школе рассказывать, зачем это нужно? Можно просто сказать РЕШАЙ СУКА ЗАДАЧУ МРАСЬ. Пиздец жалею, что матан не учил.
Возможно не для этого треда вопрос, но в фронтенд-треде не ответили: Где найти этот курс полностью? - https://codedojo.ru/store/nodejs-basics На раздаче nnm-club'а не достает некоторых важных уроков, также как и на coursehunters.
>>1118857 Формула может и крутая, только мы живём на сфере и для таких расстояний ебёмся в символы Кристофеля. надо считать хотя бы так http://osiktakan.ru/geo_koor.htm
Но для сравнения сойдёт и твой вариант. Только не забудь о переходе через полюс/180 меридиан
Анон, я пытаюсь в фуллстак и не могу. Чувствую себя ужасно тупым. Ни определиться, ни начать говнокодить. Надо сделать простенький проект уровня одностраничной параши, которая на каждое изменение в базе реагирует для всех клиентов. Добрался до стека React+Apollo и вроде бы неплохо, но кэш с состоянием для клиента максимально уебищный, плюс на новой версии они откатили поддержку Redux/MobX. Вопрос: продолжать ли ебаться с аполлой или просто не выебываться и настраивать вебсокеты отдельно?
>>1118913 Я может чего-то недопонимаю но апполло не является ли очередной прослойкой для взаимодействия с GraphQL API? С кешем и шлюхами. Ну т.е. я хочу сказать разве это предполагает отдачу риал-тайм изменений в базе? Мне кажется в любом случае вебсокет соединение надо открывать. А для простенькой одностраничной параши изолированный глобальный контейнер состояния вроде редакса и не нужОн.
>>1118859 Серьёзно? Чтоб понять основы node.js тебе нужен видео курс? Именно этот видео курс? Тысячи других бесплатных не подойдут? Миллионы статей, где разжевано всё для дебилов, тоже? Нахуй так жить?
Помогите пожалуйста, где можно прочитать про побитовые операции? Сейчас читаю на learnjs, но там не очень понятно. Может есть видео урок или книга, где всё разжевано объясняется?
Поясните за болд, с какой недели включается, через сколько после последней инъекции выключается и можно делать пкт. Хочу сделать с энкой или сустом, а то вот давеча слез с 6 недельного проп - метан - рассчитывал на волшебство коротких курсов, супер быстрого восстановления... ну проебался кароч. Ща думаю успею 12 недель сделать или нет до жары. К тому же никогда не делал два курса подряд почти, сцыкотно. ps на первой недели пкт узнал что моя телка мне изменила - два дня не жрал, с 87 до 84,5 при росте 173. Если нет спокойствия в жизни нехуй и курсить.
Я вроде уже имею представление об вебпаках, ярнах, нпмах, галпах, грантах, лесах, сасах, жсах, ес6, наследовании, загибулинах на жквери. Но еще куча вещей осталась неизвестной. Подскажите, что это за хлам, зачем нужен, кто кого заменяет, что лучше? >жквери, лодаши, рамды, бутстрапы, материалайз, постсss, юи паки всякие? Что с этим хламом делать? Где со всем этим пересекается реакт? Я еще не начинал его, поэтому мне немного сложно сориентироваться
Как всякие html5 чарты засунуть в реакты и прочие вуи?
Я делаю новый div id=chart в компоненте, объявляю new CanvasJS.Chart("chart"), рендерю его через render(), вызываю все это в лайфсайкле компонента, но нихуя не происходит.
>>1119182 Jquery & bootstrap - не нужен. Webpack - помогает тебе собрать твой проект, позволяет автоматизировать кучу задач, которые ручками ты не сделаешь. Например - минифицировать код, скомпилировать код препроцессора на обычный css и т.д npm & yarn - позволяет устанавливать пакеты, которые необходимы для сборки проекта. less/sass/stylus и т.д - препроцессоры, которые позволяют тебе облегчить написание css кода, добавив в него новые возможности/синтаксис. Есть еще постпроцессор, который называется postCSS, но я с ним не работал, сказать про него ничего не могу. Лучше пускай другие ребята пояснят. ES6 - некая спецификация, такой язык, на основе которого сделаны js/typescript/dart.js и т.д. Наследование в js - просто красивая обертка над прототипами. Пускай более опытные меня поправят, если что не так написал.
Что такое >лодаши, рамды я не знаю, т.к только вкатываюсь, также как и ты.
Кстати, молодец, что решил учить реакт сразу. Я с вью начал - всё очень просто, отличный фреймворк, вопросов нет, но его недостаток(имхо конечно же), это его излишняя простота. Изучая его, ты не изучаешь js по-сути, а изучаешь фреймворк. А Реакт завязан на js, поэтому помимо изучения фреймворка ты еще и скилл нативного js качаешь.
Jquery & bootstrap - классика жанра, которая будет работать в 99.99% случаев, если еще и заполифилить. Вариант для бизнеса.
Если делать какой-нибудь проект для себя в 2018-ом. Я бы юзал какой-нибудь: React/Vue + SemanticUi/MaterializeCSS + Hugo + Caddy Для продвинутых можно было бы юзать webcomponents.
Думаю через лет 5-7 у манагеров начнут нормально грузиться сайты с килотоннами js. Либо, когда все пересядут на i3+/FX/ryzen, либо же появится повсеместная поддержка webassembly. Вот, тогда да, можно будет говорить о react-ах, ангулярах, vue и иже с ними.
>>1108498 (OP) Анон, помоги додику. Верстаю сайт, все сделано кроме одного: Нужно чтобы при нажатии на ссылку скрывались все блоки кроме одного, указанного мной.
>>1108498 (OP) Вижу на бирже - вот такую кнопку: <button class="btn btn-info btnfullwidth submit-button" id="buysubmit"> <i class="fa fa-spinner fa-pulse buysell-button-loading" style="display: none;"></i> Buy <span class="tradepair-symbol">BTC</span></button>
Как прицепить на эту кнопку какие-нибудь горячие клавиши в браузере Google Chrome? Быть может есть возможность написать какой-нибудь userscript, или может есть расширение для подобных целей? Может быть в консоли можно JS скрипт ввести, чтоб оно заработало? Кто-нибудь вообще пробовал привязывать какие-нибудь горячие клавиши к элементам страницы?
Нашел интересный проект на гитхабе https://github.com/reactioncommerce/reaction Как понять из какого файла и с какой строчки стартует весь проект? Или может быть есть уже отработанные техники понять как работает весь этот проект?
Гаес, не могу в джаваскрипт. Патологически. Вообще нихуя не понимаю ни одного кода на нём написанного. При том, что хоть и хуёво, но пробовал много языков и всего такого. Очень тяжело. Видимо, я не понимаю сам принцип его работы. Решил посмотреть на примере расширений для Firefox. Всего-то хотел сделать переключаемый режим для чтения (в духе Пока активно - открывать любую ссылку как about:reader?url=ссылка). Но я ВООБЩЕ НИХУЯ не написал. Я не понимаю, как именно используются listener'ы здесь, вообще нихуяшечки не понимаю. Сука. Что мне читать? Базовый курс JS я знаю, на той же CodeAcademy вполне успешно всё проходил. Про сами WebExtentions, вроде, тоже прочёл и те расширения, что идут у мозилл как примеры написал и понял.
>>1119499 Мне по ютубу нравится учить. там есть всякие каналы популярные типа траверси или лернкод академи. В них за 20-40 минут одна тема-миниапп дается.
>>1119580 ненавижу видяхи, братан. Они то слишком медленные, то слишком быстрые, то мудак какой-то ведёт картаво-шепилявый то, если зарубежное, с каким нибудь просто странным говором. Так блять ненавижу. Я посмотрю конечно те конкретные каналы, что ты назвал, вдруг убергоднота, но, всё же, я больше по статьям и текстовым материалам угараю.
Есть ли что-то в духе ренпаевской вики? Самый удобный тип документации и прочего, что я видел, хоть и несколько медленно обновляющийся. И ещё желательно статью, а не книгу, про философию и этику кода на этом вашем JS. Просто, ну, вот с джавой - с самого начала тебе ебут голову тем, как правильно и вообще ТруЪ оформлять код, называть функции и классы и на любой вопрос есть ответ, как в уставе. Для шарпа тоже видел такой материал, даже для ПХП, хотя, судя по всему, большая часть кодеров, даже тех, что модули пишет, в рот эти рекомендации ебали.
А вот для JS я не нашёл. Может мне именно из-за непонимания так больно и непонятно читать его?
>>1119655 Вот, кстати. Один из вопросов к читаемости - когда функции присваиваются как значения куда-то (ну, визуально это так выглядит, аймин), при том, это просто ready=true, я не особо вижу смысл в функции со своим дохуя не веб-ореинтированым подходом. Хотелось бы именно статью или док, который объясняет, схуя ли именно так, а не как у людей и которая хотя бы попытается меня убедить, что это логично и правильно, а не как $ в пхп. А я ей попытаюсь поверить, правда-правда
>>1119442 >онкей пресс Нет, ты не понял. Я не админ биржи, я просто юзер, и я вижу кнопку "Buy BTC". Я не могу залезть в исходник на сервере, и в JS скрипты там, но я полагаю, что к кнопке, имеющей id можно на стороне клиента привязать горячие клавиши, активирующие её. Ну, чтобы если появляется вдруг заявка на продажу по низкой цене (а они появляются и тут же пропадают) - купить сразу, выбрав ордер и нажав комбинацию клавиш, причём одним нажатием горячей клавиши, вместо того, чтобы ялозить мышкой аж туда к этой кнопке и ещё и попадать в эту кнопку ебучую. Биржа - cryptopia.co.nz
>>1119701 Нет, это ты нихуя не понял. Ни о том как торговать на бирже, ни о том что можно сделать юзерскриптом. По хорошему ты вообще не должен куда-то лезть, на бирже ставишь лимитный ордер с нужной суммой и идёшь пить кофе.
>>1119708 Во-первых, лимитный ордер видно, а значит продавцы позадирают цены рассчитывая на закуп этого объема, во-вторых выше него обязательно понаставят много ордеров на какие-то копейки - задирая цену так, что его и не видно будет, в-третьих, не так часто бывают крупные сливы в противовес стремительно-растущему тренду, и в-четвёртых - можно поставить buy limit, пойти поссать, а потом прийти и увидеть внезапный обвал.
Здесь задача состоит в том, чтобы открыть как можно скорее позицию не buy limit, а buy market, когда кто-то сливает значительный объем в сторону обратную стремительно растущему тренду, который можно отлеживать на том же минутном графике на бирже bitmex.com При сливе значительного объема по рыночной цене, обрабатывается первая позиция buy limit на сумму каких-то там сатош, а оставшаяся часть повисает в виде позиции sell limit, которая представляет из себя стенку, быстро прогрызаемую хомяками.
Поэтому, здесь нужно открыть позицию buy market на сумму этого ордера, причём как можно скорее, пока её не раскупили. Для этого, на криптопии, нужно сделать два клика - первый клик по самой позиции, второй клик, после автозаполнения формы - по кнопке BUY BTC, и кроме двух кликов - надо проялозить курсором мыши от позиции до кнопки, и попасть в эту кнопку. Было бы намного удобнее один раз кликнуть по позиции с последующим нажатием неких горячих клавиш для активизации этой кнопки.
Но как это сделать - ума не приложу.
>onkeypress="скрипт" Это что вписать в исходный код страницы рядом с id от этой кнопки???
>>1119713 И какой скрипт там должен быть, чтобы активировать ним - вот это вот: <button class="btn btn-info btnfullwidth submit-button" id="buysubmit"> <i class="fa fa-spinner fa-pulse buysell-button-loading" style="display: none;"></i> Buy <span class="tradepair-symbol">BTC</span></button>
>>1119440 Да, тут все просто. Hugo - static site generator. Клепаешь шаблоны, связываешь внутри все стили, настраиваешь структуру проекта, компилишь все это в обычную статику, где все будет разложено по папкам, деплоишь на сервак. Caddy - http/2 & https web server. Если знаешь, что такое apache или nginx. То вкуришь.
>>1118957 Ну или в оочень редких случаях можно встретить следующие вещи:
if (~arr.indexOf(x)) Тильда превращает -1 в 0, что аналогично проверке на arr.indexOf(x) > -1
~~x делает то же, что Math.floor(x), то есть отсекает дробную часть, оставляя int Имеет максимальный приоритет: ~~3.5 + 1.4 == 4.4
x | 0 аналогично предыдущему, но действует с минимальным приоритетом: 3.5 + 1.4 | 0 == 4 Используется компиляторами языков в JS для имитации int, вставляется при каждой операции на int
Нужно ли хорошо знать CS для фронтенд разработчика? Я открыл одну из книг по алгоритмам, она вводная, но материал очень сложный для восприятия, т.к уровень моей математической подготовки - 7/8 класс. И я очень сильно парюсь теперь с этим: Скачал учебники, начиная с 7 класса и просто начинаю изучать материал и прорешивать задачи для школьников, лол. С этим проблем нет, но я примерно прикинул, что для решения всех или почти всех задач с 7 по 11 класс, включая алгебру и геометрию необходимо не меньше года, если интенсивно заниматься, более 4 часов в день. К этому добавляем знание английского, на уровне intermediate, который с elementary апается примерно за год и получаем как минимум 2 года изучения этого всего, что бы только начать знакомиться с CS. А на изучение CS по курсам MIT потребуется еще как минимум 1 год, но это в лучшем случае и если заниматься каждый день более 8 часов. А в обычном темпе, я думаю, на это уйдет не меньше двух лет, если ты не тупой. Кстати, говорю я про этот курс - https://github.com/ossu/computer-science , что думаете о нем? Мне показалось очень годным, очень заинтересовался этим. Вот и вопрос, с связи с этим - сильно ли я загоняюсь? Я считаю, что нет, ибо без знания таких фундаментальных вещей программист не апнется выше миддла. Что скажете вы? посещают или посещали ли вас такие мысли, как мне?
p.s Я уже работаю, сейчас являюсь джуном, насколько я знаю, в действительно хороших компаниях, на хорошую должность с хорошей зарплатой - требует знания CS на отличном уровне. Поэтому очень сильно напрягает, что я с трудом читаю материал на английском, а Кнута вообще не понимаю, но хочется. Хочется, потому что хочется быть действительно опытным специалистом, а не вебмакакой, коих большинства.
>>1120096 > Нужно ли хорошо знать CS для фронтенд разработчика? Для фронт-энд — нет. Для бэк-энд — на достаточном уровне.
> Я открыл одну из книг по алгоритмам, она вводная, но материал очень сложный для восприятия, т.к уровень моей математической подготовки - 7/8 класс. И я очень сильно парюсь теперь с этим: Скачал учебники, начиная с 7 класса и просто начинаю изучать материал и прорешивать задачи для школьников, лол. Школьная математика только моСК прокачивает, а новых терминов как таковых тебе не даст. Если что-то непонятно в книге, то остановись и медленно прочитай ещё раз не понятное для тебя предложение. Не понял какое-то слово? В гугл, не понял слово при объяснении слова? Снова в гугл. Первая книга будет очень тяжелой, но без этого никак.
> С этим проблем нет, но я примерно прикинул, что для решения всех или почти всех задач с 7 по 11 класс, включая алгебру и геометрию необходимо не меньше года, если интенсивно заниматься, более 4 часов в день. К этому добавляем знание английского, на уровне intermediate, который с elementary апается примерно за год и получаем как минимум 2 года изучения этого всего, что бы только начать знакомиться с CS. А на изучение CS по курсам MIT потребуется еще как минимум 1 год, но это в лучшем случае и если заниматься каждый день более 8 часов. А в обычном темпе, я думаю, на это уйдет не меньше двух лет, если ты не тупой. Совмещай всё вместе, будет не быстрее, но легче. Ангельский учить нужно всегда и везде, начни думать на нём, читать на нём, всё на нём.
> Кстати, говорю я про этот курс - https://github.com/ossu/computer-science , что думаете о нем? Мне показалось очень годным, очень заинтересовался этим. Пройдёшь курс — хорошо. Прочитаешь книгу — хорошо. Сделаешь и то, и другое — отлично. Чем больше знаний, тем лучше. Главное не останавливайся долго на одном и том же, всегда сможешь вернуться назад, если что-то забыл.
> Вот и вопрос, с связи с этим - сильно ли я загоняюсь? Я считаю, что нет, ибо без знания таких фундаментальных вещей программист не апнется выше миддла. Что скажете вы? посещают или посещали ли вас такие мысли, как мне? Фронт-энд отдельно, или бэк-энд отдельно — это всё дно. Чтобы апнуться и быть действительно востребованным тебе нужно знать всё. Сайт на крестах пилить тебе не нужно будет, но работать с питоном будет плюсом. Но "и швец, и жнец, и на дуде игрец" тоже не всегда востребован, просто нужно ознакомиться со всеми технологиями на достаточном уровне. Ознакомился со всеми технологиями на достаточном уровне? Теперь ты способен выбрать понравившуюся тебе и развиваться в ней, тот же фронт-энд. Сверстать страницу с макета за 30 минут, знать голый js как свои пять пальцев, разоблачить всю магию jquery и много другое, прокачивай скиллы.
> p.s Я уже работаю, сейчас являюсь джуном, насколько я знаю, в действительно хороших компаниях, на хорошую должность с хорошей зарплатой - требует знания CS на отличном уровне. Поэтому очень сильно напрягает, что я с трудом читаю материал на английском, а Кнута вообще не понимаю, но хочется. Хочется, потому что хочется быть действительно опытным специалистом, а не вебмакакой, коих большинства. Вебмакака? Да любой программист макака, если судить серьёзно. Программист ведь обычный рабочий, который работает на дядю и получает свои деньги. Хочешь действительно быть ахуенным, то вкатывайся в Науку про данные, Машинное обучение и Компьютерные науки в целом. Платят нихуя, но зато чсв будет размером с луну.
мимо недавно вкатившиеся студентик, описанное выше не воспринимай серьёзно, это только моё мнение, я если честно, не знаю даже что такое тактовая частота и процессора, поэтому мог говна сказать
>>1120096 Ловлю себя на такой же ерунде, хочется всё досконально проработать. На деле уже знаю большую часть и просто убиваю время. Тот же eloquent javascript написан как книга отлично, но мне по-хорошему её только просмотреть и валить читать спеки es6+.
>>1120147 Очевидно, что нет. Для объявления функций как было ключевое слово function, так и остается.
Но твой вопрос заставил вспомнить об одной малоизвестной штуке в ES6 (для меня, лично) - функции, объявленные в блоке, получают block scope. То есть становятся как бы уже объявленными, как переменные с let. Ну или const. Хз, кто вообще это использует...
>>1119182 >жквери Либа для замены querySelector и Fetch в старых браузерах. В 2018 не нужна.
>лодаши Либа (_) с всяким сахаром и повседнемными функциями. Частично имеет альтернативу в функциях es6.
>рамды, Хз
>бутстрапы, Большой scss-фреймворк+стандартная либа на этом фреймворке. Ситуация примерно как с жквери, но бутстрап можно юзать для быстрой сборки админок или прототипов, ибо в нём есть всё и его знают все. Для собственных проектов достаточно грида из pure или flexgrid или самописного
>материалайз, То же, что и бутстрап, но в дизайне Material Design, включает некоторые фишки для материал-дизайна.
>постсss, Эти штуки добавляют префиксы к готовому цсс, делают оптимизации и минификации. Учить там неего, подключил в вебпак и сиди в хуй не дуй
>юи паки всякие? Уй-пак - это набор готовых контролов и/или стилей для них, чтобы не изобретать велосипеды из раза в раз. Включают календари, аплоадеры файлов с прогрессбарами, всякие такие вот продвинутые контролы.
Ребят, извините, я с JS не знаком, но всё же. Все мы знаем, как можно выудить у пользователя-долбоёба нужные куки, полученные через строчку кода, но это хуйня. Я вот не понимаю - в последнее время столько хайпа вокруг Spectre и Meltdown, все только и обсуждают, кто в зоне риска и как защититься. Но как использовать - я не понял.
Окей, здесь это - постановка, чувак просто ввёл необходимый адрес памяти. Но доступна ли такая фича рядовым пользователям? Как нам найти необходимый адрес памяти, как вообще можно использовать эту хуйню для взлома?
Или же это действительно заёбная хуйня и её будут использовать для шпионажа и прочей поеботы далеко не рядовые пользователи?
>>1120299 let chislo = eval(primer); и убей себя, мерзкая, ничтожная, отвратительная мразь. за переменные транслитом тебя нужно кинуть в топку газенвагена, ущерб сраный
>>1120259 Чтобы не городить вложенные вызовы функций, очевидно же. Вместо нечитаемой хуиты навроде const result = callThatLast(callThisOnBeforeLastCall(callNext(callFirst()))) или const resultOfFirstFn = callFirst() const resultOfNextFn = callNext(resultOfFirstFn) ... и так далее, пишем компактный и декларативный код: const result = callFirst() |> callNext |> callThisOnBeforeLastCall |> callThatLast
>>1120255 >либа для поехавших функциональщиков Поехавшие функциональщики наворачивают пюрешку, скалку-жоэс, или Эльм. Речь, естественно, о хардкорных приверженцах фп на фронте.
А рамда это так, развлекуха. Тем не менее подобные либы, взять тот же Sanctuary, позволяют писать более безопасный код.
>>1120393 Их точно так же можно отформатировать на несколько строк. Ну, в общем, в определённых случаях опрятнее выглядит, да, лишь бы только не начали использовать это для функций с 2+ аргументами, городя анонимки везде.
>>1120443 > Реализация этой функции есть как минимум в Redux Композиция есть во многих fp-like либах. Речь шла о том, попадет ли это пропозал релиз новой спеки, или останется висеть в стейджах ебабеля. > и вообще её propos'ают в прототип Function Помимо композиции из банальной очереди, есть плюшки с await'ами и подстановкой аргументов. > А вы тут со своим уродливым "|>" Чому уродливый? Выглядит абсолютно так же, как и лаконичный pipe-forward в F#.
Анон, я дёргаю MongoDB через GraphQL+Apollo, и надо сделать наследование один-ко-многим, типа один пост => тыщи комментариев. Скажи, мне надо для комментариев делать отдельную collection и пихать в каждый объект коммента postId или можно сделать нормальную вставку, типа массива комментариев в каждом объекте поста?
Сап ангулярач. Вопрос по angular reactive forms, как можно не особо костыльным образом сделать форм контрол с деревом чекбоксов? (2 уровня). С сервера приходит массив категорий вида: {name: 'Категория 1', subcategories: [{id: 25, name: 'Подкатегория 1'}]}, {name: 'Категория 2', subcategories: [{id: 27, name: 'Подкатегория 2'}]} на выходе надо получить массив айдишников подкатегорий(на категории похуй). то есть например [25, 27]. Как выглядит смотри пикрил. Не могу понять как покрасивее связать это с FormGroup
Господа. Подскажите, что предпочтительней выбрать: роллап или вебпак? Для сборки реакт-редакс проекта на ПК, где есть Нода и Нпм, но больше ничего нет, никаких cli, и нет интернета. Хочу сделать бойлерплейт, который можно скопировать как обычную папку и он работал бы
Господа- вот вам идея для расширения грязной обезьяне наверное: на мылооблаке нельзя скачивать более 4гб поэтому я хочу качать хотя бы большими part'ами идеально чтобы можно было регулировать максимальный размер Т.е. я хочу получать список кусков всей папки по мановению волшебной кнопки
>>1108498 (OP) Начал учить js на learn.javascript.ru и там в уроке про события пишут мол про назначения событий через свойство: "Фундаментальный недостаток описанных выше способов назначения обработчика – невозможность повесить несколько обработчиков на одно событие." И в качестве примера приводят вот этот код: input.onclick = function() { alert(1); } // ... input.onclick = function() { alert(2); } // заменит предыдущий обработчик Мол один обработчик затрёт другой и бла бла бла. Но тут даже мне дибилу сразу ясно было что он его тупо перезапишет, это понятно. Далее пишут, что надо юзать addEventListener для таких случаев. И тут у меня возник вопрос: а разве я не могу написать просто в одной функции 2 алерта? Ну я открыл значит свой божественный sublime text 3 с ахуенной тёмной Material Theme, включил полноэкранный режим, чтобы не было видно всратого меню виндовса 2000-х годов и написал что-то в роде: document.body.onclick = function (e){ alert(1); alert(2); } Собственно, стартанул это всё галпом, закреплённая вкладочка с BrowserSync, специально созданная для таких тестов обновилась, я жмякнул по body и увидел 2 алерта. Тут у меня возник вопрос: нет, я конечно понимаю, что я даун (но ведь я новичок хули вы хотели то), но в каких случаях пригодится вот этот вот СлушательСобытий вместо написания просто в одной функции всех действий, которые мне нужны?
1) Разделение кода для читаемости/тестирования, в мало-мальских больших проектах иначе никак.
2) Подключаешь ты такой кучу разных жиквери-плагинов-хуягинов и прочих виджетов, и каждому надо, например, ловить click на том же body и делать что-то своё. Но он не может взять, и добавить в тело уже кем-то поставленной в body.onclick функции свой код хотя можно взять и обернуть, наверное, но это уже из области ебы. Вот он и вешает свою функцию с помощью addEventListener.
А про .onclick, .onscroll и прочее прямо на элементе - лучше забудь навсегда. Это такой же моветон, как и использование инлайн-обработчиков типа <a onclick=""></a>
>>1121076 но в каких случаях пригодится вот этот вот СлушательСобытий вместо написания просто в одной функции всех действий, которые мне нужны?
Да, как тут правильно сказали, если ты повесил через .onscroll, например, на боди что-то, а потом кто-то тоже хочет прицепиться к скроллу боди - то ему нужно писать через аддевентлистенер, и наоборот. Чтобы избегать проблем, лучше сразу писать как надо. Ограничивать себя в гибкости ради экономии пяти символов - плохая идея.
>просто в одной функции всех действий, которые мне нужны? Как бы так и делается.
1: Function.prototype.defer = function(delay) { let savedThis = this; function wrapper() { setTimeout(savedThis, delay, ...arguments); } return wrapper; };
2: Function.prototype.defer = function(ms) { let f = this; return function(...args) { setTimeout(() => f.apply(this, args), ms); }; };
затем: function f(a, b) { console.log(a + b); }
f.defer(1000)(1, 2);
Мои вопросы: 1. Разница между 1ым и 2ым вариантам в том, что в 1ом задерживается вызов функции f, а во втором проход по телу функции, правильно? 2. Реализации равносильны или в 1ой есть проблемы?
Хочу на tempermonkey + jquery сделать браузерный чатик-приложуху(для одного говночатика верстка которого мне не нравится), шоб там по кнопочке, которую сам встрою вылезал на любой странице, или по определенным урлам(по сути просто обертка над готовым чатиком, просто постингхуестинг, просто геттинг сообщух).
Собсна вопрос, как это блять сделать нормально без tempermokeny, jquery(а лучше бы и без js нахуй, кто-нибудь курил ClojureScript? Как оно?), да и так чтобы делиться с такими же говноедами как я было удобно.
Если вас спросят на собеседовании про то, может ли быть выражение (a == 1 && a == 2 && a == 3) истинным, нужно не только правильно ответить, но и аргументировать свой ответ.
>>1121584 Какие-то хуевые вопросы. Вот честно. Попросили бы лучше решить простенький алгоритм/задачу. Посмотрели бы на умение собирать информацию. Еще бы спросили какой typeof null и что выведется в консоль [] + {}, а теперь {} + []. Пиздец. я бы вас прямо там нахуй послал.
1) Нет. Обе должны отработать идентично (с точки зрения рядового программиста и тем более юзера). Разница в том, что первая реализация setTimeout'ит саму оригинальную функцию (savedThis) на выполнение через delay миллисекунд, а аргументы из обертки прокидывает в оригинальную, используя arguments (который уже legacy и deprecated, если по-хорошему), как третий параметр в setTimeout, в то время как вторая реализация также setTimeout'ит, но! свежесозданную стрелочную функцию, внутри которой вызывается оригинальная (f) в контексте от функции-обертки и аргументами, собранными с помощью rest/gather оператора. Как-то так.
2) Проблем нет ни в одной реализации. Переменные разве что названы не совсем понятно, я бы использовал "origFunc" вместо "savedThis" и "f".
>>1121816 Мой товарищ @zintus ещё несколько лет назад придумал написать сервер на немутабельных структурах данных. Ты посылаешь серверу команду выключиться, а в ответ получаешь новый инстанс сервера, который выключен. По сей день это лучшая шутка про немутабельность из всех, что я слышал.
>>1121816 Мутировать абсолютно нормально, если ты делаешь это максимально прозрачно и к стейту привязываешь новомодные фишки вроде прокси, которые форсируют ре-рендер вьюхи. И это, позвольте заметить, ничуть не хуже в плане производительности, чем чекать два состояния на диффы.
>>1121902 Что удобно, то и юзай. Позже, если додрочишь до мозолей, быть может, будешь задаваться другими вопросами, например, как отменять in-flight запросы.
>>1121953 Как говорит автор сего сниппета: Those are some fun tricks, though the practical utility is somewhat debatable. But then again, one might wonder why ES6 didn't just ship with such a minor but delightful feature easter egg!?
>>1121957 > отменять in-flight запросы Это возможно/имеет смысл? Данные уже ушли, запрос всё равно выполнится. Разве что у тебя какой-то длинный аплоад. Скорее нужно уже просто отвязать хэндлеры. Опять же, стейт на сервере уже изменился, смысл показывать пользователю не то что актуально?
>>1121971 Такое возможно лишь с помощью "The Abort API" для fetch'а, который только в Лиске есть, да в Едже, и то в недавних релизах лишь. Причем тут тогда "додрочишь до мозолей"?
>>1121980 Додрочишь в том плане, что новичку такие вопросы в голову обычно не лезут, а для простых асинхронных запросов к серверу совершенно безразлично что использовать, хоть в связке с Реактом, что без него.
>>1121971 не знаю что такое in-flight запросы, но очень боюсь слишком говено говнокодить :[ что вообще нужно знать, чтобы быть полезным хоть кому-нибудь за бесплатно?
>>1122006 Задание-то само не судьба написать, чтобы не приходилось по коду его выяснять? И да, пидарас таки умный, решение охуенное у него. И нет, шансы есть у тебя, я думаю.
>>1122006 Недавно что-то такое читал. Многие верят что существуют единицы гениальных людей и серая масса остальных. На деле же все эти гениальные, кого мы знаем, просто перелопатили тонны существующих работ. То есть без массивных работ неизвестной серой массы не было бы знаменитых открытий.
Резюмируя: не переоценивай свой мозг, ты всё равно на 99,9999999999% знаешь только то, что начитал/услышал от других людей.
>>1122026 Предрасположенность к "гениальности" в том смысле, котором мы воспринимаем данное понятие, во многом определяется уровнем гормонов в организме будущего гения и генетически заложенными когнитивными способностями. Все остальное можно улучшать в определенных пределах, позволяя лишь немного возвыситься в интеллектуальном плане над уровнем серой массы.
>>1122083 eq нулевой. iq от 90 до 140. Ниже 90 программирование не заходит. Выше 140 знают намного больше и не посвящают себя программированию на 100%. Чуть выше среднего короче.
>>1122083 Ну я проходил. На разных ресурсах от 125 при первом прохождении и при всех последующих идет рост, вплоть до 142+. На самом деле некоторые мозги там иметь нужно, но почти все тесты показывают способность находить какие-либо закономерности из 8 картинок и выбрать девятую. Этому можно обучиться. Поэтому, имхо решает именно первый тест.
>>1122086 В случае JS'а, чтобы писать интерфейсы несложные и верстать не нужно больше 85 IQ. Если конечно не делать божественные адаптивные интерфейсы со сложными состояниями и анимациями. Да и то это придет к тебе просто с опытом.
>>1122089 >>1122091 Еще бы IQ хорошо коррелировал с финансовым состоянием его обладателя - было бы замечательно. На самом деле я бы свапнулл двадцаточку IQ на социализацию и нормальный work-life balance, возможно стал бы более счастливым человеком.
>>1122093 Попытка распределить статистику по какому-то абстрактному уменюю выбирать картинки? Почему ты спрашиваешь меня? Спроси создателей этих тестов. По сути они нигде официально не нужны. Есть профильные предметы, в нашем случае Computer Science. Вот с него и спрашивают и именно знание Математики и CS отличает макаку от программиста.
Нахуй вообще нужен create-react-app. откуда там 40к звезд, что за говно ненастраиваемое. Хуй пойми как шрифты font-awesome приделать, дохуя чего попробовал в инете инфы ноль, я хуею.
>>1122169 сука тут установить, там заимпортить, там заимпортить, тут директорию поменять, тут из нод-пакажес скопировать, там скрипты поменять, нихуя не работает, сделать эжект, сломать все нахуй, это блять уже не код, это да пошли они все нахуй.
>>1122150 Где материалы качественные брать то? Если по математике ещё можно найти, то для CS не понятно где их брать. Если таковые имеются, то прошу поделиться.
>>1122180 У меня сейчас второй день и стадия отрицания. >>1122184 курсы mit и проч, по отдельным темам типа алгоритмов годноту найти элементарно, даже в шапке нуб-треда ее дохуя
Анон, я открыл для себя Cordova и захотел написать себе простую игру для смартфона. Как там отрисовать на экране контролы типа кнопок или джойстика? В гугле предлагают поставить еще пакетов или уйти от сабжа.
>>1120625 Для создания релейшенов (не наследование блять) тебе нужно организовать геттер для модели отношение к которой ты будешь искать (в зависимости от ORM и бекенда которым ты пользуешься). На пике вариант с sequalize. Там геттер прописали уже за тебя. Потом в GraphQL схеме пишешь что-то вроде Query { ... blabla comments: [Comment], что тебе придет массив с нужными описанными типами. Тип Comment у тебя уже должен быть описан
>>1122278 Даже если он огромный,он не покрывает всех конфигураций вебпака. В ищусах был парень с проблемами как у меня, ну и его разработчик послал и закрыл темку, грит ну а чо нам все случаи покрыть надо, и вообще проблема вебпака а не наша
>>1122348 >все уже на vue ? На словах хайпят - в вакансиях один реакт. Реакт к вью 90:10 примерно. >гриды завезли ? А их куда-то увозили. https://caniuse.com/#search=grid хочешь - используй. Для покрытия 95% пользователей пока флексы, около 75% гриды. > что актуально? Знания ваниллы. +React + Node.js/Rest || GraphQl + Мозги
>>1122567 то есть когда я ищу заголовок Свойство F.prototype ищется также Свойство F.prototype и создание объектов через new в xpath есть какой нибудь //*[containsexact(text(), 'blabla')] ?
Этот тред посвящён уже нахуй никому не нужному языку прошлого - JavaScript, который через пару лет будет похоронен WebAssembly. Благодаря своей кажущейся дебилам простоте, веб-макаки затащили его уже и на сервера, и в мобильные приложения, и на десктопы, и ещё хуй знает куда, что привело к экспоненциальному росту количества написанного говнокода. Благо синтаксис позволяет легко писать на нём говнокод любой степени ущербности, а производительность позволяет писать на нём даже анимашки для лендингов и интернет-магазинов. Впрочем, для уменьшения потока говнокода от веб-макак каждый день выпускается по 100500 JS-фреймворков, благодаря чему веб-макаки теперь в основном тратят своё время на чтение доков по этим фреймворкам, а не на написание говнокода.
JavaScript по праву является самым популярным в мире языком: ведь дебилов среди людей - абсолютное большинство. На каждом сайте пока ещё есть браузерный JavaScript, а от JavaScript на сервере все постепенно отказываются.
Часто задаваемые вопросы:
https://github.com/vladimir37/js-thread/blob/master/Wiki/faq.md
Список материалов для изучения:
https://github.com/vladimir37/js-thread/blob/master/Wiki/learn.md
Список инструментов и направления JS-разработки:
https://github.com/vladimir37/js-thread/blob/master/Wiki/tools.md
Инструмент для визуализации и экспериментов со связями между объектами в JavaScript:
http://www.objectplayground.com/
Конфа /pr/ в Slack:
https://slack-2chpr.herokuapp.com/
JS-конфа в телеграме:
https://telegram.me/jsthread
НЕ КОПИРУЙТЕ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.