Ссылка на прошлый тред: >>1061439 (OP)Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.Часто задаваемые вопросы:https://github.com/vladimir37/js-thread/blob/master/Wiki/faq.mdСписок материалов для изучения:https://github.com/vladimir37/js-thread/blob/master/Wiki/learn.mdСписок инструментов и направления JS-разработки:https://github.com/vladimir37/js-thread/blob/master/Wiki/tools.mdИнструмент для визуализации и экспериментов со связями между объектами в JavaScript:http://www.objectplayground.com/Конфа /pr/ в Slack:https://slack-2chpr.herokuapp.com/JS-конфа в телеграме:https://telegram.me/jsthreadНЕ КОПИРУЙ КОД ПРЯМО В ТРЕД! Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
Форкнулся.
>>1068070В однопоточном окружение щас бы форкаться.
>>1068071Экма правильным путем идет. Сначала стандартизовали атомарные типы, потом и файберы с евергрин-тредами завезут.Все будет, но не сразу.
>>1068073Пуская сначала типы завезут.
>>1068071>>1068073>потокитам всё сложнее https://goo.gl/oazYJx
чому жс такой сложный :(
>>1068088жс простой. Хуле в нем сложного то.
Как в ноду вкатиться?
Ткните носом, где можно прочитать про то, как сделать так, чтобы при нажатии кнопки UI не блочился.
>>1068110Кидай хендлер в setImmediate.
Нахуя нужны промисы, если есть кастомные события?
>>1068116События есть только в webapi. Они не имеют отношения к спеке языка.
Где трапы в шапке? Без трапов - недостаточно легетимно.
Прокрастинация во время изучения js это норма, или мне на завод?
>>1068129Этому явлению есть имя - "JS Fatigue", погугли.
>>1068129на завод, причём уже вчера
>>1068129В кодерство тебе явно не стоит соваться. дальше будет только хуже.
>>1068129>или мне на заводсначало сюда http://www.iqtest.dk/main.swf
>>1068116>Нахуя нужны промисыкак нахуя?
Есть ли встроенный способ получить имена всех проперти и методов объекта, включая унаследованные, кроме как вручную обходить все прототипы?
Анончики, подкажите пожалуйста, насколько быстро можно вкатиться в JS и фреймворки, чтобы начать работать на удалёнке? Я сейчас java жуниор прогер с сертификатом от оракла. Но работы нет, а удалённой работы для java прогера не могу найти. А вот для JS+HTML+CSS вижу дохуища вакансий везде. Поэтому, сколько в днях занимает это? И какие задачи надо научиться решать?
>>1068181нахуй вы бегаете с одного языка на другой, в итоге нихуя не знаете ни один, сиди на яве и дрочи до мидла, иначе проебёшь только время зря.
>>1068193Понял, спасибо.
Аноны, нужно написать сайтик на пару простых страниц+регистрация+логин по соцсетям+отправка сообщений на мыло и использовать angular.С чего начать изучение? До этого в вебе только Django юзал и jQuery. С синтаксисом JS толком и не знаком. Да,нужно именно ангуляр.А пока пошел шапку вашу читать.
>>1068181>насколько быстро можно вкатиться в JS и фреймворки, чтобы начать работать на удалёнке? За год вполне.
Поясните как хорошо нужно уметь верстать что бы взяли на работу? И где лучше всего учиться? Htmlacademy например достаточно будет пройти все задания в том числе и платные? Просто Js интересен и вроде норм получается, а от вёрстки блевать тянет.
>>1068346бля ты это я, начал проходить на хтмлакадеми, уныло пиздец, аж трясет
Как организовать тестирование экспресс роутинга джестом? Делать юнит-тесты для роута (проверять статус респонса) и для метода, который вызывается этим роутом? Как протестировать более сложное поведение? Например, обращаюсь к эндпоинту апи, который отдает данные из пустой бд, проверить, что возвращается пустой массив, после этого добавить в бд запись и снова обратить, проверив, что возвращается массив с 1 значением?
>>1068365>тестированиеты че долбоеб ? только пидоры пишут тесты
>>1068346>в том числе и платные?кретин
>>1068365Юнит-тестировать есть смысл логику, независимые сервисы, а не оркестрационную часть вроде контроллеров. То, что ты хочешь - не юнит тесты, а скорее функциональные/интеграционные, поскольку твои данные будут проходить сквозь всю систему + взаимодействовать с БД. Юнит-тест тестирует модуль в изоляции (от сети, ФС и БД). Для тестирования API есть штуки вроде cucumber и behat, вод примеры сценариев тестирования:https://github.com/api-platform/demo/blob/master/features/books.featurehttps://github.com/diaspora/diaspora/blob/master/features/mobile/reshare.featureКак видишь, сценарий легко читается, как обычный текст на английском. К счастью, бекенд на JS меня писать не заставляли, так что погугли что-то похожее для JS сам.>>1068125>легетимноКниги хоть иногда открывай, траподаун. И всё правильно, твои трапы тут никому не нужны.
Набрал в терминале npm install http-server -gПотом ввел http-serverЗахожу на сайт, все работает, но при обновлении js, он не обновляется, а html обновляется.Что я сделал не так? Почему js не хочет обновляться?
>>1068480По той же причине, что винда требует перезагрузки после обновления. Код твой уже загружен в память и исполняется. Ты можешь хоть удалить к чертям сам файл. Ну либо я не понял, о каком js'е ты вообще говоришь.
>>1068490Может быть требуются некоторое уточнение.Дела обстоят в линуксе. Пытаюсь использовать phaser, но для запуска сайта с фреймворком нужно запускать с сервера. Запускаю его указанным выше способом.Если он уже записан, как перезаписать? Перезагрузка сервера не решило проблему.
>>1068496>Перезагрузка сервера не решило проблему.А вот это неожиданно. А ты уверен, что файл, который ты обновляешь, сервер вообще использует? Ещё есть вероятность, что браузер у тебя закешировал что-то, ctrl-shift-r попробуй.
>>1068504Точно! Все дело в кеше.Начал было уже писать js код внутри html.
>>1068504Ах, да! Спасибо!
Почему потерялся контекст?
>>1068537Интересно, эти полуебки когда-нибудь переведутся уже? Или так и будут каждый одно и тоже спрашивать.
>>10685381. Заткнись нахуй.2. Ну, я подумаю. Например, this в данном случае ссылается на глобальный объект, в котором нет name?
>>1068537Потому что JS это древнее зло, язык-говно, язык-гной, язык-пидор.
>>1068541на чём сам пишешь?
>>1068542Ни на чем он не пишет, дрочит в /бэ на трапов.
>>1068537Все, я сам разобрался. Если поставить без скобок setTimeout(user.sayHi, 1000); , мы работаем буквально с самой функцией, а не тем что она делает. Т.е. это как бы просто скопировать её текст без смысла, да? А если скобки поставить - это мы уже вызовем функцию, и this будет работать нормально.
>>1068447 Я ещё не покупал подписку, давно прошёл бесплатные задания, а платные оставил на потом. И что-то тебя не пойму что там плохого, возьму на месяц подписку за 400р и спокойно все пройду, если поспешить то и за неделю можно. Просто как писали выше, от этой хуйни воротит. Может такое детальное знание и не нужно если я буду на js писать.
>>1068549И у меня такое же чувство. только я сначала верстать учился, и даже было норм поначалу, а потом недавно стал учить джиэс.>>1068537 - даун
>>1068547нихуя ты не разобрался
>>1068066 (OP)Пидор, разбань мой акк, я короче успел сделать всё что хотел. буду вас дальше хуесосить в чатике
>>1068547>>1068537Читай спеки. Без вдумчивого чтения документации ты никогда не станешь специалистом.https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this>In most cases, the value of this is determined by how a function is called.https://www.w3.org/TR/2011/WD-html5-20110525/timers.html#method-context>Setting thisArg to undefined means that the function code will be executed with the this keyword bound to the WindowProxy or the WorkerGlobalScope object, as if the code was running in the global scope.
>>1068565А ты уже специалист?Что тут делаешь?
>>1068542На печатной машинке.
>>1068608Ребзи, хоть я и выбрал для себя фронтенд, но без знаний в беке в наше время тажко. Вот понемногу мучаю стек говноря: nodejs>expressjs, mongoDB>mongoose. Уже много чего удалось сделать в беке, опыт просто бесценный. Реально исчезли вопросы, которые я задавал себе, когда изучал фронтенд.Сейчас ломаю голову, над поисковой строке на сайте.Допустим мы вводим в неё название фильма: Тёмная башня.Тогда собственно никаких проблем нет, так как req.query.search == movies.title и мы легко в базе найдем нужный нам фильм. Понятно что такой поиск слишком примитивный, требующий полного совпадения.Поэтому нужен совет, как сделать более продвинутый поиск. Что-то наподобие поиска на https://www.kinopoisk.ruБоюсь одной регуляркой тут не отделаешься...
>>1068420Почему сразу долбоёб?Я пидор.
>>1068649Никогда не понимал фронтендеров начинающих с фронта.
>>1068649Elasticsearch
>>1068650Что дальше-то? Как тестировать-то будем, пидор? Сдаётся мне, в твоём случае единственно уместным является E2E тестирование.
>>1068649mongo text index тебе в помощь
>>1068661Кажись то что надо, спасибо.>>1068657Слишком жирновато для меня. Я бы хотел уложится в рамках одной технологии.
>>1068346Фульстек мидол вкатился, верстать не умею.
>>1068649MySQL может что тебе нужно, смотри функцию LIKE https://dev.mysql.com/doc/refman/5.7/en/string-functions.html
>>1068649В любой более менее нормальной реляционной базе данных есть функции для работы с поиском и даже специальные индексы для ускорения вышеуказанного. Не смей запрашивать весь массив фильмов и регуляркой пропускать их на JSе, нафаня. Есть так же поисковые движки sphinx и elastic. но чтобы асинхронный поиск кинца сделать они не нужны. мимо фуллстек макака
>>1068709Postgress вроде тоже может, там есть ILIKE (иненситив лайк), есть еще match against да дохуя чего есть.
>>1068346Что там уметь, это довольно нудный процесс, но справится даже бейбик. Советую флексы подучить, очень сильно поможет в верстке. Таблицы не очень актуальны, но знать их нужно когда столкнешься с легаси, на флоатах верстать тот еще пригар, особенно когда нужно выровнять что-либо по высоте. Так что они флексы и вперед.
>>1068725>>1068709Ну так монга это не реляционная бд, но я уже нашел нужный метод и как-раз использовал индексы. Получилось неплохо.
>>1068725А что насчет пагинации? Последняя страница = Math.ceil(количество всех элементов / количество элементов на одной странице)То есть мы постоянно подсчитываем количество всех элементов в бд, что кажется очень затратно. Может есть какой то хитровыебанный способ узнать это количество без использование метода .count(), который какраз их и считает?
>>1068736Запрос в базу на количество строк в таблице вроде бы не является высокозатраным. Иначе я хз как узнать.
А как сейчас такой стек: Node + Express + mysql и vuejs на фронте?
>>1068736какого размера коллекция? 100кк? если нет, то нах думать вообще про это? используй count() и не еби себе мозг
>>1068749заебись
>>1068749можешь погонять koa если интересно нырнуть в генераторы
>>1068752а какой в ноде орм в работе с mysql выбрать?
>>1068757Да это я так написал от балды, что бы придать тебе уверенности. Извини.Посмотри на Sequelize. Он хотябы на слуху, как монгус для монги.
>>1068759как раз ща на него смотрю, вроде удобный. Спасибо за мотивацию энивэй кек.Просто мне нужен фулл стек на одном жс, и с mysql привычнее работать, так что думаю норм выбор
когда в ноде можно будет писать iimport huy from './pizda'а неconst huy = require('./pizda') ???
>>1068826babel-node --presets es2015,stage-2
>>1068828было бы прекрасно, если бы ты объяснил как это настроить и установитьили дал ссылку
>>1068826уже можно
>>1068838https://github.com/babel/example-node-server
>>1068826Webpack настраиваешь, чтобы он тебе компилировал на npm run watch из хипстерского жабаскрипта в es2015 и пишешь, ну че как маленький. Там же и стрелочные функции, и spread оператор и классы наконец-то нормально объявляются и наследуются.
>>1068855>Там же и стрелочные функции, и spread оператор и классы наконец-то нормально объявляются и наследуются.Это всё давным давно есть в самой ноде, без необходимости ебаться с хренью сторонней.
Почему когда работаю с глобальной переменной все нормально, а когда со свойством объекта все ломается?Произвожу простую операцию – увеличиваю число на единицу. Гл. переменная увеличивается, а свойство получает NaN.num меняю на obj.num, в смене идентификаторов не должно быть ошибки
>>1069043Разобрался. Имя аргумента функции в которой производил преобразование было таким же как и у объекта, но перековалось ему другое свойство объекта.
Как быстро я выстрелю себе в ногу следющим кодом:>Object.defineProperty(Object.prototype, "__keys", {>get: function() {return Object.keys(this);}});Или норм идея? Задолбался уже Object.keys(x) писать.
>>1069096https://eslint.org/docs/rules/no-extend-nativeпока такой же как и ты не перепишет твой __keys, проще:function __keys(obj) { return Object.keys(obj);}
спустя 2 часа ебли с разными конфигами настроил babel, eslint, prettify
Двач, какого хуя происходит в моём коде?https://pastebin.com/7gNz6PPnЗначит, есть цикл с вложенным циклом. Шо мне нужно, так это проверить, имеет ли локальный итерируемый массив общее значение ключа sign с глобальным массивом. И если имеет, то взять элемент из локального массива и положить его в элемент глобального. Если sign не совпадает, то просто взять текущий локальный массив и запушить его куда-то там. Но, блять, при работе этого скрипта вкладка почему-то намертво зависает, сжирая за собой в среднем гиг оперативы. Решил проверить, что же там происходит такого и вот чо обнаружилось. Значит, в цикл прилетает массив с 872 элементами, а на выходе получается, что под условие попало 1043 элемента, а не попало 740157 элементов(!). Откуда эти цифры нахуй?
>>1069155сучара, ты не способен даже внятно изложить условие задачи, куда ты лезешь? массив не может иметь именованых ключей по определению, его ключи это цифры
>>1069157Пошёл нахуй.
>>1069157Может, потому что массив это объект в JS'е. Другое дело, что не нужно иметь именованные ключи в массиве, т.к. тогда браузер перестанет обрабатывать его как массив и потеряется скорость работы.
>>1069165также как функции, регекспы, даты, небо и аллах, другое дело что хранить в них данные таким образом почему-то никому не приходит в голову
>>1069165Ему просто нужен мап со слабыми ссылками.
Кто-нибудь возится с phaser.js?Хочу поворачивать объект по направлению к указателю.Obj.rotation = game.physics.arcade.angleToPointer(obj);Объект поворачивается, но смотрит боком. Поворачивал картинку, все равно тем же боком смотрит. Как это вообще понять?
>>1069155Значения sign уникальны (внутри одного массива)?>Откуда эти цифры нахуй?Всего у тебя твой код (с третьей строки) выполняется iteration_proposals.length proposals.length раз. Один из них 872. Второй, полагаю, примерно столько же, а это как раз около 750 тысяч и выходит.>others_props.push(local);Вот эта хрень у тебя тоже 750к раз выполняется, туда оперативка вся и ушла, видимо. При этом один и тот же элемент туда запушился proposals.length* раз. Оно тебе надо так?
>>1069223Там умножение должно было быть. (А с каких пор [ b]звезда[ /b] не работает? Как их писать теперь?)
>>1069223О, спасибо. >Значения sign уникальны (внутри одного массива)?Нет. У меня принцип работы алгоритма таков, что раз в 3 секунды происходит опрос API, от которого приходят данные. Но проблема в том, что от него могут прийти одинаковые массивы(в которых может отличаться тот самый terms-массив). Чтобы упростить задачу, разработчик API дал каждому массиву sign, чтобы их различать. Так вот, в глобальном массиве все sign разные. А когда приходят данные от API, они записываются в локальный массив, а затем локальный массив сверяется с глобальным. И если в локальном и глобальном найдены массивы, у которых sign совпадает, то тогда я делаю globa.push(local.terms[0]). Иными словами, в глобальном массиве не должно быть массивов, у которых повторяются sign.
Ребзи, посовебуйте либу для поддержки мультиязычности в реактовом проекте.
Можете словами расписать этот код? я не могу раздуплитьсяObject.prototype.each = function(f) { for (var prop in this) { var value = this[prop]; f.call(value, prop, value); // вызовет f(prop, value), this=value }}// Попробуем! (внимание, пока что это работает неверно!)var user = { name: 'Вася', age: 25};user.each(function(prop, val) { alert( prop ); // name -> age -> (!) each});
>>1069388тебе стоит разобраться с этим самостоятельно
>>1069388https://plnkr.co/edit/qdDRgjiucN0GwsP2MGoV?p=previewиспользуй Object.keys чтобы не собирать весь мусор с прототипов
>>1069223Я разобрался в этом проблемесе. Кароч, если срабатывает условие if, то код в его теле срабатывает ровно так, как я ему это указал. Но проблема в том, что if срабатывает один раз, а затем ВСЁ уходит в else, то есть один единственный массив запушится proposals.length раз. Наверное, буду проверять, существует ли уже этот массив там, куда я его пушу. Весь день проебался над этим, пиздец.
>>1069426>код в его теле срабатывает ровно так, как я ему это указал.Удивительно.>Наверное, буду проверять, существует ли уже этот массив там, куда я его пушу.Ты лучше просто проверяей, есть ли массив в global'е, а уже потом что-то с ним делай. А то ведь нагородишь сейчас ещё один уровень forEach'ей. Подсказка: Array.findIndex или Array.indexOf используй.
>>1069439У меня есть такая проверялочка https://pastebin.com/n4R3FfAf
>>1069442Которая нихуя не работает блять
>>1069442Что-то ты перемудил. Во-первых, выявлять равенство объектов путём сравнения их строкового представления не самая лучшая затея: stringify не гарантирует никакого глобального порядка, в итоге два как бы одинаковых объекта {a: 1, b: 2} могу стать как строкой {"a": 1, "b": 2}, так и {"b": 2, "a": 2}, ну а дальше сам понимаешь.Во-вторых, зачем ты весь элементов stringify'ишь, тебя разве не один лишь sign интересовал?В-третьих, а нахрена тебе вообще массивы тут? Сделай proposals объектом, в качестве ключей используй значение sign, а дальше как легко будешь проверять if (global[local.sign]) {} и пушить куда надо или создавать новую пару ключ-значение.
>>1069455>Сделай proposals объектом, в качестве ключей используй значение signВот за это отдельное спасибо. Не знаю, как я сам не додумался.
>>1069455>stringify не гарантирует никакого глобального порядкаВ пределах одного браузера порядок на практике сохраняется, хоть и не гарантируется.
Пиздец какой-то, я поехал что ли?var string = "hello, world!";var res = string.match(/hello(\, world)/g);console.log(res);Почему этот код возвращаетArray [ "hello, world" ]У меня же в регулярке скобками выделена группа и он должен вернутьArray [ "hello, world", ", world" ]Или нет? А как оно тогда работает? Вроде никогда проблем с регулярками не было, а тут какой-то пиздец.
>>1069515
>>1069515>/ghttps://stackoverflow.com/questions/19913667/javascript-regex-global-match-groupsС глобалом он лишь все подошедшие строки выдаёт, целиком.
я давно без работы(не хочу), хочу чё-то накодить не знаю чё. хорошо знаю ангулар 1 и ванильный жс(ну и дохуя до кучи всего). посоветуйте плес.
А теперь объясните мне почему ответы именно такие:1. 20e - 1['toString'](2) = 102. let a = (1,5-1)*2 a=83.null + {0:1}[0] + [,[1],][1][0] = 24. a == b a=[1,2,3]b=[1,2,3]Утверждение не верно5.4 - "5" + 0xfc - "1e1" = 4
>>1069590просто съеби долбаёб
>>1069600Тебя не спросили, ебанат
>>1069590Потому что js со своими приведениями типов. Практически полезен лишь 4-ый, и если тебя где-то будут спрашивать любой из других, смело шли нахуй. (Ну, хотя 2-ой может ещё норм.)В js объекты являются равными только если это один и тот же объект.>a = [1,2,3]; x = {a: a, b: a}; x.a == x.b // true
>>1069590все это предельно простые примеры, которые как раз и показывают знаешь ли ты все тонкости спеки или прослушал курсы 'спицолист ЖС за месяц'.возьмем второй, например. запятая - такой же оператор как и сложение или умножение. работает он так: обе обе части вычисляются, затем возвращается правая. приоритет у нее самый низкий, поэтому сперва выполняется вычитание.(1,5-1)2получаем(1,4)2теперь запятая(т.к. внутри скобок)(4)*2 // 8>4 - "5" + 0xfc - "1e1" = 4приоритет операторов одинаковый, идем слева направо4 - '5'строка приводится к числу всеми математическими операторами кроме сложения. поэтому 4-5=-1-1 + 0xfc0x - это форма записи 16-ричного числа, при сложении оно переводится в десятичное, получаем -1 + 252=251251 - '1e1'1е1 - "научная" форма записи чисел, ХеY можно буквально читать как X с Y нулями(если Y отрицательное - то с плавающей точкой после первого). 1 с 1 нулем это 10251 - 10 = 241241 != 4, утверждение не верно
Пацантре, подскажите по алгоритмам. Почему в 1.4 ответ O(n) ? Ведь для поиска номера можно применить бинарный поиск и всё будет ок.
>>1068066 (OP)мучают сомнения, правильно ли я разруливаю ошибкина 91й линии происходит создание записи в таблицу posts, после чего мы получаем на 99й линии айди новой записи. далее на 104й линии записывается уже файл. в результате этих операций могут возникнуть исключения, которые ловятся на 116й линии для файла, и на 124й линии для поста. всё работает как нужно, но мб можно как-то объединить это, что бы все ошибки обрабатывались на 124й линии? другими словами как передать ошибку дальше?
>>1069643Часто ты видел телефонные книги, которые сортированы по номеру?
>>1069656ок, я понял, заменить 120ю линию на >throw e;
Блять как раздуплится с прототипами, второй день перечитываю и чот нихуя
>>1069656Образчик суперхуевого кода. Таких даже async/await не исправит.
>>1069656пизда, даже с промисами у тебя всё упездрячивает вправо, пиши на калбеках и не позорьсяи поставь prettify/eslint airbnb
>>1069685ты свой то покажи прежде чем выебонить.мимо
пиздец, середина advanced курса по react, чувак разъясняет, что после загрузки index.html, браузер начинает подгружать скрипты.give me back my 12 dollars...Алсо реквестирую годноту а ля frontendmasters по любым front-end технологиям
>>1069688>даже с промисами у тебя всё упездрячивает вправоА без асинков оно иначе и быть не может же, потому что визуально же разница лишь в том, где находится закрывающая первую функцию скобочка:>func(arg).then({cb})>func(arg, {cb})И единственный способ не увозить вправо, это не делать отступы перед .then'ами. Или нет? Я .then'ами просто почти не пользовался.>пиши на калбеках А может лучше-таки async/await? Тогда всё няшно же будет: https://repl.it/LxUd (заодно и меня может оценить обосрать)>>1069656А в чём смысл, во-первых, называть переменные с большой буквы, а во вторых, немного не так, как нужно впоследствии в объекте, который передаёшь в функцию? Ну, то есть, зачем делать>VarName = "...">func({varName: VarName})если можно просто>varName = "...">func({varName})? Они ведь всё равно все const/let, надеюсь?
А нахуя все эти хипстерские фреймворки вроде Ангуляра и Реакта? Раньше вроде джейквери обходились и не выебывались.
>>1069740> А нахуя все эти хипстерские языки волде Фортрана и Лиспа? Раньше вроде ассемблером обходились и невыебывались.
Двач, а можно ли отсортировать объекты между собой таким образом: отправить в функцию объект, превратить его в массив, отсортировать, опять сделать объектом, вернуть. Или порядок сортировки собьётся?
А вот эта вот хуйня в вконтактике где тип идет подгрузка каментов по скроллу но в тоже время показывает страницу. Он номер страницы с сервера берет или это чисто фронтэндовская магия?
Анон, а где про v8 хорошо можно почитать? Как устроена, как код выполняет и всё прочее
>>1069744а зачем пересортировывать его в массиве?создай ручками объект {A: true,B: true,C: true} и посмотри что из этого выйдет
>>1069762если умеешь в кресты || английский то очевидно в докахhttps://github.com/v8/v8/wikiа так в любой статейке в интернете, ты че еблан?
>>1069769Затем, что у меня каждый объект имеет свойство price, где указана конечно же цена. И вот мне нужно отсортировать между собой объекты по значению object.price.
>>1069770ГРУБОВАТОспасибо, почитаю
>>1069751Уточню. Как совмещают пагинацию и бесконечный скролл?
Чому таблица не дропается перед тестом? :С
Поясните за эту пизду, у них на фронтЕндСаенс курс по реакту идет, что вообще от этой компашки можно ожидать?
>>1069773а бля я подумал ты свойства объекта отсортировать хочешь, тогда так и нужно делатьhttps://stackoverflow.com/questions/1069666/sorting-javascript-object-by-property-valueесли лодаш подрублен к проекту делай через нееhttps://lodash.com/docs/4.17.4#sortBy>>1069775ну бля был бы ты нубом с очевидно нубским вопросом или мимокроком зашедшим в тред с хуйней как поправить слайдер на его сайте я бы выбирал выражения, а так ты же в теме вроде как знаешь как хуйня работает, если чет не ясно пиздуешь в гугол и только в совсем патовой ситуации приходишь сюда с вопросами.
>>1069696продолжаю бугуртить по поводу проебаных 12 баррелейконец ADVANCED курса, уебок не обрабатывает ошибки рассказывая как отложенно подгружать компоненты для react-router
>>1069785> Поясните за эту пиздуона любит нирвану
>>1069788Да тут вопрос в другом. У меня ключи объектов - цифро-буквенные например, 01234abc и 1235abd в массиве объектов они сортируются между собой сами вне зависимости от моих попыток его отсортировать, превращая в многомерный массив. То есть, первым будет всегда объект, у которого значение ключа начинается с 0.
>>1069785serve the servants! Ahhh!!
??????????????????????
>>1069830Скорее всего так проще определить не нуба типа:9 лет назад он писал на JQ7 лет назад он писал на angularи последние пару лет он пишет на react
>>1069830
>>1069834"Не нуб" у них скорее спросит за эту хуйню. Может это и есть проверка.
>>1069656>>1069685>>1069688>>1069705ок, спасибо за советы, разрулил по новому, вроде всё ок.>в чём смысл называть переменные с большой буквымне так удобней, особенно если что-то в последствии нужно парсить, пример:>let ResNewPost = await PostDb.create(...);>let resNewPost = ResNewPost.get({ plain: true });я заметил, что такие ситуации возникают довольно часто, и решил, что все переменные, которым присваиваются значения будут с большой буквы. так же и с АПИ других объектов, в моём стандарте все ключи пишутся с маленькой буквы.>db.create({>parent_id : ParentId,>thread_id : ThreadId,>board_id : BoardId>});
>>1069843*с АПИ и маленькими буквами вижу выбрал плохой пример в посте, вангую ньюфаги не поймут. на пике на 66й и на 116й линиях лучше видна мысль
Посоны, месяц назад сделали форк ноды для пидоров. Ну как там пидорский форк поживает?
>>1069849а ты почему интересуешься? Хочешь пул реквест им отправить? Или в мейнтейнеры заделаться?
>>1069843>let ResNewPost = await PostDb.create(...);>let resNewPost = ResNewPost.get({ plain: true });Ох и проебёшься же ты рано или поздно с такими переменными, особенно если автокомплит используешь, но дело твоё, конечно, пока в соло работаешь.>все переменные, которым присваиваются значения Н-но ведь значение присваивается всем переменным?>>1069813Что ты несёшь? Покажи код, кто там и почему сам фильтруется, при чём тут какие-то другие ключи, где они сортируются, пиздец. У тебя и массива-то никакого, мне кажется, нет. {} — не массив, и там ты ничего не отсортируешь.
Приглашаю уважаемую общественность рассмотреть моё делоhttps://stackoverflow.com/questions/46534802/jest-test-are-run-before-db-is-readyи высказать мудрые советы.
>>1069785явно поумней тебя
>>1069856Не, JS сам по себе для пидоров, а тут в пакете пакет с карпом в пакете. Я интересуюсь из любопытства чотамучервей.
>>1069880Вот это проекции у малолетки ни с того ни с сего.
>>1069897Эй, пидор, ты-то мне и нужен.Как наилучшим образом связать реалтайм приложения на ноде и .NET (C#)?Консольное микроприложение на CLR выполняет свою легаси хуйню, по результатам выполнения должно расшарить некие данные на чтение/запись, а приложение на ноде, соответственно, эти данные читает и пишет. Данные сериализуемые (не бинарные), объем передачи относительно, небольшой.REST API на шарпе делать не вариант, ебучий SignalR несовместим с SocketIO, остаются MQ транспорты... ZeroMQ?
>>1069899> REST API на шарпе делать не вариантКак недостаток шарпа (на шарпе через костыли делаются ресты - ЩИТО?) должен оправдывать нужность другой технологии, связанной с шарпом примерной никак?
>>1069900>Как недостаток шарпа (на шарпе через костыли делаются ресты - ЩИТО?) должен оправдывать нужность другой технологии, связанной с шарпом примерной никак?Не совсем понял про нужность другой технологии. Это в отношение ноды было сказано или выбора транспорта передачи данных?Если первое - то для шарпа есть готовые либы для решения задач, с которыми с на ноде придется поебаться опрос OPC-DA сервера, а нода нужна для последующей обработки данных. Если о втором пункте шла речь - то здесь имеет значение совместимость технологии с дотнетом и нодой, ну и простота внедрения. Ну, что б с кикстарта завелось.
>>1069801Что за System.import и с чем его едят?
>>1069862>{} — не массив, и там ты ничего не отсортируешьВот и хуёво блять.
>>1069899Из сишарпа сри в персистентную очередь. В ноде очередь обрабатывай и обработанные данные высирай в любимую БД.
>>1069922Спасибо, так и сделаю.
>>1069919Почему? Это, считай, hash table. Зачем там что-то сортировать вообще, ты поехавший? Ты либо массив делай и сортируй, если по индексам хочешь вызывать, либо вот этот объект и по ключам к элементам и обращайся.
>>1069919>хуёвоТы поди и std::set сортировать будешь?
>>1069946Блять, пидор. Раньше у меня был просто массив [], который я сортировал по значению ключа price внутри каждого отдельного элемента массива чтобы на страницу выводить списки, отсортированные уже по цене от меньшей к большей. Теперь я переписал логику так, что у меня массив [] сменился на объект {} вот надо так и всё тут. А выводить-то на страницу теперь как блять? Никак блять. Если готов предложить какой-то рабочий механизм - предлагай. Если будет работать - отсосу буду очень благодарен.
>>1069971>Никак блять.Ёпту, ну отсортируй ты ключи этих объектов по значению price'а связанного с ним объекта. https://repl.it/LzxV
>>1069975И что это даст? Сортируются ключи, а не объекты. Что толку-то от этого?
>>1070044>Что толку-то от этого?Я тебе показал, как запринитить твои объекты в отсортированном порядке. Ты разве не этого просил, что тебе ещё нужно? В ПАМЯТИ ОБЪЕКТЫ ОТСОРТИРОВАНЫ НЕ БУДУТ, ПОТОМУ ЧТО КОНТЕЙНЕР ВЫБРАН БЕСПОРЯДОЧНЫЙ. Но не поебать ли тебе на память-то? Отсортированы ключи, вызывай объекты полагаясь на этот массив ключей, получишь свои объекты в отсортированном порядке.Показывай код или иди дальше сам ебаться, я больше отвечать не буду.
>>1070046Да у него дефектное алгоритмическое мышление. Бесполезно ему что-либо объяснять.
Тупой вопрос. Возможно я проебался с конструкторами. Вот кантор пишет в теме про прототипы:Можно его использовать для создания объекта с тем же конструктором, что и данный: function Rabbit(name) { this.name = name; alert( name );}var rabbit = new Rabbit("Кроль");var rabbit2 = new rabbit.constructor("Крольчиха");Эта возможность бывает полезна, когда, получив объект, мы не знаем в точности, какой у него был конструктор (например, сделан вне нашего кода), а нужно создать такой же.А че такой же объект нельзя сделать просто var rabbit2 = new Rabbit("Крольчиха"); ?Что то я вообще это свойство constructor, автоматически создаваймое, не могу понять что куда
>>1070058Обрати внимание: он использует конструктор, обращаясь к инстансу, а не к родителю.
хочу написать вк-бота на ноде с текстовым интерфейсом и продать его хакирам-спамерам за деньгикаким функционалом его нужно снабдить чтобы он пользовался спросом?
>>1070058А если у тебя нет в области видимости доступа к Rabbit, но есть только rabbit, что делать будешь?var rabbit;(function(Rabbit){ rabbit = new Rabbit('ololo')})(function Rabbit(name) {this.name = name;alert( name );})var rabbit2 = ???
>>1070058>А че такой же объект нельзя сделать просто>мы не знаем в точности, какой у него был конструктор (например, сделан вне нашего кода), а нужно создать такой же.
>>1070062>он использует конструктор, обращаясь к инстансу,стоит добавить что конструктор лежит не в инстансе, а в прототипе. проще говоря, когда в коде объявляется функция, под капотом автоматически создается специальный объект. функция и этот объект получают ссылки друг на друга, у функции это prototype, а у объекта constructor
>>1070068А учил бы джаву, вопросов ‘че такое конструктор?’ не возникало
>>1070058>А че такой же объект нельзя сделать просто>var rabbit2 = new Rabbit("Крольчиха"); ?так вроде будет проблема, если ты что-то изменишь в инстанции крольчихи, то это изменится так-же у инстанции крола, так как эти обе инстанции ссылаются на один конструктор Rabbit
>>1070046Вот я написал тебе ответ и сразу съебнул на улицу проветриться и почти сразу после того, как вышел - допёр, что твой код возвращает массив ключей в отсортированном порядке. Спасибо.>>1070054>дефектное алгоритмическое мышлениеА вот это щас обидно было.
Книжки в шапке по ноде еще актуальны?
Задрачиваю Sequelize на ноде (да и в жс недавно). Такой код норм?
>>1070227хуёвый пока у тебя код, читни ещё разок спеку по async/await
>>1070227drisnya
Что выбрать, Koa или Express для перекатывающегося из Php Symfony?
>>1070234ок) на что еще обратить внимание?
>>1070237https://m.habrahabr.ru/company/ruvds/blog/339176/
Хочу вкатиться в js, но совершенно не понимаю с чего начать. От программирования далёк, а научиться хочется.
>>1070418>От программирования далёкОт чтения шапки и фака тоже, по всей видимости, далеко ушел?
>>1070421Да я прочитал там всё. У меня вообще есть один конкретный вопрос - что нужно познать до изучения js'a? Html там какой-нибудь и css?
>>1069971>Блять, пидор.Кто пидор? Ты пидор ёпта.>готов предложить какой-то рабочий механизмНахуй еще дауну помогать.
>>1070227А зачем ты await'ишь синхронные функции?
>>1070437loc.getKids? Там промис возвращается, это псевдо-свойство модели
>>1068066 (OP)Братики, что делает такая конструкция:return (something );Чем отличается от обычного return something?
>>1070484Ничем. Это просто уебанский стиль такой у человека, код на скрине писавшего.
>>1070484Заглушка для использования внутри скобок comma operator.Но такое обычно практикуют для fat arrow функций, когда возврат по тернарному условию и ты, внезапно, не хочешь разрушать хрупкую красоту кода, поэтому промежуточное вычисление производишь перед запятой.JSHint, ESLint, аминь!
>>1070484console.log.apply(console..) просто нахуй такой код
>>1070499Если писалось до spread-оператора, то что в этом такого.
>>1069801Пик с твоим кодом похож на демотиватор.
>>1069781На стартовой странице записи 0-20 записей, ты их загрузил, оно их тебе показало. Доскролил до определённого уровня (bottom: -250px;), оно увидело что ты доскролил и выгрузило тебе записи 20-40, опять проскролил выгрузило записи 40-60 и тд. По тому же принципу работает пагинация, но там она видимо на случай, если скрипт со скроллом не прогрузится.
>>1069801это я заскриншотил видос, это типа препода код>>1069911https://webpack.js.org/guides/migrating/#code-splitting-with-es2015 то, что в первом webpack'е было require.ensurehttps://webpack.js.org/api/module-methods/#require-ensure
>>1069911в доках вебпака пишут import().thenа этот тип считает что явное лучше неявного и пишет System.import
Анон, ты сразу разобрался с this, замыканиями и всякой поеботой такого рода, например вот как в этом кодеFunction.prototype.defer = function(ms) { var f = this; return function() { var args = arguments, context = this; setTimeout(function() { f.apply(context, args); }, ms); }}// проверкаfunction f(a, b) { alert( a + b );}f.defer(1000)(1, 2);где this на this thisом погоняет, или на это требуется какое то время на въезд ?
>>1070631этот код писал пидар, очевидно же
>>1070631При этом context всё равно window становится, чем и был бы равен this внутри setTimeout'а.А "var f = this" даже и не используется нигде.Так что, удваиваю >>1070648
>>1070648> JSПочему "этот"?
>>1070631разбираться надо, иначе пиздец>>1070648неосилятор>>1070696сракочтец
Погромисты, я знаю вы умные. Нет, не посылайте меня в софтач, тут сложнее я думаю. Вопрос века:КАК СОХРАНИТЬ СТРАНИЧКУ ПОЛНОСТЬЮ, для воспоризведения её, допустим на локалхосте у себя. Там тонна всяких ajax, тонна js - нихуя, короче у меня хром не сохраняет шоб как в оригинале, допустим эту:https://www.nrs.com/product/20015.03/nrs-mens-endurance-splash-pants?avad=58613_cfabac6d&utm_source=avantlink&utm_medium=bannerили эту:https://ru.aliexpress.com/store/product/Apple-iphone-8-4-7-64-2/1114650_32832033240.html?spm=a2g0v.11010108.26.2.2e331666xRvBgПрям чтоб всё-всё-всё. Открыл на локалхосте и она уже отрендеренная копия лежит у меня.Scapbook for firefox не предлагать.
Помогите нубу, что это за запись такая:register(callback: (payload: TPayload) => void): DispatchToken {...что значат эти двоеточия?
>>1070720Не похоже на жс, может кофескрипт какой-то
>>1070733Это код Flux dispatcher'a от facebook. Блин, помогите разобраться.
>>1070740Это типизация же.register принимает один аргумент callback, который является функцией принимающей в свою очередь тоже один аргумент payload с типом TPayload и ничего не возвращающей. Сам же register возвращает что-то с типом DispatchToken
>>1070747где про это можно почитать? это нативно в JS или...?
>>1070750нет не нативно.это реализуют разные надмножества, и языки транслирующиеся в js. Например TypeScript.Читать надо о том, на чем у тебя пример написан. Где ты его взял - не ясно.
>>1070750А, уже понял, где взял.Ну это же facebook. У них и React jsx надмножество js.Транслируют они потом всё.В сущности синтаксис типизации вполне как у TypeScript, можешь в его доках порыться
>>1070760так, бро, а теперь совсем для нубов... это все работает на стороне клиента? что нужно, чтобы браузер это погнимал?
>>1070771все это транслируется в обычный js, который потом и отдается клиенту. какие трансляторы\компиляторы у флакса, реакта я не ебу. я пишу на ванили. у ts свой компилятор, например. есть babel, для трансляции es поздних версий в ранние. есть webpack, который связывает кучу всего вместе, и еще упаковывает потом продакшен версии. что там у фейсбука за тулчейн я не знаю - гугли. или тут кто разжует, что вряд ли, ибо сегодня стеки этих инструментов столь громоздки, что если ты хочешь писать на хайповых технологиях, то сначала тебе надо выстроить себе окружение и изучить его.
>>1070780т.е. этом файл скорее всего написан теми, кто сидит за макбуком, попивает смузи и ебется в очко?
>>1070789Да. Если у тебя проблемы с этим, то направляйся в воровач 1сач, там по понятиям все затирают.
>>1070791Вопрос цены... если за владением таким нормально платят, то я готов стать смуззихлебом
Помогитеспасите, нужно написать что-то типа игры на чистом жс, а я его вообще не знаю.Есть канвас, по нему хаотично двигаются объекты (не больше 20) 3х типов, которые через 10 секунд после появления исчезают. Если на объект кликнуть, то он исчезает и тебе засчитываются очки. Вообще в этом ничего не понимаю.
>>1070791еще одну вещь поясни: в том же коде встречается некий invariant... это что?
>>1070780>что если ты хочешь писать на хайповых технологиях, то сначала тебе надо выстроить себе окружение и изучить его.эта вот фрагметарность вызывает боль в жопе если честно>>1070794>а я его вообще не знаюА что знаешь
>>1070792Меньше, чем за прямую еблю в жопу.
>>1070799Великий паскаль.
>>1070789Нет.Это просто стек. Как во всех остальных языках.Чтобы писать, например, на Си, тебе надо иметь компилятор, make или его вариации, и еще какие-то вспомогательные утилиты для сборки проекта. Это тулчейн. Зачастую, его полностью покрывает IDE.Но веб - слишком демократичная платформа, и тут кто в лес, кто по дрова. Потому такой хаос. На самом деле он лишь от того, что ты не знаешь на чем именно тебе писать. Просто надо выбрать определенный стек, и топить в него. Я например выбрал для себя ваниль. Но это скорее ввиду того, что пишу веб уже 16 лет и у меня просто нет времени задрачивать. Да и пользы мне от этого тоже нет. Работы хватает.
>>1070799>эта вот фрагметарностьДемократия. Во всех остальных средах\платформах\языках всегда есть тот или иной куратор (единоличный или корпорация) задающие темп и направления. В вебе это просто невозможно.
>>1068066 (OP)анон, где можно исполнять код JS с циклами и xhr помимо браузера?Очень сильно лагает
>>1070814все, пофиксил. Это у меня неправильное условие в цикле.
>>1070805Но при желании сменить стек- это не какая-то жуткая проблема?
>>1070818Это сугубо индивидуально.Посмотри на вечные холивары между байтоебами и высокоуровневых программистов. Меэжду теми кто дрочит на разного вида типизации. Это все происходит среди тех, кто не умеет в перемены и подбирать инструмент под задачу. А так же переучиваться и изучать новое. Привычка. Так что, зависит от тебя. Ты можешь стать одним из тех. кто будет кричать тут - кококок ангуляропидоры соснули, риакт рулит. А можешь вырасти здравым человеком.
>>1070823а ты хорош, сделаешь мне ребенка код ревью?
>>1070823>А можешь вырасти здравым человекомно лучше просто признай что аналгулярщики соснули а реакт рулит, тогда вырастешь не просто здравым но и богатым
>>1070861я чо, зря вью вместо реакта учу?
>>1070870вью мог стать конкурентом изза лицензии, но теперь когда реакт поменяли на MIT, они соснули. но ты учи. если все будут знать реакт - зарплаты упадут
>>1068066 (OP)кто-нибудь пробовал https://youtu.be/Q5bT34Lf4gYкак впечатления?
>>1070957прикольно, всегда хотел научиться что то делать с такими штуками. А есть более подробные мануалы? Для нубов.
>>1070957Есть же божественный Tessel. А вообще, нахуй они нужны, когда можно накатить полноценную ноду на распберри.
Используется сейчас те штуки, которые у кантора описаны в Современные возможности ES-2015 ? На скока процентов? Думал уж осилил и на тебе, letы, стрелочные функции
>>1071135они уже устарели. ес2016 на носу
>>1071164Да блять
>>1071175У нас в компании уже на ес2018 пишут
>>1071176и в нашей тоже, а этот 2015 собрался учить кек
>>1070716Ctrl + UCtrl + ACtrl + CТекстовый редактор - Ctrl + VВнутри head добавить <base href="урл страницы">Ctrl + SProfitБез интернетов страница открываться не будет, т.к. будет тянуть скрипты и стили оттуда же, откуда тянет загруженная с сайта страница. Но для экспериментов со стилями/скриптами мне лично хватает.
https://coursehunters.net/course/JavaScript-Advanced
котаны стоит ли начинать с i dont know js?
>>1071228бэкграунд какой
>>1071230т.е. бэкграунд? если ты про направление то backend
>>1071231он спрашивает чем раньше занимался, до того как в этот тред пришел. Кто ты по жизни?
>>1071235никто, поэтому я и хочу вкатиться в бекенд что бы быть хоть кем то
>>1071236Начинайhttps://coursehunters.net/course/JavaScript
>>1071258Сори, не тот курсВот с этого начинайhttps://coursehunters.net/course/javascript_lynda_basic
>>1071236Читал в IDKJS пару глав, книга не для начинающих с нуля, возьми что-то типа learn.javascript.ru (или Professional JavaScript For Web Developers если хочешь на английском)
ну что, кто готов?
>>1071278Человеческие требования
Спасайте. Ничего не понимаю.https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent>Returns a reference to the object which is the closest positioned containing elementИз той же документации >A positioned element is an element whose computed position value is either relative, absolute, fixed, or sticky. (In other words, it's anything except static.)Или даже прости хоспаде https://www.w3schools.com/jsreF/prop_element_offsetparent.asp>The offsetParent property returns the nearest ancestor that has a position other than static.Я иду на ычан, любой тред, любая картинка, беру её offsetParent, и вижу что у него позиция static.Что это за пиздец?
>>1071343Это разве не ответ из твоей же ссылки?If the element is non-positioned, the nearest table, table cell or root element (html in standards compliant mode; body in quirks rendering mode) is returned by offsetParent.
>>1071373Нет, потому что offsetParent у картинки это div-ка буквально двумя уровнями выше.
>>1071377Пикрил. И это не неправильный ответ от getComputedStyle функции, эта div-ка действительно static, потому что относительно неё нельзя спозиционировать элемент с помощью left и top, позиционирует относительно body.
>>1071379Ну а temp0 разве не сам по себе статик?
>>1071381Статик. А при чём это, я что-то пропускаю.
>>1071382Я к тому, что если картинка - статик, то она non-positioned и к ней относится>If the element is non-positioned, the nearest table, table cell or root element (html in standards compliant mode; body in quirks rendering mode) is returned by offsetParent.Если я правильно понял док.
>>1071384Ну и в результате оно возаращает ближайший td, не смотря на position.
>>1071384Тьху ты, точно, это ж ячейка. Спасибо, а то уже крыша ехать начала.
Планирую начать ебать node js. С чего начать? Вообще хочу написать какую-нибудь мультиплеерную игру для практики.
Сначала первый скрин, второй - продолжение. Объясните плз почему на каждом уровне стека идет обращение ко всем элементам массива? (речь о быстрой сортировке).
>>1071404Там ни слова про "ко всем", речь идет об O(n).
>>1071404Хотя нет, вру, я вспомнил квиксорт. По всем, потому что смотри: на первом уровне рекурсии мы проходим через 8 элементов, на втором, например, на 4 + 4 (опять 8), на третьем - 2 + 2 + 2 + 2 и тп, в сумме по всем подпроцедурам мы все равно проходим по O(n) на каждый уровень. Уровней - log n, потому что мы делим каждый раз массив на какое-то число, суммарная сложность отсюда и получается O(n log n).
>>1071406Всё равно не пойму, вот смотри допустим мы находимся на этом уровне стека (выделил), опорный элемент 5 и массив с числами которые больше, чем 5 - т.е [6,7,8], на этом вызове стека у нас нет никакого массива кроме [5,6,7,8], поэтому мы выделяем опорный элемент 5 и проходимся по оставшимся трем элементам в поисках меньших и больших значений, т.е мы делаем всего 3 прохода по массиву.
>>1071420До этого, в рекурсивных вызовах первой половины, мы уже отсортировали её куски, где уже прошлись по всем элементам до пяти на той же глубине стека. Сказать честно, я не совсем понимаю его иллюстрации, на курсере всё отлично поясняется в algorithms, part 1.Что это за книга?
>>1071420Ты не путай стек в конкретный момент и весь "стек вызовов", как оно названо на твоем пике (дерево вызовов, так сказать). Стек о котором ты говоришь (и который показан на твоем пике) - одна ветвь дерева от корня до одного конечного листа. Весь стек/дерево вызовов, который получается из вызова квиксорт(массив) - это все такие ветви вместе.
>>1071420Ок, я нашёл и прочитал. Во-первых, тут про худший случай квиксорта, когда нужно сделать, грубо говоря, n + (n-1) + (n-2) + ... + 2 прохода. Немного математики: такая хуйня имеет сложность O(n^2), что легко видится, если это выразить через сумму арифм. прогрессии - n(n+1)/2 - 1, что есть n^2/2 + n/2 - 1 = O(n^2).Если мы удачнее делим, как описано на следующей странице, то мы получаем почти полноценные n + n + n + n + ... проходов, но самих этих n теперь всего лишь логарифм, общая сложность получается O(logn*n).В таких книгах "для начинающих" что плохо, что они опускают математику и оставляют немного магии. И нахуй ты пишешь в js-тред вообще?
>>1071430А. вот он прав. Я тут >>1071428 не о том вообще написал.
>>1068066 (OP)Братики, вот я немного не вкуриваю сути докера. Я пишу на Node.js, какая разница между тем чтобы написать два отдельных приложения, которые будут общаться через порт и написании двух приложений, которые так же будут общаться через порт, но в докер контейнерах. В каком месте мы выигрываем?
>>1071278Воды написали, но требования простые.
>>1071483Портируемоесть, изолированное окружение.
Есть задача такая, нужно отдавать с сервака данные из папки определенной. Но код я даю челам которые хз где его хостят. Я вот думаю есть ли какой-то способ универсальный. Если туда php файл кинуть хз с какой вероятностью он заработает.
>>1071595>Есть задача такая, нужно отдавать с сервака данные из папки определеннойFTP.
Что по d3 лучше глянуть?
>>1069785Поясняю. Сталкивался с этой пиздой по одному из проектов, которые пилила наша контора для конторы, в которой работала она. Зовут Катя Поршнева. Не знает даже верстку нормально, не говоря уже о ЖС. Купи лучше курс Tyler McGinnis'a, бОзарю.
>>1071657Катюха-то? На корпоративе один-два бокала игристого и она твоя.
гайс посоветуйте пожалуйста. Хочу написать что-то типо coinhive... куда смотреть , что читать, кто что думает как устроено это ?
>>1071756> куда смотретьhttps://github.com/cazala/coin-hive
посоны, поясните, как применять ООП в жс на клиенте. Ну вот вешаю я события на DOM элементы, на скролл окна, ресайз, загрузку дома и прочее. Как все это правильно организовать? По сути можно сделать много функций, в каждую из которых засовывается анимация одного элемента, а потом их вызывать. Но ведь весь файл будет состоять из кучи функций, а потом эти функции надо будет вызывать на несколько событий окна, например, скролл и ресайз и получается огромный файл, который никак не разбить. щито делать? можно в жс создавать файлы-классы, которые потом инклудить и вызывать в основном файле, как в пхп? не забывайте, это клиент.
>>1071812релейт https://john-dugan.com/object-oriented-javascript-pattern-comparison/жс во истину самый гибкий яп во вселенной
>>1071837конечно же после паскаля
>>1071841>паскалькек
>>1071843В голос с лиспа))))И пыхи
>>1071843Надо было еще про perl сделать
>>1068066 (OP)Что применять для задания размера шрифта адаптивных резиновых сайтов в 2017 году: px или em или rem? В уроках htmlacademy всё делают в px, но в интернете написано, что в эпоху адаптива и мобильных устройств px не особо хорош, и что лучше rem. Не пойму, почему в htmlacademy всё делают px и какими единицами задавать размер шрифта мне: px, em или rem?
Как в свойстве-объекте конструктора объектов получить доступ к другому свойству объекта?function Bread (mass, composition) { this.mass = 400; this.composition = { rye: this.ОТЕЦ.mass - 10, salt: 10 }}Что вставить вместо ОТЦА? Как подняться на уровень выше?
>>1071925P.S. правильно ли я понимаю, что для использования em в body должен быть прописан базовый шрифт в px. Или всё-таки можно везде и даже в body поставить размер шрифта в em и px использоваться не будут вообще?
>>1071927this.mass = mass;//fixed
>>1071925>>1071929Нашёл в интернете, что 1 em равен размеру шрифта указанному для тега body, если он не указан то берется 16px.Но всё-равно не понимаю, что использовать в 2017 году для задания размера шрифта в адаптивной верстке: em, rem или px?
>>1071960посмотри что использует bootstrap/любой популярный css/html фреймворк
>>1071960Хорошо задать px для body, а при ресайзе окна задавать шрифты в rem.тогда если у тебя из админки шрифты проставляются, то на мобайлах и прочем они ресайзатятся.
>>1071964Спасибо большое
Посоны, помогите ньюфагу плиз по tinymce.Короче как я понял эта хуйня режет весь жс в редакторе движка хтмл. Как я понял нужно фиксить эту строкуextended_valid_elements : "script[type=text/javascript|src|languge|lang],map[],area[],umi:[],input[],noindex[],nofollow[*],iframe[frameborder|src|width|height|name|align]Но что сделать что бы он пропусак весь жс, и желательно бы вообще все теги хтмл?
решил таки попробовать пороться в зад vueJS и не так уж и плохо хочу заметить - это охуительно
>>1072089valid_elements : '[]',
>>1072089бля https://jsfiddle.net/3ufrja4s/
пацаны а как мне в webpack'е правильно подгружать svg?В смысле у меня конфиг типа test: /\.(ttf|eot|woff2?)(\?v=[a-z0-9=\.]+)?$/i, loader: 'url-loader', options: { limit: '8192', name: 'fonts/[name].[hash].[ext]' }то есть все шрифты кладутся в fontsно мне еще нужно svg иконки класть в images/[name].[hash].extкак такое сделать?
>>1072141name: '[path][name].[ext]',
>>1072146это было первое что я попробовал, но почему то все картинки кидались в assets вместо assets/img, костыль с дописыванием нужного пути я на гитхабе нашел
>>1072152ну так в src тебе нужно класть картинки в img, тогда он будет автоматом создавать в dist папку img с твоими картинками
>>1072156так в том то и проблема, что я так и делаюsrc/index.js импортит картинку из ./img/hello-world.jpgа в итоге она все равно падает в assetsя думал может где то еще регулярка под jpg есть, которая переопределяет поведение, но нифига, где то проебался не могу понять где
>>1072159разобрался, я еблан
>>1072159Что за пиздец у тебя со шрифтами? У меня бы же через 20 минут работы на таком глаза вытекли.
>>1072168ну у меня и вытекают потихоньку, хз дефолтные dejavu sans mono, есть предложения?
>>1072169У тебя и со сглаживанием и с хинтингом хуита какая-то.Проще нормальный дистрибутив поставить, где почти всё из коробки будет нормально выглядеть.
>>1072173Арч не осилил?
>>1072128Не помогло ((
>>1072175Красноглазые времена уже прошли, я не хочу с ним больше пердолится и после обновлений его чинить постоянно. Поэтому беру то, чтобы > почти всё из коробки работало и не ломалось так часто.
Хочу запилить небольшое приложение на Электроне, наверное с реактом.Насоветуйте либу UI-компонентов, сам реализовывать всякие табы заебусь.Смотрел в сторону Material-UI, но ведь Материал Дезигн в десктоп-приложении - это совсем зашквар?
>>1072175нахуй ебаться, когда за тебя уже всё выпердолили, самая адекватная дистра, без хуйни и смс
>>1072190Материал дизайн в дестктоп-приложении — абсолютно нормальный и легитимный вариант.А вот десктоп-приложение на Электроне — это страшное зло и преступление против человечества.
>>1072192> А вот десктоп-приложение на Электроне — это страшное зло и преступление против человечества.Люто двачую. Только NWJS, только хардкор.
>>1072195Толсто. Те же яйца, только в профиль. К тому же, гораздо более низкого качества— Разработчики проекта nw.js клонировали исходный код проекта chromium в свой репозитрий. Вместе с wibkit, v8 и еще кучей всего, что входит в оригинальные проект.— Клонировали туда исходный код проекта node.js.— Добавили туда код, который дает возможность получать доступ из node,js к компонентам chromium и наоборот. Частично он внедрен в оригинальные файлы chromium и node.js.— Добавили много хаотично расположенного кода, в том числе изменяя оригинальные файлы проектов chromium и node.js, который там и тут костылями устраняет появившиеся проблемы с безопасностью.— Для сборки всего этого использовали инструменты и файлы конфигурации оригинального chromium, на живую и очень грубо внедряя свои модули в процесс компиляции, описанный в gyp файлах конфигурации.Что получилось в итоге:— Самое важное для меня: сломались все типы сборок под линукс, доступных в оригинальном chromium, кроме одной. Собрать nw.js можно только под debian wheezy x64, 64 битным gcc и только в static mode.— Код, который отвечает за связывание node.js и chromium выглядит очень не аккуратно. Так выглядит код человека,которому нужно, чтобы к утру заработало, а остальное можно будет поправить позже, когда спешка закончится. Например после добавления костылей в оригинальный код chromium появились кольцевые зависимости когда один модуль ссылается на другой и наоборот (из-за этого он и не собирается в shared mode).— Не завидую разработчикам nw.js: у них теперь огромная проблема с обновлением оригинальных проектов, которые они использовали. Раз они залезли прямо в исходный код этих проектов со своими костылями, значит теперь после каждого обновления например chromium им придется все мержить со своими изменениями, тестировать что ничего не отвалилось и только после этого добавлять в свой репозиторий.— Нормальной документации по сборке (да и по самому проекту) нет. То, что есть по сборке — это просто документация, которая кусками скопирована (причем в разное время) с документации оригинального проекта chromium.Мое мнение такое:— этот проект не является дальнейшим развитием проекта node.js. Это отдельный проект, который взял проекты chromium и node.js и на их основе сделал свой продукт.— этот проект должен был называться не «nw.js» и не «webkit + node.js», а «chromium + node.js + костыли». В таком случае было бы сразу понятно, с чем придется иметь дело.— проект делается в спешке и очень небольшим количеством разработчиков.— деньги, которые были выделены на развитие проекта, в основном, видимо, ушли на рекламу, раскрутку и супер красивый сайт.https://habrahabr.ru/post/304574/#comment_9685072
Объясните, почему >document.getElementById('eno-submit').onclick = function(e) { numberCheck(); }; работает нормально, а >document.getElementById('eno-submit').onclick = numberCheck();не работает?
>>1072201скобки это оператор вызова функции
>>1072201то есть напиши .onclick = numberCheck
а что за react native для десктопа думаете? он же вроде браузер не тащит за собой>>1072201скобки () убери в самом конце, функцию же присваиваешь, а не вызываешь
Посоны, мне страшно, я работаю фронтендщиком под вордпресс и не знаю ни реакта ни систем сборок. Я просто ума не приложу, как это можно воткнуть в верстку под вордпресс. Однако же в каждой ебучей вакансии фронтендеров они требуются. Задрачить самостоятельно я могу, но делать на них портфолио времени нет т.к. работаю. щито делать?
>>1072208в смысле как, bundle.js втыкаешь в wp-content/themes/name/ и т.д. половина themeforest'a на backbone написана а вторая на react
Ребята, а я правильно понял, что js - это чтобы сайтики красивые делать, и без html и css его знание бесполезно?
>>1072212не совсем, но чтобы писать на nodejs нужно поделать красивые сайтики или имет бэкграунд с другими сервер сайд языками, и чтобы писать на react-native тоже не нужен html/css условно но все равно нужно уметь в реакт а для этого нужно пописать какое то время красивые сайтики
Требуется хелпа с монгой.Нужно что бы находило одновременно данные из интервала num1-num2, так и данные где есть num3{ $and: [ { year: { $gte: 2000, $lte: 2005 } }, { year: { $eq: 2010 } } ] }Выше конструкция не работает. Что я делаю не так?
>>1072217блять, фиксНужно что бы находило одновременно данные из интервала 2000-2005, так и данные где есть 2010{ $and: [ { year: { $gte: 2000, $lte: 2005 } }, { year: { $eq: 2010 } } ] }
>>1072211Но ведь react применяется для SPA и роутинга данных на клиенте, а в вордпрессе роутинг делается на пхп. поясни.
>>1072218>$andможет $or?монгу не знаю
>>1072224REST натягивается
>>1072224>>1072231а ссылочку то забыл http://v2.wp-api.org/
>>1072227спасибо чувакПздц, я просто вижу оператор $or и рядом $andНу у меня сразу проводится в голове аналогия с js || &&. Даже читать не стал доки про $or, а зря...
>>1069155>forEachочень медленный, юзай forи как уже сказали, не стоит лепить массиву свои ключи, можешь огребсти unspecified behavior
>>1071927Дублирую вопросНа двенадцатой строке определяю свойство конструктора объектов, это свойство само является объектом и метод этого свойства обращается к свойствам родителя. Как мне это сделать?Создавал экземпляр объекта и в потомке использовал прямую ссылку на родитель по идентификатору. Только так вышло.
>>1071927>Как подняться на уровень выше?Никак, объекты в js не дают доступ к ссылкам на себя. У тебя логика построения отношения родительского и дочернего объектов поломана. Оператор фигурные скобки {} создает более "общий" объект с прототипом Object, а ты хочешь, чтобы он был дочерним по отношению к Bread. В таком случае все должно быть наоборот. Либо composition должен расширять Bread, по логике сюда не подходит, либо composition должен сам конструироваться с передачей ему объекта Bread, получая таким образом значение массы для себя.
>>1072305Он хочет циркулярочку, лол.По делу - нужно просто метод вхуячить метод в класс, и через него пробрасывать свойства. Ну ты так и сказал, да.
>>1072305>>1072307Спасибо.В голове слилось два понятия. Думал что сделав объект дочерним, сделаю его ещё и потомком.Пожалуй вынесу метод в конструируемый объект.
После своего пет-проджекта на реакте, я могу уже фриланс искать в модных стартапчиках?
>>1072285Можешь вот так https://repl.it/MQzk/1 попробовать.
Соседи, вынужденно озабочен я следующим вопросом:В package.json предлагается указать емайл автора. Если выложу его на гитхаб, он будет распарсен тысячами пидорасов. Если указывать не основной емайл, то придётся следить за входящими письмами.Какой стул вы выбираете?
>>1072327Не указывать емайл.
Аноны пре-джуниоры, вкатывальщики и воннаби погромистами, есть уникальный шанс добавить проекты в свое портфолио. Есть небольшие техзадания, с вас готовый результат. Естественно, работа только на опыт, без оплаты. Кому интересно - скиньте фейкопочту. Интересует js, react, nodejs
>>1072335>Естественно, работа только на опыт, без оплатыНе прихуел ли ты часом, мсье?
>>1072337Почему нет, вместо написания очередной борды и бложика с комментариями. Будьте полезны обществу – проект социальный
>>1072338>Будьте полезны обществу – проект социальныйЗнаем мы вас. Пили тех.задание в открытый доступ и жди добровольцев или всяких безыдейных, которые не могут придумать, чего бы такого написать.Ну или иди в другом месте эксплуатируй детский труд.
Какой есть нормальный js-only фронтенд фреймворк для небольшой SPA? Но при этом не нонейм поделие и не бесполезная обёртка дефолтными методами, а чтобы хоть какая-то польза в его изучении и использовании была (иначе мне проще на ваниле самому написать) Чтобы без транспайлеров, jsx и прочих вебпаков. (Если такие вообще бывают.)Требований не много, у меня на странице будет по сути только плеер, много квадратов с парой кнопок (для выбора чего играть в плеере), и вылезающий откуда-нибудь сбоку скроллабельный списочек набором похожих квадратов. Рендерится всё на клиенте. Данные через уже имеющийся api берутся.
>>1072371Aurelia
>>1072231>REST натягиваетсяпиздец костыли. и собсно ради чего? ради модной строчки "применял реакт для вордпресса"
>>1072371vue сам недавненько попробовал, просто script src="vue.js" и все тебе доступны компоненты, пропсы, observer'ы reactive data никаких транспайлеров и т.д.
>>1072394чтоб декларативно вьюхи описывать очевидно же, ну и чтоб с JQ не ебаться если пилишь красивую темку
Нубский вопрос, но что-то не могу нагуглить.Есть обычная img-картинка. Пользователь может выделить ее мышью. Как навесить на это обработчик? onselect и onselectstart не работают.
блядь
>>1072487 без не ререндерит вьюху. вызывал кидает эксепшон. значит видит изменения. че тогда вьюху сам не ререндерит?
>>1072491пиздец какого слова чекНоуЧенджес и детектЧенджес англ. буквами в спам листе? ебанутый день
>>1072487>>1072491>>1072494бля пиздец я голову ломал какие у меня слова в спамлисте, а это просто названия функций из ангулара
Здравствуйте. Почему ЖС такое говно?
>>1072499Здравствуйте. WebAsm на подходе, ожидайте на линии.
>>1072500Поскорее бы уже, ЖС такая параша ояебу. Особенно после Java и Swift.
>>1072506Для тех, кто ищет решение, всегда есть варианты.Elm, ScalaJS, ClosureScript, етц.
>>1072499Дай угадаю, 0.1+0.2 сложить не можешь?
>>1072500Я не всасываю, а что с DOM'oм то в васме. Ясно, что жс можно из Си вызвать, там вроде были примочки. только какой тогда в этом смысл, прыгать-то дорого наверняка
переписал на сервис и заработало без кастылейхех. прикольная штука вынуждает писать тебя правильно
почему в этом вашем react-native ошибка на ошибке?? Я не разрабатываю биз-логику, а занимаюсь чтением решений по исправлению ишьюз
бля какой же кайф на тайп скрипте писатьникогда больше не вернусь к ванильному жс гори он сука в аду
>>1072566и че ты лендос с двумя owl-carousel'ями и одним инпутом "оставьте ваш номер" будешь на тайпскрипте писать? Хотя хули на втором угловом же наверное начнешь его хуячить
Дохуя логики в компоненте - это всегда плохо да? Попался какой-то наркоманский апи или я тупой, приходится городить костыли то тут, то там. Все, что мог вытащил в отдельные компоненты и функции, но все равно логики как-то много по мне. Ладно бы много, так она еще и повторяется местами для рендеринга. Открываешь какой-нибудь крутой попенсурсный проект, все заебись и красиво, потом открываешь свой, а там грусть-печаль. Или я зря накручиваю и надо делать хуяк-хуяк и сами знаете куда?
>>1072568хуяк-хуяк в пердак
>>1072568Да, это вроде как плохо, вот ща читаю https://vk.com/doc8687010_442599268глянь на страницу 220 глава Reshaping the data, я хз почему он не называет это serialize наверное потому что автор пидор и в начале книги благодарит своего парня лол но по идее для работы с api надо ебашить такие сериалайзеры
А есть какая-нибудь фундаментальная теор. книжка по reactive programming? или frp, просто про саму парадигму и чтоб с псевдокодом. Куда не кинься повсюду нынче блеать.
>>1072595не читал но посоветуюhttps://www.amazon.com/Functional-Reactive-Programming-Stephen-Blackheath/dp/1633430103
>>1072567не верстаю уже несколько лет а лендосы не делал никогда и другим не советую
>>1072597ну бля в мухосранской студии не выбираешь, придет дядя "хочу пиздатый сайт как на awwwards пацанам показывать" - пилишь на всем новомодном а если заказчик пришел с 9 тысячами бюджета на весь проект то Добро пожаловать в 2007.
>>1072589Годная идея, черт. Только такую обертку надо будет сделать для всего апи, со всеми костылями и т.д, потому как с формой данных проблем никаких. Спасибо.
>>1072499ты же даже не пытался, толстяк
>>1071430Написано - "Но на самом деле вы обращаетесь к O(n) элементам на каждом уровне стека вызовов!", уровень стека здесь это одна строка "разложения" этого массива. Если учитывать выделение "опорного элемента", то получается 7 действий на 2м уровне стека, далее углубляемся ниже и нам нужно "прочитать" уже 6 элементов массива. И я не пойму почему здесь идет речь о восьми элементах на КАЖДОМ уровне стека, че за хуйня.
>>1072642На твоем пике хуйня какая-то написана. N на каждом уровне - это лучший случай. На твоем пике - худший, арифметическая прогрессия, как он и написал.
Есть два объекта с вложенной структурой (то есть значением ключа может быть объект, значением ключа которого будет другой объект и т. д.). Один объект является "полным", второй - содержит часть ключей из него с другими значениями. Нужно сделать так, чтобы если значение одного и того же ключа в объекте 1 и объекте 2 отличались друг от друга, то это самое значение перезаписывалось. Просто циклом тут пройти не выйдет как я понимаю, поскольку значением ключа может быть другой объект и мне не нужно, чтобы он перезаписывался ПОЛНОСТЬЮ, нужно, чтобы перезаписались только отличные ключи. Рекурсия нужна какая-нибудь? Или, быть может, есть такая функция? Суть задачи то какая: на дефолтный конфиг "накладываем" конфиг указанный пользователем и получаем параметры с которыми работаем. Вроде весьма типовой вещью является.Объяснил не очень, но по пику будет понятно думаю. Первый объект ("полный", дефолтный конфиг), второй объект (который мы "накладываем" на него, конфиг указанный пользователем) и ожидаемый конечный результат.
>>1072649Вопрос к более опытным кодерам, сейчас во всех приличных вакансиях требуют знание нормального ООП (не с прототипным наследованием и не в функциональном стиле, а именно то самое эталонное ООП как в Java и C#) и соответственно знание Type Script. Нормальных уроков по Type Script я не нашёл, а что самое главное, нет нормальных примеров реализации паттернов проектирования на Type Script. Стоит ли изучить C# для того чтобы выдрочить эталонное ООП или это можно сделать и на JS не изучая другие технологии? Или лучше ваш_ответ?
>>1072651Сука, случайно запостил это как ответ к >>1072649 твоему вопросу.Сама формулировка того что тебе нужно - пиздец сложная. Кто тебя научил так запятые ставить? Это антипаттерн. Так лучше не делать.Тебе как раз таки и нужно перебором проверять, если есть значение, то оставить как есть, а если нету, то вставить новое с нужного тебе обьекта.
>>1072652>Кто тебя научил так запятые ставить? Это антипаттернКто сказал?> то оставить как есть, а если нету, то вставить новое с нужного тебе обьекта. И каким образом это сделать без рекурсии простым перебором? Если я просто object1.key = object2.key то перезапишутся и object1.key.subkey1 и object1.key.subkey2, а мне нужно чтобы только subkey2 заменился. Соответственно просто менять объект на объект не выйдет, нужно будет по каждому ключу отдельно проверять, а если значение ключа - объект, то этот объект также разбирать по ключу.Ну да не суть, я смог с горем пополам сформулировать вопрос гуглу. https://github.com/KyleAMathews/deepmergeСпиздил писечку и рад. Я уже с горем пополам сформулировал этот вопрос гуглу -
>>1068066 (OP)>Этот тред посвящён главному языку будущего - JavaScript.>главному языку будущего - JavaScript.>будущего - JavaScript.
>>1072657JavaScript - будущее которого мы заслужили. А вообще, охуенный язык, доминирует над всеми языками уже очень долго и будет доминировать дальше.
Но это не точно.
>>1072659>JavaScript - будущее которого мы заслужили. А вообще, охуенный язык, доминирует над всеми языками уже очень долго и будет доминировать дальше.>охуенный язык, доминирует над всеми языками уже очень долго и будет доминировать дальше.Тред про жабас, а не про Python
>>1072663>Тред про жабас, а не про PythonКстати, а с хуя ли на пистон пошла вторая волна хайпа? Уж не из-за машобчика и нейроночек с тензорфловами? Ведь был же пришибленный язычок, который по популярности уступал даже рубям.
>>1072664Потому что Питон для продвинутых молодых людей, ценящих свое время, синтаксис языка и берущих от жизни все, ведь змеюка user friendly. Пока Java рабы делают приложения на андроид, пока Haskell задроты ебутся со своими функциональным программированием и прочим задротством ,пока Джаваскриптеры создают треды на дваче в попытке оправдать свое говно, Питоногоспода просто и без задней мысли зарабабатывают огромные деньги, попивая коктейл на пляже в обнимку с крутой чикулей. Серьёзно, питон девелопер - это не задротв мятой рубашке, питонщик надевает Yeezy Boost 750 и программирует с модной прической.
>>1072664Недавно была статистика от stackoverflow, так согласно ней питон активнее набирает позицию в развитых странах, нежели чем в неразвитых. Думаю, это связано с общим повышением самосознания среди разработчиков и созреванием индустрии. Язык уже выбирают не по принципу "гы-гы, все пишут на php и я тож буду". А стараются выбрать наиболее оптимальный вариант под конкретную задачу. Тут и выходит питон на передний план. Язык сочетает в себе простоту, логичность, богатую библиотеку и скорость разработки. Не удивительно, что сейчас можно поставить знак равно между "стартап" и "питон".
>>1072676Нет. Потому что машобчик и тд. Они там богатые, есть время поразмышлять над всяким. А PHP позволяет заработать на чашку риса Ивану или Джафару.
>>1072666>Серьёзно, питон девелопер - это не задротв мятой рубашке, питонщик надевает Yeezy Boost 750 и программирует с модной прической.Проиграл, питономидл, сижу сейчас за компом в труханах и футболке, с недельной щетиной, удаленка хуйли.
Щас можно читать после кантора или уже очень устарело?JavaScript. Подробное руководство№ 1011147Дэвид Флэнаган, 2012
>№ 1011147читаю u don't know js после кантора
>>1072700Бесполезная штука, серьезно. Тупо справочник, причем устаревающий каждый день.
>>1072649obj3 = $.extend(obj1,obj2)
>>1072714>$.extendНе позорься, дружище, Object.assign() в наши края уже завезли.
>>1072715я вылез из очень темной пещеры. а раз ты такой умник че ему не помог?
>>1072707А что полезное, учитывая что я не знаю английский?
>>1072723учебник английского
>>1072723Кантора прошел? Все, иди пили приложения. Книжки можешь в сортире читать.
>>1072644Да мне блять без разницы худший или лучший случай, я не об этом вообще говорю. Я говорю о том что написано - что на каждом уровне почему-то по O(n), т.е по 8. Но сейчас я вроде бы уже осознал что O(n) это не 8, а просто каждый элемент на каждом шаге стека.
почувствовал себя тру-программистомору сам с себя
>>1068066 (OP)js для хипстеров и недоучек
>>1072821а вот и компонент который пару дней назад был таким >>1072487 хех
>>1072954а 300к/сек как же?
>>1072821какой же пидарский этот ваш тайпскрипт, лучше бы блять научились тесты писать
>>1073004охуенный я просто кончаю. больше никакой ванили НИКОГДА
>>1073010ес6 тоже норм зашел (я из пифона)
>>1071430Кстати не понял немного почему "высота" стека при случайном выборе опорного элемента высчитывается как log n (хуево с логарифмами конечно знаком)?Подразумевается что основание там 2, а длина массива например 8, получается что высота будет равна 3, если мы будем каждый раз делить массив ровно пополам? Т.е грубо говоря 3 - это количество делений массива на половину, пока он "не закончится"?
>>1073010пишу only на ванили, юзаю try/catch, полёт нормальный
>>1073013>>1073025говноеды че с вас взять.ну может спустя время прозреете
>>1073010Это чтобы тупорылая ява макака за доширак могла хоть как-то быть полезна своему господинудаже уебанский flow не настолько омерзителен
Сууука падла. обновил тут brackets ебаный и теперь он мне все ошибками застелил. console у него is not defined блять, охуеть вообще.
>>1073027обоснуй
>>1073071я што ебанутый? хочешь верь хочешь нет. работаю с жс больше 8 лет,тайпскрипт лучшее что со мной случалось за все это время
Тут все фреймворки типа ангуляра на ноде основаны и её лучше ботать или не?
>>1073072ну а кто спорит, я не трогал еще, ангуляр на нем делаешь?
>>1073074да. и у меня все заработало из коробки под винду. и есть --watch и я легко сделал это все в виде хром-экстеншона, и если что-то неправильно архитектурно мутишь - оно бьет по рукам, и есть ЕНУМЫ ЕНУМЫ БЛЯДЬ о сколько я о них мечтал, всю жизнь смотрел с завистью на сишарперов. а дженерики? блядь сколько в этом слове для меня пацаны не могу вам передать. вообщем я почти 2 года каждый день курил траву, а тут открыл мануал, не выходя из наркотического тумана, все завел во всем быстро разобрался и за пару дней набросал простое приложение под хром и даже только что инжектнул сервис у которого конструктор че-то принимает,поэтому под него пришлось создавать отдельно фабрику. я такого никогда не делал,для меня это просто шок.как же это все удобно и охуительно. многие люди просто без задней мысли работают над решением обычных задач которые перед ними ставят заказчики, но только яваскрипт макака ебется со своим собственным языком и зоопарком инструментов в нему.
>>1073075а бля и гоу то дефинишен работает ПИЗДЕЦ
>>1073075>архитектурно
>>1073075хорошо описал, надо идти смотреть.Под травой норм идет? Тупняк же, зависаешь надо алгоритмом
>>1073085> Тупняк жехз я слишком давно этим занимаюсь мне похуй
Сап,js thread, ответь на мои вопросы: даш писку ебат? можно ли жс учить параллельно с с++, если уже есть опыт изучения яп (учил пайтон/питон). Какая IDE самая чееетенькая ?
Есть регулярка которая захватывает все отступы в начале строки с помощью двух пробеловhttps://regex101.com/r/TezNBS/1Есть код на ноде (пикрелейтед 1 он)https://pastebin.com/GAMC8Xm1Регулярка формируется правильно, если добавить console.log(rgxp) то будет вот что:пикрелейтед 2 Но при этом в результате заменяются только первые два пробела (пикрелейтед 3)Вопрос: ЧЯДНТ? Вот, например, онлайн-сервис по замене с помощью регулярок http://www.regexe.com/. Я вставляю в него регулярку, которую копирую из вывода консоли (console.log(rgxp)) и всё ок (пикрелейтед 4), каждые 2 пробела заменяются на табы (ну, в данном случае на слово TAB чтобы было видно). То есть, повторюсь, сама регулярка формируется вроде как корректно и мои переменные типа options.length подставляются нормально. В ноде же первые 2 пробела на таб меняются, а дальше нихера.Суть такая: есть файл, нужно заменить в нём отступы с помощью 2 пробелов на отступы с помощью табов. Сейчас в качестве временного хака я накопипастил огромную простыню говнокода (типа два пробела в начале строки меняем на таб, четыре пробела - на два таба, шесть - на три и т. д.), но хотелось бы переписать этот костыль нормально.
>>1073141>пикрелейтед 2 >во первых https://regex101.com/r/cLhj3D/1и посмотри что находит твоя регулярка, если выставить js, а не php
>>1073141>два пробела в начале строки меняем на таб, четыре пробела - на два таба, шесть - на три и т. д.Но зачем? https://repl.it/MWYK>Вопрос: ЧЯДНТ?У тебя матчится только "^ ", \G в жаваскрипте нет.
>>1068066 (OP)> https://telegram.me/jsthreadЛютая помойка с 2,5 сеньорамиджунами ваннаби говнокодерами не знающих про солид.
>>1073110изучи выбраный яп до въедчивости, нахуй ты скачешь по языкам как твоя тянка по хуям на вписке?
>>1068760MEAN
>>1073231у меня нет тянки(
>>1073110Не дрочи на IDE. Какой язык понравился - тот и изучай, епта
>>1068066 (OP)Возможно, я не совсем по адресу со своим нубским вопросом, но не знаю, где лучше спросить. Я делаю простую игрушку, которая работает в браузере через requestAnimationFrame. В ней есть спрайт, который управляется курсорными клавишами. По событию "keydown" координаты спрайта сдвигаются на 50 пикселей в нужном направлении. Проблема в том, что если клавишу зажать и не отпускать, спрайт начинает ускоряться и очень быстро пролетает из одного конца игрового поля в другое, что нежелательно. Можно сделать, чтобы перемещение на 50 пикселей срабатывало только один раз при каждом нажатии на кнопку, но это тоже не очень хорошее решение. Как сделать так, чтобы спрайт при зажатии кнопки ускорялся, но до определенного предела? При этом нужно, чтобы координаты спрайта всегда менялись с шагом в 50 пикселей, перемещение на другие величины недопустимо.
>>1073173И что я должен с этим делать? Мне же нужно именно 2 пробела заменить на 1 таб. Твоя регулярка грепнула 6 пробелов, куда мне их девать? Менять на 1 таб? Хотя сейчас подумал - можно взять это решение в лоб и в replace передать функцию, которая будет смотреть на длину пойманного текста. Если длина Х, то меняем на Х\2 табов.>>1073225https://repl.it/MWYK/1Вот зачем. Вероятность такого крайне мала, но всё же присутствует.>У тебя матчится только "^ ", \G в жаваскрипте нет. Наконец, спасибо! Теперь я хоть понимаю куда копать. Значит с этой регуляркой могу соснуть хуйцов только и нужно переписывать это как-то, понятно.
>>1073558Да, в итоге сделал с регуляркой в лоб (как у первого анона) и передачей функции в качестве того на что менять.https://pastebin.com/1xa2Zrsy
>>1068066 (OP)Сап анон, подскажи как можно приостонавливать выполнение цикла?
>>1073730аlert()
>>1073730придется имитировать цикл рекурсивной функцией а внутри нее юзать сет таймаут, ты лучше скажи че хочешь сделать, а то вопрос более абстрактный чем песни мутант ъхвлам
Господа, хочу как-то структуализировать свой жс файлик. Он превращается в длинную нечитаемую лапшу. А я хочу разбить его на файлики и импортируемые классы, как в пхп можно делать.В нем только анимашки всякие, данные берутся с сервера (вордпресс). Поэтому вопрос, какую приблуду можно взять, чтобы раскидать куски жс кода по файлам, а потом импортировать их? Как моно сделать это на ангуляре? Там вроде только хтмл код в компонент рендерится.
>>1073751Юзай операторы импорта/экспорта и собери в один выходной файл бабелем.
>>1073736в общем я делаю запросы на сервер в цикле (до тех пор пока не придет нужный ответ, или пока все варианты не будут перебраны). Делаю запрос, если ответа нет, то жду некоторое время.
>>1073736в общем да, я так и думаю делать (таймаутом). У меня просто он не работает почему-то в цикле. Так должно быть?
>>1073752а вот я нагуглил модульный подход в жс https://habrahabr.ru/post/218485/и скриптик для разбиения на файлы. http://requirejs.org/docs/api.htmlтак можно организовать код? или моднее ангуляр + бабель?
>>1073752А или ты советуешь просто импорт фичи из ЕС6 использовать, а потом компилить это в ванильный жс?
>>1073757таймаут в цикле работать не будет поэтому я и сказал придется писать функцию имитирующую цикл. В ангельский умеешь?https://stackoverflow.com/questions/3583724/how-do-i-add-a-delay-in-a-javascript-loop
>>1073767Благодарю. А почему в цикле не будет работать?
>>1073770> The setTimeout() function is non-blocking and will return immediately. Therefore your loop will iterate very quickly and it will initiate 3-second timeout triggers one after the other in quick succession.
тем временем дудка заканчивается, а проект растет и сегодня обзавелся своей БЭДЭШЕЧКОЙ
>>1073770пиздец ты че партизан? так и не выдал нахуя тебе это надо!
>>1073791А, так ты наркоман
>>1073822да, но сообразительный
>>1073823пишешь на ангуляре? у меня для тебя плохие новости :)
>>1073831я только пробую и это лучшее что случалось со мной за многие года
>>1073831За деньги и не такое делают
Почему стрелку у графа идут как будто в обратную сторону, я чего-то недопонимаю?
>>1073842Это граф зависимостей, а не диаграмма процесса. То есть, например, "я не могу принять душ, пока не проснусь" или "я не могу позавтракать, пока не почищу зубы".
>>1073558>Вот зачем.Я всё ждал твоего ответа, уже держал наготове решение :3 Кроме как с функцией такое вроде и не сделать, в жсе даже lookbehind'а ж, блин, нет. Но я бы вот так красивенько сделал, вместо голого лупа https://repl.it/M0iH
Глупый вопрос о всяких вебпаках и ангулярах для фронтенда. Правильно ли я понимаю, что после сборки проекта, я могу, грубо говоря, взять index.html их app.js, утащить их в свой примитивный сервер, отдающий лишь эти два файла, и удалить всё остальное?
Аноны, такой вот вопрос, как наебать адблок?Попал сегодня на такой сайт как hdrezka.ag, попробуйте тоже, зайдите в любое видео, у меня стоит 4 вида расширений для блокировки всякой хуеты, но этому сайту абсолютно на это поебать, тизеры от recreativ.ru спокойно отображаются, как он это сделал?Подскажите пример простейшего кода на JS для наёбки адблока или что искать и где почитать об этом?
>>1073881Посмотреть исходники не судьба?
>>1073882Посмотрел, ничего необычно, кот от recreativ.ru вставлен также как и у всех, но, его не блокирует.
>>1073881Зашёл, открыл "Ветренная Река". Ни рекламы, ни баннеров, ни тизеров — ничего нет, всё чисто, только фильм. Флеш забанен.Адблок режет ресурсы по их источнику при запросе, никаким жc'ом ты это не наебёшь, иначе бы уже давно началась гонка вооружений.
>>1068066 (OP)Вопрос к более опытным кодерам, сейчас во всех приличных вакансиях требуют знание нормального ООП (не с прототипным наследованием и не в функциональном стиле, а именно то самое эталонное ООП как в Java и C#) и соответственно знание Type Script. Нормальных уроков по Type Script я не нашёл, а что самое главное, нет нормальных примеров реализации паттернов проектирования на Type Script. Стоит ли изучить C# для того чтобы выдрочить эталонное ООП или это можно сделать и на JS не изучая другие технологии? Или лучше ваш_ответ?
>>1073881Зашел, ничего, кроме вшитого рекламного ролика в начале фильма, не увидел.
>>1073892Нахуй нужен Typescript, если есть ES6?
>>1073911Строгую типизацию ещё не завезли. Многие финты которые проделываются в эталонном промышленном ООП, ещё нельзя сделать с возможностями ES6.
>>1073887>>1073910Не знаю, может у вас провайдер это фильтрует.Вот пример на скрине ещё одного сайта который я сейчас нашёл kinokrad.co, как видите в общей сложности включено 4 блокировщика, но реклама всё равно выводится.Почитав мельком я так понял придумали такую хуету как сервис который наёбывает адблок, прогружая рекламу через прокси чтоли, посмотрите исходный код обоих сайтов, у обоих вначале стоит какой-то зашифрованный код на JS и у обоих есть фалик с названием ads.js, который судя по всему не срабатывает из-за адблока и после чего начинает действовать другой, проксирующий эту рекламу.Пацаны, попробуйте разобраться, ведь интересная тема получается.
>>1073928>адблок>2017Глупо.
>>1073928>Пацаны, попробуйте разобраться, ведь интересная тема получается.Открой консоль, посмотри, откуда именно эти баннеры загружаются, добавь в фильтр блокировок. От адблока не скроешься.>прогружая рекламу через прокси чтолиПрокси-хуёкси. Есть адрес — нет рекламы.>включено 4 блокировщикаАнтивирусов у тебя тоже несколько стоит?
Короче поискал ещё, к этому причастны домены hghit.com hgbn.rocks, я так понимаю это какие-то сервисы проксификаторы, но как найти их создателей, официальный сайт и почитать что они такое. Они как-то с помощью JS выводят ваши тизерки игнорируя блокировщики рекламы.
>>1073950Предлагаешь банить всё вручную через host?>>1073967Антивирусов нет, не качаю всякую хуйню.Адреса уже нашёл hghit.com hgbn.rocks.Просто было интересно, как это сделать самому, наебать адблок, потому что всё и так хуёво, платят копейки, а адблок у 80% пользователей.
>>1073968>игнорируя блокировщики рекламы.У тебя они есть в списке фильтров твоего блокировщика?
>>1073892Нехуй там учть, лол. Посмотри как интерфейсы объявляю и начинай хуярить
>>1073970Встраивай monero, даунич. мимо майнер
продолжаю свою упоротое погружение в ангуляр4. сегодня табсервис вот такой
Бля, я вот пишу когда на модерновом жсе с функциональщиной, все время очкую, что за каждый углом O(n^n) или с памятью пизда (С импринтинг, не иначе как)И вот пожалстаhttps://alexn.org/blog/2017/10/11/javascript-promise-memory-unsafe.html
Посоны!!! А как в JavaScript с двоичными числами работать?Ну, скажем, мне надо от 10110 отнять 1011. Мне обязательно их в десятичную переводить? Как-то вот так по пиздоватому:>var d=(parseInt("10110", 2)-parseInt("1011", 2)).toString(2);Или можно сразу как-то напрямую с ними работать, без лишних переводов туда-обратно?
>>1074196
>>1074202Добра тебе.Че-т у меня во Флэнагане нифига на эту тему не нагуглилось.
Пацаны, хочу для тренировки сделать бложик и вот какой вопрос: как хранить текст? Зашел я такой, в приложеньке использовал какой-нибудь WYSIWYG редактор - а дальше что? Перекодировать это дело в html и html хранить в базе? Это правильно вообще?
сегодня подорвался в 8 утра. так что к этому моменту я успел пофиксить 2 критикал бага(один из них крэщ при запуске) и поэтому имею возможность насрать в тредик скриншотами слегка обновленного табсет сервиса и на втором пике наканецта ИНТЕРФЕЙС приложения(что по сути хром экстеншон который при нажатии на свою иконку все открытые вкладки закрывает а вместо них покывают одну со списком закрытых сейчас и табесты закрытые ранее(из indexeddb))смотрю я на эти await представляю сколько бы это было промисов, а еще раньше колбэков завернутых в библиотечные функции какой-нибудь asyncjs и волосы встают дыбомСКОРО РЕЛИЗ ПОЧАНЫ(всем похуй я знаю)
>>1074371я так понимаю тебе try/catch для async нахуй не сдались
>>1074400пет прожект же. мне леньтем временем табсет сервис избавился от необходимости открывать коннекшен к базе данных. это теперь выполняется при инициализации приложения. давно хотел зделоть
>>1074400> try/catch>мне леньпипец ты даун, надеюсь тебя дальше чем кассир никуда не пропустит общество.
>>1074457я вот только что забросил эту приложуху потому что допилил ее до состоянии когда осталось делать только рутинные запросы к бд и мне наскучило. какие там в жопу трайкечи меньше 400 строк кода суммарно вся ебалайка со всеми конфигами даже. трайкечи ору
>>1074479я тебе больше скажу, даже такую ебалу надо покрыть тестами, ибо нахуй тогда писать бесполезную хуйню, которую даже стыдно вылить на гитхаб.дело твоё конечно же
Как же меня бесит ваша галимая пораша. Из-за криворукого уебана, который веб-клиент писал и вставил неправильный метод перехвата ошибки с сервера, мне пришлось ебаться два часа, чтобы понять какие 5 аргументов нужно передать в верный метод. Ведь в вашем говне нет строгой типизации и как понять, что передавать в тот или иной метод - нужны титанические усилия. В рот вас всех ебал.
>>1074592>типизациясколько типов может передать JSON? Откуда вы бл* лезете только?
>>1072542чо там за ошибки в rn?пишу полгода, пока не особо в курсах о чем ты
>>1074592https://medium.com/javascript-scene/the-shocking-secret-about-static-types-514d39bf30a3пишите тесты долбаёбы и не ебите людям мозг
>>1074592Используйте Transit или protobuf. Голый жсон в 2017 - это моветон.
Вечера, аноны!Вкратце: я мануальщик QA, который хочет в автоматизацию на JS. Осилил половину learn.js.ru, всё норм идёт. Однако знакомые программисты и автоматизаторы грят, шо учебник это заебись, канеш, но сами они учились наскоком, по примерам или откровенно говоря по задачам.Скажите, дельные ли советы они дают?И если да, то подскажите, пожалуйста, где я мог бы найти примеры и задачи? Хотелось бы шото в духе, вот есть страница, нужно, там, нахуярить какое-то автозаполнение, какие-нибудь формы ебучие прокликать и т.п.
>>1074585потому шо я ниче не планировал выливать на гитхаб, а планировал посмотреть устройство анг4
>>1074646> И если да, то подскажите, пожалуйста, где я мог бы найти примеры и задачи? Хотелось бы шото в духе, вот есть страница, нужно, там, нахуярить какое-то автозаполнение, какие-нибудь формы ебучие прокликать и т.п.Вечер в хату. Гугли по ключевикам: testcafe, nightmare, jester, mocha, jsdom.Обязательно найдешь что-то годное.
>>1074666Спасибо, мил человек!
аноны, нахуй ~ в импорте, без него не работает
>>1074671цсс импорты относительны к директории в которых применяются. хз как это перевести> css @import is relative to the current directory. For resolving "like a module" you can prefix ~.https://github.com/webpack-contrib/css-loader/issues/12отсюда все началось https://github.com/sass/sass/issues/2350если бы их не ввели, то при файловой структуреsrc/index.sass, mumodule.sassесли ты в index напишешь@import 'mymodule.sass' без тильды вебпак бы побежал искать mymodule в node_modules что хуево отразилось бы на времени сборки ну и сам можешь представить что было бы если бы он сначала искал в рабочей директории а потом только шел в нод модулс
>>1074690добра
>>1071404Название книги, пожалуйста
Суп, анон, помоги долану. Совсем дно в JS, учусь.Есть значит страница, на ней дохрена форм. Нужно к каждой форме добавить чекбоксы, чтобы без клика по чекбоксу кнопка [type="submit"] была disabled, а по нажатию на чекбокс она активировалась ко-ко-ко №152-ФЗ. Цель:Фишка в том, что хочется всё сделать минимумом кода (хотя я куда больше времени потерял в поисках этого решения, но чтож, зато опыт). Проблема:Не получается передать аргумент, содержащий кнопку [type="submit"]. Вопрос:Объясните мне, долбошлёпу, почему нельзя использовать элемент массива в качестве аргумента?Говнокод:https://jsfiddle.net/dhaea6mp/Пробую через цикл, но никак. И да, querySelectorAll использую, ибо там в формах полная мешанина в плане ID/тэгов или даже селекторов, а менять это всё влом.
>>1074734https://jsfiddle.net/kpfymwpj/дальше сам
>>1068066 (OP)Хочу вкатиться в JS, тред, озвучь свое мнение по поводу вот этой статьи: https://hackernoon.com/learn-to-code-in-2017-get-hired-and-have-fun-along-the-way-5ff4c1b1a790И еще, там есть пара ссылок на платные курсы:https://frontendmasters.com/courses/web-development/?u=a7359ff0e18cf1c378d554df4893bf4368a6d33bhttps://frontendmasters.com/courses/javascript-basics/https://frontendmasters.com/courses/good-parts-javascript-web/А я нищук. Судя по их названию, есть ли бесплатные альтернативы им? Книжки тоже пойдут.
>>1074745всё это есть на рутрекере, бери, качай, смотри
>>1074742fix https://jsfiddle.net/edycbsv3/
>>1074750Что-то я даже не догадался там посмотреть. Спасибо.
>>1074742>>1074753Вот это спасибищще! Добра!
>>1074703Грокаем алгоритмы
>>1074767Спасибо
Ребят очень прошу помогите, вообще не могу понять зачем нужен this и что он делает.
>>1074831Ура, наконец то и я могу отвечать на всякие ранее не понятные вопросы в этом треде.Пожалуй, не буду отвечать, пиздуй на завод.
Перекат >>1074974 (OP)Перекат >>1074974 (OP)Перекат >>1074974 (OP)Перекат >>1074974 (OP)Перекат >>1074974 (OP)
>>1073911Typescript — это тот же es6+, только в разы лучше. Нахуй нужен ES6 лучше спросить
>>1074609Вот это круто. Спасибо
>>1074750В итоге, удалось найти только The Good Parts of JavaScript and the Web.Может кто-нибудь посоветовать какие-то годные курсы альтернативные Introduction to Web Development (Tools, HTML, CSS, Javascript, jQuery, AJAX, Node.js) и Introduction to JavaScript Programming?
Пилю свой учебный говнопроектик на js.Игруля в бровзере тащем-то. И вот вопрос, а как разбивать на файлы проектик? Есть аналог инклуда какой-то, что бы написать классов и заинклудиь их в каком-нибудь стягивающем проект воедино файле? Или тупо всё должно быть в самой хатээмэльке подключено, причем в правильном порядке?
>>1079760webpack, import | require
Котаны, поясните новичку, что я делаю не так?Создал 3 блока.В одну поместил картинку. А две другие стилизовал и сделал типа стрелками, планируя, чтобы при нажатии на них менялась картинка. Но не получается, в javascript что-то не так. <div class="container"> <div class="next" id="str"></div> <div class="its"><img src="img/first.jpg" alt="image" id="image" width="400"></div> <div class="next" id="strtwo"></div> </div> <script> var str = document.getElementById('str'); var myImage = document.getElementById('image'); var imageIndex = 0; var imageArray = ["img/second.jpg", "img/third.jpg", "img/four.jpg", "img/five.jpg", "img/six.jpg", ]; function changeImage () { myImage.setAttribute("src", imageArray[imageIndex]); imageIndex++; } str.onclick = function() { function changeImage(); } </script>