Это копия, сохраненная 25 февраля 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Этот тред посвящён уже нахуй никому не нужному языку прошлого - 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/ для серверного кода.
Алсо. вот слова с их же сайта:
"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."
Чем это угрожает джиэсу? Скорее уж дополняет его, не?
>>08575
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, то они же не могут прямо так сразу написать: "Нас заебал кривой и тормознутый джиэс, и поэтому мы его скоро похороним."
Планомерно, как всегда наступал.
Три-четыре года — и клиентская часть полностью меняется.
А что делать, потребляди сэр.
чет лолирую тожэ)))
Да нахуй иди.
На каком из трех фреймворков переписывать предлагаешь: кресты он реакт, крестунгуляр 4.0, или джикрест?
Слепой штоле?
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, скорее всего, запилят, и в джиэс его уже давно можно перегонять.
>>08591
Кресты не нужны.
Никак там доступ к созданному объекту Menu уже не получишь. Так делают только когда с подобным объектом уже не нужно проводить никаких манипуляций. Получается что-то вроде обёртки, скрывающей внутренности объекта от внешнего мира.
Так есть смысл сейчас хорошо задрачивать жс, если ему все равно пиздец через 3-4 года? Или как всегда сначала в сша произойдет, а до пидорашкинских контор хуй когда еще докатиться?
И еще вопрос: почему объект не ичез после создания, он же должен быть доступен из корня, так? Но мы не можем никак к нему обратиться, вы говорите? Единственное, что к нему обращается, это "онклик" родительского контейнера. Это и удерживает его "живым"?
>Ибо можно будет кресты и многое другое компилять в WebAssembly
И нахуя использовать гротескный и уёбищный инструмент типа крестов вместо JS? Плюс, сначала нужно будет, чтоб кто-то написал годный компилятор, потом чтоб кто-то перенес всю существующую инфраструктуру под веб-разработку. В общем хуйня.
Не знаю. Похоже только, что джиэс как язык для веб-приложений будет вытесняться. В каком-то виде он, конечно, останется.
>И нахуя использовать гротескный и уёбищный инструмент типа крестов вместо JS?
Перегон крестов (прежде всех остальных языков) в WebAssembly реализовывают потому, что на крестах написана хуева туча либ, которые сейчас внезапно стало возможно использовать в вебе at near-native speed. А сами по себе кресты в вебе нахуй не нужны, да.
>Так делают для надежности? Чтоб случайно другими действиями не сломать?
Да.
>>08612
>почему объект не ичез после создания
Ты сам себе ответил: onclick может обращаться к этому объекту через self:
self[action]()
Хотя это и говнокод.
>он же должен быть доступен из корня
Нет. Он там остаётся доступен только из замыкания Menu() через self.
>предлагаешь
отбросить эту бесовщину, и написать на единственно верных, православных крестах! 1С
Точно, я забыл. Спасибо!
>перегон Kotlin в WebAssembly, скорее всего, запилят
Запилили уже
https://blog.jetbrains.com/kotlin/2017/11/kotlinnative-v0-4-released-objective-c-interop-webassembly-and-more/
а котлин довольно няшный, чому кресты так же как яву не могут подтянуть?
>fun main(args: Array<String>) {
>println("Hello, world!")
>}
сходу можно подумать что это просто какой нибудь тайпскрипт, а не злоебучая гадкокодая жаба
Убрать ошибку из крипта. Тогда окно не появится, что будет эквивалентно нажатию на кнопку "да".
А всё-таки? Я дописал скрипт, чтобы он мог работать после ошибки, нужно только убрать это сообщение. В конце концов для отладки.
Открой для себя try/catch/finally.
У нас уже была одна низкоуровневая виртуальная машина параллельно с ЖС. Хайпёнок, ты сейчас агитируешь за то, что Жава-апплеты вытеснят уебанский ЖС, надо учить Жаву.
Во-первых, ВАСМ-машина будет запускаться поверх виртуальной машины ЖС.
Во-вторых, Веб так и останется событийно-ориентированным. Ты будешь импортировать кем-то заботливо написанный какой-нибудь фейс-реконгнишн.васм и абстрактно использовать его результат в своём копросценарии.
В-третьих, вместо миллионов макак-сценаристов не появятся внезапно миллионы макак-байтоёбов, которые будут делать высокоэффективные низкоуровневые лендосы и магазы за дошик. Рыночку это не надо. У нас тут Жиквери-, а теперь и Реакт-интеграторы массив отсортировать не могут, а завтра они вдруг будут низкоуровневым состоянием управлять.
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>
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>
>Оскорбления присылать сюда
Вопросы присылать сюда
https://www.google.ru
Заранее пошёл на хуй
https://developer.mozilla.org/ru/docs/Web/API/Event
Ну я же просил посылы нахуй присылать сюда
http://natribu.org/
Я просил объяснить event.which (на сайте нет), classList.contains("item") (как ни странно тоже нет) и рассказать как это работает. К стати сударь, благодарю за подробное объяснение. Ага
Ну проще всего typescript - webpack, сразу все в одном. Можешь разобраться для начала в этом. А там если захочешь, можешь добавить сотню бабелей.
Мне нужно флоу > вебпак
Как без флоу я разобрался, а дальш я ничео не понимаю как убрать типы флововские, хоть бабелем, хоть флововским модулем. Нормального гайда как собрать это все в кучу, где что прописать так и не нашел
У меня не получилось
Теперь скажи почему сложно нагуглить инфу с требованиями к удаленным вакансиям?
Много англоязычных статей не переведенных, и которые скорее всего не будут переведены.
Материал излагается кратко и сухо.
Главный сайт по ЖС и один из главных для ВЕБа, нравится ли тебе изложение решай сам. Вся прелесть что все в одном месте. Полнее только спецификации
>Главный сайт по ЖС и один из главных для ВЕБа, нравится ли тебе изложение решай сам.
Хм, я и не знал что он главный, но я многого не знаю, потому что ньюфаг обоссаный.
Вообще, мне нравится изложение. Если читать даже на английском, хоть и придется потратить на 25 проценов больше времени, тем не менее все будет относительно ясно.
>Полнее только спецификации
А где их читать? В официальных описаниях свежих версий?
Потому, что проще насчет этого узнать тут, у людей которые знают за эту хуйню, а не читать кучу воды.
640x360, 0:45
Двачую вопрос. Может быть лучше выбрать бесплатные Udacity или Freecodecamp?
Это документация, она и должна быть ровной и сухой без лишней воды.
Алсо, еще 15% занимает "Gecko", и если развернуть эту энтри, то там есть мои функции, но на всех них стоит уже по 0%. Это у лисы профайлер кривой или что что-то делаю не так?
Попробуй поглядеть в хроме
По ходу они просто дауны. Ну еще искать сеньора с опытом от 3 до 6 лет за 80-150к.
делавший тестовое на реакте
Реактовые компоненты хуевенько переиспользуются как бы, да. Если бы ты был сеньором, то нутыпонел. И вообще, реюзабельные компоненты - это вебкомпонентс, а реакт про другое.
Был бы я сеньором - не пошёл бы за копейки в васянскмй стартап. Про пере использование компонентов в реактор мне тимлид сказал (уж он точно сеньор). Если не для этого то для чего используется реакт? Структуирование?
Че за задание?
Анончик, мне все еще интересно. Покажи НЕ говнокод плиз, я ж научиться хочу.
> Все выходные делал тестовое на реакте, чтобы услышать, что я "не настоящий JS-dev".
>По ходу они просто дауны.
>для чего используется реакт?
Поясните неофиту, почему это работает? Я не могу понять логику, зачем объявлять переменную 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
Потому что нужно "замкнуть" скоуп. Не выебуйся и читай на русском. В ФАКе где-то есть ссылка на ресурс где дают хорошее понимание скоупов, замыканий
>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 это фабрика функций, которая создает функции с произвольным первым аргументом.
Задача такова:
В пустом html файле (не используя никаких тегов в body), с помощью скрипта вывести таблицу 3х3 с буквами внутри. Я могу сделать таблицу в body, но не понимаю, как вставить её в скрипт, и вывести на экран. Кто нибудь может объяснить или дать направление?
Спасибо. Пошёл читать.
Подключив скрипт к странице из JS ты можешь управлять элементами на странице:
developer.mozilla.org/ru/docs/DOM
анончики, какой фреймворк лучше выбрать для дальнейшего углубления. Angular / React / Vue ?
Спасибо! Глянул, вроде оно.
Так для чего используется реакт Мань если не для переиспользования компонентов и не для триггера он чейндж евентов. Ты по ходу сам выебывающаяся школота, которая не понимает се несёт но лезет вставить свои 5 копеек.
>Жиквери-, а теперь и Реакт-интеграторы массив отсортировать не могут
но ТЫ то можешь!!
так чтож мы спокойны за ай-ти, есть еще в нем светлые головы!11
Я знаю что такое call, это в случае с poet.call(vladimir); как будто внутри vladimir вызывается poet(), и this внутри поэта ссылается на Владимира.
Но я не понимаю, почему дальше такие ебанутые хуйни пошли, что-то перезаписалось почему-то, что-то... чего? Куда?.. Можете пошагово прокомментировать что тут происходит, я совсем не понимаю.
Я пока сам поклацал ,что успел подумать, так это вот:
Мы с помощью той функции, которую вызываем, модифицируем тот объект, в котором её вызываем.
Новые свойства для объекта допишутся, изначальные - перезапишутся, на те значения, которые есть в функции.
Если просто вне всяких объектов создать переменные, а потом сделать функцию которая говорит
this.переменная_с_именем_как_у_переменной_в_объекте_снаружи = че-то_там;
то глобальные переменные с таким же именем перезапишутся, потому что глобальный объект - это тоже объект, и this будет на него ссылаться без всяких call. Таким образом, могут перезаписаться глобальные переменные или даже создаться новые.
Да?
Я не работаю, но думаю, что это зависит от того что именно ты делаешь на джс. Наверняка в вебе платят меньше всего тк я слышал это легче всего и быдла много вроде меня
Я хз почему такой результат, ведь мы передает контекс (this) vladimir в poet, почему что-то должно измениться у владимира я хз.
Откуда этот код?
Я вот гуглил, полным нуба джунам в вебе платят в Украине г.Днепр 200 долларов поначалу, а если язык типа C и ему подобные и это настоящая разработка программ под десктоп, то спокойно 400 баксов т.е. вдвое больше, а в Киеве еще больше и для тех и для тех.
и сколько этот промежуток "поначалу" длится, не подскажешь?
я не прошу конкретных цифр, так чисто навскидку
Нет, не подскажу точно. Я не работаю.
Тупой истерик.
Расскажите, пожалуйста, как пользоваться rollup для сборки.
Во всех проектах раньше использовал исключительно composer c npm-asset плагином. То есть просто добавлял нужную мне либу в зависимости в composer.json и получал на выходе няшный minified файл нужной мне либы. Но вот понадобилось использоваться в проекте https://github.com/Turfjs/turf
И с ним так не получается. Вся библиотека имеет модульную структуру, а мне на выходе нужно объединить все эти модули в один файл. Сами они, среди прочего, предлагают подключать minified файл через cdn, но мне бы этого не хотелось, так как все остальные либы обновляются простым composer update и после не требуют интернета для работы, а проект должен работать и без доступа к интернету.
Рекомендуют использовать этот ваш новомодный rollup, но я так и не разобрался, как заставить его собрать все эти модули (те, что в каталоге packages) в один файл.
Спасибо.
На котором вакансий больше.
Не знаком с Композером, но НПМ бы подтягивал и минифицированную версию с обновлениями.
Делается она в https://github.com/Turfjs/turf/blob/master/packages/turf/rollup.config.js
та часть, которая
output: [
{file: pckg.browser
спасибо анон большое!
Может есть какие-то более авторитетные рекомендации по первому фрейморку?
Прокомментируйте вот это, пожалуйста.
Жиквери нинужно ррряяя,
Учи реакт ррряяя.
Обосрался с такого вкатывальщика.
Вообще жс как стартовый язык это очень плохо, учит тебя говнокодить.
А если ты уже понимаешь как программировать, то смотришь на современный жс и охуеваешь с того зачем столько говна на фронт тянут. Причём ладно бы данных много, нет, эти ушлые дошли до того, что пишут код, который заранее на сервере компилируется, настолько они свою дилду переусложнили.
>вы наверное хотели бы сначала хорошенько разобраться в основах языка, прежде чем заниматься чем-либо другим. Но это будет равносильно тому, как если б вы учились плавать, изучая анатомию человека и динамику жидкости. Безусловно, это играет огромную роль в плавании, но гораздо веселее и практичнее было бы просто прыгнуть в бассейн!
кароче надо привыкать к ущербному ощущению вечного недопонимания
>Жиквери нинужно
но ведь это так, так же как лес и сас устаревшее нинужное говно
какой то ты ретроград ебаный, да еще все вокруг дураки, а ты самый вумный, вот поижай в калифорнии, покажи бородатым пидорам с наклеичкими как нада, а то ишь епта
Так падажди ка, то есть чтобы написать таблицу, которая бы просто данные с сервера подцепляла мне надо 33 технологии? Вы ебанулись?
Vue основан на html шаблонах? Опять смешиваете логику и интерфейс?
Они деньги инвесторов отмывают, технологии придумывая. Всё равно все сводится к "получи данные-выведи в хтмльку". И проблема не в том что "ты просто не понимаешь всё новое", а в том что эти мощнейшие инструменты используют для всего подряд. Термин даже есть такой "золотой молоток". А потом оказывается, что какой то фичи в любимой хуйне нет и они её суют внутрь.
Индусы до сих пор на опенкарте магазины ебашат и бизнес доволен. Кип ит симпл. 90% успеха сайта это дизайн. Если он уебищно спроектирован, никакие реакты и ангуляры не помогут.
>90% успеха сайта это дизайн. Если он уебищно спроектирован, никакие реакты и ангуляры не помогут.
зис
> "получи данные-выведи в хтмльку"
прямо как в нулевых, от было ж время, без всей этой педерастии, як бы ща странички лейтали а?
>90% успеха сайта это
его суть, товар услуга сервис, современная графика продуманный юих и няшные яксовые технологии сделают его еще лучше, но не смогут продать одну лишь обертку если не топить маркетоту типа эпола, хотя и их приход слабнет
Эпл любят потому что там всё работает быстро и из коробки, а не потому что дизайн красивый. Как только перестанет работать быстро и из коробки, Эпл разлубят.
Если парень имел в виду дизайн в смысле "дизайн это когда работает быстро и из коробки", то всё верно, если парень имел в виду "дизайн это охуенные ассеты и шрифты", то это не правда.
>Кто-нибудь может вкинуть ютьюб канал, где подобие борды пишут. Вроде кто-то с сосаки каналом занимается.
Хули её писать то блять. Посмотри на сосач, набросай брифинг, да пиши епта. Поставь вакабу, админку посмотри
Появился ли какой-нибудь фреймворк, чтобы можно было быстро делать приложения как rails например?
Да. Большое спасибо!
> meteor.js
Он вообще в рунете хоть как-то засветился?
> Появился ли какой-нибудь фреймворк, чтобы можно было быстро делать приложения как rails например?
Opa конпелируется в жс.
А если серьезно, то все эти изоморфики - хуита, и все блоггеры, раздувающие хайп на эту хуитку, позже сами открестились от этой технологии.
640x360, 0:04
Ты, блядь, не борщехлеб, а субститут какой-то, ей б-гу. Ну пиши свой магаз на вротэнде, но для Шопифая или другого BaaS'a, ну.
Какие ты слова страшные знаешь.
https://pastebin.com/20FEpnW9
Прикрепил обработчики событий к текстбоксу. При возникновении события необходимо вывести в параграфе ниже имя события.
Через инлайн-функцию работает, но получается избыточность кода.
Через объявление функции не работает.
Как починить?
Господи, какое же словоблудие.
> Сайты с таким количеством скриптов просто недоступны значительной части пользователей; статистически, пользователи не будут ждать загрузки интерфейса так долго.
Дальше не читал.
Какие оправдания? Давно известно что рядовой скот с АДХД не ждёт секунды загрузки сайта и надо укладываться в 200кб страницу максимум.
Никаких фреймворков, сасов, лесов и прочих буткрапов.
Дух старой школы, шаблонов и 50кб страниц жив и будет жить.
Основная платящая аудитория же.
Спасибо.
Я запустил "rollup -c" с этим конфигом и получил на выходе turf.min.js, но не в том виде, в котором хотел. Это вроде как для nodejs?
Бамп
Не оно, к сожалению, но тоже спасибо.
Это UMD
https://www.davidbcalhoun.com/2014/what-is-amd-commonjs-and-umd/
Вроде как ты можешь добавить этот файл на страницу и использовать его, как у Тёрфа в гайде.
https://levelup.gitconnected.com/how-exactly-does-react-handles-events-71e8b5e359f2?ref=reddit
на реактивной тяге твоего пукана?
сказали сделать функцию возвращающую слово
в решения не хотел лезть сделал посвоему https://jsfiddle.net/9btujm2e/
сказали переделывать что не так?
http://bvaughn.github.io/react-virtualized/#/components/List
Очень быстрый рендеринг огрмоных списков. Хоть 20к слов.
>Как починить?
Биндить функцию, а не результат выполнения функции, очевидно же. напиши typeof(biding2('click')), который ты передаёшь вторым аргументом в bind, который так-то функцию ожидает.
>>10729
Ты ебанутый, ты что вообще там сделать хочешь? Разбираешь слово по буквам и обратно собираешь, зачем?
А переделывать уж хотя бы из-за форматирования кода надо, независимо от результата даже.
Сас и лес не увеличивают размер файла, даунич. А фреймворки бывают и по 4 килобайта, включая реактивные. Нехуй просто гвозди микроскопом забивать, а потом орать что тебе и молоток-то не нужен, будешь руками хуярить. Ударься сразу лбом.
Не очень ясно, что вообще происходит, если честно.
Не особо понятно, но судя по пикче речь идёт связанных списках.
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
Должен получиться объект, структура которого у него на пике в правой части изображена.
Это, походу, односвязный список, но в чем его юзкейс?
Так он не для браузера. Я добавил на страницу, но ошибки "not a function"
Вот такой аутпут получается, часть задания, что выполнял подчеркнул. Тут нет какого-то сакрального смысла, просто задачка, мне нужно знать, насколько это говно код по шкале от 0 до 1. И стоит остановиться и все еще раз переделать или это приемлемое решение.
>все что нужно
уже есть в css3
тебе чего конкретно не хватает? вложенности что бы ковнокодить или экстенда что бы вообще пиздец устроить, или ты из тех кому мало калка с варом и ты хочешь запихать туда еще какой то код? ну вот серьезно чо надо то?
Ты, видимо, никогда ничего крупного не писал. Не хватает разбиение на модули, миксинов, функций, циклов, конфигурируемсоти.
Эммм, не хочу тебя расстраивать, но это однострочник. Зачем ты там нагородил этого всего я не очень понял.
function arrayToList(array){
return (array.length === 0) ? null : { value:array[0], rest:arrayToList( array.splice(1,array.length-1) ) }
}
Это новый, эджевый тру-реактивный view-фреймворк от китайцев. Нашпигован магией, из-за чего учится примерно за пару часов. Не смешивает код и шаблоны, в отличии от реакта и кладёт хуй на ЧИСТАТУ функций, заменяя всё передачей большого объекта конфигурации в конструктор компонента.
Можно.
https://www.npmjs.com/package/vue-chrome-extension
>разбиение на модули
вебпак
>миксинов
--uchiCSS: suka;
>функций, циклов
>Ты, видимо, никогда ничего реального не писал
жду примеров когда в цеске нужны ЦЫКЛЫ блять
>конфигурируемсоти
вебпак уебок ты ж блять что ты собрался конфигурировать в КАСКАДЕ СТИЛЕЙ
Спасибо, посмотрю. А то аддонописатели как-то отстают от технологий, большинство аддонов тупо дрочит DOM. Разработчик лисьего Tree Style Tab (вертикальный древовидный список вкладок) вроде планирует только через годик-другой на React переписать.
Посмотри на исходники бутстрапа как-нибудь или на компасс.
Сасс позволяет писать реюзабельные компоненты и библиотеки для упрощения рутинных ежедневных операций. Поиск контрастного цвета, генерация сетки по запросу, экстенд других элементов, инклюд коммон-кусков кода, расчёт лайн-хейта для типографики и остальное. Для продуктовых проектов незаменимая вещь.
>разбиение на модули
вебпак
Хуепак, сравнил няшный @import, который умеют обрабатывать все ИДЕ, подтягивая оттуда миксины, компоненты и остальное, и вебпак.
>вебпак уебок ты ж блять что ты собрался конфигурировать в КАСКАДЕ СТИЛЕЙ
В самом каскаде - ничего, в сасс-коде - собрался. Очевидно, различные переменные, определяющие поведение функций при компиле и прочее.
>жду примеров когда в цеске нужны ЦЫКЛЫ блять
Для генерации цсс-кода, лалка.
МОЖНО сделать всё то же самое без препроцессора, вопросов нет. Но с ними - в разы быстрее, проще и удобнее. Чем больше проект, тем больше это заметно. Писанину руками сокращает очень сильно, а поддерживаемость повышает.
>жду примеров когда в цеске нужны ЦЫКЛЫ блять
@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); }
}
>бутстрапа
Ты чо нахуй смеешься что ле? какой блять бутстрап в 2к18!?
>няшный @import
дегрод это стандартная цеска
>рутинных ежедневных операций
>Поиск контрастного цвета, генерация сетки по запросу, экстенд других элементов, инклюд коммон-кусков кода, расчёт лайн-хейта для типографики
шизофазия щас умру блять
>Писанину руками сокращает
эммет с предиктом
>>10882
>костыли для даунов понторезов выучу хуйню@наклею еще одну наклеичкю не желающих учить дефолтный инструментарий навроде цес грида с флексом
ясненько, я так и думал
>дегрод это стандартная цеска
Дегрод речь про другое, почитай как директива импортв сассе работает
>шизофазия щас умру блять
Говноверстак в говностудии, так и скажи.
>эммет с предиктом
Какой, нахуй, эммет? Дай мне строку для эммета 12 классов грида, давнич. И если ты мне сейчас скинешь дохуя сложную строку, тогда отвечай сразу, чем это отличается от препроцессора? И схуяли тогда эммет не костыль, а препроцессор - костыль?
>не желающих учить дефолтный инструментарий навроде цес грида с флексом
Речь вообще не об этом. Ты как-то неправильно воспринимаешь, что такое препроцессор. Хули ты в блокноте-то не пишешь? ИДЕ - костыль для дауна, не желающего учить возможности языка? Эммет? Автокомплит? Подчёркивание ошибок? Всё для даунов!
Ты нихуя не писал ничего серьёзного в продуктовом проекте, я тебе ещё раз говорю.
Р Е К У Р С И Я
Не очень понятно, о чём ты, но
function handle( event ){
console.log(event);
}
$('.text').on('input', handle );
$('.button').click( handle );
Работает.
>12 классов грида
ой всё блять я умир
>эммет не
меняет логики ванила подхода ишак ты злоебучий
костыли захватили ваш разум, положив те жалкие две извилины в обрамленное пространство
>я тебе ещё раз говорю
ты дрочер, вар калк вх грамотный бэм и топология проекта под сборщик, все остальное дрочка и маффины
$(".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, он в себе уже содержит всю инфу о событии, передавать имя руками аргументом не нужно
>бэм
весь мир пользуется, думает как сделать лучше, делает говно атомарный бэм с грустью присаживается обратно на русский хуец
>но модный молодежный инвалидный анон скачет на костылях и радваица
кек
Просто тебе на будущее
function test(){
return 'hello!'
}
console.log( test ) // f()
console.log( test() )//Hello
В этом и проблемав
Алсо, вот тебе es6-вариант на чистом JS начинать учиться надо было с него
```document.querySelector('.tb').addEventListener('click', ( { type} ) => {console.log(type)} )```
Спасибо, анон.
>>10923
>>10928
Спасибо, теперь всё стало понятно.
При таком варианте:
$(".tb").bind("mouseenter", event => binding2(event));
В выводе получается [object Object]
Заменил на такой вариант:
$(".tb").bind("mouseenter", event => binding2("mouseenter"));
И нашёл ещё такой (останавлюсь на нём):
$(".tb").bind("mouseenter", event => binding2(event.type));
>В выводе получается [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(){}
С именем функции, да, соглашусь.
Такое имя было выбрано для простоты использования (в debug версии). В дальнейшем конечно же переименую.
Задача функции лишь в том, чтобы вывести имя события, которое возникло.
Вот финальный вариант:
function getEventNameToParagraph(event)
{
var counter = $(".log").html();
$(".log").html("event: " + event.type);
return false;
}
Делай обе.
Доебусь ещё разок и скажу, что имя такое себе. Почему get? Get-функции возвращают значение, а у тебя только рисутесят. Напиши тогда drawEventInfo
>drawEventInfo
Ну тогда уж getDrawEventNameIntoLogToParagraph :3drawEventNameToLog или drawEventName
Я бы не стал ограничивать name, кстати. Потому что это щас нейм, а потом ещё что-то. Более абстрактно - инфо. Ну это с опытом только
>Более абстрактно - инфо
Ну это само собой.
Тут задача конкретная, поэтому остановлюсь на «name».
А по-конкретнее?
yield
Раз, раз-два, тест.
b.add = function() {return this};
console.log(b.add())
блядский зыс, почему он указывает на функцию в данном случае?
по твоему*
Ты вызываешь метода add у объекта b и просишь вернуть объект, у которого он вызван.
интегесно
Посоны, помогите советом. Нужно написать небольшой сервис, который будет крутиться на локалхосте а может и нет, который будет дергать небольшие части видео со списка стримов.стримов.
Есть список стримов, сервис обращается к первому стриму, показывает небольшой кусочек видео оттуда, буквально секунду-две, может даже скриншот, а потом проделывает тоже самое с другими стримами из этого списка. Посоветуйте модуль для реализации этого. Наверняка есть что-нибудь подходящее.
Максимально упросить связь между model и view
Он же с реактивным никак не связан. Как и реакт в принципе. Но угоревшие по реактивному и фп используют реакт (и смежные вещи, вроде Elm и Cycle.js).
Это же ебануться какая нагрузка. Сначала к апи подключись, ссылки на видео поток получи, видео поток запусти. Ради двух секунд. И так каждый раз. Плохая идея, думай ещё.
Анон, я на распутье. Познал дзен в html+css и сейчас учу js. Наткнулся на рекламу курса php+sql от академии. Просят 15к (с купоном) https://htmlacademy.ru/intensive/php
Глянь своим опытным глазом, чему меня хотят научить за 15к и скажи - хуйня это все и такие знания можно самому подтянуть за пару месяцев или стоит все же вкатиться.
Сейчас js учу по их спизженому курсу и все радует и с пхп бы поступил так же, но не нашел слитого курса по пхп.
Нахуй шли какие-либо курсы со свободным набором. В своем большинстве этот мегакурс от Васяна даст тебе только базовые знания. И легче получить эту базу из какой-нибудь книги для чайников
Присматривался к циклу.жс, понравилась идея подвязать стримы для обработки событий. Но не понял, как цикл работает с домом? У них свой движок или юзаеься сторонняя либа?
А есть где-нибудь курсы с отбором?
Знаю фронт, с бэк эндом вообще не знаком.
С чего вы начинали учить node js? Какие книги для чайников посоветуете?
Бамп.
declaration vs expression
Идентично, если не использовать возмозжности хойстинга (то есть не использовать что-то, что объявлено ниже в файле).
Функция условно перемещается в начало файла вместе с определением, var поднимается как undefined до своего объявления.
> Сначала к апи подключись, ссылки на видео поток получи
Везде все одинаковое. Однитипные стримы, однотипный апи.
Аха, ты типа IPTV гонять через ноду хочешь что ли?
Сервер тебе, скорее всего, отдает m3u плейлист с ссылками на живые чанки видео, а тебе нужно распарсить ентот плейлист и закачать все файлы, после чего их либо склеить в один файл, либо просто пробросить клиенту. Я занимался как-то подобной хуйней, только цели были другие.
Ну, это не так уж и сложно и сделать, но если лень, можешь гуглить по ключевикам "node m3u download". Вот, например, чайный пакетик без доков и смс, разбирайся:
https://github.com/deepakk87/m3u8-downloader
Спасибо тебе. Почитаю.
Нужно что-то вроде пикрелейтед. Тут они просто в реальном времени по два-три кадра с каждого стрима выдают. У меня стримов будет больше, но сразу все не надо, надо по очереди.
Ааа, ну так это через обвязки к FFMpeg делается.
Да я не спорю что есть, но нагрузка ебанная будет.
Тю, мы то думали ты твитч парсишь.
Для такой хреновины всё проще, если внутри локальной сети, так вообще можно по айпи стучаться и норм.
Ну да, в своем императивном определении, как и ангуляр — первый реактивный фреймворк.
Против тайпскрипта у меня иррациональная предвзятость.
Какие еще хорошие варианты есть?
Bucklescript
А нет, шиндовс, забудь
>Для такой хреновины всё проще, если внутри локальной сети, так вообще можно по айпи стучаться и норм.
Нет.
>Тю, мы то думали ты твитч парсишь.
А что такого в парсинге твитча? Точно так же ведь достал ссылку на плейлист, скачал кусок, отобразил (или кадр вырезал). Я так с корейского afreeca.tv скриншоты с кучи стримов грабал в поисках годноты какой-нибудь.
ПАЛЮ ТЕМУ: ПИШИТЕ GPU-МАЙНЕР НА JS. СЕЙЧАС НАПИШИТЕ, ЧЕРЕЗ ГОД КУПИТЕ ОСТРОВ
- использование любого языка, транслирующегося в JS существенно осложняет разбор исходного кода в виду дичайшего оверхеда;
- стриминг клиентского кода с сервера в бинарном формате через вебсокеты;
- wasm;
- asar packing (для десктопа).
Вариантов до пизды и все ПРОСТО немного усложнят жизнь заинтересованному лицу.
Мне удалось успешно написать правило, которое выделяет посты со ссылками
2ch.hk##:xpath(//div[@class='post-wrapper' and descendant::a[contains(text(), 'http')]])
теперь я пытаюсь написать правило для выделения постов без ссылок. Перепробовал уже около 5 вариантов, не заработал ни один.
Буду благодарен помощи.
Если ПРОСТО заебенить какой-нибудь криптор, основанные на хеше из параметров времени, то ведь хуй вскроешь его, так?
Ну вот например для определения последнего поста в тред нет API.
И да, мой код используется как фильтр для uBlock на самом деле. в учебных и не только целях
>- стриминг клиентского кода с сервера в бинарном формате через вебсокеты;
Интересно, можно подробнее? Что происходит в браузере с этим бинарным кодом дальше? Где используют эту технологию и используют ли?
Для себя я сделал вывод, что чем строже язык - тем лучше
== ЧАО ПАКА ВСЕМ ДАБРА И ПАЗИТИВА ==
> можно подробнее?
Можно, но лень, т.к. сам не юзаю, а пересказывать чужой опыт не так интересно.
Но скажу так, ибо тема релевантна - технологию передачи двоичных данных и чанки скриптов через вебсокеты активно юзал небезызвестная в здешних местах личность, евангелист фп-программирования, автор доски по программированию на самописном движке. Имя я его не помню, но нагуглить будет легко, лол.
Простите за сумбур.
Выучить его не сложно, не такой он и большой.
Но не дай бог разбираться в жутком императивном коде, использующем большинство его фич, да еще и без типов.
В ES6 есть пара плюшек в виде синтаксического сахара. Покурить ES5 и ниже будет полезно, чтобы лучше понимать то, что происходит за ширмой красивых слов типа class, стрелочных функций и так далее.
Ну ещё там есть действительно крутые нововведения типа let, которые решают кучу проблем с ебанутой системой областей видимости в языке.
Короче, я бы советовал поизучать es5, а потом сверху уже es6 изучить.
Phaser
В этот JS код
https://pastebin.com/Dn9j5ark
Я хочу вставить функцию сохранения картинки по клику, вот эту:
https://jsfiddle.net/koreanman/91vnqfar/40/
Как их правильно совместить? В JS я мало разбираюсь.
Смотрю на V8.
А, если это важно, также встроен каноничный Lua, т.е. движки должны уживаться друг с другом и в идеале встраиваться ммммаксимально схожим образом, но это не обязательно.
в8, других вариков у тебя и нет, считай.
>Сколько лет пройдет пока не наступит пздц?
Как лисп наконец то умрет, тогда и наступит пиздец js то есть никогда.
Это тоже самое что переехать с 98 стандарта в С++ на 14/17.
var a = (function(){здесь нужно вызвать эту же функцию})();
Хочу сделать рекурсию с анонимной функцией
*пространство имен
Сасай тогда
Вот норм идея кста, спасибо
http://sait.ru/redik.js
А редиректить нужно непосредственно по ссылке на сам js с передачей параметра, т.е. так
<a href="http://sait.ru/redik.js?iphone games">ссылочка</a>
И редиректим его на
https://yandex.ru/search/?&text=iphone games
Редиректит сервер. Ну либо исполняемым на хмтл странице жс-ом можно window.location сделать.
В чём у тебя смысла редиректа именно по такой ссылке, ты что сделать хочешь?
Мне нужно передать в get параметре кейворд, вот так.
Смысл в том, что мне нужно разместить на другом стороннем хосте, т.к. мои домены уходят под красную метку гугла, анон. Типа гитхаба.
Оберни в еще одно iffe
https://www.dropbox.com/s/rgzo6admnvd6pmb/Карта JS, прогрес.png?dl=0
не заходите вирус
Сильно устаревшие результаты учитывая React 16
Вот свежие
http://www.stefankrause.net/js-frameworks-benchmark7/table.html
Ничего он не засоряет, пиздабол.
в данном случае будет захват переменной из внешнего скоупа, в то время как в случае с именем функции - такого захвата не будет. вы вообще когда-нибудь в консоль заглядываете?
Не получается кружочком, пункты не квадртаные же, лишнее захватывается. Переделай картинку. Ты серьёзно? Никто не будет тут сто пунктов читать и что-то там обводить.
>localStorage.setItem(counterObj, localObj);
(counterObj - простой счетчик, localObj - объект с переменными, в переменных всякая хуйня записана). Так вот когда используешь метод localStorage.getItem(counterObj) и пытаешься за 1 итерацию цикла вытащить 1 переменную (ее содержимое) localObject, то вытаскивается 1 символ, а не объект. Как фиксить?
Спасибо, анон, но кажысь разобрался, надо объект в JSON захуярить сначала. Если помещаешь что-то в localStorage, то оно походу сразу становиться текстовой строкой.
Да, стригифай@парсь.
Есть у меня текст.
<p><span>Привет.</span><span>Как дела?</span></p>
Выделяю "привет".
Делаю:
a = window.getSelection().anchorNode;
Получаю объект cсылку на узел, где содержится "привет".
Пишу:
alert(a.nextSibling);
Выдаёт null.
Почему? Как мне совершить итерацию к следующему span, где есть "как дела"?
> Как мне совершить итерацию к следующему span, где есть "как дела"?
document.getElementByTagName("span").forEach(...)
Тогда я получу каждый span из документа, а мне надо span, который будет только в выделенном фрагменте.
ну напиши конст
"Привет" это текст у него нет сиблингов, тебе нужно взять парента(span) и от него уже плясать.
Я макака, какое-то время занимаюсь фрилансом. Верстаю относительно неплохо, JS изучал на ходу, так что никаких "фундаментальных знаний" по нему у меня нет. Знаю, что надо бы прочитать какую-нибудь книгу, но пока не до этого, сначала хочу уровень вёрстки сделать более уверенным (собственно, почти закончил с этим). Тем не менее, поскольку я фриланшу время от времени приходится писать на JS, постепенно выработал для себя примерную "архитектуру приложения". Не уверен, что я всё делаю правильно, но мне пока хватает. Однако меня всё чаще посещает мысль о том, что "логика" и "представление" должны разделяться, но не очень понимаю, как это сделать.
Приведу на конкретном примере. У меня есть инпут в который вписывается имя пользователя. Алгоритм работы такой: сначала скрипт проверяет, есть ли пользователь в базе. Если есть - переключает свитчер (ну, типа, one page application, "страницы" переключает) на следующую страницу. Если нет - выводит модальное окно с текстом и двумя кнопками, мол добавить пользователя в базу или как? Сейчас это сделано одной функцией, которая на входе получает юзернейм, на выходе либо переключает свитчер, либо выдаёт алерт типа "операция отменена пользователем".
И вот тут у меня снова появилась мысль, что смешивать "логику" приложения и "представление" (вызов всяких оверлеев, модальных окон, прочей херни) это не очень хорошая идея, потому что это делает мою функцию менее "гибкой" и не даёт использовать её в других местах, ведь в другом месте мне могут быть не нужны оверлеи, модальные окна и т. д.
Ты можешь спросить: "Чего, блядь? Кто тебе мешает сделать функцию, которая будет только отдавать true\false на нахождения пользователя в базе". "Мешает" то, что от функции этой толку нихуя, зачем нужна функция из двух строчек кода? Я бы скорее хотел видеть функцию такой, как она есть сейчас, то есть, чтобы она не только проверяла наличие пользователя в базе, но и предлагала добавить его в неё, если пользователя в ней нет.
Что почитать на эту тему, как это сделать? Вот в PHP я видел у многих CMS папки типа controler viewer и т. д. в которых содержались одни и те же php-скрипты, но в одной папке была "логика работы", в другой - как это будет выводиться на страницу, в третьей - запросы к БД и т. д. В JS используется такой подход, когда она и та же "функция" дробится на "логику" и "представление"? Мне зубодробительная YOBA о глубинах и тонкостях JS не нужна, просто понять саму суть. Может, колбэками как-то? Типа, на событие "всё ок" такой колбэк, на событие "юзера нет в базе" такой колбэк, на событие "юзер хочет в базу" такой колбэк? Сама внутренняя логика работы одна и та же, но в одном случае мне нужно вывести алерт с таким-то текстом, в другом - модальное окно с другим, в третьем еще что-то.
Надеюсь, что хоть кто-нибудь поймёт эту хуйню. Ключевые слова: разграничение "логики" и "представления". Такое практикуется или я выдумал какую-то хуйню?
Спасибо.
Я макака, какое-то время занимаюсь фрилансом. Верстаю относительно неплохо, JS изучал на ходу, так что никаких "фундаментальных знаний" по нему у меня нет. Знаю, что надо бы прочитать какую-нибудь книгу, но пока не до этого, сначала хочу уровень вёрстки сделать более уверенным (собственно, почти закончил с этим). Тем не менее, поскольку я фриланшу время от времени приходится писать на JS, постепенно выработал для себя примерную "архитектуру приложения". Не уверен, что я всё делаю правильно, но мне пока хватает. Однако меня всё чаще посещает мысль о том, что "логика" и "представление" должны разделяться, но не очень понимаю, как это сделать.
Приведу на конкретном примере. У меня есть инпут в который вписывается имя пользователя. Алгоритм работы такой: сначала скрипт проверяет, есть ли пользователь в базе. Если есть - переключает свитчер (ну, типа, one page application, "страницы" переключает) на следующую страницу. Если нет - выводит модальное окно с текстом и двумя кнопками, мол добавить пользователя в базу или как? Сейчас это сделано одной функцией, которая на входе получает юзернейм, на выходе либо переключает свитчер, либо выдаёт алерт типа "операция отменена пользователем".
И вот тут у меня снова появилась мысль, что смешивать "логику" приложения и "представление" (вызов всяких оверлеев, модальных окон, прочей херни) это не очень хорошая идея, потому что это делает мою функцию менее "гибкой" и не даёт использовать её в других местах, ведь в другом месте мне могут быть не нужны оверлеи, модальные окна и т. д.
Ты можешь спросить: "Чего, блядь? Кто тебе мешает сделать функцию, которая будет только отдавать true\false на нахождения пользователя в базе". "Мешает" то, что от функции этой толку нихуя, зачем нужна функция из двух строчек кода? Я бы скорее хотел видеть функцию такой, как она есть сейчас, то есть, чтобы она не только проверяла наличие пользователя в базе, но и предлагала добавить его в неё, если пользователя в ней нет.
Что почитать на эту тему, как это сделать? Вот в PHP я видел у многих CMS папки типа controler viewer и т. д. в которых содержались одни и те же php-скрипты, но в одной папке была "логика работы", в другой - как это будет выводиться на страницу, в третьей - запросы к БД и т. д. В JS используется такой подход, когда она и та же "функция" дробится на "логику" и "представление"? Мне зубодробительная YOBA о глубинах и тонкостях JS не нужна, просто понять саму суть. Может, колбэками как-то? Типа, на событие "всё ок" такой колбэк, на событие "юзера нет в базе" такой колбэк, на событие "юзер хочет в базу" такой колбэк? Сама внутренняя логика работы одна и та же, но в одном случае мне нужно вывести алерт с таким-то текстом, в другом - модальное окно с другим, в третьем еще что-то.
Надеюсь, что хоть кто-нибудь поймёт эту хуйню. Ключевые слова: разграничение "логики" и "представления". Такое практикуется или я выдумал какую-то хуйню?
Спасибо.
Берешь и без задней мысли учишь один из модных фреймворков, там уже за тебя решили всё.
Да, и еще вспомнил, почему я не могу сделать функцию возвращающую true\false - AJAX же. Значит, колбэки? Сейчас пробую сделать с ними, добавил объект с кучей колбэков на разных этапах.
>AJAX же. Значит, колбэки?
Есть еще событийно-ориентированное программирование. Триггеришь события, подписываешься на определенные события, обрабатываешь их.
>Почему
Потому что тс для быдла. Все ровные пацаны пишут на кложаскрипте или в крайнем случае на флоу.
Есть ли npm-пакетики, позволяющие связывать стримы и буфер, чтобы можно было писать в буфер по типу createWriteStream из fs api?
неа, не умею)
За сборку js отвечает webpack, а за сборку всего остального gulp.
Набросал конфиг, но возникли две проблемы:
1. При изменении файла index.js (или main.js) в консоль сыпется ошибка "Error: task completion callback called too many times". В чём проблема и как это поправить?
2. После изменения js файлов webpack пересобирает их, но в браузере они не подцепляются. Как заинжектить изменённые файлы в браузер?
Конфиги прилагаются:
http://rgho.st/7gtrmqdrn
cs-то зачем нужен. Менять шило на мыло
Если пишешь что-то на фреймворках - юзай вебпак. Если верстаешь лендинги - можешь юзать галп. Но не совмещай их, так как сейчас вебпаком уже все можно делать и без галпа. Если хочешь риалтайм изменения, то тебе нужно хот-релоад в вебпаке настроить. Решения таких ошибок нужно искать не на дваче, а на стаковерфлоу или в гугле.
Пилю туду лист на реакте. Существуют какие-то способы сохранить в каком-то виде данные из приложения на хостинге типа surge или gh-pages?
Вдруг там в 3 строки ставится какая-нибудь срань вроде mongobd, я бы и ее чуть ковырнул.
Монгу бесплатно можешь тут поднять, если твой хостинг позволяет кроссдоменные запросы
https://mlab.com/plans/pricing/#plan-type=sandbox
Ещё раньше можно было на с9 заебенить прям всё в облаке, но их сейчас Амазон купил, и я не знаю что там поменялось, сколько халявы осталось
https://aws.amazon.com/ru/cloud9/
А вообще для никому не интересной тудушки лучше сделай в лохал-сторедже, ну или в индекседДБ, если хочешь веселья.
хеуктор как раз работает, это вектор у тебя не работает. Потому что нахуя ты делаешь проперти plus с геттером, а потом пытаешься эту проперти как функцию вызывать? Геттер это же совсем другое.
бекенд и фронт разделены. Вот мне приходит логинка пользователя, я сохраняю её в req.session, мне надо , получается, на клиент надо вернуть id сессии и потом просто в остальных запросах делать проверку коллекции session в монге на поиск всех этих данных?
или на клиент ничего не возвращается и я исколючительно должен это делать на своей стороне? просто если так то не пойму каким образом
Огненная база.
https://www.kickstarter.com/projects/1604791210/javascript-rhino-toy
Сразу видно гениальных программстов жс'а: белый клык на белом фоне, или на фоне белой же игрушки у ёлки. Я даже не сразу его увидел.
Рог то есть, а не клык, что это я.
Проблема нуля существовала задолго до JS. Все языки в которых он есть — невероятно уебищны и нелогичны.
>просто получу undefined
Так работает внутренняя операция [[Get]] согласно спеке.
>у null и undefined попытаюсь установить
Для них нет конструктора. Для строки, например, есть String(). Если ты делаешь "abc".trim(), то под капотом происходит String("abc").trim().
>логичное обоснование
Все внутренние операции описаны в спеке:
https://tc39.github.io/ecma262/
Многие из них это результат компромисса. А некоторые это "хотели, как лучше, получлось, как всегда", типа нестрого сравнения.
Каждый раз проигрываю с этого ролика. А что за jsc интерпритатор соснольный? Я знаю в сперме есть в составе net framework jsc.exe , который для jscript.net.
Справедливое предположение
Гугл не помогю
В седьмой версии добавили конфиг "asciiUnsafe". Но седьмая еще не зарилизилась, страдай пока
Существует возможность с помощью javascript менять содержимое файла при его открытии по клику мышки?
Ну то есть вот когда открываешь картинку на сосаче надо что-бы скрипт правил немного заголовок картинки. Пока приходит в голову разместить внешний скрипт на хостинге и отправлять картинку туда, но суть в том что хочу запилить расширение для пользователей Safari есть баг с открытием некоторых изображений, а держать хостинг для таких целей не охото.
Если более детально, то тебе нужно клиент-серверное решение. Rest. Backend nodejs/php/python... frontend js
Да, как решить с таким подходом я понимаю, но блин не хочется хостинг оплачивать для такой задачи.
Хорошо, спасибо. Попробую бетку накатить.
А по моему очень даже можно.
Куклоскрипт вон умеет раржпеги искать.
>>16282
Вот тут показали как из загруженной картинки получить её бинарник, или как это назвать.
https://stackoverflow.com/questions/934012/get-image-data-in-javascript
И его уже можешь модифицировать как хочешь.
Но чую я, что для тебя это будет пиздецки сложно.
>>16284
Вообще можно попробовать напилить екстенш, который будет открывать картинку через File API, править что надо (так как картинка будет считана в Blob'e). Ну и потом правленную открывать как Base64 URL.
Вот так сходу не могу придумать, почему не будет работать, File API в сафарях работают (вроде), экстеншены позволяют работать с контентом страницы, на которую настроены пермишены. Конечно могут быть подводные камни, но сходу их не видно.
Для таких найдется работа?
Для всего найдётся. Знать бы где искать.
Видео из 2012.
Вполне может быть, впрочем, что использовано это — https://trac.webkit.org/wiki/JSC (2 секунды гугла).
Проиграл в очередной раз с неогранизанности макак, в Java/PHP такого ни разу не было, а в JS опять left-pad. Алсо чому ты в субботу вечером кодишь?
https://jsfiddle.net/uxu0nygh/
Не использовать position: absolute, например, и пройти какой-нибудь туториал по хтмл вёрстке.
Скачал material ui для реакта, но дальше одного компонента дело не движется. Например запилил drawer, но хуй знает как привязать обработчики к кнопкам, onClick там никаких нету.
Готовые же сайты на react material ui просто вообще нихуя не понятны.
Есть годные гайды для реакта (именно по material ui неважно, мне хоть как), которые сложнее написания tic tac toe, но не космического уровня и объясняют именно прикладную задачу по запилу фронта для сайта.
[
{ 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] },
]
Как это сделать? Чем сделать? Что прочитать?
For-ом сделай и не выебывайся. Зачастую бывает, что мапами, фильтрами и редусами получается нечитабельная хуйня.
Мап - применить функцию к каждому элементу и вернуть список результатов, филтер - применить функцию к каждому элементу и вернуть только те исходные элементы, где результат функции true, редюс - собрать список в единственное значение, поочередно применяя к каждому значению списка функцию, таким образом изменяя промежуточное значение тупо написал, на примере проще разобраться.
Уже сделал, только всё равно чувство что полная хуйня осталось. Не знаю, как лучше сделать такое, надо хранить, допустим, юзеров и у них есть статы. Похоже на ооп хуйню, но не пойму.
Покажи как сделал то.
Тралишь? reactjs.org -> DOCS. Это все, что тебе нужно. Первые главы оформлены как туториал.
function power(base, exponent) {
if (exponent == 0)
return 1;
else
return base * power(base, exponent - 1);
}
console.log(power(2, 3));
Ну как почему.
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
Я в JS и HTML как слон в посудной лавке.
https://jsfiddle.net/uwsfmg15/
>ReferenceError: inBetween is not defined
Твоя последняя строка ничего не знает про функцию "inBetween". Ты её определяешь внутри filter, за его пределами её не существует.
Вообще то, что ты пытаешься сделать можно делать так
https://jsfiddle.net/uwsfmg15/1/
В жсе уже есть filter https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
ага, видел такой вариант у Кантора.
function r(e) {
if (!e || e.length % 4 == 1) return !1;
for (var t, i, a = 0, o = 0, r = ""; i = e.charAt(o++);) i = n.indexOf(i), ~i && (t = a % 4 ? 64 t + i : i, a++ % 4) && (r += String.fromCharCode(255 & t >> (-2 a & 6)));
return r
}
ПЕРЕМЕННЫЕ
e = AqSYntu
n = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN0PQRSTUVWXYZO123456789+/=
меня интересует момент в теле цикла.
1) почему там везде запятые?
2) почему в скобках в условном выражении, там где false тоже запятые? как это сработает? если Ложь, то t = i; a = (a + 1) % 4 Верно?
3) 255 & t будет как сложение?
Переписываю на другом языке. Извините, если вопросы очень глупые. С js никогда не работал в таком коде. Очень все сложно и нихуя не понятно
Почему на пике слева выдает 10, как и надо. А справа выдает содержимое функции(хотя там вроде указан stringOf)?
п.с.
Тема по преобразованиям объектов к примитивам у Кантора
Но ведь vue.js это по сути та же хуйня, что и реакт, только без jsx-месива (а разделенное на темплейты, скрипты и ксс). Разве что нормально просто в html-страницах работает.
ну наверное потому что справа ты делаешь return еще до того, как у тебя исполнится bar.toString = ...
Получаешь данные в коллбэке then.
Там же и продолжаешь логику играть от данных, ведь там данные собственно уже пришли.
Нет, vuejs это та же, хуета, что и ангуляр. И заменяет она именно ангуляр, но в целом на соотношение ангуляр/vue против react она никак не повлияет
>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 никогда не работал в таком коде.
Потому что это не человек писал, а обфускатор сгенерировал. Там изначально был нормальный понятный код, но его вот так упаковали.
Сам не вздумай так писать, пиши нормально.
>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 никогда не работал в таком коде.
Потому что это не человек писал, а обфускатор сгенерировал. Там изначально был нормальный понятный код, но его вот так упаковали.
Сам не вздумай так писать, пиши нормально.
Нихуя она ангуляр не заменяет, глупый. Если там директивы как в ангуляре - это ещё ничего не значит. Вуе - это вью-слой, лёгкий, быстрый и реактивный без костылей.
Еще как значит. Подход тот же, что у ангуляра, что в свое время перевернул реакт, предложив намного более простой способ размышления об интерфейсе.
пиздец. Кто и зачем пишет такой код? Просто объясните. Он минифицированный?
Знакомый говорит что если ты не купишь ты не можешь быть в Тиме. Как быть?
>Подход тот же, что у ангуляра, что в свое время перевернул реакт
Кто кого перевернул?
Ангуляр - это MVVC - фреймворк, тяжёлый ентерпрайз-монстр, а Vue - это View-слой, агностичный по отношению ко всему остальному в приложении. А директивы - ничего не значат. Давай тогда всё, где встречается {{}} - синтаксис называть заменой хандлебару
хотя бы вайпер купи.
В тебе были некурящие?
Я думал курить для программиста - табу. Умный человек курить не может. Ящитаю.
Как и быть жирным. А если человек жирный и курит, он вообще отброс.
Необратимое повреждение головного мозга.
Куда можно скормить мой json, чтобы он среди всех городов нашёл, например, 5 самых близких координат к тем, что я укажу? Нужно кокочать геобазу и ajaxом отправлять к PHP?
Я бы так сделал.
Топ 5 самых близких городов и циклом перебирать все из жсона.
Если текущий ближе, чем 5й в списке, то удалять 5й, и заменять его текущим и сортировать топ5, чтоб в конце был самый дальний.
Воооот.
Если тебе 16 лет, пробуй. "Специалисты", умеющие и то и то ценятся у всяких "сделай сайт".
Решил свою задачу. Оказывается, есть крутая формула по определению векторного расстояния между двумя точками. Система образования в шкалах - це пиздец, конечно.
Эта формула - материал 9-го класса. Но нахуя в школе рассказывать, зачем это нужно? Можно просто сказать РЕШАЙ СУКА ЗАДАЧУ МРАСЬ. Пиздец жалею, что матан не учил.
Где найти этот курс полностью? - https://codedojo.ru/store/nodejs-basics
На раздаче nnm-club'а не достает некоторых важных уроков, также как и на coursehunters.
Формула может и крутая, только мы живём на сфере и для таких расстояний ебёмся в символы Кристофеля. надо считать хотя бы так http://osiktakan.ru/geo_koor.htm
Но для сравнения сойдёт и твой вариант. Только не забудь о переходе через полюс/180 меридиан
Надо сделать простенький проект уровня одностраничной параши, которая на каждое изменение в базе реагирует для всех клиентов. Добрался до стека React+Apollo и вроде бы неплохо, но кэш с состоянием для клиента максимально уебищный, плюс на новой версии они откатили поддержку Redux/MobX.
Вопрос: продолжать ли ебаться с аполлой или просто не выебываться и настраивать вебсокеты отдельно?
Я может чего-то недопонимаю но апполло не является ли очередной прослойкой для взаимодействия с GraphQL API? С кешем и шлюхами. Ну т.е. я хочу сказать разве это предполагает отдачу риал-тайм изменений в базе? Мне кажется в любом случае вебсокет соединение надо открывать. А для простенькой одностраничной параши изолированный глобальный контейнер состояния вроде редакса и не нужОн.
Серьёзно? Чтоб понять основы node.js тебе нужен видео курс? Именно этот видео курс? Тысячи других бесплатных не подойдут? Миллионы статей, где разжевано всё для дебилов, тоже?
Нахуй так жить?
Может есть видео урок или книга, где всё разжевано объясняется?
Для надо знать что такое двоичная система исчисления, дальше всё просто.
Вот тебе с табличками, где указано какая операция что сделает с примерами
https://learn.javascript.ru/bitwise-operators
Ну мне понравился этот чел с ютуба, объясняет намного лучше, чем другие 90% ебланов, которые просто пересказывают доку.
ps на первой недели пкт узнал что моя телка мне изменила - два дня не жрал, с 87 до 84,5 при росте 173. Если нет спокойствия в жизни нехуй и курсить.
пардон, не в тот
>жквери, лодаши, рамды, бутстрапы, материалайз, постсss, юи паки всякие?
Что с этим хламом делать? Где со всем этим пересекается реакт? Я еще не начинал его, поэтому мне немного сложно сориентироваться
Я делаю новый div id=chart в компоненте, объявляю new CanvasJS.Chart("chart"), рендерю его через render(), вызываю все это в лайфсайкле компонента, но нихуя не происходит.
Jquery & bootstrap - не нужен.
Webpack - помогает тебе собрать твой проект, позволяет автоматизировать кучу задач, которые ручками ты не сделаешь. Например - минифицировать код, скомпилировать код препроцессора на обычный css и т.д
npm & yarn - позволяет устанавливать пакеты, которые необходимы для сборки проекта.
less/sass/stylus и т.д - препроцессоры, которые позволяют тебе облегчить написание css кода, добавив в него новые возможности/синтаксис. Есть еще постпроцессор, который называется postCSS, но я с ним не работал, сказать про него ничего не могу. Лучше пускай другие ребята пояснят.
ES6 - некая спецификация, такой язык, на основе которого сделаны js/typescript/dart.js и т.д.
Наследование в js - просто красивая обертка над прототипами.
Пускай более опытные меня поправят, если что не так написал.
Что такое >лодаши, рамды я не знаю, т.к только вкатываюсь, также как и ты.
Кстати, молодец, что решил учить реакт сразу. Я с вью начал - всё очень просто, отличный фреймворк, вопросов нет, но его недостаток(имхо конечно же), это его излишняя простота. Изучая его, ты не изучаешь js по-сути, а изучаешь фреймворк. А Реакт завязан на js, поэтому помимо изучения фреймворка ты еще и скилл нативного js качаешь.
>Jquery & bootstrap - не нужен.
Jquery & bootstrap - классика жанра, которая будет работать в 99.99% случаев, если еще и заполифилить. Вариант для бизнеса.
Если делать какой-нибудь проект для себя в 2018-ом. Я бы юзал какой-нибудь:
React/Vue + SemanticUi/MaterializeCSS + Hugo + Caddy
Для продвинутых можно было бы юзать webcomponents.
Думаю через лет 5-7 у манагеров начнут нормально грузиться сайты с килотоннами js. Либо, когда все пересядут на i3+/FX/ryzen, либо же появится повсеместная поддержка webassembly. Вот, тогда да, можно будет говорить о react-ах, ангулярах, vue и иже с ними.
Анон, помоги додику. Верстаю сайт, все сделано кроме одного:
Нужно чтобы при нажатии на ссылку скрывались все блоки кроме одного, указанного мной.
Вижу на бирже - вот такую кнопку:
<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 скрипт ввести, чтоб оно заработало?
Кто-нибудь вообще пробовал привязывать какие-нибудь горячие клавиши к элементам страницы?
Как понять из какого файла и с какой строчки стартует весь проект? Или может быть есть уже отработанные техники понять как работает весь этот проект?
Можешь рассказать про последние два? Что это вообще, не могу понять, хьюго, кэдди вообще не нашел походу, какую-то нпм команду выдает
Очень тяжело. Видимо, я не понимаю сам принцип его работы.
Решил посмотреть на примере расширений для Firefox. Всего-то хотел сделать переключаемый режим для чтения (в духе Пока активно - открывать любую ссылку как about:reader?url=ссылка). Но я ВООБЩЕ НИХУЯ не написал. Я не понимаю, как именно используются listener'ы здесь, вообще нихуяшечки не понимаю. Сука.
Что мне читать? Базовый курс JS я знаю, на той же CodeAcademy вполне успешно всё проходил. Про сами WebExtentions, вроде, тоже прочёл и те расширения, что идут у мозилл как примеры написал и понял.
Но по итогу ничего из этого не вынес :(
Как так-то? Как жить, пацаны?
Мне по ютубу нравится учить. там есть всякие каналы популярные типа траверси или лернкод академи. В них за 20-40 минут одна тема-миниапп дается.
Я вроде посмотрел на этот хьюго, но не понимаю, зачем он нужен
ненавижу видяхи, братан. Они то слишком медленные, то слишком быстрые, то мудак какой-то ведёт картаво-шепилявый то, если зарубежное, с каким нибудь просто странным говором. Так блять ненавижу.
Я посмотрю конечно те конкретные каналы, что ты назвал, вдруг убергоднота, но, всё же, я больше по статьям и текстовым материалам угараю.
Есть ли что-то в духе ренпаевской вики? Самый удобный тип документации и прочего, что я видел, хоть и несколько медленно обновляющийся.
И ещё желательно статью, а не книгу, про философию и этику кода на этом вашем JS. Просто, ну, вот с джавой - с самого начала тебе ебут голову тем, как правильно и вообще ТруЪ оформлять код, называть функции и классы и на любой вопрос есть ответ, как в уставе. Для шарпа тоже видел такой материал, даже для ПХП, хотя, судя по всему, большая часть кодеров, даже тех, что модули пишет, в рот эти рекомендации ебали.
А вот для JS я не нашёл. Может мне именно из-за непонимания так больно и непонятно читать его?
Вот, кстати. Один из вопросов к читаемости - когда функции присваиваются как значения куда-то (ну, визуально это так выглядит, аймин), при том, это просто ready=true, я не особо вижу смысл в функции со своим дохуя не веб-ореинтированым подходом.
Хотелось бы именно статью или док, который объясняет, схуя ли именно так, а не как у людей и которая хотя бы попытается меня убедить, что это логично и правильно, а не как $ в пхп. А я ей попытаюсь поверить, правда-правда
>онкей пресс
Нет, ты не понял. Я не админ биржи, я просто юзер,
и я вижу кнопку "Buy BTC".
Я не могу залезть в исходник на сервере, и в JS скрипты там,
но я полагаю, что к кнопке, имеющей id
можно на стороне клиента привязать горячие клавиши, активирующие её.
Ну, чтобы если появляется вдруг заявка на продажу по низкой цене
(а они появляются и тут же пропадают) - купить сразу, выбрав ордер и нажав комбинацию клавиш, причём одним нажатием горячей клавиши,
вместо того, чтобы ялозить мышкой аж туда к этой кнопке
и ещё и попадать в эту кнопку ебучую.
Биржа - cryptopia.co.nz
Нет, это ты нихуя не понял. Ни о том как торговать на бирже, ни о том что можно сделать юзерскриптом.
По хорошему ты вообще не должен куда-то лезть, на бирже ставишь лимитный ордер с нужной суммой и идёшь пить кофе.
Во-первых, лимитный ордер видно, а значит продавцы позадирают цены рассчитывая на закуп этого объема,
во-вторых выше него обязательно понаставят много ордеров на какие-то копейки - задирая цену так,
что его и не видно будет,
в-третьих, не так часто бывают крупные сливы в противовес стремительно-растущему тренду,
и в-четвёртых - можно поставить buy limit, пойти поссать, а потом прийти и увидеть внезапный обвал.
Здесь задача состоит в том, чтобы открыть как можно скорее позицию не buy limit, а buy market,
когда кто-то сливает значительный объем в сторону обратную стремительно растущему тренду,
который можно отлеживать на том же минутном графике на бирже bitmex.com
При сливе значительного объема по рыночной цене, обрабатывается первая позиция buy limit
на сумму каких-то там сатош, а оставшаяся часть повисает в виде позиции sell limit,
которая представляет из себя стенку, быстро прогрызаемую хомяками.
Поэтому, здесь нужно открыть позицию buy market на сумму этого ордера, причём как можно скорее,
пока её не раскупили.
Для этого, на криптопии, нужно сделать два клика - первый клик по самой позиции,
второй клик, после автозаполнения формы - по кнопке BUY BTC,
и кроме двух кликов - надо проялозить курсором мыши от позиции до кнопки, и попасть в эту кнопку.
Было бы намного удобнее один раз кликнуть по позиции с последующим нажатием
неких горячих клавиш для активизации этой кнопки.
Но как это сделать - ума не приложу.
>onkeypress="скрипт"
Это что вписать в исходный код страницы рядом с id от этой кнопки???
Во-первых, лимитный ордер видно, а значит продавцы позадирают цены рассчитывая на закуп этого объема,
во-вторых выше него обязательно понаставят много ордеров на какие-то копейки - задирая цену так,
что его и не видно будет,
в-третьих, не так часто бывают крупные сливы в противовес стремительно-растущему тренду,
и в-четвёртых - можно поставить buy limit, пойти поссать, а потом прийти и увидеть внезапный обвал.
Здесь задача состоит в том, чтобы открыть как можно скорее позицию не buy limit, а buy market,
когда кто-то сливает значительный объем в сторону обратную стремительно растущему тренду,
который можно отлеживать на том же минутном графике на бирже bitmex.com
При сливе значительного объема по рыночной цене, обрабатывается первая позиция buy limit
на сумму каких-то там сатош, а оставшаяся часть повисает в виде позиции sell limit,
которая представляет из себя стенку, быстро прогрызаемую хомяками.
Поэтому, здесь нужно открыть позицию buy market на сумму этого ордера, причём как можно скорее,
пока её не раскупили.
Для этого, на криптопии, нужно сделать два клика - первый клик по самой позиции,
второй клик, после автозаполнения формы - по кнопке BUY BTC,
и кроме двух кликов - надо проялозить курсором мыши от позиции до кнопки, и попасть в эту кнопку.
Было бы намного удобнее один раз кликнуть по позиции с последующим нажатием
неких горячих клавиш для активизации этой кнопки.
Но как это сделать - ума не приложу.
>onkeypress="скрипт"
Это что вписать в исходный код страницы рядом с id от этой кнопки???
И какой скрипт там должен быть, чтобы активировать ним - вот это вот:
<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>
Да, тут все просто.
Hugo - static site generator. Клепаешь шаблоны, связываешь внутри все стили, настраиваешь структуру проекта, компилишь все это в обычную статику, где все будет разложено по папкам, деплоишь на сервак.
Caddy - http/2 & https web server. Если знаешь, что такое apache или nginx. То вкуришь.
https://github.com/tc39/proposal-pipeline-operator
Мимо слоупок
Ну или в оочень редких случаях можно встретить следующие вещи:
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
ток зарегался на кодеварс и доступа к решению пока нет почему-то. а очень хочется узнать как эту задачу решить
Да ну. Ну-ка приведи мне целое к IP без побитовых операций.
Я открыл одну из книг по алгоритмам, она вводная, но материал очень сложный для восприятия, т.к уровень моей математической подготовки - 7/8 класс. И я очень сильно парюсь теперь с этим: Скачал учебники, начиная с 7 класса и просто начинаю изучать материал и прорешивать задачи для школьников, лол.
С этим проблем нет, но я примерно прикинул, что для решения всех или почти всех задач с 7 по 11 класс, включая алгебру и геометрию необходимо не меньше года, если интенсивно заниматься, более 4 часов в день. К этому добавляем знание английского, на уровне intermediate, который с elementary апается примерно за год и получаем как минимум 2 года изучения этого всего, что бы только начать знакомиться с CS. А на изучение CS по курсам MIT потребуется еще как минимум 1 год, но это в лучшем случае и если заниматься каждый день более 8 часов. А в обычном темпе, я думаю, на это уйдет не меньше двух лет, если ты не тупой.
Кстати, говорю я про этот курс - https://github.com/ossu/computer-science , что думаете о нем? Мне показалось очень годным, очень заинтересовался этим.
Вот и вопрос, с связи с этим - сильно ли я загоняюсь? Я считаю, что нет, ибо без знания таких фундаментальных вещей программист не апнется выше миддла. Что скажете вы? посещают или посещали ли вас такие мысли, как мне?
p.s Я уже работаю, сейчас являюсь джуном, насколько я знаю, в действительно хороших компаниях, на хорошую должность с хорошей зарплатой - требует знания CS на отличном уровне. Поэтому очень сильно напрягает, что я с трудом читаю материал на английском, а Кнута вообще не понимаю, но хочется. Хочется, потому что хочется быть действительно опытным специалистом, а не вебмакакой, коих большинства.
> Нужно ли хорошо знать 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 на отличном уровне. Поэтому очень сильно напрягает, что я с трудом читаю материал на английском, а Кнута вообще не понимаю, но хочется. Хочется, потому что хочется быть действительно опытным специалистом, а не вебмакакой, коих большинства.
Вебмакака? Да любой программист макака, если судить серьёзно. Программист ведь обычный рабочий, который работает на дядю и получает свои деньги. Хочешь действительно быть ахуенным, то вкатывайся в Науку про данные, Машинное обучение и Компьютерные науки в целом. Платят нихуя, но зато чсв будет размером с луну.
мимо недавно вкатившиеся студентик, описанное выше не воспринимай серьёзно, это только моё мнение, я если честно, не знаю даже что такое тактовая частота и процессора, поэтому мог говна сказать
> Нужно ли хорошо знать 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 на отличном уровне. Поэтому очень сильно напрягает, что я с трудом читаю материал на английском, а Кнута вообще не понимаю, но хочется. Хочется, потому что хочется быть действительно опытным специалистом, а не вебмакакой, коих большинства.
Вебмакака? Да любой программист макака, если судить серьёзно. Программист ведь обычный рабочий, который работает на дядю и получает свои деньги. Хочешь действительно быть ахуенным, то вкатывайся в Науку про данные, Машинное обучение и Компьютерные науки в целом. Платят нихуя, но зато чсв будет размером с луну.
мимо недавно вкатившиеся студентик, описанное выше не воспринимай серьёзно, это только моё мнение, я если честно, не знаю даже что такое тактовая частота и процессора, поэтому мог говна сказать
Ловлю себя на такой же ерунде, хочется всё досконально проработать. На деле уже знаю большую часть и просто убиваю время. Тот же eloquent javascript написан как книга отлично, но мне по-хорошему её только просмотреть и валить читать спеки es6+.
https://pastebin.com/GVtjD2nf
Очевидно, что нет. Для объявления функций как было ключевое слово function, так и остается.
Но твой вопрос заставил вспомнить об одной малоизвестной штуке в ES6 (для меня, лично) - функции, объявленные в блоке, получают block scope. То есть становятся как бы уже объявленными, как переменные с let. Ну или const. Хз, кто вообще это использует...
>функции, объявленные в блоке, получают block scope.
Но ведь он в коде своё показал, что это не так.
Точнее, так-то оно так (поспешил я), но в глобал последнее объявление всё равно пихается. Ну либо реализации ФФ и repl.it'а кривые - https://repl.it/repls/ProfuseIntentMaggot
А в ноде в глобале остаётся наиболее внешняя - https://repl.it/repls/InfantileShabbyAlpinegoat
Вся суть JS'а, короч.
Ноуп, в последнем блоке неверный синтаксис, что я и сказал. Убрать let нужно и будет просто объявление функции. В блоке.
Так я не про последний говорил, а про первый, lol(). В посте выше, в общем, всё есть.
Понял тебя, анон, пост посмотрел, сам озадачился, и выяснил, что block-scoping работает, но только в strict mode.
Спасибо, в strict mode действительно всё хорошо.
>жквери
Либа для замены querySelector и Fetch в старых браузерах. В 2018 не нужна.
>лодаши
Либа (_) с всяким сахаром и повседнемными функциями. Частично имеет альтернативу в функциях es6.
>рамды,
Хз
>бутстрапы,
Большой scss-фреймворк+стандартная либа на этом фреймворке. Ситуация примерно как с жквери, но бутстрап можно юзать для быстрой сборки админок или прототипов, ибо в нём есть всё и его знают все. Для собственных проектов достаточно грида из pure или flexgrid или самописного
>материалайз,
То же, что и бутстрап, но в дизайне Material Design, включает некоторые фишки для материал-дизайна.
>постсss,
Эти штуки добавляют префиксы к готовому цсс, делают оптимизации и минификации. Учить там неего, подключил в вебпак и сиди в хуй не дуй
>юи паки всякие?
Уй-пак - это набор готовых контролов и/или стилей для них, чтобы не изобретать велосипеды из раза в раз. Включают календари, аплоадеры файлов с прогрессбарами, всякие такие вот продвинутые контролы.
я бы не радовался, больше похоже на хуйню чтобы было
есть полноценная продуманная система lisp, нет надо ото всюду тащить говно по кусочкам
по типу
let primer = '228/114'
let chislo = ????
chislo = 2
Все мы знаем, как можно выудить у пользователя-долбоёба нужные куки, полученные через строчку кода, но это хуйня.
Я вот не понимаю - в последнее время столько хайпа вокруг Spectre и Meltdown, все только и обсуждают, кто в зоне риска и как защититься. Но как использовать - я не понял.
Каждый видел вот этот видос с примером использования Мелтдаун.
https://www.youtube.com/watch?v=RbHbFkh6eeE
Окей, здесь это - постановка, чувак просто ввёл необходимый адрес памяти.
Но доступна ли такая фича рядовым пользователям? Как нам найти необходимый адрес памяти, как вообще можно использовать эту хуйню для взлома?
Или же это действительно заёбная хуйня и её будут использовать для шпионажа и прочей поеботы далеко не рядовые пользователи?
let chislo = eval(primer);
и убей себя, мерзкая, ничтожная, отвратительная мразь. за переменные транслитом тебя нужно кинуть в топку газенвагена, ущерб сраный
Да, но нужен плагин: https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-pipeline-operator
>>20259
Чтобы не городить вложенные вызовы функций, очевидно же.
Вместо нечитаемой хуиты навроде const result = callThatLast(callThisOnBeforeLastCall(callNext(callFirst()))) или
const resultOfFirstFn = callFirst()
const resultOfNextFn = callNext(resultOfFirstFn)
... и так далее,
пишем компактный и декларативный код:
const result = callFirst()
|> callNext
|> callThisOnBeforeLastCall
|> callThatLast
разве не охуенно?
>либа для поехавших функциональщиков
Поехавшие функциональщики наворачивают пюрешку, скалку-жоэс, или Эльм.
Речь, естественно, о хардкорных приверженцах фп на фронте.
А рамда это так, развлекуха.
Тем не менее подобные либы, взять тот же Sanctuary, позволяют писать более безопасный код.
это как?
Их точно так же можно отформатировать на несколько строк.
Ну, в общем, в определённых случаях опрятнее выглядит, да, лишь бы только не начали использовать это для функций с 2+ аргументами, городя анонимки везде.
Количеством букв.
> Реализация этой функции есть как минимум в Redux
Композиция есть во многих fp-like либах. Речь шла о том, попадет ли это пропозал релиз новой спеки, или останется висеть в стейджах ебабеля.
> и вообще её propos'ают в прототип Function
Помимо композиции из банальной очереди, есть плюшки с await'ами и подстановкой аргументов.
> А вы тут со своим уродливым "|>"
Чому уродливый? Выглядит абсолютно так же, как и лаконичный pipe-forward в F#.
Действительно выглядит охуительно.
Скажи, мне надо для комментариев делать отдельную collection и пихать в каждый объект коммента postId или можно сделать нормальную вставку, типа массива комментариев в каждом объекте поста?
Ну как, хакер мамкин, разобрался?
С сервера приходит массив категорий вида:
{name: 'Категория 1', subcategories: [{id: 25, name: 'Подкатегория 1'}]},
{name: 'Категория 2', subcategories: [{id: 27, name: 'Подкатегория 2'}]}
на выходе надо получить массив айдишников подкатегорий(на категории похуй). то есть например [25, 27].
Как выглядит смотри пикрил. Не могу понять как покрасивее связать это с FormGroup
Сейчас читаю доку jest'а, посмотрел на этот puppeteer - это что, выходит, можно писать типа...e2e-тесты с помощью jest'а?
Именно. Это мне и нужно. Пробовал писать тесты на jest'е: все хорошо, но в связке с pupperteer ничего не выходит
Хочу сделать бойлерплейт, который можно скопировать как обычную папку и он работал бы
на мылооблаке нельзя скачивать более 4гб
поэтому я хочу качать хотя бы большими part'ами идеально чтобы можно было регулировать максимальный размер
Т.е. я хочу получать список кусков всей папки по мановению волшебной кнопки
Начал учить js на learn.javascript.ru и там в уроке про события пишут мол про назначения событий через свойство: "Фундаментальный недостаток описанных выше способов назначения обработчика – невозможность повесить несколько обработчиков на одно событие." И в качестве примера приводят вот этот код:
input.onclick = function() { alert(1); }
// ...
input.onclick = function() { alert(2); } // заменит предыдущий обработчик
Мол один обработчик затрёт другой и бла бла бла. Но тут даже мне дибилу сразу ясно было что он его тупо перезапишет, это понятно. Далее пишут, что надо юзать addEventListener для таких случаев. И тут у меня возник вопрос: а разве я не могу написать просто в одной функции 2 алерта? Ну я открыл значит свой божественный sublime text 3 с ахуенной тёмной Material Theme, включил полноэкранный режим, чтобы не было видно всратого меню виндовса 2000-х годов и написал что-то в роде:
document.body.onclick = function (e){
alert(1);
alert(2);
}
Собственно, стартанул это всё галпом, закреплённая вкладочка с BrowserSync, специально созданная для таких тестов обновилась, я жмякнул по body и увидел 2 алерта. Тут у меня возник вопрос: нет, я конечно понимаю, что я даун (но ведь я новичок хули вы хотели то), но в каких случаях пригодится вот этот вот СлушательСобытий вместо написания просто в одной функции всех действий, которые мне нужны?
1) Разделение кода для читаемости/тестирования, в мало-мальских больших проектах иначе никак.
2) Подключаешь ты такой кучу разных жиквери-плагинов-хуягинов и прочих виджетов, и каждому надо, например, ловить click на том же body и делать что-то своё. Но он не может взять, и добавить в тело уже кем-то поставленной в body.onclick функции свой код хотя можно взять и обернуть, наверное, но это уже из области ебы. Вот он и вешает свою функцию с помощью addEventListener.
Всё потому, что лёрн.жаваскрипт - параша.
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>
document.onclick = handler;
document.onclick = function(){ ... }
document.onclick = ()=>{}
Туда же, забыл. Так вот это всё одно и то же, только через аддевентлистенер правильно, а наоборот - нет
но в каких случаях пригодится вот этот вот СлушательСобытий вместо написания просто в одной функции всех действий, которые мне нужны?
Да, как тут правильно сказали, если ты повесил через .onscroll, например, на боди что-то, а потом кто-то тоже хочет прицепиться к скроллу боди - то ему нужно писать через аддевентлистенер, и наоборот. Чтобы избегать проблем, лучше сразу писать как надо. Ограничивать себя в гибкости ради экономии пяти символов - плохая идея.
>просто в одной функции всех действий, которые мне нужны?
Как бы так и делается.
element.addEventListener('click', event => {
this.handler1();
this.handler2();
allah();
nebo();
})
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ой есть проблемы?
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ой есть проблемы?
исправил табы
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);
нет, не исправил, но думаю все понятно
Ну одно результат работы функции, у неё там `return null;`, а другое undefined
Хочу на tempermonkey + jquery сделать браузерный чатик-приложуху(для одного говночатика верстка которого мне не нравится), шоб там по кнопочке, которую сам встрою вылезал на любой странице, или по определенным урлам(по сути просто обертка над готовым чатиком, просто постингхуестинг, просто геттинг сообщух).
Собсна вопрос, как это блять сделать нормально без tempermokeny, jquery(а лучше бы и без js нахуй, кто-нибудь курил ClojureScript? Как оно?), да и так чтобы делиться с такими же говноедами как я было удобно.
Потому что в querySelector(".task") это результат вызова функции, а в getElementsByClassName("task")[0] результат обращения к коллекции.
Тебя же не смущает, что в
x = [1, 2]
x[2] //undefined
document.querySelectorAll(".task")[0] == document.getElementsByClassName("task")[0]
А у этого больше одного способа есть? А то я только слегка корявое решение придумал, которое сработает только под конкретно эти цифры.
Какие-то хуевые вопросы. Вот честно.
Попросили бы лучше решить простенький алгоритм/задачу. Посмотрели бы на умение собирать информацию. Еще бы спросили какой typeof null и что выведется в консоль [] + {}, а теперь {} + []. Пиздец. я бы вас прямо там нахуй послал.
ОП, ты женат?
1) Нет. Обе должны отработать идентично (с точки зрения рядового программиста и тем более юзера). Разница в том, что первая реализация setTimeout'ит саму оригинальную функцию (savedThis) на выполнение через delay миллисекунд, а аргументы из обертки прокидывает в оригинальную, используя arguments (который уже legacy и deprecated, если по-хорошему), как третий параметр в setTimeout, в то время как вторая реализация также setTimeout'ит, но! свежесозданную стрелочную функцию, внутри которой вызывается оригинальная (f) в контексте от функции-обертки и аргументами, собранными с помощью rest/gather оператора. Как-то так.
2) Проблем нет ни в одной реализации. Переменные разве что названы не совсем понятно, я бы использовал "origFunc" вместо "savedThis" и "f".
если я ажахом парсю апи и мутирую стейт это нормально?
Мой товарищ @zintus ещё несколько лет назад придумал написать сервер на немутабельных структурах данных. Ты посылаешь серверу команду выключиться, а в ответ получаешь новый инстанс сервера, который выключен. По сей день это лучшая шутка про немутабельность из всех, что я слышал.
Мутировать абсолютно нормально, если ты делаешь это максимально прозрачно и к стейту привязываешь новомодные фишки вроде прокси, которые форсируют ре-рендер вьюхи. И это, позвольте заметить, ничуть не хуже в плане производительности, чем чекать два состояния на диффы.
>>21846
а что лучше всего использовать для ажаха реактом?
так более-менее?
https://codesandbox.io/s/lp0nj74wo9
Если это действительно стёб над всеми адептами Immutable.js и прочих изъёбов с иммутабельностью, то ору в голос.
Compose и pipe — совершенно разные вещи. Pipe более выразительный и гибкий.
Вот такую вещь с пикчи захерачь в свой код и можешь делать вкуснятину типа такой:
for (var i of 3) {
console.log( i );
}
// 0 1 2 3
Хотя добавлю, что гораздо проще написать аналог пайтоновской range (и/или xrange) и юзать в том же for..of.
Дай угадаю, в TS по-прежнему никак?
Что удобно, то и юзай.
Позже, если додрочишь до мозолей, быть может, будешь задаваться другими вопросами, например, как отменять in-flight запросы.
> отменять in-flight запросы
Это возможно/имеет смысл? Данные уже ушли, запрос всё равно выполнится. Разве что у тебя какой-то длинный аплоад. Скорее нужно уже просто отвязать хэндлеры. Опять же, стейт на сервере уже изменился, смысл показывать пользователю не то что актуально?
Такое возможно лишь с помощью "The Abort API" для fetch'а, который только в Лиске есть, да в Едже, и то в недавних релизах лишь. Причем тут тогда "додрочишь до мозолей"?
Додрочишь в том плане, что новичку такие вопросы в голову обычно не лезут, а для простых асинхронных запросов к серверу совершенно безразлично что использовать, хоть в связке с Реактом, что без него.
не знаю что такое in-flight запросы, но очень боюсь слишком говено говнокодить :[
что вообще нужно знать, чтобы быть полезным хоть кому-нибудь за бесплатно?
зашел на кодварс высрал 10+ строчек на задание которое решается ОДНОЙ https://jsfiddle.net/dyt2ftp8/
у меня нет шансов?
Задание-то само не судьба написать, чтобы не приходилось по коду его выяснять? И да, пидарас таки умный, решение охуенное у него. И нет, шансы есть у тебя, я думаю.
Недавно что-то такое читал. Многие верят что существуют единицы гениальных людей и серая масса остальных. На деле же все эти гениальные, кого мы знаем, просто перелопатили тонны существующих работ. То есть без массивных работ неизвестной серой массы не было бы знаменитых открытий.
Резюмируя: не переоценивай свой мозг, ты всё равно на 99,9999999999% знаешь только то, что начитал/услышал от других людей.
сынок, опыт приходит с возрастом... а там глядищь и натуралом станешь.
Предрасположенность к "гениальности" в том смысле, котором мы воспринимаем данное понятие, во многом определяется уровнем гормонов в организме будущего гения и генетически заложенными когнитивными способностями. Все остальное можно улучшать в определенных пределах, позволяя лишь немного возвыситься в интеллектуальном плане над уровнем серой массы.
массив
ряд чисел повторяются четное количество раз
одно число повторяется нечетное количество раз (максимум одно)
нужно его найти
я пока еще только вкатывальщик,но чувствую, что тяжело все дается
3 бесплатных из интернетов проходил: 85-90
eq нулевой. iq от 90 до 140. Ниже 90 программирование не заходит. Выше 140 знают намного больше и не посвящают себя программированию на 100%. Чуть выше среднего короче.
Ну я проходил. На разных ресурсах от 125 при первом прохождении и при всех последующих идет рост, вплоть до 142+. На самом деле некоторые мозги там иметь нужно, но почти все тесты показывают способность находить какие-либо закономерности из 8 картинок и выбрать девятую. Этому можно обучиться. Поэтому, имхо решает именно первый тест.
>>22086
В случае JS'а, чтобы писать интерфейсы несложные и верстать не нужно больше 85 IQ. Если конечно не делать божественные адаптивные интерфейсы со сложными состояниями и анимациями. Да и то это придет к тебе просто с опытом.
>>22091
Еще бы IQ хорошо коррелировал с финансовым состоянием его обладателя - было бы замечательно. На самом деле я бы свапнулл двадцаточку IQ на социализацию и нормальный work-life balance, возможно стал бы более счастливым человеком.
>>22093
Попытка распределить статистику по какому-то абстрактному уменюю выбирать картинки? Почему ты спрашиваешь меня? Спроси создателей этих тестов. По сути они нигде официально не нужны. Есть профильные предметы, в нашем случае Computer Science. Вот с него и спрашивают и именно знание Математики и CS отличает макаку от программиста.
Может ты просто накрутил себе лишнюю двадцаточку пока тест проходил?
всё конечно же! Стадия макаки неминуема, а сейчас мы даже не макаки.
Сначала придется стать макакой, а потом человеком.
Да просто этот реакт и бандлы ебучие, говно ваш вебпак, я из-за него устал. Буду всё через ссылочки на cdnы прикручивать теперь.
сука тут установить, там заимпортить, там заимпортить, тут директорию поменять, тут из нод-пакажес скопировать, там скрипты поменять, нихуя не работает, сделать эжект, сломать все нахуй, это блять уже не код, это да пошли они все нахуй.
не знаю что такое вебпак, но у меня все работает
Где материалы качественные брать то? Если по математике ещё можно найти, то для CS не понятно где их брать. Если таковые имеются, то прошу поделиться.
мимо другой анон
остальные книги сильно отличаются от него?
кнопка <button> </button>
джойстик можно как угодно сделать, смотри https://developer.android.com/guide/topics/ui/ui-events.html
писать код можешь можешь нажимая на кнопки клавиатуры, но только если компьютер включен и открыт текстовый редактор
Я думал, что, возможно, там есть какой-то хитрый способ использовать нативные контролы, а ты мне предлагаешь просто нарисовать свой костыль
То есть по-твоему в каждой из потоке дрочилен в PlayMarket сделаны свои контролы?
мне даже интересно стало о чем ты вообще
если что-то не сложное могу бесплатно сделать Window controlAbout Get support poiu\F!yrANUSnu=r&kePUNCTUMafriF>Jca
>3 бесплатных из интернетов проходил: 85-90
Плохо дело. В интернет-тестах обычно у всех менса-левел выходит.
Для создания релейшенов (не наследование блять) тебе нужно организовать геттер для модели отношение к которой ты будешь искать (в зависимости от ORM и бекенда которым ты пользуешься). На пике вариант с sequalize. Там геттер прописали уже за тебя. Потом в GraphQL схеме пишешь что-то вроде Query { ... blabla comments: [Comment], что тебе придет массив с нужными описанными типами. Тип Comment у тебя уже должен быть описан
ОГРОМНЫЙ, сука, README.md в официальном репозитории для кого?
https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-images-fonts-and-files
Даже если он огромный,он не покрывает всех конфигураций вебпака. В ищусах был парень с проблемами как у меня, ну и его разработчик послал и закрыл темку, грит ну а чо нам все случаи покрыть надо, и вообще проблема вебпака а не наша
Че изменилось?
все уже на vue ?
гриды завезли ?
что актуально?
По твоему каждая дрочильня из маркета написана на кордове, дебил?
Ты заебал. npm run eject и дрочись в свой вебпак, подключай хоть спиночесалку туда.
>все уже на vue ?
На словах хайпят - в вакансиях один реакт. Реакт к вью 90:10 примерно.
>гриды завезли ?
А их куда-то увозили. https://caniuse.com/#search=grid хочешь - используй. Для покрытия 95% пользователей пока флексы, около 75% гриды.
> что актуально?
Знания ваниллы. +React + Node.js/Rest || GraphQl + Мозги
Иди нахуй, а мать твоя шлюха
пытаюсь найти ноды с текстом xyi ( пик1 )
но также находятся ноды с текстом his xyi was so little
то есть когда я ищу заголовок
Свойство F.prototype
ищется также
Свойство F.prototype и создание объектов через new
в xpath есть какой нибудь //*[containsexact(text(), 'blabla')]
?
>>22568
исходя из
https://stackoverflow.com/questions/3206975/xpath-selecting-elements-that-equal-a-value
попробовал
консоль ругается дескать The string '//*[text() ='Chrome DevTools')]' is not a valid XPath expression.
Да поживёт ещё язык какое-то время.
спасибо за ответ
Это копия, сохраненная 25 февраля 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.