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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
JavaScript #87 #1061439 В конец треда | Веб
Ссылка на прошлый тред: >>1052010 (OP)

Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.

Часто задаваемые вопросы:
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/ для серверного кода.
13 Кб, 354x95
#2 #1061443
Рассказывайте кто в чем пишет. Желательно со скринами. И со списком фичей, которыми вы пользуетесь и без которых не можете жить (например smartparens пикрелейтед).
#3 #1061446
>>1061439 (OP)

>js in one pic.jpg



тут их репо https://github.com/coodict/javascript-in-one-pic

странно, что они не обновили свой проект до JS6
#4 #1061485
>>1061443
консоль
#5 #1061487
>>1061485
Че консоль?
#6 #1061488
var obj = {
f: function() {
function b() {
console.log(this);
}
b();
}
}

obj.f();

чому в этой залупе this указывает на windows?
#8 #1061491
>>1061488
>>1061489
Когда ж вы переведетесь. Открой уже учебник.
#9 #1061492
>>1061487
Давай, консоль отсюда!
#10 #1061493
>>1061491
В учебнике написано, что this указывает на объект
#11 #1061502
>>1061493
У тебя функция b() вызывается когда интерпретатор javascript читает определение f(). Значение this определяется в момент выполнения блока в котором оно содержится. Поскольку в этот момент b() не связана ни с каким объектом, то this указывает на window.
#12 #1061509
>>1061502
Ну если f() связанна, то хули эта дряньская b() не связывается?
#13 #1061511
>>1061509
Потому что тебя наебали. Грубо говоря this зависит от того что перед точкой. Если перед точкой нихуя нет как в

> b()


то и this там будет undefined/window
24 Кб, 447x351
#14 #1061514
>>1061511
Непонятно, но запомнить легко.
#15 #1061515
>>1061511
Какая нахуй точка в b()?
#16 #1061516
ГДЕ ТРАПЫ В ШАПКЕ? ГДЕ ЧУЛКИ? ЭТОТ ОТВРАТИТЕЛЬНО ГЕТЕРАСТИЧЕСКИЙ ТРЕД НЕЛЕГЕТИМЕН!
#17 #1061517
>>1061516
Но чулки в пхп-тредю
#18 #1061518
>>1061517
Пхпнатуралы пытаются украсть достижения сиссижсогоспод. Не позволим!
#19 #1061526
>>1061509
Думай как аутист программист. Значение this вычисляется внутри скопа функции b(), в момент ее выполнения. На момент выполнения f() значение этого this уже вычислено вместе со значением b().
#20 #1061532
>>1061515
если точки нет, то считай что это window.b()
#21 #1061537
>>1061532
Где нет? Что тут за слесаря орудуют?
8 Кб, 429x367
#22 #1061538
>>1061514
хуйню ты запомнил. могу поспорить что ты споткнешься на всех этих случаях.
#23 #1061541
>>1061538
Увидишь такой код, делай git blame и иди бить автору ебало.
#24 #1061542
>>1061541
не видишь разницы между продакшн кодом и примером для обучения тебе подобных макак - пошел нахуй
#25 #1061544
>>1061542
Пытаешься показать новичку надуманные тупые примеры, когда ему нужно разобраться с основой? Пошел нахуй.
#26 #1061547
>>1061544
Основы - это объяснение на пальцах квантовой физики бухим слесарем?
#27 #1061549
>>1061547
Ох, ебать, мастер нашелся. Процитируешь стандарт, а то мы чет не уверены что ты настолько охуенен, как ты о себе думаешь.
#28 #1061559
>>1061544
это и есть основа, долбоебина

>передача метода в сеттаймаут


>копирование ссылки на метод


>применение call


>вызов через new


>надуманные примеры


мне две колы и картошку фри
#29 #1061563
>>1061559
Ты и так жырный, как твоя мамаша, возьми хотя бы колу-зиро.
#30 #1061564
>>1061549
Кто вы? Вас там несколько в слесарке за монитором? Отмечаете день программиста?
#31 #1061574
>>1061564
Я и Михалыч. А шо?
#32 #1061576
Потому что функция b не привязана к объекту
#34 #1061582
>>1061580
даже ссылку да пост проебал
#35 #1061589
Анон, create-react-app под винды вообще ставится или нет? Не могу разобраться.
#36 #1061602
>>1061589
Подймо!
#37 #1061607
>>1061489
А ты отступы рандомно ставишь, что ли? Никакой логики не вижу.
#38 #1061608
стоит ли учить новодомодную параша типа ЕС6, реакт и вебпак или ждать пока новая йоба их заменит? все равно на работе это говно не юзаю
#39 #1061609
>>1061607
Я так вижу.
#40 #1061611
>>1061608

>новодомодную


>перечисляет говно мамонта

#41 #1061612
>>1061608
Я как раз таки с нуля начал разбираться с реактом и с es6
30 Кб, 404x470
#42 #1061615
Че за нахуй? Какого хуя ариал рендерится? Подключено через гугл фонт.
#43 #1061619
>>1061538
Но на пике нет опровержения точечной теории. В ss просто идет слово this, которое при вызове становится window
#44 #1061622
>>1061619
Что-то ты пытаешься кашей из своей головы накормить других https://learn.javascript.ru/bind
#45 #1061624
>>1061622
И при чем здесь бинд?
#46 #1061626
>>1061624
Что означает твоя сентенция:

>В ss просто идет слово this, которое при вызове становится window


И как это объясняется

>точечной теорией

#47 #1061627
>>1061626
Я первый спросил
#48 #1061629
>>1061627

>в некоторых случаях контекст может быть потерян. То есть мы вроде как вызываем метод объекта, а на самом деле он получает this = undefined

#49 #1061630
>>1061629
Вы не шарите, всего доброго.
#50 #1061631
>>1061630
Ну так покажи, великий гуру, как твои ебаные мнемонические правила с точкой позволяют понять суть происходящего
#51 #1061634
>>1061631
СУТЬ мне даже индус не объяснил. Грит так дядя погромист написал и ебись теперь с этой хуйней.
13 Кб, 350x158
#52 #1061642
Смотрите, как надо разговаривать с заказчиками.
#53 #1061643
>>1061634

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

#54 #1061646
>>1061642
Заказчик может тоже школьник
#55 #1061647
>>1061643
Я тоже расстроился.
#57 #1061712
написать вам штоле отцовский гайд по this? я охуеваю с тупизны которую вы несете друг другу.
#58 #1061713
>>1061712
Напиши. Вангую что ты сольёшься и вместо гайда мы увидим хуй.
#59 #1061714
>>1061712
Ильюша Кантор?Дэвид Флэнаган? Брендан Эйх?
#60 #1061718
>>1061439 (OP)
Из шапки удали WebMarlik
там 0 видосов на канале.
#61 #1061719
>>1061589
глупый чтоле? эта хуйня работает везде где есть Node.js. Насколько я понимаю Node.js в винду завезли еще в те времена когда я ебал твою молодую мамку.
#62 #1061722
>>1061719
в 1917 году?
9 Кб, 407x181
#63 #1061745
>>1061439 (OP)
ОП, обнови шапку.
#64 #1061790
Ебать у меня горит от JS
130 Кб, 960x1014
#65 #1061824
>>1061439 (OP)

вроде теперь всё параллельно, рейт
#66 #1061835
>>1061824

в ЖС колбэки пофиксили, код стал приятный для глаз и интуитивно понятный
#67 #1061861
>>1061835
Уже давно promise chain и railway oriented programming
#68 #1061866
>>1061615
Оставь в font-family только Рубик и проверь что будет рендериться.
#69 #1061868
>>1061624
Сука как же режет слух. БАЙНД, мудак ты этакий
#70 #1061896
>>1061695

>тайпскрипт говно


хуя неосилятаор бахает
#71 #1061907
О, ну норм, как раз у кантора щас учу thisы эти и начинаю плыть. Раз олдфаговые двачерные спецы сами не в курсе, мне как то на душе легче
#72 #1061908
>>1061907
Вопросы у Кантора чаше задавай
#73 #1061909
#74 #1061936
>>1061868
Бинд, зыс, калбек
#75 #1061937
>>1061936
яваскрипт
#77 #1061946
Ломающие новости.
Вышел саблайм 3, но он все такое же говно.
#78 #1061947
>>1061946
Ненужно.
#79 #1062017
а тем временем криптомайнер на джс https://coin-hive.com/
встрой в странички своих клиентов и пусть их посетители майнят тебе крипту
#80 #1062060
>>1061907
Нет, любой нормальный JS жун шарит. А двачерные спецы тоже нюфаги.
#81 #1062124
document.getElementById('save-text').addEventListener('click', function() {
// blablabla some code
});
Можно ли как нибудь вызвать код blablabla some code внутри этой функции в другой функции?
Если просто засунуть в переменную, то сам ивент листенер глушится и перестает работать.
#82 #1062143
Где мои дивы?
https://jsfiddle.net/z11rb6cr/
#83 #1062256
>>1062143
jsfiddle и так запускает твой код внутри onload, так что удали document.body.onload. Вне jsfiddle, код тоже не будет работать, т.к.

>document.body.onload = map.render


рендер потеряет this. Заверни это в функцию или забайнди.
Ну и это

>new Array(height * width)


Делает совсем не то, что ты думаешь.
#85 #1062284
Котаны, просто если кому то нехуй делать - распишите на словах плиз, не бубните что я нуб и все такое.

var timers = {};

// прибавит время выполнения f к таймеру timers[timer]
function timingDecorator(f, timer) {
return function() {
var start = performance.now(); //откуда перфоманс нов? Выглядит как метод но нигде нету такого, что за хуйня?

var result = f.apply(this, arguments); // (*)

if (!timers[timer]) timers[timer] = 0; //можно эти две строки в словах мне прочитать?
timers[timer] += performance.now() - start;

return result;
}
}

// функция может быть произвольной, например такой:
var fibonacci = function f(n) {
return (n > 2) ? f(n - 1) + f(n - 2) : 1;
}

// использование: завернём fibonacci в декоратор
fibonacci = timingDecorator(fibonacci, "fibo");

// неоднократные вызовы...
alert( fibonacci(10) ); // 55
alert( fibonacci(20) ); // 6765
// ...

// в любой момент можно получить общее количество времени на вызовы
alert( timers.fibo + 'мс' );
#85 #1062284
Котаны, просто если кому то нехуй делать - распишите на словах плиз, не бубните что я нуб и все такое.

var timers = {};

// прибавит время выполнения f к таймеру timers[timer]
function timingDecorator(f, timer) {
return function() {
var start = performance.now(); //откуда перфоманс нов? Выглядит как метод но нигде нету такого, что за хуйня?

var result = f.apply(this, arguments); // (*)

if (!timers[timer]) timers[timer] = 0; //можно эти две строки в словах мне прочитать?
timers[timer] += performance.now() - start;

return result;
}
}

// функция может быть произвольной, например такой:
var fibonacci = function f(n) {
return (n > 2) ? f(n - 1) + f(n - 2) : 1;
}

// использование: завернём fibonacci в декоратор
fibonacci = timingDecorator(fibonacci, "fibo");

// неоднократные вызовы...
alert( fibonacci(10) ); // 55
alert( fibonacci(20) ); // 6765
// ...

// в любой момент можно получить общее количество времени на вызовы
alert( timers.fibo + 'мс' );
#86 #1062288
>>1062124
document.getElementById('save-text').addEventListener('click', f);

function f() {
// blablabla some code
});
В своём коде вызываешь f()
#87 #1062290
>>1062284
выкладывай код в песочницу, как я должен это говно читать?

>performance.now()


ты никогда не пробовал сперва просто копирнуть что-то неизвестное в гугл? один из стандартных методов браузера

>var result = f.apply(this, arguments); // (*)


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

>if (!timers[timer]) timers[timer] = 0;


если в объекте timers нет нужного таймера- создать его и присвоить ноль
73 Кб, 1128x667
#88 #1062437
Почему выдает ошибку, хотя все правильно?
#89 #1062439
>>1062437
Потому что ты, мудак, пытаешься запустить javascript код в jscript интерпретатор.
#90 #1062441
>>1062439
Почему другой код без setInterval работает нормально?
#91 #1062442
>>1062441
Потому почитай что такое jscript. Это реализация ecmascript от мелкомягких.
#92 #1062659
>>1062442

>от мелкомягких.


Собссно по этому и не работает, у тебя ещё остались вопросы?
15 Кб, 600x311
#93 #1062852
Анон, никогда не занимался фронтом, поэтому не суди строго.
В общем захотелось по фану сделать самостоятельно UI для редактора и начать с дерева файлов (на самом деле не совсем файлов но не важно, суть та же), где можно их перетаскивать, вкладывать в директории и тп.
И когда задумался, то понял что вообще не знаю, как начать.
Вот я например построю дерево из div'ов (или это вообще не версткой, а рисованием делается?). Потом захочу перетаскивать элемент и для него должно будет подсвечиваться место вставки, элементы должны будут "расступаться", потом он должен плавно материализоваться на новом месте. Как такое вообще делается? Это дохуя сложно?
#94 #1062866
>>1062852

гугли либы для рисования UML-диаграмм https://modeling-languages.com/javascript-drawing-libraries-diagrams/
#95 #1062919
>>1062866
Хуйня какая-то, как это поможет?
#96 #1062920
>>1062919
Как-как, жопой о косяк, еблан тупоголовый. Тебе дали список либ, которые выполняют задачи, которые ты описал в своём посте. Чекаешь демки, смотришь под капот либам, делаешь подобное. Ещё вопросы?
#97 #1062922
>>1062920
попустись, черт. нахуй ему нужен умл, когда ему нужна драгндроп либа?
>>1062852
а ты гуглить научись, идешь сюда тыкаешь в примеры, подрубаешь и копируешь
http://interactjs.io/
#98 #1062955
Нужна помощь! (Я новичок)

Вообщем имеется генерация элементов.

Ввожу текст в поле <input type="text"> и данный текст появляется на странице все отлично.

Но после обновления страницы на F5 он пропадает..
Как сделать чтобы после обновления страницы все введенные слова в <input type="text"> сохранялись ?

Элементы на страницу я добавляю через insertBefore(li, list.firstChild)
#99 #1062956
>>1062955
Сохраняй/читай в localStorage.
#100 #1063040
>>1062955
Зависит от того что ты хочешь получить.
Можно, как уже сказали, просто хранить в localStorage.
Если нужно, что пользователь мог открыть страницу с другого браузер/мобилы/планшета, то хранишь у себя на сервере в памяти/БД для текущего пользователя.
Если нужно, чтоб пользователь мог ещё и скинуть ссылку кому-то (совместное редактирование), то хранишь также на бэкэнде по какому-то идентификатору, который незаметно добавишь к url.
#101 #1063051
>>1062955
ебанатик, фронт это чисто про отрисовку данных. если тебе надо данные хранить - либо локалсторедж, либо сервер.
#102 #1063064
Объясните нахуя все биндят в конструкторе класса вместо использования стрелочных функций? В прошлом треде я писал этот вопрос мне что то пукнули про "проблемы производительности". Когда должны проявиться "проблемы производительности"? У меня приложение на 100+ компонентов, никаких проблем нет.
#103 #1063091
Как можно в node.js элегантно добавить в класс проверку на наличие проперти? А-ля __index в lua.
Юзкейс такой: есть примитивный логгер с уровнями (info, err, warn и т.д.), одна общая функция log(level, str, ...args). Хочу чтобы при вызове logger.err(str, ...args) он сам вызывал log('err', str, ...args).

Читал про прокси, но ему нужен уже готовый объект, а я это на прототип/класс навесить как-то бы хотело. Единственнвый выход это оборачивать всё в функцию и вызывать уже её, но без 'new', что немного с толку сбивает, а унаследовать от Proxy нельзя.

Вот как-то так пока у меня: https://repl.it/LMP8 Можно ли сделать лучше?
#104 #1063094
>>1063064
кто "все"-то, твой сосед -=васян999=-? во библах и фреймворках это сделано потому что для них кроссбраузерность важнее всего
#105 #1063109
Гуру фронтенда подскажите.
Есть всплывающее из края уведомление
function showMessage() {
$('#alert_box').animate({left: '0px'}, 500).delay(1000).animate({left: '-300px', opacity: '0.8'}, 500);
setTimeout(function(){
$('#alert_box').remove();
}, 2000);
}
При вызове все нормально отрисовывает, но если на кнопку нажимать очень быстро то этот блок начинает дергаться, как сделать чтобы уведомление плавно исчезало накладываясь на предыдущее, а не удаляя его.
Кнопка при этом может нажиматься очень быстро, это портит всю анимацию.
#106 #1063115
>>1063109
Очевидно, тебе нужно обращаться к окошку не по айди (я так понимаю, у тебя там где-то до вызова этой функции создаётся элемент alert_box? Ведь ты его удаляешь в конце), ведь их у тебя несколько.
#107 #1063149
>>1063115
Да спасибо, косяк в другом месте был.
#108 #1063248
Ребята, поясните, что такое getASTNode, не могу ничего вразумительного нагуглить. Разбираюсь с деструктуризацией объектов в es6. AST -- это, наверное, abstract syntactic tree

var {op, lhs, rhs} = getASTNode() // я блять хуй знает, что тут происходит
#109 #1063251
>>1063248
Очевидно, вызываемая функция возвращает объект.
#110 #1063253
>>1063251
Но что за объект? У меня она не работает ни в обычном js-файле, ни в реакте с уже подключенным es6
#111 #1063267
>>1063253

>не работает


Мозг у тебя не работает т.к. его нет Ошибка какая, мудило?
#112 #1063271
юзаю gulp с browser-sync и nodemod. Когда в консоли жму CTRL+C то выпиливается только browser-sync а сервер node.exe работает. Что делать анончик
#113 #1063277
>>1063267
getASTNode is not defined, очевидно же
#114 #1063283
>>1063277
Так этой функции как таковой, насколько я понимаю, и не существует вовсе, это просто указатель на то, что справа должен быть объект какой-то. https://repl.it/LNOS/1
#115 #1063289
Есть возможность сначала выучить JS, а потом html и css? Хочу в идеале в бек на ноде вкатиться, но пугает что надо реально много знать в html и css (фреймворки, адаптивная верстка, кроссбраузерная, кроссплатформенная и т.д)? Как бы не проблема выучить все это, просто кодить мне нравится, а верстка отбивает все желание сидеть за компом и писать что-то.
#116 #1063312
>>1063094
Ты дурак? Библиотеки и фреймворки обрабатываются постпроцессорами и в итоге всё равно ES5 код.
#117 #1063314
>>1063064
Говнокодеры не знают что есть стрелочные функции. Привыкай, JS уже PHP опередил по количеству напрограммированного говнища.
#118 #1063315
>>1063289

>надо реально много знать в html и css


Вот это мантры от дауна. Если для тебя выучить 30 тегов и 50 CSS тегов - лучше в дворники иди.
#119 #1063316
>>1063289
Не оттягивай неизбежное. Когда ты окунёшься в удивительный мир программирования, ты уже не сможешь найти для себя времени и мотивации, чтоб разобраться с этой декларативной дрыснёй и её закидонами. Это займёт не больше месяца. Зато потом у тебя не будет проблем, как у неквалифицированного говна, у которых CSS плохо и непонятно работает, а они смешные кружечки делают, типа это им поможет.
Ентри-лвл, сгоришь на рубинчиках — проиграешь:
https://htmlacademy.ru/courses
Менее спинномозговой, больше дисциплины и любознательности требует:
https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web

Рефы:
http://htmlreference.io/
http://cssreference.io/

И не бойся спецификаций. Они пугают размерами, но чаще всего там всё описано доступней и точнее, чем на любых говнокурсах:
https://html.spec.whatwg.org/dev/
https://www.w3.org/TR/CSS/
#120 #1063318
>>1063316
Вот ты - самый няшный няшка на свете.
#121 #1063321
>>1063316
Ок, понял тебя. Но тогда до какого уровня мне это все надо учить если в итоге конечная моя цель это бекенд на ноде?
#122 #1063324
>>1063321
Что значит до какого уровня. Выбери минимум 15 шаблонов РАЗНОЙ направленности и пока их не сверстаешь, не суйся во фронты.
Ещё раз разной блядь, а не 15 барбершопов лендингом.
#123 #1063326
>>1063324
Есть ли сайты с примерами шаблонов таких проэктов?
#124 #1063327
>>1063326
Какие шаблоны, лол? Ищи в гугле и верстай. Можно с PSD.
#125 #1063331
>>1063321
К сожалению, нет уровней. Ты пока ещё даже писать не умеешь, спинномозговая ХТМЛАкадемия поможет тебе втянуться.
Просто начни делать что-то и не пытайся торговаться, экономить на спичках.
Второй гайд от Мозиллы как раз заканчивается Нодой. К тому моменту, когда ты всё предшествующее осилишь, тебе уже не нужны будут наши советы. Но будет это не так скоро, как тебе бы хотелось.
#126 #1063339
>>1063326
Не слушай пиздабола-долбоеба. Трех верстальных проектов должно хватить с головой, но ты должен в них все фичи реализовать.
#127 #1063340
>>1063339

> Трех верстальных проектов должно хватить с головой


Что-то проиграл, с 3 проектов он научится только выравнивать див по центру и выставлять фонты. Хороший уровень который позволит более менее свободно верстать именно 15-20 макетов. А 3 макета - это уровень школьника 7 класса средней школы.
#128 #1063341
>>1063339
Даже HTMLAcademy рекомендуют 15 на интенсивах. Но тебе виднее.
#129 #1063349
Вакансии фронтендеров и фуллстаков лучше обходить за версту, а на все вопросы про вёрстку говорить "не умею, не делаю и не буду". Потому что если один раз ступишь в это болото даже ради лёгких и быстрых денег, то потом пропьёшь время и уже не захочешь идти в бэк на более низкую зарплату. Я уже год по уши в верстке, об меня каждый тестер и дизайнер ноги вытирает.
#130 #1063354
>>1063312
я про сорс код и говорю, недоумок
#131 #1063433
>>1063349
А я внаглую вёрстку делаю через жопу и долго, постоянно отправляют на доработку, а мне и похуй. Потому что пошли нахуй, если жмутся нанять отдельную макаку, меня не предупреждали, что придётся в это говно окунаться.

мимо-бэкэндер-заставили-делать-фронт
33 Кб, 467x259
#132 #1063436
Ищу сильного джуна для удаленной работы.
Без оформления; зп на карту от 20к.
Оставляйте линк на жидхаб с вашими упражнениями и фейкомыльце.
#133 #1063465
>>1063436
А дай свое фейкомыло, плиз
#134 #1063472
>>1063465
anonymou?B^se-samaANUSm?2LailPUNCTUMrt%%u
29 Кб, 811x473
#135 #1063493
Хочу написать метод, а оно ругается. Что не так?
"Uncaught SyntaxError: Unexpected token"
#136 #1063494
>>1063493
Пиздец. Просто уходи.
#137 #1063498
>>1063494
Сам уходи.
#138 #1063507
>>1063354
И что сорс код, болезненный на голову даун? Сорс код компилируется при выполнении в старый кроссбраузерный стандарт
#139 #1063509
>>1063493
Если написать просто read = ..., будет то же самое, поэтому я попробовал calculator.read, но теперь вижу, что дело не в этом.
#140 #1063517
>>1063436
Вакансия закрыта.
#141 #1063523
>>1063493
Твою маааать, = вместо .
Лол. Я понял.
#142 #1063592
>>1063493
>>1063523

почитай для начала что такое объекты и как их объявлять
#143 #1063600
Привет ковырятелям жабаскрипта и зоопарка вокруг. Поясните по хардкору про связку Vue.js, TypeScript и webpack. Всё это мне нужно прикрутить к .net mvc 5 проекту.
Вроде все основные фичи я понял: качаем вуй, тайпскрипт и вебпак через нпм, потом качаем всякие тс-лоадеры, вуй-декораторы и прочее гонвно, прописваем зависимости и вроде можно работать. Но тут у меня ломается мозг, так как проект подразумевает кучу отдельных страниц, на каждую нужен свой скрипт. А вебпак по умолчанию всё будет собирать в один гигантский бандл.жс. Мне теперь что, для каждового скрипта прописывать ентри и оутпут поинты ручками? Всё примерны в интернете такой связки рассчитаны на пару исходных скриптов, один выходной и одну вьюху. Но мне не нужен чёртов спа.
Короче, помогите понять, где я объёбываюсь. Мб в моём случае можно вообще без вебпака обойтись, одним строенным в вижуал студию компилятором тайпскрипта?
#144 #1063650
>>1063600
Бамп, блять. Вы что, только хелоу ворды на консоль выводить умеете?
#145 #1063651
>>1063600
ну и пусть собирает хуле
#146 #1063652
>>1063651
Ответ конечно охуенный, но как ты себе это представляешь? У меня один build.js, в котором лежат все скрипты, стили и прочая поебень, всё это весит несколько мегов и я это подключай ко всем старницам? Какая то хрень как по мне.
#147 #1063655
Спешите видеть: сишарп макака не шмогла!
13 Кб, 414x331
#148 #1063664
Нужно чтобы после загрузки второго окна, первое поменялось. В лисе работает, в хроме нет. Что делать?
#149 #1063745
>>1063652
разбей на микросервисы тогда, к каждому свой фронт
#150 #1063746
>>1063745
Это сарказм?
#151 #1063749
Как с нуля в ноду вкатиться? Учить все эти ваши DOMы и анимации или после синтаксиса сразу курить инфу по ноде?
#152 #1063750
>>1063749
Читать блядь гайд по ноде. Что за вопросы тупые?
#153 #1063751
>>1063750
С нуля имеется ввиду именно вообще с нуля, без опыта кодинга.
#154 #1063752
>>1063751
А, тогда сорян. Начни с шапки, там есть гайд. Сперва JS без фрэймворков вообще изучи, а то не поймёшь никогда.
#155 #1063758
>>1063749
Начни с того, чтоб прочитать тред, мудак. Несколько постов назад на этот вопрос отвечали.
#156 #1063777
Ребзя, изучил за последние 3 мес такой стек: Django (REST), Vue.js, webpack, npm, git.
Сделал SPA приложение (vue, routing, router), которое подтягивает данные (json) с джанги, с авторизацией по токену (уже все висит на vds и работает).
Вопрос: я уже могу идти в фриланс? Неспешно ищу подработки в таком стеке.

вкатывальщик-33лвл
#157 #1063796
>>1063777
Даже боюсь представить какой говнокод ты пишешь. За 3 месяца с нуля ничему толковому научится нельзя.
#158 #1063804
>>1063796
так никто и не говорит про изучение с нуля. До этого для бекэнда на питоне писал всякое крудошлепство
#159 #1063895
>>1063777

покажи код
#160 #1063911
Как сделать чтобы Hot Module Reloading перезагружал корневой скрипт?

У меня куча скриптов, и они подключаются по одному в зависимости от передаваемого параметра в командной строке.
В каждый скрипт вставлять hot.module или что? Как сделать чтобы перезагружалоь без вставки?
13 Кб, 1791x35
#161 #1063913
194 Кб, 1600x900
#162 #1063962
вобщем мальчишки смотрите, надо стобы в докименте отобразились данные из ./countries.json, как делать то? надо сервер ставить или че??? я пока нуб, помогай прогаммач>>1063796
>>1063804
>>1063895
>>1063655
#163 #1063966
#164 #1063980
>>1063962

>window.countries = ...



у меня от твоего кода коллизия
#165 #1063987
>>1063980
ну и хуле, блядь колизия, сказал же я нуб, что помоч нельзя, пиздец мудила
#166 #1063988
>>1063980
тут должно быть прописано что он должен соединяться с сервером или как он должет это сделать?
#167 #1063996
>>1063664
Я разобрался, почему в хроме не работало, но вам я не скажу.
#168 #1064134
>>1063996
какая злая манька.
#169 #1064142
ща напишу майен
#170 #1064244
А чем принципиально отличаются геттеры и сеттеры? Выглядит так, что они оба существуют лишь что бы вместо obj.method() писать obj.method. Зачем они на самом деле?
#171 #1064247
>>1064244
Чтобы ты мог запускать ядерные ракеты в коде типа
fuck.gay = true
#172 #1064251
>>1064247
Меня интересует чисто техническая сторона вопроса. Я понял, что они расширяют возможности свойств. Но разница между гет/сет в чем? Единственное отличие я заметил в том, что например на лернджаваскрипт код

var user = {
firstName: "Вася",
surname: "Петров",

get fullName() {
return this.firstName + ' ' + this.surname;
},

set fullName(value) {
var split = value.split(' ');
this.firstName = split[0];
this.surname = split[1];
}
};

alert( user.fullName ); // Вася Петров (из геттера)

user.fullName = "Петя Иванов";
alert( user.firstName ); // Петя (поставил сеттер)
alert( user.surname ); // Иванов (поставил сеттер)

геттер остается самим собой, а сеттер создает другие свойства (.firstName и .fullName), т.е. это свойство которое создает другие свойства? И все?
#173 #1064253
>>1064251
бля ну get возвращает
set устанавливает
#174 #1064259
>>1064253
А что мешает сеттеру вернуть?
#175 #1064261
>>1064259
const shit = {
set gay(ok) {
return 42;
}
};
console.log(shit.gay = true, shit.gay);
#176 #1064343
Какого чёрта нода ругается на unhandled promise rejection, если я ещё просто не успел его обработать?
Пытаюсь сначала набрать кучу говна промисов в массив, а затем в следующем лупе уже ожидать завершение. Вполне логичное же применение, не?

Вот в таком коде: https://repl.it/LXR1/1 если await'ы вызываются в том же порядке, что и заканчиваются промисы, то всё ок. Если же нет, то нода ругается (на сайте почему-то нет, недостаточно новая версися, видимо, ещё не задепрекейтили) — https://pastebin.com/sv0Pqisd .
.then и .catch не предлагать, пожалуйста, нахуй оно надо с божественными async/await.

Что с этим сделать можно? Хочу красивенько же.
147 Кб, 548x530
#177 #1064355
TS или Flow?
#178 #1064358
>>1064343
Оборачивай в try/catch.
#179 #1064359
>>1064355
Flowtype с божественными OCaml типами.
#180 #1064362
>>1064358
Ты код-то хоть открывал? Всё там обёрнуто, разница между двумя вызовами исключительно в порядке завершения промисов.
#181 #1064365
>>1064355
Попытки прикрутить типы к динамикопараше, особенно такой как жс, это запредельный уровень идиотизма.
#182 #1064370
>>1064365
дебажить проще
#183 #1064385
>>1064365
Рефакторить легче, иде пизже. Ты просто объясняешь компилятору как твоё говно работает. В чем проблема-то.
#184 #1064391
>>1064343
await висит на proms[0] 3 секунды. В этом время setTimeout реджектит свой промиз, который никто не ждет (потому что await висит на proms[0]). А раз его никто не ждет он взрывается.
#185 #1064399
>>1064391
Починить можно так.
https://repl.it/LXR1/2
#186 #1064472
>>1064391
Да я понял, почему оно так. Зачем оно так? Неужели нельзя было дожидаться хотя бы конца жизни скоупа, где промис создан был, перед объявлением его Unhandled'ом?.. Ведь try{await} спокойно ловит ошибку и после собственно реджекта внутри промиса.

>>1064399
Спасибо, .catch мне нахуй не нужен, потому что это никакая не починка: внутри лупа-то я как узнаю, что у меня там что-то отклонено было? await промиса с catch'ем уже никаких ошибок не выдаёт. https://repl.it/LXR1/4 Мне ж не просто строку текста при реджекте написать надо, в конце концов.
#187 #1064473
Что эти знаки значат в REGEXP?

^+$

/^[A-Za-z]+$/
#188 #1064474
>>1064473
http://bfy.tw/E2sV викиучебник.
#189 #1064481
>>1064472
Справедливости ради, из .catch'а ж можно-таки вернуть err и он получен в val = await proms будет. Но мне нужно затем как-то образом тогда самому определять, успеный у меня там результат или не очень (val.prototype === Error?).
#190 #1064497
>>1064472
Затем что в общем случае хуй его знает что ты там намудрил. Пишешь хуйню - получаешь хуйню.
#191 #1064502
>>1064497
Два чаю. Потом еще JS прогеров за говнокодеров держат. Ему интерпретатор прямым текстом говорит - необработанный режект, он, блядь, опять за свое. Все await'ы оборачивай в try/catch долбоебина.
#192 #1064532
>>1064497

>Затем что в общем случае хуй его знает что ты там намудрил.


Создал несколько промисов, теперь жду их завершения. Это что, какая-то прям какая-то охуенно нестандартная задача, что ли? Promise.all даже для этого делали. А с await'ом появилась возможность не через миллиард коллбеков всё делать, а линейно в коде. Вот только не совсем, как оказалось.

>>1064502

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


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

>Все await'ы оборачивай в try/catch долбоебина.


Ещё раз, обёрнуто всё. Ты код вообще открывал?
55 Кб, 958x943
#193 #1064570
>>1064532

>Ещё раз, обёрнуто всё. Ты код вообще открывал?

#194 #1064571
>>1064532
Ты просто написал какую-то хуйню, смирись.
#195 #1064581
>>1064570
Так ты не оригинальный код запускаешь же, лол,а мои объяснения, почему "исправления" другого анона (>>1064399) не очень полезны. Там даже написано, что в лупе я никакой ошибки поймано не было.

Вот тут https://repl.it/LXR1/1 и https://repl.it/LXR1/4 всё обёрнуто. В первом случае try/catch ни на что не влияет, потому что нода ругается до того, как позволяет меня await'нуть нужный промис, а во втором уже похуй, потому что другой листенер повешен и catch ничего не ловит.

>>1064571
Так я не против, может и правда хуйню, но вы объясните тогда, пожалуйста, как красиво и правильно это делают современные люди. С сахарком, без коллбеков. Вот юзкейс примерно такой: https://repl.it/LZkJ/2 на деле я буду удалять на 404, а не "не добавлять", но не суть.
#196 #1064582
>>1064581
Опиши задачу словами. Что дано и что надо получить.
#197 #1064584
>>1064581
а ты кем работаешь антош?
#198 #1064587
>>1064581

>Так ты не оригинальный код запускаешь же


Я не пойму, что тебе в итоге нужно-то ?
Я внес в твой оригинальный код пару исправлений, теперь он работает в последней ноде без предупреждений о не пойманных режектах, без дебильных промис-катчей, перехватывая все в блоках try/catch функций. Я wait, если ты обратил внимание, в отличие от оригинального кода не запускаю сразу в for лупе.
Все равно не так да не эдак.
#199 #1064591
>>1064582

>Опиши задачу словами. Что дано и что надо получить.


Так код же, вроде, и так яснее всего описывает. Если развёрнутее, то вот: есть следилка за избранными пользователями на перископе, соответственно периодически проверяет на наличие новых стримов и качает/конвертит их, если есть. Выходит так, что некоторые (многие :3) каналы частенько удаляются, в таком случае я при попытке получения страницы пользователя ловлю эту пресловутую 404 и удаляю имя пользователя из базы, забывая о нём навсегда.

>>1064587

>Я не пойму, что тебе в итоге нужно-то ?


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

>Я wait, если ты обратил внимание, в отличие от оригинального кода не запускаю сразу в for лупе.


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

>>1064584
А вам зачем? Не разработчик на ноде точно, лишь хобби.
#200 #1064592
>>1064343
Попробую объяснить как мне все видится. Если что не так, можете обоссать. Это, так сказать, расширенная версия ответа анона >>1064391.

tl; dr - промисы запускаются сразу

Все проблемы из-за того, что ты не знаешь/не понимаешь, что промисы запускаются сразу, а не ждут когда ты соизволишь присобачить к ним колбеки или заюзать await. К тому моменту когда ты добираешься до второго цикла (точнее до первого await в нем), твои промисы уже, что называется, "in progress" и когда делаешь await proms, остальные промисы в списке не ждут когда до них тоже доберется очередь для обработки (они то уже запущены и любой из них может завершится раньше чем тот промис, который ты await-ишь на данный момент), и если какой-то из них резолвится/режектится, то его получается тупо нечем обработать, поскольку колбеков у них нет, а await занят/блочен другим промисом. Await последовательный это надо запомнить. Максимально упрощу твой пример:

// на месте Promise.resolve может быть любая хуйня, это не важно
await Promise.resolve(1);
await Promise.resolve(2);

Тут await вызовет Promise.resolve(1), дожидается его результата, и только потом запустит второй и дождется уже его результата.

В то время как

const p1 = Promise.resolve(1);
const p2 = Promise.resolve(2);
await p1;
await p2;

Оба промиса уже запущены и await в этом случае ведет себя скорее как Promise.all.
Видишь где проблема? Пока ты await-ишь один промис, другой режектится раньше него, без последующей обработки, отсюда и unhandledrejection

>если await'ы вызываются в том же порядке, что и заканчиваются промисы, то всё ок. Если же нет, то нода ругается


И правильно. Во втором случае у тебя промис, который режектится должен закончиться через ~2 секунды, в то время пока ты await-ишь промис, который должен закончиться через ~3 секунды (напоминаю, что await последователен). Две секунды проходят, промис завершается, а обработать его не кому. Это все опять же из-за того, что промисы запускаются сразу же как ты их создаешь.

Поддвачну >>1064497

>>1064532

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


А в чем проблема создавать их прямо в await-e если хочешь чтобы промисы завершались по порядку, один за другим?

for () {
try {
await wait(timeout, i);
} catch (e) {
//
}
}

Или использовать Promise.all c await-ом если надо чтоб все сразу?

Этот >>1064570 тоже хуйню городит по-моему.
#200 #1064592
>>1064343
Попробую объяснить как мне все видится. Если что не так, можете обоссать. Это, так сказать, расширенная версия ответа анона >>1064391.

tl; dr - промисы запускаются сразу

Все проблемы из-за того, что ты не знаешь/не понимаешь, что промисы запускаются сразу, а не ждут когда ты соизволишь присобачить к ним колбеки или заюзать await. К тому моменту когда ты добираешься до второго цикла (точнее до первого await в нем), твои промисы уже, что называется, "in progress" и когда делаешь await proms, остальные промисы в списке не ждут когда до них тоже доберется очередь для обработки (они то уже запущены и любой из них может завершится раньше чем тот промис, который ты await-ишь на данный момент), и если какой-то из них резолвится/режектится, то его получается тупо нечем обработать, поскольку колбеков у них нет, а await занят/блочен другим промисом. Await последовательный это надо запомнить. Максимально упрощу твой пример:

// на месте Promise.resolve может быть любая хуйня, это не важно
await Promise.resolve(1);
await Promise.resolve(2);

Тут await вызовет Promise.resolve(1), дожидается его результата, и только потом запустит второй и дождется уже его результата.

В то время как

const p1 = Promise.resolve(1);
const p2 = Promise.resolve(2);
await p1;
await p2;

Оба промиса уже запущены и await в этом случае ведет себя скорее как Promise.all.
Видишь где проблема? Пока ты await-ишь один промис, другой режектится раньше него, без последующей обработки, отсюда и unhandledrejection

>если await'ы вызываются в том же порядке, что и заканчиваются промисы, то всё ок. Если же нет, то нода ругается


И правильно. Во втором случае у тебя промис, который режектится должен закончиться через ~2 секунды, в то время пока ты await-ишь промис, который должен закончиться через ~3 секунды (напоминаю, что await последователен). Две секунды проходят, промис завершается, а обработать его не кому. Это все опять же из-за того, что промисы запускаются сразу же как ты их создаешь.

Поддвачну >>1064497

>>1064532

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


А в чем проблема создавать их прямо в await-e если хочешь чтобы промисы завершались по порядку, один за другим?

for () {
try {
await wait(timeout, i);
} catch (e) {
//
}
}

Или использовать Promise.all c await-ом если надо чтоб все сразу?

Этот >>1064570 тоже хуйню городит по-моему.
#201 #1064597
>>1064587

>без дебильных промис-катчей, перехватывая все в блоках try/catch функций.


Вот тут я не понял. Ты считаешь try/catch дебильными или же New Promise().catch()? Мне как араз try/catch с await'ом и хочется, няшно жи.
#202 #1064600
Можно ли в TypeScript создавать интерфейсы на сонове ключей других интервейсов?
#203 #1064601
>>1064592
Да нет, я это всё понимаю, я, так сказать, не согласен с реализацией, что ли. Вот ты говоришь:

>другой режектится раньше него, без последующей обработки


последующая же есть.

То есть, мне не понятно, почему resolve может спокойно молча дожидаться, пока его кто-то не заawait'ит, а reject — нет. Что за дискриминация такая? А вдруг в скором времени и unhandled resolve введух, может тогда и это вылезет?

>А в чем проблема создавать их прямо в await-e если хочешь чтобы промисы завершались по порядку, один за другим?


Я тогда на питоне синхронные запросы писать пойду, лол.

>Или использовать Promise.all c await-ом если надо чтоб все сразу?


А он ту же проблему имеет, что и мой вариант с массивом. Полагаю, внутри там точно то же всё и делается же, лол.

Может, есть способ каким-то образом обабатывать промисы именно в порядке их завершения? Мне ж на их порядок плевать.
23 Кб, 650x448
#204 #1064602
>>1064591
>>1064592
>>1064597
Ты хотел перехватывать режект в for-лупе так что ли?
#205 #1064604
>>1064601

>почему resolve может спокойно молча дожидаться, пока его кто-то не заawait'ит, а reject — нет.


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

В общем, я всё понял, я хочу того, чего нельзя, всем спасибо ответы на мои доёбы.
#206 #1064605
>>1064602
Ну да, я ж сразу писал, что именно в лупе хочу.
Но у тебя они же и выполняются все синхронно, как у анона выше.
#207 #1064609
>>1064604
Ну напиши этот же код на колбеках и все поймешь.
#208 #1064692
Дядьки, как правильно вкатиться в React/Vue? Чето второй день читаю оф документацию, нихуя не понимаю пока что это и зачем. Сленга блять как в мморпг. Так-то на жс пишу, колбеки промисы знаю
#209 #1064720
>>1064692
я смотрел видео на ютюбчике по вью, потом офдоки почитал, параллельно мини проектик делаю. Промисы и колбэки после этого уже начал понимать, тк даже на жс не писал до этого. На питухоне кодил как хобби
#210 #1064722
Поясните за БЭМ от яндекса. Кто использует, что за херовина?
#211 #1064744
>>1061439 (OP)
Подскажите, в vue.js во вьюхе можно делать вложенный v-for? Что-то не могу нагуглить, как это делается.
#212 #1064748
>>1064744
подробнее, что ты хочешь?
#213 #1064751
>>1064748
Через жсон апи получаю массив объектов, вывожу их через v-for, но там у каждого объекта есть вложенный массив, вот его тоже надо вывести во вьюхе.
39 Кб, 395x331
#214 #1064752
Падскажыти начинающему довену. Как по-красивее сделать из выделенных красном зон отдельные одномерные массивы. Т.е. первый массив будет таким
: [ 1, 2, 3, 10, 11, 12, 19, 20, 21 ]
второй : [ 4, 5, 6, 13, 14, 15, 22, 23, 24 ]

Мое решение какое-то нечитаемое говно.
https://pastebin.com/v1NAJz33
#215 #1064753
Создал webpack проект с vue-cli. Установил зависимости.
Запускаю npm run dev, жду 5 минут и выключаю нахуй.
Пробовал отключить eslint loader. Как узнать, чем эта поскуда замедляется? Там дохрена dev dependencies.
#216 #1064754
>>1064752
Блять, вот это.
https://pastebin.com/XXXCfHWP
#217 #1064755
>>1064751
типа дерево, как в офф примере вью жс? Рекурсивно компонент придется вызывать
#218 #1064760
>>1064755
https://jsfiddle.net/L8kxb29x/ Вот пример, как-то при помощи vue можно пройтись по элементам из list?
#219 #1064762
>>1064760
<div id="app-4">
<ol>
<li v-for="todo in todos">
{{ todo.text }}
<ul>
<li v-for="t in todo.list">
{{t}}
</li>
</ul>
</li>
</ol>
</div>
#220 #1064763
>>1064762
Странно, у меня такая конструкция не сработала почему-то, ладно, спасибо буду разбираться.
#221 #1064767
>>1064752
for(t of grid){arr.push(...t.slice(0,3))}

ну и так далее в цикле по 3
9,8 Мб, webm, 700x394, 4:01
#222 #1064772
Анончики, объясните одну вещь пожалуйста!

вот ссыль:

https://jsfiddle.net/9nhghk2r/
#224 #1064779
>>1064772
пиздабол
//setTimeout( func.call(this), 3000 ) // в таком варианте func получает в this обьект obj и выводит red, но таймаута никакого нет само собой.

this у тебя это window, с какого хуя там должно быть red?
и нахуй вызывать функцию, когда надо setTimeout(callback, delay[, ...args])
15,4 Мб, webm, 854x480, 3:34
#225 #1064780
>>1064772
И вот еще тоже самое с конструктором

https://jsfiddle.net/ssfan834/
#226 #1064782
>>1064779
upd, можно так делать
setTimeout( func.bind(obj), 3000 )
#227 #1064783
>>1064779

>>this у тебя это window, с какого хуя там должно быть red?



однако red.

>>и нахуй вызывать функцию, когда надо setTimeout(callback, delay[, ...args])



Я именно потому и спрашиваю, что именно в таком варианте хочу понять. В обертке из анонимной функции.
#228 #1064784
http://aromatic-mom.surge.sh/

сап двач
рейт

порекомендуйте что исправить, улучшить, чтобы не стыдно залить в свой гитхаб было
#229 #1064785
>>1064782
Блин, нужно было видно расписать что я знаю как при желании привязать контекст. И биндом, и переменной.

Я именно не пойму почему именно в обертке теряется контекст.
#230 #1064788
>>1064784
а почему "Загружаю..." 3 раза появилось?
Сделай сразу показ, когда я мышкой выбрал предложенный адрес, без нажимания кнопки Готово
#231 #1064790
>>1064788
*2 раза

быстрофикс
#232 #1064792
>>1064780
https://jsfiddle.net/oa5ybouv/
пиши сразу для людей и ты не понимаешь что такое this и проёбываешь контекст чуть более чем полностью
#233 #1064799
>>1064792

>> и проёбываешь контекст чуть более чем



Вся суть комюнити,лол,сообщат что ты нихуя не знаешь, и накидают своих решений.
Хотя я не просил сделать за меня. Я не просил других вариантов.
Я просто хочу понять почему в конкретно моем примере проебывается this. И просил это объяснить.
#234 #1064800
>>1064792
И дополню.
Как неработает this в стрелках я тоже понимаю.
#235 #1064802
>>1064799
https://jsfiddle.net/L643kn6r/
надеюсь так тебе понятнее?
#236 #1064813
Короче, есть вот такой вот AJAX: https://pastebin.com/wXi46NaY

Есть директория /site/ в которой лежат 3 папки - html, script, text. Думаю понятно что в каждой из них лежит. Так вот, ajax срабатывает лишь в том случае, если text.txt лежит в папке html, рядом с index.html
Мне надо сделать так, что бы скрипт брал text.txt из папки text. Но, как бы я не прописывал путь, он не работает. Пробовал и абсолютный и относительный путь. Нихуя не работает. Помогайте, Аноны.
#237 #1064814
Это нормально, что меня тошнит от ванильного жс?
Не понимаю зачем его учить, если можно клепать приложения на реакте ( не очень увлечен программированием, но деньги зарабатывать нужно).
#238 #1064815
>>1064813
А, да, забыл добавить, что всё это лежит на диске, а не на сервере. То есть, файлы локальные.
#239 #1064817
>>1064813
Ты долбоеб? Сделай нормаььный жсон, а не тхт
#240 #1064820
>>1064813

что пишет сеть в консоли бровзера? открой её клавишей ф12 посмотри куда уходит твой хттп запрос, явно же на / а нужно как я понял на /site/text.txt вот и пропиши ручками в ajax этот путь

> xhttp.open("GET", "site/text.txt", true);

#241 #1064836
>>1064744
Да, можно. Если у тебя в жсоне есть вложенный жсон, то можно по нему пройтись во вложенном в-форе.
#242 #1064846
>>1064802
проиграл со своего же примера
https://jsfiddle.net/v8jwue8t/
у тебя 2 выхода, либо юзать стрелочную функцию, либо использовать self чтобы не проебать точно и хранить в замыкании
а вообще
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout#The_this_problem
#243 #1064887
>>1064784
Абсолютно непонятно, нажалась ли кнопка, загружается ли что-то, вообще нихуя. Оно даже не до конца работает: изменение города после отображения результато не позволяет получить новые данные.
Про два "загружаю" выше уже сказали. Лучше подожди, пока и время, и погода будет, и всё сразу отобрази.

Отменяй дублирующие нажатия кнопки "готово", если текст запроса не изменился, а ответа ещё не было. (Ну или какое-нибдуь ограничение по времени хотя бы.)
#244 #1064899
>>1064799

>Я просто хочу понять почему в конкретно моем примере проебывается this.


Значение this определяется в момент вызова. В твоём случае, функцию переданную в setTimeout, грубо говоря, вызвает уже не объект j, а глобальный контекст, он же window.
Вот как-то так: https://repl.it/L2jU/1 (знающие спеку люди можете смело кидать говном и поправлять, если я не прав).

Яснее?
#245 #1064909
>>1064899
Всё вышесказанное, однако, применимо лишь если функция не была явно к чему-то забиндена.
https://repl.it/L2sv (AnotherColour делает, в принципе, то же, что и Colour, просто развёрнутее, а не в php стиле.)
#246 #1064937
>>1064820
Консоль ничего не пишет, в том то и дело.

Расположение такое:

/site/html/index.html
/site/script/script.js
/site/text/text.txt

Пути я прописывал такие:

xhttp.open("GET", "../text/text.txt", true);

xhttp.open("GET", "/home/username/site/text/text.txt", true);

>>1064817
Хули разницы, довен? Я могу хоть asp подключить, только он всё равно не подключится.
#247 #1064939
>>1064937
ajax, если чо, делает запрос на сервер (или хуй знает куда, если ты хтмл локально открываешь). К диску у браузера доступа нет. И уж тем более ajax-ом ты их хуй откроешь.

Так вот,

>ajax срабатывает лишь в том случае, если text.txt лежит в папке html


Потому что адрес в ajax-запросе, это не конкретный путь к файлу (и уж тем более /home/user/ там использовать нельзя), это путь, который сервер должен обработать. Он тебе на site.com/kotik.jpg может выдать хоть порно, хоть ~/.ssh/authorized_keys.

Хуй знает, что у тебя за сервер и есть ли он вообще, так что опиши задачу ещё, принимая во внимание вышесказанное.
#248 #1064941
>>1064939
Ну, точнее, URI с file:/// были запрещены, поэтому с диска нельзя достать.
#249 #1064962
Посоны, хочу попробовать вкатиться в бэкенд на node.js. Посмотрел скринкаст от Кантора. Что посоветуете читать/смотреть дальше?
#250 #1064970
>>1064962
а в сам js-то можешь хорошо?
#251 #1064974
Здаров, мужчины. А что скажете о курсах хекслет, норм или так себе?
#252 #1064975
>>1064974
хуйня это все, иди код пиши
#253 #1064976
>>1064975
Бля, да тут реально дети сидят. Я слышал про малолетних долбоёбов в /пр, но теперь сам убедился.
#254 #1064978
>>1064976
Хм, а ты про спрашивающего или ответившего? Потому что эти бесконечные выбиральщики курсов, но так никогда к делу и не переходящие, и правда как дети...
#255 #1064981
>>1064978
Двачую братишь.
#256 #1064984
>>1064937

>../text/text.txt


>/home/username/site/text/text.txt


лол, вот как у тебя сервер запросы разруливает, от этого и пляши
#257 #1064987
Скажите, а когда мы делаем свойство объекта через set property = function(argument){blablabla}, аргумент blablabla всегда равен тому, что мы присвоим этому свойству объекта потом, типа

object.property = 123; //123 будет нашим blablabla, так и задумано? blablabla для этого и создан в языке?
#258 #1064988
А есть тред стори про "успешно вкотился, вот так вот у меня дела, читал то и то на протяжении такого то времени"?
мимополкантораосилил
#259 #1064989
>>1064987
ХУЙНЮ СКАЗАЛ аргумент не блаблабла а argument, конечно, я сонный.
#260 #1064990
>>1064989
Т.е. это так задумано что всегда
object.property = 123; //123 --> argument?
#261 #1064996
>>1064990
Што?

Если ты спрашиваешь, является ли правая часть выражения

>obj.prop = val


Аргументом в функции-сеттере, то да. А что, у тебя были варианты?
#262 #1064997
>>1064996
Ну, мало ли, вдруг есть? На то я и нуб. Спасибо за ответ, я именно это имел в виду.
#263 #1065022
>>1064970
Сложно сказать... неплохо, но без претензий на мегакодера 300к в секунду
#264 #1065111
>>1063289
Практикуй что хочешь на JS, само собой понадобится HTML CSS для какого-то взаимодействия с юзером, там оно само и выучится по надобности.
#265 #1065113
>>1064359
В этом TS идентичен
#266 #1065160
Нормально ли не использовать циклы for, а делать всё через map/filter/reduce? В чем подводные камни?
#267 #1065166
>>1065160
Говорят, что да - idiomatic functional es6 ебанарот. А я не могу избавиться от сишной привычки форы писать
#268 #1065168
>>1065160
Учитывая что в 61 хроме завезли оптимизацию forEach так вообще самое то.
#269 #1065173
>>1065160

> map/filter/reduce?


C этими методами неудобно например обойти все элементы массива, кроме двух последних, либо начать обход с третьего элемента. Простой for будет гораздо понятней. Вы если такие функциональщики дохуя, то возьмите нормальный функциональный язык с типами и изучите его, толку больше будет.
#270 #1065175
>>1065173

>кроме двух последних


a.slice(0,-2)....

>либо начать обход с третьего элемента


a.slice(3)....
#271 #1065177
>>1065175
А если нужно индексы использовать в цикле? Я как-то видел код вроде range(3, 8).map((el, i) => ...) и мне кажется это усложнением, когда есть простой for
#272 #1065179
>>1065177
именно так и использовать, ничего сложного
#273 #1065180
>>1065179
Ну да, юзать лодаш, когда есть обычный for - типично для фронтендеров. Как хорошо, что у нас в бекенде такой хуйни нет.
#274 #1065181
>>1065177
Цикл это низкоуровневая структура, которая имеет слишком широкий диапазон функциональности. Таким образом использование высокоуровневых функций типа map filter take(slice) или range лучше показывает твои намерения.

Конечно, если ты хочешь побайтоебить с индексами, юзай цикл, никаких проблем.
#275 #1065182
>>1065180
Для map/reduce/filter давно уже лодаш не нужен.
Единственное, что меня смущает в этом подходе - отсутствие ленивости. Слишком длинная цепочка из этих функций не повлияет ли на производительность?
#276 #1065184
>>1065182
Ленивость это палка о двух концах. Количество проблем которые она создает не меньше, чем решает. Конечно если ты будешь в 33 прохода мапить это ударит по производительности.
#277 #1065185
вот смари, задача. есть массив чисел, каждое из них нужно заменить либо на ближайшее число слева, меньше этого, либо -1 если такого нет. пример
инпут: [3, 5, 2, 4, 5], аутпут: [-1, 3, -1, 2, 4].
как чотко это делается мапающими методами
f=a=>a.map((v,i)=>a.slice(0,i).reverse().find(j=>j<v)||-1)
перепиши на форах и загрусти
#278 #1065187
>>1065185
Синтетические примеры это классно. Вот только на практике ебаться приходится с тем, что циклом написать просто, а функционально сложною
#279 #1065188
>>1065177
блять нихуя ты животное ебаное!
тебе нужно из массива людей сделать массив их возрастов, но ты блядина будешь ебаться с for. потом нормальный программист придет и скажет "что это за блядина писала? нахуй с нуля переделать все"

var enimals = [{age: 13 /обычно столько лет животным, которые думают что немножко функциональщины пиздец как сложно/}];
var ages = enimals.map(function(enimal) {
return enimal.age;
});

теперь блядина приводи пример как бы ты написал это "просто"
#280 #1065189
>>1065187
если ты долбоеб то тебе в принципе все программирование сложно. пасти сюда свой говнокод
#281 #1065191
>>1065187
У меня обычно наоборот. Вот эти все foo.bar[j][k] очень тяжело воспринимать.
#282 #1065192
>>1065187
ну приведи не синтетический пример
#283 #1065193
>>1065188
let massivVosrastov = []
for (let i = 0; i < enimals.length - 1; i++) {
massivVosrastov.push(enimals.age)
}
#284 #1065194
>>1065193
Блять, ебучая вакаба съела ``
#285 #1065196
[code][/code]
``````
```

```
#286 #1065197
>>1065185
Я не призываю отказываться от map/filter/reduce. У меня была ситуация, когда slice использовать было нецелесообразно, так как он создаёт новый массив, а мне нужно было работать с пикселями на мобилках. Пикселей как правило несколько миллионов.

>>1065188
Научись общаться нормально, пост твой не дочитал.
#287 #1065198
#288 #1065199
>>1065197

>Пикселей как правило несколько миллионов.


lazy.js
#289 #1065200
>>1065193

> i < enimals.length - 1


сука долбоеб ты последний элемент пропустил. должно быть либо i <= e либо без -1
что в очередной раз доказывает мне что ты ебучее животное без мозгов "сложно" ему блять
#290 #1065202
>>1065200
Хули ты агрессивный такой? Пиздуй выплёскивать свою злость в другом месте, мы тут обсуждаем как лучше, а не пытаемся оскорбить собеседника как можно сильнее.
#291 #1065203
>>1065197
А чего за задача была с пикселями, если не секрет? Почему js?
#292 #1065205
>>1065202
так тут если долбоеб пишет что ему forEach сложнее чем for! ебануться!

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

http://output.jsbin.com/doxiyid/1

это функциональные методы у массива - это очень удобно. и если ты думаешь иначе - ты идиот.
#293 #1065206
>>1065192
Любая работа с хэш-таблицами с необходимость раннего выхода из цикла. Обычный break/continue часто проще воспринимается чем вязанка filter+map+reduce
#294 #1065208
>>1065206

>раннего выхода из цикла. Обычный break/continue часто проще воспринимается чем вязанка filter+map+reduce


для этих целей есть every/some/find/findIndex
30 Кб, 397x384
#295 #1065228
А тут есть знатоки redux-saga?
#296 #1065229
>>1065228
просто используй thunk..
#297 #1065230

>https://twitter.com/izs/status/911105515798720513


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


как лучше взаимодействовать с подобными субъектами в рамках рабочего процесса? как вы решали конфликты с подобными у себя в компании? пиздили или просто обоссывали?
#298 #1065234
>>1065230
Если быть точным он хочет разнообразить сосисочную тусу белых докладчиков ниграми и бабами для "покрытия большей выборки аудитории". Вероятно он по выемкам в черепе оценивает способности кодеров.
#299 #1065240
>>1065234

>сосисочную тусу белых


а ты что-то против белых гетеро-мужиков имеешь?
#300 #1065242
>>1065240
Нет, мне похуям. Как по мне, заявки надо вообще анонимно принимать, чтобы оценка о приеме докладчика зависила от качества доклада, а не от размера и цвета клитора.
#301 #1065249

>https://code.facebook.com/posts/300798627056246


а тем временем фейсбук переводит реакт джест флоу и имутабл.жс на MIT лицензию. больше без хитрожопой бсд-лицензии с патентамитеперь вуй соснет окончательно.
#302 #1065255
>>1065185
а если я указываю инпут массив [3,5,2,6,4,5], то твой пример работает некорректно и выводит [-1, 3, -1, 2, 2, 4] хотя вместо "2" должно быть -1. Походу ты проебался с .find()
#303 #1065259
>>1065249
с чего бы это vue сосать, когда только уебаны будут использовать jsx :)
#304 #1065263
>>1065249
надо ж
вордпресс запушил марка, убоялся что вью заадоптят чтоли
#305 #1065272
>>1065255
нет, все правильно. поиск идет влево до первого числа меньше текущего и только если их нет совсем дает -1
#306 #1065285
>>1065272
В условии задачи сказано про сравнение 2 чисел, а не всех предыдущих
#307 #1065287
>>1065285
Ну ок, не понял описание
#308 #1065313
>>1065185
https://repl.it/L5XE/2
А нолики-то твоя функция херово обрабатывает! find() || -1 выдаёт -1.

Алсо, ты там создаёшь ну просто дохуищща массивов, в итоге от 100 элементов выполняется по крайней мере в 20 раз медленнее. (А дальше всё только хуже, и обработка одного массива один раз в 100к элементов выливается в минуту против секунды.) В for'е, я уверен, можно ещё как-то поиграться и уменьшить количество элементов во временном, сократив время выполнения ещё больше.

С for'ом, конечно, будет не так красиво, но твой код обзательно нужно будет комментарием дополнить, чтобы понять, в чём смысл задачи вообще заключался, хоть отдельные шаги и ясны. Сначала хотел сказать, что хуй проссышь, что там делается, потом минутку подумал и понял, что всё вообще-то легко и очевидно.
А с фор'ом, фактически, дословно твой текст задачи и написан, кстати: "Для каждого элемента массива, находим первое число, меньшее этому из предыдущих, а если нет — -1."
#309 #1065320
>>1065208
У меня есть массив с говном. Мне нужно жрать говно до тех пор, пока не съем говно носорога. Как это сделать с вашими функциями? Опять arr.findIndex().slice().forEach() с созданием отдельного массива? (Если нет, то напишите.)
По-моему,

>for (let govno of kuchaGovna) {


> eat(govno.myakotka);


> if (govno.source === rhino) { break }


>}


Достаточно лаконично.
#310 #1065325
>>1065285
Нигде там про "сравнение двух чисел" не говорилось:

>на ближайшее число слева, меньше этого


Что вполне понятно как обход массва в обратном направлении, а не "сравнить с ближайшим левым".

Алсо, лично моя проблема со всеми этими функциональными штучками это потеря this (т.е. необходимость писать self = this и чувствовать себя питонистом). Кого-то ещё это парить или я один такой странный?
#311 #1065328
>>1065230
Пришёл бы он сюда или хоть куда на форум, можно было бы и поспорить, а на твиттере только лозунгами и кидаться, ведь в 140 ни один аргумент толком не сформулируешь.
Он, кажется, вообще не в курсе, как рабоатет статистика/вероятности.

>if all of the proposals come from white men, then you've ALREADY ruled out 70% of the best talks.


Какая ж долбоёбина, блядь, я хуею.

А есть альтернативы npm'у?
#312 #1065330
>>1065230

>"he/him/his" в описании твиттера


сука, аж пригорело, зачем ты принёс его сюда? Как я тепреь npm'ом пользоваться буду?!
#313 #1065332
https://code.facebook.com/posts/300798627056246/relicensing-react-jest-flow-and-immutable-js/

>Next week, we are going to relicense our open source projects React, Jest, Flow, and Immutable.js under the MIT license.



Швабодка наканецта.
#314 #1065344
>>1065328
это пока только тренд такой на пидорасов и фриков, через пару лет поубавится.
#315 #1065350
>>1065344
Если доживём. Там в америках уже всё очень плохо в с этим.
#316 #1065372
>>1065325
Я пришёл из питона и передаю в функцию self первым аргументом лал. Так и пишу doSome(self, val). Это норм? Или вообще зашквар?
#317 #1065377
>>1065372
Это немного глупо, да. Есть уже this. В питоне self явно указывается лишь при объявлении функции, а при вызове сам добавляется (за счёт чего можно делать бесполезную дрянь типа https://repl.it/L57k ). Тебе же приходится самому всюду self этот пихать, не? Терзают меня сомнения, что ты в питоне правильно этим self'ом пользуешься.
#318 #1065379
>>1065325
У встроенных map, forEach зис можно передовать последним аргументом если чо.
>>1065372
Есть жи call и apply.
#319 #1065380
>>1065330
просто используй yarn - работает в разы быстрей.. нпм остался в 2016м
#320 #1065382
>>1065328

>альтернативы


>>1065380
#321 #1065386
>>1065380
А вдруг он тоже написан сжв-педрилой?
#322 #1065387
>>1065377
Всмысле выглядит как питонячий код, когда селф передаю.
А в чем большая проблема передать контекст именно в функции? Это же то же самое, что и call()?
#323 #1065388
>>1065379

>зис можно передовать последним аргументом если чо.


Блин, точно.

>>1065387

>Всмысле выглядит как питонячий код, когда селф передаю.


Так это, не выглядит же, питон сам его передаёт.
#324 #1065390
Антоши, а если я могу в жс и изучу материал типа этого https://www.youtube.com/watch?v=mYvdeFfZ_NE
я смогу уже работать на фрилансе? Клепать круд и рест
#325 #1065454
>>1065390
Конечно сможешь. Смотри побольше видосов и не вздумай писать код и все получится.
#326 #1065475
>>1065454
ну я же буду писать то, что мне говорят в видео, считай сам программирую. Тем более чем я хуже тни из видео?
#327 #1065478
>>1061439 (OP)
Братики, когда-то на хабре была статья о том, как всякие пиздатые тесты провести перед деплоем приложения. Там были и тесты производительности и тесты на ошибки и на много чего, не осталось ни у кого этой статьи или мб чего-то подобного?
#328 #1065479
>>1065478
Речь там шла о node.js
#329 #1065480
А есть кто, у кого прямая деятельность связана с программированием на жс?
Какая позиция? Какие повседневные задачи? Пишете код 8 часов подряд?
#330 #1065489
>>1065480
Внезапно, программистов нанимают для того, чтобы они писали код. На галерах, где большой поток проектов, код пишут и по 12 часов в день, перед работой, на работе и после работы. В больших компаниях больше времени уделяется архитектуре, хорошим решением, так что там написание кода разбавляется корпоративной суетой.
#331 #1065490
>>1065489
есть годные статьи на тему архитектуры и как ее создавать перед написанием кода именно в жс?
#332 #1065491
>>1065490
Есть. Но ты видимо вкатывальщик так что тебе для начала основы языка бы выучить. Статей конкретных нет, так как нужно знать самому какая архитектура тебе нужна под конретную задачу. Это может быть какой-то MVC монолит, а могут быть микросервисы, а могут быть лямбда функции, и каждая архитектура проявит себя лучше всего в определённых проектах. Тебе до осознания этих вещей ещё очень далеко. И в любом случае, чтобы попасть в хорошую компанию, тебе нужно отработать пару годиков на галере, чтобы получить опыт решения разнообразных задач.
#333 #1065494
>>1065491
да, ты прав про мой уровень. Хочу только на жс писать и фронт и бэк. Задрачивать node.js+express+mongodb+vuejs хочу, норм стек?
#334 #1065495
>>1065390
MERN-cтак гонво
#335 #1065496
>>1065494
Да, для начала очень даже норм.
#336 #1065498
>>1065496
добра!
откодревьюешь меня? за нихуя
#337 #1065500
>>1065498
А что ты уже знаешь?
#338 #1065501
>>1065500
поинтересовался о самой возможности найти ментора. Сейчас показать нечего. Вернее есть свой пет-проджект, но там лютый хардкод. В данный момент времени для мобилки делаю круд (phonegap+vuejs+framework7)
#339 #1065505
>>1065491

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


А это обязательно - так долго? Работаю полгода на мелкогалере, делаю круды и црм на втором ангуляре, иногда с свг какую-нибедь еболу. Планировал набрать год работы и уходить в хорошую компанию на позицию джуна-миддла.
#340 #1065507
>>1065505
О, если ДС или ДС-2, то тебя возьмут с удовольствием, если не совсем дурак.
#341 #1065554
>>1065501
обмажь pwa и будет счастье, только не хватает wakelock, который подвезти должны позже
ну или weex гоняй
#342 #1065558
Тема стара как мир, но все же.
Проблема 0.1+0.2 !=0.3
Так вот, правильно я понимаю, что эта проблема касается только вычисляемых чисел?
Но если я присвою любое число переменной, то оно в ней будет гарантировано хранится в таком же виде как было задано литералом?(исключая граничные случат очень больших и малых чисел)
let x = 0.000000234;
if( x === 0.000000234) =>true
#343 #1065559
>>1065554
посмотрю, не работал с этим
#344 #1065603
>>1065475

>считай сам программирую



Лолблять, нихуя. Ты только сам себя наёбываешь. "Ну это я как бы знаю, это вроде бы понятно, вот здесь я так же бы сделал, наверное".
А потом пытаешься написать что-то подобное с нуля самостоятельно и терпишь фиаско.
#345 #1065609
>>1065475
Это все замануха на их платные курсы. Хотя справедливости ради у этой конторы они еще ничего по сравнению с некоторыми.
Ну хочешь посмотри, но смысл? Текстовая инфа воспринимается быстрее чем видео. За то время что ты будешь тупить в ютуб ты бы половину всей доки по реакту прочитал. А дальше ты не повторяешь как попугай, а сам ставишь задачу, прям берешь и пишешь сам себе тех задание - "вот тут должна быть кнопка, она должна уметь вот это" и решаешь ее.
Я лично видео туториалы смотрел во время жратвы только.
#346 #1065610
>>1065609
Иногда читать не хочется, а видос норм заходит. Обычно на видосах инфа немного по другому подается, так что одно другому не мешает.
#347 #1065634
>>1065609

>сти ради у этой конторы они еще ничего по сравнению с некоторыми.


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



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

Начни с какой-нибудь примитивной херни. Например, запили часы на реакте. Потом добавляй разные фичи. Переключатель часовых поясов, таймер, секундомер и т.п.
#348 #1065704
Я тут хреньку сделал, оцените, что ли. https://pastebin.com/TYb13tmf

Вставляем в свой app.js или где там у вас основной код "new EvalControl(process.stdin)" и радуемся интерактивной консольке с историей, поиском и прыжкам к началу следующего/предыдущего слова во время ввода текста (alt+стрелки). Как вариант, можно засабклассить Control и сделать свои команды, разумеется.

Запускать приложение в repl'е для слабых.
154 Кб, 1292x987
#349 #1065782
>>1061439 (OP)

призываю в тред опытного помидора.

пилю для развития борду на ноде, на данный момент из дб запрашиваются сначала тредики /линия 325/, потом к этим тредикам запрашиваются 3 последних ответа /начиная с линии 357/, у меня есть ахуенные подозрения, что это неправильный подход, так как нет гарантии, что ДБ в цикле на 363 линии будет всегда отвечать сразу, что означает блокировку кода.

как решить эту задачу на ноде? я пробовал пилить хитрые запросы непосредственно в ДБ, но SQL не может возвратить в одном запросе в сабквери больше одного поля, т.е я могу получить например только айди ответов, но не весь "объект" post, пример:

>(SELECT GROUP_CONCAT(id SEPARATOR '¸') FROM posts as p_a WHERE p_a.parent_id = post.id) as post_answers



инб4, я мог бы место for использовать map, но я не хочу плодить лишние массивы, так как это backend, и все ресурсы ограничены.
#350 #1065783
>>1065782
Как вариант впихни в таблицу с тредами нужную инфу о трех последних постах и обновляй её при постинге. Это наиболее производительный вариант.
#351 #1065786
>>1065782
Второй вариант делать хитровыебанный запрос с джойнами и группировкой, но там можно просто вытащить только последний пост.
#352 #1065806
>>1065783

да, тоже можно.

у меня треды и посты в одной таблице, треды там маркируются статусом -1, если там число, то это значит, что пост принадлежит к треду /= ответ/, иначе это ОП-пост /пик 1/. ок, можно добавить какое-то поле, и обновлять его у 4х постов при ответе в тредик /первый это ОП-пост + 3 последних ответа/...

там, если что, всё обернуто в промисы /пик 2/. мне тру не до конца понятна асинхронность ноды, вроде же если что-то обернуто в промис, оно отсылается в microtask queue /пик 3/, если это так, то по суте нет разницы, приложение будет работать дальше, не дожидаясь ответа из дб?

>>1065786

с ними ничего не меняется таки, в джойне нельзя сделать лимит, он будет тупо возвращать все строки, где совпадают ключи. имхо твоя первая идея самая перспективная в этом плане
#353 #1065810
>>1065782

>это backend, и все ресурсы ограничены


А на frontend'е они типа неограничены, что ли? Хуёввенько, мне кажется, если такой подход у создателей.
#354 #1065812
>>1065806

>если это так, то по суте нет разницы, приложение будет работать дальше, не дожидаясь ответа из дб?


Да, await передаёт управление дальше и программа твоя не блокируется, а занимается другими делами. Когда будет ответ из бд (и эвентлуп доберётся до этого промиса), тогда и продолжится выполнение с 363-ей строки.
Если ты под

>что означает блокировку кода.


подразумевал что твой сервер просто встанет и будет ждать ответа от ноды, то ты ошибался, да.
#355 #1065813
>>1065812

>ответа от ноды,


от бд
фикс
9 Кб, 403x356
#356 #1065829
>>1065782

Я вообще не особый спец по бэкэндычу (хотя в своё время на Django + MySQL делал штуки, так что представление имею), да и вопрос не в тему, конечно, но... вообще зачем париться с SQL-БДшками, когда есть noSQL, та же Mongo?

Преимущества в виде производительности? Более высокая отказоустойчивость?

Хз, я вот с SQL, помню, повозился изрядно, как и с чистым, так и с ORM, и как-то вот возвращаться не хочется, когда есть "key: value" подход.
#357 #1065845
Что бы такого запилить на реакте в качестве первого приложения, чтобы еще не пришлось апи самому писать? Отсутствие идей останавливает от освоения реакта.
#358 #1065849
>>1065829
Как только тебе нужны джойны и прочие прелести нормализованной бд, монга не лучший вариант.
#359 #1065850
>>1065845

Существование Vue.js должно останавливать тебя от освоения React.js, хех.

А по делу - есть кучка публичных API, которые можно тыкать без какого-бы там ни было токена, и которые, следовательно, подходят для frontend-only приложухи. То же GitHub API, например (оно еще и CORS-enabled, так что с JSONP запариваться не надо даже).
#360 #1065854
>>1065850
Напомни, чем vue.js лучше реакта? Идея пихать рандомные атрибуты в говно html не кажется хорошей идеей.
#361 #1065856
>>1065829
Когда ты знаешь конкретно что тебе нужно - можно выбирать NoSQL решения, если они в данных конкретных случаях подходят. Во всех остальных случаях нужно брать строго SQL, иначе будет эпический обосрамс, когда потребуется реляционщина, а не просто документарность или ключ-значение.

NoSQL это специализированные решения, подходящие для конретных задач. В них они справляются лучше реляционщиные, но только в них.
#362 #1065857
>>1065854
Сугубо личное предпочтение, на самом деле, но в случае с React'ом я дальше Getting Started'а не смог пройти, настолько всё уёбищно показалось. С Vue.js же всё зашло на ура, теперь тащусь от Single File Components и отсутствия всякой мути типа JSX.
#363 #1065860
>>1065856
Кстати я юзаю postgresql с jsonb. Охуенная тема: гибкость монги с возможностью ебашить сложные джойны, группировки и т.п.
155 Кб, 1100x850
#364 #1065865
>>1065810

риторический вопрос, как сам думаешь?

>>1065812

норм. если с промисами всё работает так ахуенно, то по суте получается, что нода хитро реализует параллельные задачи всего на одном потоке. если я правильно понял суть, когда ты что-то оборачиваешь в промис, оно уходит в microtask queue и там вычисляется независимо пруфы/инфа? для решения конкретно моей задачи, я воспользуюсь советом этого Антона >>1065783 допилю в таблицу поле show_on_bp /bp = board_page/ @ профит

>>1065829

>Mongo



не охота ебаться с map/reduce, пикрелейт. да и монгодб в случаях, где нужно сделать что-то сложнее хелло-ворда не разу не быстрее мускуля. она норм для больших данных, где нужна горизонтальная масштабируемость и будущие поля объектов не известны, для всего другого она плохо подходит
#365 #1065873
>>1065782
Используй оконную функцию с row_id и джойни треды с постами - будет один запрос всего, но потребуется или ORM, или написать маппер, который одинаковые THREAD.* колонки будет схлопывать в один объект.
#366 #1065874
>>1065873

> row_number

#367 #1065912
Котаны, по сколько часов Вы дрочили нативный, когда были неопытными котятами?
#369 #1065937
Блять как вы это задрочили, ебучая канторовская кофеварка с этим ООП, постоянно контекст куда то проебывается, гетеры сетеры залупа this=self из замыкания што ты несеш блять
#370 #1065939
>>1065937

Берешь и дрочишь, без задней мысли.
#371 #1065940
#372 #1065957
>>1065936
нытьё долбаёба ниасилятора :)
#373 #1065967
Задание: Создать массив и добавить в него все нечётные числа от 50 до 150.
https://jsfiddle.net/m1km4hxd/
При попытке запуска зависает, консоль не могу открыть. В чем проблема?
#374 #1065968
>>1065967
i++ не срабатывает никогда же из-за 50%2==0 и continue
#375 #1065969
>>1065967
Переделал с циклом for. Правильно понимаю, что в while нельзя использовать continue?
Как можно было бы решить данную задачу в более-менее общем виде с while?
#376 #1065970
>>1065968
Понял, спасибо.
#377 #1065973
Поясните за реакт с флаксом (редакс, например). Насколько нормально иметь контейнер с компонентами 3-4 уровнями вложенности и при любом изменении стора ререндерить всех детей?

Знаю что можно дописывать shouldUpdate и прочие хуки, но насколько это все быстро и правильно работает из коробки и будучи написано максимально плоско и просто?
14 Кб, 1020x177
#378 #1065992
>>1065969

>while нельзя использовать continue?


можно, но зачем? пиши функционально
#379 #1066011
>>1065873

читнул сейчас за оконные функции в мускуле https://mariadb.com/resources/blog/introduction-window-functions-mariadb-server-102

они норм для анализа, мб когда-то пригодятся, для моей задачки они вроде не подходят

>маппер, который одинаковые THREAD.* колонки будет схлопывать в один объект



я пробовал конкатить колонки из сабквери функцией JSON_ARRAY, все работает как надо, пока там лимит 1, а там таки нужен лимит 3, мускуль пишет в этом случае, что сабквери вернула больше одной строки.

похоже это никак не решить одним sql запросом, без парсига ответа в жс коде и новым запросом
#380 #1066021
>>1065850
Под вуе вакансий нет (да и вообще под него ничего нет), а мне нужна строчка в резюме, а не очередное нинужное новомодное поделие.
#381 #1066045
>>1066021
Реакт такое же ненужное новомодное поделие от компании с уебищным сайтом.
Делай все на чистом джсе.
#382 #1066055
>>1066045
реакт хотя бы котируют на рынке труда
#383 #1066073
Может тут помогут. В сети гуляет книга Ильи Кантора, есть у кого, заходил ребятам во фронтенд - у них ссыли протухли и торрент уже удален, а очень-очень надо
#384 #1066100
>>1066073
нахуй она тебе, когда он сам говорил что хуй забил на ру версию и пилит http://javascript.info/
#385 #1066169
>>1065783

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

-ОП-пост (updatedAt х) <-- проблема
--ответы
----ответ 1
----ответ 2
----ответ 3
...
#386 #1066181
>>1066100
Ну скинь, надо
#387 #1066187
>>1065912

>часов Вы дрочили нативный, когда


а надо было нативный дрочить? а я просто дрочил..
113 Кб, 1031x397
#389 #1066219
>>1066100

>http://javascript.info/


даже кенийские бомжи учат жс там лол
#390 #1066227
>>1066199
спс добрый молодец
#391 #1066244
Бля, ydkjs вроде нормальная книжка, но эти постоянные шутки-прибаутки хипстерские, фублять
#392 #1066335
>>1066244

>ydkjs


куда бы пойти джуном в стартап? смузи похлебать
#393 #1066402
>>1066244
>>1066335
Выразительный жабаскрипт перед йдкнжс лучше читать?
#394 #1066404
Подскажите нубу, что это за конструкция.
this.setState({
likesIncreasing: nextProps.likeCount > this.props.likeCount
});
вот это a: b > c
#395 #1066406
>>1066404
в функцию

>this.setState


передать объект со свойством

>likesIncreasing


значение которого определяется логическим выражением

>nextProps.likeCount > this.props.likeCount


то есть туда попадет тру или фолс в зависимости от того больше или меньше лойсов там или хер пойми чего
#396 #1066408
>>1066406
блядь.. то есть то банальное "больше" и тут нет никакого синтаксического сахара или скрытого смысла...????
Бро, ты мне глаза открыл
#397 #1066505
Можно ли при инициализаци объекта использовать ранее уже упомянутые свойства?

let obj = {foo: 1, bar: 2, baz: this.foo + this.bar}
#398 #1066533
Какой сейчас уровень js для фронтенд мидла? На реакт или ангуляр однохуйственно, без мобилок.
#399 #1066536
>>1066505

>let obj = {foo: 1, bar: 2, baz: this.foo + this.bar}


>


нет
15 Кб, 733x475
#401 #1066543
Есть сайт.
https://www.livejournal.com/

Есть форма создания нового поста
https://www.livejournal.com/update.bml

В ней 2 редактора, один визуальный, другой с рав текстом так сказать.

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

Как это делать из каждого редактора в отдельности мне понятно.
Но вот как добиться консистентности, ведь, их содержимое, не сходится (/br) опускаются в текстовом редакторе.

Мне интересно, там есть где-то какой-то хитрый объект хранящий текст для обоих вариантов, или они тупо синхронизируются при переключении(копируют один из другого)?
24 Кб, 202x287
#402 #1066569
Посоны, TypeScript или Flow?
Какие у них преимущества/недостатки?

Алсо, не понял одну хуйню из этой статьи https://habrahabr.ru/company/ruvds/blog/323612/

>Через некоторое время мы пришли к двум вариантам — TypeScript и Flow. Оба обещали дать нам статические типы для улучшения контроля над кодом, но одного этого было недостаточно. Мы хотели использовать всю мощь ES6 и будущих версий языка. Flow, по сути, это статический анализатор кода, что означает, что нам пришлось бы использовать транспилятор для всего нашего ES6-кода, но применяя TypeScript, который является надстройкой над JavaScript, мы получили бы и статические типы, и поддержку большинства последних возможностей ECMAScript.


Не понял как у них различается поддержка новых фич ES.
Вроде бы наоборот, новые фичи легче поддерживать Flow, т.к. он только типы анализирует (транспайлерит Bable, просто удаляя Flow-код). А TypeScript и типы проверяет и в JS транспайлерит.
#403 #1066573
Задача: вывести 200 кругов разных цветов размерами от 50 до 150 пикселей. Проблема: круги отображаются не друг под другом, а друг на друге. В коде страницы показано, что див записывается внутрь дива.
В чем ошибка?
#404 #1066574
>>1066573
https://jsfiddle.net/g9a8ubzu/
Забыл, извините
#405 #1066579
>>1066573
В том что тебе по ебалу надо дать за такой код.
Делай https://jsfiddle.net/9ywxvc2s/
#406 #1066591
>>1066579
Только начал изучать по курсу от специалиста, поэтому пытаюсь обойтись тем, что там дают, для выполнения заданий.
Спасибо за решение
#407 #1066623
>>1066574
Во-первых, выкинь к хуям курс, который учит создавать элементы плейн текстом и потом добавлять их через document.write.
Во-вторых,

>В коде страницы показано, что див записывается внутрь дива.


Ну а ты удали style="<...>;" из своего примера, оставив чистый div, и посмотри, чему равно str, сразу всё ясно станет.
#408 #1066670
>>1066623
У специалиста первый уровень чисто для понимания основ, второй уже для браузерных фич, документ райт на первом.
Спасибо, увидел ошибку.
#409 #1066672
Че насчет styled-components думаете? Вроде збс же, не?
#410 #1066691
Как принять охуенно большой json файл?
Какая-то ошибка с Content-Length, пропадает, если уменьшить размер данных.
#411 #1066692
>>1066691
Что такого ты там передаешь? Не разбить на бэке?
#412 #1066694
>>1066691

>Какая-то ошибка


Её как-то исправить можно.
#413 #1066711
>>1066691

>Как принять охуенно большой json файл?


Негоже выполнять CPU-intensive задачи на ноде, не для того цветок Joyent растили.
#414 #1066742
>>1066691
Та же хуйня, постоянно мучаюсь. Жаваскрипт по-прежнему годится только для написания тудулистов и дропдаунов.
#415 #1066744
>>1066742

>дропдаунов


Спешите видеть: один даун уже, походу, дропнулся с JS галеры.
#416 #1066746
>>1066744
ЖСмакаке подорвало.
#417 #1066748
>>1066744
Плак-плак, обидели джаваскриптера. Иди маме пожалуйся, тварь.
#418 #1066749
>>1066744
Швитой джеэс оскорбили, кудах!
#419 #1066785
>>1066746
>>1066748
>>1066749
Почему семены настолько тупые, что даже тайминги не могут выдержать?
#420 #1066803
>>1066785
Хуя ты бля. Выдержал тайминг, прежде чем обкончать твой ебальник, скотина блядь тупая.
#421 #1066810
>>1066785
Дрочил тебе на лицо с перерывами.
#422 #1066811
>>1066785
Вот полудурок-то блядь, тебе несколько человека обмалафили рожу, а ты визжишь, что это был один. Тебя полюбэ опустили, понимаешь ты это, джесодрянь?
#423 #1066816
>>1066811
Нет, я мимо
#424 #1066817
>>1066691
Пхп возьми
1 Кб, 237x121
#425 #1066834
Аноны, как получить что-то типа пика

Создаю элемент x = dоcument.createElement('div')
Хочу поместить его в форму textarea
Пишу dоcument.querySelector('textarea').value = x
В ответ мне в поле textarea выводит [object HTMLSelectElement]
А мне нужно чтобы было <div></div>
Я понимаю с чем это связано, но не помню как решается

Это просто пример на 1 переменной, а так у меня в textarea будет вставлять html код сгенерированный циклом
#426 #1066840
>>1066834
dоcument.body.innerHTML
#428 #1066846
Какую либу скачать, чтобы добавить дерево в ноду. Не хочу свои костыли писать.
#429 #1066847
Здравствуй, анон. У меня 2 вопроса. С меня тонны нихуя

- Как выполнить код в Atom'e?

- Что думаешь об уроках на hexlet?
#430 #1066856
>>1066844

>outerHTML


Спасибо анон, а разве это не "не рекомендуемый" метод?
#431 #1066857
>>1066691
>>1066742
Вы там что передаёте-то вообще? Только что проверил, 176395661 байт жсона спокойно передалось.
#432 #1066862
анончики, подкиньте проверенный список алгоритмических вопросов (с решениями желательно), которыми обычно ебут мозги на интервью в конторах
#433 #1066864
>>1066847
там был пакет с сервером, не помню как называется
#434 #1066898
meteor обновите блеать!
#435 #1066901
>>1066898
В рашке его не юзают.
#436 #1066911
>>1066857

>168 метров передал


Это данные авторизации? 1 ГБ передай, потом поговорим.
#437 #1066914
у вас тут какие-то вопросы уровня ДЦПшника.
#438 #1066919
а тем временем реакт 16 вышел из беты. продолжаем ржать над безработными вуесосами и легаси аналгулярщиками
#439 #1066921
>>1066919
хайпошлюшка
#440 #1066930
>>1066919
РАссказыл бы лучше че там нового.
#441 #1066946
>>1066919

>легаси аналгулярщиками


>реакт не совместим с вебкомпонентами


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


>легаси

#442 #1066953
Аноны, есть один div, в нём есть 2 input, если я хочу в него добавить span, я пишу appendChild, но это добавляет его в конец, а как сделать, чтобы он встал перед этими 2-мя input?
#443 #1066954
>>1066953
Приведу живой пример

Есть
<div class="block">
<input type="checkbox"> <input type="checkbox">
</div>
Как вставить <span>Текст</span> перед этими input? appendChild добавляет его после этих input.
#444 #1066964
>>1066954
Уёба, это гуглится за 4 секунды. Просто убейся нахуй.
#445 #1066980
>>1066964
Хорошо злой дяденькапидорас, я знаю про insertBefore, но я не могу понять.

Пишу
x = dоcument.querySelector("div").innerHTML;
y = dоcument.createElement("span");
y.innerText = "Текст";
dоcument.querySelector('div').insertBefore(y, x);

И это очевидно не работает, потому что я не могу понять как правильно.
#446 #1066982
>>1066980
Сделай консол.лог(тайпоф х)
Вряд ли он может инсёртить что-то перед строкой. Тебе нужно, чтоб х был объектом ХТМЛЕлемент.
3 Кб, 167x76
#447 #1066984
154 Кб, 900x900
#448 #1066994
>>1066543
Ладненько, вы раки и не лечитесь.

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

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

И того, слушать и textarea и CKEditor.

Потом html из CKEditor немного пропарсивать, и готово.
Пидарасы. Хоть бы кто ответил.
#449 #1067004
>>1066954

>Как вставить <span>Текст</span> перед этими input? appendChild добавляет его после этих input.


>


https://jsfiddle.net/et9os7p8/
#450 #1067036
Пилю потихоньку свой говнокод, понадобилось скрывать и показывать блок в зависимости от того, правильно ли введен логин/пароль, а проверяю правильность я пыхой. Так вот, как по-человечески связать пыху и js? Единственное что я надумал это чтобы при клике на кнопку, после обработки логина, сервер посылал жсу результат проверки логина/пароля, а жс уже в зависимости от этого либо показывал блок либо нет. В общем подскажите как это правильно делают.
#451 #1067057
>>1067036
Аякс
#452 #1067067
Игра.
Есть игровое поле состоящее из клеток. Есть массив содержащий объекты существ, зданий, ресурсов, пустые пространства, на каждую клетку. Каждый кадр цикл проходит по массиву и обновляет его согласно совершенным действиям его объектов и отрисовывает на игровом поле.
Правилен ли такой подход? Ведь если к примеру два существа будут в одном ходу поедать одно и тоже растение, то тот, кто будет находится раньше в массиве, тот и будет всегда есть. Как решить эту проблему?
#453 #1067090
>>1067067
Либо разруливай конфликты, путем откладывания действий, либо забей хуй.
#454 #1067093
>>1066946

>вебкомпонентами


>как будто кого-то это ебет

97 Кб, 1267x378
#455 #1067105
>>1066911
Ну если ты передаёшь 1Гб json'ом, то ты немного ебанутый, я бы сказал, но вот, пожалуйста, никаких проблем с Content-Length'ами. Другое дело, что нода такие json'ы обрабатывать не может, а фф выдаёт allocation overflow.
#456 #1067110
>>1067105
нода может если ранить с правильными флагами, другое дело что долбаёбы её изначально не правильно готовят
node --max-old-space-size=4096 dolbajobus.js
#457 #1067128
>>1067110

>нода может если ранить с правильными флагами


Можно малой кровью обойтись (сиречь ограниченными ресурсами) и без анальных флагштоков, если юзать стримы для дампа запощенной хуйни и ее последующей сериализации. Другое дело, что для ньюби это совсем уж запредельный хардкор.
#458 #1067130
>>1067128

>последующей сериализации


Десериализации, конечно же.
Бастропочин.
#459 #1067135
>>1067128
только вот всем впадлу даже это прочитать https://github.com/substack/stream-handbook проще сказать, что нода хуйня и они ушли в go :)
#460 #1067190
>>1061488

>чому в этой залупе this указывает на windows?


Пушто 10ка это троян.
56 Кб, 512x512
#461 #1067210
Я нипонил, этот ебаный ишак 11 вообще иконки по типу пикрелейтед не открывает?
sage #462 #1067211
>>1067210
Падла, теперь открыл. А ico расширение не может. Папу маму его ебал
#463 #1067214
По работе нужно фронтэндом заняться. Сам ЖС вроде освоил, скажите книга Стояна Стефанова Паттерны ещё актуальна, или ES2015 решает большинство проблем?
#464 #1067220
>>1067214

>освоил


Тогда поясняй >>1061489
#465 #1067234
>>1067220
совсем уже даун и не можешь в дебаггер глянуть куда проебался this?
#466 #1067236
>>1067234
Я в него заглянул, а там твоя мать моется.
64 Кб, 900x900
#467 #1067293
Почему javascript такой уебанский, зачем столько магии и как в ней разобраться, почему все настолько сложно и не очевидно, почему эти цепочки возвратов тянутся по тысячам файлов, нахуя эти бабели, вебпацки и прочая хуета, которая друг в друга долбится интегрируется, как это все организовать и не поломать?! ПОЧЕМУ БЛЯДЬ НЕЛЬЗЯ ПРОСТО ВЗЯТЬ И НАЧАТЬ ПИСАТЬ ПРОЕКТ И ИМПОРТИРОВАТЬ ФАЙЛЫ, ПОЧЕМУ НУЖНО ТОННЫ ГОВНЯНЫХ БИБЛИОТЕК ПОСТАВИТЬ???
#468 #1067296
>>1067293

> зачем столько магии


Магией молодняк называет спеку, которую даже ни разу не удосужились открыть?
#469 #1067300
>>1067293
так ты не пытайся все разом проглотить-то
потихоньку
69 Кб, 600x960
#470 #1067307
Анон, поясни, а как по простому дать клиенту возможность редактирования его spa на реакте ком-нибудь? Ну там фоточку поменять или текст.

Мне чето в голову не приходит ничего кроме как завести вордпресс на бэке, там вроде есть json api и вся хуйня
#471 #1067318
>>1067293
Да, блядь, оффициально двачую, для решения каждой мельчайшей задачи в жс надо подключать отдельную перделку, половина из которых забагована и давно заброшена авторами.
#473 #1067327
Почему хромопера не дает сохранять в локальное хранилище с оффлайновых страничек? Чем это лечить? Хочется написать приложение в виде странички html, которое может одинаково работать в онлайне и оффлайне в большинстве браузеров. Для удобной работы приложения нужно хранить настройки у клиента, а опера не дает это делать, если запустить приложение с диска, и даже блочит весь скрипт. В хроме не тестил, возможно у него та же проблема.
#474 #1067366
>>1067293

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


так че ты на сишке 98 не пишешь?
5 Кб, 442x212
#475 #1067383
>>1067220
man bind
#476 #1067400
>>1067366

>так че ты на сишке 98 не пишешь?


вот заадоптится васм как следует и буду писать
9 Кб, 364x274
#478 #1067404
Блять а схуя посреди кода вдруг отказывается работать квериселектор на осле11?
#479 #1067446
>>1067404
В колбэке foreach не робит квериселектор, ну пиздец. Ну нахуй так жить?
#480 #1067453
Вы что, больные? Нахуя на js пишите, когда Бог дал вам dart?
#481 #1067456
>>1067453
бог нам и elm дал например, но нам то в команде надо работать
а там только js
#482 #1067463
>>1067453

>dart


>даже сам гугл не использует для ангуляра

#483 #1067466
>>1067463
Angulardart
#484 #1067496
>>1067318

>надо подключать отдельную перделку


А попробовать самому эту трёхстрочную функцию написать не?
#485 #1067499
Ребят, поясните. Я UX/UI дизайнер, есть такая программа как framer ( https://framer.com/ ). Нужна она для создания интерактивных прототипов непосредственно кодом. Суть в том что она coffeescript компилирует в JS. Собственно вопрос, что есть coffeescript (я почитал но все же интересны подводные), трудно ли его учить, нужны ли знания js-a для его изучения (если нужны, сразу нахуй фреймер).
#486 #1067511
>>1067499
coffeescript это просто javascript с питонообразным синтаксисом.
#487 #1067513
>>1067511
Ебать, как же я не подумал. Ну все теперь ясно.
продолжаю питать надежду в помощи
#488 #1067517
>>1067499

>нужны ли знания js-a для его изучения


да
#489 #1067518
>>1067513

>надежду в помощи


нахуй сходи, дауна кусок, дизайнер он блять
#490 #1067521
>>1067518
Маму твою ебал петушара очкастая.

Так уже и вижу как ты прыщавое чучело сидишь и с умным ебалом ни нужного отщепенца общества:
- НУ ЭТА ПРОСТА ПИТОНААБРАЗНЫЙ СИНТЕКСИС ТАЩЕМТА ПОНЯТНА

Как сисадмин прям, чмо попущенное задрочилу хуету которую каждый даун осилит но из-за нехватки времени оставляет это людям которые более компетентны и строит гения. ТИпа ну тупые блин эт ж очевидна)))

Пошел нахуй короче черт
#491 #1067548
>>1067513
Ну а что ещё-то можно сказать?. Да, для изучения джаваскрипта нужны знания джаваскрипта. coffeescript это джаваскрипт в другой кофточке.
#492 #1067553
Нормально ли на сервере шарить промисы между разными запросами?
Допустим, если мой сервер при запросе скачивает данные откуда-то, а в это время приходит второй запрос на те же данные, я просто вижу уже имеющийся промис и "присасываюсь" к нему, вместо дублирования.
Как-то так: https://repl.it/Lkut
#493 #1067562
>>1067521
хуя тупой даун подорвался на ровном месте пиздос просто
#494 #1067574
>>1067548
А почему тогда сделали на кофескрипте для дизайнеров? Хуйнули бы сразу js.

Ну ладно, раз нужен js то впизду, буду дальше в principle картинки анимировать.

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

>>1067562
Ты по фактам опущен.
#495 #1067577
>>1067574

>А почему тогда сделали на кофескрипте для дизайнеров


Синтаксис упрощен.
#496 #1067582
>>1067574
А чем тебе так js-то не нравится, что ты готов был учить какой-то абсолютно неизвестный тебе coffeescript, а узнав, что это надстройка над js — сразу нахуй?
#497 #1067602
>>1067574

>Ты по фактам опущен.


лол, опущенный тут только ты
#498 #1067604
>>1067293

> зачем столько магии


магия в пайтоне, в жс это уёбищный дизайн
#499 #1067619
Антоши, как вкотиться в опенсорс?
#500 #1067620
>>1067619
Берешь и вкатываешься. В чем вопрос то?
#501 #1067641
>>1067620
типа кто то выкладывает ишью и ты ее решаешь и делаешь ПР?
#502 #1067643
>>1067641
Во всех нормальных проектах есть contribution guide. Возьми да почитай.
#503 #1067650
>>1067643
не сочтите за наглость, а подскажи пару таких актуальных проектов, чтобы вкатиться
#504 #1067651
>>1067521

>Я UX/UI дизайнер


не тот очкастый, но обоссал бы тебя и отпиздил, выебав на твоих глазах отрезанную голову твоей матери. если ux дизайнер не может в фронт в 2017 - ему место на свалке. а теперь уебывай в /fem/
24 Кб, 390x249
#505 #1067653
>>1067446
А я все починил. А я все починил!
#506 #1067654
>>1067650
Вкатываться надо в том, что лично тебе интересно.
#507 #1067655
>>1067653
рассказывай, что делал, как докатился до такого
#508 #1067674
>>1067654
Например
100 Кб, 1114x494
#509 #1067818
Они там в своей асане совсем ебанулись или как?
#510 #1067824
>>1067818
а ты хотел бы чтобы там была простыня из безымянных дивов?
#511 #1067840
аноны, написал приложение на angular 2. но на страничке никакие компоненты не отображаются. из-за чего так может быть?
#512 #1067886
Двач, какого хера в моём сайте не работают: fadeIn(), fadeOut(), animate() и прочие. Тупо нет анимации. Например, кнопка вверх:

$('html, body').animate({
scrollTop: 0
}, 600);

Анимации нет, и всё, что делает этот код - просто резко скролит страницу наверх без анимации. Шо я мог отключить при разработке? Грешил на Velocity, снёс нахуй - не помогло. Я уже заебался двое суток искать эту злоебучую причину. Может сталкивался кто?
#513 #1067890
>>1067886
Блэт, сука. Только напишешь куда-то свой ебанутый вопрос, так он сразу и решается. Кароч, jQuery Easing почему-то блокировал всю jQuery-анимацию.
#514 #1067960
>>1067674
Например, идёшь на гитхаб youtube-dl'а, добавляешь им фичу с возможностью автоматического перезапуска скачивания при ограничении скорости со стороны контент-провайдера, потому что для себя уже написал это и хочешь поделиться. Тебе указывают на пару ошибок, ты их фиксишь, и всё, дальше тебя почти год игнорят.
А вот за неимоверный вклад в виде фикса одной ссылки на апи какого-то из сайтов предлагают вписать своё имя в список контрибуторов!
#515 #1068000
>>1067582
Слишком много времени на него уйдет, я ж не погромист. CSS\HTML знаю, а джс сложно 100% и потребуют по крайней мере для меня много времени на обучение основам.
#516 #1068002
for (var i = 0; i < YobaFunction("2ch"); i++)
{
console.log("hello");
}

У меня вопрос: значение YobaFunction("2ch") вычисляется один раз и можно так и писать или оно вычисляется при каждой новой итерации и по-хорошему её нужно закэшировать в какую-нибудь переменную, чтобы было

var cacheLvlB = YobaFunction("2ch");
for (var i = 0; i < cacheLvlB; i++)
{
console.log("hello");
}
#517 #1068012
>>1068002
Пилю лайфхак: подавляющее большинстве кода (а уж тем более джаваскрипт) можно запускать, не опасаясь при этом сжечь компьютер!
https://repl.it/LpEH
#518 #1068016
>>1068012

ок, каждый раз вызывает... что собственно норм, так как данные для for < i могут меняться динамично
2 Кб, 164x174
#519 #1068023

>Этот тред посвящён главному языку будущего - JavaScript


>языку будущего - JavaScript


Нас ждет гримдарк страшнее вархаммера?
#521 #1068067
Перекат >>1068066 (OP)
Перекат >>1068066 (OP)
Перекат >>1068066 (OP)
Перекат >>1068066 (OP)
Перекат >>1068066 (OP)
#522 #1068074
>>1068012
че тролеш че я тебе сделол
Спасибо
#523 #1068802
Двач, какого хуя нельзя пушить что-либо в массив, по которому сейчас работает цикл? И чо с этим можно придумать?
#524 #1069559
>>1063600
Я щас какрас вкатывался в vuejs и webpack задавай свои ответы может подскажу чем то. В webpack'е если не ошибаюсь можно сделать вроде такого ...output: '[name].js' но это не точно.
#525 #1069561
>>1063652
Да и стили там можно отдельно паковать... Вебпак не хуже gulp'a но и не проще в использывании. Но вроде лодеры там есть на все случаи жизы
#526 #1072033
Нубский вопрос, но что-то не могу нагуглить.

Есть обычная img-картинка. Пользователь может выделить ее мышью. Как навесить на это обработчик? onselect и onselectstart не работают.
Тред утонул или удален.
Это копия, сохраненная 17 октября 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски