Сохранен 590
https://2ch.hk/pr/res/1108498.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

JavaScript #93

 Аноним 16/12/17 Суб 21:52:06 #1 №1108498 
logojs.png
a-new-javascript-framework-is-coming.jpg
Ссылка на прошлый тред: >>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/ для серверного кода.
Аноним 16/12/17 Суб 23:11:12 #2 №1108562 
>>1108498 (OP)
>через пару лет будет похоронен WebAssembly

Неужели все так плохо?
Аноним 16/12/17 Суб 23:16:49 #3 №1108569 
Untqwewewewqeitled.png
У меня есть воспрос. Вот чувак объясняет прием "делегирование" пикрилейтед. В конце он создает новый объект с помощью new, но никуда его не сохраняет, в смысле ни в какую переменную. Как получить после этого доступ к объекту, удалить или изменить?
Аноним 16/12/17 Суб 23:30:20 #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."

Чем это угрожает джиэсу? Скорее уж дополняет его, не?
Аноним 16/12/17 Суб 23:32:09 #5 №1108575 
Untqweqweitled.png
>>1108574
Алсо 2, вот:

Так что ОП похож на пиздабола.
Аноним 16/12/17 Суб 23:49:26 #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, то они же не могут прямо так сразу написать: "Нас заебал кривой и тормознутый джиэс, и поэтому мы его скоро похороним."
Аноним 16/12/17 Суб 23:54:31 #7 №1108584 
>>1108581
Сколько лет пройдет пока не наступит пздц? Я вот только учу джиэс.
Аноним 17/12/17 Вск 00:03:41 #8 №1108587 
>>1108581
И ещё.
https://github.com/flagxor/spec/blob/jsdom/proposals/jsdom/Overview.md
Аноним 17/12/17 Вск 00:03:50 #9 №1108588 
>>1108584
Планомерно, как всегда наступал.
Три-четыре года — и клиентская часть полностью меняется.
А что делать, потребляди сэр.
Аноним 17/12/17 Вск 00:07:45 #10 №1108591 
1475312729079.jpg
>>1108581
>кресты во фронтенде
Аноним 17/12/17 Вск 00:08:36 #11 №1108593 
>>1108588
>>1108587
Эээ... Там ничего не отрицает джс. наоборот, он должен работать быстрее. Короче, не вижу повода волноваться, я спокоен.
Аноним 17/12/17 Вск 00:09:15 #12 №1108596 
>>1108569
Помогите плиз.
Аноним 17/12/17 Вск 00:10:48 #13 №1108597 
>>1108596
Забей, жсу пиздец
Аноним 17/12/17 Вск 00:12:11 #14 №1108598 
>>1108591
чет лолирую тожэ)))
Аноним 17/12/17 Вск 00:13:04 #15 №1108599 
>>1108596
переписывай на кресты
Аноним 17/12/17 Вск 00:14:04 #16 №1108600 
>>1108597
Нахуй иди.
Аноним 17/12/17 Вск 00:15:03 #17 №1108601 
>>1108600
Да нахуй иди.
Аноним 17/12/17 Вск 00:17:07 #18 №1108602 
>>1108599

На каком из трех фреймворков переписывать предлагаешь: кресты он реакт, крестунгуляр 4.0, или джикрест?
Аноним 17/12/17 Вск 00:23:56 #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
Кресты не нужны.
Аноним 17/12/17 Вск 00:32:31 #20 №1108607 
>>1108596
Никак там доступ к созданному объекту Menu уже не получишь. Так делают только когда с подобным объектом уже не нужно проводить никаких манипуляций. Получается что-то вроде обёртки, скрывающей внутренности объекта от внешнего мира.
Аноним 17/12/17 Вск 00:32:46 #21 №1108608 
>>1108604
Так есть смысл сейчас хорошо задрачивать жс, если ему все равно пиздец через 3-4 года? Или как всегда сначала в сша произойдет, а до пидорашкинских контор хуй когда еще докатиться?
Аноним 17/12/17 Вск 00:34:29 #22 №1108609 
>>1108607
Так делают для надежности? Чтоб случайно другими действиями не сломать?
Аноним 17/12/17 Вск 00:42:16 #23 №1108612 
>>1108569
И еще вопрос: почему объект не ичез после создания, он же должен быть доступен из корня, так? Но мы не можем никак к нему обратиться, вы говорите? Единственное, что к нему обращается, это "онклик" родительского контейнера. Это и удерживает его "живым"?
Аноним 17/12/17 Вск 01:07:14 #24 №1108616 
>>1108581
>Ибо можно будет кресты и многое другое компилять в WebAssembly
И нахуя использовать гротескный и уёбищный инструмент типа крестов вместо JS? Плюс, сначала нужно будет, чтоб кто-то написал годный компилятор, потом чтоб кто-то перенес всю существующую инфраструктуру под веб-разработку. В общем хуйня.
Аноним 17/12/17 Вск 01:11:21 #25 №1108618 
>>1108608
Не знаю. Похоже только, что джиэс как язык для веб-приложений будет вытесняться. В каком-то виде он, конечно, останется.
Аноним 17/12/17 Вск 01:20:11 #26 №1108624 
>>1108616
>И нахуя использовать гротескный и уёбищный инструмент типа крестов вместо JS?
Перегон крестов (прежде всех остальных языков) в WebAssembly реализовывают потому, что на крестах написана хуева туча либ, которые сейчас внезапно стало возможно использовать в вебе at near-native speed. А сами по себе кресты в вебе нахуй не нужны, да.
Аноним 17/12/17 Вск 01:51:10 #27 №1108630 
>>1108609
>Так делают для надежности? Чтоб случайно другими действиями не сломать?
Да.

>>1108612
>почему объект не ичез после создания
Ты сам себе ответил: onclick может обращаться к этому объекту через self:
self[action]()
Хотя это и говнокод.
>он же должен быть доступен из корня
Нет. Он там остаётся доступен только из замыкания Menu() через self.
Аноним 17/12/17 Вск 01:55:23 #28 №1108631 
>>1108630
>Хотя это и говнокод.

А как бы ты сделал?
Аноним 17/12/17 Вск 01:56:23 #29 №1108632 
image.png
>>1108602
>предлагаешь
отбросить эту бесовщину, и написать на единственно верных, православных крестах!
Аноним 17/12/17 Вск 02:28:18 #30 №1108642 
jsmrazota.png
Какой же я дегенерат, пиздец просто.
Аноним 17/12/17 Вск 02:44:26 #31 №1108645 
>>1108569
Menu.prototype.save = function(){}
Аноним 17/12/17 Вск 02:54:20 #32 №1108647 
>>1108645
Точно, я забыл. Спасибо!
Аноним 17/12/17 Вск 03:07:49 #33 №1108654 
>>1108604
>перегон Kotlin в WebAssembly, скорее всего, запилят
Запилили уже
https://blog.jetbrains.com/kotlin/2017/11/kotlinnative-v0-4-released-objective-c-interop-webassembly-and-more/
Аноним 17/12/17 Вск 04:03:34 #34 №1108668 
>>1108654
а котлин довольно няшный, чому кресты так же как яву не могут подтянуть?
Аноним 17/12/17 Вск 04:05:35 #35 №1108669 
>fun main(args: Array<String>) {
>println("Hello, world!")
>}
сходу можно подумать что это просто какой нибудь тайпскрипт, а не злоебучая гадкокодая жаба
Аноним 17/12/17 Вск 04:28:37 #36 №1108674 
Безымянный.png
Как заставить скрипт исполнять что-нибудь по нажатию "Да" в окне ошибки?
Аноним 17/12/17 Вск 04:37:55 #37 №1108676 
>>1108674

Убрать ошибку из крипта. Тогда окно не появится, что будет эквивалентно нажатию на кнопку "да".
Аноним 17/12/17 Вск 04:48:15 #38 №1108682 
>>1108676
А всё-таки? Я дописал скрипт, чтобы он мог работать после ошибки, нужно только убрать это сообщение. В конце концов для отладки.
Аноним 17/12/17 Вск 04:58:05 #39 №1108687 
>>1108682
Открой для себя try/catch/finally.
Аноним 17/12/17 Вск 17:50:03 #40 №1108845 
>>1108618
У нас уже была одна низкоуровневая виртуальная машина параллельно с ЖС. Хайпёнок, ты сейчас агитируешь за то, что Жава-апплеты вытеснят уебанский ЖС, надо учить Жаву.
Во-первых, ВАСМ-машина будет запускаться поверх виртуальной машины ЖС.
Во-вторых, Веб так и останется событийно-ориентированным. Ты будешь импортировать кем-то заботливо написанный какой-нибудь фейс-реконгнишн.васм и абстрактно использовать его результат в своём копросценарии.
В-третьих, вместо миллионов макак-сценаристов не появятся внезапно миллионы макак-байтоёбов, которые будут делать высокоэффективные низкоуровневые лендосы и магазы за дошик. Рыночку это не надо. У нас тут Жиквери-, а теперь и Реакт-интеграторы массив отсортировать не могут, а завтра они вдруг будут низкоуровневым состоянием управлять.
Аноним 17/12/17 Вск 18:35:43 #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/12/17 Вск 19:06:07 #42 №1108880 
>>1108868
>Оскорбления присылать сюда
Вопросы присылать сюда

https://www.google.ru

Заранее пошёл на хуй
https://developer.mozilla.org/ru/docs/Web/API/Event
Аноним 17/12/17 Вск 19:28:36 #43 №1108891 
>>1108880
Ну я же просил посылы нахуй присылать сюда
http://natribu.org/
Я просил объяснить event.which (на сайте нет), classList.contains("item") (как ни странно тоже нет) и рассказать как это работает. К стати сударь, благодарю за подробное объяснение. Ага
Аноним 17/12/17 Вск 20:17:45 #44 №1108920 
>>1108891
Охуевший наглый ебасос разбить бы тебе его
Аноним 17/12/17 Вск 20:18:50 #45 №1108922 
ПАМАХИТЕ РЕАКТ УБИЛ ЖИКВЕРИ
Аноним 17/12/17 Вск 21:45:22 #46 №1108964 
>>1108920
Абсолютно согласен этому нечестивому гражданину
>>1108880
Следует повредить кожу лица.
Аноним 18/12/17 Пнд 00:15:31 #47 №1109013 
Че делать если не могу в сборку flow/ts > babel/module > webpack ? Доки читал, доки идут нахуй. Банольное гугление не помогает. реквестирую проверенные гайды, видео, каналы на ютубе
Аноним 18/12/17 Пнд 01:38:21 #48 №1109028 
Как мне вкатиться в ебучую удаленку, хоть куда-нибудь, заебало. Какое портфолио надо иметь?
Аноним 18/12/17 Пнд 02:24:14 #49 №1109043 
>>1109013
Ну проще всего typescript - webpack, сразу все в одном. Можешь разобраться для начала в этом. А там если захочешь, можешь добавить сотню бабелей.
Аноним 18/12/17 Пнд 02:33:02 #50 №1109046 
>>1109043
Мне нужно флоу > вебпак
Как без флоу я разобрался, а дальш я ничео не понимаю как убрать типы флововские, хоть бабелем, хоть флововским модулем. Нормального гайда как собрать это все в кучу, где что прописать так и не нашел
Аноним 18/12/17 Пнд 02:36:44 #51 №1109047 
Что используете для сохранения стейта ридакса? redux-persist переписали да не очень (старая версия мне не подходит), redux-storage какая-то мертвая хуйня, а больше нихуя и нет. Вот это еще интересно выглядит - http://engineering.invisionapp.com/post/persist-redux-state-by-using-sagas/
Аноним 18/12/17 Пнд 02:39:23 #52 №1109048 
>>1109028
https://www.reddit.com/r/webdev/comments/7k8jn2/how_good_do_you_need_to_be_to_get_a_job_as_a/
Аноним 18/12/17 Пнд 02:46:11 #53 №1109050 
>>1109048
А если нет ворк хистори блядь.
Аноним 18/12/17 Пнд 02:57:05 #54 №1109052 
>>1109050
Флоу с бабелем собирал вебпаком?
Аноним 18/12/17 Пнд 03:03:55 #55 №1109053 
>>1109052
Нет. Не думаю, что там что-то сложное и нельзя нагуглить инфу.
Аноним 18/12/17 Пнд 03:07:30 #56 №1109054 
>>1109053
У меня не получилось
Теперь скажи почему сложно нагуглить инфу с требованиями к удаленным вакансиям?
Аноним 18/12/17 Пнд 03:11:51 #57 №1109056 
developer.mozilla.org – Годнота или хуйня?
Много англоязычных статей не переведенных, и которые скорее всего не будут переведены.
Материал излагается кратко и сухо.
Аноним 18/12/17 Пнд 03:19:23 #58 №1109058 
>>1109056
Главный сайт по ЖС и один из главных для ВЕБа, нравится ли тебе изложение решай сам. Вся прелесть что все в одном месте. Полнее только спецификации
Аноним 18/12/17 Пнд 03:22:38 #59 №1109059 
>>1109058
>Главный сайт по ЖС и один из главных для ВЕБа, нравится ли тебе изложение решай сам.
Хм, я и не знал что он главный, но я многого не знаю, потому что ньюфаг обоссаный.
Вообще, мне нравится изложение. Если читать даже на английском, хоть и придется потратить на 25 проценов больше времени, тем не менее все будет относительно ясно.

>Полнее только спецификации
А где их читать? В официальных описаниях свежих версий?
Аноним 18/12/17 Пнд 03:25:50 #60 №1109061 
>>1109054
Потому, что проще насчет этого узнать тут, у людей которые знают за эту хуйню, а не читать кучу воды.
Аноним 18/12/17 Пнд 04:09:32 #61 №1109067 
>>1109059
https://www.ecma-international.org/publications/standards/Ecma-262.htm
Аноним 18/12/17 Пнд 05:10:12 #62 №1109075 
Стоит ли на hexlet.io брать платные курсы по js?
Аноним 18/12/17 Пнд 08:12:02 #63 №1109100 
ADAPT.webm
>>1109075
Двачую вопрос. Может быть лучше выбрать бесплатные Udacity или Freecodecamp?
Аноним 18/12/17 Пнд 08:50:19 #64 №1109104 
>>1109058
Это документация, она и должна быть ровной и сухой без лишней воды.
Аноним 18/12/17 Пнд 14:50:55 #65 №1109190 
Так, посоны, в общем я тут профайлю в файрфоксе одну штуку, и оно мне говорит, что больше половины времени уходит на функцию "Graphics". Я правильно понимаю, что это сам файрфоксовый движок, то есть всякие цссы и вебгли? То есть с кодом все в порядке, тормозит сам файрфокс, так?

Алсо, еще 15% занимает "Gecko", и если развернуть эту энтри, то там есть мои функции, но на всех них стоит уже по 0%. Это у лисы профайлер кривой или что что-то делаю не так?
Аноним 18/12/17 Пнд 15:29:56 #66 №1109210 
>>1109190
Попробуй поглядеть в хроме
Аноним 18/12/17 Пнд 15:30:06 #67 №1109211 
Все выходные делал тестовое на реакте, чтобы услышать, что я "не настоящий JS-dev".
Аноним 18/12/17 Пнд 15:31:09 #68 №1109212 
Сказали, что оказывается реакт используется не для того, чтобы переиспользовать компоненты.
По ходу они просто дауны. Ну еще искать сеньора с опытом от 3 до 6 лет за 80-150к.
делавший тестовое на реакте
Аноним 18/12/17 Пнд 15:33:00 #69 №1109215 
>>1109212
Реактовые компоненты хуевенько переиспользуются как бы, да. Если бы ты был сеньором, то нутыпонел. И вообще, реюзабельные компоненты - это вебкомпонентс, а реакт про другое.
Аноним 18/12/17 Пнд 16:25:00 #70 №1109238 
>>1109215
Был бы я сеньором - не пошёл бы за копейки в васянскмй стартап. Про пере использование компонентов в реактор мне тимлид сказал (уж он точно сеньор). Если не для этого то для чего используется реакт? Структуирование?
Аноним 18/12/17 Пнд 16:28:30 #71 №1109239 
>>1109211
Че за задание?
Аноним 18/12/17 Пнд 16:30:19 #72 №1109240 
>>1108631
Анончик, мне все еще интересно. Покажи НЕ говнокод плиз, я ж научиться хочу.
Аноним 18/12/17 Пнд 17:03:05 #73 №1109257 
fbFEIoBQkXg.jpg
>>1109211
>тестовое на реакте
Аноним 18/12/17 Пнд 19:12:46 #74 №1109287 
14396141066330.jpg
>>1109238
> Все выходные делал тестовое на реакте, чтобы услышать, что я "не настоящий JS-dev".
>По ходу они просто дауны.

>для чего используется реакт?
Аноним 18/12/17 Пнд 19:45:49 #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
Аноним 18/12/17 Пнд 20:42:53 #76 №1109311 
>>1109296
Потому что нужно "замкнуть" скоуп. Не выебуйся и читай на русском. В ФАКе где-то есть ссылка на ресурс где дают хорошее понимание скоупов, замыканий
Аноним 18/12/17 Пнд 21:17:09 #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/12/17 Пнд 21:52:02 #78 №1109334 
Какая же у меня жопная боль от телеграмм конфы со всеми этими успешными жс кодерами.
Аноним 18/12/17 Пнд 22:57:52 #79 №1109359 
Вечер добрый. Я новичёк в js и html и мне нужна помощь с заданием. Буду благодарен за любой совет.
Задача такова:
В пустом html файле (не используя никаких тегов в body), с помощью скрипта вывести таблицу 3х3 с буквами внутри. Я могу сделать таблицу в body, но не понимаю, как вставить её в скрипт, и вывести на экран. Кто нибудь может объяснить или дать направление?
Аноним 18/12/17 Пнд 23:01:43 #80 №1109361 
>>1109359
https://developer.mozilla.org/ru/docs/Web/API/Element/innerHTML
Аноним 18/12/17 Пнд 23:07:22 #81 №1109364 
>>1109361
Спасибо. Пошёл читать.
Аноним 18/12/17 Пнд 23:09:51 #82 №1109366 
>>1109359
Подключив скрипт к странице из JS ты можешь управлять элементами на странице:
developer.mozilla.org/ru/docs/DOM
Аноним 18/12/17 Пнд 23:25:58 #83 №1109380 
>>1108498 (OP)
анончики, какой фреймворк лучше выбрать для дальнейшего углубления. Angular / React / Vue ?
Аноним 18/12/17 Пнд 23:41:36 #84 №1109390 
Я тот чел, который просил помощи про таблицу 3х3. Я смог вывести с помощью document.crыeateElement("") текст на окно html. Но не понимаю как вставить туда таблицу. Через что её выразить?
Аноним 18/12/17 Пнд 23:55:14 #85 №1109394 
Скриптаны, есть довольной большой опыт в программировании и в работе с языками. Не вижу смысла я мусолить ресурсы/учебники с кучей воды для меня. Нужен ресурс или учебник, который максимально коротко, желательно с новым стандартом расскажет про язык. После чего можно было сразу вкатится в дум и фреймворки.
Аноним 19/12/17 Втр 01:11:44 #86 №1109414 
>>1109394
очевидно, metanit.com
Аноним 19/12/17 Втр 02:33:02 #87 №1109434 
>>1109414
Спасибо! Глянул, вроде оно.
Аноним 19/12/17 Втр 09:59:31 #88 №1109498 
>>1109390
https://stackoverflow.com/questions/14643617/create-table-using-javascript
Аноним 19/12/17 Втр 11:54:14 #89 №1109533 
>>1109287
Так для чего используется реакт Мань если не для переиспользования компонентов и не для триггера он чейндж евентов. Ты по ходу сам выебывающаяся школота, которая не понимает се несёт но лезет вставить свои 5 копеек.
Аноним 19/12/17 Втр 12:14:35 #90 №1109540 
>>1108845
>Жиквери-, а теперь и Реакт-интеграторы массив отсортировать не могут
но ТЫ то можешь!!
так чтож мы спокойны за ай-ти, есть еще в нем светлые головы!11
Аноним 19/12/17 Втр 15:38:08 #91 №1109591 
>>1109540
У тебя всё получится.
https://www.youtube.com/watch?v=ywWBy6J5gz8
Аноним 19/12/17 Втр 17:25:28 #92 №1109639 
Untiqweqwtled.png
Пожалуйста, объясните че тут за НАХУЙ ПРОИСХОДИТ.

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

Но я не понимаю, почему дальше такие ебанутые хуйни пошли, что-то перезаписалось почему-то, что-то... чего? Куда?.. Можете пошагово прокомментировать что тут происходит, я совсем не понимаю.
Аноним 19/12/17 Втр 17:55:02 #93 №1109651 
>>1109639
Я пока сам поклацал ,что успел подумать, так это вот:

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

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

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

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

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

Да?
Аноним 19/12/17 Втр 20:07:33 #94 №1109672 
Выделение229.png
Выделение230.png
объясните пожалуйста ,почему первая работает,а вторая нет? По моему они совершенно одинаковые. ХЗ вообще
Аноним 19/12/17 Втр 21:37:03 #95 №1109693 
ребзя, на сколько в среднем поднимают зп после исытательного срока js-кодерам?
Аноним 19/12/17 Втр 21:59:07 #96 №1109697 
>>1109693
Я не работаю, но думаю, что это зависит от того что именно ты делаешь на джс. Наверняка в вебе платят меньше всего тк я слышал это легче всего и быдла много вроде меня
Аноним 19/12/17 Втр 21:59:24 #97 №1109698 
>>1109639
Я хз почему такой результат, ведь мы передает контекс (this) vladimir в poet, почему что-то должно измениться у владимира я хз.
Откуда этот код?
Аноним 19/12/17 Втр 22:02:57 #98 №1109700 
>>1109698
Вот с этой статьи:
https://habrahabr.ru/post/48542/
Аноним 19/12/17 Втр 22:07:31 #99 №1109701 
>>1109693
Я вот гуглил, полным нуба джунам в вебе платят в Украине г.Днепр 200 долларов поначалу, а если язык типа C и ему подобные и это настоящая разработка программ под десктоп, то спокойно 400 баксов т.е. вдвое больше, а в Киеве еще больше и для тех и для тех.
Аноним 19/12/17 Втр 22:12:20 #100 №1109704 
>>1109701
и сколько этот промежуток "поначалу" длится, не подскажешь?
я не прошу конкретных цифр, так чисто навскидку
Аноним 19/12/17 Втр 22:19:52 #101 №1109707 
>>1109704
Нет, не подскажу точно. Я не работаю.
Аноним 19/12/17 Втр 23:47:12 #102 №1109742 
>>1109639
ахахахаха тупой петуч
Аноним 20/12/17 Срд 00:11:59 #103 №1109758 
>>1109742
Тупой истерик.
Аноним 20/12/17 Срд 01:06:13 #104 №1109778 
>>1108498 (OP)
Расскажите, пожалуйста, как пользоваться rollup для сборки.
Во всех проектах раньше использовал исключительно composer c npm-asset плагином. То есть просто добавлял нужную мне либу в зависимости в composer.json и получал на выходе няшный minified файл нужной мне либы. Но вот понадобилось использоваться в проекте https://github.com/Turfjs/turf
И с ним так не получается. Вся библиотека имеет модульную структуру, а мне на выходе нужно объединить все эти модули в один файл. Сами они, среди прочего, предлагают подключать minified файл через cdn, но мне бы этого не хотелось, так как все остальные либы обновляются простым composer update и после не требуют интернета для работы, а проект должен работать и без доступа к интернету.
Рекомендуют использовать этот ваш новомодный rollup, но я так и не разобрался, как заставить его собрать все эти модули (те, что в каталоге packages) в один файл.
Спасибо.
Аноним 20/12/17 Срд 01:15:05 #105 №1109782 
>>1109380
На котором вакансий больше.
Аноним 20/12/17 Срд 07:09:13 #106 №1109818 
>>1109778
Не знаком с Композером, но НПМ бы подтягивал и минифицированную версию с обновлениями.

Делается она в https://github.com/Turfjs/turf/blob/master/packages/turf/rollup.config.js
та часть, которая
output: [
{file: pckg.browser
Аноним 20/12/17 Срд 10:08:17 #107 №1109858 
>>1109672
>По моему они совершенно одинаковые.
Нет. Стартовое значение j другое.
Аноним 20/12/17 Срд 10:21:15 #108 №1109859 
>>1109858
спасибо анон большое!
Аноним 20/12/17 Срд 13:55:11 #109 №1109959 
Кто чего думает про этот план? https://proglib.io/p/learning-modern-javascript/
Может есть какие-то более авторитетные рекомендации по первому фрейморку?
Аноним 20/12/17 Срд 15:15:12 #110 №1109993 
>>1109639
Прокомментируйте вот это, пожалуйста.
Аноним 20/12/17 Срд 15:21:46 #111 №1109995 
>>1109959
>Учить язык не надо!
>Учить надо очередной фреймворк
Проиграл
Аноним 20/12/17 Срд 16:10:35 #112 №1110012 
>>1109959
Жиквери нинужно ррряяя,
Учи реакт ррряяя.
Обосрался с такого вкатывальщика.
Вообще жс как стартовый язык это очень плохо, учит тебя говнокодить.
А если ты уже понимаешь как программировать, то смотришь на современный жс и охуеваешь с того зачем столько говна на фронт тянут. Причём ладно бы данных много, нет, эти ушлые дошли до того, что пишут код, который заранее на сервере компилируется, настолько они свою дилду переусложнили.
Аноним 20/12/17 Срд 16:23:29 #113 №1110019 
>>1109959
>вы наверное хотели бы сначала хорошенько разобраться в основах языка, прежде чем заниматься чем-либо другим. Но это будет равносильно тому, как если б вы учились плавать, изучая анатомию человека и динамику жидкости. Безусловно, это играет огромную роль в плавании, но гораздо веселее и практичнее было бы просто прыгнуть в бассейн!
кароче надо привыкать к ущербному ощущению вечного недопонимания
Аноним 20/12/17 Срд 16:26:33 #114 №1110023 
>>1110012
>Жиквери нинужно
но ведь это так, так же как лес и сас устаревшее нинужное говно

какой то ты ретроград ебаный, да еще все вокруг дураки, а ты самый вумный, вот поижай в калифорнии, покажи бородатым пидорам с наклеичкими как нада, а то ишь епта
Аноним 20/12/17 Срд 16:26:47 #115 №1110026 
>>1109959
Так падажди ка, то есть чтобы написать таблицу, которая бы просто данные с сервера подцепляла мне надо 33 технологии? Вы ебанулись?
Vue основан на html шаблонах? Опять смешиваете логику и интерфейс?
Аноним 20/12/17 Срд 16:35:36 #116 №1110031 
>>1110023
Они деньги инвесторов отмывают, технологии придумывая. Всё равно все сводится к "получи данные-выведи в хтмльку". И проблема не в том что "ты просто не понимаешь всё новое", а в том что эти мощнейшие инструменты используют для всего подряд. Термин даже есть такой "золотой молоток". А потом оказывается, что какой то фичи в любимой хуйне нет и они её суют внутрь.
Индусы до сих пор на опенкарте магазины ебашат и бизнес доволен. Кип ит симпл. 90% успеха сайта это дизайн. Если он уебищно спроектирован, никакие реакты и ангуляры не помогут.
Аноним 20/12/17 Срд 16:39:20 #117 №1110037 
>>1110031
>90% успеха сайта это дизайн. Если он уебищно спроектирован, никакие реакты и ангуляры не помогут.
зис
Аноним 20/12/17 Срд 16:44:42 #118 №1110040 
>>1110031
> "получи данные-выведи в хтмльку"
прямо как в нулевых, от было ж время, без всей этой педерастии, як бы ща странички лейтали а?

>90% успеха сайта это
его суть, товар услуга сервис, современная графика продуманный юих и няшные яксовые технологии сделают его еще лучше, но не смогут продать одну лишь обертку если не топить маркетоту типа эпола, хотя и их приход слабнет
Аноним 20/12/17 Срд 17:04:55 #119 №1110055 
Кто-нибудь может вкинуть ютьюб канал, где подобие борды пишут. Вроде кто-то с сосаки каналом занимается.
Аноним 20/12/17 Срд 18:01:29 #120 №1110093 
>>1110040
Эпл любят потому что там всё работает быстро и из коробки, а не потому что дизайн красивый. Как только перестанет работать быстро и из коробки, Эпл разлубят.

Если парень имел в виду дизайн в смысле "дизайн это когда работает быстро и из коробки", то всё верно, если парень имел в виду "дизайн это охуенные ассеты и шрифты", то это не правда.
Аноним 20/12/17 Срд 18:42:08 #121 №1110104 
>>1110055
>Кто-нибудь может вкинуть ютьюб канал, где подобие борды пишут. Вроде кто-то с сосаки каналом занимается.
Хули её писать то блять. Посмотри на сосач, набросай брифинг, да пиши епта. Поставь вакабу, админку посмотри
Аноним 20/12/17 Срд 18:56:36 #122 №1110110 
>>1110104
Да ебаный твой рот. Мне канал нужен а не борду написать.
Аноним 20/12/17 Срд 19:38:19 #123 №1110133 
>>1110110
Джилио что ли нужен?
Аноним 20/12/17 Срд 19:58:14 #124 №1110140 
CqamgZVWYAAlhPU.jpg
Такой вопрос, как поживает meteor.js? Помню был хайп дикий, подняли кучу инвестиций, разговоры были что он заменит полностью все фреймворки. Использует ли кто-нибудь его в работе?

Появился ли какой-нибудь фреймворк, чтобы можно было быстро делать приложения как rails например?
Аноним 20/12/17 Срд 20:09:14 #125 №1110143 
>>1110133
Да. Большое спасибо!
Аноним 20/12/17 Срд 20:36:06 #126 №1110164 
>>1110140
> meteor.js
Он вообще в рунете хоть как-то засветился?

> Появился ли какой-нибудь фреймворк, чтобы можно было быстро делать приложения как rails например?
Opa конпелируется в жс.
А если серьезно, то все эти изоморфики - хуита, и все блоггеры, раздувающие хайп на эту хуитку, позже сами открестились от этой технологии.
Аноним 20/12/17 Срд 23:12:16 #127 №1110214 
14883616602410.webm
Сукпиздц, мать говорит, мол если сорт оф интернет магазин не напишу, борща мне больше не нальет! Но как ей объяснить что я ФРОНЭНДЕР?
Аноним 20/12/17 Срд 23:17:16 #128 №1110217 
>>1110214
Ты, блядь, не борщехлеб, а субститут какой-то, ей б-гу. Ну пиши свой магаз на вротэнде, но для Шопифая или другого BaaS'a, ну.
Аноним 20/12/17 Срд 23:49:31 #129 №1110221 
>>1110217
Какие ты слова страшные знаешь.
Аноним 21/12/17 Чтв 04:02:55 #130 №1110272 
>>1110093
>всё работает быстро и из коробки
мань плз, джобса уже давно нет
Аноним 21/12/17 Чтв 05:44:03 #131 №1110275 
Был какой-то бесплатный веб-курс для начинающих, там надо было программировать какую-то машинку или робота, чтобы он по лабиринту правильно ходил. Не напомните?
Аноним 21/12/17 Чтв 11:11:55 #132 №1110318 
Помоги, жаваскриптач.

https://pastebin.com/20FEpnW9

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

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

Как починить?
Аноним 21/12/17 Чтв 11:31:53 #133 №1110322 
https://habrahabr.ru/post/345212/

Ваши оправдания , ЖС питушки.
Аноним 21/12/17 Чтв 11:45:12 #134 №1110324 
>>1110322
Господи, какое же словоблудие.
> Сайты с таким количеством скриптов просто недоступны значительной части пользователей; статистически, пользователи не будут ждать загрузки интерфейса так долго. 
Дальше не читал.
Аноним 21/12/17 Чтв 11:48:22 #135 №1110325 
mpv-shot0001.jpg
>>1110322
Какие оправдания? Давно известно что рядовой скот с АДХД не ждёт секунды загрузки сайта и надо укладываться в 200кб страницу максимум.
Никаких фреймворков, сасов, лесов и прочих буткрапов.
Дух старой школы, шаблонов и 50кб страниц жив и будет жить.
Аноним 21/12/17 Чтв 11:52:45 #136 №1110328 
>>1110325
>рядовой скот с АДХД
и нахуй он тебе нужен на сайте?
Аноним 21/12/17 Чтв 12:29:05 #137 №1110341 

>>1110328
Основная платящая аудитория же.
Аноним 21/12/17 Чтв 13:23:25 #138 №1110346 
image.png
>>1109818
Спасибо.
Я запустил "rollup -c" с этим конфигом и получил на выходе turf.min.js, но не в том виде, в котором хотел. Это вроде как для nodejs?
Аноним 21/12/17 Чтв 15:18:17 #139 №1110402 
>>1110275
Бамп
Аноним 21/12/17 Чтв 16:59:43 #140 №1110462 
>>1110275
http://flexboxfroggy.com/
Аноним 21/12/17 Чтв 18:07:55 #141 №1110495 
>>1110462
Не оно, к сожалению, но тоже спасибо.
Аноним 21/12/17 Чтв 19:10:04 #142 №1110514 
>>1110346
Это UMD
https://www.davidbcalhoun.com/2014/what-is-amd-commonjs-and-umd/

Вроде как ты можешь добавить этот файл на страницу и использовать его, как у Тёрфа в гайде.
Аноним 21/12/17 Чтв 23:16:42 #143 №1110682 
Хорошая статья, детально описывающая как работают синтетические ивенты в реакте.

https://levelup.gitconnected.com/how-exactly-does-react-handles-events-71e8b5e359f2?ref=reddit
Аноним 21/12/17 Чтв 23:30:25 #144 №1110691 
быстро решительно для чего нужен Реакт?
Аноним 21/12/17 Чтв 23:33:01 #145 №1110695 
>>1110691
Для реактивного программирования.
Аноним 21/12/17 Чтв 23:34:04 #146 №1110697 
>>1110695
на реактивной тяге твоего пукана?
Аноним 22/12/17 Птн 01:34:02 #147 №1110729 
ребята начал учить яву недавно по 3 месячной стажеровки туплю больше всех
сказали сделать функцию возвращающую слово
в решения не хотел лезть сделал посвоему https://jsfiddle.net/9btujm2e/
сказали переделывать что не так?
Аноним 22/12/17 Птн 01:34:44 #148 №1110730 
Как запаузить выполнение скрипта? setTimeout не подходит, потому что у меня цикл, и цикл выполняется, пока идет таймер который сам в цикле, нужно именно остановить выполнение.
Аноним 22/12/17 Птн 04:35:57 #149 №1110772 
>>1110730
ретерн континью брейк?
Аноним 22/12/17 Птн 05:34:07 #150 №1110775 
>>1110691
http://bvaughn.github.io/react-virtualized/#/components/List
Очень быстрый рендеринг огрмоных списков. Хоть 20к слов.
Аноним 22/12/17 Птн 06:16:26 #151 №1110781 
>>1110318
>Как починить?
Биндить функцию, а не результат выполнения функции, очевидно же. напиши typeof(biding2('click')), который ты передаёшь вторым аргументом в bind, который так-то функцию ожидает.

>>1110729
Ты ебанутый, ты что вообще там сделать хочешь? Разбираешь слово по буквам и обратно собираешь, зачем?
А переделывать уж хотя бы из-за форматирования кода надо, независимо от результата даже.
Аноним 22/12/17 Птн 10:01:32 #152 №1110816 
>>1110775
Вуе быстрее :)

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

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

Аноним 22/12/17 Птн 10:04:04 #153 №1110818 
>>1110325
Сас и лес не увеличивают размер файла, даунич. А фреймворки бывают и по 4 килобайта, включая реактивные. Нехуй просто гвозди микроскопом забивать, а потом орать что тебе и молоток-то не нужен, будешь руками хуярить. Ударься сразу лбом.
Аноним 22/12/17 Птн 11:09:31 #154 №1110840 
Снимок экрана 2017-12-22 в 13.00.40.png

Помогите необразованному, код работает, но у меня такое чувство, что можно сделать проще и лучше, стоит над ним еще подумать или писать как получается, а остальное не прийдет с опытом? Спросить не у кого, в одного.
Аноним 22/12/17 Птн 11:29:14 #155 №1110845 
>>1110840
Не очень ясно, что вообще происходит, если честно.
Аноним 22/12/17 Птн 11:37:05 #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/12/17 Птн 11:37:29 #157 №1110850 
>>1110840
Что получится, если сделать
arrayToList([1,2,3])?
Аноним 22/12/17 Птн 11:40:40 #158 №1110854 
>>1110023
>но ведь это так, так же как лес и сас устаревшее нинужное говно
А что нужно?
Аноним 22/12/17 Птн 11:41:43 #159 №1110855 
>>1110850
Должен получиться объект, структура которого у него на пике в правой части изображена.

Это, походу, односвязный список, но в чем его юзкейс?
Аноним 22/12/17 Птн 11:44:53 #160 №1110857 
>>1110514
Так он не для браузера. Я добавил на страницу, но ошибки "not a function"
Аноним 22/12/17 Птн 11:46:43 #161 №1110859 
Снимок экрана 2017-12-22 в 13.33.59.png
Снимок экрана 2017-12-22 в 13.40.20.png
>>1110840
Вот такой аутпут получается, часть задания, что выполнял подчеркнул. Тут нет какого-то сакрального смысла, просто задачка, мне нужно знать, насколько это говно код по шкале от 0 до 1. И стоит остановиться и все еще раз переделать или это приемлемое решение.
Аноним 22/12/17 Птн 11:47:41 #162 №1110861 
>>1110854
>все что нужно
уже есть в css3

тебе чего конкретно не хватает? вложенности что бы ковнокодить или экстенда что бы вообще пиздец устроить, или ты из тех кому мало калка с варом и ты хочешь запихать туда еще какой то код? ну вот серьезно чо надо то?
Аноним 22/12/17 Птн 11:53:04 #163 №1110865 
>>1110861
Ты, видимо, никогда ничего крупного не писал. Не хватает разбиение на модули, миксинов, функций, циклов, конфигурируемсоти.
Аноним 22/12/17 Птн 11:54:58 #164 №1110866 
>>1110859
Эммм, не хочу тебя расстраивать, но это однострочник. Зачем ты там нагородил этого всего я не очень понял.

function arrayToList(array){
return (array.length === 0) ? null : { value:array[0], rest:arrayToList( array.splice(1,array.length-1) ) }
}
Аноним 22/12/17 Птн 11:56:50 #165 №1110867 
>>1110816
>Вуе быстрее :)
Что это и можно ли это применять в хромовских и мозилловских веб-расширениях?
Аноним 22/12/17 Птн 11:58:46 #166 №1110870 
>>1110867
Это новый, эджевый тру-реактивный view-фреймворк от китайцев. Нашпигован магией, из-за чего учится примерно за пару часов. Не смешивает код и шаблоны, в отличии от реакта и кладёт хуй на ЧИСТАТУ функций, заменяя всё передачей большого объекта конфигурации в конструктор компонента.

Можно.
https://www.npmjs.com/package/vue-chrome-extension
Аноним 22/12/17 Птн 11:59:17 #167 №1110871 
>>1110866
>>1110840
Ору блять
Аноним 22/12/17 Птн 12:02:47 #168 №1110874 
>>1110865
>разбиение на модули
вебпак

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

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

>конфигурируемсоти
вебпак уебок ты ж блять что ты собрался конфигурировать в КАСКАДЕ СТИЛЕЙ
Аноним 22/12/17 Птн 12:03:03 #169 №1110876 
>>1110870
Спасибо, посмотрю. А то аддонописатели как-то отстают от технологий, большинство аддонов тупо дрочит DOM. Разработчик лисьего Tree Style Tab (вертикальный древовидный список вкладок) вроде планирует только через годик-другой на React переписать.
Аноним 22/12/17 Птн 12:07:51 #170 №1110879 
>>1110874
Посмотри на исходники бутстрапа как-нибудь или на компасс.
Сасс позволяет писать реюзабельные компоненты и библиотеки для упрощения рутинных ежедневных операций. Поиск контрастного цвета, генерация сетки по запросу, экстенд других элементов, инклюд коммон-кусков кода, расчёт лайн-хейта для типографики и остальное. Для продуктовых проектов незаменимая вещь.


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

>вебпак уебок ты ж блять что ты собрался конфигурировать в КАСКАДЕ СТИЛЕЙ
В самом каскаде - ничего, в сасс-коде - собрался. Очевидно, различные переменные, определяющие поведение функций при компиле и прочее.
Аноним 22/12/17 Птн 12:10:55 #171 №1110881 
>>1110874
>жду примеров когда в цеске нужны ЦЫКЛЫ блять
Для генерации цсс-кода, лалка.

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



Аноним 22/12/17 Птн 12:11:38 #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); }
}
Аноним 22/12/17 Птн 12:21:13 #173 №1110886 
>>1110879
>бутстрапа
Ты чо нахуй смеешься что ле? какой блять бутстрап в 2к18!?

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

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

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

>>1110882
>костыли для даунов понторезов выучу хуйню@наклею еще одну наклеичкю не желающих учить дефолтный инструментарий навроде цес грида с флексом
ясненько, я так и думал
Аноним 22/12/17 Птн 12:22:18 #174 №1110887 
>>1110781
Через typeof не работает. Или я что-то недопонял?

https://pastebin.com/iLftB9yr
Аноним 22/12/17 Птн 12:22:51 #175 №1110888 
>>1110866

Спасибо
Аноним 22/12/17 Птн 12:30:03 #176 №1110891 
>>1110887
>Или я что-то недопонял?
https://repl.it/repls/AdolescentTornBuzzard Так поймёшь?
Аноним 22/12/17 Птн 12:31:18 #177 №1110892 
>>1110886
>дегрод это стандартная цеска
Дегрод речь про другое, почитай как директива импортв сассе работает

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

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

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

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


Аноним 22/12/17 Птн 12:32:56 #178 №1110893 
>>1110888
Р Е К У Р С И Я
Аноним 22/12/17 Птн 12:34:54 #179 №1110894 
>>1110816
>Вуе быстрее :)
>
Есть на это пруфы?
Аноним 22/12/17 Птн 12:38:58 #180 №1110896 
>>1110886
Компасс посмотри. >>1110894
http://www.stefankrause.net/js-frameworks-benchmark6/webdriver-ts-results/table.html
Аноним 22/12/17 Птн 12:42:32 #181 №1110898 
>>1110891
Не очень понятно. Можешь пофиксить код из этого (>>1110318) поста?
Аноним 22/12/17 Птн 12:43:48 #182 №1110900 
>>1110898
Выложи на jsfiddle
Аноним 22/12/17 Птн 12:47:58 #183 №1110907 
>>1110898
Не очень понятно, о чём ты, но

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


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

Работает.
Аноним 22/12/17 Птн 12:51:11 #184 №1110913 
>>1110892
>12 классов грида
ой всё блять я умир

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

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

>я тебе ещё раз говорю
ты дрочер, вар калк вх грамотный бэм и топология проекта под сборщик, все остальное дрочка и маффины
Аноним 22/12/17 Птн 12:54:52 #185 №1110915 
>>1110900
Выложил
https://jsfiddle.net/ca8qwwg5/
Аноним 22/12/17 Птн 12:55:10 #186 №1110916 
>>1110913
>грамотный бэм
Можешь не продолжать, я понял, что ты мудак
Аноним 22/12/17 Птн 13:01:26 #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, он в себе уже содержит всю инфу о событии, передавать имя руками аргументом не нужно
Аноним 22/12/17 Птн 13:02:53 #188 №1110922 
>>1110916
>бэм
весь мир пользуется, думает как сделать лучше, делает говно атомарный бэм с грустью присаживается обратно на русский хуец
>но модный молодежный инвалидный анон скачет на костылях и радваица
кек
Аноним 22/12/17 Птн 13:02:58 #189 №1110923 
>>1110921
Просто тебе на будущее


function test(){
return 'hello!'
}


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

В этом и проблемав
Аноним 22/12/17 Птн 13:03:26 #190 №1110925 
>>1110922
>весь мир пользуется
Ору с манюни, блять.
Аноним 22/12/17 Птн 13:06:41 #191 №1110928 
>>1110921
Алсо, вот тебе es6-вариант на чистом JS начинать учиться надо было с него

```document.querySelector('.tb').addEventListener('click', ( { type} ) => {console.log(type)} )```
Аноним 22/12/17 Птн 13:07:50 #192 №1110930 
>>1110896
Спасибо, анон.
Аноним 22/12/17 Птн 13:16:50 #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));
Аноним 22/12/17 Птн 13:22:15 #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(){}
Аноним 22/12/17 Птн 13:32:03 #195 №1110949 
>>1110941
С именем функции, да, соглашусь.
Такое имя было выбрано для простоты использования (в debug версии). В дальнейшем конечно же переименую.
Задача функции лишь в том, чтобы вывести имя события, которое возникло.
Аноним 22/12/17 Птн 13:34:32 #196 №1110951 
>>1110949
Тогда передавать нужно в нее событие целиком, так будет правильно
Аноним 22/12/17 Птн 13:41:27 #197 №1110958 
>>1110951
Вот финальный вариант:
function getEventNameToParagraph(event)
{
var counter = $(".log").html();

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

return false;
}
Аноним 22/12/17 Птн 13:43:30 #198 №1110961 
что лучше-дескопт версия игрушки или веб версия?
Аноним 22/12/17 Птн 13:48:27 #199 №1110965 
>>1110961
Делай обе.
Аноним 22/12/17 Птн 14:31:51 #200 №1110986 
>>1110958
Доебусь ещё разок и скажу, что имя такое себе. Почему get? Get-функции возвращают значение, а у тебя только рисутесят. Напиши тогда drawEventInfo
Аноним 22/12/17 Птн 14:39:53 #201 №1110989 
>>1110986
>drawEventInfo
Ну тогда уж getDrawEventNameIntoLogToParagraph :3drawEventNameToLog или drawEventName
Аноним 22/12/17 Птн 15:03:39 #202 №1111005 
>>1110989
Я бы не стал ограничивать name, кстати. Потому что это щас нейм, а потом ещё что-то. Более абстрактно - инфо. Ну это с опытом только
Аноним 22/12/17 Птн 15:07:36 #203 №1111010 
>>1111005
>Более абстрактно - инфо
Ну это само собой.
Тут задача конкретная, поэтому остановлюсь на «name».
Аноним 22/12/17 Птн 15:52:28 #204 №1111041 
>>1110772
А по-конкретнее?
Аноним 22/12/17 Птн 16:35:07 #205 №1111071 
>>1110730
yield
Js аноним 22/12/17 Птн 16:42:47 #206 №1111074 
Js гавно
Аноним 22/12/17 Птн 16:58:45 #207 №1111083 
>>1111074
Раз, раз-два, тест.
Аноним 22/12/17 Птн 16:59:11 #208 №1111084 
function b() {}
b.add = function() {return this};
console.log(b.add())

блядский зыс, почему он указывает на функцию в данном случае?
Аноним 22/12/17 Птн 17:07:36 #209 №1111089 
>>1111084
а на что по-твоему мнению он должен был указывать?
Аноним 22/12/17 Птн 17:08:30 #210 №1111091 
>>1111089
по твоему*
Аноним 22/12/17 Птн 17:11:26 #211 №1111093 
>>1111089
Но если внутри функции логнуть this то будет или window или undefined
Аноним 22/12/17 Птн 17:12:23 #212 №1111094 
>>1111093
Ты вызываешь метода add у объекта b и просишь вернуть объект, у которого он вызван.
Аноним 22/12/17 Птн 17:13:37 #213 №1111096 
>>1111093
Ты уверен?

function b() {}
b.add = function() { console.log(this) };
b.add()
Аноним 22/12/17 Птн 17:28:04 #214 №1111103 
>>1111094
интегесно
Аноним 23/12/17 Суб 10:38:32 #215 №1111356 
На чем пишутся все эти ио игры?
Аноним 23/12/17 Суб 11:02:39 #216 №1111362 
>>1111356
https://aframe.io/
http://www.pixijs.com/
Аноним 24/12/17 Вск 02:27:33 #217 №1111638 
Зашел спросить за самую годную либу для 2д js игр, вот это >>1111362 оно?
Аноним 24/12/17 Вск 02:35:02 #218 №1111640 
bitcoin.jpg
>>1108498 (OP)
Посоны, помогите советом. Нужно написать небольшой сервис, который будет крутиться на локалхосте а может и нет, который будет дергать небольшие части видео со списка стримов.стримов.
Есть список стримов, сервис обращается к первому стриму, показывает небольшой кусочек видео оттуда, буквально секунду-две, может даже скриншот, а потом проделывает тоже самое с другими стримами из этого списка. Посоветуйте модуль для реализации этого. Наверняка есть что-нибудь подходящее.
Аноним 24/12/17 Вск 02:43:28 #219 №1111642 
>>1110691
Максимально упросить связь между model и view
Аноним 24/12/17 Вск 02:46:07 #220 №1111644 
>>1110870
Он же с реактивным никак не связан. Как и реакт в принципе. Но угоревшие по реактивному и фп используют реакт (и смежные вещи, вроде Elm и Cycle.js).
Аноним 24/12/17 Вск 08:05:03 #221 №1111676 
>>1111640
Это же ебануться какая нагрузка. Сначала к апи подключись, ссылки на видео поток получи, видео поток запусти. Ради двух секунд. И так каждый раз. Плохая идея, думай ещё.
Аноним 24/12/17 Вск 09:26:04 #222 №1111687 
php тред мертв, задам вопрос тут.
Анон, я на распутье. Познал дзен в html+css и сейчас учу js. Наткнулся на рекламу курса php+sql от академии. Просят 15к (с купоном) https://htmlacademy.ru/intensive/php

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

Сейчас js учу по их спизженому курсу и все радует и с пхп бы поступил так же, но не нашел слитого курса по пхп.
Аноним 24/12/17 Вск 09:52:02 #223 №1111690 
>>1111687
Нахуй шли какие-либо курсы со свободным набором. В своем большинстве этот мегакурс от Васяна даст тебе только базовые знания. И легче получить эту базу из какой-нибудь книги для чайников
Аноним 24/12/17 Вск 10:53:51 #224 №1111695 
>>1111644
Присматривался к циклу.жс, понравилась идея подвязать стримы для обработки событий. Но не понял, как цикл работает с домом? У них свой движок или юзаеься сторонняя либа?
Аноним 24/12/17 Вск 13:15:10 #225 №1111730 
>>1111690
А есть где-нибудь курсы с отбором?
Аноним 24/12/17 Вск 16:29:54 #226 №1111800 
Аноны, посоветуйте ресурсы по node js. Просмотрел скринкаст от Кантора, но он вроде устаревший или нет? И скачал курс от learn.javascript, но на первом же задании застрял.

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

С чего вы начинали учить node js? Какие книги для чайников посоветуете?
Аноним 24/12/17 Вск 16:54:37 #227 №1111815 
>>1111638
Бамп.
Аноним 24/12/17 Вск 17:05:03 #228 №1111818 
Какая разница между
var f = function () {}
и
function f () {}
?
Аноним 24/12/17 Вск 17:05:46 #229 №1111819 
>>1111818
declaration vs expression
Аноним 24/12/17 Вск 20:07:27 #230 №1111880 
>>1111695
там мини-реакт, который называется snabbdom
Аноним 24/12/17 Вск 20:09:17 #231 №1111883 
>>1111880
> snabbdom
Ага, понял, спасибо.
Аноним 24/12/17 Вск 20:12:10 #232 №1111888 
>>1111818
Идентично, если не использовать возмозжности хойстинга (то есть не использовать что-то, что объявлено ниже в файле).
Функция условно перемещается в начало файла вместе с определением, var поднимается как undefined до своего объявления.
Аноним 24/12/17 Вск 20:13:28 #233 №1111891 
>>1111676
> Сначала к апи подключись, ссылки на видео поток получи
Везде все одинаковое. Однитипные стримы, однотипный апи.
Аноним 24/12/17 Вск 20:21:04 #234 №1111897 
>>1111891
Даже ссылки на видео есть. Все есть. Только реализовать осталось.
Аноним 24/12/17 Вск 20:21:21 #235 №1111898 
>>1111640
Аха, ты типа IPTV гонять через ноду хочешь что ли?
Сервер тебе, скорее всего, отдает m3u плейлист с ссылками на живые чанки видео, а тебе нужно распарсить ентот плейлист и закачать все файлы, после чего их либо склеить в один файл, либо просто пробросить клиенту. Я занимался как-то подобной хуйней, только цели были другие.
Ну, это не так уж и сложно и сделать, но если лень, можешь гуглить по ключевикам "node m3u download". Вот, например, чайный пакетик без доков и смс, разбирайся:
https://github.com/deepakk87/m3u8-downloader
Аноним 24/12/17 Вск 21:04:33 #236 №1111912 
Аноны вот учу я js по учебнику кантора так там везде старая спецификация, только не много по es2015, это сильно устаревшая информация? Сильно большая разница с es6, а то я не понимаю.
Аноним 24/12/17 Вск 21:11:10 #237 №1111916 
Screenshot-2017-12-24 Page Admin.jpg
>>1111898
Спасибо тебе. Почитаю.
Нужно что-то вроде пикрелейтед. Тут они просто в реальном времени по два-три кадра с каждого стрима выдают. У меня стримов будет больше, но сразу все не надо, надо по очереди.
Аноним 24/12/17 Вск 21:22:57 #238 №1111918 
>>1111916
Ааа, ну так это через обвязки к FFMpeg делается.
Аноним 24/12/17 Вск 23:06:15 #239 №1111968 
>>1111638
Бамп. Подскажите топовую либу для 2д игр.
Аноним 25/12/17 Пнд 08:22:20 #240 №1112074 
>>1111897
Да я не спорю что есть, но нагрузка ебанная будет.
Аноним 25/12/17 Пнд 08:25:18 #241 №1112075 
>>1111916
Тю, мы то думали ты твитч парсишь.
Для такой хреновины всё проще, если внутри локальной сети, так вообще можно по айпи стучаться и норм.
Аноним 25/12/17 Пнд 09:18:55 #242 №1112083 
>>1111644
Как это не связан? Связан, вуе - тру-реактивный. А вот реакт - нет.
Аноним 25/12/17 Пнд 21:14:51 #243 №1112337 
>>1112083
Ну да, в своем императивном определении, как и ангуляр — первый реактивный фреймворк.
Аноним 25/12/17 Пнд 22:14:50 #244 №1112376 
Flow больно использовать под Шиндовс, пюрэ больно использовать из-за эффектов, кложу больно использовать из-за тайпчекера.
Против тайпскрипта у меня иррациональная предвзятость.
Какие еще хорошие варианты есть?
Аноним 25/12/17 Пнд 22:45:28 #245 №1112398 
>>1112376
Bucklescript
Аноним 25/12/17 Пнд 22:46:11 #246 №1112399 
>>1112376
А нет, шиндовс, забудь
Аноним 26/12/17 Втр 08:29:01 #247 №1112506 
>>1112075
>Для такой хреновины всё проще, если внутри локальной сети, так вообще можно по айпи стучаться и норм.
Нет.
Аноним 26/12/17 Втр 10:14:46 #248 №1112538 
Котаны, есть у кого-нибудь нормальный пример структуры rest api на typescript + express? Чтобы с иерархическими роутами.
Аноним 26/12/17 Втр 12:19:32 #249 №1112556 
>>1112075
>Тю, мы то думали ты твитч парсишь.
А что такого в парсинге твитча? Точно так же ведь достал ссылку на плейлист, скачал кусок, отобразил (или кадр вырезал). Я так с корейского afreeca.tv скриншоты с кучи стримов грабал в поисках годноты какой-нибудь.
Аноним 26/12/17 Втр 14:37:03 #250 №1112719 
>>1112556
ПАЛЮ ТЕМУ: ПИШИТЕ GPU-МАЙНЕР НА JS. СЕЙЧАС НАПИШИТЕ, ЧЕРЕЗ ГОД КУПИТЕ ОСТРОВ
Аноним 26/12/17 Втр 14:57:26 #251 №1112728 
Как сделать, чтобы мой код не смогли скачать/скопировать всякие бомжи? Обфускацию не предлагать, потому что код работать-то будет.
Аноним 26/12/17 Втр 15:01:52 #252 №1112731 
>>1112728
- использование любого языка, транслирующегося в JS существенно осложняет разбор исходного кода в виду дичайшего оверхеда;
- стриминг клиентского кода с сервера в бинарном формате через вебсокеты;
- wasm;
- asar packing (для десктопа).

Вариантов до пизды и все ПРОСТО немного усложнят жизнь заинтересованному лицу.
Аноним 26/12/17 Втр 15:37:55 #253 №1112744 
Сап /js/, я пытаюсь осваивать xpath.
Мне удалось успешно написать правило, которое выделяет посты со ссылками
2ch.hk##:xpath(//div[@class='post-wrapper' and descendant::a[contains(text(), 'http')]])
теперь я пытаюсь написать правило для выделения постов без ссылок. Перепробовал уже около 5 вариантов, не заработал ни один.
Буду благодарен помощи.
Аноним 26/12/17 Втр 15:52:49 #254 №1112750 
>>1112731
Если ПРОСТО заебенить какой-нибудь криптор, основанные на хеше из параметров времени, то ведь хуй вскроешь его, так?
Аноним 26/12/17 Втр 15:56:51 #255 №1112752 
>>1112744
я не понимат, у двощей же есть апи, хули вы там парсите-то?
Аноним 26/12/17 Втр 16:02:05 #256 №1112759 
>>1112752
Ну вот например для определения последнего поста в тред нет API.

И да, мой код используется как фильтр для uBlock на самом деле. в учебных и не только целях
Аноним 26/12/17 Втр 18:02:59 #257 №1112823 
>>1112731
>- стриминг клиентского кода с сервера в бинарном формате через вебсокеты;
Интересно, можно подробнее? Что происходит в браузере с этим бинарным кодом дальше? Где используют эту технологию и используют ли?
Аноним 26/12/17 Втр 19:09:05 #258 №1112844 
Зашёл, чтобы напомнить вам, что js - это очень сложный язык, который мне просто лень учить. Он непродуманный изначально, и построен на костылях, ещё и этот es6 ебучий, который пиздец как всё раздул, скоро будете как в с++.
Для себя я сделал вывод, что чем строже язык - тем лучше
== ЧАО ПАКА ВСЕМ ДАБРА И ПАЗИТИВА ==
Аноним 26/12/17 Втр 22:05:20 #259 №1112898 
>>1112823
> можно подробнее?
Можно, но лень, т.к. сам не юзаю, а пересказывать чужой опыт не так интересно.
Но скажу так, ибо тема релевантна - технологию передачи двоичных данных и чанки скриптов через вебсокеты активно юзал небезызвестная в здешних местах личность, евангелист фп-программирования, автор доски по программированию на самописном движке. Имя я его не помню, но нагуглить будет легко, лол.
Простите за сумбур.
Аноним 26/12/17 Втр 22:17:29 #260 №1112904 
15122948899970.webm
>>1112844
>js - это очень сложный язык
Аноним 27/12/17 Срд 00:34:31 #261 №1112943 
>>1112844
Выучить его не сложно, не такой он и большой.
Но не дай бог разбираться в жутком императивном коде, использующем большинство его фич, да еще и без типов.
Аноним 27/12/17 Срд 07:17:38 #262 №1113020 
>>1111912
В ES6 есть пара плюшек в виде синтаксического сахара. Покурить ES5 и ниже будет полезно, чтобы лучше понимать то, что происходит за ширмой красивых слов типа class, стрелочных функций и так далее.
Ну ещё там есть действительно крутые нововведения типа let, которые решают кучу проблем с ебанутой системой областей видимости в языке.
Короче, я бы советовал поизучать es5, а потом сверху уже es6 изучить.
Аноним 27/12/17 Срд 07:18:06 #263 №1113021 
>>1111968
Phaser
Аноним 27/12/17 Срд 13:15:57 #264 №1113076 
Анончики, помогите с этим:

В этот JS код

https://pastebin.com/Dn9j5ark

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

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

Как их правильно совместить? В JS я мало разбираюсь.
Аноним 27/12/17 Срд 14:32:45 #265 №1113110 
Что уважаемый антон порекомендует в качестве движка для встраивания JS в программу (для того чтобы пользователь мог скриптовать её поведение, автоматизировать под свои узкоспециальные нужды)?
Смотрю на V8.
А, если это важно, также встроен каноничный Lua, т.е. движки должны уживаться друг с другом и в идеале встраиваться ммммаксимально схожим образом, но это не обязательно.
Аноним 27/12/17 Срд 14:50:53 #266 №1113116 
>>1113110
в8, других вариков у тебя и нет, считай.
Аноним 27/12/17 Срд 15:20:17 #267 №1113120 
>>1108584
>Сколько лет пройдет пока не наступит пздц?
Как лисп наконец то умрет, тогда и наступит пиздец js то есть никогда.
Аноним 27/12/17 Срд 15:24:32 #268 №1113121 
>>1111912
Это тоже самое что переехать с 98 стандарта в С++ на 14/17.
sageАноним 27/12/17 Срд 15:41:01 #269 №1113128 
Как можно вызвать анонимную функцию внутри анонимной функции?
var a = (function(){здесь нужно вызвать эту же функцию})();
Хочу сделать рекурсию с анонимной функцией
Аноним 27/12/17 Срд 15:44:45 #270 №1113130 
>>1113128
Ноуп.

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

let a = (function anon(){ anon() })()
sageАноним 27/12/17 Срд 15:46:26 #271 №1113132 
>>1113130
anon засоряет область видимости
sageАноним 27/12/17 Срд 15:47:10 #272 №1113133 
>>1113132
*пространство имен
Аноним 27/12/17 Срд 15:52:39 #273 №1113137 
>>1113128
a()
Аноним 27/12/17 Срд 15:56:21 #274 №1113139 
>>1113132
Сасай тогда
sageАноним 27/12/17 Срд 15:58:57 #275 №1113140 
>>1113137
Вот норм идея кста, спасибо
Аноним 27/12/17 Срд 18:34:00 #276 №1113216 
540070.jpg
Поцоны, выручайте. Хочу сделоть редирект на js, то есть типа, хостим на сайте там скрипт

http://sait.ru/redik.js

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

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

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

https://yandex.ru/search/?&text=iphone games
Аноним 27/12/17 Срд 19:23:46 #277 №1113223 
>>1113216
Редиректит сервер. Ну либо исполняемым на хмтл странице жс-ом можно window.location сделать.
В чём у тебя смысла редиректа именно по такой ссылке, ты что сделать хочешь?
Аноним 27/12/17 Срд 20:03:42 #278 №1113229 
>>1113223
Мне нужно передать в get параметре кейворд, вот так.

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

Аноним 27/12/17 Срд 20:40:08 #279 №1113236 
>>1113132
Оберни в еще одно iffe
Аноним 27/12/17 Срд 23:48:43 #280 №1113304 
Просьба к анонам которые занимаются фронтом профессионально, обведите кружочками плиз что из этого вы юзаете часто и что должен знать джун обязательно.

https://www.dropbox.com/s/rgzo6admnvd6pmb/%D0%9A%D0%B0%D1%80%D1%82%D0%B0%20JS%2C%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B5%D1%81.png?dl=0
Аноним 28/12/17 Чтв 00:20:07 #281 №1113313 
>>1113304
не заходите вирус
Аноним 28/12/17 Чтв 01:25:03 #282 №1113333 
>>1110896
Сильно устаревшие результаты учитывая React 16
Вот свежие

http://www.stefankrause.net/js-frameworks-benchmark7/table.html
Аноним 28/12/17 Чтв 07:23:44 #283 №1113380 
>>1113132
Ничего он не засоряет, пиздабол.
Аноним 28/12/17 Чтв 07:25:16 #284 №1113382 
>>1113137
в данном случае будет захват переменной из внешнего скоупа, в то время как в случае с именем функции - такого захвата не будет. вы вообще когда-нибудь в консоль заглядываете?
Аноним 28/12/17 Чтв 07:45:00 #285 №1113386 
>>1113304
Не получается кружочком, пункты не квадртаные же, лишнее захватывается. Переделай картинку. Ты серьёзно? Никто не будет тут сто пунктов читать и что-то там обводить.
Аноним 28/12/17 Чтв 12:07:45 #286 №1113416 
Untitled.png
Подключил Sequelize, делаю define таблицы, но IDE ругается на Sequelize.STRING. Надо как-то пакет докачать еще?
Аноним 28/12/17 Чтв 13:28:23 #287 №1113440 
>>1113304
> обведите кружочками
Как там рисовать?
Аноним 28/12/17 Чтв 14:50:44 #288 №1113455 
Сап, js-уебок на связи. В который раз охуеваю от его уебищности, но делать нехуй. Нужен совет от шарящих анонов, чьи жопы натренированы и не убивают кенгуру на той стороне шара. В общем есть localStorage, в него записываешь
>localStorage.setItem(counterObj, localObj);
(counterObj - простой счетчик, localObj - объект с переменными, в переменных всякая хуйня записана). Так вот когда используешь метод localStorage.getItem(counterObj) и пытаешься за 1 итерацию цикла вытащить 1 переменную (ее содержимое) localObject, то вытаскивается 1 символ, а не объект. Как фиксить?
Аноним 28/12/17 Чтв 14:53:53 #289 №1113457 
>>1113455
Код?
Аноним 28/12/17 Чтв 14:58:26 #290 №1113462 
>>1113457
Спасибо, анон, но кажысь разобрался, надо объект в JSON захуярить сначала. Если помещаешь что-то в localStorage, то оно походу сразу становиться текстовой строкой.
Аноним 28/12/17 Чтв 15:04:25 #291 №1113469 
>>1113462
Да, стригифай@парсь.
Аноним 28/12/17 Чтв 20:01:44 #292 №1113548 
>>1113382
>в данном случае будет захват переменной из внешнего скоупа
и чо?
Аноним 29/12/17 Птн 01:11:56 #293 №1113652 
>>1113548
она может быть переопределена, мань.
Аноним 29/12/17 Птн 06:04:28 #294 №1113699 
image.png
Ничего не понимаю.

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

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

a = window.getSelection().anchorNode;

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

Почему? Как мне совершить итерацию к следующему span, где есть "как дела"?
Аноним 29/12/17 Птн 12:26:12 #295 №1113794 
>>1113699
> Как мне совершить итерацию к следующему span, где есть "как дела"?
document.getElementByTagName("span").forEach(...)
Аноним 29/12/17 Птн 14:25:07 #296 №1113839 
>>1113794
Тогда я получу каждый span из документа, а мне надо span, который будет только в выделенном фрагменте.
Аноним 29/12/17 Птн 15:01:09 #297 №1113847 
>>1113699
https://www.w3.org/DOM/faq.html#emptytext

Попробуй фильтровать пустые элементы.
Аноним 29/12/17 Птн 15:11:15 #298 №1113850 
DSFzIudWsAIye6z.jpg
Аноним 29/12/17 Птн 15:27:50 #299 №1113856 
>>1113652
ну напиши конст
Аноним 29/12/17 Птн 16:52:34 #300 №1113886 
>>1113699
"Привет" это текст у него нет сиблингов, тебе нужно взять парента(span) и от него уже плясать.
Аноним 30/12/17 Суб 18:18:18 #301 №1114175 
Не могу сформулировать вопрос человеческим языком, Анон, так что формулирую как могу.

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

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

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

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

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

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

Спасибо.
Аноним 30/12/17 Суб 18:22:10 #302 №1114176 
>>1114175
Берешь и без задней мысли учишь один из модных фреймворков, там уже за тебя решили всё.
Аноним 30/12/17 Суб 19:00:34 #303 №1114194 
>>1114175
Да, и еще вспомнил, почему я не могу сделать функцию возвращающую true\false - AJAX же. Значит, колбэки? Сейчас пробую сделать с ними, добавил объект с кучей колбэков на разных этапах.
Аноним 30/12/17 Суб 21:57:33 #304 №1114250 
>>1114175
MVC
В JS есть готовый Sails для этого.
Аноним 30/12/17 Суб 23:00:21 #305 №1114267 
Сап, что за хуйня, сделал Кантора, подумал закрепить хекслетом - и что не задача - не могу сделать. При чем постоянно пишу код на 90% похожий на верное решение, и постоянно проебываюсь с какой нибудь фигней. Пр чем это на начальном уровне, типа там слова проверить, которые задом наперед одинаково читаются и все такое. Все, пиздец, я тупой? Или к хуям эти задачи и учить реакт? Или я просто старый уже? Мне 27 уже, заебался по саппортам работать.
Аноним 31/12/17 Вск 00:57:58 #306 №1114314 
>>1114267
иде используешь?
Аноним 31/12/17 Вск 04:54:14 #307 №1114373 
>>1114194
>AJAX же. Значит, колбэки?
Есть еще событийно-ориентированное программирование. Триггеришь события, подписываешься на определенные события, обрабатываешь их.
Аноним 31/12/17 Вск 11:24:05 #308 №1114407 
Почему быдло так редко юзает тайпскрипт на клиенте и сервере, чтобы был shared код?
Аноним 31/12/17 Вск 11:28:16 #309 №1114408 
>>1114407
>Почему
Потому что тс для быдла. Все ровные пацаны пишут на кложаскрипте или в крайнем случае на флоу.
Аноним 31/12/17 Вск 12:26:53 #310 №1114413 
Приветствую, Джейсоны!
Есть ли npm-пакетики, позволяющие связывать стримы и буфер, чтобы можно было писать в буфер по типу createWriteStream из fs api?
Аноним 31/12/17 Вск 14:20:01 #311 №1114438 
>>1114314
неа, не умею)
Аноним 01/01/18 Пнд 17:37:25 #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
Аноним 01/01/18 Пнд 19:54:10 #313 №1114747 
>>1114408
cs-то зачем нужен. Менять шило на мыло
Аноним 01/01/18 Пнд 21:43:27 #314 №1114769 
>>1114719
Если пишешь что-то на фреймворках - юзай вебпак. Если верстаешь лендинги - можешь юзать галп. Но не совмещай их, так как сейчас вебпаком уже все можно делать и без галпа. Если хочешь риалтайм изменения, то тебе нужно хот-релоад в вебпаке настроить. Решения таких ошибок нужно искать не на дваче, а на стаковерфлоу или в гугле.
Аноним 02/01/18 Втр 05:11:45 #315 №1114880 
Куда подевался фронтенд тред?

Пилю туду лист на реакте. Существуют какие-то способы сохранить в каком-то виде данные из приложения на хостинге типа surge или gh-pages?
Аноним 02/01/18 Втр 10:34:45 #316 №1114906 
ребята помогите пожалуйста почему хуектор не работает? https://jsfiddle.net/aaesv56a/
Аноним 02/01/18 Втр 12:34:53 #317 №1114923 
>>1114880
>Куда подевался фронтенд тред?
>сохранить данные из приложения на хостинге
Аноним 02/01/18 Втр 12:45:39 #318 №1114927 
>>1114923
Вдруг там в 3 строки ставится какая-нибудь срань вроде mongobd, я бы и ее чуть ковырнул.
Аноним 02/01/18 Втр 14:51:03 #319 №1114946 
>>1114927
Монгу бесплатно можешь тут поднять, если твой хостинг позволяет кроссдоменные запросы
https://mlab.com/plans/pricing/#plan-type=sandbox

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

А вообще для никому не интересной тудушки лучше сделай в лохал-сторедже, ну или в индекседДБ, если хочешь веселья.
Аноним 03/01/18 Срд 08:38:59 #320 №1115183 
>>1114906
хеуктор как раз работает, это вектор у тебя не работает. Потому что нахуя ты делаешь проперти plus с геттером, а потом пытаешься эту проперти как функцию вызывать? Геттер это же совсем другое.
Аноним 03/01/18 Срд 12:52:11 #321 №1115234 
Всем привет. Можете пожалуйста пояснить за механизм работы сессий? использую express-session и mongo-connect
бекенд и фронт разделены. Вот мне приходит логинка пользователя, я сохраняю её в req.session, мне надо , получается, на клиент надо вернуть id сессии и потом просто в остальных запросах делать проверку коллекции session в монге на поиск всех этих данных?

или на клиент ничего не возвращается и я исколючительно должен это делать на своей стороне? просто если так то не пойму каким образом
Аноним 03/01/18 Срд 13:33:22 #322 №1115276 
>>1114880
Огненная база.
Аноним 03/01/18 Срд 20:33:00 #323 №1115440 
DSoaNlYWsAEavWg.jpg
Должен ли у ЖСа быть маскот? Какого бы ты предложил?
https://www.kickstarter.com/projects/1604791210/javascript-rhino-toy
Аноним 04/01/18 Чтв 06:21:41 #324 №1115604 
>>1115440
Сразу видно гениальных программстов жс'а: белый клык на белом фоне, или на фоне белой же игрушки у ёлки. Я даже не сразу его увидел.
Аноним 04/01/18 Чтв 06:25:52 #325 №1115606 
>>1115604
Рог то есть, а не клык, что это я.
Аноним 04/01/18 Чтв 23:39:14 #326 №1115880 
Посоны, стал я изучать этот ваш JS. И сразу бросается в глаза какая-то неконсистентность. Почему если я не объявлю переменную x и обращусь к ней напрямую, то получу ошибку, а если обращусь через window.x, то просто получу undefined? Почему если я у null и undefined попытаюсь установить или получить свойство, то получу ошибку, хотя с другими примитивными типами такого не будет? Есть логичное обоснование для этого?
Аноним 05/01/18 Птн 01:12:44 #327 №1115901 
>>1115880
Я, конечно, сам нуфак, но
>JS
>Логичное обоснование
Аноним 05/01/18 Птн 01:49:12 #328 №1115914 
>>1115880
Проблема нуля существовала задолго до JS. Все языки в которых он есть — невероятно уебищны и нелогичны.
Аноним 05/01/18 Птн 05:51:19 #329 №1115941 
>>1115880
>просто получу undefined
Так работает внутренняя операция [[Get]] согласно спеке.
>у null и undefined попытаюсь установить
Для них нет конструктора. Для строки, например, есть String(). Если ты делаешь "abc".trim(), то под капотом происходит String("abc").trim().
>логичное обоснование
Все внутренние операции описаны в спеке:
https://tc39.github.io/ecma262/
Многие из них это результат компромисса. А некоторые это "хотели, как лучше, получлось, как всегда", типа нестрого сравнения.
Аноним 05/01/18 Птн 08:23:42 #330 №1115952 
>>1115880
>>Посоны
>>этот ваш
>>неконсистентность
Иди нахуй, быдло.
Аноним 05/01/18 Птн 15:52:02 #331 №1116083 
wat.mp4
>>1115880
Аноним 05/01/18 Птн 19:57:32 #332 №1116187 
>>1116083
Каждый раз проигрываю с этого ролика. А что за jsc интерпритатор соснольный? Я знаю в сперме есть в составе net framework jsc.exe , который для jscript.net.
Аноним 05/01/18 Птн 20:08:12 #333 №1116196 
>>1116187
alias jsc='node'?
Аноним 05/01/18 Птн 20:12:53 #334 №1116201 
>>1116196
Справедливое предположение
Аноним 05/01/18 Птн 22:57:09 #335 №1116244 
image.png
Анон, помоги, пожалуйсто. Как в ебучем бабеле отключить эскейп кириллицы?
Гугл не помогю
Аноним 06/01/18 Суб 00:26:52 #336 №1116270 
>>1116244
В седьмой версии добавили конфиг "asciiUnsafe". Но седьмая еще не зарилизилась, страдай пока
Аноним 06/01/18 Суб 01:16:55 #337 №1116282 
Сапо, господа программисты.
Существует возможность с помощью javascript менять содержимое файла при его открытии по клику мышки?
Ну то есть вот когда открываешь картинку на сосаче надо что-бы скрипт правил немного заголовок картинки. Пока приходит в голову разместить внешний скрипт на хостинге и отправлять картинку туда, но суть в том что хочу запилить расширение для пользователей Safari есть баг с открытием некоторых изображений, а держать хостинг для таких целей не охото.
Аноним 06/01/18 Суб 01:32:56 #338 №1116283 
>>1116282
Нет.
Аноним 06/01/18 Суб 01:33:57 #339 №1116284 
>>1116282
Если более детально, то тебе нужно клиент-серверное решение. Rest. Backend nodejs/php/python... frontend js
Аноним 06/01/18 Суб 01:35:31 #340 №1116285 
>>1116284
Да, как решить с таким подходом я понимаю, но блин не хочется хостинг оплачивать для такой задачи.
Аноним 06/01/18 Суб 01:40:47 #341 №1116287 
>>1116270
Хорошо, спасибо. Попробую бетку накатить.
Аноним 06/01/18 Суб 01:41:46 #342 №1116288 
>>1116283>>1116284
А по моему очень даже можно.
Куклоскрипт вон умеет раржпеги искать.
>>1116282
Вот тут показали как из загруженной картинки получить её бинарник, или как это назвать.
https://stackoverflow.com/questions/934012/get-image-data-in-javascript
И его уже можешь модифицировать как хочешь.
Но чую я, что для тебя это будет пиздецки сложно.
Аноним 06/01/18 Суб 01:46:17 #343 №1116289 
>>1116282
>>1116284

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

Вот так сходу не могу придумать, почему не будет работать, File API в сафарях работают (вроде), экстеншены позволяют работать с контентом страницы, на которую настроены пермишены. Конечно могут быть подводные камни, но сходу их не видно.
Аноним 06/01/18 Суб 02:17:27 #344 №1116294 
>>1116288
>>1116289
Благодарю, пойду читать.
Аноним 06/01/18 Суб 11:05:50 #345 №1116371 
Насколько популярен вариант фуллстек с знаниями Java(Spring,Hibernate,Kafka) и JS(TypeScript+Vue.js)?
Для таких найдется работа?
Аноним 06/01/18 Суб 15:08:39 #346 №1116428 
>>1116371
Для всего найдётся. Знать бы где искать.
Аноним 06/01/18 Суб 22:19:22 #347 №1116607 
>>1116196
Видео возможно донодовое
Аноним 06/01/18 Суб 23:29:38 #348 №1116641 
>>1116607
Видео из 2012.

Вполне может быть, впрочем, что использовано это — https://trac.webkit.org/wiki/JSC (2 секунды гугла).
Аноним 06/01/18 Суб 23:47:38 #349 №1116652 
Пидары, что опять с npm случилось?

https://github.com/npm/registry/issues/255
Аноним 07/01/18 Вск 01:18:20 #350 №1116706 
>>1116652
Проиграл в очередной раз с неогранизанности макак, в Java/PHP такого ни разу не было, а в JS опять left-pad. Алсо чому ты в субботу вечером кодишь?
Аноним 07/01/18 Вск 02:02:42 #351 №1116726 
kvadratyfontemnyymnozhestvo569861920x1080.jpg
Антоны, такой тупой вопрос, как задать динамическое позиционирование к примеру от картинки? В каждой теме картинка бывает разных размеров и что бы оценки сами определяли размер картинки и вставали правильно как рилейт, а не налезали на фоточеку если она вдруг оказалась большой
https://jsfiddle.net/uxu0nygh/
Аноним 07/01/18 Вск 12:15:35 #352 №1116818 
>>1116726
Не использовать position: absolute, например, и пройти какой-нибудь туториал по хтмл вёрстке.
Аноним 07/01/18 Вск 14:20:28 #353 №1116874 
>>1116818
Да туплю уже, ни ок в 2 часа ночи верстать.
Конечно же нужно было position: relative
Аноним 07/01/18 Вск 21:39:23 #354 №1117045 
Коты, как вкатиться в реакт? Туториал на сайте с tic tac toe прошел, но в реальных сайтах яснее не стало.
Скачал material ui для реакта, но дальше одного компонента дело не движется. Например запилил drawer, но хуй знает как привязать обработчики к кнопкам, onClick там никаких нету.
Готовые же сайты на react material ui просто вообще нихуя не понятны.

Есть годные гайды для реакта (именно по material ui неважно, мне хоть как), которые сложнее написания tic tac toe, но не космического уровня и объясняют именно прикладную задачу по запилу фронта для сайта.
Аноним 07/01/18 Вск 23:21:53 #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] },
]
Как это сделать? Чем сделать? Что прочитать?
Аноним 07/01/18 Вск 23:28:07 #356 №1117073 
Чувствую себя тупым с этими мапами, фильтрами, редусами.
Аноним 08/01/18 Пнд 00:16:21 #357 №1117080 
>>1117070
For-ом сделай и не выебывайся. Зачастую бывает, что мапами, фильтрами и редусами получается нечитабельная хуйня.
Аноним 08/01/18 Пнд 00:23:25 #358 №1117083 
>>1117073
Мап - применить функцию к каждому элементу и вернуть список результатов, филтер - применить функцию к каждому элементу и вернуть только те исходные элементы, где результат функции true, редюс - собрать список в единственное значение, поочередно применяя к каждому значению списка функцию, таким образом изменяя промежуточное значение тупо написал, на примере проще разобраться.
Аноним 08/01/18 Пнд 00:34:15 #359 №1117086 
>>1117080
Уже сделал, только всё равно чувство что полная хуйня осталось. Не знаю, как лучше сделать такое, надо хранить, допустим, юзеров и у них есть статы. Похоже на ооп хуйню, но не пойму.
Аноним 08/01/18 Пнд 04:52:37 #360 №1117134 
>>1117086
Покажи как сделал то.
Аноним 08/01/18 Пнд 04:59:00 #361 №1117136 
Как из промиса данные вернуть, а не сам промис? Я понимаю, что асинхрон хуёмоё.
Аноним 08/01/18 Пнд 06:33:31 #362 №1117152 
>>1117070
https://repl.it/repls/UnawarePastelArieltoucan
Аноним 08/01/18 Пнд 06:38:26 #363 №1117154 
map-reduce[1].png
>>1117083
Аноним 08/01/18 Пнд 06:45:12 #364 №1117156 
>>1117152
Да, также сделал, только res[o.name] = { num: [] }
Аноним 08/01/18 Пнд 06:53:59 #365 №1117157 
>>1117152
>>1117156
Что-то я хуйню написал.
Аноним 08/01/18 Пнд 06:58:57 #366 №1117159 
>>1117045
Тралишь? reactjs.org -> DOCS. Это все, что тебе нужно. Первые главы оформлены как туториал.
Аноним 08/01/18 Пнд 08:38:34 #367 №1117173 
>>1117152
>if (!res[o.name])
>    res[o.name] = [];
Никогда больше так не делай, пожалуйста. Скобочки.
Амебушка Аноним 08/01/18 Пнд 11:08:13 #368 №1117219 
Почему возвращает не 1 всегда?

function power(base, exponent) {
if (exponent == 0)
return 1;
else
return base * power(base, exponent - 1);
}
console.log(power(2, 3));
Аноним 08/01/18 Пнд 11:51:09 #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
Аноним 08/01/18 Пнд 11:51:27 #370 №1117234 
>>1117233
Макаба все знаки умножения проебала, но ты понял.
Аноним 08/01/18 Пнд 11:54:19 #371 №1117237 
>>1117233
>>1117234
Да! Спасибо. Сначала на магию было похоже.
Аноним 08/01/18 Пнд 12:17:32 #372 №1117246 
>>1117159
Я в JS и HTML как слон в посудной лавке.
Аноним 08/01/18 Пнд 12:54:45 #373 №1117261 
kek2.JPG
kek1.JPG
анонче, помоги. почему я не могу передать функцию в качестве аргумента, а потом вернуть её значениие?
https://jsfiddle.net/uwsfmg15/
Аноним 08/01/18 Пнд 13:03:55 #374 №1117266 
>>1117261
>ReferenceError: inBetween is not defined
Твоя последняя строка ничего не знает про функцию "inBetween". Ты её определяешь внутри filter, за его пределами её не существует.
Аноним 08/01/18 Пнд 13:13:47 #375 №1117271 
>>1117261
понял, спасибо
Аноним 08/01/18 Пнд 13:14:04 #376 №1117272 
>>1117266
>>1117271
Аноним 08/01/18 Пнд 13:14:17 #377 №1117273 
6VfxNjk.png
>>1117271
Вообще то, что ты пытаешься сделать можно делать так
https://jsfiddle.net/uwsfmg15/1/
В жсе уже есть filter https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
Аноним 08/01/18 Пнд 13:16:30 #378 №1117275 
>>1117273
ага, видел такой вариант у Кантора.
Аноним 08/01/18 Пнд 16:17:29 #379 №1117365 
>>1108922

Vue.js уже хоронит реакт, расслабься
Аноним 08/01/18 Пнд 17:36:08 #380 №1117390 
fapfapfap.jpg
Аноны, что за хуйня происходит в этом клочке кода?

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 никогда не работал в таком коде. Очень все сложно и нихуя не понятно
Аноним 08/01/18 Пнд 22:11:07 #381 №1117514 
вопр.JPG
Анонче, опять вопрос от нуба.
Почему на пике слева выдает 10, как и надо. А справа выдает содержимое функции(хотя там вроде указан stringOf)?
п.с.
Тема по преобразованиям объектов к примитивам у Кантора
Аноним 08/01/18 Пнд 23:43:20 #382 №1117586 
>>1117365
Но ведь vue.js это по сути та же хуйня, что и реакт, только без jsx-месива (а разделенное на темплейты, скрипты и ксс). Разве что нормально просто в html-страницах работает.
Аноним 09/01/18 Втр 01:05:02 #383 №1117602 
>>1117514
ну наверное потому что справа ты делаешь return еще до того, как у тебя исполнится bar.toString = ...
Аноним 09/01/18 Втр 05:03:38 #384 №1117653 
>>1117136
Получаешь данные в коллбэке then.
Там же и продолжаешь логику играть от данных, ведь там данные собственно уже пришли.
Аноним 09/01/18 Втр 05:06:38 #385 №1117654 
>>1117586
Нет, vuejs это та же, хуета, что и ангуляр. И заменяет она именно ангуляр, но в целом на соотношение ангуляр/vue против react она никак не повлияет
Аноним 09/01/18 Втр 08:48:30 #386 №1117671 
изображение.png
>>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 никогда не работал в таком коде.
Потому что это не человек писал, а обфускатор сгенерировал. Там изначально был нормальный понятный код, но его вот так упаковали.
Сам не вздумай так писать, пиши нормально.
Аноним 09/01/18 Втр 09:33:03 #387 №1117680 
>>1117654
Нихуя она ангуляр не заменяет, глупый. Если там директивы как в ангуляре - это ещё ничего не значит. Вуе - это вью-слой, лёгкий, быстрый и реактивный без костылей.
Аноним 09/01/18 Втр 16:29:29 #388 №1117789 
>>1117680
Еще как значит. Подход тот же, что у ангуляра, что в свое время перевернул реакт, предложив намного более простой способ размышления об интерфейсе.
Аноним 09/01/18 Втр 16:55:44 #389 №1117805 
>>1117390
пиздец. Кто и зачем пишет такой код? Просто объясните. Он минифицированный?
С 09/01/18 Втр 17:12:21 #390 №1117815 
Анон, нужно ли быть курильщиком чтобы кодить на js?
Знакомый говорит что если ты не купишь ты не можешь быть в Тиме. Как быть?
Аноним 09/01/18 Втр 17:16:04 #391 №1117820 
>>1117789
>Подход тот же, что у ангуляра, что в свое время перевернул реакт
Кто кого перевернул?

Ангуляр - это MVVC - фреймворк, тяжёлый ентерпрайз-монстр, а Vue - это View-слой, агностичный по отношению ко всему остальному в приложении. А директивы - ничего не значат. Давай тогда всё, где встречается {{}} - синтаксис называть заменой хандлебару
Аноним 09/01/18 Втр 20:23:42 #392 №1117909 
>>1117815
Привет. Я Тима. Что надо?
Аноним 09/01/18 Втр 20:30:36 #393 №1117912 
>>1117815
хотя бы вайпер купи.
Аноним 10/01/18 Срд 05:59:06 #394 №1118048 
>>1117909
В тебе были некурящие?
Аноним 10/01/18 Срд 06:17:42 #395 №1118049 
>>1117815
Я думал курить для программиста - табу. Умный человек курить не может. Ящитаю.
Как и быть жирным. А если человек жирный и курит, он вообще отброс.
Аноним 10/01/18 Срд 10:07:47 #396 №1118074 
Куда перекатываться с фронтэнда?
Аноним 10/01/18 Срд 11:39:08 #397 №1118099 
>>1118074
В гроб
Аноним 10/01/18 Срд 17:07:46 #398 №1118244 
>>1108645
>>1116282
>крипт правил немного заголовок картинки.
google javascript canvas
Аноним 10/01/18 Срд 17:08:07 #399 №1118245 
>>1108645
>>1116282
>крипт правил немного заголовок картинки.
google javascript canvas
Аноним 10/01/18 Срд 19:25:58 #400 №1118302 
>>1118099
Почему?
Аноним 10/01/18 Срд 21:26:16 #401 №1118368 
>>1118302
Необратимое повреждение головного мозга.
Аноним 11/01/18 Чтв 15:24:07 #402 №1118709 
Анон, пробовать наварачивать пхп вместе с жс, или каша получится? Жм уже месяца 4 наворачиваю, но чет как то грустно все.
Аноним 11/01/18 Чтв 15:48:56 #403 №1118718 
Двач, есть json-чик со списком городов и их координатами - "coordinates": {"lat": 31.230393, "lon": 121.473704}

Куда можно скормить мой json, чтобы он среди всех городов нашёл, например, 5 самых близких координат к тем, что я укажу? Нужно кокочать геобазу и ajaxом отправлять к PHP?
Аноним 11/01/18 Чтв 15:59:05 #404 №1118721 
>>1118718
For
Аноним 11/01/18 Чтв 16:00:41 #405 №1118722 
>>1118721
Объёмный ответ.
Аноним 11/01/18 Чтв 16:54:40 #406 №1118738 
>>1118722
Я бы так сделал.
Топ 5 самых близких городов и циклом перебирать все из жсона.
Если текущий ближе, чем 5й в списке, то удалять 5й, и заменять его текущим и сортировать топ5, чтоб в конце был самый дальний.
Воооот.
Аноним 11/01/18 Чтв 17:00:18 #407 №1118741 
>>1118709
Если тебе 16 лет, пробуй. "Специалисты", умеющие и то и то ценятся у всяких "сделай сайт".
Аноним 11/01/18 Чтв 19:32:18 #408 №1118801 
alexander.png
В slack конфе весело. Смотрим боку но пико всей конфой. Заходите к нам!
Аноним 11/01/18 Чтв 19:36:23 #409 №1118802 
Ccылка на конфу в шапке.
Аноним 11/01/18 Чтв 22:47:24 #410 №1118857 
rasstojanie-mezhdu-dvumja-tochkami.png
>>1118738
Решил свою задачу. Оказывается, есть крутая формула по определению векторного расстояния между двумя точками. Система образования в шкалах - це пиздец, конечно.
Эта формула - материал 9-го класса. Но нахуя в школе рассказывать, зачем это нужно? Можно просто сказать РЕШАЙ СУКА ЗАДАЧУ МРАСЬ. Пиздец жалею, что матан не учил.
Аноним 11/01/18 Чтв 22:55:44 #411 №1118859 
Z6-ZnIJAiME.jpg
Возможно не для этого треда вопрос, но в фронтенд-треде не ответили:
Где найти этот курс полностью? - https://codedojo.ru/store/nodejs-basics
На раздаче nnm-club'а не достает некоторых важных уроков, также как и на coursehunters.
Аноним 11/01/18 Чтв 23:03:24 #412 №1118865 
>>1118857
Формула может и крутая, только мы живём на сфере и для таких расстояний ебёмся в символы Кристофеля. надо считать хотя бы так http://osiktakan.ru/geo_koor.htm

Но для сравнения сойдёт и твой вариант. Только не забудь о переходе через полюс/180 меридиан
Аноним 12/01/18 Птн 02:14:19 #413 №1118913 
Анон, я пытаюсь в фуллстак и не могу. Чувствую себя ужасно тупым. Ни определиться, ни начать говнокодить.
Надо сделать простенький проект уровня одностраничной параши, которая на каждое изменение в базе реагирует для всех клиентов. Добрался до стека React+Apollo и вроде бы неплохо, но кэш с состоянием для клиента максимально уебищный, плюс на новой версии они откатили поддержку Redux/MobX.
Вопрос: продолжать ли ебаться с аполлой или просто не выебываться и настраивать вебсокеты отдельно?
Аноним 12/01/18 Птн 03:12:03 #414 №1118918 
>>1118857
Анон, ты сам рисовал пичку? Если да, то в чём?
Аноним 12/01/18 Птн 06:42:09 #415 №1118931 
>>1118913
Я может чего-то недопонимаю но апполло не является ли очередной прослойкой для взаимодействия с GraphQL API? С кешем и шлюхами. Ну т.е. я хочу сказать разве это предполагает отдачу риал-тайм изменений в базе? Мне кажется в любом случае вебсокет соединение надо открывать. А для простенькой одностраничной параши изолированный глобальный контейнер состояния вроде редакса и не нужОн.
Аноним 12/01/18 Птн 10:06:09 #416 №1118953 
>>1118859
Серьёзно? Чтоб понять основы node.js тебе нужен видео курс? Именно этот видео курс? Тысячи других бесплатных не подойдут? Миллионы статей, где разжевано всё для дебилов, тоже?
Нахуй так жить?
Аноним 12/01/18 Птн 10:26:41 #417 №1118957 
Помогите пожалуйста, где можно прочитать про побитовые операции? Сейчас читаю на learnjs, но там не очень понятно.
Может есть видео урок или книга, где всё разжевано объясняется?
Аноним 12/01/18 Птн 10:42:59 #418 №1118962 
>>1118957
Для надо знать что такое двоичная система исчисления, дальше всё просто.
Аноним 12/01/18 Птн 13:27:10 #419 №1119004 
hqdefault.jpg
>>1118957
> где можно прочитать про побитовые операции
какой пиздец
Аноним 12/01/18 Птн 18:50:13 #420 №1119134 
>>1118957
Вот тебе с табличками, где указано какая операция что сделает с примерами
https://learn.javascript.ru/bitwise-operators
Аноним 12/01/18 Птн 18:52:49 #421 №1119136 
test
Аноним 12/01/18 Птн 19:45:51 #422 №1119151 
>>1118953
Ну мне понравился этот чел с ютуба, объясняет намного лучше, чем другие 90% ебланов, которые просто пересказывают доку.
Аноним 12/01/18 Птн 20:20:32 #423 №1119162 
Поясните за болд, с какой недели включается, через сколько после последней инъекции выключается и можно делать пкт. Хочу сделать с энкой или сустом, а то вот давеча слез с 6 недельного проп - метан - рассчитывал на волшебство коротких курсов, супер быстрого восстановления... ну проебался кароч. Ща думаю успею 12 недель сделать или нет до жары. К тому же никогда не делал два курса подряд почти, сцыкотно.
ps на первой недели пкт узнал что моя телка мне изменила - два дня не жрал, с 87 до 84,5 при росте 173. Если нет спокойствия в жизни нехуй и курсить.
Аноним 12/01/18 Птн 20:45:54 #424 №1119165 
>>1119162
пардон, не в тот
Аноним 12/01/18 Птн 21:50:04 #425 №1119182 
Я вроде уже имею представление об вебпаках, ярнах, нпмах, галпах, грантах, лесах, сасах, жсах, ес6, наследовании, загибулинах на жквери. Но еще куча вещей осталась неизвестной. Подскажите, что это за хлам, зачем нужен, кто кого заменяет, что лучше?
>жквери, лодаши, рамды, бутстрапы, материалайз, постсss, юи паки всякие?
Что с этим хламом делать? Где со всем этим пересекается реакт? Я еще не начинал его, поэтому мне немного сложно сориентироваться
Аноним 12/01/18 Птн 23:12:47 #426 №1119216 
Как всякие html5 чарты засунуть в реакты и прочие вуи?

Я делаю новый div id=chart в компоненте, объявляю new CanvasJS.Chart("chart"), рендерю его через render(), вызываю все это в лайфсайкле компонента, но нихуя не происходит.
Аноним 13/01/18 Суб 02:07:39 #427 №1119276 
>>1119182
Jquery & bootstrap - не нужен.
Webpack - помогает тебе собрать твой проект, позволяет автоматизировать кучу задач, которые ручками ты не сделаешь. Например - минифицировать код, скомпилировать код препроцессора на обычный css и т.д
npm & yarn - позволяет устанавливать пакеты, которые необходимы для сборки проекта.
less/sass/stylus и т.д - препроцессоры, которые позволяют тебе облегчить написание css кода, добавив в него новые возможности/синтаксис. Есть еще постпроцессор, который называется postCSS, но я с ним не работал, сказать про него ничего не могу. Лучше пускай другие ребята пояснят.
ES6 - некая спецификация, такой язык, на основе которого сделаны js/typescript/dart.js и т.д.
Наследование в js - просто красивая обертка над прототипами.
Пускай более опытные меня поправят, если что не так написал.

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

Кстати, молодец, что решил учить реакт сразу. Я с вью начал - всё очень просто, отличный фреймворк, вопросов нет, но его недостаток(имхо конечно же), это его излишняя простота. Изучая его, ты не изучаешь js по-сути, а изучаешь фреймворк. А Реакт завязан на js, поэтому помимо изучения фреймворка ты еще и скилл нативного js качаешь.
Аноним 13/01/18 Суб 02:44:27 #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 и иже с ними.
Аноним 13/01/18 Суб 03:34:50 #429 №1119291 
>>1108498 (OP)
Анон, помоги додику. Верстаю сайт, все сделано кроме одного:
Нужно чтобы при нажатии на ссылку скрывались все блоки кроме одного, указанного мной.
Аноним 13/01/18 Суб 11:53:08 #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 скрипт ввести, чтоб оно заработало?
Кто-нибудь вообще пробовал привязывать какие-нибудь горячие клавиши к элементам страницы?
Аноним 13/01/18 Суб 12:31:42 #431 №1119348 
Нашел интересный проект на гитхабе https://github.com/reactioncommerce/reaction
Как понять из какого файла и с какой строчки стартует весь проект? Или может быть есть уже отработанные техники понять как работает весь этот проект?
Аноним 13/01/18 Суб 16:28:11 #432 №1119440 
>>1119279
Можешь рассказать про последние два? Что это вообще, не могу понять, хьюго, кэдди вообще не нашел походу, какую-то нпм команду выдает
Аноним 13/01/18 Суб 16:29:57 #433 №1119442 
>>1119339
Да, есть метод онкей пресс
>>1119291
почему просто не поставишь листенер и присваивать класс шоу-хидден?
Аноним 13/01/18 Суб 17:42:33 #434 №1119480 
>>1119440
Хьюго - статик сайт генератор на реакте.
Кэдди - я хз.
Другой анон.
Аноним 13/01/18 Суб 18:16:13 #435 №1119499 
Гаес, не могу в джаваскрипт. Патологически. Вообще нихуя не понимаю ни одного кода на нём написанного. При том, что хоть и хуёво, но пробовал много языков и всего такого.
Очень тяжело. Видимо, я не понимаю сам принцип его работы.
Решил посмотреть на примере расширений для Firefox. Всего-то хотел сделать переключаемый режим для чтения (в духе Пока активно - открывать любую ссылку как about:reader?url=ссылка). Но я ВООБЩЕ НИХУЯ не написал. Я не понимаю, как именно используются listener'ы здесь, вообще нихуяшечки не понимаю. Сука.
Что мне читать? Базовый курс JS я знаю, на той же CodeAcademy вполне успешно всё проходил. Про сами WebExtentions, вроде, тоже прочёл и те расширения, что идут у мозилл как примеры написал и понял.

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

Как так-то? Как жить, пацаны?
Аноним 13/01/18 Суб 21:38:29 #436 №1119580 
>>1119499
Мне по ютубу нравится учить. там есть всякие каналы популярные типа траверси или лернкод академи. В них за 20-40 минут одна тема-миниапп дается.
Аноним 13/01/18 Суб 21:40:19 #437 №1119581 
>>1119480
Я вроде посмотрел на этот хьюго, но не понимаю, зачем он нужен
Аноним 14/01/18 Вск 00:36:11 #438 №1119655 
ffff.png
С хуя ли на js такой длинный код? Чтобы тупо вывести статичную картинку в канвас, приходится говнокодить без малого 25 строк. Это вообще нормально?
Аноним 14/01/18 Вск 01:23:13 #439 №1119684 
>>1119580
ненавижу видяхи, братан. Они то слишком медленные, то слишком быстрые, то мудак какой-то ведёт картаво-шепилявый то, если зарубежное, с каким нибудь просто странным говором. Так блять ненавижу.
Я посмотрю конечно те конкретные каналы, что ты назвал, вдруг убергоднота, но, всё же, я больше по статьям и текстовым материалам угараю.

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

А вот для JS я не нашёл. Может мне именно из-за непонимания так больно и непонятно читать его?
Аноним 14/01/18 Вск 01:24:15 #440 №1119685 
Кофескрипт жив там? Пару лет назад писал небольшой проект на нем, хочу еще посмотреть
Аноним 14/01/18 Вск 01:26:38 #441 №1119687 
>>1119655
Вот, кстати. Один из вопросов к читаемости - когда функции присваиваются как значения куда-то (ну, визуально это так выглядит, аймин), при том, это просто ready=true, я не особо вижу смысл в функции со своим дохуя не веб-ореинтированым подходом.
Хотелось бы именно статью или док, который объясняет, схуя ли именно так, а не как у людей и которая хотя бы попытается меня убедить, что это логично и правильно, а не как $ в пхп. А я ей попытаюсь поверить, правда-правда
Аноним 14/01/18 Вск 02:01:21 #442 №1119701 
>>1119442
>онкей пресс
Нет, ты не понял. Я не админ биржи, я просто юзер,
и я вижу кнопку "Buy BTC".
Я не могу залезть в исходник на сервере, и в JS скрипты там,
но я полагаю, что к кнопке, имеющей id
можно на стороне клиента привязать горячие клавиши, активирующие её.
Ну, чтобы если появляется вдруг заявка на продажу по низкой цене
(а они появляются и тут же пропадают) - купить сразу, выбрав ордер и нажав комбинацию клавиш, причём одним нажатием горячей клавиши,
вместо того, чтобы ялозить мышкой аж туда к этой кнопке
и ещё и попадать в эту кнопку ебучую.
Биржа - cryptopia.co.nz
Аноним 14/01/18 Вск 02:49:02 #443 №1119708 
>>1119701
Нет, это ты нихуя не понял. Ни о том как торговать на бирже, ни о том что можно сделать юзерскриптом.
По хорошему ты вообще не должен куда-то лезть, на бирже ставишь лимитный ордер с нужной суммой и идёшь пить кофе.
Аноним 14/01/18 Вск 04:58:26 #444 №1119713 
>>1119708
Во-первых, лимитный ордер видно, а значит продавцы позадирают цены рассчитывая на закуп этого объема,
во-вторых выше него обязательно понаставят много ордеров на какие-то копейки - задирая цену так,
что его и не видно будет,
в-третьих, не так часто бывают крупные сливы в противовес стремительно-растущему тренду,
и в-четвёртых - можно поставить buy limit, пойти поссать, а потом прийти и увидеть внезапный обвал.

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

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

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

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

Аноним 14/01/18 Вск 05:01:18 #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/01/18 Вск 07:27:24 #446 №1119722 
Открытие для себя strict mode прямо заставило иначе взглянуть на жс, не такой уж он и плохой.
Аноним 14/01/18 Вск 08:42:28 #447 №1119727 
>>1119440
Да, тут все просто.
Hugo - static site generator. Клепаешь шаблоны, связываешь внутри все стили, настраиваешь структуру проекта, компилишь все это в обычную статику, где все будет разложено по папкам, деплоишь на сервак.
Caddy - http/2 & https web server. Если знаешь, что такое apache или nginx. То вкуришь.
Аноним 14/01/18 Вск 12:46:26 #448 №1119787 
Ура! Пайп оператор в пропозалах спеки, Бабель уже поддерживает.
https://github.com/tc39/proposal-pipeline-operator
Мимо слоупок
Аноним 14/01/18 Вск 19:40:01 #449 №1119967 
>>1118957
Они в JS не используются. Забудь.
Аноним 14/01/18 Вск 19:53:43 #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/01/18 Вск 20:42:20 #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/01/18 Вск 22:41:06 #452 №1120070 
>>1119967
Да ну. Ну-ка приведи мне целое к IP без побитовых операций.
Аноним 15/01/18 Пнд 00:12:15 #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 на отличном уровне. Поэтому очень сильно напрягает, что я с трудом читаю материал на английском, а Кнута вообще не понимаю, но хочется. Хочется, потому что хочется быть действительно опытным специалистом, а не вебмакакой, коих большинства.
Аноним 15/01/18 Пнд 01:19:20 #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/18 Пнд 02:41:53 #455 №1120125 
>>1120096
Ловлю себя на такой же ерунде, хочется всё досконально проработать. На деле уже знаю большую часть и просто убиваю время. Тот же eloquent javascript написан как книга отлично, но мне по-хорошему её только просмотреть и валить читать спеки es6+.
Аноним 15/01/18 Пнд 04:46:52 #456 №1120147 
Можно ли определять функции с семантикой let вместо var?
https://pastebin.com/GVtjD2nf
Аноним 15/01/18 Пнд 06:42:33 #457 №1120156 
>>1120147
Очевидно, что нет. Для объявления функций как было ключевое слово function, так и остается.

Но твой вопрос заставил вспомнить об одной малоизвестной штуке в ES6 (для меня, лично) - функции, объявленные в блоке, получают block scope. То есть становятся как бы уже объявленными, как переменные с let. Ну или const. Хз, кто вообще это использует...
Аноним 15/01/18 Пнд 07:12:11 #458 №1120158 
>>1120156
>функции, объявленные в блоке, получают block scope.
Но ведь он в коде своё показал, что это не так.
Аноним 15/01/18 Пнд 07:22:39 #459 №1120162 
>>1120158
Точнее, так-то оно так (поспешил я), но в глобал последнее объявление всё равно пихается. Ну либо реализации ФФ и repl.it'а кривые - https://repl.it/repls/ProfuseIntentMaggot
А в ноде в глобале остаётся наиболее внешняя - https://repl.it/repls/InfantileShabbyAlpinegoat

Вся суть JS'а, короч.
Аноним 15/01/18 Пнд 07:23:29 #460 №1120163 
>>1120158
Ноуп, в последнем блоке неверный синтаксис, что я и сказал. Убрать let нужно и будет просто объявление функции. В блоке.
Аноним 15/01/18 Пнд 07:29:29 #461 №1120164 
>>1120163
Так я не про последний говорил, а про первый, lol(). В посте выше, в общем, всё есть.
Аноним 15/01/18 Пнд 07:36:12 #462 №1120165 
>>1120164
Понял тебя, анон, пост посмотрел, сам озадачился, и выяснил, что block-scoping работает, но только в strict mode.
Аноним 15/01/18 Пнд 08:47:01 #463 №1120172 
>>1120165
Спасибо, в strict mode действительно всё хорошо.
Аноним 15/01/18 Пнд 12:12:26 #464 №1120222 
>>1119182
>жквери
Либа для замены querySelector и Fetch в старых браузерах. В 2018 не нужна.

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

>рамды,
Хз

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

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

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

>юи паки всякие?
Уй-пак - это набор готовых контролов и/или стилей для них, чтобы не изобретать велосипеды из раза в раз. Включают календари, аплоадеры файлов с прогрессбарами, всякие такие вот продвинутые контролы.
Аноним 15/01/18 Пнд 13:28:16 #465 №1120255 
>>1119182
>>1120222
>рамда
либа для поехавших функциональщиков
обычным людям хватает лодаш/андерскора + иммутейбл структур
Аноним 15/01/18 Пнд 13:30:18 #466 №1120256 
>>1119787
я бы не радовался, больше похоже на хуйню чтобы было
есть полноценная продуманная система lisp, нет надо ото всюду тащить говно по кусочкам
Аноним 15/01/18 Пнд 13:35:50 #467 №1120259 
>>1119787
А нахуй оно надо? Так сложно написать код наоборот и вызвать функцию?
Аноним 15/01/18 Пнд 15:02:44 #468 №1120299 
как можно перевести строчку в пример?
по типу
let primer = '228/114'
let chislo = ????
chislo = 2
Аноним 15/01/18 Пнд 15:07:03 #469 №1120301 
Ребят, извините, я с JS не знаком, но всё же.
Все мы знаем, как можно выудить у пользователя-долбоёба нужные куки, полученные через строчку кода, но это хуйня.
Я вот не понимаю - в последнее время столько хайпа вокруг Spectre и Meltdown, все только и обсуждают, кто в зоне риска и как защититься. Но как использовать - я не понял.

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

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

Или же это действительно заёбная хуйня и её будут использовать для шпионажа и прочей поеботы далеко не рядовые пользователи?
Аноним 15/01/18 Пнд 15:10:48 #470 №1120305 
>>1120299
let chislo = eval(primer);
и убей себя, мерзкая, ничтожная, отвратительная мразь. за переменные транслитом тебя нужно кинуть в топку газенвагена, ущерб сраный
Аноним 15/01/18 Пнд 15:11:28 #471 №1120307 
>>1120299
Даже я знаю, что через eval. Калькулятор делаешь в лабе2?
Аноним 15/01/18 Пнд 15:11:51 #472 №1120310 
>>1120301
уже давно все расписали
https://cryptome.org/2018/01/spectre-meltdown.pdf
Аноним 15/01/18 Пнд 15:13:55 #473 №1120312 
>>1120307
sorry я же trolling
>>1120305
да
Аноним 15/01/18 Пнд 15:16:34 #474 №1120314 
>>1119787
Бабел7 нужен для этого оператора?
Аноним 15/01/18 Пнд 15:45:31 #475 №1120327 
>>1120310
Ух бля, спасибо, розберусь
Аноним 15/01/18 Пнд 18:12:09 #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

разве не охуенно?
Аноним 15/01/18 Пнд 18:20:30 #477 №1120399 
>>1120255
>либа для поехавших функциональщиков
Поехавшие функциональщики наворачивают пюрешку, скалку-жоэс, или Эльм.
Речь, естественно, о хардкорных приверженцах фп на фронте.

А рамда это так, развлекуха.
Тем не менее подобные либы, взять тот же Sanctuary, позволяют писать более безопасный код.
Аноним 15/01/18 Пнд 18:22:24 #478 №1120400 
объясните чем ооп от фп отличается плизки
Аноним 15/01/18 Пнд 18:23:02 #479 №1120401 
>>1120299
Окромя эвала паттерн матчингом можно, но нудно.
Аноним 15/01/18 Пнд 18:25:15 #480 №1120402 
>>1120401
это как?
Аноним 15/01/18 Пнд 19:04:17 #481 №1120416 
>>1120393
Их точно так же можно отформатировать на несколько строк.
Ну, в общем, в определённых случаях опрятнее выглядит, да, лишь бы только не начали использовать это для функций с 2+ аргументами, городя анонимки везде.
Аноним 15/01/18 Пнд 19:56:29 #482 №1120441 
>>1120400
Количеством букв.
Аноним 15/01/18 Пнд 20:00:37 #483 №1120443 
>>1119787
>>1120393

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

compose(
callFirst,
callSecond,
callThird,
);

Реализация этой функции есть как минимум в Redux, и вообще её propos'ают в прототип Function. А вы тут со своим уродливым "|>".
Аноним 15/01/18 Пнд 20:04:54 #484 №1120444 
Лучше бы перегрузку операторов через символы довели до конца. Тогда бы пайплайн можно было бы реализовать привычным |
Аноним 15/01/18 Пнд 20:12:44 #485 №1120453 
>>1120443
что ты имеешь против клювика падла
Аноним 15/01/18 Пнд 20:14:23 #486 №1120454 
>>1120443
> Реализация этой функции есть как минимум в Redux
Композиция есть во многих fp-like либах. Речь шла о том, попадет ли это пропозал релиз новой спеки, или останется висеть в стейджах ебабеля.
> и вообще её propos'ают в прототип Function
Помимо композиции из банальной очереди, есть плюшки с await'ами и подстановкой аргументов.
> А вы тут со своим уродливым "|>"
Чому уродливый? Выглядит абсолютно так же, как и лаконичный pipe-forward в F#.
Аноним 15/01/18 Пнд 20:28:28 #487 №1120462 
>>1118918
Отсюда взял. https://algebra24.ru/rasstojanie-mezhdu-dvumja-tochkami
Аноним 15/01/18 Пнд 23:13:37 #488 №1120544 
>>1120393
Действительно выглядит охуительно.
Аноним 16/01/18 Втр 02:17:58 #489 №1120625 
Анон, я дёргаю MongoDB через GraphQL+Apollo, и надо сделать наследование один-ко-многим, типа один пост => тыщи комментариев.
Скажи, мне надо для комментариев делать отдельную collection и пихать в каждый объект коммента postId или можно сделать нормальную вставку, типа массива комментариев в каждом объекте поста?
Аноним 16/01/18 Втр 05:20:29 #490 №1120650 
>>1119655
Потому что кодер еблан.
Там половину можно выкинуть
Аноним 16/01/18 Втр 09:48:19 #491 №1120692 
>>1120327
Ну как, хакер мамкин, разобрался?
Аноним 16/01/18 Втр 11:34:35 #492 №1120712 
>>1120453
>>1120454

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

Просто как-то не очень восхищен FP, больше люблю играться с объектами...
Аноним 16/01/18 Втр 18:36:48 #493 №1120876 
Untitled.png
Сап ангулярач. Вопрос по angular reactive forms, как можно не особо костыльным образом сделать форм контрол с деревом чекбоксов? (2 уровня).
С сервера приходит массив категорий вида:
{name: 'Категория 1', subcategories: [{id: 25, name: 'Подкатегория 1'}]},
{name: 'Категория 2', subcategories: [{id: 27, name: 'Подкатегория 2'}]}
на выходе надо получить массив айдишников подкатегорий(на категории похуй). то есть например [25, 27].
Как выглядит смотри пикрил. Не могу понять как покрасивее связать это с FormGroup
Аноним 16/01/18 Втр 19:14:56 #494 №1120885 
Анончик, есть тут те, кто юзает jest+puppeteer? Скинь литературы, а до документации не очень хватает
Аноним 16/01/18 Втр 19:15:59 #495 №1120887 
>>1120885
>то
быстрофикс
Аноним 16/01/18 Втр 20:21:02 #496 №1120908 
>>1120885
Сейчас читаю доку jest'а, посмотрел на этот puppeteer - это что, выходит, можно писать типа...e2e-тесты с помощью jest'а?
Аноним 16/01/18 Втр 20:36:15 #497 №1120911 
>>1120908
Именно. Это мне и нужно. Пробовал писать тесты на jest'е: все хорошо, но в связке с pupperteer ничего не выходит
Аноним 16/01/18 Втр 21:37:00 #498 №1120936 
Господа. Подскажите, что предпочтительней выбрать: роллап или вебпак? Для сборки реакт-редакс проекта на ПК, где есть Нода и Нпм, но больше ничего нет, никаких cli, и нет интернета.
Хочу сделать бойлерплейт, который можно скопировать как обычную папку и он работал бы
Аноним 17/01/18 Срд 00:11:06 #499 №1121016 
Господа- вот вам идея для расширения грязной обезьяне наверное:
на мылооблаке нельзя скачивать более 4гб
поэтому я хочу качать хотя бы большими part'ами идеально чтобы можно было регулировать максимальный размер
Т.е. я хочу получать список кусков всей папки по мановению волшебной кнопки
Аноним 17/01/18 Срд 07:05:34 #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 алерта. Тут у меня возник вопрос: нет, я конечно понимаю, что я даун (но ведь я новичок хули вы хотели то), но в каких случаях пригодится вот этот вот СлушательСобытий вместо написания просто в одной функции всех действий, которые мне нужны?
Аноним 17/01/18 Срд 09:26:00 #501 №1121110 
>>1121076

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

2) Подключаешь ты такой кучу разных жиквери-плагинов-хуягинов и прочих виджетов, и каждому надо, например, ловить click на том же body и делать что-то своё. Но он не может взять, и добавить в тело уже кем-то поставленной в body.onclick функции свой код хотя можно взять и обернуть, наверное, но это уже из области ебы. Вот он и вешает свою функцию с помощью addEventListener.
Аноним 17/01/18 Срд 09:32:00 #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>
Аноним 17/01/18 Срд 09:33:52 #503 №1121115 
>>1121113
document.onclick = handler;
document.onclick = function(){ ... }
document.onclick = ()=>{}

Туда же, забыл. Так вот это всё одно и то же, только через аддевентлистенер правильно, а наоборот - нет
Аноним 17/01/18 Срд 09:39:25 #504 №1121117 
>>1121076
но в каких случаях пригодится вот этот вот СлушательСобытий вместо написания просто в одной функции всех действий, которые мне нужны?

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

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

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

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

})
Аноним 17/01/18 Срд 21:14:01 #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/01/18 Срд 21:17:07 #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);
Аноним 17/01/18 Срд 21:18:32 #507 №1121398 
>>1121396
нет, не исправил, но думаю все понятно
Аноним 17/01/18 Срд 21:30:01 #508 №1121405 
Почему в случае отсутствия объекта querySelector(".task") возвращает null, а getElementsByClassName("task")[0] - undefined ???
Аноним 17/01/18 Срд 22:04:11 #509 №1121428 
>>1121405
Ну одно результат работы функции, у неё там `return null;`, а другое undefined
Аноним 17/01/18 Срд 23:49:18 #510 №1121474 
Пссс, посоны

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

Собсна вопрос, как это блять сделать нормально без tempermokeny, jquery(а лучше бы и без js нахуй, кто-нибудь курил ClojureScript? Как оно?), да и так чтобы делиться с такими же говноедами как я было удобно.
Аноним 18/01/18 Чтв 02:33:10 #511 №1121549 
>>1121405
Потому что в querySelector(".task") это результат вызова функции, а в getElementsByClassName("task")[0] результат обращения к коллекции.

Тебя же не смущает, что в
x = [1, 2]
x[2] //undefined
Аноним 18/01/18 Чтв 02:35:13 #512 №1121550 
>>1121405
document.querySelectorAll(".task")[0] == document.getElementsByClassName("task")[0]
Аноним 18/01/18 Чтв 08:47:36 #513 №1121584 
Если вас спросят на собеседовании про то, может ли быть выражение (a == 1 && a == 2 && a == 3) истинным, нужно не только правильно ответить, но и аргументировать свой ответ.
Аноним 18/01/18 Чтв 09:21:55 #514 №1121587 
>>1121584
А у этого больше одного способа есть? А то я только слегка корявое решение придумал, которое сработает только под конкретно эти цифры.
Аноним 18/01/18 Чтв 09:32:19 #515 №1121589 
>>1121584
Может, если а - это обхъект с toValue, возвращающем инкрементирующееся значение
Аноним 18/01/18 Чтв 09:42:49 #516 №1121596 
>>1121584
const a = {}
a.iterator = 0
a.valueOf = function() {
this.iterator += 1
return this.iterator
}
Аноним 18/01/18 Чтв 10:43:02 #517 №1121602 
>>1121596
>>1121589
>>1121587
А зделойте так, чтобы оно всегда было равно любой комбинации из этих трёх чисел, в любом порядке. Возможно?
Аноним 18/01/18 Чтв 10:59:06 #518 №1121605 
>>1121596
const a = {value:0, valueof: ()=>++a.value}

>>1121602
Нет
Аноним 18/01/18 Чтв 12:26:19 #519 №1121635 
>>1121584
Какие-то хуевые вопросы. Вот честно.
Попросили бы лучше решить простенький алгоритм/задачу. Посмотрели бы на умение собирать информацию. Еще бы спросили какой typeof null и что выведется в консоль [] + {}, а теперь {} + []. Пиздец. я бы вас прямо там нахуй послал.
Аноним 18/01/18 Чтв 15:55:45 #520 №1121753 
>>1108498 (OP)
ОП, ты женат?
Аноним 18/01/18 Чтв 16:55:07 #521 №1121815 
>>1121392

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

2) Проблем нет ни в одной реализации. Переменные разве что названы не совсем понятно, я бы использовал "origFunc" вместо "savedThis" и "f".
Аноним 18/01/18 Чтв 16:56:15 #522 №1121816 
насколько зашкварно мутировать?
если я ажахом парсю апи и мутирую стейт это нормально?
Аноним 18/01/18 Чтв 17:19:20 #523 №1121839 
>>1121816
Мой товарищ @zintus ещё несколько лет назад придумал написать сервер на немутабельных структурах данных. Ты посылаешь серверу команду выключиться, а в ответ получаешь новый инстанс сервера, который выключен. По сей день это лучшая шутка про немутабельность из всех, что я слышал.
Аноним 18/01/18 Чтв 17:25:09 #524 №1121846 
>>1121816
Мутировать абсолютно нормально, если ты делаешь это максимально прозрачно и к стейту привязываешь новомодные фишки вроде прокси, которые форсируют ре-рендер вьюхи. И это, позвольте заметить, ничуть не хуже в плане производительности, чем чекать два состояния на диффы.
Аноним 18/01/18 Чтв 18:13:11 #525 №1121902 
>>1121839
>>1121846
а что лучше всего использовать для ажаха реактом?
так более-менее?
https://codesandbox.io/s/lp0nj74wo9
Аноним 18/01/18 Чтв 19:09:17 #526 №1121936 
>>1121839
Если это действительно стёб над всеми адептами Immutable.js и прочих изъёбов с иммутабельностью, то ору в голос.
Аноним 18/01/18 Чтв 19:17:57 #527 №1121937 
Для итерации по числам всё так же нужно (let i=0; i<10; i++) или есть какой-то более модный способ?
Аноним 18/01/18 Чтв 19:28:50 #528 №1121944 
>>1120443
Compose и pipe — совершенно разные вещи. Pipe более выразительный и гибкий.
Аноним 18/01/18 Чтв 19:29:11 #529 №1121945 
image.png
>>1121937
Вот такую вещь с пикчи захерачь в свой код и можешь делать вкуснятину типа такой:

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

// 0 1 2 3
Аноним 18/01/18 Чтв 19:33:40 #530 №1121947 
>>1121945
Хотя добавлю, что гораздо проще написать аналог пайтоновской range (и/или xrange) и юзать в том же for..of.
Аноним 18/01/18 Чтв 19:49:16 #531 №1121953 
>>1121945
этим и вправду пользуются?
Аноним 18/01/18 Чтв 19:50:57 #532 №1121955 
>>1121945

> for of
> var
Аноним 18/01/18 Чтв 19:52:13 #533 №1121956 
>>1119787
Дай угадаю, в TS по-прежнему никак?
Аноним 18/01/18 Чтв 19:54:39 #534 №1121957 
>>1121945
Полагаю оптимизировать такое жс-движки вообще не умеют, но красиво, да.
Аноним 18/01/18 Чтв 20:13:14 #535 №1121971 
>>1121902
Что удобно, то и юзай.
Позже, если додрочишь до мозолей, быть может, будешь задаваться другими вопросами, например, как отменять in-flight запросы.
Аноним 18/01/18 Чтв 20:15:54 #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/01/18 Чтв 20:17:17 #537 №1121976 
>>1121957
> отменять in-flight запросы
Это возможно/имеет смысл? Данные уже ушли, запрос всё равно выполнится. Разве что у тебя какой-то длинный аплоад. Скорее нужно уже просто отвязать хэндлеры. Опять же, стейт на сервере уже изменился, смысл показывать пользователю не то что актуально?
Аноним 18/01/18 Чтв 20:21:51 #538 №1121980 
>>1121971
Такое возможно лишь с помощью "The Abort API" для fetch'а, который только в Лиске есть, да в Едже, и то в недавних релизах лишь. Причем тут тогда "додрочишь до мозолей"?
Аноним 18/01/18 Чтв 20:25:10 #539 №1121982 
>>1121980
Додрочишь в том плане, что новичку такие вопросы в голову обычно не лезут, а для простых асинхронных запросов к серверу совершенно безразлично что использовать, хоть в связке с Реактом, что без него.
Аноним 18/01/18 Чтв 20:44:17 #540 №1121990 
>>1121971
не знаю что такое in-flight запросы, но очень боюсь слишком говено говнокодить :[
что вообще нужно знать, чтобы быть полезным хоть кому-нибудь за бесплатно?
Аноним 18/01/18 Чтв 21:16:10 #541 №1122006 
пиздец
зашел на кодварс высрал 10+ строчек на задание которое решается ОДНОЙ https://jsfiddle.net/dyt2ftp8/
у меня нет шансов?
Аноним 18/01/18 Чтв 21:29:35 #542 №1122019 
>>1122006
Задание-то само не судьба написать, чтобы не приходилось по коду его выяснять? И да, пидарас таки умный, решение охуенное у него. И нет, шансы есть у тебя, я думаю.
Аноним 18/01/18 Чтв 21:33:21 #543 №1122026 
>>1122006
Недавно что-то такое читал. Многие верят что существуют единицы гениальных людей и серая масса остальных. На деле же все эти гениальные, кого мы знаем, просто перелопатили тонны существующих работ. То есть без массивных работ неизвестной серой массы не было бы знаменитых открытий.

Резюмируя: не переоценивай свой мозг, ты всё равно на 99,9999999999% знаешь только то, что начитал/услышал от других людей.
Аноним 18/01/18 Чтв 21:45:12 #544 №1122030 
>>1122006
сынок, опыт приходит с возрастом... а там глядищь и натуралом станешь.
Аноним 18/01/18 Чтв 22:06:35 #545 №1122045 
>>1122026
Предрасположенность к "гениальности" в том смысле, котором мы воспринимаем данное понятие, во многом определяется уровнем гормонов в организме будущего гения и генетически заложенными когнитивными способностями. Все остальное можно улучшать в определенных пределах, позволяя лишь немного возвыситься в интеллектуальном плане над уровнем серой массы.
Аноним 18/01/18 Чтв 22:43:40 #546 №1122069 
>>1122019
массив
ряд чисел повторяются четное количество раз
одно число повторяется нечетное количество раз (максимум одно)
нужно его найти
Аноним 18/01/18 Чтв 23:07:03 #547 №1122083 
А сколько у прогеров iq? Проходил кто-нить тесты?
Аноним 18/01/18 Чтв 23:15:28 #548 №1122086 
>>1122083
я пока еще только вкатывальщик,но чувствую, что тяжело все дается
3 бесплатных из интернетов проходил: 85-90
Аноним 18/01/18 Чтв 23:20:21 #549 №1122089 
>>1122083
eq нулевой. iq от 90 до 140. Ниже 90 программирование не заходит. Выше 140 знают намного больше и не посвящают себя программированию на 100%. Чуть выше среднего короче.
Аноним 18/01/18 Чтв 23:21:23 #550 №1122091 
>>1122083
Ну я проходил. На разных ресурсах от 125 при первом прохождении и при всех последующих идет рост, вплоть до 142+. На самом деле некоторые мозги там иметь нужно, но почти все тесты показывают способность находить какие-либо закономерности из 8 картинок и выбрать девятую. Этому можно обучиться. Поэтому, имхо решает именно первый тест.

>>1122086
В случае JS'а, чтобы писать интерфейсы несложные и верстать не нужно больше 85 IQ. Если конечно не делать божественные адаптивные интерфейсы со сложными состояниями и анимациями. Да и то это придет к тебе просто с опытом.
Аноним 18/01/18 Чтв 23:23:14 #551 №1122093 
>>1122091
какой тогда смысл в iq тестах?
Аноним 18/01/18 Чтв 23:25:46 #552 №1122097 
>>1122089
>>1122091
Еще бы IQ хорошо коррелировал с финансовым состоянием его обладателя - было бы замечательно. На самом деле я бы свапнулл двадцаточку IQ на социализацию и нормальный work-life balance, возможно стал бы более счастливым человеком.

>>1122093
Попытка распределить статистику по какому-то абстрактному уменюю выбирать картинки? Почему ты спрашиваешь меня? Спроси создателей этих тестов. По сути они нигде официально не нужны. Есть профильные предметы, в нашем случае Computer Science. Вот с него и спрашивают и именно знание Математики и CS отличает макаку от программиста.
Аноним 18/01/18 Чтв 23:32:39 #553 №1122102 
>>1122097
а что из математики и CS нужно знать? не хочу становиться макакой.(
Аноним 18/01/18 Чтв 23:44:22 #554 №1122120 
>>1122097
Может ты просто накрутил себе лишнюю двадцаточку пока тест проходил?
Аноним 19/01/18 Птн 00:22:20 #555 №1122144 
Нахуй вообще нужен create-react-app. откуда там 40к звезд, что за говно ненастраиваемое. Хуй пойми как шрифты font-awesome приделать, дохуя чего попробовал в инете инфы ноль, я хуею.
Аноним 19/01/18 Птн 00:27:41 #556 №1122150 
>>1122102
всё конечно же! Стадия макаки неминуема, а сейчас мы даже не макаки.
Сначала придется стать макакой, а потом человеком.
Аноним 19/01/18 Птн 00:39:58 #557 №1122162 
>>1122144
как вообще create-react-app связано со шрифтами?
Аноним 19/01/18 Птн 00:48:53 #558 №1122169 
>>1122162
Да просто этот реакт и бандлы ебучие, говно ваш вебпак, я из-за него устал. Буду всё через ссылочки на cdnы прикручивать теперь.
Аноним 19/01/18 Птн 00:51:45 #559 №1122174 
>>1122169
сука тут установить, там заимпортить, там заимпортить, тут директорию поменять, тут из нод-пакажес скопировать, там скрипты поменять, нихуя не работает, сделать эжект, сломать все нахуй, это блять уже не код, это да пошли они все нахуй.
Аноним 19/01/18 Птн 01:08:57 #560 №1122180 
>>1122174
Знатно полыхнул)))0
мимо 4 дня настраивал вебпак
Аноним 19/01/18 Птн 01:09:27 #561 №1122181 
>>1122169
не знаю что такое вебпак, но у меня все работает
Аноним 19/01/18 Птн 01:18:39 #562 №1122184 
>>1122150
Где материалы качественные брать то? Если по математике ещё можно найти, то для CS не понятно где их брать. Если таковые имеются, то прошу поделиться.

мимо другой анон
Аноним 19/01/18 Птн 01:41:25 #563 №1122196 
>>1122180
У меня сейчас второй день и стадия отрицания.
>>1122184
курсы mit и проч, по отдельным темам типа алгоритмов годноту найти элементарно, даже в шапке нуб-треда ее дохуя
Аноним 19/01/18 Птн 01:58:46 #564 №1122201 
выразительный жаваскрипт что-то совсем не понравился
остальные книги сильно отличаются от него?
Аноним 19/01/18 Птн 02:03:32 #565 №1122203 
.jpg
Анон, я открыл для себя Cordova и захотел написать себе простую игру для смартфона. Как там отрисовать на экране контролы типа кнопок или джойстика? В гугле предлагают поставить еще пакетов или уйти от сабжа.
Аноним 19/01/18 Птн 02:36:09 #566 №1122216 
>>1122203
кнопка <button> </button>
джойстик можно как угодно сделать, смотри https://developer.android.com/guide/topics/ui/ui-events.html
писать код можешь можешь нажимая на кнопки клавиатуры, но только если компьютер включен и открыт текстовый редактор
Аноним 19/01/18 Птн 02:39:08 #567 №1122217 
>>1122216
Я думал, что, возможно, там есть какой-то хитрый способ использовать нативные контролы, а ты мне предлагаешь просто нарисовать свой костыль
Аноним 19/01/18 Птн 02:44:29 #568 №1122219 
BLYAA.jpg
>>1122217
ты ебанутый
Аноним 19/01/18 Птн 02:48:51 #569 №1122220 
>>1122219
То есть по-твоему в каждой из потоке дрочилен в PlayMarket сделаны свои контролы?
Аноним 19/01/18 Птн 02:56:54 #570 №1122222 
>>1122220
что такое потоке дрочилены в PlayMarket и что такое контролы?
Аноним 19/01/18 Птн 03:07:36 #571 №1122226 
>>1122222
Так это ты ебанутый, а не я
Аноним 19/01/18 Птн 03:18:52 #572 №1122232 
>>1122226
мне даже интересно стало о чем ты вообще
если что-то не сложное могу бесплатно сделать Window controlAbout Get support [email protected]
Аноним 19/01/18 Птн 05:21:50 #573 №1122255 
>>1122086
>3 бесплатных из интернетов проходил: 85-90
Плохо дело. В интернет-тестах обычно у всех менса-левел выходит.
Аноним 19/01/18 Птн 09:33:38 #574 №1122274 
>>1120625
Для создания релейшенов (не наследование блять) тебе нужно организовать геттер для модели отношение к которой ты будешь искать (в зависимости от ORM и бекенда которым ты пользуешься). На пике вариант с sequalize. Там геттер прописали уже за тебя. Потом в GraphQL схеме пишешь что-то вроде Query { ... blabla comments: [Comment], что тебе придет массив с нужными описанными типами. Тип Comment у тебя уже должен быть описан
Аноним 19/01/18 Птн 09:33:56 #575 №1122275 
Relations.png
Пик забыл прикрепить
Аноним 19/01/18 Птн 09:41:06 #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
Аноним 19/01/18 Птн 12:22:52 #577 №1122343 
>>1122278
Даже если он огромный,он не покрывает всех конфигураций вебпака. В ищусах был парень с проблемами как у меня, ну и его разработчик послал и закрыл темку, грит ну а чо нам все случаи покрыть надо, и вообще проблема вебпака а не наша
Аноним 19/01/18 Птн 12:40:19 #578 №1122348 
последние пол года только с пистоном работал.
Че изменилось?
все уже на vue ?
гриды завезли ?
что актуально?
Аноним 19/01/18 Птн 13:26:50 #579 №1122367 
>>1122220
По твоему каждая дрочильня из маркета написана на кордове, дебил?
Аноним 19/01/18 Птн 13:40:18 #580 №1122371 
>>1122343
Ты заебал. npm run eject и дрочись в свой вебпак, подключай хоть спиночесалку туда.
Аноним 19/01/18 Птн 13:43:51 #581 №1122373 
>>1122348
>все уже на vue ?
На словах хайпят - в вакансиях один реакт. Реакт к вью 90:10 примерно.
>гриды завезли ?
А их куда-то увозили. https://caniuse.com/#search=grid хочешь - используй. Для покрытия 95% пользователей пока флексы, около 75% гриды.
> что актуально?
Знания ваниллы. +React + Node.js/Rest || GraphQl + Мозги
Аноним 19/01/18 Птн 13:56:41 #582 №1122379 
>>1122371
Иди нахуй, а мать твоя шлюха
Аноним 19/01/18 Птн 21:26:35 #583 №1122567 
Снимок экрана от 2018-01-19 21-24-01.png
Снимок экрана от 2018-01-19 21-26-17.png
Снимок экрана от 2018-01-19 21-26-12.png
пацаны подсобите с икспасом:
пытаюсь найти ноды с текстом xyi ( пик1 )
но также находятся ноды с текстом his xyi was so little
Аноним 19/01/18 Птн 21:28:00 #584 №1122568 
>>1122567
то есть когда я ищу заголовок
Свойство F.prototype
ищется также
Свойство F.prototype и создание объектов через new
в xpath есть какой нибудь //*[containsexact(text(), 'blabla')]
?
Аноним 19/01/18 Птн 22:12:36 #585 №1122602 
Снимок экрана от 2018-01-19 22-11-21.png
>>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/01/18 Птн 23:40:58 #586 №1122648 
Новый тред создаст кто?
Аноним 20/01/18 Суб 02:29:12 #587 №1122704 
>>1122648
А зачем, мертвый тред мертвого языка
Аноним 20/01/18 Суб 06:08:18 #588 №1122726 
>>1122704
Да поживёт ещё язык какое-то время.
Аноним 20/01/18 Суб 21:09:21 #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/01/18 Вск 15:30:07 #590 №1123298 
>>1121815
спасибо за ответ
comments powered by Disqus

Отзывы и предложения