Это копия, сохраненная 28 октября 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Этот тред посвящён главному языку будущего - 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/ для серверного кода.
Экма правильным путем идет. Сначала стандартизовали атомарные типы, потом и файберы с евергрин-тредами завезут.
Все будет, но не сразу.
Пуская сначала типы завезут.
жс простой. Хуле в нем сложного то.
Кидай хендлер в setImmediate.
События есть только в webapi. Они не имеют отношения к спеке языка.
Этому явлению есть имя - "JS Fatigue", погугли.
на завод, причём уже вчера
В кодерство тебе явно не стоит соваться. дальше будет только хуже.
нахуй вы бегаете с одного языка на другой, в итоге нихуя не знаете ни один, сиди на яве и дрочи до мидла, иначе проебёшь только время зря.
Понял, спасибо.
С чего начать изучение?
До этого в вебе только Django юзал и jQuery. С синтаксисом JS толком и не знаком. Да,нужно именно ангуляр.
А пока пошел шапку вашу читать.
>насколько быстро можно вкатиться в JS и фреймворки, чтобы начать работать на удалёнке?
За год вполне.
бля ты это я, начал проходить на хтмлакадеми, уныло пиздец, аж трясет
Юнит-тестировать есть смысл логику, независимые сервисы, а не оркестрационную часть вроде контроллеров. То, что ты хочешь - не юнит тесты, а скорее функциональные/интеграционные, поскольку твои данные будут проходить сквозь всю систему + взаимодействовать с БД. Юнит-тест тестирует модуль в изоляции (от сети, ФС и БД). Для тестирования API есть штуки вроде cucumber и behat, вод примеры сценариев тестирования:
https://github.com/api-platform/demo/blob/master/features/books.feature
https://github.com/diaspora/diaspora/blob/master/features/mobile/reshare.feature
Как видишь, сценарий легко читается, как обычный текст на английском. К счастью, бекенд на JS меня писать не заставляли, так что погугли что-то похожее для JS сам.
>>1068125
>легетимно
Книги хоть иногда открывай, траподаун. И всё правильно, твои трапы тут никому не нужны.
Потом ввел http-server
Захожу на сайт, все работает, но при обновлении js, он не обновляется, а html обновляется.
Что я сделал не так? Почему js не хочет обновляться?
По той же причине, что винда требует перезагрузки после обновления. Код твой уже загружен в память и исполняется. Ты можешь хоть удалить к чертям сам файл. Ну либо я не понял, о каком js'е ты вообще говоришь.
Может быть требуются некоторое уточнение.
Дела обстоят в линуксе. Пытаюсь использовать phaser, но для запуска сайта с фреймворком нужно запускать с сервера. Запускаю его указанным выше способом.
Если он уже записан, как перезаписать? Перезагрузка сервера не решило проблему.
>Перезагрузка сервера не решило проблему.
А вот это неожиданно. А ты уверен, что файл, который ты обновляешь, сервер вообще использует? Ещё есть вероятность, что браузер у тебя закешировал что-то, ctrl-shift-r попробуй.
Ах, да! Спасибо!
Интересно, эти полуебки когда-нибудь переведутся уже? Или так и будут каждый одно и тоже спрашивать.
1. Заткнись нахуй.
2. Ну, я подумаю. Например, this в данном случае ссылается на глобальный объект, в котором нет name?
Ни на чем он не пишет, дрочит в /бэ на трапов.
Все, я сам разобрался. Если поставить без скобок setTimeout(user.sayHi, 1000); , мы работаем буквально с самой функцией, а не тем что она делает. Т.е. это как бы просто скопировать её текст без смысла, да? А если скобки поставить - это мы уже вызовем функцию, и this будет работать нормально.
Я ещё не покупал подписку, давно прошёл бесплатные задания, а платные оставил на потом. И что-то тебя не пойму что там плохого, возьму на месяц подписку за 400р и спокойно все пройду, если поспешить то и за неделю можно. Просто как писали выше, от этой хуйни воротит. Может такое детальное знание и не нужно если я буду на js писать.
нихуя ты не разобрался
Пидор, разбань мой акк, я короче успел сделать всё что хотел. буду вас дальше хуесосить в чатике
>>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.
На печатной машинке.
Ребзи, хоть я и выбрал для себя фронтенд, но без знаний в беке в наше время тажко. Вот понемногу мучаю стек говноря: nodejs>expressjs, mongoDB>mongoose.
Уже много чего удалось сделать в беке, опыт просто бесценный. Реально исчезли вопросы, которые я задавал себе, когда изучал фронтенд.
Сейчас ломаю голову, над поисковой строке на сайте.
Допустим мы вводим в неё название фильма: Тёмная башня.
Тогда собственно никаких проблем нет, так как req.query.search == movies.title и мы легко в базе найдем нужный нам фильм. Понятно что такой поиск слишком примитивный, требующий полного совпадения.
Поэтому нужен совет, как сделать более продвинутый поиск. Что-то наподобие поиска на https://www.kinopoisk.ru
Боюсь одной регуляркой тут не отделаешься...
Никогда не понимал фронтендеров начинающих с фронта.
Что дальше-то? Как тестировать-то будем, пидор? Сдаётся мне, в твоём случае единственно уместным является E2E тестирование.
Фульстек мидол вкатился, верстать не умею.
MySQL может что тебе нужно, смотри функцию LIKE https://dev.mysql.com/doc/refman/5.7/en/string-functions.html
В любой более менее нормальной реляционной базе данных есть функции для работы с поиском и даже специальные индексы для ускорения вышеуказанного. Не смей запрашивать весь массив фильмов и регуляркой пропускать их на JSе, нафаня. Есть так же поисковые движки sphinx и elastic. но чтобы асинхронный поиск кинца сделать они не нужны. мимо фуллстек макака
Postgress вроде тоже может, там есть ILIKE (иненситив лайк), есть еще match against да дохуя чего есть.
Что там уметь, это довольно нудный процесс, но справится даже бейбик. Советую флексы подучить, очень сильно поможет в верстке. Таблицы не очень актуальны, но знать их нужно когда столкнешься с легаси, на флоатах верстать тот еще пригар, особенно когда нужно выровнять что-либо по высоте. Так что они флексы и вперед.
А что насчет пагинации? Последняя страница = Math.ceil(количество всех элементов / количество элементов на одной странице)
То есть мы постоянно подсчитываем количество всех элементов в бд, что кажется очень затратно. Может есть какой то хитровыебанный способ узнать это количество без использование метода .count(), который какраз их и считает?
Запрос в базу на количество строк в таблице вроде бы не является высокозатраным. Иначе я хз как узнать.
какого размера коллекция? 100кк? если нет, то нах думать вообще про это? используй count() и не еби себе мозг
можешь погонять koa если интересно нырнуть в генераторы
Да это я так написал от балды, что бы придать тебе уверенности. Извини.
Посмотри на Sequelize. Он хотябы на слуху, как монгус для монги.
как раз ща на него смотрю, вроде удобный.
Спасибо за мотивацию энивэй кек.
Просто мне нужен фулл стек на одном жс, и с mysql привычнее работать, так что думаю норм выбор
import huy from './pizda'
а не
const huy = require('./pizda') ???
уже можно
Webpack настраиваешь, чтобы он тебе компилировал на npm run watch из хипстерского жабаскрипта в es2015 и пишешь, ну че как маленький. Там же и стрелочные функции, и spread оператор и классы наконец-то нормально объявляются и наследуются.
>Там же и стрелочные функции, и spread оператор и классы наконец-то нормально объявляются и наследуются.
Это всё давным давно есть в самой ноде, без необходимости ебаться с хренью сторонней.
Произвожу простую операцию – увеличиваю число на единицу. Гл. переменная увеличивается, а свойство получает NaN.
num меняю на obj.num, в смене идентификаторов не должно быть ошибки
Разобрался. Имя аргумента функции в которой производил преобразование было таким же как и у объекта, но перековалось ему другое свойство объекта.
>Object.defineProperty(Object.prototype, "__keys", {
>get: function() {return Object.keys(this);}});
Или норм идея? Задолбался уже Object.keys(x) писать.
https://eslint.org/docs/rules/no-extend-native
пока такой же как и ты не перепишет твой __keys, проще:
function __keys(obj) {
return Object.keys(obj);
}
https://pastebin.com/7gNz6PPn
Значит, есть цикл с вложенным циклом. Шо мне нужно, так это проверить, имеет ли локальный итерируемый массив общее значение ключа sign с глобальным массивом. И если имеет, то взять элемент из локального массива и положить его в элемент глобального. Если sign не совпадает, то просто взять текущий локальный массив и запушить его куда-то там. Но, блять, при работе этого скрипта вкладка почему-то намертво зависает, сжирая за собой в среднем гиг оперативы. Решил проверить, что же там происходит такого и вот чо обнаружилось. Значит, в цикл прилетает массив с 872 элементами, а на выходе получается, что под условие попало 1043 элемента, а не попало 740157 элементов(!). Откуда эти цифры нахуй?
сучара, ты не способен даже внятно изложить условие задачи, куда ты лезешь? массив не может иметь именованых ключей по определению, его ключи это цифры
Пошёл нахуй.
Может, потому что массив это объект в JS'е. Другое дело, что не нужно иметь именованные ключи в массиве, т.к. тогда браузер перестанет обрабатывать его как массив и потеряется скорость работы.
также как функции, регекспы, даты, небо и аллах, другое дело что хранить в них данные таким образом почему-то никому не приходит в голову
Ему просто нужен мап со слабыми ссылками.
Хочу поворачивать объект по направлению к указателю.
Obj.rotation = game.physics.arcade.angleToPointer(obj);
Объект поворачивается, но смотрит боком. Поворачивал картинку, все равно тем же боком смотрит. Как это вообще понять?
Значения sign уникальны (внутри одного массива)?
>Откуда эти цифры нахуй?
Всего у тебя твой код (с третьей строки) выполняется iteration_proposals.length proposals.length раз. Один из них 872. Второй, полагаю, примерно столько же, а это как раз около 750 тысяч и выходит.
>others_props.push(local);
Вот эта хрень у тебя тоже 750к раз выполняется, туда оперативка вся и ушла, видимо. При этом один и тот же элемент туда запушился proposals.length* раз. Оно тебе надо так?
Там умножение должно было быть. (А с каких пор [ b]звезда[ /b] не работает? Как их писать теперь?)
О, спасибо.
>Значения 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
});
тебе стоит разобраться с этим самостоятельно
https://plnkr.co/edit/qdDRgjiucN0GwsP2MGoV?p=preview
используй Object.keys чтобы не собирать весь мусор с прототипов
Я разобрался в этом проблемесе. Кароч, если срабатывает условие if, то код в его теле срабатывает ровно так, как я ему это указал. Но проблема в том, что if срабатывает один раз, а затем ВСЁ уходит в else, то есть один единственный массив запушится proposals.length раз. Наверное, буду проверять, существует ли уже этот массив там, куда я его пушу. Весь день проебался над этим, пиздец.
>код в его теле срабатывает ровно так, как я ему это указал.
Удивительно.
>Наверное, буду проверять, существует ли уже этот массив там, куда я его пушу.
Ты лучше просто проверяей, есть ли массив в global'е, а уже потом что-то с ним делай. А то ведь нагородишь сейчас ещё один уровень forEach'ей. Подсказка: Array.findIndex или Array.indexOf используй.
Что-то ты перемудил. Во-первых, выявлять равенство объектов путём сравнения их строкового представления не самая лучшая затея: stringify не гарантирует никакого глобального порядка, в итоге два как бы одинаковых объекта {a: 1, b: 2} могу стать как строкой {"a": 1, "b": 2}, так и {"b": 2, "a": 2}, ну а дальше сам понимаешь.
Во-вторых, зачем ты весь элементов stringify'ишь, тебя разве не один лишь sign интересовал?
В-третьих, а нахрена тебе вообще массивы тут? Сделай proposals объектом, в качестве ключей используй значение sign, а дальше как легко будешь проверять if (global[local.sign]) {} и пушить куда надо или создавать новую пару ключ-значение.
>Сделай proposals объектом, в качестве ключей используй значение sign
Вот за это отдельное спасибо. Не знаю, как я сам не додумался.
>stringify не гарантирует никакого глобального порядка
В пределах одного браузера порядок на практике сохраняется, хоть и не гарантируется.
var string = "hello, world!";
var res = string.match(/hello(\, world)/g);
console.log(res);
Почему этот код возвращает
Array [ "hello, world" ]
У меня же в регулярке скобками выделена группа и он должен вернуть
Array [ "hello, world", ", world" ]
Или нет? А как оно тогда работает? Вроде никогда проблем с регулярками не было, а тут какой-то пиздец.
>/g
https://stackoverflow.com/questions/19913667/javascript-regex-global-match-groups
С глобалом он лишь все подошедшие строки выдаёт, целиком.
1. 20e - 1['toString'](2) = 10
2. let a = (1,5-1)*2 a=8
3.null + {0:1}[0] + [,[1],][1][0] = 2
4. a == b
a=[1,2,3]
b=[1,2,3]
Утверждение не верно
5.
4 - "5" + 0xfc - "1e1" = 4
Тебя не спросили, ебанат
Потому что js со своими приведениями типов.
Практически полезен лишь 4-ый, и если тебя где-то будут спрашивать любой из других, смело шли нахуй. (Ну, хотя 2-ой может ещё норм.)
В js объекты являются равными только если это один и тот же объект.
>a = [1,2,3]; x = {a: a, b: a}; x.a == x.b // true
все это предельно простые примеры, которые как раз и показывают знаешь ли ты все тонкости спеки или прослушал курсы 'спицолист ЖС за месяц'.
возьмем второй, например. запятая - такой же оператор как и сложение или умножение. работает он так: обе обе части вычисляются, затем возвращается правая. приоритет у нее самый низкий, поэтому сперва выполняется вычитание.
(1,5-1)2
получаем
(1,4)2
теперь запятая(т.к. внутри скобок)
(4)*2 // 8
>4 - "5" + 0xfc - "1e1" = 4
приоритет операторов одинаковый, идем слева направо
4 - '5'
строка приводится к числу всеми математическими операторами кроме сложения. поэтому 4-5=-1
-1 + 0xfc
0x - это форма записи 16-ричного числа, при сложении оно переводится в десятичное, получаем -1 + 252=251
251 - '1e1'
1е1 - "научная" форма записи чисел, ХеY можно буквально читать как X с Y нулями(если Y отрицательное - то с плавающей точкой после первого). 1 с 1 нулем это 10
251 - 10 = 241
241 != 4, утверждение не верно
мучают сомнения, правильно ли я разруливаю ошибки
на 91й линии происходит создание записи в таблицу posts, после чего мы получаем на 99й линии айди новой записи. далее на 104й линии записывается уже файл. в результате этих операций могут возникнуть исключения, которые ловятся на 116й линии для файла, и на 124й линии для поста. всё работает как нужно, но мб можно как-то объединить это, что бы все ошибки обрабатывались на 124й линии? другими словами как передать ошибку дальше?
Часто ты видел телефонные книги, которые сортированы по номеру?
пизда, даже с промисами у тебя всё упездрячивает вправо, пиши на калбеках и не позорься
и поставь prettify/eslint airbnb
give me back my 12 dollars...
Алсо реквестирую годноту а ля frontendmasters по любым front-end технологиям
>даже с промисами у тебя всё упездрячивает вправо
А без асинков оно иначе и быть не может же, потому что визуально же разница лишь в том, где находится закрывающая первую функцию скобочка:
>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, надеюсь?
> А нахуя все эти хипстерские языки волде Фортрана и Лиспа? Раньше вроде ассемблером обходились и невыебывались.
а зачем пересортировывать его в массиве?
создай ручками объект {
A: true,
B: true,
C: true
} и посмотри что из этого выйдет
если умеешь в кресты || английский то очевидно в доках
https://github.com/v8/v8/wiki
а так в любой статейке в интернете, ты че еблан?
Затем, что у меня каждый объект имеет свойство price, где указана конечно же цена. И вот мне нужно отсортировать между собой объекты по значению object.price.
а бля я подумал ты свойства объекта отсортировать хочешь, тогда так и нужно делать
https://stackoverflow.com/questions/1069666/sorting-javascript-object-by-property-value
если лодаш подрублен к проекту делай через нее
https://lodash.com/docs/4.17.4#sortBy
>>1069775
ну бля был бы ты нубом с очевидно нубским вопросом или мимокроком зашедшим в тред с хуйней как поправить слайдер на его сайте я бы выбирал выражения, а так ты же в теме вроде как знаешь как хуйня работает, если чет не ясно пиздуешь в гугол и только в совсем патовой ситуации приходишь сюда с вопросами.
продолжаю бугуртить по поводу проебаных 12 баррелей
конец ADVANCED курса, уебок не обрабатывает ошибки рассказывая как отложенно подгружать компоненты для react-router
Да тут вопрос в другом. У меня ключи объектов - цифро-буквенные например, 01234abc и 1235abd в массиве объектов они сортируются между собой сами вне зависимости от моих попыток его отсортировать, превращая в многомерный массив. То есть, первым будет всегда объект, у которого значение ключа начинается с 0.
serve the servants! Ahhh!!
Скорее всего так проще определить не нуба типа:
9 лет назад он писал на JQ
7 лет назад он писал на angular
и последние пару лет он пишет на react
"Не нуб" у них скорее спросит за эту хуйню. Может это и есть проверка.
>>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
>});
*с АПИ и маленькими буквами вижу выбрал плохой пример в посте, вангую ньюфаги не поймут. на пике на 66й и на 116й линиях лучше видна мысль
а ты почему интересуешься? Хочешь пул реквест им отправить? Или в мейнтейнеры заделаться?
>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
и высказать мудрые советы.
Не, JS сам по себе для пидоров, а тут в пакете пакет с карпом в пакете. Я интересуюсь из любопытства чотамучервей.
Вот это проекции у малолетки ни с того ни с сего.
Эй, пидор, ты-то мне и нужен.
Как наилучшим образом связать реалтайм приложения на ноде и .NET (C#)?
Консольное микроприложение на CLR выполняет свою легаси хуйню, по результатам выполнения должно расшарить некие данные на чтение/запись, а приложение на ноде, соответственно, эти данные читает и пишет. Данные сериализуемые (не бинарные), объем передачи относительно, небольшой.
REST API на шарпе делать не вариант, ебучий SignalR несовместим с SocketIO, остаются MQ транспорты... ZeroMQ?
> REST API на шарпе делать не вариант
Как недостаток шарпа (на шарпе через костыли делаются ресты - ЩИТО?) должен оправдывать нужность другой технологии, связанной с шарпом примерной никак?
>Как недостаток шарпа (на шарпе через костыли делаются ресты - ЩИТО?) должен оправдывать нужность другой технологии, связанной с шарпом примерной никак?
Не совсем понял про нужность другой технологии. Это в отношение ноды было сказано или выбора транспорта передачи данных?
Если первое - то для шарпа есть готовые либы для решения задач, с которыми с на ноде придется поебаться опрос OPC-DA сервера, а нода нужна для последующей обработки данных. Если о втором пункте шла речь - то здесь имеет значение совместимость технологии с дотнетом и нодой, ну и простота внедрения. Ну, что б с кикстарта завелось.
Из сишарпа сри в персистентную очередь. В ноде очередь обрабатывай и обработанные данные высирай в любимую БД.
Спасибо, так и сделаю.
Почему? Это, считай, hash table. Зачем там что-то сортировать вообще, ты поехавший? Ты либо массив делай и сортируй, если по индексам хочешь вызывать, либо вот этот объект и по ключам к элементам и обращайся.
Блять, пидор. Раньше у меня был просто массив [], который я сортировал по значению ключа price внутри каждого отдельного элемента массива чтобы на страницу выводить списки, отсортированные уже по цене от меньшей к большей. Теперь я переписал логику так, что у меня массив [] сменился на объект {} вот надо так и всё тут. А выводить-то на страницу теперь как блять? Никак блять. Если готов предложить какой-то рабочий механизм - предлагай. Если будет работать - отсосу буду очень благодарен.
>Никак блять.
Ёпту, ну отсортируй ты ключи этих объектов по значению price'а связанного с ним объекта. https://repl.it/LzxV
>Что толку-то от этого?
Я тебе показал, как запринитить твои объекты в отсортированном порядке. Ты разве не этого просил, что тебе ещё нужно? В ПАМЯТИ ОБЪЕКТЫ ОТСОРТИРОВАНЫ НЕ БУДУТ, ПОТОМУ ЧТО КОНТЕЙНЕР ВЫБРАН БЕСПОРЯДОЧНЫЙ. Но не поебать ли тебе на память-то? Отсортированы ключи, вызывай объекты полагаясь на этот массив ключей, получишь свои объекты в отсортированном порядке.
Показывай код или иди дальше сам ебаться, я больше отвечать не буду.
Да у него дефектное алгоритмическое мышление. Бесполезно ему что-либо объяснять.
Можно его использовать для создания объекта с тем же конструктором, что и данный:
function Rabbit(name) {
this.name = name;
alert( name );
}
var rabbit = new Rabbit("Кроль");
var rabbit2 = new rabbit.constructor("Крольчиха");
Эта возможность бывает полезна, когда, получив объект, мы не знаем в точности, какой у него был конструктор (например, сделан вне нашего кода), а нужно создать такой же.
А че такой же объект нельзя сделать просто
var rabbit2 = new Rabbit("Крольчиха"); ?
Что то я вообще это свойство constructor, автоматически создаваймое, не могу понять что куда
Обрати внимание: он использует конструктор, обращаясь к инстансу, а не к родителю.
каким функционалом его нужно снабдить чтобы он пользовался спросом?
А если у тебя нет в области видимости доступа к Rabbit, но есть только rabbit, что делать будешь?
var rabbit;
(function(Rabbit){
rabbit = new Rabbit('ololo')
})(function Rabbit(name) {
this.name = name;
alert( name );
})
var rabbit2 = ???
>А че такой же объект нельзя сделать просто
>мы не знаем в точности, какой у него был конструктор (например, сделан вне нашего кода), а нужно создать такой же.
>он использует конструктор, обращаясь к инстансу,
стоит добавить что конструктор лежит не в инстансе, а в прототипе.
проще говоря, когда в коде объявляется функция, под капотом автоматически создается специальный объект. функция и этот объект получают ссылки друг на друга, у функции это prototype, а у объекта constructor
А учил бы джаву, вопросов ‘че такое конструктор?’ не возникало
>А че такой же объект нельзя сделать просто
>var rabbit2 = new Rabbit("Крольчиха"); ?
так вроде будет проблема, если ты что-то изменишь в инстанции крольчихи, то это изменится так-же у инстанции крола, так как эти обе инстанции ссылаются на один конструктор Rabbit
drisnya
ок) на что еще обратить внимание?
Да я прочитал там всё. У меня вообще есть один конкретный вопрос - что нужно познать до изучения js'a? Html там какой-нибудь и css?
>Блять, пидор.
Кто пидор? Ты пидор ёпта.
>готов предложить какой-то рабочий механизм
Нахуй еще дауну помогать.
loc.getKids? Там промис возвращается, это псевдо-свойство модели
Братики, что делает такая конструкция:
return (something );
Чем отличается от обычного return something?
Ничем. Это просто уебанский стиль такой у человека, код на скрине писавшего.
Заглушка для использования внутри скобок comma operator.
Но такое обычно практикуют для fat arrow функций, когда возврат по тернарному условию и ты, внезапно, не хочешь разрушать хрупкую красоту кода, поэтому промежуточное вычисление производишь перед запятой.
JSHint, ESLint, аминь!
Если писалось до spread-оператора, то что в этом такого.
Пик с твоим кодом похож на демотиватор.
На стартовой странице записи 0-20 записей, ты их загрузил, оно их тебе показало. Доскролил до определённого уровня (bottom: -250px;), оно увидело что ты доскролил и выгрузило тебе записи 20-40, опять проскролил выгрузило записи 40-60 и тд. По тому же принципу работает пагинация, но там она видимо на случай, если скрипт со скроллом не прогрузится.
это я заскриншотил видос, это типа препода код
>>1069911
https://webpack.js.org/guides/migrating/#code-splitting-with-es2015 то, что в первом webpack'е было require.ensure
https://webpack.js.org/api/module-methods/#require-ensure
в доках вебпака пишут import().then
а этот тип считает что явное лучше неявного и пишет System.import
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ом погоняет, или на это требуется какое то время на въезд ?
КАК СОХРАНИТЬ СТРАНИЧКУ ПОЛНОСТЬЮ, для воспоризведения её, допустим на локалхосте у себя. Там тонна всяких 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 {...
что значат эти двоеточия?
Это типизация же.
register принимает один аргумент callback, который является функцией принимающей в свою очередь тоже один аргумент payload с типом TPayload и ничего не возвращающей. Сам же register возвращает что-то с типом DispatchToken
нет не нативно.
это реализуют разные надмножества, и языки транслирующиеся в js. Например TypeScript.
Читать надо о том, на чем у тебя пример написан. Где ты его взял - не ясно.
А, уже понял, где взял.
Ну это же facebook. У них и React jsx надмножество js.
Транслируют они потом всё.
В сущности синтаксис типизации вполне как у TypeScript, можешь в его доках порыться
так, бро, а теперь совсем для нубов... это все работает на стороне клиента? что нужно, чтобы браузер это погнимал?
все это транслируется в обычный js, который потом и отдается клиенту. какие трансляторы\компиляторы у флакса, реакта я не ебу. я пишу на ванили. у ts свой компилятор, например. есть babel, для трансляции es поздних версий в ранние. есть webpack, который связывает кучу всего вместе, и еще упаковывает потом продакшен версии. что там у фейсбука за тулчейн я не знаю - гугли. или тут кто разжует, что вряд ли, ибо сегодня стеки этих инструментов столь громоздки, что если ты хочешь писать на хайповых технологиях, то сначала тебе надо выстроить себе окружение и изучить его.
т.е. этом файл скорее всего написан теми, кто сидит за макбуком, попивает смузи и ебется в очко?
Да. Если у тебя проблемы с этим, то направляйся в воровач 1сач, там по понятиям все затирают.
Вопрос цены... если за владением таким нормально платят, то я готов стать смуззихлебом
Есть канвас, по нему хаотично двигаются объекты (не больше 20) 3х типов, которые через 10 секунд после появления исчезают. Если на объект кликнуть, то он исчезает и тебе засчитываются очки. Вообще в этом ничего не понимаю.
еще одну вещь поясни: в том же коде встречается некий invariant... это что?
Меньше, чем за прямую еблю в жопу.
Великий паскаль.
Нет.
Это просто стек. Как во всех остальных языках.
Чтобы писать, например, на Си, тебе надо иметь компилятор, make или его вариации, и еще какие-то вспомогательные утилиты для сборки проекта.
Это тулчейн.
Зачастую, его полностью покрывает IDE.
Но веб - слишком демократичная платформа, и тут кто в лес, кто по дрова. Потому такой хаос. На самом деле он лишь от того, что ты не знаешь на чем именно тебе писать. Просто надо выбрать определенный стек, и топить в него.
Я например выбрал для себя ваниль. Но это скорее ввиду того, что пишу веб уже 16 лет и у меня просто нет времени задрачивать. Да и пользы мне от этого тоже нет. Работы хватает.
>эта вот фрагметарность
Демократия. Во всех остальных средах\платформах\языках всегда есть тот или иной куратор (единоличный или корпорация) задающие темп и направления. В вебе это просто невозможно.
все, пофиксил. Это у меня неправильное условие в цикле.
Это сугубо индивидуально.
Посмотри на вечные холивары между байтоебами и высокоуровневых программистов. Меэжду теми кто дрочит на разного вида типизации. Это все происходит среди тех, кто не умеет в перемены и подбирать инструмент под задачу. А так же переучиваться и изучать новое. Привычка.
Так что, зависит от тебя. Ты можешь стать одним из тех. кто будет кричать тут - кококок ангуляропидоры соснули, риакт рулит. А можешь вырасти здравым человеком.
>А можешь вырасти здравым человеком
но лучше просто признай что аналгулярщики соснули а реакт рулит, тогда вырастешь не просто здравым но и богатым
вью мог стать конкурентом изза лицензии, но теперь когда реакт поменяли на MIT, они соснули. но ты учи. если все будут знать реакт - зарплаты упадут
прикольно, всегда хотел научиться что то делать с такими штуками. А есть более подробные мануалы? Для нубов.
Есть же божественный Tessel. А вообще, нахуй они нужны, когда можно накатить полноценную ноду на распберри.
и в нашей тоже, а этот 2015 собрался учить кек
Ctrl + U
Ctrl + A
Ctrl + C
Текстовый редактор - Ctrl + V
Внутри head добавить <base href="урл страницы">
Ctrl + S
Profit
Без интернетов страница открываться не будет, т.к. будет тянуть скрипты и стили оттуда же, откуда тянет загруженная с сайта страница. Но для экспериментов со стилями/скриптами мне лично хватает.
он спрашивает чем раньше занимался, до того как в этот тред пришел. Кто ты по жизни?
Сори, не тот курс
Вот с этого начинай
https://coursehunters.net/course/javascript_lynda_basic
Читал в IDKJS пару глав, книга не для начинающих с нуля, возьми что-то типа learn.javascript.ru (или Professional JavaScript For Web Developers если хочешь на английском)
Человеческие требования
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.
Что это за пиздец?
Это разве не ответ из твоей же ссылки?
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.
Нет, потому что offsetParent у картинки это div-ка буквально двумя уровнями выше.
Пикрил. И это не неправильный ответ от getComputedStyle функции, эта div-ка действительно static, потому что относительно неё нельзя спозиционировать элемент с помощью left и top, позиционирует относительно body.
Я к тому, что если картинка - статик, то она 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.
Если я правильно понял док.
Ну и в результате оно возаращает ближайший td, не смотря на position.
Тьху ты, точно, это ж ячейка. Спасибо, а то уже крыша ехать начала.
Там ни слова про "ко всем", речь идет об O(n).
Хотя нет, вру, я вспомнил квиксорт. По всем, потому что смотри: на первом уровне рекурсии мы проходим через 8 элементов, на втором, например, на 4 + 4 (опять 8), на третьем - 2 + 2 + 2 + 2 и тп, в сумме по всем подпроцедурам мы все равно проходим по O(n) на каждый уровень. Уровней - log n, потому что мы делим каждый раз массив на какое-то число, суммарная сложность отсюда и получается O(n log n).
Всё равно не пойму, вот смотри допустим мы находимся на этом уровне стека (выделил), опорный элемент 5 и массив с числами которые больше, чем 5 - т.е [6,7,8], на этом вызове стека у нас нет никакого массива кроме [5,6,7,8], поэтому мы выделяем опорный элемент 5 и проходимся по оставшимся трем элементам в поисках меньших и больших значений, т.е мы делаем всего 3 прохода по массиву.
До этого, в рекурсивных вызовах первой половины, мы уже отсортировали её куски, где уже прошлись по всем элементам до пяти на той же глубине стека. Сказать честно, я не совсем понимаю его иллюстрации, на курсере всё отлично поясняется в algorithms, part 1.
Что это за книга?
Ты не путай стек в конкретный момент и весь "стек вызовов", как оно названо на твоем пике (дерево вызовов, так сказать). Стек о котором ты говоришь (и который показан на твоем пике) - одна ветвь дерева от корня до одного конечного листа. Весь стек/дерево вызовов, который получается из вызова квиксорт(массив) - это все такие ветви вместе.
Ок, я нашёл и прочитал. Во-первых, тут про худший случай квиксорта, когда нужно сделать, грубо говоря, 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-тред вообще?
Братики, вот я немного не вкуриваю сути докера. Я пишу на Node.js, какая разница между тем чтобы написать два отдельных приложения, которые будут общаться через порт и написании двух приложений, которые так же будут общаться через порт, но в докер контейнерах. В каком месте мы выигрываем?
Воды написали, но требования простые.
Портируемоесть, изолированное окружение.
Поясняю. Сталкивался с этой пиздой по одному из проектов, которые пилила наша контора для конторы, в которой работала она. Зовут Катя Поршнева. Не знает даже верстку нормально, не говоря уже о ЖС. Купи лучше курс Tyler McGinnis'a, бОзарю.
Катюха-то? На корпоративе один-два бокала игристого и она твоя.
щито делать? можно в жс создавать файлы-классы, которые потом инклудить и вызывать в основном файле, как в пхп? не забывайте, это клиент.
релейт https://john-dugan.com/object-oriented-javascript-pattern-comparison/
жс во истину самый гибкий яп во вселенной
Надо было еще про perl сделать
Что применять для задания размера шрифта адаптивных резиновых сайтов в 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
}
}
Что вставить вместо ОТЦА? Как подняться на уровень выше?
P.S. правильно ли я понимаю, что для использования em в body должен быть прописан базовый шрифт в px. Или всё-таки можно везде и даже в body поставить размер шрифта в em и px использоваться не будут вообще?
Хорошо задать px для body, а при ресайзе окна задавать шрифты в rem.
тогда если у тебя из админки шрифты проставляются, то на мобайлах и прочем они ресайзатятся.
Спасибо большое
Короче как я понял эта хуйня режет весь жс в редакторе движка хтмл. Как я понял нужно фиксить эту строку
extended_valid_elements : "script[type=text/javascript|src|languge|lang],map[],area[],umi:[],input[],noindex[],nofollow[*],iframe[frameborder|src|width|height|name|align]
Но что сделать что бы он пропусак весь жс, и желательно бы вообще все теги хтмл?
valid_elements : '[]',
В смысле у меня конфиг типа
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
как такое сделать?
это было первое что я попробовал, но почему то все картинки кидались в assets вместо assets/img, костыль с дописыванием нужного пути я на гитхабе нашел
ну так в src тебе нужно класть картинки в img, тогда он будет автоматом создавать в dist папку img с твоими картинками
так в том то и проблема, что я так и делаю
src/index.js импортит картинку из ./img/hello-world.jpg
а в итоге она все равно падает в assets
я думал может где то еще регулярка под jpg есть, которая переопределяет поведение, но нифига, где то проебался не могу понять где
разобрался, я еблан
Что за пиздец у тебя со шрифтами? У меня бы же через 20 минут работы на таком глаза вытекли.
ну у меня и вытекают потихоньку, хз дефолтные dejavu sans mono, есть предложения?
У тебя и со сглаживанием и с хинтингом хуита какая-то.
Проще нормальный дистрибутив поставить, где почти всё из коробки будет нормально выглядеть.
Красноглазые времена уже прошли, я не хочу с ним больше пердолится и после обновлений его чинить постоянно. Поэтому беру то, чтобы
> почти всё из коробки
работало и не ломалось так часто.
Насоветуйте либу UI-компонентов, сам реализовывать всякие табы заебусь.
Смотрел в сторону Material-UI, но ведь Материал Дезигн в десктоп-приложении - это совсем зашквар?
нахуй ебаться, когда за тебя уже всё выпердолили, самая адекватная дистра, без хуйни и смс
Материал дизайн в дестктоп-приложении — абсолютно нормальный и легитимный вариант.
А вот десктоп-приложение на Электроне — это страшное зло и преступление против человечества.
> А вот десктоп-приложение на Электроне — это страшное зло и преступление против человечества.
Люто двачую. Только NWJS, только хардкор.
Толсто. Те же яйца, только в профиль. К тому же, гораздо более низкого качества
— Разработчики проекта 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
Толсто. Те же яйца, только в профиль. К тому же, гораздо более низкого качества
— Разработчики проекта 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();
не работает?
скобки это оператор вызова функции
то есть напиши .onclick = numberCheck
>>1072201
скобки () убери в самом конце, функцию же присваиваешь, а не вызываешь
Задрачить самостоятельно я могу, но делать на них портфолио времени нет т.к. работаю. щито делать?
в смысле как, bundle.js втыкаешь в wp-content/themes/name/ и т.д. половина themeforest'a на backbone написана а вторая на react
не совсем, но чтобы писать на nodejs нужно поделать красивые сайтики или имет бэкграунд с другими сервер сайд языками, и чтобы писать на react-native тоже не нужен html/css условно но все равно нужно уметь в реакт а для этого нужно пописать какое то время красивые сайтики
Нужно что бы находило одновременно данные из интервала num1-num2, так и данные где есть num3
{ $and: [ { year: { $gte: 2000, $lte: 2005 } }, { year: { $eq: 2010 } } ] }
Выше конструкция не работает. Что я делаю не так?
блять, фикс
Нужно что бы находило одновременно данные из интервала 2000-2005, так и данные где есть 2010
{ $and: [ { year: { $gte: 2000, $lte: 2005 } }, { year: { $eq: 2010 } } ] }
Но ведь react применяется для SPA и роутинга данных на клиенте, а в вордпрессе роутинг делается на пхп. поясни.
спасибо чувак
Пздц, я просто вижу оператор $or и рядом $and
Ну у меня сразу проводится в голове аналогия с js || &&. Даже читать не стал доки про $or, а зря...
>forEach
очень медленный, юзай for
и как уже сказали, не стоит лепить массиву свои ключи, можешь огребсти unspecified behavior
Дублирую вопрос
На двенадцатой строке определяю свойство конструктора объектов, это свойство само является объектом и метод этого свойства обращается к свойствам родителя. Как мне это сделать?
Создавал экземпляр объекта и в потомке использовал прямую ссылку на родитель по идентификатору. Только так вышло.
>Как подняться на уровень выше?
Никак, объекты в js не дают доступ к ссылкам на себя. У тебя логика построения отношения родительского и дочернего объектов поломана. Оператор фигурные скобки {} создает более "общий" объект с прототипом Object, а ты хочешь, чтобы он был дочерним по отношению к Bread. В таком случае все должно быть наоборот. Либо composition должен расширять Bread, по логике сюда не подходит, либо composition должен сам конструироваться с передачей ему объекта Bread, получая таким образом значение массы для себя.
Он хочет циркулярочку, лол.
По делу - нужно просто метод вхуячить метод в класс, и через него пробрасывать свойства. Ну ты так и сказал, да.
В package.json предлагается указать емайл автора. Если выложу его на гитхаб, он будет распарсен тысячами пидорасов. Если указывать не основной емайл, то придётся следить за входящими письмами.
Какой стул вы выбираете?
Не указывать емайл.
Почему нет, вместо написания очередной борды и бложика с комментариями. Будьте полезны обществу – проект социальный
>Будьте полезны обществу – проект социальный
Знаем мы вас. Пили тех.задание в открытый доступ и жди добровольцев или всяких безыдейных, которые не могут придумать, чего бы такого написать.
Ну или иди в другом месте эксплуатируй детский труд.
Требований не много, у меня на странице будет по сути только плеер, много квадратов с парой кнопок (для выбора чего играть в плеере), и вылезающий откуда-нибудь сбоку скроллабельный списочек набором похожих квадратов. Рендерится всё на клиенте. Данные через уже имеющийся api берутся.
Aurelia
>REST натягивается
пиздец костыли. и собсно ради чего? ради модной строчки "применял реакт для вордпресса"
vue сам недавненько попробовал, просто script src="vue.js" и все тебе доступны компоненты, пропсы, observer'ы reactive data никаких транспайлеров и т.д.
чтоб декларативно вьюхи описывать очевидно же, ну и чтоб с JQ не ебаться если пилишь красивую темку
Есть обычная img-картинка. Пользователь может выделить ее мышью. Как навесить на это обработчик? onselect и onselectstart не работают.
без не ререндерит вьюху. вызывал кидает эксепшон. значит видит изменения. че тогда вьюху сам не ререндерит?
пиздец какого слова чекНоуЧенджес и детектЧенджес англ. буквами в спам листе? ебанутый день
Дай угадаю, 0.1+0.2 сложить не можешь?
Я не всасываю, а что с DOM'oм то в васме. Ясно, что жс можно из Си вызвать, там вроде были примочки. только какой тогда в этом смысл, прыгать-то дорого наверняка
хех. прикольная штука вынуждает писать тебя правильно
никогда больше не вернусь к ванильному жс гори он сука в аду
и че ты лендос с двумя owl-carousel'ями и одним инпутом "оставьте ваш номер" будешь на тайпскрипте писать?
Хотя хули на втором угловом же наверное начнешь его хуячить
Открываешь какой-нибудь крутой попенсурсный проект, все заебись и красиво, потом открываешь свой, а там грусть-печаль. Или я зря накручиваю и надо делать хуяк-хуяк и сами знаете куда?
хуяк-хуяк в пердак
Да, это вроде как плохо, вот ща читаю
https://vk.com/doc8687010_442599268
глянь на страницу 220 глава Reshaping the data, я хз почему он не называет это serialize наверное потому что автор пидор и в начале книги благодарит своего парня лол но по идее для работы с api надо ебашить такие сериалайзеры
ну бля в мухосранской студии не выбираешь, придет дядя "хочу пиздатый сайт как на awwwards пацанам показывать" - пилишь на всем новомодном
а если заказчик пришел с 9 тысячами бюджета на весь проект то Добро пожаловать в 2007.
Годная идея, черт. Только такую обертку надо будет сделать для всего апи, со всеми костылями и т.д, потому как с формой данных проблем никаких. Спасибо.
Написано - "Но на самом деле вы обращаетесь к O(n) элементам на каждом уровне стека вызовов!", уровень стека здесь это одна строка "разложения" этого массива. Если учитывать выделение "опорного элемента", то получается 7 действий на 2м уровне стека, далее углубляемся ниже и нам нужно "прочитать" уже 6 элементов массива. И я не пойму почему здесь идет речь о восьми элементах на КАЖДОМ уровне стека, че за хуйня.
На твоем пике хуйня какая-то написана. N на каждом уровне - это лучший случай. На твоем пике - худший, арифметическая прогрессия, как он и написал.
Объяснил не очень, но по пику будет понятно думаю. Первый объект ("полный", дефолтный конфиг), второй объект (который мы "накладываем" на него, конфиг указанный пользователем) и ожидаемый конечный результат.
Вопрос к более опытным кодерам, сейчас во всех приличных вакансиях требуют знание нормального ООП (не с прототипным наследованием и не в функциональном стиле, а именно то самое эталонное ООП как в Java и C#) и соответственно знание Type Script. Нормальных уроков по Type Script я не нашёл, а что самое главное, нет нормальных примеров реализации паттернов проектирования на Type Script. Стоит ли изучить C# для того чтобы выдрочить эталонное ООП или это можно сделать и на JS не изучая другие технологии? Или лучше ваш_ответ?
Сука, случайно запостил это как ответ к >>1072649 твоему вопросу.
Сама формулировка того что тебе нужно - пиздец сложная. Кто тебя научил так запятые ставить? Это антипаттерн. Так лучше не делать.
Тебе как раз таки и нужно перебором проверять, если есть значение, то оставить как есть, а если нету, то вставить новое с нужного тебе обьекта.
>Кто тебя научил так запятые ставить? Это антипаттерн
Кто сказал?
> то оставить как есть, а если нету, то вставить новое с нужного тебе обьекта.
И каким образом это сделать без рекурсии простым перебором? Если я просто object1.key = object2.key то перезапишутся и object1.key.subkey1 и object1.key.subkey2, а мне нужно чтобы только subkey2 заменился. Соответственно просто менять объект на объект не выйдет, нужно будет по каждому ключу отдельно проверять, а если значение ключа - объект, то этот объект также разбирать по ключу.
Ну да не суть, я смог с горем пополам сформулировать вопрос гуглу.
https://github.com/KyleAMathews/deepmerge
Спиздил писечку и рад.
Я уже с горем пополам сформулировал этот вопрос гуглу -
>Этот тред посвящён главному языку будущего - JavaScript.
>главному языку будущего - JavaScript.
>будущего - JavaScript.
JavaScript - будущее которого мы заслужили. А вообще, охуенный язык, доминирует над всеми языками уже очень долго и будет доминировать дальше.
>JavaScript - будущее которого мы заслужили. А вообще, охуенный язык, доминирует над всеми языками уже очень долго и будет доминировать дальше.
>охуенный язык, доминирует над всеми языками уже очень долго и будет доминировать дальше.
Тред про жабас, а не про Python
>Тред про жабас, а не про Python
Кстати, а с хуя ли на пистон пошла вторая волна хайпа? Уж не из-за машобчика и нейроночек с тензорфловами? Ведь был же пришибленный язычок, который по популярности уступал даже рубям.
Потому что Питон для продвинутых молодых людей, ценящих свое время, синтаксис языка и берущих от жизни все, ведь змеюка user friendly. Пока Java рабы делают приложения на андроид, пока Haskell задроты ебутся со своими функциональным программированием и прочим задротством ,пока Джаваскриптеры создают треды на дваче в попытке оправдать свое говно, Питоногоспода просто и без задней мысли зарабабатывают огромные деньги, попивая коктейл на пляже в обнимку с крутой чикулей. Серьёзно, питон девелопер - это не задротв мятой рубашке, питонщик надевает Yeezy Boost 750 и программирует с модной прической.
Недавно была статистика от stackoverflow, так согласно ней питон активнее набирает позицию в развитых странах, нежели чем в неразвитых. Думаю, это связано с общим повышением самосознания среди разработчиков и созреванием индустрии. Язык уже выбирают не по принципу "гы-гы, все пишут на php и я тож буду". А стараются выбрать наиболее оптимальный вариант под конкретную задачу. Тут и выходит питон на передний план. Язык сочетает в себе простоту, логичность, богатую библиотеку и скорость разработки. Не удивительно, что сейчас можно поставить знак равно между "стартап" и "питон".
Нет. Потому что машобчик и тд. Они там богатые, есть время поразмышлять над всяким. А PHP позволяет заработать на чашку риса Ивану или Джафару.
>Серьёзно, питон девелопер - это не задротв мятой рубашке, питонщик надевает Yeezy Boost 750 и программирует с модной прической.
Проиграл, питономидл, сижу сейчас за компом в труханах и футболке, с недельной щетиной, удаленка хуйли.
JavaScript. Подробное руководство
№ 1011147
Дэвид Флэнаган, 2012
>№ 1011147
читаю u don't know js после кантора
я вылез из очень темной пещеры. а раз ты такой умник че ему не помог?
учебник английского
Да мне блять без разницы худший или лучший случай, я не об этом вообще говорю. Я говорю о том что написано - что на каждом уровне почему-то по O(n), т.е по 8. Но сейчас я вроде бы уже осознал что O(n) это не 8, а просто каждый элемент на каждом шаге стека.
js для хипстеров и недоучек
а 300к/сек как же?
Кстати не понял немного почему "высота" стека при случайном выборе опорного элемента высчитывается как log n (хуево с логарифмами конечно знаком)?
Подразумевается что основание там 2, а длина массива например 8, получается что высота будет равна 3, если мы будем каждый раз делить массив ровно пополам? Т.е грубо говоря 3 - это количество делений массива на половину, пока он "не закончится"?
Это чтобы тупорылая ява макака за доширак могла хоть как-то быть полезна своему господину
даже уебанский flow не настолько омерзителен
я што ебанутый? хочешь верь хочешь нет. работаю с жс больше 8 лет,тайпскрипт лучшее что со мной случалось за все это время
да. и у меня все заработало из коробки под винду. и есть --watch и я легко сделал это все в виде хром-экстеншона, и если что-то неправильно архитектурно мутишь - оно бьет по рукам, и есть ЕНУМЫ ЕНУМЫ БЛЯДЬ о сколько я о них мечтал, всю жизнь смотрел с завистью на сишарперов. а дженерики? блядь сколько в этом слове для меня пацаны не могу вам передать. вообщем я почти 2 года каждый день курил траву, а тут открыл мануал, не выходя из наркотического тумана, все завел во всем быстро разобрался и за пару дней набросал простое приложение под хром и даже только что инжектнул сервис у которого конструктор че-то принимает,поэтому под него пришлось создавать отдельно фабрику. я такого никогда не делал,для меня это просто шок.как же это все удобно и охуительно. многие люди просто без задней мысли работают над решением обычных задач которые перед ними ставят заказчики, но только яваскрипт макака ебется со своим собственным языком и зоопарком инструментов в нему.
а бля и гоу то дефинишен работает ПИЗДЕЦ
хорошо описал, надо идти смотреть.
Под травой норм идет? Тупняк же, зависаешь надо алгоритмом
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 пробелов на отступы с помощью табов. Сейчас в качестве временного хака я накопипастил огромную простыню говнокода (типа два пробела в начале строки меняем на таб, четыре пробела - на два таба, шесть - на три и т. д.), но хотелось бы переписать этот костыль нормально.
>пикрелейтед 2
>
во первых https://regex101.com/r/cLhj3D/1
и посмотри что находит твоя регулярка, если выставить js, а не php
>два пробела в начале строки меняем на таб, четыре пробела - на два таба, шесть - на три и т. д.
Но зачем? https://repl.it/MWYK
>Вопрос: ЧЯДНТ?
У тебя матчится только "^ ", \G в жаваскрипте нет.
изучи выбраный яп до въедчивости, нахуй ты скачешь по языкам как твоя тянка по хуям на вписке?
MEAN
у меня нет тянки(
Возможно, я не совсем по адресу со своим нубским вопросом, но не знаю, где лучше спросить. Я делаю простую игрушку, которая работает в браузере через requestAnimationFrame. В ней есть спрайт, который управляется курсорными клавишами. По событию "keydown" координаты спрайта сдвигаются на 50 пикселей в нужном направлении. Проблема в том, что если клавишу зажать и не отпускать, спрайт начинает ускоряться и очень быстро пролетает из одного конца игрового поля в другое, что нежелательно. Можно сделать, чтобы перемещение на 50 пикселей срабатывало только один раз при каждом нажатии на кнопку, но это тоже не очень хорошее решение. Как сделать так, чтобы спрайт при зажатии кнопки ускорялся, но до определенного предела? При этом нужно, чтобы координаты спрайта всегда менялись с шагом в 50 пикселей, перемещение на другие величины недопустимо.
И что я должен с этим делать? Мне же нужно именно 2 пробела заменить на 1 таб. Твоя регулярка грепнула 6 пробелов, куда мне их девать? Менять на 1 таб? Хотя сейчас подумал - можно взять это решение в лоб и в replace передать функцию, которая будет смотреть на длину пойманного текста. Если длина Х, то меняем на Х\2 табов.
>>1073225
https://repl.it/MWYK/1
Вот зачем. Вероятность такого крайне мала, но всё же присутствует.
>У тебя матчится только "^ ", \G в жаваскрипте нет.
Наконец, спасибо! Теперь я хоть понимаю куда копать. Значит с этой регуляркой могу соснуть хуйцов только и нужно переписывать это как-то, понятно.
Да, в итоге сделал с регуляркой в лоб (как у первого анона) и передачей функции в качестве того на что менять.
https://pastebin.com/1xa2Zrsy
Сап анон, подскажи как можно приостонавливать выполнение цикла?
аlert()
придется имитировать цикл рекурсивной функцией а внутри нее юзать сет таймаут, ты лучше скажи че хочешь сделать, а то вопрос более абстрактный чем песни мутант ъхвлам
В нем только анимашки всякие, данные берутся с сервера (вордпресс). Поэтому вопрос, какую приблуду можно взять, чтобы раскидать куски жс кода по файлам, а потом импортировать их? Как моно сделать это на ангуляре? Там вроде только хтмл код в компонент рендерится.
в общем я делаю запросы на сервер в цикле (до тех пор пока не придет нужный ответ, или пока все варианты не будут перебраны). Делаю запрос, если ответа нет, то жду некоторое время.
в общем да, я так и думаю делать (таймаутом). У меня просто он не работает почему-то в цикле. Так должно быть?
а вот я нагуглил модульный подход в жс
https://habrahabr.ru/post/218485/
и скриптик для разбиения на файлы.
http://requirejs.org/docs/api.html
так можно организовать код? или моднее ангуляр + бабель?
А или ты советуешь просто импорт фичи из ЕС6 использовать, а потом компилить это в ванильный жс?
таймаут в цикле работать не будет поэтому я и сказал придется писать функцию имитирующую цикл. В ангельский умеешь?
https://stackoverflow.com/questions/3583724/how-do-i-add-a-delay-in-a-javascript-loop
> 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.
пиздец ты че партизан? так и не выдал нахуя тебе это надо!
я только пробую и это лучшее что случалось со мной за многие года
За деньги и не такое делают
Это граф зависимостей, а не диаграмма процесса. То есть, например, "я не могу принять душ, пока не проснусь" или "я не могу позавтракать, пока не почищу зубы".
>Вот зачем.
Я всё ждал твоего ответа, уже держал наготове решение :3 Кроме как с функцией такое вроде и не сделать, в жсе даже lookbehind'а ж, блин, нет.
Но я бы вот так красивенько сделал, вместо голого лупа https://repl.it/M0iH
Попал сегодня на такой сайт как hdrezka.ag, попробуйте тоже, зайдите в любое видео, у меня стоит 4 вида расширений для блокировки всякой хуеты, но этому сайту абсолютно на это поебать, тизеры от recreativ.ru спокойно отображаются, как он это сделал?
Подскажите пример простейшего кода на JS для наёбки адблока или что искать и где почитать об этом?
Посмотрел, ничего необычно, кот от recreativ.ru вставлен также как и у всех, но, его не блокирует.
Зашёл, открыл "Ветренная Река". Ни рекламы, ни баннеров, ни тизеров — ничего нет, всё чисто, только фильм. Флеш забанен.
Адблок режет ресурсы по их источнику при запросе, никаким жc'ом ты это не наебёшь, иначе бы уже давно началась гонка вооружений.
Вопрос к более опытным кодерам, сейчас во всех приличных вакансиях требуют знание нормального ООП (не с прототипным наследованием и не в функциональном стиле, а именно то самое эталонное ООП как в Java и C#) и соответственно знание Type Script. Нормальных уроков по Type Script я не нашёл, а что самое главное, нет нормальных примеров реализации паттернов проектирования на Type Script. Стоит ли изучить C# для того чтобы выдрочить эталонное ООП или это можно сделать и на JS не изучая другие технологии? Или лучше ваш_ответ?
Строгую типизацию ещё не завезли. Многие финты которые проделываются в эталонном промышленном ООП, ещё нельзя сделать с возможностями ES6.
>>1073910
Не знаю, может у вас провайдер это фильтрует.
Вот пример на скрине ещё одного сайта который я сейчас нашёл kinokrad.co, как видите в общей сложности включено 4 блокировщика, но реклама всё равно выводится.
Почитав мельком я так понял придумали такую хуету как сервис который наёбывает адблок, прогружая рекламу через прокси чтоли, посмотрите исходный код обоих сайтов, у обоих вначале стоит какой-то зашифрованный код на JS и у обоих есть фалик с названием ads.js, который судя по всему не срабатывает из-за адблока и после чего начинает действовать другой, проксирующий эту рекламу.
Пацаны, попробуйте разобраться, ведь интересная тема получается.
>Пацаны, попробуйте разобраться, ведь интересная тема получается.
Открой консоль, посмотри, откуда именно эти баннеры загружаются, добавь в фильтр блокировок. От адблока не скроешься.
>прогружая рекламу через прокси чтоли
Прокси-хуёкси. Есть адрес — нет рекламы.
>включено 4 блокировщика
Антивирусов у тебя тоже несколько стоит?
Нехуй там учть, лол. Посмотри как интерфейсы объявляю и начинай хуярить
И вот пожалста
https://alexn.org/blog/2017/10/11/javascript-promise-memory-unsafe.html
Ну, скажем, мне надо от 10110 отнять 1011. Мне обязательно их в десятичную переводить? Как-то вот так по пиздоватому:
>var d=(parseInt("10110", 2)-parseInt("1011", 2)).toString(2);
Или можно сразу как-то напрямую с ними работать, без лишних переводов туда-обратно?
Зашел я такой, в приложеньке использовал какой-нибудь WYSIWYG редактор - а дальше что? Перекодировать это дело в html и html хранить в базе? Это правильно вообще?
смотрю я на эти await представляю сколько бы это было промисов, а еще раньше колбэков завернутых в библиотечные функции какой-нибудь asyncjs и волосы встают дыбом
СКОРО РЕЛИЗ ПОЧАНЫ(всем похуй я знаю)
пет прожект же. мне лень
тем временем табсет сервис избавился от необходимости открывать коннекшен к базе данных. это теперь выполняется при инициализации приложения. давно хотел зделоть
> try/catch
>мне лень
пипец ты даун, надеюсь тебя дальше чем кассир никуда не пропустит общество.
я вот только что забросил эту приложуху потому что допилил ее до состоянии когда осталось делать только рутинные запросы к бд и мне наскучило. какие там в жопу трайкечи меньше 400 строк кода суммарно вся ебалайка со всеми конфигами даже. трайкечи ору
я тебе больше скажу, даже такую ебалу надо покрыть тестами, ибо нахуй тогда писать бесполезную хуйню, которую даже стыдно вылить на гитхаб.
дело твоё конечно же
https://medium.com/javascript-scene/the-shocking-secret-about-static-types-514d39bf30a3
пишите тесты долбаёбы и не ебите людям мозг
Вкратце: я мануальщик QA, который хочет в автоматизацию на JS. Осилил половину learn.js.ru, всё норм идёт. Однако знакомые программисты и автоматизаторы грят, шо учебник это заебись, канеш, но сами они учились наскоком, по примерам или откровенно говоря по задачам.
Скажите, дельные ли советы они дают?
И если да, то подскажите, пожалуйста, где я мог бы найти примеры и задачи? Хотелось бы шото в духе, вот есть страница, нужно, там, нахуярить какое-то автозаполнение, какие-нибудь формы ебучие прокликать и т.п.
потому шо я ниче не планировал выливать на гитхаб, а планировал посмотреть устройство анг4
> И если да, то подскажите, пожалуйста, где я мог бы найти примеры и задачи? Хотелось бы шото в духе, вот есть страница, нужно, там, нахуярить какое-то автозаполнение, какие-нибудь формы ебучие прокликать и т.п.
Вечер в хату. Гугли по ключевикам: testcafe, nightmare, jester, mocha, jsdom.
Обязательно найдешь что-то годное.
Спасибо, мил человек!
цсс импорты относительны к директории в которых применяются. хз как это перевести
> 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 что хуево отразилось бы на времени сборки ну и сам можешь представить что было бы если бы он сначала искал в рабочей директории а потом только шел в нод модулс
добра
Есть значит страница, на ней дохрена форм. Нужно к каждой форме добавить чекбоксы, чтобы без клика по чекбоксу кнопка [type="submit"] была disabled, а по нажатию на чекбокс она активировалась ко-ко-ко №152-ФЗ.
Цель:
Фишка в том, что хочется всё сделать минимумом кода (хотя я куда больше времени потерял в поисках этого решения, но чтож, зато опыт).
Проблема:
Не получается передать аргумент, содержащий кнопку [type="submit"].
Вопрос:
Объясните мне, долбошлёпу, почему нельзя использовать элемент массива в качестве аргумента?
Говнокод:
https://jsfiddle.net/dhaea6mp/
Пробую через цикл, но никак. И да, querySelectorAll использую, ибо там в формах полная мешанина в плане ID/тэгов или даже селекторов, а менять это всё влом.
Хочу вкатиться в 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=a7359ff0e18cf1c378d554df4893bf4368a6d33b
https://frontendmasters.com/courses/javascript-basics/
https://frontendmasters.com/courses/good-parts-javascript-web/
А я нищук. Судя по их названию, есть ли бесплатные альтернативы им? Книжки тоже пойдут.
Что-то я даже не догадался там посмотреть. Спасибо.
Спасибо
Ура, наконец то и я могу отвечать на всякие ранее не понятные вопросы в этом треде.
Пожалуй, не буду отвечать, пиздуй на завод.
Перекат >>1074974 (OP)
Перекат >>1074974 (OP)
Перекат >>1074974 (OP)
Перекат >>1074974 (OP)
Typescript — это тот же es6+, только в разы лучше. Нахуй нужен ES6 лучше спросить
Вот это круто. Спасибо
В итоге, удалось найти только The Good Parts of JavaScript and the Web.
Может кто-нибудь посоветовать какие-то годные курсы альтернативные Introduction to Web Development (Tools, HTML, CSS, Javascript, jQuery, AJAX, Node.js) и Introduction to JavaScript Programming?
Игруля в бровзере тащем-то. И вот вопрос, а как разбивать на файлы проектик? Есть аналог инклуда какой-то, что бы написать классов и заинклудиь их в каком-нибудь стягивающем проект воедино файле? Или тупо всё должно быть в самой хатээмэльке подключено, причем в правильном порядке?
webpack, import | require
Это копия, сохраненная 28 октября 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.