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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
JavaScript #89 #1074974 В конец треда | Веб
Ссылка на прошлый тред: >>1068066 (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/ для серверного кода.
#2 #1074979
>>1074974 (OP)
Вопрос про React.
Как мне вытащить данные из локального файла? В примерах нашел про JSON, а если другое расширение?
sage #3 #1074982
>>1074979

> 2017


> js


> Работаем с фс с помощью библиотеки для рендеринга



И почему я не удивлен?
#4 #1074984
>>1074974 (OP)

>Промисы



не вдуплю что-то, почему после reject на 124 линии происходит срабатывание then и вывод на 74 линии ожидаю что не должно? инб4 SockGetPostById ссылка на 110 линию
110 Кб, 746x774
#5 #1074996
>>1074984

ок я похоже понял, reject на клиенте, на 124 линии теряет контекст, так как это коллбек, который исполняет сервер на 67 линии пик... лол и как быть тогда?
#6 #1075001
>>1074996

это баг?
#7 #1075002
>>1074979
вопрос ваще не про react.
#8 #1075013
Котаны я не понял, вторая часть Кантора про путешествия по dom что бля еще сложнее чем первая штоле? Столько то там хуйни, пиздец, помойму даже прототипы легче были
210 Кб, 1024x768
#9 #1075026
>>1074996
>>1074984
>>1075001

лол ок, кому интересно, проблема в типах, я проебал на сервере пик promise.2.png на 67 линии кавычки, их не нужно ставить, иначе приходит тип "строка":

> {error: "404"}



естественно на 122 линии пик promise.png проверка строгим оператором === не пройдёт.

теперь всё ок
#10 #1075050
>>1074831

>не могу понять зачем нужен this и что он делает.


this это очень конкретная штука, которая решает очень конкретную задачу.
ты к ООП уже приступил?
#11 #1075069
>>1075013
Ничего особо сложного там нет. Если не понятно, скачай на Рутрекере его видеокурс, где он все подробно разжевывает.
#12 #1075207
Не могу ни одну задачу на кодеварс решить. Я совсем тупой?
#13 #1075211
>>1075207
Боюсь что да.
#14 #1075297
>>1074831

>не могу понять зачем нужен this и что он делает.



Пиши в консоль браузера:
Object.prototype.print = function() { console.log("printing", this) }
А потом развлекайся
(1).print()
"hello".print()
({hello: "world"}).print()

This это объект на котором вызывается функция через точку.
Чаще всего люди переживают за потерю this. Это происходит, когда функцию вызывают не через точку, а отрывают от объекта. Функцию можно передать как и любое другое значение, потому что js — функциональный язык.
Про явную подачу какого-то значения в this можно почитать,
загуглив на MDN bind, call, apply.
Отдельно можно почитать про объекты врапперы у примитивных значений.
#15 #1075299
>>1075207
Пытался раньше выполнить пару задач напомню где, совсем не мог ни до чего додуматься. Потом начал читать "Выразительный JavaScript" и там после каждой главы даются задачки, вот их я уже смог решать, поглядывая снова и снова в содержание главы. Теперь изредка захожу на кодеварс и спокойно, иногда не очень, но все решаю.
Так что, возможно, у тебя ещё не выработалось мышление программированием.
#16 #1075314
>>1074831

If the new keyword is used when calling the function, this inside the function is a brand new object.
If apply, call, or bind are used to call/create a function, this inside the function is the object that is passed in as the argument.
If a function is called as a method, such as obj.method() — this is the object that the function is a property of.
If a function is invoked as a free function invocation, meaning it was invoked without any of the conditions present above, this is the global object. In a browser, it is the window object. If in strict mode ('use strict'), this will be undefined instead of the global object.
If multiple of the above rules apply, the rule that is higher wins and will set the this value.
If the function is an ES2015 arrow function, it ignores all the rules above and receives the this value of its surrounding scope at the time it is created.


codeburst.io/the-simple-rules-to-this-in-javascript-35d97f31bde3
#17 #1075327
>>1075297
>>1075314
все это тупо мнемонические правила для макак без понимания сути проблемы которую решает this
#18 #1075400
>>1075297

>зачем нужен this



this ссылается на контекст объекта
#19 #1075412
Сап двач, реализую первый серьезный проект на чистом js, есть ли функция постоянного хранения данных на js
#20 #1075414
Сотни литров нефти тому, кто поможет мне вытащить значения из papaparse.
В общем парсится csv, в котором console.log выводит значения. Как мне их сохранить в переменную, я может вообще дурак?

papaparse.parse(myData, {
download: true,
delimiter: '\t',
complete: function (results) {
console.log(results.data);
}
});
#21 #1075457
>>1075412
переменная = results.data ?
Если ты надеешься, что можно как-то через var data = papaparse.parse(...), то нет, функция выполняется асинхронно, и данных сразу после вызова ещё нет, а как только есть, вызывается указанный тобой в complete коллбэк.

>>1075412
Што? Для постоянного хранения, нужно эти данные записать в постоянное запоминающее устройство, вроде бы очевидно.
#22 #1075458
>>1075414
closures, mazafaka. can you into it ?
#23 #1075489
>>1075457
>>1075458
Все, пацаны, да я просто не прочитал документацию нормально. Засунул всю эту хуйню на выходе в отдельный метод. Спасибо.
#24 #1075581
Пиздец, открыл резюме на хедхантер а там хуева туча пацанов по 20 лет фуллстек и жс тебе и пхп и все технологии, а я тут сижу в 27лвл кантора читаю, работая в сапорте. Пиздец ребята, моя мораль убита. Минск.
#25 #1075588
Блять это не дает мне покоя. штоделать штоделать. Сколько из них интересно реально являются профи и знают нативный жс, а сколько просто пиздаболы много на себя берущие ?
#26 #1075608
>>1075581
>>1075588
Ты главное по науке всё освой, тогда годам к 40 сможешь пояснять всем этим недомеркам насколько они не правы.
#27 #1075619
А че, этот ваш фреймворк "ванила жс" уже загнулся, да? да?
#28 #1075622
>>1075588
Разумеется, второе
#29 #1075647
А где Кантора в pdf можно взять? Я знаю, на торрентах есть, но оттуда я не могу скачать из-за некоторых обстоятельств.
#30 #1075651
>>1075647
vkdocs
#31 #1075691
>>1075327
Лол, оно не решает проблемы, а создаёт их. Неявные контексты нахуй не нужны. Методы везде где можно лучше заменять функциями. Антихайп!
#32 #1075729
>>1075691
ну так это же гибкость
#33 #1075739
>>1074974 (OP)
Здравствуйте, у меня снова вопрос по XML Http Request. Почему при асинхронном запросе к другому сайту, ответ возвращается дважды?
Т.е. у меня обработчик стоит xhr.onreadystatechange = function(){
console.log(xhr.response);};

И console.log почему-то дважды возвращает ответ один и тот-же. ЧЯДНТ?
#34 #1075746
>>1075739
Потому что onreadystatechange это не (окончательный) ответ. В доки загляни да прочитай, что это за событие. (И на onloadend по пути тоже обрати внимание.)
#35 #1075750
>>1075746
все пофиксил, благодарю
#36 #1075887
>>1074974 (OP)
В этом посте, называл три видео курса от Frontend Masters:
>>1074745
Из трех удалось найти только The Good Parts of JavaScript and the Web. Может кто посоветовать альтернатив их Introduction to Web Development? Ну и раз уж на то пошло, Introduction to JavaScript Programming тоже.
332 Кб, 600x849
#37 #1075890
Чуваки, привет!
Короче кое-как осилил учебник Кантора. Много где еще туплю, но в "общем" язык понимаю.
Что интересно - как освоил базу - осилил главу современных возможностей языка, и сразу стал пользоваться. стрелки, промисы, классы все это.
Сейчас начал изучать nodejs, доставляет. Но возникла проблема - я нихуя не понимаю самой логики http , сокетов и прочего.
Подскажите учебник или ресурс где все это поясняется.
Про заголовки, методы POST/GET и с чем его жрут.
#38 #1075894
Помогите с вёрсткой пожалуйста.

https://codepen.io/anon/pen/xXaveG

Есть вертикальное видео, хочется его повернуть и увеличить на всю страницу, насколько это возможно (по наименьшему из параметров). Собственно, transform: rotate(90deg) и далее вычисление необходимых размеров элемента (со свапнутыми высотой и шириной) и сдвига всё вроде бы делают, но все последующие элементы находятся в жопе. Получается какая-то абсурдная ситуация, что высота элемента влияет на его ширину визуально, но на расположение элементов она-таки влияет до сих пор как высота, в итоге остаётся куча вакуума под видео.

По ссылке 3 варианта: (1) изначальный, условные кнопки прямо под видео, (2) соотношение сторон видео больше, чем обратное экрана, (3) -//- меньше -//-.
Вот в (2) и (3) всё коряво, а хочу, чтобы кнопки были прямо под видео, как в (1).
position: absolute пока что не хочется, потому что там не три кнопки идут после видео, да и вручную за всем следить придётся. Или это единственный вариант, делать прозрачный <div> с реальными размерами повёрнутого видео для позиционирования всего, а само видео делать абсолютом?

(Видео будут все разных размеров, изначально неизвестных, вполне могут быть даже и не вертикальные, так что вся эта хрень через ЖС меняться и считаться будет по нажатиям на кнопки, разумеется.)
131 Кб, 999x912
#39 #1075911
>>1075207
бомбишь сначала 8-е каты, там задачи уровня перемножить два числа, перевернуть массив и т. д.
после прохождения смотришь на решения белых людей, берешь их приемы на вооружение
???
профит
#40 #1076166
>>1075327
нет никакого глубинного смысла у this. Это всего лишь попытки добавить огрызки оопа из-за давления моды.
#42 #1076285
Хочу перекатиться с С/С++ на JS.
Скажите как стать петухом?
#43 #1076314
>>1076285
Но зачем?
#44 #1076315
>>1076285
ниишников-байтослесарей не принимаем.
#45 #1076318
>>1076314
Думаю, что я пидор. Стал дрочить на трапов, хотя долго противился этому желанию, но не могу сопростивляться и наяриваю во всю. Нужно и язык теперь под стать себе выбирать...
#46 #1076328
Котаны, подскажите будьте добры: вот ситуация, написал я на , node js простейший сервер который слушает порт. В общем в ответ на запрос я с помощью fs считываются html файл из своего каталога, и передаю его клиенту . Эти данные до клиента доходят, тоесть я браузером открываю страницу, но как передать к этому файлу css стили ? Которые отдельным файлом.
Если указать в передаваемой файле полный урл места где находится файл css и сделать обработчик на сервере - чет не работает. Но я вообще не уверен что это делают таким образом. Стаж node js три дня
#47 #1076388
>>1076328
Не пробовал учебник почитать?
#48 #1076414
>>1076328
сделай на своем сервере папку для static assets (в npm найдешь нужный модуль, если у тебя express то оно есть из коробки)
допиши в свой html линк на css, который и положи в свою папку статики.
С картинками то же самое.
#49 #1076534
>>1076328

>Но я вообще не уверен что это делают таким образом.


Именно так и делают, а как иначе? На сервер приходит запрос с урлом, он его обрабатывает. Никакой магии там нет. Вот посмотри на примитивный сервер, отдающий статику: https://www.npmjs.com/package/node-static

>чет не работает.


наговнокодил, значит.
15 Кб, 500x444
#50 #1076537
>>1076328

релейт
#51 #1076553
>>1074974 (OP)
Здравствуйте снова. Почему JS код с xhr запросом работает в консоли нормально, а при добавлении его в html не работает ничего? И как это пофиксить?
#52 #1076595
>>1076553
потому что хтмл ты выполняешь локально
открой консоль оно там ошибку безопасности выкидывает. загугли ее. надо будет изменить политику безопасности браузера или запускать хтмл страницу на сервере
64 Кб, 500x606
#53 #1076597

>chan



не могу понять что то, как обозвать класс одним словом для событий show answer + show parent post?

пик рандом
#54 #1076603
>>1076597
showAnswerAndParentPostClass
63 Кб, 604x453
#55 #1076604
оставил несколько откликов на hh.ru, сижу теперь волнуюсь, вспоминаю МЫ ВАМ ПЕРЕЗВОНИМ бугурт треды. очень жоска
#56 #1076660
let test = {bicycle:{brend:"Stels"}};

let foo = "bicycle";
let bar = "brend";
console.log(test[foo][bar]); //Stels

Можно ли обойтись одной переменной?
let baz = ?
console.log(test[baz]); //Stels
#57 #1076684
>>1076604
Хочешь тебя успокою?
#58 #1076685
>>1076684
чую подвох, но давай хули
#59 #1076702
>>1076660
Нет. По крайней мере, при таком объявлении test'а. Потому что test[foo] возвращает один объект, и уже из него берётся значение атрибута bar, а изначальный test уже совсем не при делах.
#60 #1076765
Почему не работает постановка в строку?

Снова со своим убогим примером с document.write, но почему при выполнении данного примера не выполняется подстановка в строку?
https://jsfiddle.net/1ppq5fkd/
#61 #1076775
>>1076765
кавычки другие, епт
#62 #1076814
Напомните как в react+redux правильно делать с параметрами которые нужны только одному компоненту. Вроде размера размере ресайзбл панелей.
Не хранить данные в общем редакс-сторе, а создать нормальный React.Component-класс (а не функцию).
#63 #1076817
анон поясни есть норм курсы(слитые) по js(без дрочки с jquery и прочей хуеты для умственно отсталых, а классные штуки ЕС6) и если такие все таки есть то какие?
#64 #1076863
>>1076817
а что ты против жквери имеешь? отличная библа, исходники - канон годного кода, автор - уважаемый человек, многие идеи ес6 заимствованы оттуда
340 Кб, 480x720
#65 #1076867
Каждый раз когда я смотрю на код JS то мне хочется выцарапать себе глаза.
Я начал программировать на третьем питоне - мне понравилось. Потом я понял что мне нравится программирование и решил что я могу зарабатывать этим делом себе на жизнь, но так как в моей маленькой стране Питон как основной язык мало кому нужен, то решил что Джава(слава богу не скрипт) это мой выбор. Писать на ней мне не так приятно как на Питоне, но не намного. Однако я всегда знал что даже не смотря на то что я хочу писать бэкенд мне все же придется не только изучить чертов JS, но и работать с ним. Без навыков сносной верстки и писанины скриптов на JS я никому не нужен в веб разработке. Как только можно пытался отсрочить этот момент, но, кажется, я никак не смогу ускользнуть от мертвецких объятий Джаваскрипта, от этого ублюдского синтаксиса, мерзейшего вороха фреймворков. Порой кажется что какое бы ты ни назвал слово - если подставить к нему .js то получишь название фреймворка для жабаскрипта. Я изучал структуры данных, паттерны, sql, git, html + css - все чтобы не браться за эту мерзость.js. Черт подери, я почему JS? Уж лучше бы C++ чем это.
#66 #1076869
>>1076867
Не дочитал твой высер до конца, ты Илиаду пишешь или есть какой вопрос по сабжу?
#67 #1076871
>>1076869
Да вопросов нет, все что надо найду на профильных сайтах. Хотел только анонов поблагодарить за подборку материалов в шапке по этому высеру от языков программирования да и только.
#68 #1076875
>>1076871
Если фронт будешь писать - юзай реакт. Минимум боли, мммаксимум отдачи.
#69 #1076876
>>1076867

>ублюдского синтаксиса


синтаксис охуенен, все лучшее из других языков.

>мерзейшего вороха фреймворков


фреймворк это часть стандарта? тогда какое отношение это имеет к языку? не нравится то что в вебе экосистема постоянно меняется - пиздуй в 1с
#70 #1076877
>>1076871
Вдогонку, по реакту, не могу не порекомендовать лояльное сообщество на гиттере: /dev-ua/reactjs
88 Кб, 520x555
#71 #1076907
>>1076867

к слову, JS как такового языка нету. в реальности же есть ecmascript, который в связке с хтмл образует DOM и лишь эта связка назавается тем самый ЖС которым ты пытаешься траллировать
#72 #1076908
>>1076907

>, который в связке с хтмл образует DOM


а nodejs?
#73 #1076912
>>1076908

>nodejs



вангую runtime для диалекта ecmascript, который принято называть JavaScript
#74 #1076931
>>1076660
let test = new Proxy({bicycle:{brend:"Stels"}},{
get(target, prop) {
let y = prop.split('.');
for(let i of y) {
if(i in target === false) return undefined;
target = target;
}
return target;
}
})

console.log(test['bicycle.brend'])
#75 #1076933
>>1076931

>if(i in target === false) return undefined;


>target = target;


target = target 'i'
#76 #1076944
>>1076933

>target = target 'i'



Во, спс, не знал про прокси. Очень круто.
#77 #1076993
>>1076944
Вангую, скоро у тебя внезапно появится проперти с точкой в имени и будет больно.
10 Кб, 535x88
#78 #1077046
>>1076775
С ними тоже не работает, вот что в коде
#79 #1077047
>>1077046
>>1076775
Хром, если что, последний стоит
#80 #1077050
>>1077046
Кавычки блядь не одинарные, и не двойные
а `
#81 #1077052
>>1077046

>"


>'


>`


Это три разных типа кавычек.
#82 #1077054
>>1077052
>>1077050
Внезапно. Спасибо
2 Кб, 581x421
#83 #1077059
>>1077046

>С ними


"ними" — это с какими?

А тебе бы решать проблемы самому научиться. У тебя хоть где-то хоть какой-то подобный код работал? Ты пробовал его сократить до примитивной одной строки, по кусочкам разбирая, где и что ломается? Нахуя вот ты сразу этот хренов луп делаешь, да ещё и до сих пор не отказавшись от document.write'а, зачем сразу столько свойств, зачем сразу функцию подставляешь, рандом используешь, зачем? Почему нельзя хотя бы первый раз по шагам начать собирать всё, если что-то не работает и ещё не разобрался, чтобы знать, где и что может поломаться?

У меня Yf jsfiddle всё заработало, короче (без document.write'а, разумеется). Конструкция `text ${variable} text` та мподдерживается. Но у тебя там много других ошибок есть, исправляй.
56 Кб, 1543x734
#84 #1077076
оче долго не мог заставить себя начать искать работу. наконец отправил несколько заявок и тут казалось бы радостная новость - некоторые ответили. только стоит мне представить себе собеседование, как сразу желание продолжать отпадает. хотя прошел их уже 100 штук. ну почему я такое слабовольное неуверенное в себе хуйло
#85 #1077079
>>1077076
Жми отказаться тогда. С пруфами. Это сделает из тебя волевого человека. Но безработного.
#86 #1077128
А как объявить внутри объекта рекурсивную функцию? Только через геттер? геттеробляди не нужны
#88 #1077256
Котаны, Вы все эти методы по работе с dom наизусть знаете, или просто знаете что они есть, а когда надо смотрите и вставляете?
#89 #1077260
>>1077256
часто используемые запоминаются сами собой за остальными в доки
#90 #1077300
>>1077256
У меня Google вместо памяти.
11 Кб, 358x115
#91 #1077313
Сап, Двачеры. Подскажите, почему в условиях for вторая инструкция является пустой? И почему без неё программа не выполняется?
#92 #1077329
>>1077313

>почему в условиях for вторая инструкция является пустой


Потому что никто не написал её.

>почему без неё программа не выполняется?


потому что вторая инструкция является пустой
#93 #1077331
>>1077313
ее можно опускать, будет тоже самое что while(true) или while(1)
там вообще можно все пропускать типа так
let i =0
for(;;) {
i++
}
#94 #1077332
>>1077329
Если опустить невнятность заданного вопроса, то для чего прописывать эту пустую инструкцию? Почему нельзя её убрать?
#95 #1077333
>>1077331
А их по дефолту 3+ должно быть в скобках?
#97 #1077367
лол седня решил таки почитать sicp и понял что я нихуя не программист, пизда как стыдно, надо было не бросать вуз.
#98 #1077368
Решил сделать таблицу умножения от одного до 10, в чем ошибка?
https://jsfiddle.net/jqb1r8vj/
Ошибка: app.js:5 Uncaught TypeError: Cannot read property 'appendChild' of undefined
#99 #1077371
>>1077368
Разобрался, исправленная версия
https://jsfiddle.net/jqb1r8vj/1/
#100 #1077376
>>1077367
У вас в ВУЗ-е изучали сикп? Чо за ВУЗ, бро?

Имхо, современное российское образование в сфере программизма не годится ни к черту. За очень редкими исключеняими вроде ВМК, ФКН ВШЭ и, наверное, есть еще несколько мест, о которых я ничего не знаю.
#101 #1077382
>>1077376
Саратовский политех на прикладной информатике точно проходили сикп, но я до него не доучился, теперь первые десять глав своим отекшим мозгом осилить не могу, алгоритмы даже открывать очкую
6 Кб, 350x176
#102 #1077385
Каким хуем пикрелейтед выдает функцию после return?
#103 #1077389
аноны, тупой вопрос, но все же. Почему в webpack конфиге работает require функция, она в модуль вебпака вшита?
#104 #1077392
>>1077385
HOISTING

O
I
S
T
I
N
G
#106 #1077396
>>1077385
function f(){
function f(){return 'raz'};
function f(){return 'dva'};
return f()
}
console.log(f())
#107 #1077397
>>1077385
это называется хоистинг. когда ты пишешь что-то типа
hello('world')
function hello(w) {
return 'hello'+w
}
интерпретатор перед выполнением поднимает все декларации функций наверх(собственно именно поэтому ты можешь вызывать функцию до объявления). и под капотом получается что-то вроде
var hello = function (w) {...}
hello('world')
в твоем примере нижнее объявление поднялось и затерло верхнее
5,5 Мб, 432x232
#108 #1077401
>>1077392
>>1077394
>>1077396
>>1077397
Да, не возьмут меня на работу.
#109 #1077404
>>1077385
Блять, нахуя ты такие скрипты вообще пишешь?
Берёшь из пособия "КАК НЕ НАДО ПИСАТЬ НА ЖС"?
Я function-то давно уже не писал.

Сукиблять, надо повесить тех кто дизайнил js изначально.
Нахуярили говна, от которого до сих пор не хотят избавляться в современных стандартах ПОТОМУШО СОВМЕСТИМОСТЬ ЭТО СВЯТОЕ.

>>1077389
Она в nodejs вшита.

>>1076814

>Напомните как в react+redux правильно поступать с данными которые нужны только одному компоненту.


>Вроде размера ресайзбл панелей. Или открытых/свёрнутых узлов TreeView.


>Хранить данные в общем редакс-сторе (что делает например redux-form, хотя зачастую состояние формы до её отправки ничему кроме формы не нужно)?


>Создать нормальный React.Component-класс (а не функцию) с локальным стейтом?


Фикс моего сонного бреда и бамп вопросу.
Можете какую-нибудь статью об этом дать, в доках redux вроде ничего не было.
#110 #1077407
Кстати, чё никто rollup не юзает?
Я тут решил освоить electron+react+redux+material-ui, и gulp с rollup'ом для сборки.
Конфиг роллапа получился куда проще и понятнее чем ебучий пиздец вебпака.
Вроде настроил окружение и сборку ЗА НЕДЕЛЮ, и на этот раз понимаю что там происходит.
#111 #1077409
>>1077407
томуще мы слишком крутые для твоего говна
https://github.com/ericclemmons/terse-webpack
#112 #1077412
>>1077409
Ты ещё 'create-react-app' какой-нибудь накати.
#113 #1077413
>>1077376

Значит, сильно лучше среднего у вас универ. Или препод / кафедра толковые

Если не идет SICP, попробуй может вот этот курс:
https://courses.cs.washington.edu/courses/cse341/13wi/

Там куча общих вещей, 3 языка: ML, Racket и Ruby. Имхо, очень годно.
#114 #1077414
>>1077382

1077413
#115 #1077445
>>1077385

>Каким хуем


Тем самым, которым ты читаешь маны.
#116 #1077465
>>1076204
Фраза вообще ни о чем. Какой нахуй контекст? О чем тебе это слово говорит? Какую информационную нагрузку оно несет? Вода. Воду только мутят, представляя глубокое понимание.
#117 #1077466
>>1077401
Ничего страшного. Небольшой майндфак, который быстро и просто запоминается. Просто слово страшное.
#118 #1077468
>>1076814
>>1077404
В доках сказано что если хочешь - можешь юзать.
На практике - надо смотреть, важный ли это стейт или просто хуйня для внешней красивости. Если это бизнес логика - то в редукс, если же от стейта этого глобально ничего не меняется - можно херачить в рамках компонента.
#119 #1077490
>>1077465

>контекст



содержимое объекта же, дурашка.
#120 #1077495
>>1077465

>Какой нахуй контекст? О чем тебе это слово говорит?


Ты не знаешь значения слова контекст что ли?
Вот контекст нашей беседы сейчас - что такое контекст.
Каждый раз когда мы явно не говорим, что говорим о КОНТЕКСТЕ, мы оба понимаем, что говорим именно о нем, потому что он в данный момент КОНТЕКСТ этой беседы.
То же самое и с this.
#121 #1077537
function YOBA (a, b = 10, c) {
...
}

YOBA(10, DEFAULT_VALUE, -10);

Как корректно в JS реализовать подобное поведение? Мне нужно указать первый и третий параметр, а второй пропустить. YOBA(10, , -10); ничего хорошего не дало.
#122 #1077539
Есть сервер на node.js, который, грубо говоря, делает всего лишь это:
url = "http://www.website.com/video.mp4"
onRequest(req) {
request(url).pipe(res);
}

Иногда связь обрывается с ошибкой "read ECONNRESET". При это иногда прям совсем часто, иногда 0.1% времени.

Правильно ли я понимаю, что разрыв произошёл между сервером и website.com, а не между клиентом и сервером?
Если да, какие вообще есть варианты дебага подобного? Стабильно воспроизвести не могу (одна и та же ссылка как работает, так и нет), сам интернет стабилен (то есть, при нескольких подключениях одновременно обрывается только одно), да и обрывает связь, в любом случае, та сторона. Чаще всего обрывается прям под самый конец передачи файла, когда большая часть видео уже загрузилась.
Если важно, скачивается видео с ютуба с гугловских серверов, то есть не очень-то открытые данные, но не думаю, что они как-то так случайно иногда палят и рвут соединение.
#123 #1077579
>>1077537

>YOBA(10, undefined, -10);

80 Кб, 537x274
#124 #1077580
#125 #1077582
Стоит ли тратить время на просмотр курса Кантора? Он там не повторяет все то, что у него в учебнике написано?
#126 #1077610
>>1077582
Удвояю вопрос. С учетом того что учебник прочел, но конечно вопросы некоторые остались типа зысов, замыканий прототипов и тд
#127 #1077673
>>1077610
Смотрю курс сейчас, никаких вопросов не остается, а когда учебник в первый раз читал, то он показался мне слишком сложным. Но между первым знакомством с учебником и просмотром курса я успел посмотреть другие учебные материалы и попрактиковаться с Node.js.
19 Кб, 1063x344
#128 #1077706
Аноны, поможите. У меня на странице несколько инпутов добавляются с помощью jQuery. Но обратиться к ним с помощью этого же jQuery я не могу, их будто нет. С другими инпутами все нормально, а с добавленными через JS проблема.
#129 #1077714
>>1077706

>JQuery


>2017

#130 #1077722
Парни подскажите как грамотнее организовать такое. В общем страница запрашивает и рендерит некоторый шаблон. Затем пользователь редактирует этот шаблон и страница отправляет идентификатор шаблона и параметры к нему. Я не прошу расскладывать полный процесс, мне бы помогла именно правильная организация. Т.е как правильно идентифицировать элементы для изменения, и как потом собрать ответ. Ну в общих чертах.
#131 #1077724
>>1077714
Ой, да иди ты нахуй. Всегда им пользовался и в эту вашу JS-помойку влезать не хочу.
#132 #1077731
>>1077724
Но ты уже...
#133 #1077735
>>1077706
Вангую, что ты пытаешься к ним обратиться (или повесить что-то на них) до того, как они созданы.
#134 #1077748
пацаны, чет не втыкаю у меня одного не работает таск images их этого репозитория? https://github.com/Errec/pug-sass-boilerplate-starter-kit
консоль пишет что задача выполняется, а в итоге в build/img/ нифига не оказывается
#135 #1077751
Господа, jQuery теперь вообще не нужен? Только если плагины прикрутить или аякс?
#136 #1077764
>>1077582
там пол жизни нужео чтоб все пересмотреть
#137 #1077775
>>1077751
нужен, несмотря на весь хайп вокруг очередного <%generic_name%>-js, большинство сайтов все еще не жквери и по сути он является дефолтной жс-либой на фронте.
Его использование избегают только в новомодных фреймворках, поскольку там вцелом иной подход к разработке и потому жквери ради пары функций делать зависимостью нет смысла.
Для ajax есть axios, все плагины итак уже портированы на популярные фреймворкинекоторые с использованием жквери, впрочем
#138 #1077801
>>1077775
На самом деле, если писать без оглядки на старье, то почти все завезли в коробку. Фетч вместо гет, селекторы и навигация по дереву, только анимаций нет. Хотя тот же ньюйорк таймс вообще на бэкбоне запилен, и им норм.
#139 #1077805
>>1077722
Еще более абстрактно не мог написать?
#140 #1077806
Вечера, жс господа, подскажите как и на чём лучше всего запилить ответы к постам на имиджборде? Имею в виду именно фронт, то есть анимации ссылок на посты и вот это всё.
16 Кб, 184x156
#141 #1077808
Антохи, хелп, есть такая трабла. Не знаю как убрать отступы, что бы на самом сайте не было пикрл
Рилейт код хтммл и жс: https://jsfiddle.net/5wp41pvb/18/
#142 #1077825
>>1077775
Все это говно, которое делают на JQuery, легко запиливается на ванильном JS.
#143 #1077916
Как на дваче обновляются посты раз в 20 секунд и как такое самому сделать?
Скажите хотя бы как гуглить, а то всё что я нагуглил это location.reload(), но это же просто страницу перезагрузить?
#144 #1077922
>>1077916

ajax
j
a
x
#145 #1077951
>>1077775
То есть, жиквери нужно знать только для поддержки легаси?
#146 #1077966
>>1077724
Но ты в самой помойке
#147 #1077967
>>1077951
Даже легаси сейчас ангуляр или бекбон. Jquery просто для нищих
#148 #1077999
>>1077808
Во-первых, дать по ебалу создателю виджета за захардкоженные инлайн стили.
Во-вторых, узнать, что на jsfiddle'е <style> в поле для css писать не надо.
В-третьих, выучить css, чтобы правильно прописывать стили для элементов внутри других элементов
В-четвёртых, ещё разок по ебалу дать.
В-пятых, поставить !important, чтобы не оверрайдился стиль.
https://jsfiddle.net/5wp41pvb/19/
#149 #1078002
>>1077751
Юзать жквери - моветон и перегрузка приложения ненужным устаревшим говном. Все, что есть в жквери, можно сделать на ванилла жскрипт.
#150 #1078049
>>1078002
Да это я понял, хотел удостовериться что не надо трогать эту парашу и можно сразу приступать к реакту.
#151 #1078113
>>1078002

через 3 года:

>Юзать ванилла жскрипт - моветон и перегрузка приложения ненужным устаревшим говном. Все, что есть в ванилла жскрипт, можно сделать на WebAssembly.



вот бы сидеть изобретать велосипеды и получать за это деньги...
#152 #1078120
>>1074974 (OP)
сап! Как заставить прокси перейти на сайт?
#153 #1078133
>>1078120
Волшебное слово сказать, вероятно.

Прокси по определению делает запрос туда, куда ты попросил. Если не делает, значит либо прокси хреновый, либо ты вопрос задавать не умеешь.
943 Кб, 1075x974
#154 #1078159
>>1078133
Я не знаю, что не так спрашиваю? Я пробовал гуглить по теме, но ничего не нашёл. Даже не представляю, что делать в этой ситуации. Надо же как-то решать..
35 Кб, 433x240
#155 #1078191
>>1077999
Спасибо большое, я и вправду ньюфаг в этом. Но остался еще один косяк... пикрл
1. Отображение скрипта в полноэкранном режиме бровзера
2. Как скрипт отображается оконном режиме бразуера - он налезает на другой текст рядом. /да и вообще заметил на разной диагонали монитора скрипт находится на разных местах.
Как фиксить?
1,5 Мб, webm, 720x720, 0:10
#156 #1078204
Вопрос по Ява скрипту
Я делаю расширение для хрома
Допустим я хочу создать дял одного сайта плавающие кнопки, по нажатию которых доолжно происходить действие, аналогичное нажатию клавиши вниз или вверх
То есть представь анон что есть сайт, на котором перелистываются картинки по нажатию клавиш, а я просто хчоу две всплывающшие кнопки с таким же функционалом

Так вот кнопки я создал, протестил, функция нажатия работает с проверкой alert

Вопрос

КАК БРАУЗЕРУ СКАЗАТЬ ЧТО ПРИ НАЖАТИИ НА КНОПКУ Я КАК БЫ НАЖИМАЮ КЛАВИШУ ВНИЗ ИЛИ ВВЕРХ НА КЛАВИАТУРЕ?
#157 #1078207
>>1078204
https://davidwalsh.name/demo/scrolling-sidebar.php

Вот нпример
Тут плавающие стрелки листают страницу вверх и вниз
Но тут функция тупо офсетит старницу, а мне нужно именно сообщить браузеру и сайту , что я нажал клавишу на клавиатуре
#158 #1078209
>>1078204
гуглил?
#160 #1078218
>>1078210
Это вообще не то
Тут ты просто ловишь инфу этой функцией чтобы узнать какая клавиша нажата, а мне нужно через расширение отправить браузеру и самой странице инфу, что я нажал клавишу

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

>>1078209

Гуглил и походу все очень печально
https://stackoverflow.com/questions/6296048/chrome-extension-send-key

> Unfortunately no (it is a javascript problem, Chrome API doesn't provide any help).


> All you can do is dispatch a keypress event (see this question for example), but you can't emulate actual button press. If parent page listens to keypress events, then it will catch it (this event won't have all the info as a real button press event, so it might still not work), otherwise nothing would happen.



https://stackoverflow.com/questions/6296048/chrome-extension-send-key

Тут вообще хуй пойми что наворотил чувак
https://stackoverflow.com/questions/4158847/is-there-a-way-to-simulate-key-presses-or-a-click-with-javascript/4176116#4176116
#161 #1078220
>>1078218

>Это вообще не то


Это ты - вообще не то.
Тебе дали линк на описание события, которе тебе надо генерировать. С описанием параметров этого события, среди которых есть КОД НАЖАТОЙ КЛАВИШИ.

Как триггерить события - гугли, мудак. Они все триггеряся одинаково.
#162 #1078221
>>1078159

>Я не знаю, что не так спрашиваю?


Всё. Нихуя не понятно, что тебе надо. Что ты пишешь, где, откуда и куда попасть надо, чей прокси, чей запрос, нихуя!
#163 #1078222
>>1078220
нет, он очень умный и даже гуглил, а ты дурак и в гугле ничего нет
#164 #1078223
>>1078221
Но я же прикрепил картинку.
#165 #1078224
>>1078223
орууууууууу
#166 #1078226
#167 #1078227
>>1078224
Давайте как-то решим этот вопрос. Надо что-то делать же, наверное?
#168 #1078230
>>1078220

> Как триггерить события - гугли, мудак. Они все триггеряся одинаково



Анус себе оттригери

The .trigger() function cannot be used to mimic native browser events, such as clicking on a file input box or an anchor tag. This is because, there is no event handler attached using jQuery's event system that corresponds to these events.
#169 #1078232
>>1078230
Как в пизду jQuery, хуйлуша.
13 Кб, 640x640
#170 #1078244
>>1078223
Ну на тоже картинку держи тогда.
32 Кб, 341x341
#171 #1078249
>>1078191
Ок оконный и полноэкранный режим исправил вот так
https://jsfiddle.net/5wp41pvb/20/
Вместо % на top и left поставил px
Но осталось это

>на разной диагонали монитора скрипт находится на разных местах


В 19 21 24* мониках разное расположение на странице... антоны, как это исправить?
#172 #1078259
>>1077735
По ходу так и было, но я уже разобрался.
>>1077731
>>1077966
https://habrahabr.ru/post/312022/
А jQuery просто подключил и пользуйся.
#173 #1078274
>>1078249
Фикс, а то не показывается
https://jsfiddle.net/5wp41pvb/21/
#174 #1078289
>>1078259

>А jQuery просто подключил и пользуйся.


Тебе говорят о том, что всё, что делает твой жиквери, уже встроено в браузер и подключать, чтобы пользоваться, ничего не надо.
#175 #1078326
Платиновый вопрос:
Учить jquery или react/angular?
#176 #1078329
У меня есть функция. По клику она создает элемент. На него можно кликнуть. Он должен создать другой элемент. Но он этого не делает. Почему?
#177 #1078332
>>1078326
Учить jquery? Лул. Еще на курсы запишись.
#178 #1078338
>>1078326
j a v a s c r i p t
a
v
a
s
c
r
i
p
t
#179 #1078343
Поясните дебилу почему у меня после отправки формы, появляются 2 формы, при чём во второй остается сообщение, которое я отправил? И как это пофиксить?
https://pastebin.com/KZtBMDzK
#180 #1078352
>>1078343
console.log(data) покажи.
#181 #1078355
>>1078343
Ну ты запринти что там в data'е-то.

>появляются 2 формы


появляются ещё 2, или остаётся старая и создаётся новая?
#182 #1078364
>>1078352
>>1078355
В дате почему-то вся страница.
Появляеться ещё одна форма в которой сохраняется то, что я написал, то есть всего 2 формы. И если я продолжаю отправлять, то отправляется только с первой формы, а вторая всегда остаётся такой, какой она была при первом отправлении.
https://pastebin.com/1g8GL1XW
#183 #1078372
>>1078364
http://www.jsfiddle.net
А так же сократи весь свой код до двух элементов: формы и места, куда твой пост впихиваться будет, без уебанского форматирования.

>В дате почему-то вся страница.


Вопросы к серверу.
#184 #1078377
>>1078372
https://jsfiddle.net/c0psckjg/

Сервер джанговский
#185 #1078378
>>1078377
Забыл кнопку и айди формы добавить, вот апдейт
https://jsfiddle.net/c0psckjg/1/
#186 #1078380
>>1078377

>Сервер джанговский


Да похуй чей, что он должен присылать в ответ на твой сабмит? Присылает он это или нет? "почему-то" — так написано в коде, значит. Зачем ты ему написал возвращаться всю страницу?
#187 #1078387
>>1078380
Так да, я кажется понял в чём проблема.
При GET он рендерит страницу и возвращает пустую форму. При успешном POST отправляет редирект на ту же страницу, но форма отправляется без редиректа.
Но я всё равно не понимаю, что нужно сделать.
#188 #1078422
>>1078387

>Но я всё равно не понимаю, что нужно сделать.


Почитать туториалы предлагаю. Иначе ты тут просто на каждый свой шаг будешь пост писать, потому что у тебя не какая-то конкретная проблема, которую можно решить или с которой омжно помочь.
#189 #1078428
>>1078422
У меня пока нет в перспективах учить жс, просто все кукарекали, что форму в жиквери отправить нихуя знать не надо, вот я и подумал, что сделаю, а на деле, что-то не так всё просто оказалось.
А туториалы можешь какие-то посоветывать? синтаксис немного знаю
#190 #1078442
>>1078428
так ты и

>отправить нихуя знать не надо,


отправил нихуя не зная, то что тебе возвращает сервер к js и jquery не относится, сервер вернул страницу jq воткнул все что вернулось туда куда ты указал

https://simpleisbetterthancomplex.com/tutorial/2016/08/29/how-to-work-with-ajax-request-with-django.html
https://habrahabr.ru/post/241646/
показывай серверный код ибо жс отрабатывает как надо
#191 #1078449
>>1078442
Я понимаю, именно этого получается и не знаю, как взаимодействует джанго с жс. Потому и не понимаю, что нужно отправить.
Код здесь. Я так понимаю его нужно перенести из thread_detail в отдельную функцию?
Спасибо за ссылки и помощь, прочитаю как вернусь через пару часов.
https://pastebin.com/pyhAVZgx
#192 #1078457
>>1078329
Хуй знает.
#193 #1078458
Стоит ли предпочесть Vue реакту?
#194 #1078459
>>1078449
один из вариантов хуеватый в общем сделать
return reverse('thread_detail', args=[board_code, post_id])
https://docs.djangoproject.com/en/1.11/ref/urlresolvers/#reverse
в итоге в data у тебя попадет ссылка на нужный пост, после чего ты уже в методе success сделаешь location.href=data
но это дичь, лучше почитай статейки что я скинул и завези уже class based views
#195 #1078460
>>1078458
Если реакту что-то и стоит предпочитать, так это инферно.
#196 #1078468
>>1078329
я забыл как это называется есть специальное слово для этого, фишка в том, что на свежесозданной кнопке не висит обработчика события onclick

а вспомнил
https://learn.javascript.ru/event-delegation
https://learn.jquery.com/events/event-delegation/
#197 #1078474
>>1078459
вот и стака примерно тоже самое предлагает,
https://stackoverflow.com/questions/29137910/redirecting-after-ajax-post-in-django
#198 #1078492
>>1078449
>>1078468
>>1078474
и вообще если ты собираешься редиректить, нахуя тебе ajax?
опиши бля че ты хочешь сделать
#199 #1078510
>>1077706
setTimeout 0 поставь
#200 #1078512
>>1077951
жквери нужно знать просто потому что это либа, которая доминировала в вебе на протяжении 10 лет.
#201 #1078547
>>1078492
Хух, пришел, сейчас буду читать, спасибо за материалы.
Я сначала просто написал редиректы чтобы работало, тем более что жс я не знаю, а теперь хочу убрать и сделать отправку формы без редиректа, тем более что редирект был туда же, где отправлялась форма.
#202 #1078575
Почему может не ловиться событие click?
Пример только с куклой есть, если поставить разворачивание картинки по центру экрана, то она заворачивается в div.de-img-center с позицией fixed, и вот на что бы внутри этой дивки я не вешал слушалку клика, оно ни разу не срабатывало. Маусап с маусдауном срабатывают, а клик нет. А по всей остальной странице клик срабатывает без проблем.
#203 #1078581
>>1078575

>не ловиться событие


В смысле не срабатывать.
#204 #1078591
>>1078547
короче у тебя в return redirect('thread_detail', board_code, post_id) возвращался весь код темплейта thread_detail, возвращай нужную тебе хуйню и все, если напишешь return 'shit' то в data по итогу это дерьмо и окажется
#205 #1078597
>>1078591
Общую идею я понял, то есть когда POST успешен мне нужно последний пост или все посты? вернуть?
А в каком виде?
Я пробовал
data = serializers.serialize('json', posts)
return data
или
return HttpResponse(json.dumps({'data': data}), content_type='application/json')

Только что-то не работает ничего.
На отдельный пост пишет что он iteerable, на все посты, возвращает 500 и говорит что у str либо list нет метода get.
#206 #1078602
>>1078597
я думал ты ток js не знаешь,

> нужно последний пост или все посты?


лол ты спрашиваешь у меня что ты хочешь сделать вернуть в ответе на ajax один пост или все? Я хз, хочешь вернуть один, возвращай один, все так все
так жсон не возвращают

> return HttpResponse(json.dumps({'data': data}), content_type='application/json')


а так возвращают
from django.http import JsonResponse
return JsonResponse({'foo':'bar'})
я хз что там может не работать, и к вечеру обычно теряю навык читать мысли и видеть чужими глазами, показывай код, на фронте на сервере и че ты хочешь сделать, вернуть один пост, и добавить его после формы?

олсо

> data = serializers.serialize('json', posts)


https://docs.djangoproject.com/en/1.11/topics/serialization/#serializing-data
#207 #1078606
>>1078597
такое пробовал?
return JsonResponse({'posts': list(posts)})
#208 #1078609
>>1078602

> я думал ты ток js не знаешь


увы

Я хочу чтобы по мере добавления новых постов в форме они сразу и появлялись в треде. Пост добавился, сразу тред подгрузил один новый пост, тогда один надо возвращать?
Вот фронт:
https://pastebin.com/8KFARBxD
Вот бек
https://pastebin.com/BsX6C7qK
>>1078606

>TypeError: Object of type 'Post' is not JSON serializable


Что с list, что без, что один пост возвращаю, что все.
#209 #1078615
>>1078609
у тебя в переменной new_post помимо строковых полей лежит что то еще, что джанговский сериалайзер не может обработать, полагаю что это QuerySet

> new_post.board.add(board)


исключай из возвращаемого ответа всю лишнюю инфу, пока не найдешь какое именно поле она не может сеарелизовать, или покажи print(new_post)

https://stackoverflow.com/questions/41116841/object-is-not-json-serializable-django
https://stackoverflow.com/questions/30953615/typeerror-object-is-not-json-serializable-in-django-1-8-python-3-4
https://stackoverflow.com/questions/16336271/is-not-json-serializable
#210 #1078663
>>1078597

>нужно последний пост или все посты? вернуть?


Ты там пока разбирайся как хочешь, грузить особо лишним не хочу, но я бы, с позиции пользователя, посоветовал либо:
1. таки перезагружать страницу (хуёвый вариант, примерно из 2001-ого года),
2. сделать функцию для подгрузки новых постов ajax'ом (можешь тот же "Обновить тред" на этой борде глянуть), и при успешном POST'е вызывать эту функцию (то есть тогда, когда пост должен бы на сервере уже появиться в базе данных)

Иначе, если ты будешь добавлять только отправленный, то не появится ничего из того, что было добавлено во время написания поста, а если потом что-то будет подгружено, то сломается порядок, или вообще не подгрузится, смотря как всё реализовано у тебя будет.
#211 #1078678
>>1078663

> сделать функцию для подгрузки новых постов ajax'ом (можешь тот же "Обновить тред" на этой борде глянуть)



это у него уже сейчас сделано судя по

> return render(request, 'board/thread_detail.html', {'posts': posts, 'form': form, 'board_code': board_code})



он пытается

> и при успешном POST'е вызывать эту функцию (то есть тогда, когда пост должен бы на сервере уже появиться в базе данных)

#212 #1078680
>>1078678

>это у него уже сейчас сделано судя по


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

>он пытается


Я имел в виду на фронте вызывать. Что-то такое сделать:
function update() {
ajax(`/thread?start=${last_pid}`, (posts) => { render(posts) })
}
form.submit(() => {
ajax({data: form.data, url: "/newpost",
success: () => {update()}
})
}

Как вариант, добавить подобие этого last_pid в к данным формы, тогда и там можно возвращать всё, но это не оче, смешение задач какое-то получается.
#213 #1079008
Как зарабатывать 300кк/сек с помощью жса?
#214 #1079015
>>1079008
Найти себе богатого парня, если ты женского пола.
#215 #1079041
>>1079015
А если мужского?
#216 #1079045
>>1079015
Но причем тут жс? Общие интересы типа?
#217 #1079127
Котаны, хэлп реквестед. Есть одно заводское web-приложение, которое я неспешно допиливаю, будучи инженером по автоматизации. Сейчас задача такая - необходимо увеличивать пикчу по клику, на бэкэнде djangocms, на фронтэнде bootstrap+angular. Никак не могу найти рабочую комбинацию jquery+lightbox/slimbox/etcbox. Сейчас к проекту прикручена jquery 2.1.4
#218 #1079130
>>1079127
нашел рабочее решение ekko-lightbox. Всем спасибо!
#219 #1079141
Зашел в тред рассказать всем как у меня горит жопа от ебучего сблева Абрамова под названием Редакс. Спасибо что выслушали.
#220 #1079156
>>1079141
Удали редакс нахуй и читни про lifting state up, тебе не нужен сторонний менеджер состояния.
#221 #1079172
Знатоки, поясните, есть ли какая-то возможность восстановить typescript проект из скомпилированной джски?
#222 #1079173
>>1074974 (OP)

>js.1021346450x2[...].jpg


1050
#223 #1079234
>>1079173
Пиздуй заново читать про конкатенацию.
528 Кб, 945x574
#224 #1079265
Анончики, вернёмся к наёбке адблока.

Как они это делают? Быстрый осмотр даёт понять что с помощью какого-то WebSocket типа bgrndi.com, как это работает и как сделать самому? Как найти сайт предоставляющий такие услуги? Найти такую рекламу можно в любом онлайн кинотеатре из топа происковиков. Адблоки эту хуиту не блочат, если заблочить самому через host, то сайт начинает сыпаться, скрипт удаляет стили оформления или вообще скрывает контент.
#225 #1079273
>>1079265
Ссылку и список активных фильтров адблока, пожалуйста.
#226 #1079276
>>1079265
там просто вшит инлайн скрипт, который делает запрос на юрл этой рекламы и в случае неудачи (если юрл заблокирован адблоком) ломает верстку.
#227 #1079287
>>1079276>>1079265
Вёрстка вполне может ломаться и не по этой причине. У меня так порнхаб и лента.ру ломались при включении какого-то японского easylist'а, потому что там рамблер и ещё что-то блочилось, что stylesheet'ы отдавало.

Возможно, сайт отдаёт рекламу со своих же серверов/доментов, тогда нужно более точные фильтры делать, а не целиком домен запрещать.
#228 #1079320
>>1079265
Ты зачем интересуешься?
3 Мб, 1287x3979
#229 #1079324
>>1079265
Можешь даже не пытаться это сделать самому. Таких говноедов как ты не так много.
У остальных нормальных людей, стоит Ublock.
#230 #1079328
>>1079324

>Ublock.


>хромог говорит о говноедах



В чём суть твоего поста? У меня точно так же нет никакой рекламы на этом сайте. Этот даунёнок уже второй раз не может ответить мне на вопрос о фильтрах в адблоке. Наставил кучу говна себе (три адблокера, блядь), а как оно работает и как настроить — не знает. Вангую у него очевидное отсутствие RuAdList'а, отчего и все проблемы.
#231 #1079333
>>1079328

>хромог говорит о говноедах


Это лис, если что
#232 #1079341
>>1079333
А, в таком случае прошу прощения. Первая ссылка в гугле по "ublock" была в chrome web store, ну я на радостях и побежал срачь разводить.
#233 #1079354
>>1076685
Успокоил. Как прошло все?
#234 #1079361
Знаю основы html, css. Немного знаю php. Вопрос: куда я могу быстрее вкатиться на галеру. пхп-господин или жс-господин?
#235 #1079386
>>1079354
МЫ ВАМ ПЕРЕЗВОНИМ походу
но еще не факт точно ясно будет во вторник
#236 #1079390
>>1079386
А что спрашивали?
#237 #1079391
>>1079390
хуй сосешь? Пидорас?
#238 #1079396
>>1079391
Нет. Не.

мы вам перезвоним, да?
#239 #1079397
>>1079390
да хуйню какую-то я пиздец разозлился. у меня два года опыта работы с ангулар 1, почти год опыта работы с нодой+моного+экспресс+метеор. могу асинхронный код писать одной ногой с закрытыми глазами под транквилизаторами.
он меня несколько раз спрашивает: библиотечку лоудэш хорошо знаете? что делает помните? как использовали?
или там вдруг: так что такое промис получается вы знаете?
у меня на этом вопросе бомбануло потому что у меня в сиви строчка цитирую "могу писать асинхронный код при помощи колбеков, промисов, аsync/await, стримов и черта лысого если потребуется"

никаких вопросов проверяющих мою квалификацию задано не было. сказал что подготовит тестовое и попросил примеры кода(скинул офк)
#240 #1079429
>>1079397
А ты где живешь?
#241 #1079473
Вот почему на момент получения 'finish' эвента из response'а уже удалён объект socket/connection, и чтобы посмотреть количество записанных туда байт мне нужно сначала его самому в переменную себе записать?..
#242 #1079508
>>1074974 (OP)
Можно ли отловить возврат пользователя обратно на страницу после перехода на target=_blank?
#243 #1079699
>>1079429
в молдове. работаю по удаленке
#245 #1079723
>>1079699
Это в евросоюз входит? Теоретически можешь по всей европе работать?
#246 #1079725
>>1079723
не входит, но у нас безвиз, как братушек-салоедов. могу туристом виснуть в ЕС. могу сделать румынский паспорт, его может сделать любой у кого предки жили тут в определенные годы в 20 веке(под румынской оккупацией). а румыния в ЕС.
6 Кб, 372x77
#247 #1079748
>>1079273
>>1079328
Не быкуй, вот тебе скрин.

>>1079276
Адблок это дерьмо не блочит, пришлось вручную, например сайт hdrezka.ag

>>1079287
Нет, это уже почти на всех топ сайтах, какой-то сервис проксификации скриптов.

>>1079320
Очевидно для общего развития и для попробовать на своём говносайте.
#248 #1079757
>>1074974 (OP)
Я правильно понимаю, что js-код компилируется браузерами ?
#249 #1079766
>>1079757
нет
он интерпретируется браузерами
#250 #1079768
>>1079766
Понял. Спасибо. То есть мне не нужно ничего кроме обычного текстового редактора и браузера, чтобы писать js код?
#251 #1079776
>>1079768
да
а благодаря nodejs скрипт может выполнятся и на сервере
#252 #1079777
>>1079768
В теории да. От того, что с нами стало на практике, охуеешь чуть погодя.

Текстовый редактор лучше не самый обычный. Для начала подойдёт этот:
http://brackets.io/
Там есть молния в правом верхнем углу, которая твою писанину будет в браузере сама открывать, обновлять и куски подсвечивать.

Судя по твоим вопросам, ты только начинаешь. Посему, настоятельно рекомендую тебе пройти все бесплатные уроки подряд здесь:
https://htmlacademy.ru/
Даже устанавливать ничего не надо. Поможет чуть освоиться и разогнаться. Знание разметки очень пригодится в дальнейшем.
Там будут ебанутенькие задания, от которых у всех горит. Это норм. Но в эти моменты прислушайся к себе. Это только крупица от того, с чем придётся сталкиваться каждый день. Твоё ли это?
#253 #1079778
>>1079777
Я html и css знаю. Этот сайт весь пройден почти кстати у меня. Спасибо за советы.
#254 #1079784
>>1079778
Отлично. Тогда, если только в программирование вкатываешься, то лучше начни с этого:
https://www.edx.org/course/introduction-computer-science-harvardx-cs50x
Требует усилий, но избавит от кучи тупых вопросов в дальнейшем.

Если лень, можешь хотя бы лекции этого же курса с быдло-переводом под пивко посмотреть:
https://www.youtube.com/watch?v=Sy_wba7l1UU&list=PLawfWYMUziZqyUL5QDLVbe3j5BKWj42E5
#255 #1079796
>>1079777
Brackets уже давно мертвый, дядь. Сама адобе его забросила, нахуй ты рекомендуешь это говно?
Самый простой для старта нуба - vscode. Из коробки есть вообще все, что можно и даже больше.
Смотреть хуйню в браузере - это настраивается в dev-окружении всякими watch и hot-reload.
#256 #1079800
Привет всем. Я хочу начать изучать Java,может посоветуете какие книги кроме "Марейн Хавербек - "Выразительный JavaScript""?
#257 #1079803
>>1079796
Он даже "мертвый" полностью справляется со всеми возложенными на него задачами.
417 Кб, 1276x643
#258 #1079806
>>1079748

>Адблок это дерьмо не блочит, пришлось вручную, например сайт hdrezka.ag


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

Открой страницу, выбери в адблоке "Open blockable items", сделай скриншот содержимого.

>пришлось вручную


Я уже объяснял же принцип работы адблокера. "Вручную" — это не обязательно через hosts, ты просто можешь свои фильтры добавить в адблок. Правый клик по элементу — block this item (или типа того), и там уже можно донастроить фильтр, маски добавить и прочее.

Ну и ещё, оставь ты только один адблокер, а то может они друг с другом там воюют.

>какой-то сервис проксификации скриптов.


Ну, фильтровать прокси, значит, надо. Адблоку абсолютно всё равно, хоть с луны реклама приходит. Единственный способ не давать людям смотреть свой сайт без рекламы — это при попытке открыть его с адблокерами скрывать/удалять всё, как форбс или кто-то там делает, заставляя отключать блокировщики (ага, щаз, проще их сайт целиком в адблок тогда уж добавить).
#259 #1079808
>>1079806

>Единственный способ


Вариация этого способа: присылать рекламу из тех мест, которые ты не можешь легко заблокировать в ущерб себе. Например, присылать баннеры из domain/images/<randomstring>.jpg, при этом полезные изобразения присылаются оттуда же и с такими же рандомными именами.

Полезен ли такой способ для заработка — не знаю, не рекламщик.
#260 #1079812
>>1079808

>заблокировать в ущерб себе


без ущерба себе, то есть.
#261 #1079818
>>1079701
Да нет, ты не понял. На моем сайте пользователь кликает на <link target="_blank" href="google.com">. Открывается окно с гуглом в отдельной вкладке и браузер автоматом туда переносит пользователя. При этом мой сайт так же висит во вкладке. И вот после того как пользователь вернулся обратно на вкладку с моим сайтом, я хотел бы об это знать.
#262 #1079878
>>1079818
window.onfocus, window.onlur?
#263 #1079955
>>1079784
Спасибо. Буду этот курс тогда проходить.
#264 #1079987
>>1079955
Курсы без практики не дают результат. CS50 не плохой курс, но через неделю все забудется. Нужно сразу же писать код. Есть бесплатный курс основ с практикой https://goo.gl/GLwHHL
#265 #1079994
>>1079987
Я основы знаю. Если считать за основы работу с строчками, целыми числами, массивами, циклами, условиями и операции с ними.
79 Кб, 1089x323
#266 #1080016
>>1079806
Прикол в том, что даже если ты заблочишь блок в котором выводится реклама в адблоке, она всё равно появится, пока ты не заблокируешь домены hghit.com hgbn.rocks cdn7.rocks, причём домены везде разные, есть на этих сайтах одна отличительная особенность, огромный зашифрованный текст в хейдере, пример https://jsfiddle.net/4vnxb005/ ну и сам код с этим cdn rocks на скрине. Если в коде есть эта хуйня, то считай реклама у тебя не блокируется. Хз почему у тебя нет, может провайдер фильтрует, но у меня вся реклама от recreativ.ru отображается с этой хуйнёй. Код с hdrezka.ag.
#267 #1080017
>>1079994
Ну а функции, рекурсия? Есть функции высшего порядка. Функции могут быть как данные. Из них можно строить разные абстракции. Алонзо Черч на одних функциях построил целую вычислительную систему.

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

Функции https://goo.gl/ZNRcit
Составные данные https://goo.gl/KHCzwL
Последовательности https://goo.gl/nKedFP

Курсов там много. Было бы желание. Важно что они с практикой.
#268 #1080039
>>1080017
Вижу реф из далека. Платные курсы тебе откроются за рефы или что?
#269 #1080048
>>1080039
Да, за рефа доступ на какое то время. Посмотри здесь тред https://2ch.hk/news/res/1636190.html (М)
Ссылка на новость с рефкой яндекса. Почему то никого это не беспокоит.

Можно эти курсы найти на трекерах. Только без практики пользы никакой. Сам их скачивал с торрентов, но применить эту теорию не знал как. Сейчас подсел на их практические задания. Задачи там интересные и довольно сложные. Задачи связаны с Computer Science. С Лямбда исчислением например, числа Чёрча всякие там. Не свистоперделки беспонтовые. И не банальные сортировки с факториалами.
#270 #1080076
>>1079878
похоже на то, спасибо
#271 #1080098
Ну ка Котаны подскажите, после кантора Хекслет жс полезненько будет? А то как то у кантора я не все понял.
#272 #1080107
>>1080098
Это совсем разные подходы. У Кантора обучение джаваскрипту, а на Хеклете обучают программированию.
#273 #1080111
Пилю свой учебный говнопроектик на js.

Игруля в бровзере тащем-то. И вот вопрос, а как разбивать на файлы проектик? Есть аналог инклуда какой-то, что бы написать классов и заинклудиь их в каком-нибудь стягивающем проект воедино файле? Или тупо всё должно быть в самой хатээмэльке подключено, причем в правильном порядке?
#274 #1080139
>>1080098
На гикбрейнсе лучше.
#275 #1080146
>>1080107

>на Хеклете обучают программированию


Там рассказывают про алгоритмы и структуры данных? Нет, там этого не рассказывают. Там просто объясняют то, что есть в любой другой книге по программированию для начинающих. Где же там обучение программированию?
#276 #1080181
>>1080146
Сколько же вас тут пустословов. Теперь обоснуй свои слова. В каких книгах есть тоже что на Хекслете?
#277 #1080182
>>1080139
Падсталом просто.
#278 #1080185
Аноны, что это за хуйня вообще? Зачем вы учите то, что не будете использовать?
#279 #1080218
https://developer.mozilla.org/ru/docs/Web/JavaScript/Typed_arrays
пиздец, только счас о такой вот хуйне в js узнал
#280 #1080252
>>1080218
Зачем оно нужно?
#281 #1080253
>>1080111
Гугли webpack и babel.
#282 #1080268
>>1080185
Зачем ты задаешь вопрос, на который не хочешь получить ответ?
#283 #1080282
>>1080218
только щас узнал про возможность хранить бинарные данные в жс?
#284 #1080283
>>1079766

>он интерпретируется браузерами


сейчас и компилируется - тоже верно
>>1080111

>Есть аналог инклуда какой-то


можно в хатээмельке, можно взять велосипед.
>>1080185

>учите то, что не будете использовать?


я очень даже использую.
Тащемта главное не язык, а принцип программирования. Будет легче вкатиться в другой, "который буду использовать".
#285 #1080284
Ананасы, как подключить скрипт внутри скрипта? Типа есть у меня <script>здесь скрипт</script> как мне внутри подключить скрипт находящийся в файле?
#286 #1080290
Я так и не понял, почему этот язык обзывают. Годнота же. Я даже друзей себе нашел благодаря этому языку
#287 #1080336
>>1080290

>Я даже партнера-актива себе нашел благодаря этому языку

#288 #1080342
>>1080290
Потому что он совершенно не интуитивен. Если ты умеешь кодить на болинстве ооп языков, то для того чтобы кодить на js тебе надо все равно ещё поразбираться в его устройстве. А на питоне например просто без задней мысли сможешь фигачить уже сразу.
#289 #1080348
Есть неизвестное количество например ссылок, у которых есть уникальный айди, как обрамить нужную, например дивами?

Пример https://jsfiddle.net/txgz316m/
Например ссылку 5 оформить как
<div>Текст</div><a id="ssilka5" href="#">Ссылка 5</a><div>Текст</div>

Знаю что можно сделать insertBefore и вставить дивы перед нужной ссылкой, но как поставить после нужной ссылки, если айди у ссылок будут рандомными, как и количество ссылок.
Подскажите посоны, я неосиляю.
#290 #1080356
>>1080348
засунь айдишники в массив и отфильтруй по нужным тебе критериям. Потом обратись к набору своих ссылок по отфильтрованному айдишнику.
Simple as that, think about it, bro
#292 #1080391
>>1080016

>пока ты не заблокируешь домены hghit.com hgbn.rocks cdn7.rocks


Первые два в RuAdList+EasyList'е уже есть, между прочим. Попробуй переустановить винду удалить все адблокеры и поставить заново, но только один.

>Хз почему у тебя нет, может провайдер фильтрует


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

>огромный зашифрованный текст в хейдере


Да толку-то от этого? Адрес запроса всё равно зашифрованным не останется, и там уже всё и почикается. А скрипт этот вполне может к рекламе никакого отношения и не иметь, просто есть наивные скрыватели своего супер говнокода, которые боятся, что его украдут.
#293 #1080392
>>1080016

>причём домены везде разные


А ты как хотел? Все эти фильтры люди вручную собирали-вбивали, там их тысячи этих доменов рекламных. Никакой магии блокировки рекламы нет.
#294 #1080394
пацаны репощу из треда верстал т.к. за два дня нихуя не разобрался, подсобите а?

фронтач помогай, нужно реализовать пик1, нашел статейку как сделать градиент, но он получается только такой
https://jsfiddle.net/b3rvd823/
дайте пояснения как можно сделать или ссылку на статью с пояснениями, а то что то не втыкаю
воркэраунд 1
https://jsfiddle.net/b3rvd823/4/
воркэраунд2

поебался еще малость, https://jsfiddle.net/b3rvd823/1/ все еще в поиске хорошей идеи т.к. нету знаний свг
4 Кб, 57x48
#295 #1080395
>>1080394
пик забыл
#296 #1080405
>>1080394
>>1080395
Сам не знаю, смотрел вот такое:
https://www.youtube.com/watch?v=Y6dbEGjgjD8
Он во второй части ебётся с масками и паттернами. Мне кажется, тебе надо два сердечка: одно чёрное, одно с градиентом (или два, склеенные по сплошному цвету, если там необычный градиент). Чёрное сердечко будет сверху и будет обрезаться маской, размер маски будет анимироваться по процентам загрузки.
https://developer.mozilla.org/en-US/docs/Web/SVG/Element/mask
#297 #1080408
>>1080394
>>1080405
Ещё есть такая библиотека:
http://snapsvg.io/
Может там что найдёшь. Или в Слак к ним постучись.
#298 #1080411
>>1080408
да снэп мне не шибко поможет, т.к. я в свг не особо разбираюсь а это либа для упрощения работы с свг из жс, понаделал вот такого
https://jsfiddle.net/obw4asLy/2/
один хуй не могу заставить начинаться из центра сердца и двигаться по часовой
#299 #1080412
>>1080411
по часовой двигаться заставил, осталось только допетрить как из нужной точки вести эту ебалу
https://jsfiddle.net/obw4asLy/3/
#300 #1080436
ее я величайший гений всех времен и народов
https://jsfiddle.net/obw4asLy/5/
#301 #1080482
Аноны, только один конкретный вопрос: стоит ли начинать с JS, если до этого вообще ничего не изучал?

Хочу вкатиться в веб и приложения. Стоит ли начинать с C, чтобы потом было проще изучать новые языки? Или прямо с веба и начинать? HTML, CSS, PhP, Java.
#302 #1080487
>>1080482
Начинать с С - это полумеры. Настоящие программисты начинают с ассемблера.
#303 #1080494
const func = (...) => {
...
return ...;
};

function func() {
...
return ...;
};

в чем разница? 1я это старый синтаксис ?как лучше писать?
#304 #1080496
>>1080482
То что после Си легче изучать другие языки - это миф. Без разницы с какого языка начинать. Чем дольше ты выбираешь язык, тем больше шанс что у тебя ничего не получится. Начни с JS прямо сейчас. Есть отличное введение в программирование, нужно только зарегаться https://goo.gl/GLwHHL
#305 #1080499
>>1080496
А что ты имеешь за свои приглашения на этом сайте?
#306 #1080501
>>1080494
Первое биндит функцию к текущему контексту (this'у), второе — глобальному.

https://repl.it/NDwH
#307 #1080505
>>1080499
Деньги за это не платят. Только доступ к обучению. Проект реально крутой. Иначе бы я не стал никого приглашать ради доступа к курсам. Можешь мне поверить, я смотрел все курсы какие только существуют.
#308 #1080506
>>1080505
Я пока лучше платформы Stepic ничего не видел.
Там и уровень высокий у многих курсов и всё бесплатно.
#309 #1080507
>>1080506
На Степике есть хорошие курсы, согласен. Только практики там мало, или нет вообще. Да и курсы там ориентированы на языки, а не на общие принципы программирования. Либо на околопрограммистские темы, типа ОС, баз данных. Таких курсов как в Хекслете нет больше нигде. Потому что там курсы по СИКП, а сейчас СИКП никто не использует. Это с одной стороны хорошо. Меньше будет качественных программистов.
17 Кб, 180x156
#310 #1080516
>>1080507

>там курсы по СИКП, а сейчас СИКП никто не использует

#311 #1080517
>>1080507

>Только практики там мало, или нет вообще


Да ладно, есть целиком практикоориентированные курсы, например создание веб сервиса на Java.

Хотя на Степике сейчас нет ни одного приличного курса по JS.

Ладно, посмотрим твой Хекслет
#312 #1080529
>>1080517

>Да ладно, есть целиком практикоориентированные курсы, например создание веб сервиса на Java.


Ну да, там пишется проект. Только обучения общим подходам (азам) программирования там нет. Прежде чем писать проекты, нужно крепко освоить азы. Лучший курс по азам - СИКП, но его никто не использует в обучении. Даже на западе все больше университетов отказываются от использования СИКП. Считают его слишком сложным.

Лучший курс на Степике - курс по Хаскеллю. Реально качественный, на него нужно ориентироваться. Только он стал таким не сразу. Его пилят уже много лет. По началу он был посредственным.
#313 #1080530
Помогите с angular JS.

Есть структура вида:
<div id="маняблок1">дохуяинфо</div>

<div id="маняблок2" ng-show="showyoba"></div>

<button ng-click="showyoba= ! showyoba">Нажми</button>

При нажатии на батон,отображается содержимое маняблок2.

Задача:
Перед отображением (в момент клика по баттону) перенести содержимое маняблок1 в маняблок2
#314 #1080531
>>1080517

>приличного курса по JS.


Это язык с минимальным синтаксисом и без системы типов.
ЛОЛ.
Для этого правда нужны какие-то курсы?
#315 #1080532
>>1080529
Я кстати не нашел на Хекслете ни одного курс а с названием SICP
#316 #1080534
>>1080531

>с минимальным синтаксисом


шо
тонны говна же
#317 #1080535
>>1080532
а всё, нашел
"Структура и интерпретация компьютерных программ"
#318 #1080538
>>1080532
И не надо искать. Я же тебе скинул ссылку на введение в программирование. Дальше курс "Функции". Выбери профессию Бэкенд-программист, и проходи все курсы от начала. Не забывай про практику к урокам. Есть еще общая практика.
>>1080535
Это не то. Ну как бы это СИКП, но это теория, без JS. Тем более это старые видео. Сейчас там все намного круче.
#319 #1080540
>>1080487
>>1080496
Спасибо, анончики.
#320 #1080545
>>1080342
Да, он другой, ооп здесь фоном и непривычно, количество фп — куда больше, чем любят в ооп языках. Но идеально, если хочется развиться в сторону фп.
#321 #1080547
>>1080531

>Это язык с минимальным синтаксисом и без системы типов.


>ЛОЛ.


>Для этого правда нужны какие-то курсы?


Знание синтаксиса НЕ РАВНО знанию программирования
Писать свистоперделки это еще не программировать.
#322 #1080548
>>1080342
Это потому что ты не читал СИКП.
#323 #1080550
>>1080545
Поддерживаю. Жаль не все это понимают. Особенно удручает когда JS называют недоязыком. JavaScript один из мощнейший языков на самом деле.
#324 #1080604
>>1080290
Каждый нахваливает свое болото.
#325 #1080633
>>1080284

>как мне внутри подключить скрипт находящийся в файле?


script src=адрес, ессесно прописывать в хтмл
>>1080342

> он совершенно не интуитивен.


разницы с питоном вообще не вижу
>>1080348

> можно сделать insertBefore


а ещё insertAdjacentHTML
>>1080482

>стоит ли начинать с JS, если до этого вообще ничего не изучал?


Стоит. Конпелятор не нужен, иде не нужен. Ответов на всяких форумах и SOF до жопы на каждый случай. Скорее наоборот - в си (и в любой подобный) потом проще вкатиться, когда примерно предполагаешь что делает тот или иной кусок кода, а не прогоняешь каждый раз через make и смотришь выхлоп.
>>1080531

>Для этого правда нужны какие-то курсы?


Удваиваю этого анона. Учил сам, по js.ru и mdn.
>>1080547

>Знание синтаксиса НЕ РАВНО знанию программирования


я бы не был так категоричен.
#326 #1080663
>>1080633
Классик же сказал все до нас:

....Но ты же - убогое ничтожество, ты языки по синтаксису сравниваешь. Если синтаксис похож, то и языки похожи, по мнению подобных тебе недоношенных ублюдков. Что поделать - ублюдков не учат тому, что такое операционные и денотационные семантики...
#327 #1080673
>>1080633

>я бы не был так категоричен.


Какие задачи можно решать изучив синтаксис?
#328 #1080858
>>1080363

>const


что это за хуйня такая? мы такое не проходили, это вместо var?
#329 #1080862
>>1080633

>script src=адрес


В смысле, прямо в скрипте пишем на новой строчке script src=адрес и спокойно пишем код на новой строчке дальше, скрипт из файла подключен?
#330 #1080890
Какой мощный язык! Теперь все на нем буду писать. Спасибо, JS
#331 #1080907
Котаны, Объясните плиз на пальцах. Вот кантор пишет в теме про полифилы -
Например, можно добавить всем элементам в прототип функцию. Сложнее – добавить свойство, но это тоже возможно, через Object.defineProperty:

Вопрос - а разница в чем, функция(метод как я понимаю) или свойство ?
А как определять, ебашить полифилл через прихуячивание функции в прототип элемента, или через дефайн-проперти?
А разница в чем? Чет я запутался
#332 #1080921
>>1080290

таким годным он стал не так давно, до стандарта es6 жс был говнищем из-за колбэков.

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

кек мб майки с их саси-шарпом или какое-то другое коммунити мечтало пропихнуть свой язык для веба, кто знает почему так было...
#333 #1080938
Снились всю ночь байтокошмары. Сел за компьютер чуть-чуть написал код на js и пошел спать. Кошмары прекратились. Спасибо, js
#334 #1080949
>>1080663

>Классик же сказал все до нас:


щас бы в 2к17 ссылаться на эфемерного классика вместо того чтобы по делу пиздануть
>>1080673

>Какие задачи можно решать изучив синтаксис?


простейшие, а это не так уж и мало
>>1080858

>мы такое не проходили, это вместо var?


var конечно теперь не рекомендуется, но это другое, непереопределяемая переменная.
>>1080862

>В смысле, прямо в скрипте пишем на новой строчке script src=адрес


ты где скрипт юзать будешь? на веб-странице? ну вот и подключай туда.
>>1080921

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


Dart?
кмк дело в первую очередь в возросших мощностях писюков и наладонников, ну и v8
50 Кб, 390x552
#335 #1080956
>>1080534

>>с минимальным синтаксисом


>шо


>тонны говна же



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

>>1080547

>Знание синтаксиса НЕ РАВНО знанию программирования


Знание программирования?
Похмелился бы челе.

>Писать свистоперделки это еще не программировать.


Именно что программировать, мой дорогой друг.

>Писать свистоперделки это еще не программировать.


Так то получается на JS программистов то и нет.

И вообще, вот, пикрелейтед.
Стоит тысячи курсов.
98 Кб, 500x656
#336 #1080957
>>1080949

>Dart



он появился в 2013. вангую скорее VBScript от майков, он появился в 1996, и был изначально заточен для работы на клиенте и сервере
https://en.m.wikipedia.org/wiki/VBScript
110 Кб, 1592x956
#337 #1080959
Добрую ночь. Объясните мне дебилу.

Имею пикрелейтед JSON. Как я вижу внутри Object лежит Message внутри которых лежит Items внутри собственно каждого из которых лежат данные.

То есть должно быть object.message.items[0].author.given например, чтобы получить John?
#338 #1080974
>>1080956
Есть ссылка на pdf этой книжки?
#339 #1080975
>>1080959
Да. только незабудь распарсить свой json...
var data = JSON.parse(json);
alert(data.message.items[0].author.given);
#340 #1080976
>>1080974

>Есть ссылка на pdf этой книжки?


На nnm клабе есть.
http://nnm-club.name/forum/viewtopic.php?p=8762952
#341 #1080980
>>1080976
спасибо
#342 #1080986
>>1080949

>простейшие, а это не так уж и мало


Конкретней, какие простейшие? Задачи бизнеса решать со знанием только синтаксиса невозможно. То есть этот чел не может называться программистом, и уж тем более software engineer.
#343 #1080987
>>1080956
Изучая синтаксис ты не можешь строить сложные программы. Можешь написать интерпретатор/компилятор? Думаю нет, из-за того что не понимаешь как строить абстракции. Программирование это не язык, это не синтаксис. Программирование это абстракции.
#344 #1081032
Поцоны, я придумал. Давайте тех, кто пишет на ЖС, называть "сценарист" или "автор сценария".

>>1080987
А все абстракции дырявы.
Программирование это дыряво.
#345 #1081037
>>1081032
А таких как ты языковед.
#346 #1081038
>>1081032
Так что ты написать можешь?
#347 #1081043
>>1080949

>непереопределяемая переменная


благодарю молодой человек

>>1080949

>ну вот и подключай туда


я просто хочу знать, как можно подключить скрипт из файла, прямо внутри другого скрипта, ну например определить значения переменных и под ними подключить файл скрипта, чтобы он ими воспользовался и сделал то что должен, чтобы не подключать скрипт отдельно после скрипта определяющего значение переменных
#348 #1081045
>>1081043

>как можно подключить скрипт из файла, прямо внутри другого скрипта


Зачем? В JS есть require, а в ES6 появились import. С помощью этих штук можно подключать файлы, но работают ли они внутри html не знаю.
#349 #1081081
Ребята, помогите, у меня какой-то дурдом творится. Как может быть такая ошибка, если я нормально сохранил нормальный div в переменную? А потом если скопипастить в консоль ту же строку с присвоением, все ок? Почему?
Надо дать весь файл?
105 Кб, 1910x671
#350 #1081083
>>1081081
Вот еще.
#351 #1081088
>>1081081
; пропущена
#352 #1081090
>>1081088
Эээ... где это? Я правда не вижу, лол.
#353 #1081091
>>1081081
У тебя скрипт в head'е подгружается, в этот момент ещё DOM не достроен. Либо пихай его в конец <body>, либо слушай событие DOMContentLoaded и тогда начинай исполнение.
#354 #1081092
>>1081091
И правда, получше стало! Спасибо! Теперь просто никакой реакции на клик, ну тут я уже сам хочу голову поломать.
#355 #1081093
>>1081088
Так-то ; совсем не обязательны в многострочном коде.
#356 #1081129
Котаны! Получилось!!! Слайдер работает, голый джиэс без всяких джиквери! Если меня помните вдруг (я наверняка это в верстка-треде выкладывал), я верстал страничку с Морганом Фрименом после того как курсы верстки закончил, но кодить не умел от слова совсем и воровал JS для менюшек и слайдеров в интернете, и вот что-то смог сам! Дома учил и дальше буду, пока не стану джуном!
#357 #1081166
>>1080987

>Изучая синтаксис ты не можешь строить сложные программы. Можешь написать интерпретатор/компилятор? Думаю нет, из-за того что не понимаешь как строить абстракции. Программирование это не язык, это не синтаксис. Программирование это абстракции.


Спасибо капитан.
Без тебя никуда.
Но тут речь идет об изучении ЯЗЫКА.
И о курсах для изучения ЯЗЫКА.
Ладненько?
#358 #1081167
>>1081032

>Поцоны, я придумал. Давайте тех, кто пишет на ЖС, называть "сценарист" или "автор сценария".


Годно.
46 Кб, 977x399
#359 #1081186
Извините. Имею response в виде JSON >>1080959

Пытаюсь его отрендерить. Что я делаю не так?
#360 #1081195
>>1080986

>Конкретней, какие простейшие?


какой-нибудь полезный юзер-жабаскрипт или приложеньице для сферического вкунтактика или любого другого сайта. И уже "вкалывают роботы, а не человек"
>>1080987

> Программирование это абстракции.


Абстрактный анон, прототип - человек разумный? И таких абстрактных анонов целый двач. Все, я погромист.
>>1081043

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


все равно не понимаю чем тебе инклуд в htlm не катит, один хуй сначала загрузится по ссылке, выполнится, а потом тот что на странице.
>>1081045

>есть require


емнип это что-то из ноды. В браузере только сторонний велосипед, но смысла в нем не вижу.
#361 #1081206
>>1081186
тебе же пишут, что messages не определено
#362 #1081232
>>1081129

> Слайдер работает, голый джиэс без всяких джиквери



совместимость
о
в
м
е
с
т
и
м
о
с
т
ь


соснёшь в итоге с таким подходом на кроссбровзерности, жиквери как раз удобная обёртка для DOM, что бы не париться об этом
#363 #1081253
>>1081232

>соснёшь в итоге с таким подходом на кроссбровзерности


почему мне кажца что ему в одном единственном бровзере юзать
Ты за хлебом тоже на камазе ездишь?
#364 #1081286
>>1081232
Мне как бы сам факт что работает настоящий код важен, сайт просто для тренировки.
#365 #1081296
>>1081232
Кошмар, в IE8 что-то может не работать и полтора некрофила с музейными экспонатами вместо компьютеров останутся за бортом. А еще ведь о юзерах Netscape Navigator стоило бы подумать.
3,8 Мб, mp4, 1280x720, 0:29
#366 #1081322
Сссука, так все хорошо начиналось, решил реакт поучить и тут началась хуйня, вебпаки хуйяки. На курсах всяких заставляют неведоммую хуйню в npm писать или вообще с репозитория копировать. Ничего не понимаю. Как в эту хуйню вкатиться?
#367 #1081372
>>1081322
Хуйня все эти курсы, только мозги пудрят.
Только по инструменту за раз, только офсайты, только гетинг-стартеды, только доки и исходники, только пет-проекты и хардкор.
#368 #1081388
>>1081322
Бля, как сам вкатывающийся питонист, понял что вся эта залупа в npm уже написанные модули как в питоне. Понял пока что блядский React это свестоперделки сверх JS.
#369 #1081391
>>1081372

>Только по инструменту за раз


Как у Кантора типа в учебнике ?

>только офсайты, только гетинг-стартеды


Это што такое?
#370 #1081395
>>1081129

Надо попробовать на чистом css что-то похожее провернуть.
#371 #1081403
>>1081232
>>1081286

>сам факт что работает настоящий код важен


ЧТД
#372 #1081405
>>1081322
из последнего вот эта статья ничетк

https://medium.com/@peterxjang/modern-javascript-explained-for-dinosaurs-f695e9747b70
#373 #1081424
А вот когда мы пишем npm install babel или какаянить другая хуета, это ведь для конкретной папочки устанавливается, и для другово проекта все нужно заного делать, да?
315 Кб, 1196x1497
#374 #1081440
Фронтэндерсы, посоветуйте бэкэндеру хороших курсов на coursera/edx или подобном, чтобы как-то начать выходить на ФУЛСТЕК для хотя бы собственных проектов. То есть мне не in depth (когда надо будет обложусь книжками).

1) ревью HTML5/CSS3, что учил лет 5 назад, плюс хоть какие-то основы современной верстки, бутстрап там, не знаю что у вас сейчас.
2) js, но не сам язык с нуля, а сразу в контексте инфраструктуры, фреймворков (любого известного).

Мне хотя бы начать въезжать в современный js, да вспомнить, как вообще верстают хоть немного (сейчас уже явно не как 5 лет назад). Курсы обычно лучше всего воспринимаются для подобного.
#375 #1081441
>>1081424
да
если хочешь поставить на всю систему, надо писать -g
91 Кб, 1815x616
#376 #1081443
Объясните три вещи:

1) Посылаю запрос, получаю ответ. На пик релейтеде код и содержимое ответа.

Если пишу "titles: response.message.items.title," Нихуя не рендерит.

Если пишу "titles: response.message.items[0].title," Собственно рендерит первый элемент.

Как мне правильно пройтись итерацией? Я же вроде с помощью map преобразовал всё как надо.

2) Как правильно вставлять элементы вроде accordion в код. Вот есть у меня приложение app в котором я что-то считаю. И хочу сделать аккордеон. Для этого мне нужен скрипт. Вроде такого. https://codepen.io/adamaoc/pen/wBGGQv

3) Почему текст выделяется желтым на пикрелейтеде? Это вызывает паранойю что я проебался.

Спасибо.
#377 #1081445
>>1081440
я как раз хочу наоборот из фронта перейти к беку и стать фулл-кеком. Если интересно - можем устроить сеанс взаимопомощи.
По курсам - ну там вон скинули выше статью. Гугли на ютубах конкретные стэки, все очень разное.
#378 #1081447
>>1081443
у тебя же массив, как ты можешь напрямую обращаться ну указав индекс?
#379 #1081449
>>1081447
В душе не ебу. Умею. Вопрос как мне автоматически обращаться к массиву как например в питоне "for in range". Чтобы перебрать все 5 значений и из них извлечь соответсвующий title.
#380 #1081451
>>1081449
response.message.items.forEach(el => console.log(el.title))
если тебе надо возвращать что то (например <li>), то
response.message.items.map(el => <li>{el.title}</li>)
#381 #1081454
Есть {a: 1, b: 2, c: 3, d: 4, e: 5, f: 6}
Есть {a: 11, b: 22, e: 55, f: 66}
Нужно {c: 3, d: 4}
Как-нибудь покрасивее, без циклов, это можно сделать? Каким-нибудь финтом через destructing assignment например.
#382 #1081460
>>1081451
Спасибо. Это именно то что мне нужно было.
#383 #1081462
>>1081454
пусть первый будет x, а второй y
тогда z = {...x, ...y}
#384 #1081465
>>1081462

>Object { a: 11, b: 22, c: 3, d: 4, e: 55, f: 66 }


Наоборот пересечение получилось.
#385 #1081466
>>1081465
так у тебя c и d пропущены во втором, я и подумал что их надо дополнить
#386 #1081468
>>1081451
А как мне совместить теперь проход по двум спискам? Вытаскиваю title и хочу вытащить для этого title всех авторов, потом перейти к другому. авторы тоже массивом.
#387 #1081472
>>1081454
лодашем каким-нибудь
#389 #1081474
>>1081466
Не, нужны имеено те свойства первого объекта, которых нет во втором. Именно отдельным объектом.

>>1081472
Не, библиотеки вообще не вариант. Нет так нет, оставлю как есть, и так неплохо работает.
#390 #1081475
>>1081468
ну ты подробнее покажи, а то не понятно. На скрине у тебя authors это вообще массив с объектами. Алсо раз ты используешь лодаш, проще будет заранее все перегруппировать в простую структуру и по ней уже строить
#391 #1081477
>>1081473
Ну я как-то так и делаю. Object.keys по обоим объектам, потом через filter разницу. Ну а дальше по ней циклом, и беру нужное из первого объекта. Думал как покомпактнее можно.
#392 #1081478
>>1081477
в лодаше каждая функция это модуль отдельный
посмотри как они написали этот метод
9 Кб, 688x155
#393 #1081479
>>1081474
ну так тогда
#394 #1081481
>>1081475

>ну ты подробнее покажи, а то не понятно. На скрине у тебя authors это вообще массив с объектами.



Есть Массив Items. Его мы перебираем и вытаскиваем Title. Внутри этого же массива есть еще один Author. Он тоже массив. Его тоже нужно перебрать таким образом чтобы на выходе вышло:

Title
Author
Author
Author
Author

И так далее. То есть в моём понимании питониста сначала делаем цикл For и для Items, а потом внутри него делаем еще один For для Author в каждом Items. Как я понял map это создание массива из массива с проходом по нему.

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



Я с лодашем еще не очень разобрался. Пока лишь нравится что короче писать.
#395 #1081498
Ой, ну его в пизду. Пойду вернусь на кресты и буду ждать, пока васм нарастёт.
#396 #1081519
>>1081481
response.message.items.map(el => {
return(
<div>
<h1>{el.title}</h1>
{el.authors.map(author => <div>{author}</div>)}
</div>)
})
#397 #1081522
>>1081519

=/ почему то он мне пишет что я неправильно задефайнил. Как я могу задефайнить если я не могу обратиться я не очень понимаю.

Если же я дописываю ебаный индекс, то он всё прекрасно находит судя по консоли.
#398 #1081530
>>1081522
он пишет что items.author не определен
довольно сложно представлять что у тебя там на структура данных
item.authors там что? Точно массив?
5 Кб, 497x82
#399 #1081533
>>1081530
Насколько я понял, да.
#400 #1081536
>>1081533
у тебя author а ты обращаешься к authors
23 Кб, 906x368
#401 #1081537
>>1081536
не очень помогло
#402 #1081538
>>1081537
бля..
у тебя в this.state.items что вообще лежит?
внутри есть author? Или это вообще в другом месте массив.
Я же говорю, без полной схемы твоих данных сложно что то понять, я тебе просто написал принцип как построить если внутри твоего item есть проперти author.
53 Кб, 1149x573
#403 #1081540
>>1081538
В this.state.items лежит массив из 5 элементов. Внутри каждого элемента есть еще хуева туча данных в том числе и массив author.

На пике содержимое this.state.items.
59 Кб, 732x961
#404 #1081545
>>1081540
в чем твоя проблема, бро?
#405 #1081572
>>1081545
непонятно только зачем ты title в map кинул
#406 #1081604
Джейсаны, есть ли среди вас те, кто катается по конфочкам, ездит на различные семинары, релевантные JS тематике?
Если есть такие счастливчики, поделитесь кулстори.
Кто обычно является иницниатором ваших командировок на такие мероприятия - вы сами или ваше руководство?
14 Кб, 642x224
#407 #1081623
>>1081545
>>1081572

В том, что меня нахуй шлёт с item.author потому что у author нет map? Так как author - undefined.

А когда я пытаюсь привести к твоей конструкции меня еще и шлёт нахуй с Undefined Item/Items.

Я не ебу, что я делаю не так. Я объявил переменные в constructor указал им начальные this.state. Потом при получении response я с помощью того же this.setState в моём понимании присвоиваю им этот json, который я получил. Так что я серьезно не ебу в чём проблема и хочу это понять.
#408 #1081633
>>1081195

>все равно не понимаю чем тебе инклуд в htlm не катит


у меня мания минимализма, хочу в 1 теге script, подключить сразу всё, пока в голову приходит только write
#409 #1081635
>>1081633
это по-другому делается. существуют специальные системы сборки для склеивания всех жс файлов в один большой и его минификация
#410 #1081647
>>1081623
Бля, с силой святых индусов ютуберских, полтора мануала, поста на стаке и этого треда, я таки сделал эту залупу.

Спасибо всем, товарищи.
#411 #1081651
>>1081647
Ну так и что там было-то?

>>1081623

>Я не ебу, что я делаю не так.


>в моём понимании


Ну а, например, запринить item внутри мапа и увидеть, что же у тебя там на самом деле за объект, не пробовал?
#412 #1081655
>>1081633

>у меня мания минимализма


нуладна
try EC6 export/import luke
https://learn.javascript.ru/modules
#413 #1081660
Если я у кантора вот такую залупу решить не могу от слова совсем

Напишите функцию, которая создаёт вложенный список UL/LI (дерево) из объекта.

Например:

var data = {
"Рыбы": {
"Форель": {},
"Щука": {}
},

"Деревья": {
"Хвойные": {
"Лиственница": {},
"Ель": {}
},
"Цветковые": {
"Берёза": {},
"Тополь": {}
}
}
};

И вообще бывает знатненько туплю - это знаxит что все очень похо?
#414 #1081668
>>1081660
Это значит что весь шеб - кривожопое говно, где для простейшей задачи надо пердолиться полдня либо делать npm install sum-two-numbers.
#415 #1081682
>>1074974 (OP)
sup, у меня есть динамическая таблица с добавлением строк по кнопке (ид генерируются по принципу "+1")
но мне нужно написать функции. для подсчета сумы значений всех ячеек (типо у меня есть первая, есть вторая, а остальных пока нет).
Вопрос: как мне поставить значение 0 для не существующих ячеек?
#416 #1081690
>>1081651

>Ну так и что там было-то?



Ну как я понял, там надо было сделать map items, достать тайтл, а потом сделать map item.author и достать автора оттуда.

Позже скину если будет интересно, кода под рукой нет.

Теперь другой вопрос. Есть аккордеон. Внутри него еще один аккордеон. Надо сделать чтобы при раскрытии второго аккордеона посылался запрос и происходил рендер этого запроса. То есть, я не должен иметь инфу заранее, а именно в момент клика по элементу, чтобы он открылся и внутри него прорендерилось из запроса.
#417 #1081727
>>1081660
Тоже не осилил это. Даже после объяснений автора учебника в видеокурсе. В итоге забил и продолжил изучение дальше.
#418 #1081734
>>1081660
А писать с применением ES6+ синтаксиса можно или это чит?
#419 #1081738
>>1081572
потому что мне лень было реакт поднимать для этого
что бы каждый title обернуть в какой то тег и вернуть в разметку
#420 #1081778
>>1081727
Ну и как успехи? Не вкатился еще? Сколько по времени учишь?
#421 #1081833
Пацаны, пишу бота для телеги, мне к бд на монгодб коннектиться при старте бота и уже не отпускать или коннектиться и отключаться при каждом событии для которого требуется обратиться к бд?
#422 #1081898
>>1080907
Нет никакой разницы. Метод это тоже свойство, только функция.
13 Кб, 1321x289
#423 #1081910
Блять. Столкнулся с проблемой. Обертываю код в аккордеон. В итоге получаю что один блок это список из пяти. Вместо пяти блоков. Как починить?

И второе, как мне отрендерить что-то именно в момент после того как я открыл одну из вкладок, а не просто сделать видимой. Какой-то эвент типа isOpen или isActive. И как отследить именно внутренний. То есть аккордеон в аккордеоне.
#424 #1081916
>>1081910
Хуёво разъяснил наверное. Обрабатываю array и вывожу как список. Когда одно значение - всё окей, но когда их несколько вместо того чтобы создать для каждого своё, он хуярит всё в один.
#425 #1081931
>>1081916
Все правильно он показывает, внутренний список авторов на итеме
#426 #1081940
>>1081931
Да, я понял. Как мне сделать так чтобы каждый из них был своим аккордеоном. То есть мог раскрываться.
10,4 Мб, 235x384
#427 #1081958
Котоны, я тут вебпацк с бабелем запустил и он мне выдал какой-то ебический файл на 10к строк. Так и должно быть, да?
12 Кб, 867x213
#428 #1081959
Анон, как получить активный элемент? activeElement возвращает HTMLBodyElement, в котором нет ни имени, ни id элемента.
#429 #1081966
>>1081958
Забыл добавить что "паковал" я один крохотный файл с reactdom.render-ом
#430 #1081967
Это нормально, что я не понимаю, что тут пишут?
мимоизучаю
#431 #1081969
>>1081967
Это нормально, что умудряюсь писать на javascript не зная javascript?
#432 #1081975
>>1081966
При таком раскладе ты мог бы одним лишь бабелем обойтись, без вебпака (ведь ты ассеты и ресурсы не бандлил).
#433 #1081980
>>1081967
Со временем начнешь понимать. По мере изучения.
#434 #1081984
>>1081975
Так этот бандл и должен быть таким здоровым?
#435 #1081991
>>1081984
А ты заглядывал в выходной файл?
Вебпак формирует своё окружение для поддержки разношерстных модулей (которое, ко всему прочему, скорее всего неоптимизировано для прода), а так же до кучи инжектит утилзы всякие, сюда же добавляй код после транспайлера, который по определению не может быть меньше кода на входе. Так что да, все резонно.
#436 #1081995
>>1081991
Надо было пыху учить. Спасибо
#437 #1082013
Двач, а вот я нагуглил, что нативный .sort() в JS медленный. И как оказывается, это именно он кладёт мне страницу при сортировке:

proposals_map = Object.keys(proposals).sort((a,b) => proposals[a].terms[Object.keys(proposals[a].terms)[0]].unified_price - proposals.terms[Object.keys(proposals.terms)[0]].unified_price);

Какой сортировщик лучше применить для сортировки выше? Пирамидой, пузырьком? Чо самое топчанское по производительности?
#438 #1082023
>>1082013

>Чо самое топчанское по производительности?



сортируй на сервере
3 Кб, 640x480
#439 #1082028
>>1082023
Хм, идея хороша, но попробуй угадать - какой из трёх языков у меня используется на бэкенде?
#440 #1082031
>>1082028
синенький ?
#441 #1082032
>>1082031
Именно он.
#442 #1082046
>>1082032
Какой большой слоник.
#443 #1082078
>>1082028
Используй Node js.
#444 #1082079
>>1082013
попробуй лодаш, ну или хотя бы посмотри как они реализовали сорт
#445 #1082099
>>1081682

>как мне поставить значение 0 для не существующих ячеек?


давай подробностей иначе попахивает зеленым
>>1081959

>возвращает HTMLBodyElement


>Body


не ешь подумой
>>1082028

>bubblecomparison.png


я тоже могу квадратиков в пайнте нарисовать
#446 #1082168
>>1082013
Единственное, что "не так" с Аррай#сорт, это то, что Хром использует квиксорт (не сохраняет изначальный порядок), а Фурифокс — мёржсорт (сохраняет).

Ты делаешь ещё два линейных Обжект.киз на каждом шаге логолинейной сортировки, сценарист хуев.
Сначала собери и посчитай нужные тебе цены в массивчик. А потом уже его сортируй.
Твой чудный однострочник мало того, что криво работает, так ещё и непонятен.
#447 #1082174
>>1082168

>ещё два линейных Обжект.киз


Так ведь они у него каждый раз от разных объектов.

>Сначала собери и посчитай


А какая разница-то, всё равно ведь те же самые действия будут выполнены, пускай и разделённые на два этапа.

>так ещё и непонятен


Это да, даже тебя сбило с толку. Так-то работает всё как надо https://repl.it/NP0O (ну, при условии, что в terms всегда только один ключ, и он с ценой).
#448 #1082208
>>1082099
да обычная таблица в форме,добавляю новые ячейки через appendChild cloneNode(true)
у элементов слудующей строки таблицы индексы в формате 'старый индекс +1'
в каждой строке таблицы нужно вычислить сумму типо var c = var a+var b (с парсингом конечно). я это сделал. это всё я прописал для 10 строк таблицы.
а теперь когда нужно найти суму этих var c каждой строки, то тут получается загвоздка, потому что скрипт работает только если в браузере в окне наклацать эти 10 строчек таблицы.
Пробывал делать через if (!element) { ..код..}, то всё-равно не работает.
Вот и думаю, можно ли придать этим "не существуюим ячейкам" value = 1; или может есть способ работать только с теми ячейками, которые я уже объявил в таблице в браузере
#449 #1082211
>>1082208

>эти 10 строчек таблицы


Почему 10? Откуда эта цифра берётся? У тебя там for (var i=0; i<10; i++), что ли, захардкожено? Почему бы тебе не пройтись просто имеющимся строкам (table.children там или ещё как)? А то как-то немного по-наркомански получается, что ты каким-то образом хочешь несуществующие элементы брать во внимание.

> if (!element) { ..код..},


if (!elements) срабатывает тогда, когда элемента нет. Ты только тут или и у себя в коде перепутал?
#450 #1082237
>>1082211
я в js совсем новичок
10 строчек, это как пример (эта таблица - только часть всей системы, которую я с accessa, которую я переделываю в Веб-форму, так-то в этой таблице должно быть не больше, чем 20 строчек) нет, там нет никаких for, я сам объявил 10 переменных по типу:
var wert = parseFloat(document.getElementById("wert").value);
var wert2 = parseFloat(document.getElementById("wert2").value);
и тд... до 10;
Как я это всё вижу:
окончательная функция имеет вид wert+wert2+wert3+..+wert10;
И, например, юзер выбрал 3 строчки таблицы, тогда значение wert, wert2, wert3 = будут те - которые вписал юзер, а у остальных value = 0;
я тут посмотрел, что это можно сделать как-то через document.getElementById('table id').rows.length; но как именно, я не знаю : /
к сожалению, код выложить не могу :С
#451 #1082248
>>1082237

>там нет никаких for, я сам объявил 10 переменных по типу


А таблицу на 50 или 150 строк как будешь делать? Почитай-ка про массивы и циклы лучше.
#452 #1082252
>>1082174

>А какая разница-то


Вопрос снимается, осенило. Но так ли это сильно затормаживает его сортировку, что может качественно помочь при аж зависании браузера?
#453 #1082253
>>1082252
Ну я бы не сказал, что у меня прямо зависает браузер. Сейчас вот отсортировалось 3911 таких объектов и при сортировке страницу зафризило где-то на секунду. Попробую, наверное, всё-таки сортировать на сервере.
#454 #1082257
>>1082248
я же написал, что максимально 20.
Вопрос сейчас не в этом, а в той последние функции
#455 #1082264
>>1082099
Спасибо, я покакол через chrome.tabs.executeScript. Через него activeElement обращается куда нужно.
#456 #1082278
>>1081969
Все так делают
#457 #1082286
>>1074974 (OP)
Посоветуйте библиотеку для генерации звука, которая может в ноты. Ну, чтобы не надо было руками с синусоидами возиться.
17 Кб, 605x647
#458 #1082287
Так, господа. Как блять стриггерить эвент при открытии accordion/collapse.

Попытался сделать <Accordion accordion={false} onChange={alert(Success)}>

И эта хуита начала вызывать бесконечные диалоговые, хотя я нихуя кроме как рендера не сделал. Она должна была вызывать только когда я кликнул бы чтобы она раскрылась.
#459 #1082312
>>1082248
ладно, анон, окей.
Я сделал цикл (for i=1; i<40;i++)
теперь у меня всё добавляется в цикле.
но сейчас тоже упираюсь в эту проблему, просто "зашёл " к ней с другой стороны.
как подсчитать суму значений всех элементов в цикле for?
8 Кб, 375x411
#460 #1082338
Антоны, помогите сделать рилейт, но без jquery, а на просто js.
Я нихуя не понимат
https://jsfiddle.net/qw6744wy/8/
#461 #1082342
>>1082338
так сделай для этого окна dislpay:none;
потом поставль onclick на кнопку, и функцию для смены display:none на display:block при нажатии клавиши
5 Кб, 380x161
#462 #1082365
Посоны!!!
Есть файл test.png. Надо его по пикселям разобрать и запихать в матрицу. Есть в JS какие-нить функции для этого? гугль не гуглит
В PHP например можно сделать как на пикче
#463 #1082366
>>1082365
Нагуглил кажися.
Ну это как всегда - вначале надо спросить, потом погуглить.
17 Кб, 722x274
#464 #1082374
Анус себе дёрни спам-листом, обезьяна.
#465 #1082377
#466 #1082379
>>1082342
Ну плиз(
#467 #1082400
>>1082374

>Если объект равен null или его ключ не равен чему-то


Но у тебя в условии другое написано. if (obj == null || obj.key !== "value") вполне нормально сработает. (Если null, то второе уже проверяться не будет)

А так, твоё текущее написанное условие, на самом деле, бессмысленно (если не выполнется obj !== null, то obj.key !== "value" никогда не сможет выдать тру, ведь для попадания в эту часть кода obj должен быть null), и его можно переписать как (obj !== null && obj.key !== "value"), в таком случае null тут же провалит всё условие. и obj.key даже не выполнится.
#468 #1082405
>>1082400

>Если null, то второе уже проверяться не будет


Да? Хм, буду иметь в виду. Тогда выкину эту хуйню и перепишу так.

Но сам вопрос так или иначе заинтересовал. Анонимная функция в условии это порою нужная вещь, или что-то на уровне goto?
#469 #1082412
Допустим прочел и там где додумался, порешал Кантора, туплю в замыканиях, прототипных наследованиях, не помню операторы dom.
Стоит ли читать Фленегана ?
#470 #1082423
Посоны, а поясните по хардкору, почему эта функция через раз срабатывает?

В html подключаю draw3.js и в body-script вызываю функцию init(). В draw3.js только эта функция. Сам файл test.png - белый квадрат хуевича. Консоль лог выдает то 0, 0, 0, 0 то 255, 255, 255, 255. Вот F5 жму, рефрешу страничку и то нолики, то 255. Шозанахуй?

Я его на виртуальном хосте запускаю, чтобы getImageData не ругался на cross-origin data.
#471 #1082425
>>1082423
Пиздец js что попало лепит :(
Обратно php расчехлять?
#472 #1082480
Аноны, такой вопрос - когда обработчик события на элементе DOM обычная функция - то при срабатывании this внутри него ссылается на элемент на котором он сработал.
А какое значение в этом случае будет иметь this если обработчик =>? У стрелки своего this нет, берет его из замыкания. Так написано.
И так по факту и есть вроде.

Но я не могу как то осмыслить а что мешает то в такой конструкции

elem.addEventListener('click', ()=>alert(this.innerHTML))

передать this в стрелку?

Типа у стрелки this нет как такового, и всякий раз когда this в ней объявлен он ищется как переменная в замыкании выше? Тут ссылается на window?

Вот пример:
https://jsfiddle.net/bkyu0sem/
#473 #1082495
>>1082480
В жопу эти стрелки, бесят своим уебанским синтаксисом.
#474 #1082498
>>1082480
В принципе сам понял. В стрелке this ищется в не в "контексте", а в лексическом окружение. Как если бы искалась какая нибудь переменная. То что стрелка объявлена как метод не играет роли, ее this будет браться из лексического окружения.

>>1082495
Угу, пихать this в колбеки гораздо интереснее.
sage #475 #1082503
Есть какие-нибудь гайды по созданию фронтендов? Я умею запросы на сервер посылать, новые элементы выводить или скрывать, но как это все правильно организовать?
#476 #1082545
Начал изучать JS с сайта http://learn.javascript.ru/ но понимаю, что он только по самым-самым верхам. Поэтому спрашиваю, как вы изучаете/изучали JS. Можно и книжечку порекомендовать, но я чуть-чуть в программирование вроде понимаю, так как немного кодил на питоне и пхп, но никаких серьезных проектов не было
#477 #1082573
>>1082545
Eloquent Javascript
You don't know JS
#478 #1082579
>>1074974 (OP)
Привет а чем вы отличаетесь от Java?
#479 #1082580
>>1082405

>Да? Хм, буду иметь в виду.


Может я не совсем ясно выразился, второе не будет проверяться только потому, что первая часть уже true, а значит что там после or стоит совсе мне важно.

>Анонимная функция в условии


Я бы сказал, что это срань нечитаемая. Но я никто.
#480 #1082609
>>1082498

>В стрелке this ищется в не в "контексте", а в лексическом окружение. Как если бы искалась какая нибудь переменная


ничего подобного. this это не переменная, это ключевое слово. и ни из какого окружения он не достается. попробуй написать что-то вроде
this = 5
и получишь ошибку
#481 #1082639
удачно сделал тестовое в две крупные конторы. в вакансии было написано сеньор ангулар жс. хотя задания были разные, суть одна: есть много хуйни с общим чем-то и они смотрят как ты это решаешь. в одном случае это были селектбоксы с вариантами ответов и общее кол-во правильных ответов на странице. в другом общий observable интервал на который подписаны компоненты-таймеры.
#482 #1082642
>>1082405
Ты стараешься выкрутиться за счёт абуза возможностей языка, а надо стараться писать по-человечески.
Отдельно определи предикат:
function hasOtherNameOrEmpty(obj, wrongName) {
return (obj === null) || (typeof obj === "object" && obj.name && obj.name !== wrongName)
}
Из-за "короткого замыкания" каждая следующая часть выражения может даже не выполняться.
false && alert("hui") // алёрта никогда не будет
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Логические_операторы

Тогда у тебя получится почти человекочитаемое
if (hasOtherNameOrEmpty(concreteObj, "vasya")) {...}

Всё равно плохое имя функции получается. Это потому, что нужно избегать двойные отрицания. "Ты не будешь не брать не яблоки?", — не понятно, что отвечать. "Яблоки берёшь?", — сразу понятно. Тебе нужно привести логику к прямым и простым утверждениям:
if ( isValid(concreteObj) ) {...}
else { тут для hasOtherNameOrEmpty }
#483 #1082643
>>1082480
this берётся из окружения на момент создания функции
http://exploringjs.com/es6/ch_arrow-functions.html#sec_lexical-variables

Можешь представить это так:
const lexical = this
elem.addEventListener("click", () => alert(lexical))

И это не зависит от "вложенности" стрелочных:
elem.addEventListener("click", () => ( () => (() => alert(this)) )() )()) // this === lexical, то же самое
https://codepen.io/anon/pen/mqbjXY?editors=0010
#484 #1082644
>>1082545
После Кантора с Нодой разобраться поверхностно:
https://www.w3schools.com/nodejs/default.asp
Надо, чтоб ты свой локальный сервер мог запустить и его заёбывать
https://medium.com/devschacht/node-hero-chapter-4-c2ebcd12565c

Потом про кишки подробней:
https://github.com/getify/You-Dont-Know-JS
Абузим функции:
https://github.com/getify/Functional-Light-JS
https://leanpub.com/javascriptallongesix/read
Абузим объекты:
https://addyosmani.com/resources/essentialjsdesignpatterns/book/
Делаем приложения:
http://chimera.labs.oreilly.com/books/1234000000262/index.html
#485 #1082671
Как блять вызвать сука действие именно на клик в этом ебаном collapse/expand элементе?
4,6 Мб, 1886x1414
#486 #1082672
Есть массива вида :

[4, [2], 3, [2]]

Нужно перебрать его. Т.е.

[4, [2], 3, [2]]
[4, [2], 3, [1]]
[4, [2], 3, [0]]
[4, [1], 3, [2]]
[4, [1], 3, [1]]
.
.
.
[4, [0], 3, [0]]
Это просто сделать двойным или даже одним циклом, но проблема в том, что формат входным данных меняется и может быть таким:

[4, [2], 3, [2], 2, [2], 1[4]]
Т.е. функция перебора должна подстраиваться под количество аргументов или проще говоря, циклы для перебора должны пилиться сами, как это зделать?
#489 #1082678
>>1082676
круууууууууто
#490 #1082685
>>1082676
Хорошая идея, спасибо.
#491 #1082693
#492 #1082694
Аноны, кто-нибудь когда-нибудь сталкивался с такой хуйней? Запускаю код - не работает, пишет, что такой-то элемент не определён. Добавляю в код console.log(elem) — всё работает. Что за магия? Это как-то свзяано с тем, что внутри колбэка я вызываю переменную, которая определена выше?

Вот этот кусок кода: https://pastebin.com/UgJnanNb
#493 #1082696
>>1082694
Причём такое поведение и в хроме и в лисе. Строчка timer = timer; тоже всё чинит, что за хуйня такая? Попробовал timer передавать в колбэк, а не вызывать как просто переменную определенную выше - не помогло.
#494 #1082701
>>1082693
Что конкретно нужно сделать?
#495 #1082712
>>1082694

ты добавь в консоль конкретно элемент который не работает, мб он тру не определён
#496 #1082717
>>1082694
>>1082696

у тебя же аргумент функции называется timer, ты к нему и пытаешься обратится в теле функции. назови его подругому, и всё будет пахать, инфа 95%
#497 #1082726
>>1082694
убери в строке console.log(timers);
все до точки с запятой
13 Кб, 694x180
#498 #1082734
С помощью нажатия кнопки выполняю функцию, которой получаю ответ и сразу же его обрабатываю, как вернуть в html обработанный ответ? Вот сделаю я вместо console log Допустим <li> и он мне вернет список. Как этот список вставить в html? на <ul>{Titles}</ul> он будет ругаться и требовать обозначить что такое Titles.
13 Кб, 1125x204
#499 #1082735
>>1082712
>>1082717
>>1082726

Пиздец, это совсем наркомания какая-то. Тайны никакой нет, но слишком сильно не обоссывайте, я только учусь.

Код 1: https://codepen.io/anon/pen/GOKzVY НЕ РАБОТАЕТ, таймер автоматически не запускается.
Код 2: https://codepen.io/anon/pen/POYVMX РАБОТАЕТ, таймер автоматически запускается.

(js прямо в html, копипаст из index.html)

А теперь, внимание, пикрелейтед! Вся разница между рабочим и нерабочим кодом это появление строки console.log(sections == undefined);. Суть, как я понимаю, такая: если в коде не сделать какое-либо действие с переменной timer и переменной sections (похуй что: console.log; присвоить её же значение, сравнить с андефайном), то код ломается.
#500 #1082736
>>1082735
Алсо, если появляется надпись Second\Third content — удалите куки и LocalStorage для s.codepen.io.
#501 #1082737
#502 #1082739
Какая же обширная тема - фронтенд. Тем более с моими возможностями учить его. По 2-3 часа в день. Я еще за месяц даже лендинг сверстать не могу. Знакомый сишарпист за полгода после работы под пивко уча сишарпы уже устроился стажером в офис, а я так чувствую, что с моими темпами учебы и всем тем что надо выучить (препроцессоры, фреймворки, сборщики и т.д) я за полгода только к жс доберусь.
#503 #1082741
>>1082739
так учить надо жс а не это говно
типичный вкатывальщик начинающий с туториала по ангулар 2 ты? да ты
#504 #1082742
>>1082741
Так я верстать не умею, куда мне сразу жс?
#505 #1082743
>>1082742
тогда учи html и css нахуя тебе препроцессоры, фреймворки и сборщики?
#506 #1082744
>>1082743
Чтобы потом выучить жс, риакт и начать работать.
#507 #1082745
>>1082744
топ кек
#508 #1082747
>>1082737
Ебать, вот это фейл так фейл. Сразу бы макнули в говно и сказали, что ; проёбана.

Ой, пиздец, удоляю пока никто не увидел!
#509 #1082749
>>1082745
Расскажешь?
#510 #1082750
>>1082747
да вот я тебе же сразу написал:
>>1082726

только с именем переменной твоей ошибся там timer у тебя в оригинале
#511 #1082751
>>1082749
извини я пытаюсь вырастить кодера из 16 летнего ребенка и уже заебался с вами тупорылыми спорить и че-то объяснять. тебе я все скзал что хотел. дальше сам
#512 #1082757
>>1082751
Ну я руководствуюсь гайдом от двача.
#513 #1082763
>>1082757

Но это не гайд, а гайдлайн. Это сборник советов откуда начать и чем заняться, а не "прочти эту книжку и вкатишься в профессию".
#514 #1082766
>>1082763
Ну я с абсолютного нуля начинаю, от туда и беру друг за другом пункты что учить и учу.
#515 #1082837
перекат >>1082836 (OP)
перекат >>1082836 (OP)
перекат >>1082836 (OP)
перекат >>1082836 (OP)
перекат >>1082836 (OP)
Тред утонул или удален.
Это копия, сохраненная 17 ноября 2017 года.

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

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