Прошлый: >>1108498 (OP)Этот тред посвящён уже нахуй никому не нужному языку прошлого - JavaScript, который через пару лет будет похоронен WebAssembly. Благодаря своей кажущейся дебилам простоте, веб-макаки затащили его уже и на сервера, и в мобильные приложения, и на десктопы, и ещё хуй знает куда, что привело к экспоненциальному росту количества написанного говнокода. Благо синтаксис позволяет легко писать на нём говнокод любой степени ущербности, а производительность позволяет писать на нём даже анимашки для лендингов и интернет-магазинов. Впрочем, для уменьшения потока говнокода от веб-макак каждый день выпускается по 100500 JS-фреймворков, благодаря чему веб-макаки теперь в основном тратят своё время на чтение доков по этим фреймворкам, а не на написание говнокода.JavaScript по праву является самым популярным в мире языком: ведь дебилов среди людей - абсолютное большинство. На каждом сайте пока ещё есть браузерный JavaScript, а от JavaScript на сервере все постепенно отказываются.Часто задаваемые вопросы:https://github.com/vladimir37/js-thread/blob/master/Wiki/faq.mdСписок материалов для изучения:https://github.com/vladimir37/js-thread/blob/master/Wiki/learn.mdСписок инструментов и направления JS-разработки:https://github.com/vladimir37/js-thread/blob/master/Wiki/tools.mdИнструмент для визуализации и экспериментов со связями между объектами в JavaScript:http://www.objectplayground.com/Конфа /pr/ в Slack:https://slack-2chpr.herokuapp.com/JS-конфа в телеграме:https://telegram.me/jsthreadНЕ КОПИРУЙТЕ КОД ПРЯМО В ТРЕД! Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
Вложил в этот перекат весь свой опыт перекатов. На правах ОПа задам ебанутый вопрос.>строка 5289 - вывод на экран массиваconsole.log(object.airports.departure);>строка5290 - Cannot read property 'airports' of undefinedfor(let i = 0; i < (object.airports.departure).length; i++)КАК. ЭТО. ВОЗМОЖНО.
>>1123043Вопрос снимается. Я невнимательный ебач.
>>1123063/thread
>>1123043Надеюсь такая беспомощная херня как ты не разрабатывает интерфейс в аэропортах на которых я буду летать. Ну что за пиздец!
>>1123043И какова разгадка?
Что скажете по поводу пикрил JavaScript. Карманный справочник. Дэвид Флэнаган? Годнота ли для связки с Кантором? В том смысле, как книга, которую можно читать в транспорте, заучивать теорию без воды и всякое-всякое. Собираюсь приобрести, как вкатывальщик. Кантор даёт хорошие знания, но достаточно ли этого? Закрепляю знания теорией с ютуба Sorax и практикой по написанию дичи var huy = 5; alert("huy");. Ещё даже основы JS Кантора не прошёл, поэтому и спрашиваю у вас. Есть ли смысл брать данную книжечку, почитать когда еду с учёбы, на парах философии, на толчке и так далее. О "Подробном руководстве" так же прошу высказаться, если есть возможность. Информация устарела возможно, никто не поспорит с этим, но там ведь излагается тот фундамент, без которого вообще никуда? Глянул электронный вариант книги, вроде всё просто и легко излагается, без лишнего, с таблицами и теорией. Охватывают даже связь JS с HTML и CSS, а весь синтаксис описывается из спецификации ECMAScript 5. То есть чтобы действительно закрепить пройденное. Ещё небольшая, как для книг по программированию, цена. Дискасс на эту тему. С меня как всегда нихуя и два чая.
>>1123151Бесполезная покупка. Это справочник. Его не надо читать, к нему надо обращаться с конкретным вопросом. Искать что-то в устаревшей книге не лучшая идея, если ты не в горном ауле. Обращаться ты всё равно будешь в Гугл.Читай пока Кунотора, лучше английскую актуальную версию. Открой для себяhttps://developer.mozilla.org/en-US/https://stackoverflow.com/То есть, прочитал что-то у Кантора, и тут же поискал это на этих ресурсах дополнительно, воспроизвёл примеры, побился об подводные камни.А читать промеж делом это бестолково. У тебя только иллюзия осведомлённости будет, на следующий день ничего не вспомнишь. Подпишись тогда на агрегатор типаhttp://javascriptweekly.com/и читай всё подряд. Хотя бы хайповые базворды знать будешь.
Решение верно находит пары, но при получении огромных массивов, не хватает времени.Как можно ускорить выполнение?
>>1123192Есть хороший алгоритм для таких вещей, нужно отсортировать массив. Установить два указателя на начало и конец и в зависимости от суммы элементов смещать их. Вот пикрелейтед я тебе накидал, это работает быстрее чем твое O(n^2) решение. Единственное по условию твоей задачи нужно только первое совпадение вывести. Причем самое левое в оригинальном массиве. Если значения уникальные, то можно после нахождения возможных значений воспользоваться indexOf и взять наименьшие индексы. Если элементы могут повторятся - я хуй знает как эту задачу решать.
>>1123215У этого вроде ассимптотическая O(2 * n);
>>1123162Спасибо. Примерно это и хотел узнать, есть ли смысл. Пока продолжу читать Кантора и брать ещё информацию из предоставленных тобой сайтов.
https://vimeo.com/111122950
Захотелось написать маленькое приложение под винду для себя, которое бы взаимодействовало с файловой системой (только чтение), electronjs для этих целей норм, или есть что-то получше?
>>1123230> electronjsОчень удобно, под себя.
>>1123230Я бы выбрал лучше jscript или jscript.net, и по хуй, что технология древняя. Мало жрет ресурсов, работает на всем парке начиная с ХР.
Возможно ли применение TDD в верстке под вордпресс или нет?
>>1123250Тебя в гугле забанили? google://tdd wordpress
почему в js такое уебищное ооп, пытаюсь разобраться со всем этим говном и просто пиздец__proto__, prototype, constructor - как понять эту ебанутую хуйню?
>>1123299Никак, привыкай-страдай
Сап, сеньёры. Дело такое, осваиваю бекенд, написал микросервис для одной хуйни, и хочу чтобы анон, оценил и обосрал если что не так. Код https://github.com/artixx/radarСам микросервис занят тем, что по запросу берёт json от двача, переводит в единый формат и возвращает. Знаю, что одной из проблем будет скорость работы, так как при каждом запросе он заново запрашивает и мапит треды, надо сделать ещё что-то вроде кеша по запросу. Ещё конфигурация всрато получилась, но пока хз как её удобнее делать, поизучаю как нибудь эту тему.Примеры запросов https://pure-wave-92397.herokuapp.com/b/threadshttps://pure-wave-92397.herokuapp.com/pr/threads/1123037https://pure-wave-92397.herokuapp.com/pr/threads-lightИнтересует мнение экспертов, чё не так, что можно улучшить и оптимизровать.
>>1123274я сказал верстку под вордпресс, а не плагины с phpunit под вордпресс.
>>1123314Козлик ёбаный, ты разницу между вёрсткой и разработкой знаешь? TDD — test driven development, никак с версткой не связан.
>>1123354фронтенд - это и есть разработка!!!
>>1123354Я чет тоже охуел, думаю ребята уже разметку тестируют. WAT
>>1123359Если модульная сборка, импортируешь модуль в файл с тестами и там тестируешь.
>>1123359А, понятно, спешите видеть, у нас тут хтмл5 разработчик, со знанием цсс.
>>1123230Нет, не норм.Все равно, что из пушки по воробьям.Electron или NW для больших приложений. Это блядь целый браузер. Для маленьких приложений можно написать расширение для браузера, chrome app, или сервис на той же ноде или go, который будет отрисовывать ui в уже установленном браузере. Нахуя вы для мелких утилит используете то, что для них не предназначено.
>>1123299Если тебе что-то не понятно - это не значит, что это что-то уебищно.
>>1123299Достаточно понять как выглядит объектная система. Представить граф объектов. Нарисуй.
>>1123299С болью и трудом.Лучшее обьяснение тутhttps://learn.javascript.ru/oophttps://learn.javascript.ru/prototypeshttps://learn.javascript.ru/es-objecthttps://learn.javascript.ru/es-classБерёшь и учишь последовательно и внимательно. Причём держи наготове ноду или браузер, где ты будешь тестировать и экспериментировать.
Привет скриптач, хочу _все_ функции писать каррированными:[code]const (a) => (b) => a + b[/code]Вместо:[code]const (a, b) => a + b[/code]Какие подводные камни? Заметил, что во многих воннаби функциональных JS-проектах функции не всегда пишутся каррированными, почему?
>>1123427Сам как думаешь?Не видишь что расход памяти пропорционально растет? На каждую функцию помимо самой функции создается лексическая область видимость.В твоих примерах вместо одного объекта функции и одной lexical scope у тебя четыре объекта в памяти.
>>1123427>const (a, b) => a + bэто быстрее
Очень жаль. Но как же тогда мне стать функциональным господином в JS?
>>1123470Бери и становись. Жоэс вообще, и ФП стиль в жс не для числодробилок.
>>1123494Нечислодробилки с его подходом будут еще медленнее.
Вебач, как там в 2018 на канвасе надо рисовать? В 3d-движках все ясно, ты сначала очищаешь экран, потом все рисуешь и кладешь отрисованный кадр в буфер. Когда же я пытаюсь следовать той же логике на канвасе, то у меня только рисуются прямоугольники. К примеру, вт такой говнокод в цикле мне почему-то постепенно закрашивает весь экран, хотя должен отрисовать постепенно спускающийся прямоугольник.[CODE]gf.clearRect(0, 0, canvas.width, canvas.height); gf.rect(0, iterator, canvas.width, 20); gf.fillStyle = getRandomColor(); gf.clearRect(0, 0, canvas.width, canvas.height); gf.fill(); iterator += 20; if (iterator > document.body.clientHeight) iterator = 0;[/CODE]
>>1123596А движки по твоему не на канвасе рисуют что ли.Без них ты должен делать тоже самое, что с ними.Рисовать, очищать, рисовать.
>>1123601Так ведь у меня очистка не работает, а отрисовка работает
>>1123606https://www.html5canvastutorials.com/advanced/html5-canvas-animation-stage/
>>1123612Все оказалось просто, ебучий костыльный жс забывает добавлять в память отрисованные прямоугольники без context.beginPath();
>>1123644> жс забываетАхуенно ты оправдываешь собственную тупость.
Какой есть устоявшийся паттерн для такого?var data = {};function getValue() {return asyncFunc().then(res => {// do smthdata = res;return res;});}function exportValue() {// должна возвращать или уже resolved data, либо промис getValue}func1() {exportValue().then(res => {})}func2() {exportValue().then(res => {})}// exportValue должна вызываться только один раз
>>1123661По документации clearRect чистит канвас вне зависимости от того, что там кем отрисовано, а на деле без beginPath ничего не происходит
>>1123698Кому ты пиздишь
>>1123427С другой стороны и forEach гораздо медленнее:for x 3,802,459 ops/sec ±2.42% (79 runs sampled)forEach x 2,335,434 ops/sec ±1.14% (84 runs sampled)Что ж теперь, и от него отказаться? А ведь я еще кучу другого сахарка не бенчил. Если так дальше размышлять, то язык в Ассемблер превратится.Пытался писать в функциональном стиле и радовался как ребенок - красиво так получается, лаконично, и понятно.И тут такое говно. Думал, V8 все это как-то оптимизирует волшебным образом, но нет.Потом начал читать рандом срачи в интернетах и обнаружил, что многие люди бугуртят с каррирования, типа (a, b) - заебись, а (a)(b) уже сложна-сложна нипанятна.И теперь я дальше думаю - научусь в FP стиле писать, найду работу, а там начальник заставит вилкой императивно писать, потому что местным кодерам непривычно.Перекатываться куда-то еще нет ни времени, ни квалификации.forEach еще ладно, всего в два раза медленнее (хотя это тоже дохуя), но каррированная функция всего из 4 аргументов становится уже в 25 раз медленнее и в 250, если каррировать Рамдой. Просто пиздец.
>>1123741Потому что во всем должен быть баланс.Когда отголоски фп не повсеместно, а местами, это еще не так страшно для производительности. Когда у тебя весь проект будет функция через функцию, вот тут ахуеешь. Но дело каждого. Кто-то так же фанатично и ООП использует только потому что.
>>1123741В чем твоя проблема. Хочешь писать чисто на ФП, бери ФП языки транслирующиеся в JS. Их уже есть и много.
>>1123764Пикрелейтед. Даже если брать мелкие проекты и в одно ебало их писать, заказчик в 95% случаев пошлет тебя нахуй с твоими ФП языками, потому что зависеть от одного-единственного функционального господина бизнесу (тем более мелкому) не кайф.
>>1123780Тебя точно так же могут послать с твоим фундаментальным ФП подходом.
Вкатываюсь во фронтендщика. Учу пока верстку на htmlacademy и немного охуеваю. Такое чувство, что проходить тему "Рамки и фоны", где меня учат ставить на бекграунд картинки или создавать стрелки и треугольники, просто трата времени. Но и скипнуть не могу, боюсь что потом аукнется когда буду тяжелый макет верстать. Что можно скипнуть чтобы до сентября уже в стажера хотя бы вкатиться со знанием жс и реакта.
>>1123799Бери макеты и верстай. Походу дела гугли, читай документацию, чтобы сверстать то или иное.
>>1123804Так это получается методом тыка, разве такое нормально? Не надо сначала матчасть поучить, а потом браться хотя бы с минимальным базисом?
>>1123805Матчасть чего. Верстки? Вся матчасть укладывается в то как пишутся теги, и css правила. Дальше читаешь по каждому отдельно, и методом тыка лучше всего. Тебя никто не научит правильно делать треугольники, потому что нет такого понятия как правильно. Все можно реализовать сотней способов. Какой из них рациональнее ты должен понять - а не выучить.
>>1123805Кто тебе мешает совмещать свои курсы с методом тыка. Вот и разбавишь свою скуку, чередуя. А потом сделаешь вывод, что принесло больше профита.
>>1123799> учу верстку.> вкатится со знанием жс и реакта.Вообще никак не связанные темы. По делу - проходи ВЕСЬ Html Academy, там реально полезные интерактивные курсы. Но проходи не просто так, делай записи в тетрадку, верстай свои макеты. Не зацикливайся на этом. HTML/СSS на базовом уровне не сложный и кладется в голову за 2 недели. А вообще странный вопрос, если ты вообще нулевый придешь. Такой "я знаю реакт", а на бекграунд не сможешь картинку поставить, о чем с тобой говорить?
Какое же говно этот ваш язык, надо было сказать нет, когда мне предложили взяться за такой проект. Как жавист, скоро буду кровью плеваться от количества разных стандартов и отсутствия нормальных ide с автокомплитом. Да, есть убогий vs code, который обертка от ноды и хрома.
>>1123841JS самый годный язык. А ты просто рвешься от собственной тупости.
>>1123848Говно для идиотов, которые не осилили типизацию, вроде тебя.
>>1123857Пруфай, что я ее не осилил, дегенрата ты кусок.
>>1123857Какая ирония судьбы! Осилил типизацию жаву, а писать приходится на js говне.
>>1123857>не осилили типизацию.Осилили это наркоманское прототипное OOP, с лексическим окружением/скоупами цепочками. Слава аллаху в ES6 появилась обертка вокруг всей этой еботы. Но зато не осилили, что перед запуском функции просто декларируется тип аргумента. Ага, конечно. СЛИШКОМ СЛОЖНО.
>>1123857А как из того, что ты не осилил динамику вытекает то, что кто-то не осилил статику? Ты уверен, что выбрал правильную профессию с такой логикой?
двачик объясни, почему тупскрипт не ругается на пик, по идее x должна вернуть массив объектов Options, а я вот возвращаю пустой массив и ему похуй
>>1123987ну то есть я в теории понимаю что чекер не может определить будет ли у меня пустой или полный массив в рантайме, но тут очевидно же что пустой. Чего я недопонимаю
>>1123987Это что за язык программирования вообще? Этож не ЖС?
>>1124020это TS
>>1123841если бы не статическая типизация, я так бы и не узнал, зачем мне ide вместо редактора
>>1123299А ещё почитай как-нибудь You don't know JS. Там во всех подробностях описано, что из себя JS представляет.Вкратце, жабаскрипт вообще не ООП в классическом понимании, его только пытаются сделать подобием такового кучка ниосиляторов, не желающих разбираться в прототипах, своеобразной работе this и прочем.
Я бы рекомендовал сначала попробовать Lua. Там тоже прототипы, но намного проще всё. Потом брать жс как следующую ступень, где сложнее работа с this, свойствами объектов и безальтернативная реализация прототипов.
Господа, есть ли что-то на горизонте из функциональщины, что могло бы компилиться в васм?
>>1123944Двачую. Динамика по факту сложнее статики. В статике с тобой и компилятор нянчится, и в целом код легче для понимания - особенно если брать современные немногословные языки вроде Котлина и Свифта.
Как же я люблю JS
у меня вытекают глаза, читая нововведения в ES6.js итак был не особо логичным и удобным языком, но его превращают в убер монстраvar f = function() { return ['this', 'is', 'array'];};var [ first, second, third ] = f();
>>1124319И что тут нелогичного, дебс? Это есть не только в js. И да, проснись, на дворе ES8
>>1124319>ES6.>var
>>1124319const {mamku,tvoy,ebal,} = pidor
Как правильно делать импорты?import {MyClass} from '../MyClass'илиconst MyClass = require('../MyClass')
>>1124376<srcipt src="myclass.js"></script>
>>1124379Имелось ввиду в nodejs.
>>1124380ну import конечно, что за идиотские вопросы.это стандарт. и все окружения идут к реализации загрузчиков под этот синтаксис. когда в WebAPI запилят Module Loader, можно будет и в браузере использовать import
Нужна небольшая помощь со скриптом (расширение для хрома). Может кто помочь?
>>1124414все могут, но насколько небольшая? Ты можешь не мять сиськи и обрисовать че те надо?
>>1124423Да там делов на полчаса, я бы сам сделал, но занят. Есть нативная программа на C++ для работы с 3D, надо перенести ее функционал в веб, ввиде расширения (ну это шоб, лучше интегрироваться ос, ну ты понимаешь же, да)
>>1124384Там с этим серьёзные проблемы, такчто в ближайшие годы не будет на ноде импорта. Если вообще будет. Прогонять каждый раз код через бабель на ноде - зашквар.
>>1124423Поправить небольшой уже готовый скриптЕсли у тебя есть телега, отпиши плс, там все обговоримВыше про кресты писал не я
>>1124437Они там уже есть.
>>1124442@anonuserLE
>>1124437>Прогонять каждый раз код через бабель на ноде У тебя наверное LTS, и у меня. А у этого анона >>1124444 9-ая уже.
>>1124461На 9-ке такжеimport Letter from '../entity/Letter'^^^^^^SyntaxError: Unexpected token import
>>1124464https://nodejs.org/api/esm.htmlНет, не так же.
>>1124469Ну тогда хуй его знает, нода 9.4.0
>>1124501написано же, что под флагом. как когда-то es6 harmony фичи были.
>>1124501Бабель!
>>1124545>>1124506Ну это постоянно таскаться с костылями, проще подождать, не критично пока что.
>>1124585С какими еще костылями. Параметр командной строки костыли? Ты с ума сошёл?
>>1123037 (OP)Что это за рекурсия такая? На что ссылаются эти алерты?
>>1125310apply* имел ввиду.
сап, жсач. планирую убить соседку и выебать ее труп. потом надо будет запилить сервак с пастой. как это лучше всего сделать?
>>1125310> x = {}, x.x = xв чем проблема?
>>1125325Я ньюфаг, бро, я не понимаю
>>1125327Циклическая ссылка.
>>1125324>выебать ее трупТебе в ПХП-тред.
tesad
>>1125366Тот ебанутый джавистом был, говорят.
>>1125331Циркулярка.
Есть класс MyClass и в нем два async методаMyClass {async method1() {return this;}async method2() {return some_string}}Можно их как-нибудь запустить в одну строчку? я хочу что-то такого:let action = await new MyClass().method1().method(2);А сейчас делаю так:let action = await new MyClass();await action.method(2);
>>1125564>А сейчас делаю так:>let action = await new MyClass();>await action.method(2);Здесь занаркоманил в спешке:let myClass = new MyClass();await myClass.method1();let myString = myClass.method2();
Наговнокодил тут приложуху на реакте с кучей сетстейтов и теперь оно мне выдает около 15 рендеров при первом появлении. Так-то ничего не тормозит, но всеж это норма или нет?
>>1125609Не норма. Что у тебя там происходит, блядь?Все асинхронные данные до загрузки компонента должны получаться в component will mount методе. Это не вызовет перерендер всего приложения 100500 раз. Какие нужно стейты на старте устанавливаются в констркуторе класса. Каждый компонент должен отрендерится один раз. А не тормозит - потому что реакт сверяет реальное DOM дерево с твоим и заменяет только отличающиеся элементы. Если рендер была вызвана и нихуя не поменялось в доме, то нихуя и не произойдет.
Сап программачСегодня я вкатился в программирование, а именно в JSЗашел на кодварс, чтобы порешать задачкиВот мой код (условие задачи по той же ссылке в комментарии сверху) :jsfiddle.net/orphgutL/1Как вам? Довольно элегантно, да?
>>1125614Ну вопщем, я загружаю данные с сервера, но вставляю их в приложение не прямым путем, а через метод добавления (ну тип каждый раз прожимается кнопочка "добавить"), который при каждом выполнении вызывает setstate
сап аноны. я ньюфаг и хочу вкатиться в js. в общем есть БД на Firebird, можно ли сделать веб страничку на js чтобы работать с ней? Мож там фреймворки какие? Что читать, куда смотреть? спасибо
>>1125620Обновленная ссылка с условиемhttp://jsfiddle.net/orphgutL/3
>>1125661>>1125620Знатно ты упоролсяhttps://jsfiddle.net/ykyv42h4/
>>1125690Ну оно хотя бы работает, я только начал изучать кантораМожно вообще сделать без циклов, просто 10 миллионов if, почему бы и нет
>>1125703Я тебя не корю. Похвально, что ты интересуешься подобными вещами. Может вырастешь во что-то большее чем формошлеп же. Keep it up.
>>1125707> Может вырастешь во что-то большее чем формошлепЭти маняфантазии. Назови 5 крупных проектов, где джиси используется не для обработки форм. Без всяких там юнити-хуюнити. Вот прям игры, приложения, ну ты понел. И что бы в зависимостях не было браузера, как в электроне.скрипт кидди, будьте реалистами, джиси умирает, цсс3 и хтмл 5 уже умеют многое из того ради чего ваша недоджава разработалась за 2 недели.
Это я такой тупой, или нужно выбрать другой подход к обучению? Два дня назад читал про циклы из Кантора, задачки так и не вышли у меня. Сегодня прочитал ещё раз, тему понял, но половину задачек я сделал неправильно/не сделал вообще. А это ведь только основы, а я уже зарываюсь на самое дно и не могу решать задачки. Практиковаться дальше или попробовать что-то ещё? Советы, что это не моё сразу идут нахуй, так как всё равно буду пробовать. Подкиньте советов годных, перечитывать теорию по 10 раз уже надоело, всё запоминаю, а решить задачу всё равно трудно. Ноотропы и другие вещества тоже не предлагать. Есть ещё книга "Выразительный JavaScript". Может в один котёл к Кантору закинуть и читать? Но боюсь теория опять-таки не поможет, нужна практика, полагаю. А на кодварсе для такого уровня нет задач. Есть ещё вариант делать максимум, а то что не получилось — пропускать. Помогите, а то мотивация совсем пропадает.
>>1125739это не твое
>>1125724Самый пиздатый редактор VSCode написан на JS целиком и полностью. Ну и нужно понимать, что JS создавался для решения задач в вебе. Прямо сейчас ты двачуешь благодаря этому языку. XHR тоже CSS за тебя отправлять будет? Вангую JSу еще как минимум лет 7 жизни. Единственное, что ему "угрожает" это Webassembly, и то я сомневаюсь, что для обработки формочек и разработки интерфейсов плюсовики будут писать код. Скорее WASM будет только там где бутылочное горло в приложении.
Анон, я 2 день уже ебусь с вебпаком и надеюсь толко на тебя.Предыстория: пишу апп на реакте (webpack 3+), аноны посоветовали поставить hot loader. Два дня ебусь с вебпаком, пробовал и 2 версию, и вебпак серверы и прочее говно, но нихуя не получается - или вообще нахуй не собирается или реакт компоненты не апдейтит.В итоге сделал через create react app и eject, вроде работает, но теперь другая проблемав jsx есть <img src={require('assets/img/blueprint.png')} alt=""/>выкидывает (windows, да)You attempted to import F:\Projects\owl-eye-main\config\src\app\assets/img/blueprint.pngя уже заебался и не понимаю, какого черта у меня теперь слеши в обратную сторону стоят. Впрочих require такого нет (в тонкостях импортов в js и прочего особо не разбираюсь - в основном пишу на django)Я понимаю, что скорее всего где-то сделал глупую ошибку, но где?
>>1125739Ты странный, тебе язык для каких задач вообще? Чтобы был или что? Я поражаюсь таким людям. Используй его для того, что тебе нужно сделать. Уметь в алгоритмы это - суперкруто, но нужно понимать, что крутить на хую красно-черные деревья, сортировать списки и считать числа бернулли и ряды по формуле Фаулхабера лучше в других языках. Косолапый байтослесарь, напишет говнокод и это будет работать в 10 раз быстрее твоего. Прямо сейчас открывай learn.javascript.ru в одной вкладке, твой проект в другой и делай.
>>1125747на винде сидишь?
>>1125747Мне твоим пиком жопу порвало. В фронтэнде ад и погибель, а в бекэнде мне всегда удобно, приятно и комфортно.Мне бы работать с автором пика, чтоб он своё говно с обработкой кнопочек и расположением квадратиков пилил, а я сервера.
>>1125749ах да не заметил, но кроме слешей путь правильный?то что у тебя в /config/src/ лежит?
>>1125750ну так воспринимай тогда какверх - взгляд фронтендера на бэкендниз - взгляд бэкендера на то, что творится в мире фронтенда (вот я примерно так все эти вебпаки, ноды сейчас и вижу)
>>1125747>2 день уже ебусь с вебпакомЭтож мало. Продолжай, через неделю недели глядишь начнёшь что-то понимать.
>от JavaScript на сервере все постепенно отказываютсяПоясните за серверный жс, что там и как сейчас.
>>1125750Сто хуев там. Необходимость изучить сборщик и менеджер зависимостей и один или несколько довольно несложных фрейморков, делающией жизнь простой и приятной, вместо jquery дрисни и говнолапши, помноженной на браузеропроблемы не является чем-то космическим или рокетсаенсным. Скорее наоборот. Хотя, если учесть среднего JS-разработчика, то тогда да -вышеописанное близко к сакральным знаниям и запредельной сложности.
>>1125787Автор ноды сказал, что его поделие хуита и душа живет в паскале для даунов Го.
>>1125564Скобками оберни да и всё.>let string = (await myClass.asyncMethod()).syncMethod()
>>1125742Что ты говоришь) и окно, и отладчик, и терминал) все на жиэс) больше не написали что ли?> Ну и нужно понимать, что JS создавался для решения задач в вебеЛiл! А как же ноде жыэс?Касаемо 7 лет жыес — это вообще пиздец как смешно. Откуда такие прогнозы?
>>1125848>Лiл! А как же ноде жыэсХуил.Это хипстоподелие появилось спустя овер 20 лет с появления JS и оно было, как это принято у хипстеров, разаработано с использованием готового кода гугла, которые действительно, несмотря на пидарские понятия в своей конторе, сумели сделать действиельно быструю для говнодинамического языка вещь (вот почему лисп языком для веба не сделали). За эти 20 лет язык JS и его реализации в браузерах менялись, да. Как в советском анекдоте по доработке баржи в авианосец напильником. Изначально предназначенный для написания колбеков в тегах <form> и ЦвЕтНыХ БеГуЩиХ СтРоК:) начинал превращаться в монстра.
>>1125850Безусловно, даже на чистом HTML можно сделать достаточно много, и жс часто бывает overused. Но насчёт монстра я не согласен. Да, есть большое количество легаси, но его уже решили через бабел, пожалуйста, выбирай себе произвольные цели для сборки, любые наборы браузеров, и оно высрет из твоего ES7 то что заработает даже на старом осле.В жс действительно есть несколько нелогичных вещей, пришедших ещё из эпохи его рождения, все эти таблицы равенства, {} + [] и прочий WAT. Но за последние годы такого говна в жс никто не добавлял.Вот ещё все ругаются на тему сахара, якобы сам язык не развивается, только сахар добавляют. Ну так этот сахар ни что иное, как лучшие практики, выбранные в том числе из надстроек над тем же жс. Я сомневаюсь что сообщество будет радо если жс запилят с нуля и все батарейки придётся переписывать. А так всё обратно совместимо, некоторые старые вещи даже органично захотят под новые сахарные фичи, всем хорошо, какие тут проблемы могут быть?Жс не так уж плох, серьёзно. Взять например луа, там всё конечно просто и красиво, но стдлиба и таблицы порезаны под самый минимум, будь в браузере луа, был бы ещё больший бардак с переизобретением примитивов. Поэтому луа доминирует в минималистичных встроенных скриптах и больше нигде. Жс это уже следующая ступень сложности. Дальше питон-руби, но эти уже сильно завязаны на свою стдлибу и намного труднее изолируются в сэндбоксы: например встроенная функция open в питоне, её никак не вырезать.Сейчас тренд по сути в том, чтобы затащить как можно больше функционала нативно в браузер и выставить наружу простые апи для жс. Да, получается своебразная ОС внутри ОС, но по степени распространённости эта платформа уникальна, ни одна другая не была так популярна, кроме возможно совокупно всех мобильных платформ вместе взятых. Браузер это ни что иное как удобный сэндбокс для безопасных приложений не требующих установки, и совсем не обязательно топить за исключительное использование его как текстового движка. То есть вся эта ботва становится универсальной и сложной, вполне себе энтерпрайзной и тяжёлой, и это неизбежно.
>>1125799Сейчас бы пытаться вяло трольнуть используя вырванные из контекста протухшие цитаты.
>>1123987У объектов один и тот же интерфейс (список полей одинаковый), поэтому TS похуй
>>1125748Какой блядь проект? Анончик же написал что не может в циклы пока даже въехать.>>1125739Пытайся представлять принцип действия программы у себя в голове. Просчитывай значения всех переменных на каждом шаге цикла, сначала будет сложно, потом придет понимание и будет уже полегче. Если сразу очень тяжело и все-таки подглядел решение, то попробуй вернутся к задаче через некоторое время и решить уже самостоятельно, так лучше будет для запоминания принципа работы.Алсо если твоя программа правильно работает, но код отличается от того что написан в учебнике то это не неправильное решение. Оно может конечно выглядеть иногда слишком громоздко по сравнению с кодом опытного программиста, но это нормально, ты же сейчас только учишься.
Зачем вообще учить всякие фреймворки типа того же AngularJS, почему не пишут на чистом JS? Ускорение разработки и удобство? Можно подробнее об этом?Алсо, пишут ли на чистом JS для реальных сайтов? Имею в виду фронтенд.
>>1126273>Зачем вообще учить всякие фреймворки типа того же AngularJS, почему не пишут на чистом JS? Ускорение разработки и удобство? Можно подробнее об этом?http://blog.topolyan.com/почему-angularjs/> Алсо, пишут ли на чистом JS для реальных сайтов? Имею в виду фронтенд.В реальных проектах гораздо чаще используются фреймворки.А на бэкенде используют NodeJS, на чистом там очень вряд ли можно писать.
>>1126273Попробуй попиши на чистом жс, через год-два изобретёшь ангуляр.
>>1126302Двачую.
Анон, продублирую из треда голанга здесь, вдруг есть работавшие с го и бойлерплейтами на его основе (го + реакт).Добрый день, анон, фронтедер на связи.Пытаюсь развернуть проект, чтобы посмотреть, как взаимодействует реакт с го, в будущем проекте пригодитсяhttps://github.com/olebedev/go-starter-kitустановил golang, прописал gopath, тестовая прога получилась (hello world), в общем, когда прописываю make install получаю хуйню, как на пике. Гуглеж ничего не дал, все зависимости, насколько могу судить, установлены.Yarn установлен глобально, glide установлен глобально, просто, почему-то, не хочется видеть @yarn и @glide и иже с ними.Если просто прописываю yarn install && glide install, все проходит, но, опять же, make server выдает хуиту.Гуглеж не помог, в чем может быть дело?Спасибо.
>>1126343> generate mocha
>>1126416<занудаmode>Это читается мокка</занудаmode>
Jquery 3.3.1 вышел, перекатываемая пацаны
>>1126454Нет. К это Мокито.А ваша mocha это моча. Даже логотип нездорового цвета и значок вони над стремной жидкостью.
>>1126273Потому, что ванильный жс - это чтобы фон страничек менять по клику на кнопку. Когда сталкиваешься с биндингом данных в дом, к темплейтингу, к устройству архитектуры - то вопрос о том, зачем нужны фреймворки, отпадает.
>>1126469>Jquery 3.3.1>jQuery>2018Ты что, больной?
>>1126296>А на бэкенде используют NodeJS, на чистом там очень вряд ли можно писать. А чем нода сама по себе не чистый JS-то? Вполне можно накостылять что-то и без экспрессов с вуеами.
>>1126634> дней без нового жс фреймворка: 0
Занудный задрот стал спрашивать нудным голосом дебильные вопросы под смешки других задротов на заднем плане, можно ли импортировать файлы и прочую хуету по ES6. Меня это жутко взбесило, т.к. я пишу код лучше, чем разговариваю о нем.
>>1126604Поясните, откуда такой дроч на чистый жс (с)? JS как язык дрисня, а без фреймворков так еще и дрисня с которой хуй что сделашь без 13 колес.
>>1126947Потому что чтобы сверстать простенький динамичный интерфейс не обязательно тянуть зависимостей на 500кб. Кроме того, если ты знаешь ваниллу - значит и в любом хипстерговне разобраться не составит труда.А вот если ты знаешь Vue - ты знаешь vue.
>>1126947Я об этом слышал в основном в двух контекстах:1) Без jQuery — действительно, уже из коробки есть querySelector, для анимаций есть css, и в целом все эти селекторы уже не так нужны, так как новые фреймворки собирают дом/назначают эвенты сами. Остаётся только аякс, который уже вырезали и выкатили во всяких Fetch.2) Без coffee/any/script — только мозг пожирает необходимостью писать одновременно на двух языках, без очевидных на сегодняшний день профитов.
вы че с языком сделали утырки?
>>1127037Судя по книгам из книготреда, так обычно не пишут, а на картинке у тебя — это всего лишь игра со стрелочными функциями, которые используются чуть более, чем нигде.Пишут "function", как и раньше писали.
>>1127041До поры до времени. Перепишут более-менее значимые в сообществе либы на новый стандарт отойдут от дел погроммисты старой формации и потечёт говно по трубам. Дело времени.Я помню ещё те времена, конда сишники писали на джиси. Блядь, эти ебаные точки входа в виде глобальной функции main() просто убивали. Они там так хуевертили... имена переменных размером больше, чем содержимое переменной.
>>1123037 (OP)Как организовываете код в своих фулстек-говнопроектах, ананасы? Набросал примерно такую структуру, за клиентскую архитектуру даже еще не брался. У кого какой опыт в данном плане?
>>1126947>JS как язык дрисняПиздабол. У JS мощнейшая OS, по мощности сравнима разве, что с CLOS или Smalltalk. Критиковать это могут лишь недалекие люди.
анусы объясните, как избавиться от хуйни на пике?убрал вопрос на пик2 (сюда ссылается ошибка на первой) тоже самое
>>1127041Я перестал писать так, как узнал, что такое декларативный подход и функциональное программирование.
>>1123037 (OP)Работаю бекенд-мартышкой, к фронту не подпускают. Поясните, аноны. Везде, где работал писали на ES5, ES6 и компилировали потом всё дерьмо каким-нибудь gulp webpack в удобочитаемый формат для старых браузеров. Зачем так в 2к18 делать? То есть никто не пишет код на ES6 сразу на прод без конвертации в старые стандарты?Второй вопрос, вот ввели вам class и прочие прелести. Вы ими пользуетесь? Если да, то сразу на продакшн или тоже конвертируете в старый формат?
>>1127216Всё зависит от аудитории сайта. Если смузи-стартап, то можно и свежачок делать для молодёжи. А вот для Вкончактика или Тындекса пользователи ИЕ8 или Андроид4 это тьма рублей.Транспайленый для старья код больше весит и медленней работает. Можно делать две сборки, оригинальную ЕС201x и геронтофильскую ЕС5. Через фичер-детекшон пусть загружается только подходящая. Но тогда придётся две сборки поддерживать, ёк-макарёк, идти на компромиссы, либо тратиться.Но это всё заморочки под смузи потрещать.Во-первых, все абстракции дырявы. Упомянутые новенькие классы подведут. Всё равно нужно знать и держать в голове работу функций-конструкторов и прототипное делегирование, на которых покоятся классы.Во-вторых, ЖС изначально Тьюринг-полный. "Им будет непросто, тем кто парится о коде, а не о структурах данных и их взаимоотношениях".В-третьих, больше проблем с поддержкой ВебАПИ, а не ЕС.В-четвёртых, код это не продукт.
>>1127310Удачи тебе в использовании async/await в браузерах без транспиляция.
>>1127216Потому что если так не делать, к тебе подойдет твой рабовладелец и скажет "У моей знакомой тети Петуньи" с телефона "Нокиа5-65" твоя фича не работает. У дяди Веруна с его компьютера (ie8) тоже не получается, и вообще, мне люди постоянно пишут насчет этой проблемы, посмотри в чем там дело. мимо лишь однажды выкатил стрелки в продакшен, даже не ES6 классы
хочу изучить js или джаву.чем они отличаются и что лучше?
>>1127313>>1127314Передайте мне там, чтоб я к биткам посерьёзней отнёсся.
>>1127329Джаваскрипт для фронтенда в основном.Джава - бля бэкенда, мобильной разработки. Это совершенно разные языки. Решать тебе.
>>1127336Ну и? По твоим же скринам видно, что у 13,5% нет поддержки arrow function, 12% ES6 декларации классов и почти у каждого пятого поддержки async await. Этого мало что-ли? Че хуйню несешь? Если бы у каждого стоял последний хром - жизнь была бы прекрасна и никто не ебался бы с этими бабелями.Радуйтесь, что хотя бы можно верстать на флексах с подключенным автопрефиксом.
>>1127336>Зачем так в 2к18 делать? Потому что легко и похуй. В любом случае надо собирать всю хуйню в один или чуть больше файлов и минифицировать. И вот заодно и делается поддержка всякого говна, на читаемость и отлаживаемость не влияет, т.к. есть соурсмапы.>вот ввели вам class и прочие прелести. Вы ими пользуетесь?Каждый день. Фронтенд если - то конечно собирается в старый формат. Если нода, то нет, конечно, всё делается напрямую.
>>1127216>>1127374
Как вернуть код из функции? К примеру мне надо return 'krokodil' + zalupa+ 'sir'Но zalupa по понятным причинам не видна, поскольку в другой функции. А в аргументы пихать плохая идея, т.к. там много таких переменных.
>>1127511Три варианта:1) zalupa была задекларированна в лексической области этой функции.2) zalupa - аргумент этой функции соответственно попадает в ее лексическое окружение тоже.3) каждая функция при рождении имеет ссылку [scope] на объект в области которого она была объявлена, в частности - это может быть window. т.е zalupa может быть объявлена глобально, тогда с ней можно работать.От себя могу посоветовать не использовать глобальные переменные, а как раз отправлять залупу в аргументы. Это как раз лучшая идея. Потому что изменяемая во многих местах сущность приводит к сайд-эффектам, которые тяжело дебажить. Если залупа будет глобальной и всячески изменятся, когда код разрастется и перевалит за 1500 строк только БОГ разберется, что с ней происходит.
>>1127314тётя Петуния и дядя Вернон, это ты, что ли, Дудлик?
Есть ли расшаренные аккаунты BrowserStack? 40$ за то, чтобы пройти пару тестиков в различных разрешениях и браузерах - дороха.
>>1127589Виртуалки используй.
>>1127717А для iOS Safari?
>>1127734Виртуалку с OS X, в ней есть инструменты для разработки и эмуляции под iOS
>>1123312Бампну чтоли. Не ужели тут никого кроме совсем джунов нет?
>>1123037 (OP)А вот хуй, после Spectre/Meltdown с вебассемблями придётся погодить.
>>1128144>>1123312По коду все в порядке. О логике ты сам заметил ошибки, (кэширование) так что хули тут ценивать. Можешь еще тесты ебануть.
утипути, это кто тут у нас api у других языков пиздит?
>>1125742>Самый пиздатый редактор VSCode написан на JS целиком и полностью.Sublime-боярин не перестает проигрывать с электронных детей у которых даже текстовый редактор умудряется лагать.
>>1127041Function уже давно никто не пишет, потому что пробрасывать контекст заебало выше крыши. А на картинке просто упражнение, и никакого отношения к тому, хороши стрелочные функции или плохи, это не имеет
>>1127314Бабелем мы, конечно, пользоваться не умеем?
Как же что wasm уничтожит ваш JS.
>>1128539Никогда он не уничтожит. По той же причине, по какой жив PHP.
>>1128149>>1128539Ты СОВЕРШЕННО не понимаешь в чем суть WASM. WASM не системное программирование «о, я кул-хацкер, ща получу произвольный доступ к памяти». WASM это не другая псевдоинтеллектуальная платформа для серьёзных программ, такая платформа сдохла в Вебе и бесконечно агонизирует в аду тырпрайза. WASM это не нуль-пойнтеры, сисьадминские гоферы или ад в наследство. WASM это место, где люди могут побыть чудовищами — писать для JS без JS, без автотипов, автопамяти, сахарка и прочих "удобностей", которые дорого стоят. WASM выполняется на JS-машине и принципиально не может ничего, чего не может JS, ведь сохраняется смелость выполнить произвольный код из произвольного места в Вебе.Ты хочешь параллелить потоки на произвольном устройстве произвольной архитектуры, а мы смеёмся и просим ещё. Ты хочешь заменить самый жирный менеджер пакетов — мы смеёмся. Ты хочешь среди тьмы дешёвых макак найти оптимизирующих байтоёбов — мы смеёмся. Мы бездушно перепишем на JS что угодно, наши фреймворки не основаны на здравом смысле, складывать массив с числом и получать строку — наша стихия, мы — истинное лицо Интернета.
>>1128652это вот сейчас что за поток сознания был?
>>1128519>Function Не путай объект с литералом.>никто не пишетНе говори за всех.>потому что пробрасывать контекст заебалоНе все, как и ты не умеют и не понимают контекст.
>>1128520Ты жопой чтец. Человек выше писал зачем транспилировать код, я написал что будет если забыть его транспилировать.
есть вопрос. где-то в коде(js) ошибка( event.target.style.backgroundImage), эта хуета меянет фон объекта, и это логично, однако так же меняется и фон объекта котоыйр мне бы менять не хотелось.Поэтому я пишу event.target.style.backgroundImage = бла-бла;// table.backgroundImage=null;по-идее если у меян случайн оменяется фон таблицы то я сразу же его обнуляю. однако это не работает. Я засунул( table.backgroundImage=null;) везде где только можно, буквально каждой вторйо строчкой, однако фон продолжает меняться. Есть ли способ заблокировать изменение определенного свойства элемента даже после прямого указания через js .style. = 'smt';?
Вы случаем не собираетесь перекатываться в новый тред? Я ньюфаня, вот думал вопрос задать, но вдруг вы уйдете в новый и мн еникто не ответит.
>>1128954Только хотели перекатиться. Но раз ты хочешь задать вопрос, то так и быть, подождем тебя.
>>1128954> перекатываться в новый тредТолько ради нового фреймворка.
>>1128964Ого, спасибо! Вот вопрос: Почему в случае с данной конкретной оберткой, bind, мы в неё ложим еще одну промежуточную функцию, а уже тогда в неё ложим ту, которую принимаем извне как аргумент? Почему нельзя сразу function bind(context, func) { return func.apply(context);}?Я понимаю, что так не работает, уже пробовал, просто не понял - почему?П.С.Если бы я делал какой-то декоратор, то тут вопросов нет потому, что я бы спрятал вспомогательные переменные или функции в замыкании. Поэтому раньше я не задумывался над вопросом, а надо ли обязательно упаковывать принимаемую как аргумент функцию в еще одну функцию.
>>1128993Я чуть дальше чем ты прошёл, можем вместе заниматься, если хочешь. Я как раз напарника адекватного ищу
Аноны, я запускаю на нод.жс сервер вместе с экспрессом чтобы попробовать выучить реакт, но он не видит русской кодировки. Я так понимаю мне надо что-то дописать в server.js?
>>1128993>>1129001Чтобы её можно было вызывать
>>1128993И странно что у тебя не работает, у меня всё работает, просто тогда она сразу запускается, без скобок, вот и вся разница
>>1128919Интересно, откуда вы с такой логикой вылезаете. Где вас таких выращивают-то, блядь?
>>1128919>где-то в коде ошибкаОна не в коде, а в голове у тебя. Сквозь прозрачное ты видишь то, что за ним.
>>1128993>ложим Кладём.>Почему нельзя сразу Потому что bind должна возвращать функцию с привязанным констекстом и агрументами. А ты return func.apply(context); пытаешься вернуть результат функции, а не новую функцию. >Я понимаю, что так не работаетТы не правильно понял что такое bind.
>>1128675>Не путай объект с литералом.function, так тебе проще будет? Ну что за довн.>Не все, как и ты не умеют и не понимают контекст.Умею и знаю. Что там знать и уметь? Сиди целыми днями пиши let _self = this, как деды писали 10 лет до этого, не выёбывайся, да? Или ты у нас вообще, может, функциональщик головой удареный?>Не говори за всех.Да пиши сколько влезет, похуй.
>>1127310>Транспайленый для старья код больше весит и медленней работаетНу такое, оверхед процентов 5-10, не больше, от пресета.
Пишу расширение для хрома. Можно ли как-то сделать скриншот определенной области (определенного div-а, например), а не видимой страницы?chrome.tabs.captureVisibleTab – делает скриншот видимой страницы.html2canvas – "You shouldn't use html2canvas in a browser extension. Most browsers have native support for capturing screenshots from tabs within extensions."
>>1129017>>1129004>>1129006Спасибочки, теперь понял!>>1129001А как это - вместе? В чем будет состоять взаимодействие?
>>1129069делай скриншот видимой странице и обрезай его по координатам нужного тебе дива. где твоя логика? если ты будешь перерендерить div на canvas средствами webapi, это будет менее производительнее и так или иначе костыли, потому что не предназначено, и не все варианты отрендерятся правильно. так что прекращай тупить.
>>1129063>Сиди целыми днями пиши let _self = thisЕсли ты считаешь, что контекст нужен только для того, чтобы его пробрасывать, то ты ебанутый на всю голову.
>>1129076>и обрезай его по координатам нужного тебе диваЕсли бы все нужные мне дивы были расположены в видимой области, то я бы так и делал. Но они могут располагаться и в невидимой области.
>>1129078скроль до туда, где див становится видимым, потом возвращайся обратно.
>>1129078у новых хромов есть еще способ скринить всю страницу целиком через debugger protocol, но я не углублялся в вопрос того, сможешь ли ты до него достучаться из расширения. гугли сам.
>>1129069сук ты че не можешь в хром веб стор запрос сделать и посмотреть есть ли такое?https://chrome.google.com/webstore/detail/element-capture/kabgnkphidokfocflfangphgdjhkknjgа потом перейти на их гитхаб и посмотреть как там следано?https://github.com/tlrobinson/element-capture
>>1129113Но ты ведь даун, расширению шесть лет уже, код не меняли два года. по-твоему новых апи вообще не пилят что ли?вот как я написал выше, например через дебаггер протокол теперь можно, с 59ой версии. а раньше нельзя было и надо было выебываться скроллом туда-сюда.ебучие, скрипт кидди.
>>1129114займись этим.новое апи там вот это все> у новых хромов есть еще способ скринить всю страницу целиком через debugger protocol, но я не углублялся в вопрос того, сможешь ли ты до него достучаться из расширения. гугли сам.и этим займисьтолько вот я уже решил то на что ты потратишь n человеко часов а с таким умением проводить причинно следственные возможно даже человеколет и ты меня называешь скрипт кидди
>>1129076Обрезка изображения с помощью какой-то библиотеки будет производительнее, чем рисование на canvas?>1129113Это совсем не то, блять. Дивы могут не быть изображены на экране в текущий момент, но они находятся на странице.>1129087Это интересно. Поищу эту тему. Но думаю, что хуй мне даст хром. Уж слишком у него ебливая политика безопасности.
>>1129001Анончииииик! Отзовись, мне интересно.
О, не заметил JS тред. Репост >>1129381
>>1129328>>1129074Это ты? Да, я тут. Ну как в чём, будем пытаться вместе учить, делать задания, сравнивать. Обучение больше социальный процесс, когда есть кто-то кто делает с тобой, то легче учится и идет
Вопрос на миллион, аноны. В чем разница?Article.prototype.showCount&Article.showCountИ тот и другой showCount будет доступен для всех объектов созданных конструктором Article.Когда выбирать какой случай использовать?
>>1129447Всё понял. Во втором случае это функция функции как бы. Сейчас проверю может ли быть функция функции функции. По идее да. Да, всё понятно, в первом случае это метод для именно наследуемого объекта и его дети будут наследовать его
>>1129448Article.plusName.plusSurname = function() { return this.name + "ala";}Очень интересно. Если писать просто Article.plusName = function() { return this.name + " ashke";}То он видит this.name и выдает Article + ashke, но если добавить ещё один метод, то у него уже this.name отсутствует. Интересно, почему не унаследовался?
>>1129297>Обрезка изображения с помощью какой-то библиотеки Какой нахуй библиотеки. Ты его обрезаешь встроенными в язык средствами блядь. Тем же канвасом если хочешь.И да, обрезать цельное изображение на канвасе будет быстрее, чем рендерить на него же отдельные слои.
>>1129069В курсе что monosnap лет 18 как изобрели?
>>1123037 (OP)Пошел на хуй, говнокодер ебаный сука.
>>1129425Да, это я. Ну, давай! Идея интересная. У меня есть дискорд ThermoLyrics, аккаунт в Лиге легенд ThermoLyrics и даже вконтактик id34627297, правда, я туда редко захожу, так что ты скажи сам как тебе удобней связаться.
>>1129532>дискорд Почему все пользуются этим убогим неудобным тормозным говном?
>>1129534Нет ответа на этот вопрос, потому что сам вопрос дурацкий. Дискорд работает намного быстрее чем скайп. Стабильность вполне нормальная. Удобный интерфейс. Нет анальной слежки.
>>1129543хз хз, грузится секунд по 60, какие-то обновы качает каждый раз, причём непонять какие, насчёт быстроты непонятно, старый скайп всяко быстрее. А про анальную слежку - вообще лол. Шифрования там по сути нет.
>>1129549А толку от шифрования, если контора сама добровольно тебя сдает с потрохами.
>>1129551Ну а смысл тогда про анальную слежку говорить было?
>>1129554В смысле? Скайп и Винда сдают.
Репост из соседнего треда? Как вообще так получается что твои знания ява скрипта могут устареть за пол года? Жабаскрипт так от фреймворков зависит, или средний джаваскриптокодер настолько некомпетентен что не может в базовые алгоритмы? Без фреймворка сереализацию не написать чи шо?Без подъебок, просто академический интерес. Слышал что кто то даже работу терял после выхода новых фреймворков. Типа переучится не смог. Чему же он тогда учился?
>>112961290% JS макак на знают JS, а умеют писать на фрэйворках. >Как вообще так получается что твои знания ява скрипта могут устареть за пол года? Никак, язык не менялся вообще года с 2003. Если не считать пары незначительных добавок.>Жабаскрипт так от фреймворков зависит, или средний джаваскриптокодер настолько некомпетентен что не может в базовые алгоритмы? this>Без фреймворка сереализацию не написать чи шо?Всё гораздо хуже, среднестатистический JS кун спросит "Что такое">Чему же он тогда учился?Не, это типа стандарт профессии. Надо написать новый сайт, находят нового макакия по цене в 2 раза дешевле прошлого.
>>1129612>Чему же он тогда учился?Так ты тред проскроль.Большинство не приходит изучать язык или понимать фундаментальные концепты как языка или объектной системы. Они идут изучать фреймворки\стеки которые написаны в вакансиях. Конечно, никакой пользы это не приносит.
>>1129616>>1129650Ясно. Значит проблема не в языке, а в том что средний кандидат это не программист а наборщик текста по шаблону. Спасибо что разъяснили. МимоИзШарпатреда.
>>1129752Как в любой хайповой среде.В программировании в целом и в айти точно такой же расклад. А еще в разных юристах, инженерах, менеджерах в разное время.
learn.javascript.ru, раздел "Замыкания, область видимости", урок [[Scope]] для new Function. >То есть, если внутри функции есть var userName, то минификатор заменит её на var a (или другую букву, чтобы не было конфликта), предполагая, что так как переменная видна только внутри функции, то этого всё равно никто не заметит, а код станет короче. И обычно проблем нет.>Но если бы new Function могла обращаться к внешним переменным, то при попытке доступа к userName в сжатом коде была бы ошибка, так как минификатор переименовал её.>Получается, что даже если бы мы захотели использовать локальные переменные в new Function, то после сжатия были бы проблемы, так как минификатор переименовывает локальные переменные.>Описанная особенность (тут имеется в виду, что она всегда ссылается на window, а не на LE функции, в которой создана) new Function просто-таки спасает нас от ошибок.Вопрос - почему если минификатор переименовывает локальные переменные, то при создании Function Declaration эти переменные доступны, а при new Function - нет?
>>1129758Потому что минификатор анализирует синтаксис, и при переименовании локальных переменных переименновывает их там, где они используются, в том числе во внутренней function declaration. new Function образует функцию из строки, а минификатору поебать на твои строки, он не должен их обрабатывать. Они вообще могут быть входными данными. Следовательно, у тебя там остаются использоваться переменные со страыми неминифицированными именами, которых в минифицированной версии уже нихуя нет.
>>1129773Понял, спасибо. Кажется.
>>1129776var variable = 10function ololo () { return variable;}ololo2 = new Function('return variable')----и ololo и ololo2 делают одно и то же.но после минификации, минификатор переименует переменную variable в двух местах, а там где new Function она останется неизменной потому что минификатор не станет анализировать и изменять строки. В итоге, в минифицированном коде функция ololo2 будет выбрасывать исключение
>>1129532Дискорд что-то не находит
>>1129785Разобрался, спасибо еще раз.
>>1129797Секундочку.
>>1129797#1946ThermoLyricsПопробуй еще раз по одному из этих. Дай свой ник, мб я поищу.
Что лучше использовать async/await или co?
>>1129865>2k18>не пользоваться асинхами изкоробки
>>1129612>2k18>не пользоваться асинхами изкоробки>ему сделали асинхи из коробки>Делай, вот же они лежат>Нет, я хочу сосать хуи. Я ведь люблю хуи сосать. Целый велосипед из хуёв сделаю и буду на нём кататься.
>>1129926>эти дрожащие ручонки и промахи мимо постовХуево быть тобой.
>>1129964>Переход на личности вместо аргументов>будто быть тупым школьником траллем быть гораздо лучше.
>>1129965>будто быть быть>это косноязыкое омежное быдлоКем угодно быть лучше чем тобой.Кроме, разве что, червя-пидора - и то под вопросом.
>>1129966>Пилит асинхронные велосипеды>Не считает себя червём пидором
>>1129967>эти проекции веб-мартышкиСледующая стадия деградации - 1с.Кстати, учи заранее - скоро внешний интернет закроют и все языки кроме 1с запретят.
>>1129972>Пошли маняфантазии вместо аргументов
>>1129973>аргументовЧервям-пидорам вроде тебя аргументы не положены - только говно на лопате.
>>1129974>Червь пидор слишком тупой чтобы генрировать аргументы>Решил написать хоть что-то чтобы не выглядело что он обосрался
>>1129975>этот сплошной гринтекст который постУроки-то сделал?
>>1129977>Снова переход на личности>Снова нет аргументов>Чего ещё ожидать от дауна который решил сумничать но сразу же обосрался.
>>1129980>сумничать Уроки не сделал, всё ясно.
>>1129984>попытался переключиться на грамматику>даже тут обосрался
>>1129985 - >>1129984
>>1129077Блять, ты реально какой-то даун. Контекст нужен не для того, чтобы его пробрасывать, он просто есть, по спекам. Но его постоянно приходится пробрасывать в коллбэки и методы объектов. Стрелка избавляет от необходимости это делать. Чё ты доебался до меня с какой-то больной хуйнёй? Иди проверь голову и пройди пару тестов на логику, прежде чем к людям лезть
>>1130001 - >>1129985
>>1130005 - >>1129984
>>1130010>>1130005
>>1129923Та чё лучше то?
>>1130061Лучше тебе пройти нахуй.
>>1130063Не уходи от темы.
>>1130003То есть ты намеренно себя лишаешь позднего связывания, а дауном называешь его?
Здарова пацантрэ, сейчас читаю про преобразование типов и эти самые типы в богоподобном js и охуеваю с исключений и, порой, нелогичности даже. Все вот эти вот преобразования null, undefined. Ответьте мне пожалуйста, боги джаваскрипта, в реальной работе это вообще надо будет применять. Просто во всех учебниках какие-то ебанутые примеры, по типу:
по типу:"" + 1 + 0"" - 1 + 0true + false6 / "3""2" * "3"4 + 5 + "px""$" + 4 + 5"4" - 2"4px" - 27 / 0" -9\n" + 5" -9\n" - 55 && 22 && 55 || 00 || 5null + 1undefined + 1null == "\n0\n"+null == +"\n0\n"быстрофикс
>>1130098Так, ладно, я высрал какую-то хуйню. Попробую на конкретном примере. Вот есть строки, которые преобразовываются в true при преобразовании, кроме пустой строки. Пока "преобразований" я нашёл два:1. !!2. boolean(value), где value - строкаЕдем дальше, есть сравнение ==, которое сравнивает всё чё угодно, даёт результат в boolean типе и при этом самом сравнении преобразовывает разные типы в числа, а если типы не разные, то строки сравнивает посимвольно, числа как числа, булевы либо равны, либо нет. (сразу прошу поправить, если на данном этапе я уже ошибся)Есть такой "парадокс", что при сравнении, к примеру, строки и числа:допустим "0" == 1 получается значение false, хотя при булевом преобразовании (которых я пока знаю 2) строка будет true, как и единицаТут я подумал, окей, булево преобразование не так работает как обычное сравнение в if. Ну тогда попробую посравнивать с помощью && и ||Пишу такой вот код:if(1 == "0"){ alert(1 == "0");} alert не срабатывает, ну думаю всё логично, 1 = 1, "0" = 0 Потом пишу такой вот код:if("0" && 1){ alert("0" && 1);}Он мне выводит 1, т.е. как я понял (опять же поправьте, если не так): происходит булево преобразование "0" = true, 1 = true, условие выполняется и мне выводит (а вот тут отдельная тема, я охуел, когда узнал, что логические операторы && и || возвращают первую "ложь" или "истину" соответственно) возвращённую в данном случае 1, т.е. последнюю "истину", т.к. лжи не нашлось слева направо.Резюмируя:Помимо того, что прошу ещё раз меня поправить в таких местах, если я не прав. Стоит ли во всё это углубляться или я чего-то не знаю и вот эти ваши ангуляры, реакты, вью, как-то помогают упростить работу с преобразованием типов, а я просто сейчас теряю время на непонятную хуету?
>>1130112Не помогают.Знать надо, чтобы на жопу не сесть, в случае отладки непонятной ошибки.Подробно посмотреть лекцию по этой параше и ПОЧЕМУ так - можно тут https://youtu.be/MyAvPlqM1-IИз жизненного опыта, используй оператор === и никогда не используй == потому что в JavaScript == может возвращать хоть говно Иисуса. В идеале ты должен знать с какими типами имеешь дело.
>>1130112> вот тут отдельная тема, я охуел, когда узнал, что логические операторы && и || возвращают первую "ложь" или "истину" соответственно) возвращённую в данном случае 1, т.е. последнюю "истину", т.к. лжи не нашлось слева направо.Это часто используется в реакте, при условном рендеренге компонентов. Указывается условие && и компонент, например.
>>1130163>>1130164Спасибо ананасы) Как-нибудь ещё сюда загляну
Пацаны а как сделать быструю сортировку?
>>1130164>хуйня && хуйня.еботня && хуйня.еботня.пиздец && хуйня.еботня.пиздец.сука && хуйня.еботня.пиздец.сука.map(...
>>1130290Вот сразу видно прожженый реакт-гребец.
Сап. Вкатываюсь во фронт. Материал книги Флэнегана по JS, вышедшей в 2012, актуален в 20!8?
>>1130354> 2012> JSВ 2012 и JS-то не было, а ты ещё книгу по нему какую-то нашел.
я бля не понимаю почему> Parameter 'callback' implicitly has 'any' typeесли я определил интерфейс в котором указал тип этого параметра и вполне себе явно.мне еще раз надо копипастнуть?че там с DRY?
>>1130373охуительно, восхитительно джва раза писать одно и тоже.если понадобится передавать в параметры колбэка массив строк, меняй сразу в двух местах.
>>1130377Ты даун? Ебни интерфейс и используй его:interface myCallbackType { (myArgument: string): void }public myCallback : myCallbackType;
>>1130419не понял тебя:вот на пике>>1130373есть Vector2dInterfaceи его методом toArray 3я строка, там определен параметр callback и его параметрыя имплементирую этот интерфейс и его метод toArrayно TS ругается дескать ты не определил тип параметра callback. Хотя я определил же в интерфейсе.> interface myCallbackType { (myArgument: string): void }это понятно, но мне придется это прописать в двух местах на строках 3 и 16? Если да то вопрос почему так/так и должно быть?
>>1130425Я вообще на вашем сранном TS не писал ни разу, но разве пикрил - не то что тебе нужно?
>>1130439Это и нужно, вопрос то опять же в чем:какой смысел в том что ты написал на 13 строке callback: Vector2DCallbackInterface?Ты же тоже самое написал на восьмой строке.Разве ТС не должен знать что toArray получает callback с таким то типом указанным в его интерфейсе? Зачем ты второй раз указал тип параметра callback? Это же бессмыслица выходит что метод toArray класса Vector может получить параметр callback: number? Тем самым насрав на то, что говориться в интерфейсе его описывающем?
>>1130439Видишь? Он выебывается если я задам колбэку тип boolean, но в то же время выебывается если я вообще не буду прописывать тип исходя из того, что я прописал его в интерфейсе.Я логику такого поведения не пойму чет
>>1130444dd
>>1130290Зачем?
>>1130444Я не понял, если тебе взападло каждый раз явно прописывать типы - че ты на ES6 не сидишь-то? В какой-нибудь сраной жаве, если ты имплементишь интерфейс - то тоже должен заново прописать все типы, хотя, они уже и так, казалось бы, в интерфейсе прописаны. И в скале тоже, хотя там оно по-другому называется. Так-то.
Почему в этом говноязыке едут коллбеки через промисы? Где синхронный код-то, блять, я уже устал скобки расставлять, какой-то ебаный лисп получается.
Анон, поясни пожалуйста, сил моих больше нет. Я слишком тупой, походуДля js клик мышкой и клик программно через element.click() - это одно и то же?Можно это как то обойти? Допустим, на странице есть див элемент. Если я навожу на него мышкой, программно срабатывает this.click(). Это нужно для того, что я передал ебаному сайту инфу о том, что я этот объект выбрал, типа кликнул на негоНо в то же время у меня стоит другой листенер, который детектит клик и запускает div.ScrollIntoView()ТАК ВОТ МНЕ НАДО ЧТОБЫ ЕБАНЫЙ SCROLLINTOVIEW СРАБАТЫВАЛ ТОЛЬКО ТОГДА, КОГДА Я ДЕЛАЮ НАСТОЯЩИЙ КЛИК МЫШКОЙ, А НЕ ПОСЛЕ ТОГО, КАК Я НАВОЖУ НА ОБЪЕКТ, ПРОИСХОДИТ ПРОГРАММНЫЙ CLICK(), ЕБАНЫЙ ЛИСТЕНЕР ЭТОТ КЛИК ДЕТЕКТИТ И СУКА ВРУБАЕТ SCROLLINTOVIEWКак вообще эту залупу реализовать правильно? Чтобы при наведении на объект он как бы выбирался, но скроллинга не происходило. Скроллинг нужен только, если я реально кнопкой мышки нажму
>>1130528>Если я навожу на него мышкой, программно срабатывает this.click(). Это нужно для того, что я передал ебаному сайту инфу о том, что я этот объект выбрал, типа кликнул на негоВообщем, один из вариантов решения как понимаю.Как передать сайту, что я кликнул на объект, просто наведя на него мышкой, не кликая на него ни кнопкой, ни через click()?
>>1130528Даунич. Там помимо клика есть еще несколько событий. Испрользуй onmouseoverhttps://www.w3schools.com/js/js_events_examples.asp
>>1130530Блять, ты нихуя не понялУ меня и так листенер с mouseoverКоторый делает програмный кликМне нужно, чтоыб это ебаный програмный клик после наведения мышки не детектился вторым листенером
>>1130529Ну ты в логику умеешь? Пытался думать вообще? Если тебе надо некликая, но от наведения, может стоит подумать, как будет наведение мыши по английски и посмотреть есть ли что-то похожее? Дегенераты блядь
>>1130532>не детектился вторым листенеромСука, ну стаьв флаг в первом листенере и сбрасывай во втором. Ты че дебил какой?
Поздравляю жаваскриптеры, я думал что хуже быть не может, но теперь нашлись те, кто платит за настройку бля дев енвайронмента.а вы продолжайте пилить по 10 вебпаков в день.
>>1130537Иди в пизду с такими открытиями.Уже давно есть ВЕБПАКОИНЖЕНЕРЫ, которые нехило поднимают баблишко на продаже книг "тонкости настройки вебпака" и на разъездах по соответствующим тематическим конфочкам.
>>1130533>Ну ты в логику умеешь? Пытался думать вообще? Если тебе надо некликая, но от наведения, может стоит подумать, как будет наведение мыши по английски и посмотреть есть ли что-то похожее? Да гуглил я все, целый день блять гуглюНИхуя не помогаетПоясни уже прямо
>>1130528
>>1130552>>1130528Но вообще это ты говном занимаешься. Если у тебя должна быть разная логика от наведения и от клика, то разнеси ее в разные сущности. Сам подумай, зачем ты триггеришь клики из наведения. У тебя количество функций в языке ограничено или что.
>>1130545>целый день блять гуглюА достаточно было просто открыть консоль, и посмотреть чем различаются твои объекты e, в зависимости от того, программно сделан клик или инициализирован пользователем.
>>1130552Хоспаде, анон, спасибоЯ вариации и с таргетом и трастедом с самого анчала чекал, но нихуя не работало, а щас заработала, нужно было песочницу просто полностью перезапуститьПиздец, столько времени зря проебал
>>1130557>А достаточно было просто открыть консоль, и посмотреть чем различаются твои объекты e, в зависимости от того, программно сделан клик или инициализирован пользователем.Досточно не быть дауном и не надеяться на реалтайм обновление песочницы, а перезапускать вручнуюСука, урок мне на всю жизнь
>>1130560>надеяться на реалтайм обновление песочницыНу ты чё бро. Ну тё чё вообще?
>>1130559имей ввиду что istrusted не поддерживается в ie так как надо. чтобы было как надо, там вместо this.click надо генерировать событие через createevent. короче погуглишь.
>>1130564> там вместо this.click надо генерировать событие через createevent. короче погуглишь.Я пробовал и по старому и через MouseEvent(). Без проверки трастеда тоже самое получается, обычный клик, который детектится вторым листенером
>>1130576>Я пробовал и по старому и через MouseEvent(). Без проверки трастеда тоже самое получается, обычный клик, который детектится вторым листенеромА, туплю, ты имеешь ввиду, что в ie, если сгенерирвоать через mouseevent, проверка трастеда сработает правильно, а если просто через click(), то по пизде пойдет?Тогда оставлюХотя если ебаться с кроссбраузерностью, надо и с scrollintoview че то делать вроде как
>>1130581Да.
>>1130537свежее
Есть ли какой-то универсальный способ одним махом решить проблему с числами с плавающей точкой? Или единственный способ - каждый раз в каждом отдельном случае округлять?
Забугорные братья, видимо, отдыхают. Поэтому спрашиваю у вас, анончики. Вот мой вопрос – https://stackoverflow.com/questions/48596032/jsdoc-can-i-put-a-description-of-the-functions-at-the-beginning-of-the-file
>>1131502Какая проблема у тебя еще?То, как работает JS с числами, не какое-то нестандартное поведение. Это общепринятый стандарт IEEE. И применяется не только лишь в js. Надо просто работать в соотвествии с ним. В общем случае, не ясно что ты понимаешь под проблемами, и зачем тебе округлять числа, если тебе нужны числа с плавающей точкой, а не целые.
>>1131507Одно значение, вычисляемое двумя разными способами, не совпадает по меньшему разряду.
Мне внезапно пришла в голову гениальнейшая мысль: почему бы вместо компонентов/функций не создавать исключительно фабрики компонентов/функций?То есть обычно мы пишем как-то так:[code]import * as React from 'react';export class FooComponent extends React.Component ...[/code]В итоге каждая библиотека импортирует свою версию зависимостей, node_modules раздувается, билд толстеет. Тряска дерева и прочие оптимизации не могут полностью устранить эту проблему.Но если импортировать только нужные интерфейсы, а сами компоненты объявлять как[code]export function fooComponentFactory(React: ReactType) ...[/code], то лишних зависимостей не будет.Почему такая древняя как спринг практика еще не пришла в жсмирок?
У меня есть 2 папки: client и server. В каждой по проекту на ноде.Вопрос - как называется такое разделение? Тобишь клиент общается с серверому меня это происходит через вебпак(и какие инструменты используются в ноде что бы "выдавать" клиент наружу?)И знаю есть такой подход, когда и сервер и клиент в одном проекте, тобишь экспресс выплёвывает скомпилированный фронт и так же содерджит в себе бэкенд.
Аноны, нужна помощь!Короче хотел вернуть не только "кофе готов", но и время через которое будет готово, и вдруг решил поставить ретурн перед сеттаймаутом и вот что получил! Это можно как счетчик где-нибудь использовать вместо методов статических функций? Почему так получается?И можете подсказать что по коду? Что лучше изменить?
Анончики, какой самый адекватный способ задетектить использование iframe?Короче, есть блоки с айфреймами, мне нужНо сделать так, чтобы в случае, если пользователь начинает скроллить и кликать внутри него, постоянно происходила фокусировка обратно на основной родительский
>>1130459Потому что иначе можно словить cannot read property 'yoba' of undefined, если где-то цепочка прерывается
>>1130596Пиздец какой шрифт размытый. Это линукс что ли?
>>1131530Округляй педофиляйВ жс кроме флоата с двойной точностью нет никаких иных представлений чисел. Может и есть какие-нибудь сахарницы для имитации других типов, но они все будут сводиться ровно к тому же: к округлению флоатов, только в красивой обёртке.Ну или считать через wasm на каких-нибудь сяхплюсплюс. Но я не думаю, что у тебя там настолько рокет саенс, чтоб запариваться с ним.
>>1131770В таком порядке:https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Introductionhttps://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Client-Server_overviewhttps://www.youtube.com/watch?v=o8L4vINWpaAhttps://www.youtube.com/watch?v=Q-BpqyOT3a8https://www.youtube.com/watch?v=eB9Fq9I5ocs
>>1131770Ну, клиент-серверное и называется. Ну или разделение на фронтенд и бэкендА дальше ты что-то всё в кашу смешал. Клиент не общается с сервером через вебпак. Вебпак собирает бандл из твоих исходников, который экспресс потом раздаёт в качестве статики. А общается клиент с серваком скорее всего через rest.
>>1131864https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeoutВозвращает произвольный идентификатор таймера. Он не обязан быть счётчиком, только уникальным каждый раз. Считай, тебе повезло конкретно в этот момент на этой платформе. Полагаться на такое конечно же нельзя.Почему у тебя отступ с 6 по 20 строку? У тебя дивный внутренний мир? Чувство прекрасного? Или просто копипастишь на-отвали? Зачем копипастишь? Ты учишься копипастить или писать?
>>1131530use toFixed, luke
>>1131968try catch
>>1131978>>1131980Ох, перечитал свой пост и понял, что объяснил как даунпростите.Ест-но я знаю рест/круд апи и тд. Вопрос был в другом, относяшийся к строению клиент-серверных приложений именно на ноде.Допустим, есть фронт на реакте и бэк с экспрессом и базой. Ведь есть выбор:- через разделение, тобишь фронт будет где то хоститься и обращатся к работающей апишке бэка. В моём случае этим занимался пакет webpack-dev-server, который все запросы на свой же домен перенаправлял уже на мой бэкенд сервис - всё хранить в одном, как единое целое node app - там и фронт и бэк. Тобишь указывать экспрессу в какой папке находится статика(в нашем случае это скомпилированный фронт) и на какой порт выплёвывать + в нём же есть и работает апи.Как такое разделение в рамках ноды называется? И какими инструментами лучше всего на ноде хостить фронт, который с бэкендом не связан никак?
>>1132001Отступы? Что не так? Весь код с учебника переписал сам, за отступами вообще не следил, не пытался организовать как-то код
В prototype по умолчанию всегда находится свойство constructor, указывающее на функцию-конструктор. В частности, Rabbit.prototype.constructor == Rabbit. Если мы рассчитываем использовать это свойство, то при замене prototype через Object.create нужно его явно сохранить:Rabbit.prototype = Object.create(Animal.prototype);Rabbit.prototype.constructor = Rabbit;Зачем делать вторую строчку? Почему он так не понимает? Потому что удаляется конструктор при присваивании?
>>1132067Судя по тому, что ты не можешь вопрос сформулировать, ничего ты не знаешь. Ссылочки всё таки посмотри.Тебя интересует дизайн распределённых систем? Это тебе не сюда, мы тут массив на Реакте отсортировать не можем. На досуге почитаешь:https://www.hiredintech.com/classrooms/system-design/lesson/52Попробуй без упоминания фреймворков формулировать вопрос, который не касается кишков этих модных фреймворков.Попробуй написать сервер на ванильной Ноде, require("http") чтоб он крутился на локалхосте, по одному запросу "GET /" отдавал index.html (никакого Реакта, хипстер) из fs.readFile() из своей папки, по клику по кнопке в index.html делай "GET /numbers" и пусть Нода отдаёт сгенерированный динамически JSON с массивом случайных номеров, который отобразится на странице без перезагрузки.По любому другому запросу возвращает 404 и строку запроса в html.https://www.w3schools.com/nodejs/nodejs_http.aspУтомись от возни с мелочами, посмотри на готовый Express, на то, какую структуру проекта и дополнительные модули он предлагает через генератор:http://expressjs.com/en/starter/generator.htmlОн настаивает на движке шаблонов (Pug) для представлений и собственном роутинге. Пока обойдёмся без этого.Начни делать Экспресс с нуля, подглядывая в генерированный.Тебе будет надо для начала отдавать только статику, public/index.htmlhttp://expressjs.com/en/starter/static-files.htmlПапка public может называться так же client \ assets \ static \ files. Смысл её от этого не поменяется, это папка с готовыми файлами, а не с динамически-генерируемыми, отдаются они "как есть".Теперь добавь роутинг к Экспрессу, тот самый с динамическим массивом случайных чисел. Тебе пригодится та самая папка routes из генератора.Теперь задеплой это всё в Нау:https://zeit.co/downloadПомедитируй на вкладку Нетворк в девтулазах Хрома.Теперь посмотри из чего сделано то самое модное webpack-dev-server, которое затуманило твоё восприятие и даже не позволяло сформулировать вопрос:https://github.com/webpack/webpack-dev-server/blob/master/package.jsonЭто всего лишь Экспресс-статик над кэшем Вебпака на локалхосте.
>>1132155Ещё хорошую ссылку забыл, можно было даже пост не писать:https://github.com/devSchacht/translations/blob/master/node-hero/full_book.md
>>1132136В js есть только объекты. Больше ничего.Есть еще примитивы, но их можно тоже рассматривать в качестве синглтон объектов, потому как они боксятся, а сделаны разумеется для производительности. (тем более что сейчас ничего не мешает у примитивных добавить в цепочку прототипов прокси объект, отлавливащий сообщения, типа присваивания, и реалиховать поведение прототипов как полноценных объектов, но это ни к чему. проще воспринимать их как синглтоны. когда надо, любой примитив можно обернуть в полноценный независимый объект).Так. Короче только объекты.Все объекты делятся на callable и non-callable. Callable это функции, в понимании большинства. Но по факту это все те же объекты, со всеми свойствами что и у других.Все объекты могут принимать всего несколько типов сообщений - get, set и call. При чем call может принимать только callable объект. при попытке послать call сообщение не-callable объекту будет исключение. Сообщение get содержит один параметр, сообщение set два. Сообщение call параметром содержит кортеж аргументов, а так контекст this.Если в объекте (а так же в цепочке прототипов) не назначены слушатели для get и set с определенными параметрами, ищутся слоты с такими именами в объекте и по цепочке. Если находится возвращается то, что в них лежит. Если в них лежит callable объект и ему посылают сообщние call сразу как получили его из слота, то у него будет перегружен контекст (this) на объект из чьего слота его получили. Если только этот объект не был сконструирован стрелочным синтаксисом, иначе контекст перегрузить нельзя. Если после получение callable объекта из слота его сразу не вызвать, а например положить ссылку на него в переменную, то контекст будет сброшен на тот, который был установлен у него в момент его создания (и это не обязательно будет тот же объект из чьего слота его получили).У callable объектов есть scope (область видимости) и контекст (this) в момент посылки им сообщения call (вызова). scope средствами языка перегрузить нельзя, но некоторые окружения позволяют (например в ноде есть модеуль vm), this перегружается у callable объектов сконструированных не-стрелочным синтаксисомКлассов нет. Есть конструкторы. Любой конструктор принимает новый созданный объект, которому выставлен определенный прототип (другой объект). Оператор instanceof (someObject instanceof SomeClassName) проверяет лишь есть ли в цепочке прототипов у someObject объект который лежит у SomeClassConstructor в слоте с именем prototype. На сам конструктор ему поебать. Чтобы сменить класс, достаточно сменить цепочку прототипов. Даже если объект был сконструированным определенным конструктором. Так же у объектов есть параметр ограничения доступа, контролирующие его расширяемость или изменяемость (sealed, extensible, frozen). У слотов объекта есть параметры configurable, enumerable, writable. Параметры слотов объекта не влияют на объекты, что в них лежат. Они лишь контролируют доступ к самим слотам. Все. Никаких классов. Никаких интерфейсов. Как отдельных сущностей. По факту все есть объект и все строит из них.наследование реализуется выстраиванием цепочки прототипов. Инкапсуляция только на уровне scope'в (читай замыканий). В остальном все меняется и все динамично, если только специально все не зафризить в момент конструирования. Но обычно этим никто не заморачивается по причине оверхеда и бессмысленности. Разве только фанатики по иммутабельности, н это все из разряда те, кому надо чтобы им по рукам бил компилятор\рантайм\дядя петя. Все "привычные" понятия тянуться в язык для еще более простого вкатывания тех, кто приходит из других языков. Так уж сложилось, что есть куча литературы по привычному, статически классовому ООП, но очень мало по мессадж-пассинг\прототайп-базед\мета-программинг. Все эти притянутые понятия выливают в синтаксический сахар, который не делает ничего полезного, а даже наоборот, еще больше вносит путаницы и от того непонимамания многих вещей в языке. При этом часто этот синтаксический сахар дэже урезан и вспомнинают об этом лишь после (как например проебались с полями в конструкции class и тянут ее теперь только в proposol'ах будущих версий).JS истинно объектный язык. В современный язык притащили много вкусных вещей для метапрограммирования. Нову примитивную сущность Symbol, и Proxy-объекты. С помощью которых можно еще больше и сильнее перегружать и менять поведение в динамике.Другое дело, что почти никто не умеет этим пользоваться и не понимает, что такое объектное программирование на самом деле.Им нужно не объектное, а статически типизированное. А какие именно структуры будут скрываться за этими типами, не собо важно. Важно что это просто структуры и функции, строго привязанные к ним, или иногда менее строго. То, что в Java\C++ это больше структурное программирование, нежели объектное. Объектное программирование не может существовать без динамической среды. Это противоречит самому понятию объекта. А динамическое программирование это слишком сложна и непанятна. И как бы не старались с пеной у рта фанатики кричать про низкий порог входа - низкий он именно что для входа, а не для всего остального. Модификация программ в рантайме всегда было уделом креативно мыслящих людей. Для большинства это слишком сложный уровень высокой абстракции.
А если я совсем совсем новичек, учусь по https://learn.javascript.ru/ и пику, не погоните ссаными тряпками? Можно будет глупые вопросы задавать?
>>1132247Здесь других и не задают
>>1132257Джаваскриптеры - муравьи?
>>1132257Похоже на кривую обучения.
>>1132259>>1132333
>>1132168Спасибо, очень подробно объяснил.Подскажи, что нужно сдлеать чтобы понимать JS на таком уровне?
>>1132168Спасибо большое, анонПодскажешь ещё одну вещь?Что тут за CP? Это методы сайта?
>>1132168> И как бы не старались с пеной у рта фанатики кричать про низкий порог входа - низкий он именно что для входа, а не для всего остальногоСогласен с тобой. Я пробовал и плюсы и пхп и даже ассемблер, но тяжелее всего мне со скриптом
>>1132257Пиздец, посмотрел на код современного Jquery охуел от того что понял только 10%. Зачем так жить пацаны? Вы вообще понимаете что там происходит? Я вот например исходники Quake на 99% понимаю. А тут какая-то жопа прям.
>>1132168>Сообщение get содержит один параметр, сообщение set дваА почему сет два? Слушай, анон, можешь телегу оставить или что-нибудь? Очень хотелось бы
>>1132550https://t.me/jsthread
>>1132403мимопроходилЧитать умные книжки. Можешь начать с You Don't Know JS. В подробностях рассказывает всё, начиная с особенностей типизации и замыканий, и заканчивая сутью прототипного делегирования и тем, почему класс-ориентированный подход в ЖС говно.Местами автор продвигает свой подход к построению кода (некий OLOO), к которому лично у меня много вопросов. Но это при желании можно проигнорить, а вот про устройство языка узнаешь очень многое.Ну и другие тоже почитывай. Ту же классику от Крокфорда и секреты жабаскрипт ниндзя.Если прямо вообще хочешь постичь дзен, то можно спеки ECMAScript читать.
Антоны, помогите напутствием.В общем, сейчас я что-то вроде полу-фронтенда. То есть, в основном ковыряюсь с js, верстаю гораздо меньше. И дело вот в чём. Мне нравится заниматься бизнес-логикой, пилить алгоритмы, короче решать задачи, где надо думать логически (сейчас занимаюсь игрой на phaser, и там постоянно нужно колдовать над игровой механикой). И со всеми странности жс я смиряюсь и в целом есть желание в нём развиваться. Но как только дело доходит до вёрстки, то я просто БЛЬООООО как это говно впадлу делать. Я ещё в универе заебался быть псевдодизайнером для всяких студсоветов, и сейчас к подобному вообще нет желания прикасаться. А фронтенд такая штука, что в большинстве проектов процентов 50 работы - это как раз вёрстка, это мне просто с проектом сейчас повезло, что я мало её касаюсь.Ну так вот я и думаю. Может в бэкенд перекатиться? Или на фронте всё не так плохо, как мне кажется, и просто надо поискать получше в случае чего?
>>1132550>А почему сет два? Имя слота и его новое значение
>>1132403>нужно сдлеать чтобы понимать JS на таком уровнеПросто изучить все существующие концепции языков языков. Понять принципы. И желательно изучить\понимать зачем эти концепции\абстракции вообще нужны. Расширять кругозор. Для этого надо иметь интерес ко всему этому. Нельзя закрывать себя в абстракциях одного языка, парадигмы и методологий. Помимо объектной концепции есть еще различные подходы к самой архитектуре. Например в JS - это событийно-ориентированное программирование, поняв которое, можно больше не воспринимать асинхронность как какую-то тяготу. И вообще понять, что это не касается только JS, а касается масс областей.
>>1132168> scope средствами языка перегрузить нельзяЗдесь немного неверно. Перегрузить можно, если предусмотреть такую перегрузку. С помощью eval.
>>1132535Да, это фича CodePen для возможности терминатить бесконечные циклы.
>>1132168> Proxy-объектыОдна из самых мощных и в то же время недооцененных фич языка, наряду с Reflect'ом.
>>1132546И на плюсах и на асме можно в динамическое программирование. Просто оно на другом уровне. На уровне выделения исполненяемой памяти, генерации машинного кода и вот это все. В 2018 этим мало кто увлечен. Но когда-то было иначе. Сложнее тебе в JS не из-за концепций метапрограммирования, ты можешь их и не использовать. А лишь потому что ты привык к тому, что верификацию твоего кода в большей степени берет на себя компилятор\ide (если брать асм, то там слишком низкие абстракции и все программирование сводится к жонглированию машинными словами. стрелять себе в ногу в нем не сложнее чем в динамических языках, ибо он сам куда более динамический. просто ввиду низких абстракций, ты понимаешь что когда происходит более легко ).Программирование - это способность реактивно менять абстракции смотря на те или иные вещи.
>>1132563Ну, Reflect просто вынесенные методы из Object по большей степени. Для структурирования API. А прокси да, вместе с метасимволами. Но все же не хватает еще нескольких видов сообщений или символов, для перегрузки некоторых вещей (операторов). Их не вводят сразу, потому что это сильно влияет на производительность.
>>1132403>нужно сдлеать чтобы пониматьПытаться материализовать все узнаное\прочитаное.Лучший способ понять JS, например кмк, это нарисовать себе граф всей объектной системы. Чтобы буквально на пальцах понимать, что как и куда, с чем свзяано, что дергается когда вызывается. А еще лучше закодить его интерактивное представление, чтобы по нему можно было гулять (по нему и так можно гулять, в консольке, но вкатывальщикам это не интуитивно). Что до книжек - не знаю. Я не прочел ни одной книги по какому-то отдельному языку за все 15 лет, что увлечен программированием, если не считай Кернингана и Ритчи. Я обычно читаю какую-то концептуальную литературу\статьи и спеки. Чтобы понять взгляды на те или иные вещи разных людей. Полезно вообще прочесть того же Таненбаума, по архитектурам пекарен и приницпах ОС. Интересно читать интервью\статьи Алана Кея. Любопытно Раскина (но это не столько по программированию), если смотреть в прошлое. Просто всего по немногу но везде. Повышать, так сказать эрудицию. А потом сам выберешь основное направление. Да и при решении вопросов будет хватать лишь гугла, потому что сможешь эти вопросы формулировать.JS мне достаточно было прочесть спеку. У нее даже есть переводы, если читать на английском сложно.В ней написано все еще подробнее, что как и куда дергается, когда и почему.
>>1132550>можешь телегутелега sdfcasd
>>1132168Алсо, что хотелось бы добавить. Как я считаю, JS проще бы понимался, если бы в нем использовалось REPL-driven-development, по принципу лиспов или smalltalk-систем. Не важно, на сонове образов или нет. В принципе, это не слишком сложно реализовать, если написать IDE под в учетом этого подхода. Суть его в том, что ты не пишешь код в файлах, а динамически создаешь объекты, выстраиваешь их связи и вот это все, в интерактивном режиме. Грубо говоря более лучшие devtools, которые по итогу компилируют проект в файловое представление. В девтулсах можно изъебнуться чтобы этго достичь, но это не удобно. Они все же не были созданы для разработки, а лишь для отладки.
>>1132558На фронте так или иначе ты будешь связан с версткой. Потому как не верстка это уже никакая лет 10 как, а UI. Будь ты прикладным программистом, твоя боль выглядела примерно как - ребят мне нравится писать приложухи, но как дело доходит до интерфейса это бооооль. Откуда нам-то знать, лучше тебе в бэкенд или не лучше. Можешь в бэкенд. Можешь в системщину. Можешь в машин-лернинг. Есть масса областей где нет программирования графических интерфейсов. Но API ты все-равно будешь должен проектировать и создавать.
>>1132567Еще о книжках.Нельзя никогда воспринимать авторов как авторитетов. Надо помнить, что это лишь их субъективные взгляды. Потому что книги не излагают формальных аспектов в отличии от спецификаций, например.Как пример, есть такой человек как Столяров. У него много годных книжек по программированию. Но ввиду того, что он зажат в концепция системного программирования и мыслит лишь ими, зачастую его опусы наполнены такой лютой чепухой параллельно с полезным материалом. А он при этом еще и педагог. И это печально. Короче говоря, читать надо писателей, не воспринимая все за чистую монету. А лишь полагаясь на их высказывания и мысли. Чем больше вы будете пытаться с ними поспорить, тем сильнее углубитесь во все и дойдете до собственных пониманий. Поэтому ни к чему читать что-то об отдельных языках. Языки лишь инструменты, которые отражают определенные концепции. А этих концепций очень большое множество (на самом деле не столько большое, но ввиду их различных комбинаций, оно получается). По самим языкам самое полезное это спеки и справочники. В книгах же много воды, чаще субъективной.
>>1132571Вот к апи как раз у меня побольше симпатии. В вёрстке дико бесит вся эта кроссбраузерность, когда к тебе приходят из Министерства обосранных штанов Российской федерации, и говорят что хотят себе портал для госзакупок с поддержкой ie8+. Если бы не эта долбёжка, и было бы там как с полифиллами в жс, то может и отношение бы другое было.Энивей, спасибо за мысли.
>>1132588Ну смотри. Если бы ты писал гуй не в вебе, а стэндэлон - там еще больший зоопарк с тулкитами. так что разницы никакой. В этом плане спека веба - даже самый универсальный и кроссплатформенный тулкит из всех существующих. Просто тебе не нравится программировать гуй. Ну выбери ту сферу, где гуя нет. А что с поддержкой легаси (как в твоем пример ie8), так на то оно и легаси, что встречается во всех сферах. ну поставят тебе задачу взаимодействовать с каким нибудь древним сервером\сервисом по давно мертвому протоколу на том же бэкенде. Будешь так же плеваться, а делать придется. От этого не уйти.
>>1132168В начале был Объект, и Объект был у Джаваскрипта и Объект был джаваскрипт.
>>1132619Вообще-то это концепция пошла из smalltalk'а. JS сильно урезанная его версия с си-подобным синтаксисом. В js не хватает эсктремально позднего связывания и первоклассных выражений (когда любое выражение, это тоже объект).Ну, а еще нельзя перегрузить цепочку прототипов у всех объектов разом, прокси-объектом, чтобы отлавливать сообщения вид idontunderstand.
>>1132627Точнее сильно урезанная версия self'а, потомка smalltalk
>>1132627Щас бы экстремально позднее связывание и перегузку цепочки прототипов юзать в языке, который даже кусок кода не может из другого файла заинклюдить без надстроек. И с помощью этого компьютер-сайнс буллщита писать фишинговые формы на клоакинговых лендингах, кекус максимус.
>>1132648В языках с экстремально поздним связыванием и развитой системой метапрограммирвания, вообще не должно быть таких понятий как файлы и инклюды. У тебя синдром утенка.
>>1132653Нет, это у тебя синдром утёнка. У тебя что, до сих пор 80-е на дворе и ты работаешь в НИИ?
>>1132657Про то, что есть вещи опережающее свое время ты не слышал? Все развитие идет по пути повышения абстракционных моделей, а ты как раз стоишь на месте.
>>1132659Слышь, ты, повышение абстракционной модели в лиспе и смалталке, сиди в НИИ и не гунди, у нас тут давно рыночек всё порешал. Копеечный даун на жквери нужнее умного очкарика-ботана с степенью в компьютер сайнсе и матане. Потому что даун на жквери getting things done, причём быстро, дёшево, и макаку можно заменить за пять минут. Поставил слайдер с куриными жопками по скидке - лавешка потекла. И где и кому там твой смолтолк? Да нигде и никому. Пустые коридоры застывших в 80-х НИИ, по которым ты ходишь, всё ещё думая, что живой.
>>1132663>у нас тут давно рыночек всё порешалНу с тобой всё ясно.
>>1132665Хочешь ты этого или нет, сопротивляешься этому или нет, но факт остаётся фактом. Смолтолк упоминается в 1 вакансии во всей стране. И то, придётся уехать на Урал к геологам. Смолтолк мёртв, так же как и сотни других языков двадцатого века. А попытка в треде по самому хайповому и хипстерскому языку для дошколят доказать, что кому-то там нужна какая-то плохо понятная хуйня из доисторических языков выдаёт в тебе не очень умного дурачка, хотя ты, я уверен, о себе обратного мнения. Совершенно напрасно, спешу тебя расстроить. Умный потому и умный, что понимает, что его требования и желания касательно устройства мира, рынка и человечества никого кроме его самого не ебут, лол.
>>1132667про дошколят жиза. научил младшего брата(16 лвл) кодить за пол года. за декабрь и январь он уже больше 1к$ нафармил. при этом еще как-то в пту ходит. тру стори не я троль
>>1132667Ты несешь какую-то чушь. Придумал себе какую-то позицию за меня и с ней споришь. Ты пытаешься мне сейчас доказать, что выучить язык и его объектную систему проще, если изучать ее к верху каком? ты идиот? Все сложности у вкатывальщиков, все эти ррррряя и боль, именно потому что они не понимают сути, концепции языка и объектной системы. Почитай треды. Все вопросы однотипы и все вытекают лишь из того, что люди пытаются переложить парадигмы одного языка на другой, даже не на язык, а на объектную модель. Твои доводы о рыночке и вакансиях - это вообще тут при чем? Есть множество более оплачиваемых профессий нежели программирование - выкатывайся в них нахуй, мамкин зарабатывальщик. Ты не допускаешь такой мысли, что программирование может приносить удовольствие, нет?
>>1132669именно потому что они не понимают сути, концепции языка и объектной системыИменно потому, что они не понимают перегрузки цепочки прототипов и позднего связывания? Я просто ору с тебя. Вопросы в этих тредах исходят из людей, которые пишут код первый раз в жизни, и непонимание глубинных механизмов работы прототипов вообще тут не при чём. Им бы понять, чем синхронный код от асинхронного отличается, чтобы форму в пхп-скрипт отправить. Они не понимают HTTP и концепцию Request-Response, о каких перегрузках ты говоришь?
байтоебы лезут в жс, памахите!
>>1132681Будто что-то плохое. Не байтоёбы должны помереть от рака анальной джопы. Ибо заебало когда открываешь какой-нибудь сайт, а там по 15 фрэймворков, всё тупит как будто крузис запустил, и сжирает это всё 7 гиг оперативки. Сраные говнокодеры блядь.
>>1132681Байтоебствую на JS в буквальном смысле этого слова, насколько это возможно, используя язык там, где другие сказали "НИПАНАЗНАЧЕНИЮ" - патчинг бинарных файлов, разбор цифровых промышленных протоколов "на лету" в качестве софтверных гейтов, полное покрытие функционала HMI/SCADA.Где твой Босх теперь?
Господа, порикамендуйте что почитать вкатывальщику по SPA.
>>1132714>Байтоебствую на JS в буквальном смысле этого слова, насколько это возможно, используя язык там, где другие сказали "НИПАНАЗНАЧЕНИЮ" - патчинг бинарных файлов, разбор цифровых промышленных протоколов "на лету" в качестве софтверных гейтов, полное покрытие функционала HMI/SCADA.Но зачем, если теперь есть wasm и можно сишечку емскриптеном компелять?
>>1132681>>1132724Вас после node.js ещё что-то удивляет, лол.
>>1132724и что, что он есть. Если бы ты писал на том и другом, то знал бы, что сейчас зачастую мономорфный js код намного быстрее жонглирует байтами, нежели wasm.
>>1132942> мономорфный js код намного быстрее жонглирует байтами, нежели wasm.Толстота умноженная на 900000000000000000000000000
>>1132942да нахуй нужна эта экономия на спичках если все равно будет все тормозить из за сраного ДОМа
Аноны, дошел до графических компонентов, то есть Кантор уже все, хочу написать пару вещиц на чистом JS, но меня сбила глава "Графические компоненты", я не понял калькулятор с туду листом надо писать в ООП или как? Если нет, то в каких случаях ООП вообще нужен? Спасибо.P.S если не берем в расчет React, что мне изучать еще?
>>1133062Маня. Не во всех операциях учавствует твой ДОМ.
>>1133083иди на хуй. все остальные хуйня
Все никак не врублюсь на каких методах из жизненного цикла можно вызывать setState?
Как распарсить дату на ваниле такого формата '06/02/18 Втр 11:11:11'?
>>1133374split
>>1133375А как потом из этого собрать валидную дату для date.parse?
>>1133377https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
>>1133377Про date.parse ты знаешь, а как строки строить - нет?
>>1133399Уже написал небольшую функцию, раcплитил на цифры разные и отдал в Date().
это за январь. челику 16 лет, жс-джун место действия ВНЕЗАПНО кишиневваши оправдания борщееды
>>1132667>Смолтолк мёртвНе мертв он, просто макак на такие должности не берут.
>>1133568700$40 000 рублей.>деньгиНормальный разработчик интерфейсов даже жопу от стула не оторвет за эту сумму. Пусть школьник набирается опыта, может вырастет в что-нибудь нормальное.
>>1133596у них там 17ти летние шлюхи баксов 20 стоят
>>1133592Как дела в НИИ? Новую версию Фортрана завезли уже
>>1133592Каково общаться с объектами?
Посоны, помогите.Уже полтора года макакю во фротнэнде, последние пол года клепаю формочки на реакте+редаксе.Проблема в том, что чувствую, как я отупел - SICP совершенно не могу читать, просто понимаю нихуя и задачи решать не могу.Чувствую, что скоро стану совсем ненужным макакеном и пошлют из профессии нахуй.Что делать блять?
>>1133676А тем временем в книготред новые учебники подвезли. Начал бы с них, а там и до бэк-енда добрался...
>>1133676Я на курсере курсы прохожу чтоб не тупеть
>>1133676>клепаю формочкиЭто как?
>>1133676> чтоб не тупеть.Очевидный Дональд Кнут. Читай про алгоритмы.Проверять насколько ты тупой можно на любой из платформ вроде codeforces / hackerrank
>>1133676Матешей займись. Базарю, просветляет. Вместо игорей вечером на часик захожу, зависимость есть.https://www.khanacademy.org/mathИли МООКи какие проходиhttps://github.com/ossu/computer-scienceС этого стоит начать:https://www.coursera.org/learn/learning-how-to-learnСон, еда, активность, общение, эмоции. Витаминки, глицин, пирацетам, циннаризин, к врачу сходи.
>>1132257
Пизда вашему JS настала.https://blogs.msdn.microsoft.com/webdev/2018/02/06/blazor-experimental-project/
читаю сейчас про ngrx - ебать крутая тема походу!!!буду сейчас перепиливать свой экстеншон для хрома на это дело. хочет кто-нибудь за компанию по скайпу?
>>1133894>перепиливать свой экстеншон для хромаА ты умеешь? Как там это делать всё? Сложно? Какой язык (JS тред но вдруг...)? Ну и вообще какие подводные камни? Всегда интересовался этим.
>>1133888Ага. А еще Линукс скоро убьет винду.
>>1133888> NET to WASM> no XAML-to-HTML bridgeУх, епт. Реально опасная штука.
>>1133888Серьёзно боюсь за индустрию, когда вот это воспринимают как серьёзный ответ ЖиСусу. Нет бы просто написать альтернативу без ебанутого синтаксиса, нормальной типизацией и без ебучего поглощения тонн оперативной памяти. Нет, написали такое говно, что проще в жопу ебаться чем даже просто поставить его...
>>1133888на самом деле годно. я всю жизнь завидовал сисярпирам и с радостью пополнил бы их ряды забыв карьеру жс кодера как страшный сон. может к старости моей запилят и я как раз вкачусь
>>1133917Перекатился с сисярписта на JS. Хотя по сути что та хуйня, что это хуйня, и ебал я её маму в рот.
>>1133920Зато у тебя был божественный LINQue и не менее православная возможность ваять код на F решеточка и исполнять его на той же платформе.Боженьки, как я завидую шарпейчикам на NET.
>>1133921>Зато у тебя был божественный LINQueКак по мне - костыль ебаный для криворуких ленивых даунов.>возможность ваять код на F решеточкаБесполезное говно. На деле буквально в 2015 он перестал быть концепцией. А до этого он банально мог вообще ни во что. Не считая проприетарщины.
>>1133921Вот чего угодно ожидал, но чтобы линк хвалили, ещё и на программаче? Ты траллируешь чтоли?
>>1133921>божественный LINQНичто не мешает прикрутить анологичное к js.Но у вас же тут рррряяя метапрограммирование нинужно
>>1133932Ты в курсе что кофе есть?
>>1133934При чем тут кофе? Метапрограммирование от трансляции не отличаешь?
>>1133935Вообще одинаковым говном считаю что то, что это.
>>1133936Ну и дурак.
>>1133937>2018>фанатеть от кофеОкей.
>>1133939Ты не просто дурак, ты вовсе идиот.Я писал про метапрораммирование, а кофе притащил сюда свой ты. И сравнил жопу с пальцем.
>>1133942Не вижу никакой принципиальной разницы, что та полужохлая хуйня для даунов, что эта. Причём просто за упоминание линка на западе например могут просто сразу на работу не взять. Ибо кусок говна. Почитай западные бложики и отношение ко всему этому в целом. А ты хочешь ещё что-то к Джарвису прикрутить...
Не нашел треда веб-макак. Вроде где-то был. Я хочу сделать сайт, где были бы просто восхитительные формы. Самые разные. Для заданий. Мол стоит вопрос какой-то, а у тебя ниже формы для ответа. Самые разные. Иногда нужно писать в поле ответ, иногда выбирать, иногда перетаскивать. Чем это организовать дабы попроще было?
>>1134075Сам пишу такое. Ну и сделал уже то о чём ты говоришь. PHP+ Mysql+Jquery+CSS+HTML.Как-то так. Сам конструктор вопросов естественно - JQuery. Ну а выбор стилей форм берёт инфу из БД. Хотя это по моему очевидное архитектурное решение. Так что я думаю что я не совсем точно ответил на твой вопрос и ты ожидал другово ответа.
>>1134081Что ты пишешь?
>>1134075>восхитительные формы. Vue
>>1134082Система тестирования же.
>>1134094А причём тут vue если в итоге ты будешь дёргать CSS, а там вообще похуй чем?
>>1134097То, что сложные условные формы и интерактив надо делать на фреймворках в общем и на вуе в частности.
>>1134103>Сделать форму с 4 чекбоксами>Сделать форму с 4 радиобоксами>Сделать форму с инпутом> сложные условные формы и интерактив надо делать на фреймворках в общем и на вуе в частности.Мне кажется почему-то, что можно и без фрэймворков. хз, может я ошибаюсь конечно. Не проверял (Тоесть проверил и создал уже, ну да ладно.)
>>1134110Если так, то тогда в чём был вообще вопрос, в чём восхитительность?
>>1134114Не ну может он хочет иметь несколько вагин и 1 дилдо который нужно засунуть в определённую напротив правильного ответа. Думаю это было бы восхитительно.
>>1134119Ваш дизайн восхитителен.
>>1134081Алсо, сам конструктор на жквери. Я боюсь представить, какое у тебя там говно под капотом. Жквери только для селекторов нужен, что-то на полном серьёзе писать на нём - это надо быть ёбнутым на всю голову. Дали им реактивность и высокопроисходительный патчинг дом, нет, не хотим, хотим лапшу из жквери.
>>1134122Так мне надо аякс и дёргать дивы. >какое у тебя там говно под капотом.Около 20 строк кода.
>Мам мне надо формочку склепать>4 чекбокса, 4 рабообокса>Вот тебе реактивность и высокопроисходительный патчинг дом, и похуй что к задаче не имеет отношения, зато я такие слова знаю.
Аноны, поясните вкрации за node.js и за его философию. Я попытался вкатиться и охуел, потому что в php ты просто формировал выдачу, а теперь мне еще надо и сервер настроить.
>>1134145Даунам было лень выучить 10 PHP комант. Хуяк хуяк и они сделали node.js Это всё что надо знать о node.js
>>1134129Ты насмехаешься над тем, что человеку порекомендовали использовать профессиональные инструменты, но даже не удосужился предположить, что человек этот, возможно, сподобится сделать не просто 4 чекбокса и 4 "рабообокса", а фабрику чекбоксов и "рабообоксов".Нет необходимости заниматься рутинной деятельностью, когда можно автоматизировать решение задачи.
>>1134146>Даунам было лень выучить 10 PHP комант. Но ведь даунам не завезли в пыхе асинхронность из коробки.Да и событийною модель дауны не могли реализовать при помощи одного пхп.
>>1134146php-only решения сасут. К примеру, рендер картинок.
>>1134147>фабрику чекбоксов Тут то я и обосрался. Ну окей. давай так. Какую задачу это решает?
>>1134150PHP прекрасно рендерит картинки
>>1134149>Но ведь даунам не завезли в пыхе асинхронность из коробки.При том что любой, даже самопальный скрипт на js смог в асинхронность и без Node почему-то никого не смущщает. Ну ок.>Да и событийною модель дауны не могли реализовать при помощи одного пхп.Опять же была за 100 лет и не является заслугой node.
>>1134151Нахуячил генератор тестов в йоумэне, например, и на выходе получил восхитительные формы, написав адаптер по вкусу и сведя к минимуму последующую кастомизацию восхитительных форм.Неужели это не очевидно?
>>1134150>Серверсайд бэкэнд>Рендерить картинкиОкей. Ты ещё скажи что на PHP майнить плохо. Ясен хер он не для этого сделан. Как и Node.js
>>1134154Да, если нужно нарисовать рамку. Когда тебе нужно нарисовать что-то сложнее полутора линий, то проще взять canvas
>>1134150Начнём с того, что PHP онли решений в природе не существует.
>>1134157Всё что ты перечислил делается без фабрик от слова вообще. Даже кастомизация без фабрик делается. Чот ты походу сам не знаешь что такое фабрика.
>>1134158Сюда смотри и сам решай для чего php сделан и почему это язык №1 на вебе.https://secure.php.net/manual/en/imagick.examples-1.php
>>1134159А, тоесть сначала ты говорил про рендер, а теперь выяснилось что тебе лично просто сложно. Окей. Я понял твой аргумент.
>>1134162Ну анон, это использует дай бог 1 из сотни.
>>1134163> тебе лично просто сложноДа, лично мне сложно превращать высокоуровневые операции на канвасе в кучу низкоуровневых php операций и терять производительнсть
>>1134165Это используют для капчи и уменьшения аватарок
>>1134166Рендеринг то тут причём? Ты дал команду, он срендерил. А то, что у тебя руки кривые, и что ты чего-то там не смог - так это не его проблемы. Что за бред вообще.Фотошоп рендерит плохо потому-что если нужно нарисовать рамку норм, но я рисовать не умею, поэтому фотошоп говно.
>>1134167в 2018? Я думал все переехали на гуглкапчу. Нет?
>>1134168> ты неосилятор ряяЕсли ты ни разу не работал с картинками, то мне нечем тебе помочь.
>>1134166И какие такие высокоуровневые операции ты производишь? Рамку нарисовать в пхп одной строчкой:$canvas->borderImage('black', 1, 1);
>>11341713 велосипеда по работе с картинками написал. Дальше что?
>>1134171Сотни раз работал с картинками, просто критика мне непонятна. Ты всё именно так и написал, что ТЫ не смог осилить. Поправь меня если я не прав.
>>1134172Какие операции двачер может делать? Наверняка ставил свой huesosov.info на каждую пикчу. Вот и всё.
>>1134175>>1134172>>1134173В php приходится перебирать все пиксели изображения, в канвасе же это делалось в несколько строк. Интеграции js песочницы в php окружение еще не завезли.
>>1134178Сам вручную перебирал?
>>1134178>перебирать все пиксели изображенияДля чего?
>>1134178>В php приходится перебирать все пиксели изображенияУдивительные истории.
>>1134178Просто кое-кто мудак.
>>1134208>>1134181>>1134179>>1134180Ну давайте хотя бы градиент ебаните без перебора, умники ебаные.
>>1134210
>>1134212>imagick
>>1134213Что тебе не нравится?
>>1134213у js'а canvas тоже в язык не встроен, лол. если тебе не нравится подключать расширение.напиши библиотеку на чистом php, и не перебирай каждый раз свои пиксели.переиспользование кода - слышал о таком?
>>1134210Ты смешной такой. Тебя носиком тыкать надо. Вот картинка с градиентом >>1134162 . 30 Строчек кода на ее создание с нуля.
>>1134222>>1134213
>>1134223Ты дегенерат.Тебе уже выше написали, за языко-онли решения.JS например вообще не имеет никаких средств ввода вывода.Ты на голом js вообще нихуя сделать не сможешь. То есть, вот вообще ничего. Ни прочитать данных, ни вывести. Понял?
>>1134226node.jsА на чём ты без АПИ сейчас что напишешь? Странный такой.
>>1134235node.js это не голый js>А на чём ты без АПИ сейчас что напишешь? Странный такой.Маня. Язык определяется спецификацией. Если в спеке прописаны средства ввода вывода - то они часть языка, а не api. Как например горутины в go, для многопоточности, это блядь часть языка, а не окружения.js в отличии от php встраиваемый язык. у него очень ограниченная объектная модель по спеке, все остальное реализуется кружением.
>>1134238
>>1134238Если уж занудствовать, то это Ecmascript встраиваемый без ввода-вывода, а JS это его реализация с апишечками принимающей среды (бровзера или ноды).
>>1134290>бровзера или нодыЕсли ты знаешь лишь два окружения, это не значит, что нет остальных.JS встроен в фотошоп, юнити, автокад и еще в кучу ПО.
>>1134290И апи окружения это не апи языка. и даже не его стандартная библиотека.
>>1134290И вообще, все началось с того, что анон (если это был не ты, то вообще не ясно хули ты вписался, а если вписался, то хул не проследил нить разговора) что анон сказал. что на php нельзя в несколько строк нарисовать градиент, в отличии от js, а когда ему привели пример, ему не понравилось, что используется расширение, а не чисто стандартная либа языка. И ему поясняли что canvas api в js это такая же сторонняя библиотека, а не часть языка.
>>1123427Если ты планируешь использовать частичное применение функции, то делай каррирование.
>>1134149>Да и событийною модель дауны не могли реализовать при помощи одного пхп.Какой ты соня. Тебя даже вчерашний шторм не рабзудил.
>>1134471Ваша реплика оставила ощущение легкой недосказанности. Можно ли поподробнее, что я проспал?
>>1134503Событийная модель уже организована в ларавели, на чистом PHP.
>>1134149>не завезли в пыхе асинхронность из коробки.Завезли, проблема в том, что только под unix, в то время как разработчики использую windows. https://secure.php.net/manual/en/book.pcntl.php
>>1134525Где это ты таки разработчиков видел ? В 5б?
>>1134525Зачем ты так? Теперь node.js совсем как копрофаги выглядят. Они и так за 8 лет смогли допилить только до уровня PHP 1998 года, а теперь вообще вены резать будут.
я должен был сегодня с утра покодить на ангуларе 2 с @ngrx/store(RxJS powered state management for Angular applications, inspired by Redux)но вместо этого поднял пару водных и теперь мне леньдвач мотивируй меня как-то на это говно а взамен я буду выкладывать скриншоты с комментариями в процессе деятельности(хз если ли ваще материалы на русском про этот ngrx?)буду переписывать свою простенькую приложуху(тоже на нг2) клон oneTab. экстеншон для хрома(пикрелейтед внешний вид) который при клике закрывает все вкладки и сохраняет список закрытых вкладок(табсет) в локалсторейдж.
>>1134531>двач мотивируй меня как-то на это говно Сможешь зарабатывать на трапов.
>>1134527Сам посмотри
проигрываю этого срача между препроцессором гипертекста и скриптохуйней для браузеров
ПЛАТИНОВЫЙ ВОПРОСвкатываюсь в этот ваш фронт, и сейчас передо мной 2 стула, на 1 - Реакт точеный, а на 2 агуляр дроченый. В пользу реакта можно отнести его большую популярность (от чего большую вероятность найти работу), с другой стороны мой знакомый работает с ангуляром и может подсказать в случае чего.Вопрос: на какой стул сесть самому, а на какой мать посадить?
>>1134538>Качать какое то перегруженное говно>Когда есть божественный сублайм текст три.
Завтра иду на собеседование на позицию джуниора nodejs, сказали "будут спрашивать про жс". Что повторить, подучить, посоны? Мой первый собес, меня аж трясет всего уже.
>>1134529>Теперь node.js совсем как копрофаги выглядятЧе несешь? Асинх в ноде был из коробки.
>>1134238>node.js это не голый js
>>1134763ивент луп, промисыhttp://perfectionkills.com/javascript-quiz/
Сап двощ. Недавно начал изучать JS. Раньше создавал сайты, исходя из этого мне не совсем тягостно учить язык. Также знаком с базой с++, изучал в шараге. Так вот, хотелось бы узнать у опытных дядь в этой сфере, актуальна ли вообще такая вакансия сейчас у компаний? просто, некоторые пишут, что уже все вакансии заняты, лезть не стоит. Это дерьмо немного демотивирует и учить как-то немного теряет смысл, но немного, ибо, насколько знаю, если выучить один из языков, то в любом другом можно разобраться быстрее
>>1135004как ты и подобные тебе дауны мыслят? вот ты пишешь>некоторые пишут, что уже все вакансии заняты, лезть не стоита я тебе отвечу: все вакансии свободны, лезть стоит. ты мне поверишь? или другому анониму? мы что не некоторые, а какие-то особенные?бля просто сру тебе в рот хуйло. съеби отсюда, не нервируй меня.
>>1134946> http://perfectionkills.com/javascript-quiz/Ты этот говнотест сам проходил или просто решил скинуть ссылку, дабы затмить неокрепший разум неофита?Претензия, конечно, больше не к тебе, а к автору сего теста. В частности, вопрос под номером 9:var x = 1;if (function f(){}) {x += typeof f;}x;Правильный ответ: "1function", ибо выражение внутри проверки условий if'а вернет truthy value. С этим согласен и дебаггер хрома.Однако сайт такой вариант ответа засчитывает как ошибочный.
>>1134837С такими ебанутыми проблемами и 2018 году, этот асинк можно только в анус себе засунуть, и перейти на вообще что угодно кроме ноды. Даже на велосипед.
>>1135153Там в комментариях всё обсудили и даже развёрнутый ответ был.В любом случае, конкретно для собеседования такой тест нинужен (разве что про хоистинг и this после присвоения другому объекту узнать, если не знал ранее). А если что-то такое спрашивают, нужно смело посылать нахуй и уходить.
>>1135153>>1135168орнул. иди на хуй чмо
>>1135153> С этим согласен и дебаггер хрома.Кому ты пиздишь? Пустую вкладку открой about:blank и проверь, тупой мудак.
>>1135206оруууууууууу
>>1135153>Однако сайт такой вариант ответа засчитывает как ошибочный.Всё правильно сайт засчитывает.
Тупой вопрос, но все же. Как в JavaScript правильно записывать выражения такого типа: (398 <= 200 <= 1192)?JS выдает true, а Python выдает false.
>>1135549200 >= 398 && 200 <=1192только так, больше сахарка не завезли
>>1135549>398 <= 200 <= 1192>false <= 1192 >trueВсе верно выдает.
>>1134946Ответил правильно на 2 вопроса.мимо реакт разраб
>>1136006Ехал typeof через typeof.Хуита.
>>1125742> Самый пиздатый редактор VSCode написан на JS целиком и полностью.Давно у тебя тайпскрипт стал жсом?
>>1136216рантайм жсный, так что он по болльшому счету прав.
>>1136261Ну кому ты пиздишь
>>1136284Что это за скрин?
>>1136292Гитхаб
>>1136297Ну это же сырцы, они собираются галпом + tsc. Никакого тайпскрипта в рантайме нет.
>>1136301>Самый пиздатый редактор VSCode написан на JS целиком и полностью.>TypeScript 91.5%>JavaScript 4.8%>написан на JS целиком и полностью>в рантаймеПри чём тут рантайм и то, во что преобразуется код? Котлин транслируется в джаву, но никто не говорит, что приложение, написанное на котлине, это джава.Не надо путать понятия.
Но котлин не транслируется в джаву, он только JVM использует.А ts именно транслируется. Причем на том сайте, где можно про него почитать, так и написано - надмножество js.Самая близкая аналогия - флоу, который тупо плагин для бабел.
>>1136328>не транслируетсяРаботает поверх JVM, да.Перефразирую: код "преобразуется" в джаву, так как в декомпилированном байт-коде именно джава.
>>1136324>Котлин транслируется в джавуТы нахуя врешь, если не знаешь? Ни в какую лдаву котлин не транслируется. Он транслируется в байткод.
>>1136348>так как в декомпилированном байт-коде именно джава.Ты дауна кусок, тебе ничто не маешает представлять декомпилированный код на чем угодно, не обязательно джавой. Байт-код это байт-код.
>>1136261Если уж на то пошло, весь рантайм написан на плюсах. Потому что рантайм, это электрон. И кода рантайма на плюсах во всех проектах на электорне, больше чем на js\ts\и чем угодно ином.
>>1136301То есть правильно я тебя понимаю, что программа на сишечке - на самом деле написана на машинных кодах, по-твоему?
>>1136383>>1136384this >>1136348Дауна кусок здесь только ты, это было в качестве примера.>на чем угодноНу давай, декомпильни мне jar в c#.>>1136387Единственный анон, который понял суть дела.
Анчоусы, да чо вы усираетесь, ну видите же, что он ебанутый. Знает о предмете поверхностно, прочитал на хуябре или ещё где 1-2 статьи и воображает из себя йоба пограмиста. Будьте мудрее, не ебите себе мозги. Он и сам с собой не против поспорить, не лишайте его такой прекрасной возможности.
Последние ответы были не мои. Моя идея была в том, что тс - не самостоятельный ЯП, а надстройка над жс.
>>1136545Что в твоем понимании самостоятельный ЯП?Ты понимаешь, что ЯП не имеет такой характеристики как самостоятельность? Это лишь форма записи. Ты можешь транслировать любой ЯП во что угодно. Ты можешь JS трансилировать в машкод, если очень хочешь. Просто напиши такой транслятор. ТО же самое с TS. Тебе ничто не мешает написать транслятор в другой язык. Ровно как не мешает написать интерпретатор непосредственно TS. Идея твоя говно. Потому что ты ничего не понимаешь в языказ программирования и повсеместно путаешь исполнителя, среду и сам язык.
>>1136680Хорошо. Лексика у жс и у тс практически идентична, семантика тоже, как и синтаксис. Практически - 99% конструкций, доступных в тс, доступны и жс. Впрочем, это зависит от того, как будет настроен компилятор этого тс.Тс - надмножество жс и ничто его не делает самостоятельным языком. Ну это всё равно что написать плагин к компилятору плюсов и начать говорить о новом языке.
>>1136704Но тогда и C++ это не самостоятельный язык, мань, а лишь надмножество над C. А Си это надмножетсво асма.
>>1136704>Практически - 99% конструкций, доступных в тс, доступны и жсЕще раз говорю, ты ничего не понимаешь в языках. Любые абстракции языка более высокого уровня, моно выразить на языке более низкого уровня.
>>1136709Где ты видел объекты в C?Или где ты видел такие же абстракции от инструкций в асме?Суть в том, что в них нет практически никакой разницы ни в наборах реализуемых парадигм, ни в способах их реализации.
>>1136711Но они не отличаются уровнями абстракции
Зачем нужно ставить gulp-cli глобально, а gulp локально, судя по инструкции на https://gulpjs.com/ ?
>>1137000Глобально для того, чтоб можно было из командной строки просто писать gulp build например, локальная установка при этом не нужна, только gulpfile.js в целевой папке.В глобальной установке ничего плохого нет, но могут быть проблемки. От неё лучше отказаться.Стоит стремиться к тому, чтоб твоему коллеге набрать npm i или npm start и всё работало.Если ты установишь Галп локально, то в node_modules/gulp/bin/gulp.js ты увидишь всего одну строкуrequire('gulp-cli')()Галп-кли уже установлен локально. Ты можешь запускать его node_modules/gulp/bin/gulp.js buildСлишком длинно, можно лучше. Тебе надо прописать одну дурную строку в скрипты package.json{... "scripts": {"gulp": "gulp"} ...}Это позволит запускать Галп через npm run и сделать что-то типа{... "scripts": { "gulp": "gulp", "prestart": "npm install && npm run gulp build", "start": "node index.js"}...}и ещё много чего полезного.Теперь твой пакет не загрязняет глобальную область, не требует прав, стартует локально из коробки.
Для js кода есть инструмент для визуализации вызовов в виде диаграммы?
>>1134615Ангуляр более корпоративный. Строгий синтакс. Тайпскрипт (считай джаваскрипт с типизацией) сразу будешь писать на том, что у JS макак еще не скоро появится. (Вроде декораторов).Реакт - более молодежный, хипстерский. Код пишется на ES6 и богомерзком JSX. Работы дохуя. Я бы выбрал реакт.
>>1135549Сравнил нормальный язык программирования и скриптопарашу.Я иногда пишу на Python для себя, при виде конструкций. (x, y, z) > (f, g, s) вместоx > f && y > g && z > s, слезы макакьи наворачиваются на глазах блядь.
>>1136216> Называет говноподелие от мелкомягких языком.> Надмножество JS.Давайте и реакт с JSXом назовем языком, хули уж там. TS и JS одного поля дерьмо, что бы эти петушки с псевдотипизацией не говорили.
>>1137976Реакт уже давно серьезный бизнес, а не хипстеры. Ну и проще и прозрачнее в разы.
анон, куда скрипт без реги можно залить, чтобы прямую ссылку выдавало
>>1139304На жсфиддл залей
почему ви не перекатываете трде?
123
Такая тема, только начал вкатываться, написал короткую строку кода, все работает: alert("Hello world!");Но.. Текстовый редактор выдает ошибку: ESLint завершил исполнение с ошибкой: [object Object]Пишу в редакторе Brackets. Кто-то сталкивался с такой хуйней? Что оно блять означает? И ведь все работает, но само уведомление меня раздражает, так как что-то не в порядке