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

Этого треда уже нет.
Это копия, сохраненная 25 февраля 2018 года.

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

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

JavaScript #93 16 дек, 21:52 1108498 В конец треда | Веб

9 Кб, 1052x105234 Кб, 500x375

Ссылка на прошлый тред: >>1099555 (OP)

Этот тред посвящён уже нахуй никому не нужному языку прошлого - 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/ для серверного кода.

Ответы08562092960938009778116401929119339210762175323038

16 дек, 23:11 2 1108562

>>1108498 (OP)
>через пару лет будет похоронен WebAssembly

Неужели все так плохо?

Ответы08574

72 Кб, 940x819
16 дек, 23:16 3 1108569

У меня есть воспрос. Вот чувак объясняет прием "делегирование" пикрилейтед. В конце он создает новый объект с помощью new, но никуда его не сохраняет, в смысле ни в какую переменную. Как получить после этого доступ к объекту, удалить или изменить?

Ответы085960861208645

16 дек, 23:30 4 1108574

>>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."

Чем это угрожает джиэсу? Скорее уж дополняет его, не?

Ответы0857508581

56 Кб, 725x546
16 дек, 23:32 5 1108575

>>1108574
Алсо 2, вот:

Так что ОП похож на пиздабола.

Ответы08581

16 дек, 23:49 6 1108581

>>1108574
>>1108575
https://github.com/WebAssembly/gc/blob/master/proposals/gc/Overview.md
Efficient interoperability with embedder heap
for example, DOM objects on the web

Вот запилят прямой доступ к DOM и всяким Web API из WebAssembly и джиэсу кирдык. Ибо можно будет кресты и многое другое компилять в WebAssembly и работать с DOM/Web API напрямую, минуя джиэс.
Что касается Goals, то они же не могут прямо так сразу написать: "Нас заебал кривой и тормознутый джиэс, и поэтому мы его скоро похороним."

Ответы08584085870859108616

16 дек, 23:54 7 1108584

>>1108581
Сколько лет пройдет пока не наступит пздц? Я вот только учу джиэс.

Ответы0858813120

17 дек, 00:03 8 1108587

>>1108581
И ещё.
https://github.com/flagxor/spec/blob/jsdom/proposals/jsdom/Overview.md

Ответы08593

17 дек, 00:03 9 1108588

>>1108584
Планомерно, как всегда наступал.
Три-четыре года — и клиентская часть полностью меняется.
А что делать, потребляди сэр.

Ответы08593

38 Кб, 604x475
17 дек, 00:07 10 1108591

>>1108581
>кресты во фронтенде

Ответы0859808604

17 дек, 00:08 11 1108593

>>1108588
>>1108587
Эээ... Там ничего не отрицает джс. наоборот, он должен работать быстрее. Короче, не вижу повода волноваться, я спокоен.

Ответы08604

17 дек, 00:09 12 1108596

>>1108569
Помогите плиз.

Ответы085970859908607

17 дек, 00:10 13 1108597

>>1108596
Забей, жсу пиздец

Ответы08600

17 дек, 00:12 14 1108598

>>1108591
чет лолирую тожэ)))

17 дек, 00:13 15 1108599

>>1108596
переписывай на кресты

Ответы08602

17 дек, 00:14 16 1108600

>>1108597
Нахуй иди.

Ответы08601

17 дек, 00:15 17 1108601

>>1108600
Да нахуй иди.

17 дек, 00:17 18 1108602

>>1108599

На каком из трех фреймворков переписывать предлагаешь: кресты он реакт, крестунгуляр 4.0, или джикрест?

Ответы08632

17 дек, 00:23 19 1108604

>>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, скорее всего, запилят, и в джиэс его уже давно можно перегонять.

>>1108591
Кресты не нужны.

Ответы0860808654

17 дек, 00:32 20 1108607

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

Ответы08609

17 дек, 00:32 21 1108608

>>1108604
Так есть смысл сейчас хорошо задрачивать жс, если ему все равно пиздец через 3-4 года? Или как всегда сначала в сша произойдет, а до пидорашкинских контор хуй когда еще докатиться?

Ответы08618

17 дек, 00:34 22 1108609

>>1108607
Так делают для надежности? Чтоб случайно другими действиями не сломать?

Ответы08630

17 дек, 00:42 23 1108612

>>1108569
И еще вопрос: почему объект не ичез после создания, он же должен быть доступен из корня, так? Но мы не можем никак к нему обратиться, вы говорите? Единственное, что к нему обращается, это "онклик" родительского контейнера. Это и удерживает его "живым"?

Ответы08630

17 дек, 01:07 24 1108616

>>1108581
>Ибо можно будет кресты и многое другое компилять в WebAssembly
И нахуя использовать гротескный и уёбищный инструмент типа крестов вместо JS? Плюс, сначала нужно будет, чтоб кто-то написал годный компилятор, потом чтоб кто-то перенес всю существующую инфраструктуру под веб-разработку. В общем хуйня.

Ответы08624

17 дек, 01:11 25 1108618

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

Ответы08845

17 дек, 01:20 26 1108624

>>1108616
>И нахуя использовать гротескный и уёбищный инструмент типа крестов вместо JS?
Перегон крестов (прежде всех остальных языков) в WebAssembly реализовывают потому, что на крестах написана хуева туча либ, которые сейчас внезапно стало возможно использовать в вебе at near-native speed. А сами по себе кресты в вебе нахуй не нужны, да.

17 дек, 01:51 27 1108630

>>1108609
>Так делают для надежности? Чтоб случайно другими действиями не сломать?
Да.

>>1108612
>почему объект не ичез после создания
Ты сам себе ответил: onclick может обращаться к этому объекту через self:
self[action]()
Хотя это и говнокод.
>он же должен быть доступен из корня
Нет. Он там остаётся доступен только из замыкания Menu() через self.

Ответы08631

17 дек, 01:55 28 1108631

>>1108630
>Хотя это и говнокод.

А как бы ты сделал?

Ответы09240

1,8 Мб, 1280x800
17 дек, 01:56 29 1108632

>>1108602
>предлагаешь
отбросить эту бесовщину, и написать на единственно верных, православных крестах! 1С

7 Кб, 579x206
17 дек, 02:28 30 1108642

Какой же я дегенерат, пиздец просто.

17 дек, 02:44 31 1108645

>>1108569
Menu.prototype.save = function(){}

Ответы086471824418245

17 дек, 02:54 32 1108647

>>1108645
Точно, я забыл. Спасибо!

17 дек, 03:07 33 1108654

>>1108604
>перегон Kotlin в WebAssembly, скорее всего, запилят
Запилили уже
https://blog.jetbrains.com/kotlin/2017/11/kotlinnative-v0-4-released-objective-c-interop-webassembly-and-more/

Ответы08668

17 дек, 04:03 34 1108668

>>1108654
а котлин довольно няшный, чому кресты так же как яву не могут подтянуть?

17 дек, 04:05 35 1108669

>fun main(args: Array<String>) {
>println("Hello, world!")
>}
сходу можно подумать что это просто какой нибудь тайпскрипт, а не злоебучая гадкокодая жаба

9 Кб, 458x294
17 дек, 04:28 36 1108674

Как заставить скрипт исполнять что-нибудь по нажатию "Да" в окне ошибки?

Ответы08676

17 дек, 04:37 37 1108676

>>1108674

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

Ответы08682

17 дек, 04:48 38 1108682

>>1108676
А всё-таки? Я дописал скрипт, чтобы он мог работать после ошибки, нужно только убрать это сообщение. В конце концов для отладки.

Ответы08687

17 дек, 04:58 39 1108687

>>1108682
Открой для себя try/catch/finally.

17 дек, 17:50 40 1108845

>>1108618
У нас уже была одна низкоуровневая виртуальная машина параллельно с ЖС. Хайпёнок, ты сейчас агитируешь за то, что Жава-апплеты вытеснят уебанский ЖС, надо учить Жаву.
Во-первых, ВАСМ-машина будет запускаться поверх виртуальной машины ЖС.
Во-вторых, Веб так и останется событийно-ориентированным. Ты будешь импортировать кем-то заботливо написанный какой-нибудь фейс-реконгнишн.васм и абстрактно использовать его результат в своём копросценарии.
В-третьих, вместо миллионов макак-сценаристов не появятся внезапно миллионы макак-байтоёбов, которые будут делать высокоэффективные низкоуровневые лендосы и магазы за дошик. Рыночку это не надо. У нас тут Жиквери-, а теперь и Реакт-интеграторы массив отсортировать не могут, а завтра они вдруг будут низкоуровневым состоянием управлять.

Ответы09540

17 дек, 18:35 41 1108868

Ребят помогите разобраться в этом коде. Я в курсе что ни к селу ни к городу, но хочу понять этот js код. Хотелось бы разъяснения к коду или хотя бы для чего в этом коде event, event.target, event.which и classList.contains("item"). Js учусь приемущественно по схеме проблема -> решение поэтому большие пробелы. Оскорбления присылать сюда

http://natribu.org/

Заранее спасибо

<!DOCTYPE html>

<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script>
window.addEventListener("DOMContentLoaded", function() {
var form = document.querySelector("form");
function getChar(event) {
if (event.which == null) {
if (event.keyCode < 32) return null;
return String.fromCharCode(event.keyCode)
}
if (event.which != 0 && event.charCode != 0) {
if (event.which < 32) return null;
return String.fromCharCode(event.which)
}
return null
}
form.addEventListener("keypress", function(event) {
var el = event.target;
if (el.classList && el.classList.contains("item")) {
var chr = getChar(event);
chr !== null && chr >= '0' && chr <= '9' || event.preventDefault()
}
})
});
</script>
</head>

<body>
<form action="http://">
<input type="text" class="item">
<input type="text" class="item">
<input type="text" class="item">
</form>

</body>
</html>

17 дек, 18:35 41 1108868

Ребят помогите разобраться в этом коде. Я в курсе что ни к селу ни к городу, но хочу понять этот js код. Хотелось бы разъяснения к коду или хотя бы для чего в этом коде event, event.target, event.which и classList.contains("item"). Js учусь приемущественно по схеме проблема -> решение поэтому большие пробелы. Оскорбления присылать сюда

http://natribu.org/

Заранее спасибо

<!DOCTYPE html>

<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script>
window.addEventListener("DOMContentLoaded", function() {
var form = document.querySelector("form");
function getChar(event) {
if (event.which == null) {
if (event.keyCode < 32) return null;
return String.fromCharCode(event.keyCode)
}
if (event.which != 0 && event.charCode != 0) {
if (event.which < 32) return null;
return String.fromCharCode(event.which)
}
return null
}
form.addEventListener("keypress", function(event) {
var el = event.target;
if (el.classList && el.classList.contains("item")) {
var chr = getChar(event);
chr !== null && chr >= '0' && chr <= '9' || event.preventDefault()
}
})
});
</script>
</head>

<body>
<form action="http://">
<input type="text" class="item">
<input type="text" class="item">
<input type="text" class="item">
</form>

</body>
</html>

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

17 дек, 19:06 42 1108880

>>1108868
>Оскорбления присылать сюда
Вопросы присылать сюда

https://www.google.ru

Заранее пошёл на хуй
https://developer.mozilla.org/ru/docs/Web/API/Event

Ответы0889108964

17 дек, 19:28 43 1108891

>>1108880
Ну я же просил посылы нахуй присылать сюда
http://natribu.org/
Я просил объяснить event.which (на сайте нет), classList.contains("item") (как ни странно тоже нет) и рассказать как это работает. К стати сударь, благодарю за подробное объяснение. Ага

Ответы08920

17 дек, 20:17 44 1108920

>>1108891
Охуевший наглый ебасос разбить бы тебе его

Ответы08964

17 дек, 20:18 45 1108922

ПАМАХИТЕ РЕАКТ УБИЛ ЖИКВЕРИ

Ответы17365

17 дек, 21:45 46 1108964

>>1108920
Абсолютно согласен этому нечестивому гражданину
>>1108880
Следует повредить кожу лица.

18 дек, 00:15 47 1109013

Че делать если не могу в сборку flow/ts > babel/module > webpack ? Доки читал, доки идут нахуй. Банольное гугление не помогает. реквестирую проверенные гайды, видео, каналы на ютубе

Ответы09043

18 дек, 01:38 48 1109028

Как мне вкатиться в ебучую удаленку, хоть куда-нибудь, заебало. Какое портфолио надо иметь?

Ответы09048

18 дек, 02:24 49 1109043

>>1109013
Ну проще всего typescript - webpack, сразу все в одном. Можешь разобраться для начала в этом. А там если захочешь, можешь добавить сотню бабелей.

Ответы09046

18 дек, 02:33 50 1109046

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

18 дек, 02:36 51 1109047

Что используете для сохранения стейта ридакса? redux-persist переписали да не очень (старая версия мне не подходит), redux-storage какая-то мертвая хуйня, а больше нихуя и нет. Вот это еще интересно выглядит - http://engineering.invisionapp.com/post/persist-redux-state-by-using-sagas/

18 дек, 02:39 52 1109048

>>1109028
https://www.reddit.com/r/webdev/comments/7k8jn2/how_good_do_you_need_to_be_to_get_a_job_as_a/

Ответы09050

18 дек, 02:46 53 1109050

>>1109048
А если нет ворк хистори блядь.

Ответы09052

18 дек, 02:57 54 1109052

>>1109050
Флоу с бабелем собирал вебпаком?

Ответы09053

18 дек, 03:03 55 1109053

>>1109052
Нет. Не думаю, что там что-то сложное и нельзя нагуглить инфу.

Ответы09054

18 дек, 03:07 56 1109054

>>1109053
У меня не получилось
Теперь скажи почему сложно нагуглить инфу с требованиями к удаленным вакансиям?

Ответы09061

18 дек, 03:11 57 1109056

developer.mozilla.org – Годнота или хуйня?
Много англоязычных статей не переведенных, и которые скорее всего не будут переведены.
Материал излагается кратко и сухо.

Ответы09058

18 дек, 03:19 58 1109058

>>1109056
Главный сайт по ЖС и один из главных для ВЕБа, нравится ли тебе изложение решай сам. Вся прелесть что все в одном месте. Полнее только спецификации

Ответы0905909104

18 дек, 03:22 59 1109059

>>1109058
>Главный сайт по ЖС и один из главных для ВЕБа, нравится ли тебе изложение решай сам.
Хм, я и не знал что он главный, но я многого не знаю, потому что ньюфаг обоссаный.
Вообще, мне нравится изложение. Если читать даже на английском, хоть и придется потратить на 25 проценов больше времени, тем не менее все будет относительно ясно.

>Полнее только спецификации
А где их читать? В официальных описаниях свежих версий?

Ответы09067

18 дек, 03:25 60 1109061

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

18 дек, 04:09 61 1109067

>>1109059
https://www.ecma-international.org/publications/standards/Ecma-262.htm

18 дек, 05:10 62 1109075

Стоит ли на hexlet.io брать платные курсы по js?

Ответы09100

11,1 Мб, webm,
640x360, 0:45
18 дек, 08:12 63 1109100

>>1109075
Двачую вопрос. Может быть лучше выбрать бесплатные Udacity или Freecodecamp?

18 дек, 08:50 64 1109104

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

18 дек, 14:50 65 1109190

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

Алсо, еще 15% занимает "Gecko", и если развернуть эту энтри, то там есть мои функции, но на всех них стоит уже по 0%. Это у лисы профайлер кривой или что что-то делаю не так?

Ответы09210

18 дек, 15:29 66 1109210

>>1109190
Попробуй поглядеть в хроме

18 дек, 15:30 67 1109211

Все выходные делал тестовое на реакте, чтобы услышать, что я "не настоящий JS-dev".

Ответы0923909257

18 дек, 15:31 68 1109212

Сказали, что оказывается реакт используется не для того, чтобы переиспользовать компоненты.
По ходу они просто дауны. Ну еще искать сеньора с опытом от 3 до 6 лет за 80-150к.
делавший тестовое на реакте

Ответы09215

18 дек, 15:33 69 1109215

>>1109212
Реактовые компоненты хуевенько переиспользуются как бы, да. Если бы ты был сеньором, то нутыпонел. И вообще, реюзабельные компоненты - это вебкомпонентс, а реакт про другое.

Ответы09238

18 дек, 16:25 70 1109238

>>1109215
Был бы я сеньором - не пошёл бы за копейки в васянскмй стартап. Про пере использование компонентов в реактор мне тимлид сказал (уж он точно сеньор). Если не для этого то для чего используется реакт? Структуирование?

Ответы09287

18 дек, 16:28 71 1109239

>>1109211
Че за задание?

18 дек, 16:30 72 1109240

>>1108631
Анончик, мне все еще интересно. Покажи НЕ говнокод плиз, я ж научиться хочу.

193 Кб, 590x694
18 дек, 17:03 73 1109257

>>1109211
>тестовое на реакте

118 Кб, 640x640
18 дек, 19:12 74 1109287

>>1109238
> Все выходные делал тестовое на реакте, чтобы услышать, что я "не настоящий JS-dev".
>По ходу они просто дауны.

>для чего используется реакт?

Ответы09533

18 дек, 19:45 75 1109296

>>1108498 (OP)
Поясните неофиту, почему это работает? Я не могу понять логику, зачем объявлять переменную add5 и вешать на нее вызов функции? Почему просто не вызвать сразу с двумя аргументами, почему это так? А если у дочерней функции еще одна дочерняя, то нужно объявлять еще одну переменную ?

>function makeAdder(x) {
return function(y) {
return x + y;
};
};

var add5 = makeAdder(5);
var add10 = makeAdder(10);

console.log(add5(2)); // 7
console.log(add10(2)); // 12

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures

Ответы0931109326

18 дек, 20:42 76 1109311

>>1109296
Потому что нужно "замкнуть" скоуп. Не выебуйся и читай на русском. В ФАКе где-то есть ссылка на ресурс где дают хорошее понимание скоупов, замыканий

18 дек, 21:17 77 1109326

>>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 это фабрика функций, которая создает функции с произвольным первым аргументом.

18 дек, 21:52 78 1109334

Какая же у меня жопная боль от телеграмм конфы со всеми этими успешными жс кодерами.

18 дек, 22:57 79 1109359

Вечер добрый. Я новичёк в js и html и мне нужна помощь с заданием. Буду благодарен за любой совет.
Задача такова:
В пустом html файле (не используя никаких тегов в body), с помощью скрипта вывести таблицу 3х3 с буквами внутри. Я могу сделать таблицу в body, но не понимаю, как вставить её в скрипт, и вывести на экран. Кто нибудь может объяснить или дать направление?

Ответы0936109366

18 дек, 23:01 80 1109361

>>1109359
https://developer.mozilla.org/ru/docs/Web/API/Element/innerHTML

Ответы09364

18 дек, 23:07 81 1109364

>>1109361
Спасибо. Пошёл читать.

18 дек, 23:09 82 1109366

>>1109359
Подключив скрипт к странице из JS ты можешь управлять элементами на странице:
developer.mozilla.org/ru/docs/DOM

18 дек, 23:25 83 1109380

>>1108498 (OP)
анончики, какой фреймворк лучше выбрать для дальнейшего углубления. Angular / React / Vue ?

Ответы09782

18 дек, 23:41 84 1109390

Я тот чел, который просил помощи про таблицу 3х3. Я смог вывести с помощью document.crыeateElement("") текст на окно html. Но не понимаю как вставить туда таблицу. Через что её выразить?

Ответы09498

18 дек, 23:55 85 1109394

Скриптаны, есть довольной большой опыт в программировании и в работе с языками. Не вижу смысла я мусолить ресурсы/учебники с кучей воды для меня. Нужен ресурс или учебник, который максимально коротко, желательно с новым стандартом расскажет про язык. После чего можно было сразу вкатится в дум и фреймворки.

Ответы09414

19 дек, 01:11 86 1109414

>>1109394
очевидно, metanit.com

Ответы09434

19 дек, 02:33 87 1109434

>>1109414
Спасибо! Глянул, вроде оно.

19 дек, 09:59 88 1109498

>>1109390
https://stackoverflow.com/questions/14643617/create-table-using-javascript

19 дек, 11:54 89 1109533

>>1109287
Так для чего используется реакт Мань если не для переиспользования компонентов и не для триггера он чейндж евентов. Ты по ходу сам выебывающаяся школота, которая не понимает се несёт но лезет вставить свои 5 копеек.

19 дек, 12:14 90 1109540

>>1108845
>Жиквери-, а теперь и Реакт-интеграторы массив отсортировать не могут
но ТЫ то можешь!!
так чтож мы спокойны за ай-ти, есть еще в нем светлые головы!11

Ответы09591

19 дек, 15:38 91 1109591

>>1109540
У тебя всё получится.
https://www.youtube.com/watch?v=ywWBy6J5gz8

32 Кб, 789x646
19 дек, 17:25 92 1109639

Пожалуйста, объясните че тут за НАХУЙ ПРОИСХОДИТ.

Я знаю что такое call, это в случае с poet.call(vladimir); как будто внутри vladimir вызывается poet(), и this внутри поэта ссылается на Владимира.

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

Ответы09651096980974209993

19 дек, 17:55 93 1109651

>>1109639
Я пока сам поклацал ,что успел подумать, так это вот:

Мы с помощью той функции, которую вызываем, модифицируем тот объект, в котором её вызываем.

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

Если просто вне всяких объектов создать переменные, а потом сделать функцию которая говорит

this.переменная_с_именем_как_у_переменной_в_объекте_снаружи = че-то_там;

то глобальные переменные с таким же именем перезапишутся, потому что глобальный объект - это тоже объект, и this будет на него ссылаться без всяких call. Таким образом, могут перезаписаться глобальные переменные или даже создаться новые.

Да?

19 дек, 20:07 94 1109672

25 Кб, 481x51225 Кб, 405x535

объясните пожалуйста ,почему первая работает,а вторая нет? По моему они совершенно одинаковые. ХЗ вообще

Ответы09858

19 дек, 21:37 95 1109693

ребзя, на сколько в среднем поднимают зп после исытательного срока js-кодерам?

Ответы0969709701

19 дек, 21:59 96 1109697

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

19 дек, 21:59 97 1109698

>>1109639
Я хз почему такой результат, ведь мы передает контекс (this) vladimir в poet, почему что-то должно измениться у владимира я хз.
Откуда этот код?

Ответы09700

19 дек, 22:02 98 1109700

>>1109698
Вот с этой статьи:
https://habrahabr.ru/post/48542/

19 дек, 22:07 99 1109701

>>1109693
Я вот гуглил, полным нуба джунам в вебе платят в Украине г.Днепр 200 долларов поначалу, а если язык типа C и ему подобные и это настоящая разработка программ под десктоп, то спокойно 400 баксов т.е. вдвое больше, а в Киеве еще больше и для тех и для тех.

Ответы09704

19 дек, 22:12 100 1109704

>>1109701
и сколько этот промежуток "поначалу" длится, не подскажешь?
я не прошу конкретных цифр, так чисто навскидку

Ответы09707

19 дек, 22:19 101 1109707

>>1109704
Нет, не подскажу точно. Я не работаю.

19 дек, 23:47 102 1109742

>>1109639
ахахахаха тупой петуч

Ответы09758

20 дек, 00:11 103 1109758

>>1109742
Тупой истерик.

20 дек, 01:06 104 1109778

>>1108498 (OP)
Расскажите, пожалуйста, как пользоваться rollup для сборки.
Во всех проектах раньше использовал исключительно composer c npm-asset плагином. То есть просто добавлял нужную мне либу в зависимости в composer.json и получал на выходе няшный minified файл нужной мне либы. Но вот понадобилось использоваться в проекте https://github.com/Turfjs/turf
И с ним так не получается. Вся библиотека имеет модульную структуру, а мне на выходе нужно объединить все эти модули в один файл. Сами они, среди прочего, предлагают подключать minified файл через cdn, но мне бы этого не хотелось, так как все остальные либы обновляются простым composer update и после не требуют интернета для работы, а проект должен работать и без доступа к интернету.
Рекомендуют использовать этот ваш новомодный rollup, но я так и не разобрался, как заставить его собрать все эти модули (те, что в каталоге packages) в один файл.
Спасибо.

Ответы09818

20 дек, 01:15 105 1109782

>>1109380
На котором вакансий больше.

20 дек, 07:09 106 1109818

>>1109778
Не знаком с Композером, но НПМ бы подтягивал и минифицированную версию с обновлениями.

Делается она в https://github.com/Turfjs/turf/blob/master/packages/turf/rollup.config.js
та часть, которая
output: [
{file: pckg.browser

Ответы10346

20 дек, 10:08 107 1109858

>>1109672
>По моему они совершенно одинаковые.
Нет. Стартовое значение j другое.

Ответы09859

20 дек, 10:21 108 1109859

>>1109858
спасибо анон большое!

20 дек, 13:55 109 1109959

Кто чего думает про этот план? https://proglib.io/p/learning-modern-javascript/
Может есть какие-то более авторитетные рекомендации по первому фрейморку?

Ответы09995100121001910026

20 дек, 15:15 110 1109993

>>1109639
Прокомментируйте вот это, пожалуйста.

20 дек, 15:21 111 1109995

>>1109959
>Учить язык не надо!
>Учить надо очередной фреймворк
Проиграл

20 дек, 16:10 112 1110012

>>1109959
Жиквери нинужно ррряяя,
Учи реакт ррряяя.
Обосрался с такого вкатывальщика.
Вообще жс как стартовый язык это очень плохо, учит тебя говнокодить.
А если ты уже понимаешь как программировать, то смотришь на современный жс и охуеваешь с того зачем столько говна на фронт тянут. Причём ладно бы данных много, нет, эти ушлые дошли до того, что пишут код, который заранее на сервере компилируется, настолько они свою дилду переусложнили.

Ответы10023

20 дек, 16:23 113 1110019

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

20 дек, 16:26 114 1110023

>>1110012
>Жиквери нинужно
но ведь это так, так же как лес и сас устаревшее нинужное говно

какой то ты ретроград ебаный, да еще все вокруг дураки, а ты самый вумный, вот поижай в калифорнии, покажи бородатым пидорам с наклеичкими как нада, а то ишь епта

Ответы1003110854

20 дек, 16:26 115 1110026

>>1109959
Так падажди ка, то есть чтобы написать таблицу, которая бы просто данные с сервера подцепляла мне надо 33 технологии? Вы ебанулись?
Vue основан на html шаблонах? Опять смешиваете логику и интерфейс?

20 дек, 16:35 116 1110031

>>1110023
Они деньги инвесторов отмывают, технологии придумывая. Всё равно все сводится к "получи данные-выведи в хтмльку". И проблема не в том что "ты просто не понимаешь всё новое", а в том что эти мощнейшие инструменты используют для всего подряд. Термин даже есть такой "золотой молоток". А потом оказывается, что какой то фичи в любимой хуйне нет и они её суют внутрь.
Индусы до сих пор на опенкарте магазины ебашат и бизнес доволен. Кип ит симпл. 90% успеха сайта это дизайн. Если он уебищно спроектирован, никакие реакты и ангуляры не помогут.

Ответы1003710040

20 дек, 16:39 117 1110037

>>1110031
>90% успеха сайта это дизайн. Если он уебищно спроектирован, никакие реакты и ангуляры не помогут.
зис

20 дек, 16:44 118 1110040

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

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

Ответы10093

20 дек, 17:04 119 1110055

Кто-нибудь может вкинуть ютьюб канал, где подобие борды пишут. Вроде кто-то с сосаки каналом занимается.

Ответы10104

20 дек, 18:01 120 1110093

>>1110040
Эпл любят потому что там всё работает быстро и из коробки, а не потому что дизайн красивый. Как только перестанет работать быстро и из коробки, Эпл разлубят.

Если парень имел в виду дизайн в смысле "дизайн это когда работает быстро и из коробки", то всё верно, если парень имел в виду "дизайн это охуенные ассеты и шрифты", то это не правда.

Ответы10272

20 дек, 18:42 121 1110104

>>1110055
>Кто-нибудь может вкинуть ютьюб канал, где подобие борды пишут. Вроде кто-то с сосаки каналом занимается.
Хули её писать то блять. Посмотри на сосач, набросай брифинг, да пиши епта. Поставь вакабу, админку посмотри

Ответы10110

20 дек, 18:56 122 1110110

>>1110104
Да ебаный твой рот. Мне канал нужен а не борду написать.

Ответы10133

20 дек, 19:38 123 1110133

>>1110110
Джилио что ли нужен?

Ответы10143

274 Кб, 818x1024
20 дек, 19:58 124 1110140

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

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

Ответы10164

20 дек, 20:09 125 1110143

>>1110133
Да. Большое спасибо!

20 дек, 20:36 126 1110164

>>1110140
> meteor.js
Он вообще в рунете хоть как-то засветился?

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

195 Кб, webm,
640x360, 0:04
20 дек, 23:12 127 1110214

Сукпиздц, мать говорит, мол если сорт оф интернет магазин не напишу, борща мне больше не нальет! Но как ей объяснить что я ФРОНЭНДЕР?

Ответы10217

20 дек, 23:17 128 1110217

>>1110214
Ты, блядь, не борщехлеб, а субститут какой-то, ей б-гу. Ну пиши свой магаз на вротэнде, но для Шопифая или другого BaaS'a, ну.

Ответы10221

20 дек, 23:49 129 1110221

>>1110217
Какие ты слова страшные знаешь.

21 дек, 04:02 130 1110272

>>1110093
>всё работает быстро и из коробки
мань плз, джобса уже давно нет

21 дек, 05:44 131 1110275

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

Ответы1040210462

21 дек, 11:11 132 1110318

Помоги, жаваскриптач.

https://pastebin.com/20FEpnW9

Прикрепил обработчики событий к текстбоксу. При возникновении события необходимо вывести в параграфе ниже имя события.

Через инлайн-функцию работает, но получается избыточность кода.
Через объявление функции не работает.

Как починить?

Ответы1078110898

21 дек, 11:31 133 1110322

https://habrahabr.ru/post/345212/

Ваши оправдания , ЖС питушки.

Ответы1032410325

21 дек, 11:45 134 1110324

>>1110322
Господи, какое же словоблудие.
> Сайты с таким количеством скриптов просто недоступны значительной части пользователей; статистически, пользователи не будут ждать загрузки интерфейса так долго.
Дальше не читал.

174 Кб, 1920x1080
21 дек, 11:48 135 1110325

>>1110322
Какие оправдания? Давно известно что рядовой скот с АДХД не ждёт секунды загрузки сайта и надо укладываться в 200кб страницу максимум.
Никаких фреймворков, сасов, лесов и прочих буткрапов.
Дух старой школы, шаблонов и 50кб страниц жив и будет жить.

Ответы1032810818

21 дек, 11:52 136 1110328

>>1110325
>рядовой скот с АДХД
и нахуй он тебе нужен на сайте?

Ответы10341

21 дек, 12:29 137 1110341

>>1110328
Основная платящая аудитория же.

151 Кб, 955x957
21 дек, 13:23 138 1110346

>>1109818
Спасибо.
Я запустил "rollup -c" с этим конфигом и получил на выходе turf.min.js, но не в том виде, в котором хотел. Это вроде как для nodejs?

Ответы10514

21 дек, 15:18 139 1110402

>>1110275
Бамп

21 дек, 16:59 140 1110462

>>1110275
http://flexboxfroggy.com/

Ответы10495

21 дек, 18:07 141 1110495

>>1110462
Не оно, к сожалению, но тоже спасибо.

21 дек, 19:10 142 1110514

>>1110346
Это UMD
https://www.davidbcalhoun.com/2014/what-is-amd-commonjs-and-umd/

Вроде как ты можешь добавить этот файл на страницу и использовать его, как у Тёрфа в гайде.

Ответы10857

21 дек, 23:16 143 1110682

Хорошая статья, детально описывающая как работают синтетические ивенты в реакте.

https://levelup.gitconnected.com/how-exactly-does-react-handles-events-71e8b5e359f2?ref=reddit

21 дек, 23:30 144 1110691

быстро решительно для чего нужен Реакт?

Ответы10695107751081611642

21 дек, 23:33 145 1110695

>>1110691
Для реактивного программирования.

Ответы1069710816

21 дек, 23:34 146 1110697

>>1110695
на реактивной тяге твоего пукана?

22 дек, 01:34 147 1110729

ребята начал учить яву недавно по 3 месячной стажеровки туплю больше всех
сказали сделать функцию возвращающую слово
в решения не хотел лезть сделал посвоему https://jsfiddle.net/9btujm2e/
сказали переделывать что не так?

Ответы10781

22 дек, 01:34 148 1110730

Как запаузить выполнение скрипта? setTimeout не подходит, потому что у меня цикл, и цикл выполняется, пока идет таймер который сам в цикле, нужно именно остановить выполнение.

Ответы1077211071

22 дек, 04:35 149 1110772

>>1110730
ретерн континью брейк?

Ответы11041

22 дек, 05:34 150 1110775

>>1110691
http://bvaughn.github.io/react-virtualized/#/components/List
Очень быстрый рендеринг огрмоных списков. Хоть 20к слов.

Ответы10816

22 дек, 06:16 151 1110781

>>1110318
>Как починить?
Биндить функцию, а не результат выполнения функции, очевидно же. напиши typeof(biding2('click')), который ты передаёшь вторым аргументом в bind, который так-то функцию ожидает.

>>1110729
Ты ебанутый, ты что вообще там сделать хочешь? Разбираешь слово по буквам и обратно собираешь, зачем?
А переделывать уж хотя бы из-за форматирования кода надо, независимо от результата даже.

Ответы10887

22 дек, 10:01 152 1110816

>>1110775
Вуе быстрее :)

>>1110695
Реакт не реактивен!

>>1110691
Чтобы делать фронтенд.

Ответы1086710894

22 дек, 10:04 153 1110818

>>1110325
Сас и лес не увеличивают размер файла, даунич. А фреймворки бывают и по 4 килобайта, включая реактивные. Нехуй просто гвозди микроскопом забивать, а потом орать что тебе и молоток-то не нужен, будешь руками хуярить. Ударься сразу лбом.

305 Кб, 1112x828
22 дек, 11:09 154 1110840

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

Ответы1084510849108501085910871

22 дек, 11:29 155 1110845

>>1110840
Не очень ясно, что вообще происходит, если честно.

22 дек, 11:37 156 1110849

>>1110840
Не особо понятно, но судя по пикче речь идёт связанных списках.
https://code.tutsplus.com/articles/data-structures-with-javascript-singly-linked-list-and-doubly-linked-list--cms-23392
https://www.youtube.com/watch?v=9YddVVsdG5A

22 дек, 11:37 157 1110850

>>1110840
Что получится, если сделать
arrayToList([1,2,3])?

Ответы10855

22 дек, 11:40 158 1110854

>>1110023
>но ведь это так, так же как лес и сас устаревшее нинужное говно
А что нужно?

Ответы10861

22 дек, 11:41 159 1110855

>>1110850
Должен получиться объект, структура которого у него на пике в правой части изображена.

Это, походу, односвязный список, но в чем его юзкейс?

22 дек, 11:44 160 1110857

>>1110514
Так он не для браузера. Я добавил на страницу, но ошибки "not a function"

22 дек, 11:46 161 1110859

22 Кб, 597x115233 Кб, 1189x800

>>1110840
Вот такой аутпут получается, часть задания, что выполнял подчеркнул. Тут нет какого-то сакрального смысла, просто задачка, мне нужно знать, насколько это говно код по шкале от 0 до 1. И стоит остановиться и все еще раз переделать или это приемлемое решение.

Ответы10866

22 дек, 11:47 162 1110861

>>1110854
>все что нужно
уже есть в css3

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

Ответы10865

22 дек, 11:53 163 1110865

>>1110861
Ты, видимо, никогда ничего крупного не писал. Не хватает разбиение на модули, миксинов, функций, циклов, конфигурируемсоти.

Ответы10874

22 дек, 11:54 164 1110866

>>1110859
Эммм, не хочу тебя расстраивать, но это однострочник. Зачем ты там нагородил этого всего я не очень понял.

function arrayToList(array){
return (array.length === 0) ? null : { value:array[0], rest:arrayToList( array.splice(1,array.length-1) ) }
}

Ответы1087110888

22 дек, 11:56 165 1110867

>>1110816
>Вуе быстрее :)
Что это и можно ли это применять в хромовских и мозилловских веб-расширениях?

Ответы10870

22 дек, 11:58 166 1110870

>>1110867
Это новый, эджевый тру-реактивный view-фреймворк от китайцев. Нашпигован магией, из-за чего учится примерно за пару часов. Не смешивает код и шаблоны, в отличии от реакта и кладёт хуй на ЧИСТАТУ функций, заменяя всё передачей большого объекта конфигурации в конструктор компонента.

Можно.
https://www.npmjs.com/package/vue-chrome-extension

Ответы1087611644

22 дек, 11:59 167 1110871

>>1110866
>>1110840
Ору блять

22 дек, 12:02 168 1110874

>>1110865
>разбиение на модули
вебпак

>миксинов
--uchiCSS: suka;

>функций, циклов
>Ты, видимо, никогда ничего реального не писал
жду примеров когда в цеске нужны ЦЫКЛЫ блять

>конфигурируемсоти
вебпак уебок ты ж блять что ты собрался конфигурировать в КАСКАДЕ СТИЛЕЙ

Ответы108791088110882

22 дек, 12:03 169 1110876

>>1110870
Спасибо, посмотрю. А то аддонописатели как-то отстают от технологий, большинство аддонов тупо дрочит DOM. Разработчик лисьего Tree Style Tab (вертикальный древовидный список вкладок) вроде планирует только через годик-другой на React переписать.

22 дек, 12:07 170 1110879

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

>разбиение на модули
вебпак
Хуепак, сравнил няшный @import, который умеют обрабатывать все ИДЕ, подтягивая оттуда миксины, компоненты и остальное, и вебпак.

>вебпак уебок ты ж блять что ты собрался конфигурировать в КАСКАДЕ СТИЛЕЙ
В самом каскаде - ничего, в сасс-коде - собрался. Очевидно, различные переменные, определяющие поведение функций при компиле и прочее.

Ответы10886

22 дек, 12:10 171 1110881

>>1110874
>жду примеров когда в цеске нужны ЦЫКЛЫ блять
Для генерации цсс-кода, лалка.

МОЖНО сделать всё то же самое без препроцессора, вопросов нет. Но с ними - в разы быстрее, проще и удобнее. Чем больше проект, тем больше это заметно. Писанину руками сокращает очень сильно, а поддерживаемость повышает.

22 дек, 12:11 172 1110882

>>1110874
>жду примеров когда в цеске нужны ЦЫКЛЫ блять
@for $i from 1 through $grid-columns {
.grid-#{$i} { @include grid-base($i); @extend .grid-block; }
}
@for $i from 1 to $grid-columns {
.grid-prefix-#{$i} { @include grid-prefix($i); }
}
@for $i from 1 to $grid-columns {
.grid-suffix-#{$i} { @include grid-suffix($i); }
}
@for $i from 1 to $grid-columns {
.grid-push-#{$i} { @include grid-push($i); }
}
@for $i from 1 to $grid-columns {
.grid-pull-#{$i} { @include grid-pull($i); }
}

Ответы10886

22 дек, 12:21 173 1110886

>>1110879
>бутстрапа
Ты чо нахуй смеешься что ле? какой блять бутстрап в 2к18!?

>няшный @import
дегрод это стандартная цеска

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

>Писанину руками сокращает
эммет с предиктом

>>1110882
>костыли для даунов понторезов выучу хуйню@наклею еще одну наклеичкю не желающих учить дефолтный инструментарий навроде цес грида с флексом
ясненько, я так и думал

Ответы1089210896

22 дек, 12:22 174 1110887

>>1110781
Через typeof не работает. Или я что-то недопонял?

https://pastebin.com/iLftB9yr

Ответы10891

22 дек, 12:22 175 1110888

>>1110866

Спасибо

Ответы10893

22 дек, 12:30 176 1110891

>>1110887
>Или я что-то недопонял?
https://repl.it/repls/AdolescentTornBuzzard Так поймёшь?

Ответы10898

22 дек, 12:31 177 1110892

>>1110886
>дегрод это стандартная цеска
Дегрод речь про другое, почитай как директива импортв сассе работает

>шизофазия щас умру блять
Говноверстак в говностудии, так и скажи.

>эммет с предиктом
Какой, нахуй, эммет? Дай мне строку для эммета 12 классов грида, давнич. И если ты мне сейчас скинешь дохуя сложную строку, тогда отвечай сразу, чем это отличается от препроцессора? И схуяли тогда эммет не костыль, а препроцессор - костыль?

>не желающих учить дефолтный инструментарий навроде цес грида с флексом
Речь вообще не об этом. Ты как-то неправильно воспринимаешь, что такое препроцессор. Хули ты в блокноте-то не пишешь? ИДЕ - костыль для дауна, не желающего учить возможности языка? Эммет? Автокомплит? Подчёркивание ошибок? Всё для даунов!

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

Ответы10913

22 дек, 12:32 178 1110893

>>1110888
Р Е К У Р С И Я

22 дек, 12:34 179 1110894

>>1110816
>Вуе быстрее :)
>
Есть на это пруфы?

Ответы10896

22 дек, 12:38 180 1110896

>>1110886
Компасс посмотри. >>1110894
http://www.stefankrause.net/js-frameworks-benchmark6/webdriver-ts-results/table.html

Ответы1093013333

22 дек, 12:42 181 1110898

>>1110891
Не очень понятно. Можешь пофиксить код из этого (>>1110318) поста?

Ответы1090010907

22 дек, 12:43 182 1110900

>>1110898
Выложи на jsfiddle

Ответы10915

22 дек, 12:47 183 1110907

>>1110898
Не очень понятно, о чём ты, но

function handle( event ){
console.log(event);
}

$('.text').on('input', handle );
$('.button').click( handle );

Работает.

22 дек, 12:51 184 1110913

>>1110892
>12 классов грида
ой всё блять я умир

>эммет не
меняет логики ванила подхода ишак ты злоебучий

костыли захватили ваш разум, положив те жалкие две извилины в обрамленное пространство

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

Ответы10916

22 дек, 12:54 185 1110915

>>1110900
Выложил
https://jsfiddle.net/ca8qwwg5/

Ответы10921

22 дек, 12:55 186 1110916

>>1110913
>грамотный бэм
Можешь не продолжать, я понял, что ты мудак

Ответы10922

22 дек, 13:01 187 1110921

>>1110915
$(".tb").bind("mouseenter", binding2("mouseenter"));
$(".tb").bind("click", binding2("click"));

Ты вызываешь функцию binding2 в коде бинда. () - это значит "выполнить функцию", поэтому он пытается использовать результат вызова как коллбэк.

Тебе нужно:
Во-первых, убрать устаревший bind и заменить на .on

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

$('.tb').on('mouseenter', binding2);

Или

$('.tb').on('mouseenter', function(event){
binding2(event)
});

Или

$('.tb').on('mouseenter', event =>{ binding2(event)});

Это три равнозначных по результату варианта.
event - это объект типа Event, он в себе уже содержит всю инфу о событии, передавать имя руками аргументом не нужно

Ответы109231092810938

22 дек, 13:02 188 1110922

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

Ответы10925

22 дек, 13:02 189 1110923

>>1110921
Просто тебе на будущее

function test(){
return 'hello!'
}

console.log( test ) // f()
console.log( test() )//Hello

В этом и проблемав

Ответы10938

22 дек, 13:03 190 1110925

>>1110922
>весь мир пользуется
Ору с манюни, блять.

22 дек, 13:06 191 1110928

>>1110921
Алсо, вот тебе es6-вариант на чистом JS начинать учиться надо было с него

```document.querySelector('.tb').addEventListener('click', ( { type} ) => {console.log(type)} )```

Ответы10938

22 дек, 13:07 192 1110930

>>1110896
Спасибо, анон.

22 дек, 13:16 193 1110938

>>1110921
>>1110923
>>1110928
Спасибо, теперь всё стало понятно.

При таком варианте:
$(".tb").bind("mouseenter", event => binding2(event));
В выводе получается [object Object]

Заменил на такой вариант:
$(".tb").bind("mouseenter", event => binding2("mouseenter"));

И нашёл ещё такой (останавлюсь на нём):
$(".tb").bind("mouseenter", event => binding2(event.type));

Ответы10941

22 дек, 13:22 194 1110941

>>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(){}

Ответы10949

22 дек, 13:32 195 1110949

>>1110941
С именем функции, да, соглашусь.
Такое имя было выбрано для простоты использования (в debug версии). В дальнейшем конечно же переименую.
Задача функции лишь в том, чтобы вывести имя события, которое возникло.

Ответы10951

22 дек, 13:34 196 1110951

>>1110949
Тогда передавать нужно в нее событие целиком, так будет правильно

Ответы10958

22 дек, 13:41 197 1110958

>>1110951
Вот финальный вариант:
function getEventNameToParagraph(event)
{
var counter = $(".log").html();

$(".log").html("event: " + event.type);

return false;
}

Ответы10986

22 дек, 13:43 198 1110961

что лучше-дескопт версия игрушки или веб версия?

Ответы10965

22 дек, 13:48 199 1110965

>>1110961
Делай обе.

22 дек, 14:31 200 1110986

>>1110958
Доебусь ещё разок и скажу, что имя такое себе. Почему get? Get-функции возвращают значение, а у тебя только рисутесят. Напиши тогда drawEventInfo

Ответы10989

22 дек, 14:39 201 1110989

>>1110986
>drawEventInfo
Ну тогда уж getDrawEventNameIntoLogToParagraph :3drawEventNameToLog или drawEventName

Ответы11005

22 дек, 15:03 202 1111005

>>1110989
Я бы не стал ограничивать name, кстати. Потому что это щас нейм, а потом ещё что-то. Более абстрактно - инфо. Ну это с опытом только

Ответы11010

22 дек, 15:07 203 1111010

>>1111005
>Более абстрактно - инфо
Ну это само собой.
Тут задача конкретная, поэтому остановлюсь на «name».

22 дек, 15:52 204 1111041

>>1110772
А по-конкретнее?

22 дек, 16:35 205 1111071

>>1110730
yield

Js аноним 22 дек, 16:42 206 1111074

Js гавно

Ответы11083

22 дек, 16:58 207 1111083

>>1111074
Раз, раз-два, тест.

22 дек, 16:59 208 1111084

function b() {}
b.add = function() {return this};
console.log(b.add())

блядский зыс, почему он указывает на функцию в данном случае?

Ответы11089

22 дек, 17:07 209 1111089

>>1111084
а на что по-твоему мнению он должен был указывать?

Ответы1109111093

22 дек, 17:08 210 1111091

>>1111089
по твоему*

22 дек, 17:11 211 1111093

>>1111089
Но если внутри функции логнуть this то будет или window или undefined

Ответы1109411096

22 дек, 17:12 212 1111094

>>1111093
Ты вызываешь метода add у объекта b и просишь вернуть объект, у которого он вызван.

Ответы11103

22 дек, 17:13 213 1111096

>>1111093
Ты уверен?

function b() {}
b.add = function() { console.log(this) };
b.add()

22 дек, 17:28 214 1111103

>>1111094
интегесно

23 дек, 10:38 215 1111356

На чем пишутся все эти ио игры?

Ответы11362

23 дек, 11:02 216 1111362

>>1111356
https://aframe.io/
http://www.pixijs.com/

Ответы11638

24 дек, 02:27 217 1111638

Зашел спросить за самую годную либу для 2д js игр, вот это >>1111362 оно?

Ответы1181511968

62 Кб, 592x565
24 дек, 02:35 218 1111640

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

Ответы1167611898

24 дек, 02:43 219 1111642

>>1110691
Максимально упросить связь между model и view

24 дек, 02:46 220 1111644

>>1110870
Он же с реактивным никак не связан. Как и реакт в принципе. Но угоревшие по реактивному и фп используют реакт (и смежные вещи, вроде Elm и Cycle.js).

Ответы1169512083

24 дек, 08:05 221 1111676

>>1111640
Это же ебануться какая нагрузка. Сначала к апи подключись, ссылки на видео поток получи, видео поток запусти. Ради двух секунд. И так каждый раз. Плохая идея, думай ещё.

Ответы11891

24 дек, 09:26 222 1111687

php тред мертв, задам вопрос тут.
Анон, я на распутье. Познал дзен в html+css и сейчас учу js. Наткнулся на рекламу курса php+sql от академии. Просят 15к (с купоном) https://htmlacademy.ru/intensive/php

Глянь своим опытным глазом, чему меня хотят научить за 15к и скажи - хуйня это все и такие знания можно самому подтянуть за пару месяцев или стоит все же вкатиться.

Сейчас js учу по их спизженому курсу и все радует и с пхп бы поступил так же, но не нашел слитого курса по пхп.

Ответы11690

24 дек, 09:52 223 1111690

>>1111687
Нахуй шли какие-либо курсы со свободным набором. В своем большинстве этот мегакурс от Васяна даст тебе только базовые знания. И легче получить эту базу из какой-нибудь книги для чайников

Ответы11730

24 дек, 10:53 224 1111695

>>1111644
Присматривался к циклу.жс, понравилась идея подвязать стримы для обработки событий. Но не понял, как цикл работает с домом? У них свой движок или юзаеься сторонняя либа?

Ответы11880

24 дек, 13:15 225 1111730

>>1111690
А есть где-нибудь курсы с отбором?

24 дек, 16:29 226 1111800

Аноны, посоветуйте ресурсы по node js. Просмотрел скринкаст от Кантора, но он вроде устаревший или нет? И скачал курс от learn.javascript, но на первом же задании застрял.

Знаю фронт, с бэк эндом вообще не знаком.

С чего вы начинали учить node js? Какие книги для чайников посоветуете?

24 дек, 16:54 227 1111815

>>1111638
Бамп.

24 дек, 17:05 228 1111818

Какая разница между
var f = function () {}
и
function f () {}
?

Ответы1181911888

24 дек, 17:05 229 1111819

>>1111818
declaration vs expression

24 дек, 20:07 230 1111880

>>1111695
там мини-реакт, который называется snabbdom

Ответы11883

24 дек, 20:09 231 1111883

>>1111880
> snabbdom
Ага, понял, спасибо.

24 дек, 20:12 232 1111888

>>1111818
Идентично, если не использовать возмозжности хойстинга (то есть не использовать что-то, что объявлено ниже в файле).
Функция условно перемещается в начало файла вместе с определением, var поднимается как undefined до своего объявления.

24 дек, 20:13 233 1111891

>>1111676
> Сначала к апи подключись, ссылки на видео поток получи
Везде все одинаковое. Однитипные стримы, однотипный апи.

Ответы11897

24 дек, 20:21 234 1111897

>>1111891
Даже ссылки на видео есть. Все есть. Только реализовать осталось.

Ответы12074

24 дек, 20:21 235 1111898

>>1111640
Аха, ты типа IPTV гонять через ноду хочешь что ли?
Сервер тебе, скорее всего, отдает m3u плейлист с ссылками на живые чанки видео, а тебе нужно распарсить ентот плейлист и закачать все файлы, после чего их либо склеить в один файл, либо просто пробросить клиенту. Я занимался как-то подобной хуйней, только цели были другие.
Ну, это не так уж и сложно и сделать, но если лень, можешь гуглить по ключевикам "node m3u download". Вот, например, чайный пакетик без доков и смс, разбирайся:
https://github.com/deepakk87/m3u8-downloader

Ответы11916

24 дек, 21:04 236 1111912

Аноны вот учу я js по учебнику кантора так там везде старая спецификация, только не много по es2015, это сильно устаревшая информация? Сильно большая разница с es6, а то я не понимаю.

Ответы1302013121

681 Кб, 1075x1443
24 дек, 21:11 237 1111916

>>1111898
Спасибо тебе. Почитаю.
Нужно что-то вроде пикрелейтед. Тут они просто в реальном времени по два-три кадра с каждого стрима выдают. У меня стримов будет больше, но сразу все не надо, надо по очереди.

Ответы1191812075

24 дек, 21:22 238 1111918

>>1111916
Ааа, ну так это через обвязки к FFMpeg делается.

24 дек, 23:06 239 1111968

>>1111638
Бамп. Подскажите топовую либу для 2д игр.

Ответы13021

25 дек, 08:22 240 1112074

>>1111897
Да я не спорю что есть, но нагрузка ебанная будет.

25 дек, 08:25 241 1112075

>>1111916
Тю, мы то думали ты твитч парсишь.
Для такой хреновины всё проще, если внутри локальной сети, так вообще можно по айпи стучаться и норм.

Ответы1250612556

25 дек, 09:18 242 1112083

>>1111644
Как это не связан? Связан, вуе - тру-реактивный. А вот реакт - нет.

Ответы12337

25 дек, 21:14 243 1112337

>>1112083
Ну да, в своем императивном определении, как и ангуляр — первый реактивный фреймворк.

25 дек, 22:14 244 1112376

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

Ответы1239812399

25 дек, 22:45 245 1112398

>>1112376
Bucklescript

25 дек, 22:46 246 1112399

>>1112376
А нет, шиндовс, забудь

26 дек, 08:29 247 1112506

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

26 дек, 10:14 248 1112538

Котаны, есть у кого-нибудь нормальный пример структуры rest api на typescript + express? Чтобы с иерархическими роутами.

26 дек, 12:19 249 1112556

>>1112075
>Тю, мы то думали ты твитч парсишь.
А что такого в парсинге твитча? Точно так же ведь достал ссылку на плейлист, скачал кусок, отобразил (или кадр вырезал). Я так с корейского afreeca.tv скриншоты с кучи стримов грабал в поисках годноты какой-нибудь.

Ответы12719

26 дек, 14:37 250 1112719

>>1112556
ПАЛЮ ТЕМУ: ПИШИТЕ GPU-МАЙНЕР НА JS. СЕЙЧАС НАПИШИТЕ, ЧЕРЕЗ ГОД КУПИТЕ ОСТРОВ

26 дек, 14:57 251 1112728

Как сделать, чтобы мой код не смогли скачать/скопировать всякие бомжи? Обфускацию не предлагать, потому что код работать-то будет.

Ответы12731

26 дек, 15:01 252 1112731

>>1112728
- использование любого языка, транслирующегося в JS существенно осложняет разбор исходного кода в виду дичайшего оверхеда;
- стриминг клиентского кода с сервера в бинарном формате через вебсокеты;
- wasm;
- asar packing (для десктопа).

Вариантов до пизды и все ПРОСТО немного усложнят жизнь заинтересованному лицу.

Ответы1275012823

26 дек, 15:37 253 1112744

Сап /js/, я пытаюсь осваивать xpath.
Мне удалось успешно написать правило, которое выделяет посты со ссылками
2ch.hk##:xpath(//div[@class='post-wrapper' and descendant::a[contains(text(), 'http')]])
теперь я пытаюсь написать правило для выделения постов без ссылок. Перепробовал уже около 5 вариантов, не заработал ни один.
Буду благодарен помощи.

Ответы12752

26 дек, 15:52 254 1112750

>>1112731
Если ПРОСТО заебенить какой-нибудь криптор, основанные на хеше из параметров времени, то ведь хуй вскроешь его, так?

26 дек, 15:56 255 1112752

>>1112744
я не понимат, у двощей же есть апи, хули вы там парсите-то?

Ответы12759

26 дек, 16:02 256 1112759

>>1112752
Ну вот например для определения последнего поста в тред нет API.

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

26 дек, 18:02 257 1112823

>>1112731
>- стриминг клиентского кода с сервера в бинарном формате через вебсокеты;
Интересно, можно подробнее? Что происходит в браузере с этим бинарным кодом дальше? Где используют эту технологию и используют ли?

Ответы12898

26 дек, 19:09 258 1112844

Зашёл, чтобы напомнить вам, что js - это очень сложный язык, который мне просто лень учить. Он непродуманный изначально, и построен на костылях, ещё и этот es6 ебучий, который пиздец как всё раздул, скоро будете как в с++.
Для себя я сделал вывод, что чем строже язык - тем лучше
== ЧАО ПАКА ВСЕМ ДАБРА И ПАЗИТИВА ==

Ответы1290412943

26 дек, 22:05 259 1112898

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

177 Кб, webm,
640x360, 0:02
26 дек, 22:17 260 1112904

>>1112844
>js - это очень сложный язык

27 дек, 00:34 261 1112943

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

27 дек, 07:17 262 1113020

>>1111912
В ES6 есть пара плюшек в виде синтаксического сахара. Покурить ES5 и ниже будет полезно, чтобы лучше понимать то, что происходит за ширмой красивых слов типа class, стрелочных функций и так далее.
Ну ещё там есть действительно крутые нововведения типа let, которые решают кучу проблем с ебанутой системой областей видимости в языке.
Короче, я бы советовал поизучать es5, а потом сверху уже es6 изучить.

27 дек, 07:18 263 1113021

>>1111968
Phaser

27 дек, 13:15 264 1113076

Анончики, помогите с этим:

В этот JS код

https://pastebin.com/Dn9j5ark

Я хочу вставить функцию сохранения картинки по клику, вот эту:

https://jsfiddle.net/koreanman/91vnqfar/40/

Как их правильно совместить? В JS я мало разбираюсь.

27 дек, 14:32 265 1113110

Что уважаемый антон порекомендует в качестве движка для встраивания JS в программу (для того чтобы пользователь мог скриптовать её поведение, автоматизировать под свои узкоспециальные нужды)?
Смотрю на V8.
А, если это важно, также встроен каноничный Lua, т.е. движки должны уживаться друг с другом и в идеале встраиваться ммммаксимально схожим образом, но это не обязательно.

Ответы13116

27 дек, 14:50 266 1113116

>>1113110
в8, других вариков у тебя и нет, считай.

27 дек, 15:20 267 1113120

>>1108584
>Сколько лет пройдет пока не наступит пздц?
Как лисп наконец то умрет, тогда и наступит пиздец js то есть никогда.

27 дек, 15:24 268 1113121

>>1111912
Это тоже самое что переехать с 98 стандарта в С++ на 14/17.

sage 27 дек, 15:41 269 1113128

Как можно вызвать анонимную функцию внутри анонимной функции?
var a = (function(){здесь нужно вызвать эту же функцию})();
Хочу сделать рекурсию с анонимной функцией

Ответы1313013137

27 дек, 15:44 270 1113130

>>1113128
Ноуп.

но кто тебе мешает сделать

let a = (function anon(){ anon() })()

Ответы13132

sage 27 дек, 15:46 271 1113132

>>1113130
anon засоряет область видимости

Ответы13133131391323613380

sage 27 дек, 15:47 272 1113133

>>1113132
*пространство имен

27 дек, 15:52 273 1113137

>>1113128
a()

Ответы1314013382

27 дек, 15:56 274 1113139

>>1113132
Сасай тогда

sage 27 дек, 15:58 275 1113140

>>1113137
Вот норм идея кста, спасибо

59 Кб, 600x450
27 дек, 18:34 276 1113216

Поцоны, выручайте. Хочу сделоть редирект на js, то есть типа, хостим на сайте там скрипт

http://sait.ru/redik.js

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

<a href="http://sait.ru/redik.js?iphone games">ссылочка</a>

И редиректим его на

https://yandex.ru/search/?&text=iphone games

Ответы13223

27 дек, 19:23 277 1113223

>>1113216
Редиректит сервер. Ну либо исполняемым на хмтл странице жс-ом можно window.location сделать.
В чём у тебя смысла редиректа именно по такой ссылке, ты что сделать хочешь?

Ответы13229

27 дек, 20:03 278 1113229

>>1113223
Мне нужно передать в get параметре кейворд, вот так.

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

27 дек, 20:40 279 1113236

>>1113132
Оберни в еще одно iffe

27 дек, 23:48 280 1113304

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

https://www.dropbox.com/s/rgzo6admnvd6pmb/Карта JS, прогрес.png?dl=0

Ответы133131338613440

28 дек, 00:20 281 1113313

>>1113304
не заходите вирус

28 дек, 01:25 282 1113333

>>1110896
Сильно устаревшие результаты учитывая React 16
Вот свежие

http://www.stefankrause.net/js-frameworks-benchmark7/table.html

28 дек, 07:23 283 1113380

>>1113132
Ничего он не засоряет, пиздабол.

28 дек, 07:25 284 1113382

>>1113137
в данном случае будет захват переменной из внешнего скоупа, в то время как в случае с именем функции - такого захвата не будет. вы вообще когда-нибудь в консоль заглядываете?

Ответы13548

28 дек, 07:45 285 1113386

>>1113304
Не получается кружочком, пункты не квадртаные же, лишнее захватывается. Переделай картинку. Ты серьёзно? Никто не будет тут сто пунктов читать и что-то там обводить.

9 Кб, 346x112
28 дек, 12:07 286 1113416

Подключил Sequelize, делаю define таблицы, но IDE ругается на Sequelize.STRING. Надо как-то пакет докачать еще?

28 дек, 13:28 287 1113440

>>1113304
> обведите кружочками
Как там рисовать?

28 дек, 14:50 288 1113455

Сап, js-уебок на связи. В который раз охуеваю от его уебищности, но делать нехуй. Нужен совет от шарящих анонов, чьи жопы натренированы и не убивают кенгуру на той стороне шара. В общем есть localStorage, в него записываешь
>localStorage.setItem(counterObj, localObj);
(counterObj - простой счетчик, localObj - объект с переменными, в переменных всякая хуйня записана). Так вот когда используешь метод localStorage.getItem(counterObj) и пытаешься за 1 итерацию цикла вытащить 1 переменную (ее содержимое) localObject, то вытаскивается 1 символ, а не объект. Как фиксить?

Ответы13457

28 дек, 14:53 289 1113457

>>1113455
Код?

Ответы13462

28 дек, 14:58 290 1113462

>>1113457
Спасибо, анон, но кажысь разобрался, надо объект в JSON захуярить сначала. Если помещаешь что-то в localStorage, то оно походу сразу становиться текстовой строкой.

Ответы13469

28 дек, 15:04 291 1113469

>>1113462
Да, стригифай@парсь.

28 дек, 20:01 292 1113548

>>1113382
>в данном случае будет захват переменной из внешнего скоупа
и чо?

Ответы13652

29 дек, 01:11 293 1113652

>>1113548
она может быть переопределена, мань.

Ответы13856

476 Кб, 496x407
29 дек, 06:04 294 1113699

Ничего не понимаю.

Есть у меня текст.

<p><span>Привет.</span><span>Как дела?</span></p>
Выделяю "привет".
Делаю:

a = window.getSelection().anchorNode;

Получаю объект cсылку на узел, где содержится "привет".
Пишу:
alert(a.nextSibling);
Выдаёт null.

Почему? Как мне совершить итерацию к следующему span, где есть "как дела"?

Ответы137941384713886

29 дек, 12:26 295 1113794

>>1113699
> Как мне совершить итерацию к следующему span, где есть "как дела"?
document.getElementByTagName("span").forEach(...)

Ответы13839

29 дек, 14:25 296 1113839

>>1113794
Тогда я получу каждый span из документа, а мне надо span, который будет только в выделенном фрагменте.

29 дек, 15:01 297 1113847

>>1113699
https://www.w3.org/DOM/faq.html#emptytext

Попробуй фильтровать пустые элементы.

106 Кб, 1182x1282
29 дек, 15:11 298 1113850

29 дек, 15:27 299 1113856

>>1113652
ну напиши конст

29 дек, 16:52 300 1113886

>>1113699
"Привет" это текст у него нет сиблингов, тебе нужно взять парента(span) и от него уже плясать.

30 дек, 18:18 301 1114175

Не могу сформулировать вопрос человеческим языком, Анон, так что формулирую как могу.

Я макака, какое-то время занимаюсь фрилансом. Верстаю относительно неплохо, JS изучал на ходу, так что никаких "фундаментальных знаний" по нему у меня нет. Знаю, что надо бы прочитать какую-нибудь книгу, но пока не до этого, сначала хочу уровень вёрстки сделать более уверенным (собственно, почти закончил с этим). Тем не менее, поскольку я фриланшу время от времени приходится писать на JS, постепенно выработал для себя примерную "архитектуру приложения". Не уверен, что я всё делаю правильно, но мне пока хватает. Однако меня всё чаще посещает мысль о том, что "логика" и "представление" должны разделяться, но не очень понимаю, как это сделать.

Приведу на конкретном примере. У меня есть инпут в который вписывается имя пользователя. Алгоритм работы такой: сначала скрипт проверяет, есть ли пользователь в базе. Если есть - переключает свитчер (ну, типа, one page application, "страницы" переключает) на следующую страницу. Если нет - выводит модальное окно с текстом и двумя кнопками, мол добавить пользователя в базу или как? Сейчас это сделано одной функцией, которая на входе получает юзернейм, на выходе либо переключает свитчер, либо выдаёт алерт типа "операция отменена пользователем".

И вот тут у меня снова появилась мысль, что смешивать "логику" приложения и "представление" (вызов всяких оверлеев, модальных окон, прочей херни) это не очень хорошая идея, потому что это делает мою функцию менее "гибкой" и не даёт использовать её в других местах, ведь в другом месте мне могут быть не нужны оверлеи, модальные окна и т. д.

Ты можешь спросить: "Чего, блядь? Кто тебе мешает сделать функцию, которая будет только отдавать true\false на нахождения пользователя в базе". "Мешает" то, что от функции этой толку нихуя, зачем нужна функция из двух строчек кода? Я бы скорее хотел видеть функцию такой, как она есть сейчас, то есть, чтобы она не только проверяла наличие пользователя в базе, но и предлагала добавить его в неё, если пользователя в ней нет.

Что почитать на эту тему, как это сделать? Вот в PHP я видел у многих CMS папки типа controler viewer и т. д. в которых содержались одни и те же php-скрипты, но в одной папке была "логика работы", в другой - как это будет выводиться на страницу, в третьей - запросы к БД и т. д. В JS используется такой подход, когда она и та же "функция" дробится на "логику" и "представление"? Мне зубодробительная YOBA о глубинах и тонкостях JS не нужна, просто понять саму суть. Может, колбэками как-то? Типа, на событие "всё ок" такой колбэк, на событие "юзера нет в базе" такой колбэк, на событие "юзер хочет в базу" такой колбэк? Сама внутренняя логика работы одна и та же, но в одном случае мне нужно вывести алерт с таким-то текстом, в другом - модальное окно с другим, в третьем еще что-то.

Надеюсь, что хоть кто-нибудь поймёт эту хуйню. Ключевые слова: разграничение "логики" и "представления". Такое практикуется или я выдумал какую-то хуйню?

Спасибо.

30 дек, 18:18 301 1114175

Не могу сформулировать вопрос человеческим языком, Анон, так что формулирую как могу.

Я макака, какое-то время занимаюсь фрилансом. Верстаю относительно неплохо, JS изучал на ходу, так что никаких "фундаментальных знаний" по нему у меня нет. Знаю, что надо бы прочитать какую-нибудь книгу, но пока не до этого, сначала хочу уровень вёрстки сделать более уверенным (собственно, почти закончил с этим). Тем не менее, поскольку я фриланшу время от времени приходится писать на JS, постепенно выработал для себя примерную "архитектуру приложения". Не уверен, что я всё делаю правильно, но мне пока хватает. Однако меня всё чаще посещает мысль о том, что "логика" и "представление" должны разделяться, но не очень понимаю, как это сделать.

Приведу на конкретном примере. У меня есть инпут в который вписывается имя пользователя. Алгоритм работы такой: сначала скрипт проверяет, есть ли пользователь в базе. Если есть - переключает свитчер (ну, типа, one page application, "страницы" переключает) на следующую страницу. Если нет - выводит модальное окно с текстом и двумя кнопками, мол добавить пользователя в базу или как? Сейчас это сделано одной функцией, которая на входе получает юзернейм, на выходе либо переключает свитчер, либо выдаёт алерт типа "операция отменена пользователем".

И вот тут у меня снова появилась мысль, что смешивать "логику" приложения и "представление" (вызов всяких оверлеев, модальных окон, прочей херни) это не очень хорошая идея, потому что это делает мою функцию менее "гибкой" и не даёт использовать её в других местах, ведь в другом месте мне могут быть не нужны оверлеи, модальные окна и т. д.

Ты можешь спросить: "Чего, блядь? Кто тебе мешает сделать функцию, которая будет только отдавать true\false на нахождения пользователя в базе". "Мешает" то, что от функции этой толку нихуя, зачем нужна функция из двух строчек кода? Я бы скорее хотел видеть функцию такой, как она есть сейчас, то есть, чтобы она не только проверяла наличие пользователя в базе, но и предлагала добавить его в неё, если пользователя в ней нет.

Что почитать на эту тему, как это сделать? Вот в PHP я видел у многих CMS папки типа controler viewer и т. д. в которых содержались одни и те же php-скрипты, но в одной папке была "логика работы", в другой - как это будет выводиться на страницу, в третьей - запросы к БД и т. д. В JS используется такой подход, когда она и та же "функция" дробится на "логику" и "представление"? Мне зубодробительная YOBA о глубинах и тонкостях JS не нужна, просто понять саму суть. Может, колбэками как-то? Типа, на событие "всё ок" такой колбэк, на событие "юзера нет в базе" такой колбэк, на событие "юзер хочет в базу" такой колбэк? Сама внутренняя логика работы одна и та же, но в одном случае мне нужно вывести алерт с таким-то текстом, в другом - модальное окно с другим, в третьем еще что-то.

Надеюсь, что хоть кто-нибудь поймёт эту хуйню. Ключевые слова: разграничение "логики" и "представления". Такое практикуется или я выдумал какую-то хуйню?

Спасибо.

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

30 дек, 18:22 302 1114176

>>1114175
Берешь и без задней мысли учишь один из модных фреймворков, там уже за тебя решили всё.

30 дек, 19:00 303 1114194

>>1114175
Да, и еще вспомнил, почему я не могу сделать функцию возвращающую true\false - AJAX же. Значит, колбэки? Сейчас пробую сделать с ними, добавил объект с кучей колбэков на разных этапах.

Ответы14373

30 дек, 21:57 304 1114250

>>1114175
MVC
В JS есть готовый Sails для этого.

30 дек, 23:00 305 1114267

Сап, что за хуйня, сделал Кантора, подумал закрепить хекслетом - и что не задача - не могу сделать. При чем постоянно пишу код на 90% похожий на верное решение, и постоянно проебываюсь с какой нибудь фигней. Пр чем это на начальном уровне, типа там слова проверить, которые задом наперед одинаково читаются и все такое. Все, пиздец, я тупой? Или к хуям эти задачи и учить реакт? Или я просто старый уже? Мне 27 уже, заебался по саппортам работать.

Ответы14314

31 дек, 00:57 306 1114314

>>1114267
иде используешь?

Ответы14438

31 дек, 04:54 307 1114373

>>1114194
>AJAX же. Значит, колбэки?
Есть еще событийно-ориентированное программирование. Триггеришь события, подписываешься на определенные события, обрабатываешь их.

31 дек, 11:24 308 1114407

Почему быдло так редко юзает тайпскрипт на клиенте и сервере, чтобы был shared код?

Ответы14408

31 дек, 11:28 309 1114408

>>1114407
>Почему
Потому что тс для быдла. Все ровные пацаны пишут на кложаскрипте или в крайнем случае на флоу.

Ответы14747

31 дек, 12:26 310 1114413

Приветствую, Джейсоны!
Есть ли npm-пакетики, позволяющие связывать стримы и буфер, чтобы можно было писать в буфер по типу createWriteStream из fs api?

31 дек, 14:20 311 1114438

>>1114314
неа, не умею)

1 янв, 17:37 312 1114719

Помогите разобраться с конфигом gulp и webpack.
За сборку js отвечает webpack, а за сборку всего остального gulp.
Набросал конфиг, но возникли две проблемы:
1. При изменении файла index.js (или main.js) в консоль сыпется ошибка "Error: task completion callback called too many times". В чём проблема и как это поправить?
2. После изменения js файлов webpack пересобирает их, но в браузере они не подцепляются. Как заинжектить изменённые файлы в браузер?

Конфиги прилагаются:
http://rgho.st/7gtrmqdrn

Ответы14769

1 янв, 19:54 313 1114747

>>1114408
cs-то зачем нужен. Менять шило на мыло

1 янв, 21:43 314 1114769

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

2 янв, 05:11 315 1114880

Куда подевался фронтенд тред?

Пилю туду лист на реакте. Существуют какие-то способы сохранить в каком-то виде данные из приложения на хостинге типа surge или gh-pages?

Ответы1492315276

2 янв, 10:34 316 1114906

ребята помогите пожалуйста почему хуектор не работает? https://jsfiddle.net/aaesv56a/

Ответы15183

2 янв, 12:34 317 1114923

>>1114880
>Куда подевался фронтенд тред?
>сохранить данные из приложения на хостинге

Ответы14927

2 янв, 12:45 318 1114927

>>1114923
Вдруг там в 3 строки ставится какая-нибудь срань вроде mongobd, я бы и ее чуть ковырнул.

Ответы14946

2 янв, 14:51 319 1114946

>>1114927
Монгу бесплатно можешь тут поднять, если твой хостинг позволяет кроссдоменные запросы
https://mlab.com/plans/pricing/#plan-type=sandbox

Ещё раньше можно было на с9 заебенить прям всё в облаке, но их сейчас Амазон купил, и я не знаю что там поменялось, сколько халявы осталось
https://aws.amazon.com/ru/cloud9/

А вообще для никому не интересной тудушки лучше сделай в лохал-сторедже, ну или в индекседДБ, если хочешь веселья.

3 янв, 08:38 320 1115183

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

3 янв, 12:52 321 1115234

Всем привет. Можете пожалуйста пояснить за механизм работы сессий? использую express-session и mongo-connect
бекенд и фронт разделены. Вот мне приходит логинка пользователя, я сохраняю её в req.session, мне надо , получается, на клиент надо вернуть id сессии и потом просто в остальных запросах делать проверку коллекции session в монге на поиск всех этих данных?

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

3 янв, 13:33 322 1115276

>>1114880
Огненная база.

100 Кб, 1552x873
3 янв, 20:33 323 1115440

Должен ли у ЖСа быть маскот? Какого бы ты предложил?
https://www.kickstarter.com/projects/1604791210/javascript-rhino-toy

Ответы15604

4 янв, 06:21 324 1115604

>>1115440
Сразу видно гениальных программстов жс'а: белый клык на белом фоне, или на фоне белой же игрушки у ёлки. Я даже не сразу его увидел.

Ответы15606

4 янв, 06:25 325 1115606

>>1115604
Рог то есть, а не клык, что это я.

4 янв, 23:39 326 1115880

Посоны, стал я изучать этот ваш JS. И сразу бросается в глаза какая-то неконсистентность. Почему если я не объявлю переменную x и обращусь к ней напрямую, то получу ошибку, а если обращусь через window.x, то просто получу undefined? Почему если я у null и undefined попытаюсь установить или получить свойство, то получу ошибку, хотя с другими примитивными типами такого не будет? Есть логичное обоснование для этого?

Ответы1590115914159411595216083

5 янв, 01:12 327 1115901

>>1115880
Я, конечно, сам нуфак, но
>JS
>Логичное обоснование

5 янв, 01:49 328 1115914

>>1115880
Проблема нуля существовала задолго до JS. Все языки в которых он есть — невероятно уебищны и нелогичны.

5 янв, 05:51 329 1115941

>>1115880
>просто получу undefined
Так работает внутренняя операция [[Get]] согласно спеке.
>у null и undefined попытаюсь установить
Для них нет конструктора. Для строки, например, есть String(). Если ты делаешь "abc".trim(), то под капотом происходит String("abc").trim().
>логичное обоснование
Все внутренние операции описаны в спеке:
https://tc39.github.io/ecma262/
Многие из них это результат компромисса. А некоторые это "хотели, как лучше, получлось, как всегда", типа нестрого сравнения.

5 янв, 08:23 330 1115952

>>1115880
>>Посоны
>>этот ваш
>>неконсистентность
Иди нахуй, быдло.

6,2 Мб, mp4,
1024x768, 4:17
5 янв, 15:52 331 1116083

>>1115880

Ответы16187

5 янв, 19:57 332 1116187

>>1116083
Каждый раз проигрываю с этого ролика. А что за jsc интерпритатор соснольный? Я знаю в сперме есть в составе net framework jsc.exe , который для jscript.net.

Ответы16196

5 янв, 20:08 333 1116196

>>1116187
alias jsc='node'?

Ответы1620116607

5 янв, 20:12 334 1116201

>>1116196
Справедливое предположение

23 Кб, 1194x178
5 янв, 22:57 335 1116244

Анон, помоги, пожалуйсто. Как в ебучем бабеле отключить эскейп кириллицы?
Гугл не помогю

Ответы16270

6 янв, 00:26 336 1116270

>>1116244
В седьмой версии добавили конфиг "asciiUnsafe". Но седьмая еще не зарилизилась, страдай пока

Ответы16287

6 янв, 01:16 337 1116282

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

Ответы162831628416288162891824418245

6 янв, 01:32 338 1116283

>>1116282
Нет.

Ответы16288

6 янв, 01:33 339 1116284

>>1116282
Если более детально, то тебе нужно клиент-серверное решение. Rest. Backend nodejs/php/python... frontend js

Ответы162851628816289

6 янв, 01:35 340 1116285

>>1116284
Да, как решить с таким подходом я понимаю, но блин не хочется хостинг оплачивать для такой задачи.

6 янв, 01:40 341 1116287

>>1116270
Хорошо, спасибо. Попробую бетку накатить.

6 янв, 01:41 342 1116288

>>1116283>>1116284
А по моему очень даже можно.
Куклоскрипт вон умеет раржпеги искать.
>>1116282
Вот тут показали как из загруженной картинки получить её бинарник, или как это назвать.
https://stackoverflow.com/questions/934012/get-image-data-in-javascript
И его уже можешь модифицировать как хочешь.
Но чую я, что для тебя это будет пиздецки сложно.

Ответы16294

6 янв, 01:46 343 1116289

>>1116282
>>1116284

Вообще можно попробовать напилить екстенш, который будет открывать картинку через File API, править что надо (так как картинка будет считана в Blob'e). Ну и потом правленную открывать как Base64 URL.

Вот так сходу не могу придумать, почему не будет работать, File API в сафарях работают (вроде), экстеншены позволяют работать с контентом страницы, на которую настроены пермишены. Конечно могут быть подводные камни, но сходу их не видно.

Ответы16294

6 янв, 02:17 344 1116294

>>1116288
>>1116289
Благодарю, пойду читать.

6 янв, 11:05 345 1116371

Насколько популярен вариант фуллстек с знаниями Java(Spring,Hibernate,Kafka) и JS(TypeScript+Vue.js)?
Для таких найдется работа?

Ответы16428

6 янв, 15:08 346 1116428

>>1116371
Для всего найдётся. Знать бы где искать.

6 янв, 22:19 347 1116607

>>1116196
Видео возможно донодовое

Ответы16641

6 янв, 23:29 348 1116641

>>1116607
Видео из 2012.

Вполне может быть, впрочем, что использовано это — https://trac.webkit.org/wiki/JSC (2 секунды гугла).

6 янв, 23:47 349 1116652

Пидары, что опять с npm случилось?

https://github.com/npm/registry/issues/255

Ответы16706

7 янв, 01:18 350 1116706

>>1116652
Проиграл в очередной раз с неогранизанности макак, в Java/PHP такого ни разу не было, а в JS опять left-pad. Алсо чому ты в субботу вечером кодишь?

70 Кб, 899x503
7 янв, 02:02 351 1116726

Антоны, такой тупой вопрос, как задать динамическое позиционирование к примеру от картинки? В каждой теме картинка бывает разных размеров и что бы оценки сами определяли размер картинки и вставали правильно как рилейт, а не налезали на фоточеку если она вдруг оказалась большой
https://jsfiddle.net/uxu0nygh/

Ответы16818

7 янв, 12:15 352 1116818

>>1116726
Не использовать position: absolute, например, и пройти какой-нибудь туториал по хтмл вёрстке.

Ответы16874

7 янв, 14:20 353 1116874

>>1116818
Да туплю уже, ни ок в 2 часа ночи верстать.
Конечно же нужно было position: relative

7 янв, 21:39 354 1117045

Коты, как вкатиться в реакт? Туториал на сайте с tic tac toe прошел, но в реальных сайтах яснее не стало.
Скачал material ui для реакта, но дальше одного компонента дело не движется. Например запилил drawer, но хуй знает как привязать обработчики к кнопкам, onClick там никаких нету.
Готовые же сайты на react material ui просто вообще нихуя не понятны.

Есть годные гайды для реакта (именно по material ui неважно, мне хоть как), которые сложнее написания tic tac toe, но не космического уровня и объясняют именно прикладную задачу по запилу фронта для сайта.

Ответы17159

7 янв, 23:21 355 1117070

Есть вот такая хуйня например:
[
{ name: 'zalupa', number: 3746 },
{ name: 'zalupa', number: 3747 },
{ name: 'pupa', number: 3748 },
{ name: 'pupa', number: 3749 }
]
Нужно получить:
[
{ name: 'zalupa', number: [3746, 3747] },
{ name: 'pupa', number: [3748, 3749] },
]
Как это сделать? Чем сделать? Что прочитать?

Ответы1708017152

7 янв, 23:28 356 1117073

Чувствую себя тупым с этими мапами, фильтрами, редусами.

Ответы17083

8 янв, 00:16 357 1117080

>>1117070
For-ом сделай и не выебывайся. Зачастую бывает, что мапами, фильтрами и редусами получается нечитабельная хуйня.

Ответы17086

8 янв, 00:23 358 1117083

>>1117073
Мап - применить функцию к каждому элементу и вернуть список результатов, филтер - применить функцию к каждому элементу и вернуть только те исходные элементы, где результат функции true, редюс - собрать список в единственное значение, поочередно применяя к каждому значению списка функцию, таким образом изменяя промежуточное значение тупо написал, на примере проще разобраться.

Ответы17154

8 янв, 00:34 359 1117086

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

Ответы17134

8 янв, 04:52 360 1117134

>>1117086
Покажи как сделал то.

8 янв, 04:59 361 1117136

Как из промиса данные вернуть, а не сам промис? Я понимаю, что асинхрон хуёмоё.

Ответы17653

8 янв, 06:33 362 1117152

>>1117070
https://repl.it/repls/UnawarePastelArieltoucan

Ответы171561715717173

205 Кб, 724x553
8 янв, 06:38 363 1117154

>>1117083

8 янв, 06:45 364 1117156

>>1117152
Да, также сделал, только res[o.name] = { num: [] }

Ответы17157

8 янв, 06:53 365 1117157

>>1117152
>>1117156
Что-то я хуйню написал.

8 янв, 06:58 366 1117159

>>1117045
Тралишь? reactjs.org -> DOCS. Это все, что тебе нужно. Первые главы оформлены как туториал.

Ответы17246

8 янв, 08:38 367 1117173

>>1117152
>if (!res[o.name])
> res[o.name] = [];
Никогда больше так не делай, пожалуйста. Скобочки.

Амебушка 8 янв, 11:08 368 1117219

Почему возвращает не 1 всегда?

function power(base, exponent) {
if (exponent == 0)
return 1;
else
return base * power(base, exponent - 1);
}
console.log(power(2, 3));

Ответы17233

8 янв, 11:51 369 1117233

>>1117219
Ну как почему.
power(2, 3) = 2 power(2, 3 - 1);
= 2 ( 2 power(2, 2 - 1) )
= 2 ( 2 (2 power(2, 1 - 1) ) )
= 2 ( 2 (2 * 1 ) )
= 8

Ответы1723417237

8 янв, 11:51 370 1117234

>>1117233
Макаба все знаки умножения проебала, но ты понял.

Ответы17237

8 янв, 11:54 371 1117237

>>1117233
>>1117234
Да! Спасибо. Сначала на магию было похоже.

8 янв, 12:17 372 1117246

>>1117159
Я в JS и HTML как слон в посудной лавке.

8 янв, 12:54 373 1117261

27 Кб, 357x41524 Кб, 357x415

анонче, помоги. почему я не могу передать функцию в качестве аргумента, а потом вернуть её значениие?
https://jsfiddle.net/uwsfmg15/

Ответы1726617271

8 янв, 13:03 374 1117266

>>1117261
>ReferenceError: inBetween is not defined
Твоя последняя строка ничего не знает про функцию "inBetween". Ты её определяешь внутри filter, за его пределами её не существует.

Ответы17272

8 янв, 13:13 375 1117271

>>1117261
понял, спасибо

Ответы1727217273

8 янв, 13:14 376 1117272

>>1117266
>>1117271

284 Кб, 462x497
8 янв, 13:14 377 1117273

>>1117271
Вообще то, что ты пытаешься сделать можно делать так
https://jsfiddle.net/uwsfmg15/1/
В жсе уже есть filter https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

Ответы17275

8 янв, 13:16 378 1117275

>>1117273
ага, видел такой вариант у Кантора.

8 янв, 16:17 379 1117365

>>1108922

Vue.js уже хоронит реакт, расслабься

Ответы17586

52 Кб, 640x411
8 янв, 17:36 380 1117390

Аноны, что за хуйня происходит в этом клочке кода?

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 никогда не работал в таком коде. Очень все сложно и нихуя не понятно

Ответы1767117805

59 Кб, 1076x351
8 янв, 22:11 381 1117514

Анонче, опять вопрос от нуба.
Почему на пике слева выдает 10, как и надо. А справа выдает содержимое функции(хотя там вроде указан stringOf)?
п.с.
Тема по преобразованиям объектов к примитивам у Кантора

Ответы17602

8 янв, 23:43 382 1117586

>>1117365
Но ведь vue.js это по сути та же хуйня, что и реакт, только без jsx-месива (а разделенное на темплейты, скрипты и ксс). Разве что нормально просто в html-страницах работает.

Ответы17654

9 янв, 01:05 383 1117602

>>1117514
ну наверное потому что справа ты делаешь return еще до того, как у тебя исполнится bar.toString = ...

9 янв, 05:03 384 1117653

>>1117136
Получаешь данные в коллбэке then.
Там же и продолжаешь логику играть от данных, ведь там данные собственно уже пришли.

9 янв, 05:06 385 1117654

>>1117586
Нет, vuejs это та же, хуета, что и ангуляр. И заменяет она именно ангуляр, но в целом на соотношение ангуляр/vue против react она никак не повлияет

Ответы17680

38 Кб, 419x387
9 янв, 08:48 386 1117671

>>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 никогда не работал в таком коде.
Потому что это не человек писал, а обфускатор сгенерировал. Там изначально был нормальный понятный код, но его вот так упаковали.
Сам не вздумай так писать, пиши нормально.

38 Кб, 419x387
9 янв, 08:48 386 1117671

>>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 никогда не работал в таком коде.
Потому что это не человек писал, а обфускатор сгенерировал. Там изначально был нормальный понятный код, но его вот так упаковали.
Сам не вздумай так писать, пиши нормально.

Показать весь текст

9 янв, 09:33 387 1117680

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

Ответы17789

9 янв, 16:29 388 1117789

>>1117680
Еще как значит. Подход тот же, что у ангуляра, что в свое время перевернул реакт, предложив намного более простой способ размышления об интерфейсе.

Ответы17820

9 янв, 16:55 389 1117805

>>1117390
пиздец. Кто и зачем пишет такой код? Просто объясните. Он минифицированный?

С 9 янв, 17:12 390 1117815

Анон, нужно ли быть курильщиком чтобы кодить на js?
Знакомый говорит что если ты не купишь ты не можешь быть в Тиме. Как быть?

Ответы179091791218049

9 янв, 17:16 391 1117820

>>1117789
>Подход тот же, что у ангуляра, что в свое время перевернул реакт
Кто кого перевернул?

Ангуляр - это MVVC - фреймворк, тяжёлый ентерпрайз-монстр, а Vue - это View-слой, агностичный по отношению ко всему остальному в приложении. А директивы - ничего не значат. Давай тогда всё, где встречается {{}} - синтаксис называть заменой хандлебару

9 янв, 20:23 392 1117909

>>1117815
Привет. Я Тима. Что надо?

Ответы18048

9 янв, 20:30 393 1117912

>>1117815
хотя бы вайпер купи.

10 янв, 05:59 394 1118048

>>1117909
В тебе были некурящие?

10 янв, 06:17 395 1118049

>>1117815
Я думал курить для программиста - табу. Умный человек курить не может. Ящитаю.
Как и быть жирным. А если человек жирный и курит, он вообще отброс.

10 янв, 10:07 396 1118074

Куда перекатываться с фронтэнда?

Ответы18099

10 янв, 11:39 397 1118099

>>1118074
В гроб

Ответы18302

10 янв, 17:07 398 1118244

>>1108645
>>1116282
>крипт правил немного заголовок картинки.
google javascript canvas

10 янв, 17:08 399 1118245

>>1108645
>>1116282
>крипт правил немного заголовок картинки.
google javascript canvas

10 янв, 19:25 400 1118302

>>1118099
Почему?

Ответы18368

10 янв, 21:26 401 1118368

>>1118302
Необратимое повреждение головного мозга.

11 янв, 15:24 402 1118709

Анон, пробовать наварачивать пхп вместе с жс, или каша получится? Жм уже месяца 4 наворачиваю, но чет как то грустно все.

Ответы18741

11 янв, 15:48 403 1118718

Двач, есть json-чик со списком городов и их координатами - "coordinates": {"lat": 31.230393, "lon": 121.473704}

Куда можно скормить мой json, чтобы он среди всех городов нашёл, например, 5 самых близких координат к тем, что я укажу? Нужно кокочать геобазу и ajaxом отправлять к PHP?

Ответы18721

11 янв, 15:59 404 1118721

>>1118718
For

Ответы18722

11 янв, 16:00 405 1118722

>>1118721
Объёмный ответ.

Ответы18738

11 янв, 16:54 406 1118738

>>1118722
Я бы так сделал.
Топ 5 самых близких городов и циклом перебирать все из жсона.
Если текущий ближе, чем 5й в списке, то удалять 5й, и заменять его текущим и сортировать топ5, чтоб в конце был самый дальний.
Воооот.

Ответы18857

11 янв, 17:00 407 1118741

>>1118709
Если тебе 16 лет, пробуй. "Специалисты", умеющие и то и то ценятся у всяких "сделай сайт".

101 Кб, 523x721
11 янв, 19:32 408 1118801

В slack конфе весело. Смотрим боку но пико всей конфой. Заходите к нам!

11 янв, 19:36 409 1118802

Ccылка на конфу в шапке.

42 Кб, 1386x871
11 янв, 22:47 410 1118857

>>1118738
Решил свою задачу. Оказывается, есть крутая формула по определению векторного расстояния между двумя точками. Система образования в шкалах - це пиздец, конечно.
Эта формула - материал 9-го класса. Но нахуя в школе рассказывать, зачем это нужно? Можно просто сказать РЕШАЙ СУКА ЗАДАЧУ МРАСЬ. Пиздец жалею, что матан не учил.

Ответы1886518918

8 Кб, 200x200
11 янв, 22:55 411 1118859

Возможно не для этого треда вопрос, но в фронтенд-треде не ответили:
Где найти этот курс полностью? - https://codedojo.ru/store/nodejs-basics
На раздаче nnm-club'а не достает некоторых важных уроков, также как и на coursehunters.

Ответы18953

11 янв, 23:03 412 1118865

>>1118857
Формула может и крутая, только мы живём на сфере и для таких расстояний ебёмся в символы Кристофеля. надо считать хотя бы так http://osiktakan.ru/geo_koor.htm

Но для сравнения сойдёт и твой вариант. Только не забудь о переходе через полюс/180 меридиан

12 янв, 02:14 413 1118913

Анон, я пытаюсь в фуллстак и не могу. Чувствую себя ужасно тупым. Ни определиться, ни начать говнокодить.
Надо сделать простенький проект уровня одностраничной параши, которая на каждое изменение в базе реагирует для всех клиентов. Добрался до стека React+Apollo и вроде бы неплохо, но кэш с состоянием для клиента максимально уебищный, плюс на новой версии они откатили поддержку Redux/MobX.
Вопрос: продолжать ли ебаться с аполлой или просто не выебываться и настраивать вебсокеты отдельно?

Ответы18931

12 янв, 03:12 414 1118918

>>1118857
Анон, ты сам рисовал пичку? Если да, то в чём?

Ответы20462

12 янв, 06:42 415 1118931

>>1118913
Я может чего-то недопонимаю но апполло не является ли очередной прослойкой для взаимодействия с GraphQL API? С кешем и шлюхами. Ну т.е. я хочу сказать разве это предполагает отдачу риал-тайм изменений в базе? Мне кажется в любом случае вебсокет соединение надо открывать. А для простенькой одностраничной параши изолированный глобальный контейнер состояния вроде редакса и не нужОн.

12 янв, 10:06 416 1118953

>>1118859
Серьёзно? Чтоб понять основы node.js тебе нужен видео курс? Именно этот видео курс? Тысячи других бесплатных не подойдут? Миллионы статей, где разжевано всё для дебилов, тоже?
Нахуй так жить?

Ответы19151

12 янв, 10:26 417 1118957

Помогите пожалуйста, где можно прочитать про побитовые операции? Сейчас читаю на learnjs, но там не очень понятно.
Может есть видео урок или книга, где всё разжевано объясняется?

Ответы1896219004191341996719970

12 янв, 10:42 418 1118962

>>1118957
Для надо знать что такое двоичная система исчисления, дальше всё просто.

21 Кб, 480x360
12 янв, 13:27 419 1119004

>>1118957
> где можно прочитать про побитовые операции
какой пиздец

12 янв, 18:50 420 1119134

>>1118957
Вот тебе с табличками, где указано какая операция что сделает с примерами
https://learn.javascript.ru/bitwise-operators

12 янв, 18:52 421 1119136

test

12 янв, 19:45 422 1119151

>>1118953
Ну мне понравился этот чел с ютуба, объясняет намного лучше, чем другие 90% ебланов, которые просто пересказывают доку.

12 янв, 20:20 423 1119162

Поясните за болд, с какой недели включается, через сколько после последней инъекции выключается и можно делать пкт. Хочу сделать с энкой или сустом, а то вот давеча слез с 6 недельного проп - метан - рассчитывал на волшебство коротких курсов, супер быстрого восстановления... ну проебался кароч. Ща думаю успею 12 недель сделать или нет до жары. К тому же никогда не делал два курса подряд почти, сцыкотно.
ps на первой недели пкт узнал что моя телка мне изменила - два дня не жрал, с 87 до 84,5 при росте 173. Если нет спокойствия в жизни нехуй и курсить.

Ответы19165

12 янв, 20:45 424 1119165

>>1119162
пардон, не в тот

12 янв, 21:50 425 1119182

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

Ответы192762022220255

12 янв, 23:12 426 1119216

Как всякие html5 чарты засунуть в реакты и прочие вуи?

Я делаю новый div id=chart в компоненте, объявляю new CanvasJS.Chart("chart"), рендерю его через render(), вызываю все это в лайфсайкле компонента, но нихуя не происходит.

13 янв, 02:07 427 1119276

>>1119182
Jquery & bootstrap - не нужен.
Webpack - помогает тебе собрать твой проект, позволяет автоматизировать кучу задач, которые ручками ты не сделаешь. Например - минифицировать код, скомпилировать код препроцессора на обычный css и т.д
npm & yarn - позволяет устанавливать пакеты, которые необходимы для сборки проекта.
less/sass/stylus и т.д - препроцессоры, которые позволяют тебе облегчить написание css кода, добавив в него новые возможности/синтаксис. Есть еще постпроцессор, который называется postCSS, но я с ним не работал, сказать про него ничего не могу. Лучше пускай другие ребята пояснят.
ES6 - некая спецификация, такой язык, на основе которого сделаны js/typescript/dart.js и т.д.
Наследование в js - просто красивая обертка над прототипами.
Пускай более опытные меня поправят, если что не так написал.

Что такое >лодаши, рамды я не знаю, т.к только вкатываюсь, также как и ты.

Кстати, молодец, что решил учить реакт сразу. Я с вью начал - всё очень просто, отличный фреймворк, вопросов нет, но его недостаток(имхо конечно же), это его излишняя простота. Изучая его, ты не изучаешь js по-сути, а изучаешь фреймворк. А Реакт завязан на js, поэтому помимо изучения фреймворка ты еще и скилл нативного js качаешь.

Ответы19279

13 янв, 02:44 428 1119279

>>1119276
>Jquery & bootstrap - не нужен.

Jquery & bootstrap - классика жанра, которая будет работать в 99.99% случаев, если еще и заполифилить. Вариант для бизнеса.

Если делать какой-нибудь проект для себя в 2018-ом. Я бы юзал какой-нибудь:
React/Vue + SemanticUi/MaterializeCSS + Hugo + Caddy
Для продвинутых можно было бы юзать webcomponents.

Думаю через лет 5-7 у манагеров начнут нормально грузиться сайты с килотоннами js. Либо, когда все пересядут на i3+/FX/ryzen, либо же появится повсеместная поддержка webassembly. Вот, тогда да, можно будет говорить о react-ах, ангулярах, vue и иже с ними.

Ответы19440

13 янв, 03:34 429 1119291

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

Ответы19442

13 янв, 11:53 430 1119339

>>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 скрипт ввести, чтоб оно заработало?
Кто-нибудь вообще пробовал привязывать какие-нибудь горячие клавиши к элементам страницы?

Ответы19442

13 янв, 12:31 431 1119348

Нашел интересный проект на гитхабе https://github.com/reactioncommerce/reaction
Как понять из какого файла и с какой строчки стартует весь проект? Или может быть есть уже отработанные техники понять как работает весь этот проект?

13 янв, 16:28 432 1119440

>>1119279
Можешь рассказать про последние два? Что это вообще, не могу понять, хьюго, кэдди вообще не нашел походу, какую-то нпм команду выдает

Ответы1948019727

13 янв, 16:29 433 1119442

>>1119339
Да, есть метод онкей пресс
>>1119291
почему просто не поставишь листенер и присваивать класс шоу-хидден?

Ответы19701

13 янв, 17:42 434 1119480

>>1119440
Хьюго - статик сайт генератор на реакте.
Кэдди - я хз.
Другой анон.

Ответы19581

13 янв, 18:16 435 1119499

Гаес, не могу в джаваскрипт. Патологически. Вообще нихуя не понимаю ни одного кода на нём написанного. При том, что хоть и хуёво, но пробовал много языков и всего такого.
Очень тяжело. Видимо, я не понимаю сам принцип его работы.
Решил посмотреть на примере расширений для Firefox. Всего-то хотел сделать переключаемый режим для чтения (в духе Пока активно - открывать любую ссылку как about:reader?url=ссылка). Но я ВООБЩЕ НИХУЯ не написал. Я не понимаю, как именно используются listener'ы здесь, вообще нихуяшечки не понимаю. Сука.
Что мне читать? Базовый курс JS я знаю, на той же CodeAcademy вполне успешно всё проходил. Про сами WebExtentions, вроде, тоже прочёл и те расширения, что идут у мозилл как примеры написал и понял.

Но по итогу ничего из этого не вынес :(

Как так-то? Как жить, пацаны?

Ответы19580

13 янв, 21:38 436 1119580

>>1119499
Мне по ютубу нравится учить. там есть всякие каналы популярные типа траверси или лернкод академи. В них за 20-40 минут одна тема-миниапп дается.

Ответы19684

13 янв, 21:40 437 1119581

>>1119480
Я вроде посмотрел на этот хьюго, но не понимаю, зачем он нужен

16 Кб, 443x408
14 янв, 00:36 438 1119655

С хуя ли на js такой длинный код? Чтобы тупо вывести статичную картинку в канвас, приходится говнокодить без малого 25 строк. Это вообще нормально?

Ответы1968720650

14 янв, 01:23 439 1119684

>>1119580
ненавижу видяхи, братан. Они то слишком медленные, то слишком быстрые, то мудак какой-то ведёт картаво-шепилявый то, если зарубежное, с каким нибудь просто странным говором. Так блять ненавижу.
Я посмотрю конечно те конкретные каналы, что ты назвал, вдруг убергоднота, но, всё же, я больше по статьям и текстовым материалам угараю.

Есть ли что-то в духе ренпаевской вики? Самый удобный тип документации и прочего, что я видел, хоть и несколько медленно обновляющийся.
И ещё желательно статью, а не книгу, про философию и этику кода на этом вашем JS. Просто, ну, вот с джавой - с самого начала тебе ебут голову тем, как правильно и вообще ТруЪ оформлять код, называть функции и классы и на любой вопрос есть ответ, как в уставе. Для шарпа тоже видел такой материал, даже для ПХП, хотя, судя по всему, большая часть кодеров, даже тех, что модули пишет, в рот эти рекомендации ебали.

А вот для JS я не нашёл. Может мне именно из-за непонимания так больно и непонятно читать его?

14 янв, 01:24 440 1119685

Кофескрипт жив там? Пару лет назад писал небольшой проект на нем, хочу еще посмотреть

14 янв, 01:26 441 1119687

>>1119655
Вот, кстати. Один из вопросов к читаемости - когда функции присваиваются как значения куда-то (ну, визуально это так выглядит, аймин), при том, это просто ready=true, я не особо вижу смысл в функции со своим дохуя не веб-ореинтированым подходом.
Хотелось бы именно статью или док, который объясняет, схуя ли именно так, а не как у людей и которая хотя бы попытается меня убедить, что это логично и правильно, а не как $ в пхп. А я ей попытаюсь поверить, правда-правда

14 янв, 02:01 442 1119701

>>1119442
>онкей пресс
Нет, ты не понял. Я не админ биржи, я просто юзер,
и я вижу кнопку "Buy BTC".
Я не могу залезть в исходник на сервере, и в JS скрипты там,
но я полагаю, что к кнопке, имеющей id
можно на стороне клиента привязать горячие клавиши, активирующие её.
Ну, чтобы если появляется вдруг заявка на продажу по низкой цене
(а они появляются и тут же пропадают) - купить сразу, выбрав ордер и нажав комбинацию клавиш, причём одним нажатием горячей клавиши,
вместо того, чтобы ялозить мышкой аж туда к этой кнопке
и ещё и попадать в эту кнопку ебучую.
Биржа - cryptopia.co.nz

Ответы19708

14 янв, 02:49 443 1119708

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

Ответы19713

14 янв, 04:58 444 1119713

>>1119708
Во-первых, лимитный ордер видно, а значит продавцы позадирают цены рассчитывая на закуп этого объема,
во-вторых выше него обязательно понаставят много ордеров на какие-то копейки - задирая цену так,
что его и не видно будет,
в-третьих, не так часто бывают крупные сливы в противовес стремительно-растущему тренду,
и в-четвёртых - можно поставить buy limit, пойти поссать, а потом прийти и увидеть внезапный обвал.

Здесь задача состоит в том, чтобы открыть как можно скорее позицию не buy limit, а buy market,
когда кто-то сливает значительный объем в сторону обратную стремительно растущему тренду,
который можно отлеживать на том же минутном графике на бирже bitmex.com
При сливе значительного объема по рыночной цене, обрабатывается первая позиция buy limit
на сумму каких-то там сатош, а оставшаяся часть повисает в виде позиции sell limit,
которая представляет из себя стенку, быстро прогрызаемую хомяками.

Поэтому, здесь нужно открыть позицию buy market на сумму этого ордера, причём как можно скорее,
пока её не раскупили.
Для этого, на криптопии, нужно сделать два клика - первый клик по самой позиции,
второй клик, после автозаполнения формы - по кнопке BUY BTC,
и кроме двух кликов - надо проялозить курсором мыши от позиции до кнопки, и попасть в эту кнопку.
Было бы намного удобнее один раз кликнуть по позиции с последующим нажатием
неких горячих клавиш для активизации этой кнопки.

Но как это сделать - ума не приложу.

>onkeypress="скрипт"
Это что вписать в исходный код страницы рядом с id от этой кнопки???

14 янв, 04:58 444 1119713

>>1119708
Во-первых, лимитный ордер видно, а значит продавцы позадирают цены рассчитывая на закуп этого объема,
во-вторых выше него обязательно понаставят много ордеров на какие-то копейки - задирая цену так,
что его и не видно будет,
в-третьих, не так часто бывают крупные сливы в противовес стремительно-растущему тренду,
и в-четвёртых - можно поставить buy limit, пойти поссать, а потом прийти и увидеть внезапный обвал.

Здесь задача состоит в том, чтобы открыть как можно скорее позицию не buy limit, а buy market,
когда кто-то сливает значительный объем в сторону обратную стремительно растущему тренду,
который можно отлеживать на том же минутном графике на бирже bitmex.com
При сливе значительного объема по рыночной цене, обрабатывается первая позиция buy limit
на сумму каких-то там сатош, а оставшаяся часть повисает в виде позиции sell limit,
которая представляет из себя стенку, быстро прогрызаемую хомяками.

Поэтому, здесь нужно открыть позицию buy market на сумму этого ордера, причём как можно скорее,
пока её не раскупили.
Для этого, на криптопии, нужно сделать два клика - первый клик по самой позиции,
второй клик, после автозаполнения формы - по кнопке BUY BTC,
и кроме двух кликов - надо проялозить курсором мыши от позиции до кнопки, и попасть в эту кнопку.
Было бы намного удобнее один раз кликнуть по позиции с последующим нажатием
неких горячих клавиш для активизации этой кнопки.

Но как это сделать - ума не приложу.

>onkeypress="скрипт"
Это что вписать в исходный код страницы рядом с id от этой кнопки???

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

14 янв, 05:01 445 1119714

>>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>

14 янв, 07:27 446 1119722

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

14 янв, 08:42 447 1119727

>>1119440
Да, тут все просто.
Hugo - static site generator. Клепаешь шаблоны, связываешь внутри все стили, настраиваешь структуру проекта, компилишь все это в обычную статику, где все будет разложено по папкам, деплоишь на сервак.
Caddy - http/2 & https web server. Если знаешь, что такое apache или nginx. То вкуришь.

14 янв, 12:46 448 1119787

Ура! Пайп оператор в пропозалах спеки, Бабель уже поддерживает.
https://github.com/tc39/proposal-pipeline-operator
Мимо слоупок

Ответы2025620259203142044321956

14 янв, 19:40 449 1119967

>>1118957
Они в JS не используются. Забудь.

Ответы20070

14 янв, 19:53 450 1119970

>>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

14 янв, 20:42 451 1120006

есть у кого доступ к решению этой задачи ? : https://www.codewars.com/kata/take-a-number-and-sum-its-digits-raised-to-the-consecutive-powers-and-dot-dot-dot-eureka/javascript
ток зарегался на кодеварс и доступа к решению пока нет почему-то. а очень хочется узнать как эту задачу решить

14 янв, 22:41 452 1120070

>>1119967
Да ну. Ну-ка приведи мне целое к IP без побитовых операций.

15 янв, 00:12 453 1120096

Нужно ли хорошо знать CS для фронтенд разработчика?
Я открыл одну из книг по алгоритмам, она вводная, но материал очень сложный для восприятия, т.к уровень моей математической подготовки - 7/8 класс. И я очень сильно парюсь теперь с этим: Скачал учебники, начиная с 7 класса и просто начинаю изучать материал и прорешивать задачи для школьников, лол.
С этим проблем нет, но я примерно прикинул, что для решения всех или почти всех задач с 7 по 11 класс, включая алгебру и геометрию необходимо не меньше года, если интенсивно заниматься, более 4 часов в день. К этому добавляем знание английского, на уровне intermediate, который с elementary апается примерно за год и получаем как минимум 2 года изучения этого всего, что бы только начать знакомиться с CS. А на изучение CS по курсам MIT потребуется еще как минимум 1 год, но это в лучшем случае и если заниматься каждый день более 8 часов. А в обычном темпе, я думаю, на это уйдет не меньше двух лет, если ты не тупой.
Кстати, говорю я про этот курс - https://github.com/ossu/computer-science , что думаете о нем? Мне показалось очень годным, очень заинтересовался этим.
Вот и вопрос, с связи с этим - сильно ли я загоняюсь? Я считаю, что нет, ибо без знания таких фундаментальных вещей программист не апнется выше миддла. Что скажете вы? посещают или посещали ли вас такие мысли, как мне?

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

Ответы2010620125

15 янв, 01:19 454 1120106

>>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 на отличном уровне. Поэтому очень сильно напрягает, что я с трудом читаю материал на английском, а Кнута вообще не понимаю, но хочется. Хочется, потому что хочется быть действительно опытным специалистом, а не вебмакакой, коих большинства.
Вебмакака? Да любой программист макака, если судить серьёзно. Программист ведь обычный рабочий, который работает на дядю и получает свои деньги. Хочешь действительно быть ахуенным, то вкатывайся в Науку про данные, Машинное обучение и Компьютерные науки в целом. Платят нихуя, но зато чсв будет размером с луну.

мимо недавно вкатившиеся студентик, описанное выше не воспринимай серьёзно, это только моё мнение, я если честно, не знаю даже что такое тактовая частота и процессора, поэтому мог говна сказать

15 янв, 01:19 454 1120106

>>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 на отличном уровне. Поэтому очень сильно напрягает, что я с трудом читаю материал на английском, а Кнута вообще не понимаю, но хочется. Хочется, потому что хочется быть действительно опытным специалистом, а не вебмакакой, коих большинства.
Вебмакака? Да любой программист макака, если судить серьёзно. Программист ведь обычный рабочий, который работает на дядю и получает свои деньги. Хочешь действительно быть ахуенным, то вкатывайся в Науку про данные, Машинное обучение и Компьютерные науки в целом. Платят нихуя, но зато чсв будет размером с луну.

мимо недавно вкатившиеся студентик, описанное выше не воспринимай серьёзно, это только моё мнение, я если честно, не знаю даже что такое тактовая частота и процессора, поэтому мог говна сказать

Показать весь текст

15 янв, 02:41 455 1120125

>>1120096
Ловлю себя на такой же ерунде, хочется всё досконально проработать. На деле уже знаю большую часть и просто убиваю время. Тот же eloquent javascript написан как книга отлично, но мне по-хорошему её только просмотреть и валить читать спеки es6+.

15 янв, 04:46 456 1120147

Можно ли определять функции с семантикой let вместо var?
https://pastebin.com/GVtjD2nf

Ответы20156

15 янв, 06:42 457 1120156

>>1120147
Очевидно, что нет. Для объявления функций как было ключевое слово function, так и остается.

Но твой вопрос заставил вспомнить об одной малоизвестной штуке в ES6 (для меня, лично) - функции, объявленные в блоке, получают block scope. То есть становятся как бы уже объявленными, как переменные с let. Ну или const. Хз, кто вообще это использует...

Ответы20158

15 янв, 07:12 458 1120158

>>1120156
>функции, объявленные в блоке, получают block scope.
Но ведь он в коде своё показал, что это не так.

Ответы2016220163

15 янв, 07:22 459 1120162

>>1120158
Точнее, так-то оно так (поспешил я), но в глобал последнее объявление всё равно пихается. Ну либо реализации ФФ и repl.it'а кривые - https://repl.it/repls/ProfuseIntentMaggot
А в ноде в глобале остаётся наиболее внешняя - https://repl.it/repls/InfantileShabbyAlpinegoat

Вся суть JS'а, короч.

15 янв, 07:23 460 1120163

>>1120158
Ноуп, в последнем блоке неверный синтаксис, что я и сказал. Убрать let нужно и будет просто объявление функции. В блоке.

Ответы20164

15 янв, 07:29 461 1120164

>>1120163
Так я не про последний говорил, а про первый, lol(). В посте выше, в общем, всё есть.

Ответы20165

15 янв, 07:36 462 1120165

>>1120164
Понял тебя, анон, пост посмотрел, сам озадачился, и выяснил, что block-scoping работает, но только в strict mode.

Ответы20172

15 янв, 08:47 463 1120172

>>1120165
Спасибо, в strict mode действительно всё хорошо.

15 янв, 12:12 464 1120222

>>1119182
>жквери
Либа для замены querySelector и Fetch в старых браузерах. В 2018 не нужна.

>лодаши
Либа (_) с всяким сахаром и повседнемными функциями. Частично имеет альтернативу в функциях es6.

>рамды,
Хз

>бутстрапы,
Большой scss-фреймворк+стандартная либа на этом фреймворке. Ситуация примерно как с жквери, но бутстрап можно юзать для быстрой сборки админок или прототипов, ибо в нём есть всё и его знают все. Для собственных проектов достаточно грида из pure или flexgrid или самописного

>материалайз,
То же, что и бутстрап, но в дизайне Material Design, включает некоторые фишки для материал-дизайна.

>постсss,
Эти штуки добавляют префиксы к готовому цсс, делают оптимизации и минификации. Учить там неего, подключил в вебпак и сиди в хуй не дуй

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

Ответы20255

15 янв, 13:28 465 1120255

>>1119182
>>1120222
>рамда
либа для поехавших функциональщиков
обычным людям хватает лодаш/андерскора + иммутейбл структур

Ответы20399

15 янв, 13:30 466 1120256

>>1119787
я бы не радовался, больше похоже на хуйню чтобы было
есть полноценная продуманная система lisp, нет надо ото всюду тащить говно по кусочкам

15 янв, 13:35 467 1120259

>>1119787
А нахуй оно надо? Так сложно написать код наоборот и вызвать функцию?

Ответы20393

15 янв, 15:02 468 1120299

как можно перевести строчку в пример?
по типу
let primer = '228/114'
let chislo = ????
chislo = 2

Ответы203052030720401

15 янв, 15:07 469 1120301

Ребят, извините, я с JS не знаком, но всё же.
Все мы знаем, как можно выудить у пользователя-долбоёба нужные куки, полученные через строчку кода, но это хуйня.
Я вот не понимаю - в последнее время столько хайпа вокруг Spectre и Meltdown, все только и обсуждают, кто в зоне риска и как защититься. Но как использовать - я не понял.

Каждый видел вот этот видос с примером использования Мелтдаун.
https://www.youtube.com/watch?v=RbHbFkh6eeE

Окей, здесь это - постановка, чувак просто ввёл необходимый адрес памяти.
Но доступна ли такая фича рядовым пользователям? Как нам найти необходимый адрес памяти, как вообще можно использовать эту хуйню для взлома?

Или же это действительно заёбная хуйня и её будут использовать для шпионажа и прочей поеботы далеко не рядовые пользователи?

Ответы20310

15 янв, 15:10 470 1120305

>>1120299
let chislo = eval(primer);
и убей себя, мерзкая, ничтожная, отвратительная мразь. за переменные транслитом тебя нужно кинуть в топку газенвагена, ущерб сраный

Ответы20312

15 янв, 15:11 471 1120307

>>1120299
Даже я знаю, что через eval. Калькулятор делаешь в лабе2?

Ответы20312

15 янв, 15:11 472 1120310

>>1120301
уже давно все расписали
https://cryptome.org/2018/01/spectre-meltdown.pdf

Ответы20327

15 янв, 15:13 473 1120312

>>1120307
sorry я же trolling
>>1120305
да

15 янв, 15:16 474 1120314

>>1119787
Бабел7 нужен для этого оператора?

Ответы20393

15 янв, 15:45 475 1120327

>>1120310
Ух бля, спасибо, розберусь

Ответы20692

15 янв, 18:12 476 1120393

>>1120314
Да, но нужен плагин: https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-pipeline-operator

>>1120259
Чтобы не городить вложенные вызовы функций, очевидно же.
Вместо нечитаемой хуиты навроде const result = callThatLast(callThisOnBeforeLastCall(callNext(callFirst()))) или
const resultOfFirstFn = callFirst()
const resultOfNextFn = callNext(resultOfFirstFn)
... и так далее,
пишем компактный и декларативный код:
const result = callFirst()
|> callNext
|> callThisOnBeforeLastCall
|> callThatLast

разве не охуенно?

Ответы204162044320544

15 янв, 18:20 477 1120399

>>1120255
>либа для поехавших функциональщиков
Поехавшие функциональщики наворачивают пюрешку, скалку-жоэс, или Эльм.
Речь, естественно, о хардкорных приверженцах фп на фронте.

А рамда это так, развлекуха.
Тем не менее подобные либы, взять тот же Sanctuary, позволяют писать более безопасный код.

15 янв, 18:22 478 1120400

объясните чем ооп от фп отличается плизки

Ответы20441

15 янв, 18:23 479 1120401

>>1120299
Окромя эвала паттерн матчингом можно, но нудно.

Ответы20402

15 янв, 18:25 480 1120402

>>1120401
это как?

15 янв, 19:04 481 1120416

>>1120393
Их точно так же можно отформатировать на несколько строк.
Ну, в общем, в определённых случаях опрятнее выглядит, да, лишь бы только не начали использовать это для функций с 2+ аргументами, городя анонимки везде.

15 янв, 19:56 482 1120441

>>1120400
Количеством букв.

15 янв, 20:00 483 1120443

>>1119787
>>1120393

Совершенно непонятно, зачем новый синтаксис лепить, если можно просто:

compose(
callFirst,
callSecond,
callThird,
);

Реализация этой функции есть как минимум в Redux, и вообще её propos'ают в прототип Function. А вы тут со своим уродливым "|>".

Ответы204532045421944

15 янв, 20:04 484 1120444

Лучше бы перегрузку операторов через символы довели до конца. Тогда бы пайплайн можно было бы реализовать привычным |

15 янв, 20:12 485 1120453

>>1120443
что ты имеешь против клювика падла

Ответы20712

15 янв, 20:14 486 1120454

>>1120443
> Реализация этой функции есть как минимум в Redux
Композиция есть во многих fp-like либах. Речь шла о том, попадет ли это пропозал релиз новой спеки, или останется висеть в стейджах ебабеля.
> и вообще её propos'ают в прототип Function
Помимо композиции из банальной очереди, есть плюшки с await'ами и подстановкой аргументов.
> А вы тут со своим уродливым "|>"
Чому уродливый? Выглядит абсолютно так же, как и лаконичный pipe-forward в F#.

Ответы20712

15 янв, 20:28 487 1120462

>>1118918
Отсюда взял. https://algebra24.ru/rasstojanie-mezhdu-dvumja-tochkami

15 янв, 23:13 488 1120544

>>1120393
Действительно выглядит охуительно.

16 янв, 02:17 489 1120625

Анон, я дёргаю MongoDB через GraphQL+Apollo, и надо сделать наследование один-ко-многим, типа один пост => тыщи комментариев.
Скажи, мне надо для комментариев делать отдельную collection и пихать в каждый объект коммента postId или можно сделать нормальную вставку, типа массива комментариев в каждом объекте поста?

Ответы22274

16 янв, 05:20 490 1120650

>>1119655
Потому что кодер еблан.
Там половину можно выкинуть

16 янв, 09:48 491 1120692

>>1120327
Ну как, хакер мамкин, разобрался?

16 янв, 11:34 492 1120712

>>1120453
>>1120454

Ладно, ладно, "клювик"по мне так флажок не уродливый, я просто погорячился))

Просто как-то не очень восхищен FP, больше люблю играться с объектами...

46 Кб, 1000x1000
16 янв, 18:36 493 1120876

Сап ангулярач. Вопрос по angular reactive forms, как можно не особо костыльным образом сделать форм контрол с деревом чекбоксов? (2 уровня).
С сервера приходит массив категорий вида:
{name: 'Категория 1', subcategories: [{id: 25, name: 'Подкатегория 1'}]},
{name: 'Категория 2', subcategories: [{id: 27, name: 'Подкатегория 2'}]}
на выходе надо получить массив айдишников подкатегорий(на категории похуй). то есть например [25, 27].
Как выглядит смотри пикрил. Не могу понять как покрасивее связать это с FormGroup

16 янв, 19:14 494 1120885

Анончик, есть тут те, кто юзает jest+puppeteer? Скинь литературы, а до документации не очень хватает

Ответы2088720908

16 янв, 19:15 495 1120887

>>1120885
>то
быстрофикс

16 янв, 20:21 496 1120908

>>1120885
Сейчас читаю доку jest'а, посмотрел на этот puppeteer - это что, выходит, можно писать типа...e2e-тесты с помощью jest'а?

Ответы20911

16 янв, 20:36 497 1120911

>>1120908
Именно. Это мне и нужно. Пробовал писать тесты на jest'е: все хорошо, но в связке с pupperteer ничего не выходит

16 янв, 21:37 498 1120936

Господа. Подскажите, что предпочтительней выбрать: роллап или вебпак? Для сборки реакт-редакс проекта на ПК, где есть Нода и Нпм, но больше ничего нет, никаких cli, и нет интернета.
Хочу сделать бойлерплейт, который можно скопировать как обычную папку и он работал бы

17 янв, 00:11 499 1121016

Господа- вот вам идея для расширения грязной обезьяне наверное:
на мылооблаке нельзя скачивать более 4гб
поэтому я хочу качать хотя бы большими part'ами идеально чтобы можно было регулировать максимальный размер
Т.е. я хочу получать список кусков всей папки по мановению волшебной кнопки

17 янв, 07:05 500 1121076

>>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 алерта. Тут у меня возник вопрос: нет, я конечно понимаю, что я даун (но ведь я новичок хули вы хотели то), но в каких случаях пригодится вот этот вот СлушательСобытий вместо написания просто в одной функции всех действий, которые мне нужны?

Ответы211102111321117

17 янв, 09:26 501 1121110

>>1121076

1) Разделение кода для читаемости/тестирования, в мало-мальских больших проектах иначе никак.

2) Подключаешь ты такой кучу разных жиквери-плагинов-хуягинов и прочих виджетов, и каждому надо, например, ловить click на том же body и делать что-то своё. Но он не может взять, и добавить в тело уже кем-то поставленной в body.onclick функции свой код хотя можно взять и обернуть, наверное, но это уже из области ебы. Вот он и вешает свою функцию с помощью addEventListener.

17 янв, 09:32 502 1121113

>>1121076
Всё потому, что лёрн.жаваскрипт - параша.

document.body.onclick - это просто сокращённая запись для даунов и старых ИЕ, делает она абсолютно то же самое, что и

addEventListener, и использовать нужно именно addEventListener, просто потому, что это просто и понятно.

Что касается нескольких обработчиков, то да, вот эти куски кода делают одно и то же.:

// Обработчик
function handler(event){alert(event);alert(event.target)}

// Вешаем обработчик первым способом
document.addEventListener('click',handler)

// Вешаем обработчик вторым способом
document.addEventListener('click',handler)

// Вешаем обработчик анонимкой
document.addEventListener('click',function(event){ alert(event);alert(event.target) })

// Вешаем обработчик стрелочной анонимкой
document.addEventListener('click', event => alert(event))

А про .onclick, .onscroll и прочее прямо на элементе - лучше забудь навсегда. Это такой же моветон, как и использование инлайн-обработчиков типа <a onclick=""></a>

Ответы21115

17 янв, 09:33 503 1121115

>>1121113
document.onclick = handler;
document.onclick = function(){ ... }
document.onclick = ()=>{}

Туда же, забыл. Так вот это всё одно и то же, только через аддевентлистенер правильно, а наоборот - нет

17 янв, 09:39 504 1121117

>>1121076
но в каких случаях пригодится вот этот вот СлушательСобытий вместо написания просто в одной функции всех действий, которые мне нужны?

Да, как тут правильно сказали, если ты повесил через .onscroll, например, на боди что-то, а потом кто-то тоже хочет прицепиться к скроллу боди - то ему нужно писать через аддевентлистенер, и наоборот. Чтобы избегать проблем, лучше сразу писать как надо. Ограничивать себя в гибкости ради экономии пяти символов - плохая идея.

>просто в одной функции всех действий, которые мне нужны?
Как бы так и делается.

element.addEventListener('click', event => {

this.handler1();
this.handler2();
allah();
nebo();

})

17 янв, 21:14 505 1121392

Есть 2 варианта реализации метода:

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ой есть проблемы?

17 янв, 21:14 505 1121392

Есть 2 варианта реализации метода:

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ой есть проблемы?

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

17 янв, 21:17 506 1121396

>>1121392
исправил табы

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);

Ответы21398

17 янв, 21:18 507 1121398

>>1121396
нет, не исправил, но думаю все понятно

17 янв, 21:30 508 1121405

Почему в случае отсутствия объекта querySelector(".task") возвращает null, а getElementsByClassName("task")[0] - undefined ???

Ответы214282154921550

17 янв, 22:04 509 1121428

>>1121405
Ну одно результат работы функции, у неё там `return null;`, а другое undefined

17 янв, 23:49 510 1121474

Пссс, посоны

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

Собсна вопрос, как это блять сделать нормально без tempermokeny, jquery(а лучше бы и без js нахуй, кто-нибудь курил ClojureScript? Как оно?), да и так чтобы делиться с такими же говноедами как я было удобно.

18 янв, 02:33 511 1121549

>>1121405
Потому что в querySelector(".task") это результат вызова функции, а в getElementsByClassName("task")[0] результат обращения к коллекции.

Тебя же не смущает, что в
x = [1, 2]
x[2] //undefined

18 янв, 02:35 512 1121550

>>1121405
document.querySelectorAll(".task")[0] == document.getElementsByClassName("task")[0]

18 янв, 08:47 513 1121584

Если вас спросят на собеседовании про то, может ли быть выражение (a == 1 && a == 2 && a == 3) истинным, нужно не только правильно ответить, но и аргументировать свой ответ.

Ответы21587215892159621635

18 янв, 09:21 514 1121587

>>1121584
А у этого больше одного способа есть? А то я только слегка корявое решение придумал, которое сработает только под конкретно эти цифры.

Ответы21602

18 янв, 09:32 515 1121589

>>1121584
Может, если а - это обхъект с toValue, возвращающем инкрементирующееся значение

Ответы21602

18 янв, 09:42 516 1121596

>>1121584
const a = {}
a.iterator = 0
a.valueOf = function() {
this.iterator += 1
return this.iterator
}

Ответы2160221605

18 янв, 10:43 517 1121602

>>1121596
>>1121589
>>1121587
А зделойте так, чтобы оно всегда было равно любой комбинации из этих трёх чисел, в любом порядке. Возможно?

Ответы21605

18 янв, 10:59 518 1121605

>>1121596
const a = {value:0, valueof: ()=>++a.value}

>>1121602
Нет

18 янв, 12:26 519 1121635

>>1121584
Какие-то хуевые вопросы. Вот честно.
Попросили бы лучше решить простенький алгоритм/задачу. Посмотрели бы на умение собирать информацию. Еще бы спросили какой typeof null и что выведется в консоль [] + {}, а теперь {} + []. Пиздец. я бы вас прямо там нахуй послал.

18 янв, 15:55 520 1121753

>>1108498 (OP)
ОП, ты женат?

18 янв, 16:55 521 1121815

>>1121392

1) Нет. Обе должны отработать идентично (с точки зрения рядового программиста и тем более юзера). Разница в том, что первая реализация setTimeout'ит саму оригинальную функцию (savedThis) на выполнение через delay миллисекунд, а аргументы из обертки прокидывает в оригинальную, используя arguments (который уже legacy и deprecated, если по-хорошему), как третий параметр в setTimeout, в то время как вторая реализация также setTimeout'ит, но! свежесозданную стрелочную функцию, внутри которой вызывается оригинальная (f) в контексте от функции-обертки и аргументами, собранными с помощью rest/gather оператора. Как-то так.

2) Проблем нет ни в одной реализации. Переменные разве что названы не совсем понятно, я бы использовал "origFunc" вместо "savedThis" и "f".

Ответы23298

18 янв, 16:56 522 1121816

насколько зашкварно мутировать?
если я ажахом парсю апи и мутирую стейт это нормально?

Ответы2183921846

18 янв, 17:19 523 1121839

>>1121816
Мой товарищ @zintus ещё несколько лет назад придумал написать сервер на немутабельных структурах данных. Ты посылаешь серверу команду выключиться, а в ответ получаешь новый инстанс сервера, который выключен. По сей день это лучшая шутка про немутабельность из всех, что я слышал.

Ответы2190221936

18 янв, 17:25 524 1121846

>>1121816
Мутировать абсолютно нормально, если ты делаешь это максимально прозрачно и к стейту привязываешь новомодные фишки вроде прокси, которые форсируют ре-рендер вьюхи. И это, позвольте заметить, ничуть не хуже в плане производительности, чем чекать два состояния на диффы.

Ответы21902

18 янв, 18:13 525 1121902

>>1121839
>>1121846
а что лучше всего использовать для ажаха реактом?
так более-менее?
https://codesandbox.io/s/lp0nj74wo9

Ответы21971

18 янв, 19:09 526 1121936

>>1121839
Если это действительно стёб над всеми адептами Immutable.js и прочих изъёбов с иммутабельностью, то ору в голос.

18 янв, 19:17 527 1121937

Для итерации по числам всё так же нужно (let i=0; i<10; i++) или есть какой-то более модный способ?

Ответы21945

18 янв, 19:28 528 1121944

>>1120443
Compose и pipe — совершенно разные вещи. Pipe более выразительный и гибкий.

78 Кб, 867x907
18 янв, 19:29 529 1121945

>>1121937
Вот такую вещь с пикчи захерачь в свой код и можешь делать вкуснятину типа такой:

for (var i of 3) {
console.log( i );
}

// 0 1 2 3

Ответы21947219532195521957

18 янв, 19:33 530 1121947

>>1121945
Хотя добавлю, что гораздо проще написать аналог пайтоновской range (и/или xrange) и юзать в том же for..of.

18 янв, 19:49 531 1121953

>>1121945
этим и вправду пользуются?

Ответы21974

18 янв, 19:50 532 1121955

>>1121945

> for of
> var

Ответы21974

18 янв, 19:52 533 1121956

>>1119787
Дай угадаю, в TS по-прежнему никак?

18 янв, 19:54 534 1121957

>>1121945
Полагаю оптимизировать такое жс-движки вообще не умеют, но красиво, да.

Ответы21976

18 янв, 20:13 535 1121971

>>1121902
Что удобно, то и юзай.
Позже, если додрочишь до мозолей, быть может, будешь задаваться другими вопросами, например, как отменять in-flight запросы.

Ответы2198021990

18 янв, 20:15 536 1121974

>>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!?

>>1121955
Ой, ну брось.

18 янв, 20:17 537 1121976

>>1121957
> отменять in-flight запросы
Это возможно/имеет смысл? Данные уже ушли, запрос всё равно выполнится. Разве что у тебя какой-то длинный аплоад. Скорее нужно уже просто отвязать хэндлеры. Опять же, стейт на сервере уже изменился, смысл показывать пользователю не то что актуально?

18 янв, 20:21 538 1121980

>>1121971
Такое возможно лишь с помощью "The Abort API" для fetch'а, который только в Лиске есть, да в Едже, и то в недавних релизах лишь. Причем тут тогда "додрочишь до мозолей"?

Ответы21982

18 янв, 20:25 539 1121982

>>1121980
Додрочишь в том плане, что новичку такие вопросы в голову обычно не лезут, а для простых асинхронных запросов к серверу совершенно безразлично что использовать, хоть в связке с Реактом, что без него.

18 янв, 20:44 540 1121990

>>1121971
не знаю что такое in-flight запросы, но очень боюсь слишком говено говнокодить :[
что вообще нужно знать, чтобы быть полезным хоть кому-нибудь за бесплатно?

18 янв, 21:16 541 1122006

пиздец
зашел на кодварс высрал 10+ строчек на задание которое решается ОДНОЙ https://jsfiddle.net/dyt2ftp8/
у меня нет шансов?

Ответы220192202622030

18 янв, 21:29 542 1122019

>>1122006
Задание-то само не судьба написать, чтобы не приходилось по коду его выяснять? И да, пидарас таки умный, решение охуенное у него. И нет, шансы есть у тебя, я думаю.

Ответы22069

18 янв, 21:33 543 1122026

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

Резюмируя: не переоценивай свой мозг, ты всё равно на 99,9999999999% знаешь только то, что начитал/услышал от других людей.

Ответы22045

18 янв, 21:45 544 1122030

>>1122006
сынок, опыт приходит с возрастом... а там глядищь и натуралом станешь.

18 янв, 22:06 545 1122045

>>1122026
Предрасположенность к "гениальности" в том смысле, котором мы воспринимаем данное понятие, во многом определяется уровнем гормонов в организме будущего гения и генетически заложенными когнитивными способностями. Все остальное можно улучшать в определенных пределах, позволяя лишь немного возвыситься в интеллектуальном плане над уровнем серой массы.

18 янв, 22:43 546 1122069

>>1122019
массив
ряд чисел повторяются четное количество раз
одно число повторяется нечетное количество раз (максимум одно)
нужно его найти

18 янв, 23:07 547 1122083

А сколько у прогеров iq? Проходил кто-нить тесты?

Ответы220862208922091

18 янв, 23:15 548 1122086

>>1122083
я пока еще только вкатывальщик,но чувствую, что тяжело все дается
3 бесплатных из интернетов проходил: 85-90

Ответы2209122255

18 янв, 23:20 549 1122089

>>1122083
eq нулевой. iq от 90 до 140. Ниже 90 программирование не заходит. Выше 140 знают намного больше и не посвящают себя программированию на 100%. Чуть выше среднего короче.

Ответы22097

18 янв, 23:21 550 1122091

>>1122083
Ну я проходил. На разных ресурсах от 125 при первом прохождении и при всех последующих идет рост, вплоть до 142+. На самом деле некоторые мозги там иметь нужно, но почти все тесты показывают способность находить какие-либо закономерности из 8 картинок и выбрать девятую. Этому можно обучиться. Поэтому, имхо решает именно первый тест.

>>1122086
В случае JS'а, чтобы писать интерфейсы несложные и верстать не нужно больше 85 IQ. Если конечно не делать божественные адаптивные интерфейсы со сложными состояниями и анимациями. Да и то это придет к тебе просто с опытом.

Ответы2209322097

18 янв, 23:23 551 1122093

>>1122091
какой тогда смысл в iq тестах?

Ответы22097

18 янв, 23:25 552 1122097

>>1122089
>>1122091
Еще бы IQ хорошо коррелировал с финансовым состоянием его обладателя - было бы замечательно. На самом деле я бы свапнулл двадцаточку IQ на социализацию и нормальный work-life balance, возможно стал бы более счастливым человеком.

>>1122093
Попытка распределить статистику по какому-то абстрактному уменюю выбирать картинки? Почему ты спрашиваешь меня? Спроси создателей этих тестов. По сути они нигде официально не нужны. Есть профильные предметы, в нашем случае Computer Science. Вот с него и спрашивают и именно знание Математики и CS отличает макаку от программиста.

Ответы2210222120

18 янв, 23:32 553 1122102

>>1122097
а что из математики и CS нужно знать? не хочу становиться макакой.(

Ответы22150

18 янв, 23:44 554 1122120

>>1122097
Может ты просто накрутил себе лишнюю двадцаточку пока тест проходил?

19 янв, 00:22 555 1122144

Нахуй вообще нужен create-react-app. откуда там 40к звезд, что за говно ненастраиваемое. Хуй пойми как шрифты font-awesome приделать, дохуя чего попробовал в инете инфы ноль, я хуею.

Ответы2216222278

19 янв, 00:27 556 1122150

>>1122102
всё конечно же! Стадия макаки неминуема, а сейчас мы даже не макаки.
Сначала придется стать макакой, а потом человеком.

Ответы22184

19 янв, 00:39 557 1122162

>>1122144
как вообще create-react-app связано со шрифтами?

Ответы22169

19 янв, 00:48 558 1122169

>>1122162
Да просто этот реакт и бандлы ебучие, говно ваш вебпак, я из-за него устал. Буду всё через ссылочки на cdnы прикручивать теперь.

Ответы2217422181

19 янв, 00:51 559 1122174

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

Ответы22180

19 янв, 01:08 560 1122180

>>1122174
Знатно полыхнул)))0
мимо 4 дня настраивал вебпак

Ответы22196

19 янв, 01:09 561 1122181

>>1122169
не знаю что такое вебпак, но у меня все работает

19 янв, 01:18 562 1122184

>>1122150
Где материалы качественные брать то? Если по математике ещё можно найти, то для CS не понятно где их брать. Если таковые имеются, то прошу поделиться.

мимо другой анон

Ответы22196

19 янв, 01:41 563 1122196

>>1122180
У меня сейчас второй день и стадия отрицания.
>>1122184
курсы mit и проч, по отдельным темам типа алгоритмов годноту найти элементарно, даже в шапке нуб-треда ее дохуя

19 янв, 01:58 564 1122201

выразительный жаваскрипт что-то совсем не понравился
остальные книги сильно отличаются от него?

53 Кб, 604x604
19 янв, 02:03 565 1122203

Анон, я открыл для себя Cordova и захотел написать себе простую игру для смартфона. Как там отрисовать на экране контролы типа кнопок или джойстика? В гугле предлагают поставить еще пакетов или уйти от сабжа.

Ответы22216

19 янв, 02:36 566 1122216

>>1122203
кнопка <button> </button>
джойстик можно как угодно сделать, смотри https://developer.android.com/guide/topics/ui/ui-events.html
писать код можешь можешь нажимая на кнопки клавиатуры, но только если компьютер включен и открыт текстовый редактор

Ответы22217

19 янв, 02:39 567 1122217

>>1122216
Я думал, что, возможно, там есть какой-то хитрый способ использовать нативные контролы, а ты мне предлагаешь просто нарисовать свой костыль

Ответы22219

14 Кб, 251x242
19 янв, 02:44 568 1122219

>>1122217
ты ебанутый

Ответы22220

19 янв, 02:48 569 1122220

>>1122219
То есть по-твоему в каждой из потоке дрочилен в PlayMarket сделаны свои контролы?

Ответы2222222367

19 янв, 02:56 570 1122222

>>1122220
что такое потоке дрочилены в PlayMarket и что такое контролы?

Ответы22226

19 янв, 03:07 571 1122226

>>1122222
Так это ты ебанутый, а не я

Ответы22232

19 янв, 03:18 572 1122232

>>1122226
мне даже интересно стало о чем ты вообще
если что-то не сложное могу бесплатно сделать Window controlAbout Get support poiu\F!yrANUSnu=r&kePUNCTUMafriF>Jca

19 янв, 05:21 573 1122255

>>1122086
>3 бесплатных из интернетов проходил: 85-90
Плохо дело. В интернет-тестах обычно у всех менса-левел выходит.

19 янв, 09:33 574 1122274

>>1120625
Для создания релейшенов (не наследование блять) тебе нужно организовать геттер для модели отношение к которой ты будешь искать (в зависимости от ORM и бекенда которым ты пользуешься). На пике вариант с sequalize. Там геттер прописали уже за тебя. Потом в GraphQL схеме пишешь что-то вроде Query { ... blabla comments: [Comment], что тебе придет массив с нужными описанными типами. Тип Comment у тебя уже должен быть описан

119 Кб, 1352x724
19 янв, 09:33 575 1122275

Пик забыл прикрепить

19 янв, 09:41 576 1122278

>>1122144
ОГРОМНЫЙ, сука, README.md в официальном репозитории для кого?

https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-images-fonts-and-files

Ответы22343

19 янв, 12:22 577 1122343

>>1122278
Даже если он огромный,он не покрывает всех конфигураций вебпака. В ищусах был парень с проблемами как у меня, ну и его разработчик послал и закрыл темку, грит ну а чо нам все случаи покрыть надо, и вообще проблема вебпака а не наша

Ответы22371

19 янв, 12:40 578 1122348

последние пол года только с пистоном работал.
Че изменилось?
все уже на vue ?
гриды завезли ?
что актуально?

Ответы22373

19 янв, 13:26 579 1122367

>>1122220
По твоему каждая дрочильня из маркета написана на кордове, дебил?

19 янв, 13:40 580 1122371

>>1122343
Ты заебал. npm run eject и дрочись в свой вебпак, подключай хоть спиночесалку туда.

Ответы22379

19 янв, 13:43 581 1122373

>>1122348
>все уже на vue ?
На словах хайпят - в вакансиях один реакт. Реакт к вью 90:10 примерно.
>гриды завезли ?
А их куда-то увозили. https://caniuse.com/#search=grid хочешь - используй. Для покрытия 95% пользователей пока флексы, около 75% гриды.
> что актуально?
Знания ваниллы. +React + Node.js/Rest || GraphQl + Мозги

19 янв, 13:56 582 1122379

>>1122371
Иди нахуй, а мать твоя шлюха

19 янв, 21:26 583 1122567

8 Кб, 1059x10910 Кб, 861x10310 Кб, 327x98

пацаны подсобите с икспасом:
пытаюсь найти ноды с текстом xyi ( пик1 )
но также находятся ноды с текстом his xyi was so little

Ответы2256822602

19 янв, 21:28 584 1122568

>>1122567
то есть когда я ищу заголовок
Свойство F.prototype
ищется также
Свойство F.prototype и создание объектов через new
в xpath есть какой нибудь //*[containsexact(text(), 'blabla')]
?

Ответы22602

23 Кб, 769x86
19 янв, 22:12 585 1122602

>>1122567
>>1122568
исходя из
https://stackoverflow.com/questions/3206975/xpath-selecting-elements-that-equal-a-value
попробовал
консоль ругается дескать The string '//*[text() ='Chrome DevTools')]' is not a valid XPath expression.

19 янв, 23:40 586 1122648

Новый тред создаст кто?

Ответы22704

20 янв, 02:29 587 1122704

>>1122648
А зачем, мертвый тред мертвого языка

Ответы22726

20 янв, 06:08 588 1122726

>>1122704
Да поживёт ещё язык какое-то время.

20 янв, 21:09 589 1123038

>>1108498 (OP)
Шелкоме

https://2ch.hk/pr/res/1123037.html (М)
https://2ch.hk/pr/res/1123037.html (М)
https://2ch.hk/pr/res/1123037.html (М)

21 янв, 15:30 590 1123298

>>1121815
спасибо за ответ

Тред утонул или удален.
Это копия, сохраненная 25 февраля 2018 года.

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

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

« /pr/В начало тредаВеб-версияНастройки

/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.gq, m2ch.cf, m2ch.fapp.in, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion