Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
СНОВА REACT + meteor ПАцаны, проблема! в метеоре при использовании react-komposer проблема только в одном - когда пытаюсь вытащить из монги коллекцию, реакт выдает чо-то там в ошибке, но коллекция вытаскивается как видно(я ее в консоль.лог засунул) Обычный массив вставляю - все ок,но из монги выдает ошибку
>>714681 если я просо массив объектов передаю, то все норм как видно , но если из монги вытаскиваю, то выдает ошибку(хотя в консоле видно что передается массив, только что потом с этим массивом его в исключение кидает хуй знает
>>714693 >if(subscription.ready()) если я не ошибаюсь эта строчка ждет данные
аноны, а что вообще можно использовать аля meteor-react-data ? как оно меня заебало, вчера мучался с react-meteor-data,решил пересесть, ну вот сегодня весь день ебусь с react-komposer
>>714700 Вообще что то уж очень сыровато как то всё это выглядит на сервере. Какой то набор библиотек, отсутствие какого стандартного набора решений. Есть ли смысол делать перекат с ПЫХА?
Итак, антоши. Хочу написать парсер музыки вэ ка, чтобы загружал все аудио со страницы в клик. Последовательность действий: 1) Создаю локалочку на nodejs; 2) Туда подгружаем скрипк вэ ка JS API; 3) Запиливаем непосредственно скрипт для загрузки (мне еще предстоит узнать, как это сделать) 4) профит?
Посоны, вознамерился стать из JQUERY DEVELOPER ангуляро-макакой. Так понимаю, что читать и писать в БД клиентский джаваскрипт не может. Нужно изучить что-нибудь серверное, что с минимальными потерями времени позволит мне работать с БД и API разных других сайтов. Что посоветуете? есть небольшой опыт в RoR, изучал по книге Хартла, но не совсем понял, как формировать JSON и отправлять клиенту по запросу.
Читаю learn.javascript.ru, DOM, свойства дом-объектов, вся хуйня... Я три главы читаю, забываю что было в предыдущих, когда уже будет годнота, за кторою платят деньги, выпадающие менюшки, свистелки-перделки?
>>714840 Вот откуда вы лезете в клиент-серверную разработку, если даже не понимаете устройства клиент-серверного взаимодействия. А понимали бы, не было бы таких идиотских формулировок >читать и писать в БД клиентский джаваскрипт не может
>>714877 Пиздец вы. Достаточно же просто освоить саму концепцию js. А дальше любое апи любого окружения будь то нода, BOM, DOM, CSSOM или что угодно еще, изучается простым справочником, по ходу дела.
>>714700 MVC - стандарт веб разработки под ЛЮБОЙ язык, будь то нода, руби, пхп, питон, шарп или другое. >>714703 >отсутствие какого стандартного набора решений Что? Express, Passport и другие составляют из себя стандарт. Что тебя не устраивает?
>>715074 Ну-ну. Выучи мне питон (чтоб стандартная библиотека от зубов отскакивала и код писал сцуко идиоматичный), или кресты (уровнем выше обезьяны с гранатой), или скалу/хачкелль.
>>715098 >Кресты или скала - да, сложны Нет, нужно просто понимать лежащие в основе КОНЦЕПЦИИ. Тогда и фреймворки легко идут (нормальные, не наркоманские).
Я, конечно, ретард, но уже час не могу решить простейшую задачу: создать массив со случайными числами и нулевые переместить влево (вправо) с сохранением порядка остальных. с сортировкой все понятно, но она порядок меняет. как это сделать?
>>715140 Ага, забыл что в жс сортировка не устойчивая :( ну вот тебе набросал по быстрому функцию, правда возвращает новый массив вместо сортировки на месте, но дальше думай сам
function zerosLeft(arr){ var zeros = []; var newArr = arr.filter(function(i){ return !i ? (zeros.push(0), false) : true }); return zeros.concat(newArr); }
Короче явапримат вкатился. Нужно вебморду запилить. Бэкенд с рестом есть. Хоть джейсон хоть хмл. Нужно рисовать графики. Чтобы няшные. Чтобы выделением по нему можно было менять время и ставить вычисляемые срезы. Допустим взять ангуляр и наполнять его данными, а чем графики рисовать? Может готовое решение есть или компоненты какие
>>715165 Если ты никогда раньше не работал с фронтом - даже не думай брать ангулар. Будешь пару дней ебаться с концепциями, а потом загоришься и объявишь весь фронт парашей. Неоднократно такое было. Больно уж специфичная штука. Возьми jQuery и нагугли к нему плагинов для графики, по запросу в гугле jQuery plugin charts. Графики случайно не candlestick нужны?
>>715171 Я хз что такое кандлестик. Видимо чото из трейдинга? Мне надо отрисовывать состояние процесса во времени. Хотя графики как на разных трейдерских сайтах я не против взять. Главное чтобы попроще.
А ну и про ангуляр я заикнулся по причине того что не хочется аяксом гонять мегабайты. Лучше чтобы на фронте было отображение моделей и после первичного наполнения дальше работа шла с моделью и лишь в случае изменения границ в сторону увеличения шла догрузка данных
Короче хочется какой то фронтенд с собственным хранилищем данных на клиенте. Ну и обвязкой в виде виджетов. Страничку подложку саму будет обычный jsp генерить, а дальше уже чтобы жс работал
>>715187 Это простейшая задача математики лол. Даже проще пузырьковой сортировки. Лень пэку включать. Но и на скале и на груви и на чистой яве накидать это дело пяти минут
>>715189 лол, js сортировка ебанутая совсем, ибо накидал точь-в-точь - у не меняется ничего. ну то есть сортирует, но не так, как надо все равно. это просто пиздец(
>>715177 С трейдерскими свечами (candlestick) очень геморно. Найти нужный модуль, зменить вид под себя, добавить динамическое изменение - там много сложностей. А вот простой график линей или барами - проще некуда.
Короче, это пиздец какой-то. Знаю, детский сад, но как все-таки в массиве переместить одни элементы, сохранив при этом порядок других? То есть если есть массив, к примеру,[1,0,2,0,3,0,4,0,5], то переместив все нули в начало, получить [0,0,0,0,1,2,3,4,5]? Сколько не пробовал, порядок не сохраняется. Вроде бы нули сдвигает, но хоть один 0 где-нибудь да затесается или какие-нибудь элементы поменяют место не так, как надо. Что делать, я заебался.
Есть допустим SASS, LESS, Stylus и PostCSS. Я раньше использовал LESS, но сейчас решил перейти на Stylus и добавить туда PostCSS. Суть такова, я пишу код на Stylus и после загружаю его через Webpack, использую плагин PostStylus и туда добавляю все нужные расширения мне, которые обрабатывают мой файл стилей и компилирует его в css.
В итоге, я: 1) пишу код на Stylus, который заметно удобнее 2) получаю все фичи пост процессора с обработкой кода через его модули, автопрефиксеры, всякие cssnano
Отсюда вопрос - PostCSS преподносят как замену препроцессорам, почему? Если препроцессоры нужны для удобного написания, а он дает в основном обработку кучей модулей уебанский sugarSS для него в расчёт не берем, это ужас какой-то а не синтаксис
>>715254 В верстка треде сидят ньюфаги, которые все никак psd шаблон не нарежут, а у меня тут серьезное дерьмо с кучей автоматизации и моднявыми фреймворками. Особенно postcss, где надо свои расширения писать. Какой смысл спрашивать о жс инструменте в верстка треде - для меня загадка.
Впрочем, думаю что и тут 99% безработных не смогут ответить на мой вопрос нормально. как обычно
>>715256 CSS - это просто таблицы стилей. ТАБЛИЦЫ СТИЛЕЙ блять. Это цвет кнопочек, не более. Какое это нахуй имеет отношение к программированию? Какой смысл вешать фреймворки на это, если написание CSS занимает меньше 5% от всего времени разработки проекта?
>>715258 >цвет кнопочек А так же шрифты, размеры, анимация, смещения, выравнивание, классы, позиционирование, границы.. С таким же успехом весь веб это не программирование. ЕТО ЖЕ САЙТИКИ НА ЯЗЫКЕ ДЛЯ НАПИСАНИЯ АЛЕРТОВ, НУ ЧТО ТАМ МОЖЕТ БЫТЬ СЛОЖНОГА???. Упоротая утка блять, не тебе решать что есть тру а что не тру программирование.
>>714895 Стандарт то он стандарт, только не стандарт а паттерн проектирования. И если в РНР (Yii/Yii2, Symfony, CI), руби(rails) или пайтоне(django) есть абсолютные соглашения о файловой структуре, о том где какие файли должны лежать, и что в них должно находиться то в отношение ноды я такого не обнаружил, возможно конечно плохо искал. Вот по этому немного не охота вкатываться в новою команду - нужно будет тратить время на обсуждение и утверждение очевидных вещей. Но если этого времени не потратить - будет пиздец.
>>715283 > Стандарт то он стандарт, только не стандарт а паттерн проектирования. И если в РНР (Yii/Yii2, Symfony, CI), руби(rails) или пайтоне(django) есть абсолютные соглашения о файловой структуре Всё, что ты перечислил - фреймворки,на ноде mvc-фреймворки тоже есть. Кажется, самый популярный mvc-фреймворк – sails.js
>>715263 >шрифты, размеры, анимация, смещения, выравнивание, классы, позиционирование, границы Ебать, да вы газетчики просто, не более, инсрументы немного поменялись, добавились новые модели взаимодействия с читателями, и рано или поздно программисты напишут для веб-газетчиков свой кваркэкспресс, останется только мышкой кликать подключая нескучные стили да анимации, лол. мимоизкрестотреда
>>715304 Уже давно есть. Пользуются им мудаки. Потому что верстка на печать, и верстка в код - это разные вещи. В первом случае нет понятия - оптимизицая.
НАЧИТАЛСЯ ДВАЧЕЙ @ РЕШИЛ НАЧАТЬ ИЗУЧАТЬ ПРОГРАММИРВОАНИЕ @ СНАЧАЛА ЧУТЬ-ЧУТЬ ПОЛУЧАЛОСЬ @ ПОТОМ СТАЛО ВСЕ СЛОЖНЕЕ И СЛОЖНЕЕ @ ТЕПЕРЬ КАЖДОЕ ЗАНЯТИЕ ЧУВСТВУЕШЬ СЕБЯ ТУПЫМ ДЕБИЛОМ И ГОВНОМ @ ВСПОМИНАЕШЬ, ЧТО ДО ТОГО КАК НАЧАТЬ ПРОГРАММИРОВАТЬ, ЧУВСТВОВАЛ СЕБЯ ПРОГРАММИСТОМ БОЛЬШЕ, ЧЕМ СПУСТЯ ПОЛГОДА ЕЖЕДНЕВНОГО ЗАДРАЧИВАНИЯ
> meteor create MeteorTest > cd MeteorTest > meteor npm install --save react react-dom material-ui Догадываюсь, что нужно версии пакетов указать. npm может как-то сам это делать, использовать последние возможные пакеты с учетом зависимостей?
>>715452 >т.е. конструктор сработать должен был и у mypizda должна была появится функция Он возможно и должен был, да только конструктора ты не создал. Ты просто создал объект. Затем вызвал его как конструктор. Вообщем хуйни наворотил. какого хуя у тебя такие дебильные названия pizda zalupka, ты шестой класс оканчиваешь?
>>715371 >ТЕПЕРЬ КАЖДОЕ ЗАНЯТИЕ ЧУВСТВУЕШЬ СЕБЯ ТУПЫМ ДЕБИЛОМ И ГОВНОМ >@ >ВСПОМИНАЕШЬ, ЧТО ДО ТОГО КАК НАЧАТЬ ПРОГРАММИРОВАТЬ, ЧУВСТВОВАЛ СЕБЯ ПРОГРАММИСТОМ БОЛЬШЕ, ЧЕМ СПУСТЯ ПОЛГОДА ЕЖЕДНЕВНОГО ЗАДРАЧИВАНИЯ
Двачую это.
Особенно охуеваю от всяких ВРЕМЯ РАЗВОРАЧИВАТЬ УЮТНЕНЬКИЙ БОЙЛЕРПЛЕЙТ, ВРЕМЯ СТАРТЕР КИТОВ, а там: 1) React + Redux + router 2) Node.js + Koa + Karma 3) MongoDB + Mongoose 4) Babel, Gulp, Browsersync, Webpack, PostCSS, GraphQL, Jade, SASS 5) ко всему этому просто ХУЕВА ТУЧА всяких МОДУЛЕЙ
>>715231 >>715224 >>715219 >>715215 Шифты, сплайсы, промежуточные массивы, пиздец. Как будто это всё бесплатно. Если уж олимпиадка, то держите: https://repl.it/CFFx/0 . Задача становится проще, когда вы не нули налево переносите, а когда вы все числа, не равные нулю, направо переносите. Делается это за O(n). Потом за линейное время обнуляете левую часть.
>>715236 У тебя не сильно лучше, алгоритмическая сложность оче нелинейная и оче большая.
>>715534 Тебе уже объяснили, что ты дебил. Сначала присвой значение полю prototype, а потом дёргай уже свойства этого прототипа. Хотя, ты явно не понимаешь, что делаешь. Почитай ещё статьи.
хуянямуйня function Rabbit(name) { this.name = name; }
2) Тут вообще хуйпойми что. Назначаем прототипу функцию. Логически получается что теперь prototype =(равен) animal. Вот как так? Rabbit.prototype = animal;
var rabbit = new Rabbit("Кроль"); // rabbit.__proto__ == animal
alert( rabbit.eats ); // true
тоже самое что и я пишу.
1) Создали pizda = {};
2) Закинули в прототип в ололо - функцию. Тут всё заебок. ololo - это функция. Но не работает pizda.prototype.ololo = function () { alert ('zalupka') }
>>715263 >не тебе решать что есть тру а что не тру программирование CSS теперь тру-программирование. Уже вижу, как появляются написанные на CSS сервера и программируются ардуинки.
>>715263 >Упоротая утка блять, не тебе решать что есть тру а что не тру программирование CSS не Тьюринг-полный -> CSS язык стилей, а не программирования ->ты идёшь нахуй.
>>715509 >алгоритмическая сложность оче нелинейная и оче большая. Ага, да косяк, виновен, ну я же ночью писал, в полусне на автомате, ну и не для себя, лол, про обнуление потом уже мысли стали приходить. Но один хер по скорости шифтам даст пососать. А ты видимо из С или кресто-треда, лол.
То, у твоей пизды вообще нет свойства prototype потому что прототип твоей пизды Object.prototype а если ты свою пизду получил из какого-то другого конструктора, то узнать что у нее там прототип можешь запросив ее прототип Object.getPrototypeof(pizda)
У твоего Rabbit если это функция, в свойстве prototype хранится объект, который будет расширятся, в случае если ты используешь своего рэбита как конструктор. Rabbit.prototype это не прототип объекта Rabbit, это вообще другой объект, который будет прототипом для new Rabbit А у самого Rabbit прототип Function.prototype если не перегружен опять же. Посмотреть можешь через Object.getPrototypeOf(Rabbit)
Короче, мне понравилась эту тема. У меня есть множество сайтов, где мне надо совершать однотипные действия: нажатие кнопок, переход поссылкам, обновление страниц и прочие в таком духе. Все это я так понимаю можно реализовать через адресную строку без лишнего софта. Прошу анона подсказать в каком мне направлении рыть, чтобы понять как автоматизировать повседневные действия на сайтах, как иды кнопок и прочих элементов находить. Изучать полностью джаваскрипт у меня нет желания, только для такой фигни хочу поизучать
>>715627 Смотришь id и классы в браузерном инспекторе. Полностью учить не надо - достаточно базу по DOM и BOM и js базу ты по ходу знаешь, учишь походу дела - вбивая вопросы в гугл - типа "dom перебрать элементы по классу" - если знаешь ингриш - то на стэковерфлоу есть простые вопросы на ответы для нубов. Далее самое годное для напердоливания интернетов под себя - писать расширения для хрома - очень простой API.
>>715648 C реальной задачи. В браузер, которым пользуешь поставь расширение для инжектирования скриптов - типа тамперманки для хрома или грисманки для лисы, туда и пиши свои опытно конструкторские разработки, попутно роясь в справочниках, не стесняйся подсматривать, читать чужие скрипты - это хорошо обучает. На этом можешь и успокоиться, а можешь начать хром экстенжн апи изучать - там куча сэпмплов и всё разжевано - берешь с функционалом похожим на то, что тебе нужно и модифицируешь попутно куря маны - так и научишься. Хотя если тебе чисто работать с DOM а в браузере всё устраивает, больше грисманик тебе не надо будет.
>>715661 Это будет тоже самое, что через адресную строку, только удобнее. Поставь проверь на своем примере, только javascript: убери и задай в расширении парматры для скрипта - типа на каком сайте срабатывать и тп
>>715596 > А ты видимо из С или кресто-треда Ruby/Go-хипстота, в раннем сосничестве не вылезал из ассемблера, ну и олимпиадки гонял в универе, чтобы за мои проёбы не я отмазывался от деканата, а моя кафедра. Ничего особенного, короче.
>>715603 Сортировка. Реализация алгоритма сортировки в разных интерпретаторах JS разная и, как правило, алгоритмы там гибридные, но, в целом, сложность их O(n*log(n)). У меня же O(n), где n — сумма длины массива и количества нулей в нём.
Angular при получении данных через сервис/фабрику автоматически JSON в объект, выдавая ошибку и падая, если сконвертировать не удалось. Как отключить автоконвертацию JSON?
>>715802 Нет, я передаю через JSON, но он не может их нормально прочитать. Если я передаю данные типа {"a": 12} То он при автоконвертации выдаёт ошибку, так как почему то не воспринимает их как строку. Приходится передавать как '{"a": 12}' После чего в получившейся строке отрезать первую и последнюю кавычку и парсить заново.
>>715304 Есть жи, Adobe Muse называется. На выходе получается неподдерживаемое говно с абсолютным позиционированием. Годится только для каких-то йоба-лендингов с графеном, их действительно проще мышкой делать.
Есть масса различных элементов и два возможных состояния у каждого. Нужно, чтобы это состояние рандомно генерировалось и не менялось в течении часа. Состояние каждого элемента не должно храниться в системе, а должно генерироваться по необходимости. Как это сделать? Пока есть идея такая - на основе номера часа и номера дня (чтобы каждый день новое и не повторялось в одинаковые часы каждого дня) и названия элемента сгенерировать случайное число от 1 до 10, если меньше 5 - то первое состояние, если больше - то второе. Но как сгенерировать число на основе другого числа? Или как ещё можно генерировать неизменное состояние (одно из двух), так, чтобы оно было одинаковым весь час?
Приведу пример. Есть элементы А, В, С. И два состояния - 1 и 2. Допустим, в 20:00 часов при запросе их состояние вернётся А-1, В-1, С-2. Если сделать запросы в 20:05, 20:22, 20:45 и так далее, что вернётся всё равно А-1, В-1, С-2. Но если сделать запрос в следующий час, например в 21:03, то вернутся другие состояния для элементов, например А-2, В-1, С-1. Они не должны храниться где то, а должны именно генерироваться. Как такое сделать?
>>715509 >Шифты, сплайсы, промежуточные массивы, пиздец. Как будто это всё бесплатно. Мало есть проектов, где необходимо это учитывать. Памятью можно пренебречь.
>>715404 Мне нравится создавать объекты с названием whateverManager, который умеет то, что необходимо в данный момент. Делаешь калькулятор - хранишь объект calc, типа того. Я не знаю, что там за паттерны ООП применяются в js INB4: var x = {}; //singleton, но я их не юзаю.
>>716113 Вот кстати двачую этого. Сам пока учусь, только недавно дошел до ООП, и еще в смятении, но кажется стиле делает код тупо читабельнее чтоли. Сразу ясно, что вызывает, какие у него методы, что где лежит, что с чем взаимодействует. Но это с одной стороны.
С другой, когда пишешь по этой схеме, такое чувство будто что-то теряешь. Все время так и хочется вернутся к жонглированию функциями, юзанью переменных на полную, прямым колбекам и прочей красоте. Это же так удобно, и по своему красиво, хотя код получается макаронинами, особенно если сравнивать с уютненькими конструкторами.
Так что лучше все таки? Может кто-то более опытный подскажет. Как принято писать ИРЛ?
>>716141 >Все время так и хочется вернутся к жонглированию функциями, юзанью переменных на полную, прямым колбекам и прочей красоте. Это же так удобно, и по своему красиво, хотя код получается макаронинами, особенно если сравнивать с уютненькими конструкторами. > Тебе ничто не мешает это делать через свойства объекта, а лапша из колбеков это однозначный вред, если есть возможность обернуть в промисы хотя бы.
>>716106 Я с тобой согласен, но удивительно, что все как один начали предлагать отвратительные решения. В конце концов, это тот случай, где оптимальное решение ещё и самым читабельным является.
>>715534 Вот тебе копипаста: Ну вот тип есть конструктор function Person(name) { this.name = name; } Мы хотим, чтобы все объекты созданные этим конструктором могли что-то делать, если записать в конструктор что-то типа this.sayHi = function() { alert('Hi, my name is ' + name + '!'); }; то результат будет достигнут, но у каждого нашего экземпляра будет своя точная копия этого метода занесенная в свойство, а копировать одну и ту же инфу объектам которым она нужна - не эффективно. Здесь вступает в дело объект prototype. Prototype - это прежде всего свойство конструктора, а не экземпляра, важный момент. Мы заносим свойства, которые нужны всем экземплярам Person в его прототип Person.prototype.sayHi = function() { alert('Hi, my name is ' + name + '!'); }; и теперь каждый экземпляр созданный этим конструктором имеет доступ к методу: var d = new Person('Dick'); d.sayHi(); Но, важный момент, в самом объекте не появляется свойства sayHi, магия заключается в том, что при создании объекта new Person('Dick'); получается объект вида { name: 'Dick', __proto__: { sayHi: function() {...} } }, т.е. каждый экземпляр получается ссылку на прототип своего конструктора в скрытое свойство __proto__, а при вызове вида d.sayHi(); интерпретатор ищет метод sayHi в объекте d, если не находит его, заходит в __proto__ объекта и ищет функцию там (если его нет и там, то заходит в __proto__ объекта __proto__ и так далее, тип цепочка прототипов). Про то как реализуется наследование не буду писать, потому что шаблонов наследования куча и у всех свои ньюансы. Если понял меня, то перекури соответствующие главы на learn.javascript.ru еще несколько раз для закрепления и потом читай Шаблоны JavaScript из гайда этого треда, там много про варианты реализации наследования.
Аноны, выучил HTML, CSS, основы JS. Дальше планировал учить php, но почему-то мне уже не хочется, так как мне нравится фронтэнд. Так вот что мне учить дальше и где найти работу (можно нонпрофит) для получения практического опыта? Потому что когда у меня есть реальный проект я могу сутками сидеть его делать, а когда просто читаю рандом статьи/книги все время отвлекаюсь и продуктивность обучения крайне мала.
>>716240 'use strict' let a = []; for (let i = 0; i < 10; ++i) { if (!(i % 2)) a.push(i); } console.log(a)
Для range массива сейчас модно что-то вроде этого: Array.from({length: 5}, (v, k) => k); Array.from(Array(10).keys()); Такого способа, чтобы в range динамически без цикла, что-то на ум не приходит.
>>714644 (OP) Почему, когда я присваиваю перменной значение, оно не присваивается? В чём может быть причина? Я что-то слышал, про ссылку, которая сразу же удаляется.
>>716106 Дак вот почему интернет превратился в тормозное говно, а браузерам железо нужно будет скоро как, игрулькам с 3D и физикой. Каждая макака думает что памятью можно пренебречь ведь его то небольшое творение погоды не сделает, в итоге на каком-нибудь фликре грузиться >9к таких вот поделий пренебрегающих макак, пиздос.
>>716268 > Такого способа, чтобы в range динамически без цикла, что-то на ум не приходит. Ага, вот это. "Модный" способ близок к тому, что я и хотел. В учебниках как-то это всё мутно объясняют. Благодарю.
>>716388 Ну вот из-за всяких макак браузер и начинает жрать 1.5+Гб. Мне столько, простите, жалко. А ещё флеш туда вхуярит ублюдок какой-нибудь и всё, процессор тоже в рабстве.
>>716395 1.5 Гб при открытых 200 вкладках. Это не так много, на моем средненоуте 12 Гб оперативы, не вижу смысла ориентироваться на тех, кто не может докупить плашку оперативы на 2 Гб.
>>716409 Нет, не при 200. Это при наличии в браузере ~70, однако именно загружены там максимум 5-15, и ещё много постоянно открываются/закрываются.
>средненоут >12Гб Ну такой себе средненоут. У меня вот на рабочем 4Гб, 5 из которых отжирает система и корпоративный софт. Представляешь, какая это боль в интернете сидеть? инб4: работать надо.
>>716418 Ну это от вкладок зависит. Открыть пару десятков башоргов - никаких проблем. Но 200Мб это уж слишком мало, что-то ты лукавишь. Хром разве не плодит отдельный процесс для каждой?
>>716422 Если проблема будет именно в утечке памяти или тормозах, то это решается при следующей итерации, тратить время на доп. оптимизацию там, где это даст прирост, которым можно пренебречь, не есть хорошо.
Нубский вопрос по реакту: Как рендерить компонент на основе input? Типо есть форма и есть мой компонент который к примеру вводимые символы переводит в верхний регистр.
Если есть анон готовый ответить еще на некоторые вопросы буду безмерно благодарен (с меня пиво если ДС). Можем по скайпу иди телеграмму поболтать.
анон, пилю сейчас модуль на js и мне понадобилось получать selected опцию выпадающего списка при событии change сейчас пытаюсь передать event объект в модуль и уже внутри получить выбранную опцию. вот код.
>>716436 Хочу сделать мини электрон, но наверняка уже есть что-то такое. Может кто-то находил, хотя вряд ли, здесь в основном позёры. Программистов 3 человека.
Приходишь в кантору, которая ищет node.js разраба. Расписываешь какой охуенный сервер можно написать на java. Они тебя нанимают - пишешь сервер на java.
>>716584 Лучше, потому что: - Перформанс: в бенчмарках netty и jetty оставляют ноду глотать пыл. - Библиотеки: испытанные в проектах гугла и амазона библиотеки Apache, вместо васянский поделок с npm. - Девопс: JVM изначально более прозрачна для мониторинга и позволяет распространять приложение в виде одного большого jar-ника.
Допустим есть приложение из блоков: шапка, контент, футтер. В целом все 3 блока зависят от текущего адреса, но адрес может менять так же текущее состояние контента (например контект содержит компонент с табами и при переключении табов меняется адрес, чтобы сохранить стейт при обновлении страницы), не изменяя остальные части приложения.
Собственно вопрос знатокам: как лучше организовать подписку на изменение адреса? На сколько я понимаю идеалогия реакта в том чтобы просто каждый раз вызывать рендер глобального компонента, а дальше реакт сам разберётся что менять в DOM, но как бы редер всего дерева компонентов нихрена не бесплатный же, и полне может занять ощутимое время, и видится мне это не очень хорошо когда нужно поменять только один небольшой фрагмент контента.
>>714644 (OP) Извиняюсь заранее за бан в гугле: я вот знаю немного яваскрипт, немного сиквел, хтмл+ксс, естественно. Как мне вместе это объединить? Допустим, я пишу приложения на скрипте где нужно сохранять результат в sql, как мне это реализовать? e.g. например какая-нибудь ответ к которому можно будет вернуться?
>>716612 >но как бы редер всего дерева компонентов нихрена не бесплатный же
Не занимайся преждевременной оптимизацией, по-настоящему дорогая операция - это работа с DOM браузера. Но именно до настоящего DOM доходит только то, что на самом деле изменилось, никакого полного перендеринга нет на самом деле, Риакт писали умные чуваки — будет сравнение нового и старого VDOM (JS это делает шустро), и применение только diff'а. Если ты не наговнокодил в своих render-методах, все будет гуд.
>>716678 > Если ты не наговнокодил в своих render-методах, все будет гуд. Приложение может быть большое, в тысячу компонентов например, на каждый компонент создаётся объект, это всё рендерится, подменяются стили чем-то вроде react-css-modules. Короче есть подозрение что 500+ мс на всё про всё уйдёт.
>>716726 Что ты больше любишь - когда всё готовое из коробки, но ничего не изменить, или когда конструктор и ты собираешь идеальный вариант для себя, но тратишь время?
котаны, такой вопрос, есть один Object, мне нужно отслеживать состояние и исходя из изменения значений выполнять некоторые функции есть нормальный механизм для этого? гуглится Object.observe но он пишут мёртв
>>716951 Во что лучше сразу вкатится в JS? Я себя знаю, лучше смотреть видео уроки, повторять за автором и пытаться разобраться в коде, чем читать теорию и нихера не понимать. Так пистон выучил.
>>716959 Берешь любой видеокурс на рутрекере крупный. Есть жс буткемп 10гб, где пишут фронт и бек на ноде, тренер годный, он сейчас в юдасити работает.
Есть ещё хтмлакадеми интенсив, не смотрел, но вроде хороший. Для теории хватит на 95% Кантора и mdn, там очень годно всё описано и без воды. Качай любой из этих и смотри ресурсы, покатит под пивас.
Блять я читаю этот learn.javascript и у меня возник вопрос, единственое что я вынесу из этого учебника это знания что такое DOM-дерево, а все для сайтов прийдется писать на jquery? Может сразу паралельно дрочить juery?
>>717047 А есть что либо по типу задачника, только для реалных задач, а то эти переборы массивов меня и питоне заебли. У меня с каждым языком так, начинаю учить, синтаксис выучу, напишу пару хеловордов, все пизда, бросил. Я только в пару макетов сверстал, вот и все мои законченые поекты. Или накидайте задач с которыми сталкиваються реальные разработчики.
>>717165 Нахуй мой макакокод в опенсорс проектах? Мне бы найти команду где бы я получал опыт работая бесплатно, но если что мне б подсказали где делаю неправильно и т.д.
>>714644 (OP) >jstherightway.org - Огромный англоязычный гайд. Есть книги, статьи, список фреймворков и многое другое. По сути, этот текст - краткий аналог этого гайда. ОП ты в курсе что по ссылке из фака похаканый сайт?
анон, такой вопрос по тегу select. Как вызывать обработчик события даже в том случае, если выбранная опция не поменялась? https://jsfiddle.net/jwzvh5x2/ вот тут по дефолту выбран 1 вариант в списке. Как сделать так, чтоб обработчик вызывался, если я ткну на список и оставлю 1 вариант выбраным?
>>717510 Ну ему нужно другое поведение. Я ему написал другое поведение. Он не просил другую разметку. Потом тут ты добавляешь логики для бекенда, которая ему нахуй не нужна. Надо еще выводить лишний тег. Может у него уже есть компонент который распечатывает селект, его придется менять. Если ему понадобится чтобы скрипт срабатывал после того как он 2 раза подряд выберет "2". >их для этого и придумали Не для того их придумали, чтобы ими все засирать. У него в этой модели данных 4 опшена, ты предлагаешь добавить пятый костылем. >>717514 Нихуя же по сути не меняется. Смысл этого события в изменении.
>>717538 твой вариант не слишком хорош, ибо работает крайне избирательно. Например, в хроме, обработчик не вызывается, если его навесить на option. Даже если в option прописать класс/id и навесить обработчик на этот класс/id то он всё равно не вызовется
Как изучить ваш сучий ес6? Я устанавливаю какой-то react-2020-smoothy-starter-kit, запускаю эту хуиту, вижу что оно работает и... всё, нихуя не понимаю как. Раньше я горел от тупости жабоскрипта, теперь от сложности. 2 года назад всё было уже не так ужасно, но достаточно просто. А сейчас это какой-то зоопарк пакетов с названиями одно охуительнее другого.
>>717556 Я нихуя не понял. Как связаны es6 и какие-то "сложные" библиотеки? И нахуй тебе его "учить"? Ты это говно все равно не будешь использовать. Всякие там операторы типа let, будут еще лет 5 некроссбраузерны. А методы массивов все уже очень давно есть во всяких андерскорах и лодашах и работают там быстрее нативных.
>>717568 Просто хочу начать фронтовый проект на новых модных технологиях, а чет нихуя не выходит, даже не знаю с какого краю к этой куче подходить. Ощущение такое, что надо бы самому этот starter-kit собрать, чтоб разобраться че куда.
Поставил нетбинс. Зашел в вкладку настройки Html/js И охуел bower,grunt,gulp,karma Суука ? что это за ебала? это ВСЕ нужно или одно из них? Нахуя такая мешанина тулзов???
>>717608 А ну тогда конечно же Ероху бери. Его не надо изучать в отличие от этого говна для хипстеров. Вот серьезно там весь стак либ "бери и используй" нахуй вообще кому-то эти ангуляры нужны. Ах да, гугл пиарит.
>>717621 Соурсмаппинг, транспайлинг, компиляция ts, склейка, минификация, юнит-тесты, е2е-тесты, вся эта шелуха. Если до сих пор про них не знал, значит нет кейса для применения, а значит не нужны.
>>717629 Ну чтоб не писать, очевидно же. Мне нужно запилить всё как можно быстрее, поэтому нет времени на написание компонентов для рекапчи, сокетов и всяких пагинаций
>>717603 Не в этом дело, как-то негоже в 2016 году вьюхи закрывать. Пришло время закрывать вьюхи! Вьюхи сами не закроются. Закрой их, закрой их ещё раз.
var posts = document.getElementsByClassName("post-wrapper");
for (var i = 0; i < posts.length; i++) { var answerQuantity = posts.getElementsByClassName("ABU-refmap")[0].getElementsByTagName('a').length if (answerQuantity < 1) posts.hidden = true; }
Ты СОВЕРШЕННО не понимаешь в чем суть JavaScript. JavaScript это не раби «о, привет чуваки, зацените я слепил три гема и получился блог, гыгы». JavaScript это не псевдофункциональный код питона. JavaScript это не C#, Джава или ПХП. JavaScript это язык, на котором люди могут побыть программистами-творцами — ужасными, поехавшими, ненормальными чудовищами, которыми они на самом деле и являются.
Добавили промисы, а мы смеемся. Присыпали сахаром прототипы и назвали классами, а мы смеемся.
Три тимлида прыгнули с крыши 16-этажного дома, взявшись за руки после попытки разгрести код с тридцатикратной вложенностью, а мы смеемся и просим еще. Промисы, колбэки, асинки/авайты — мы смеемся. Модульность, асинхронность, непрерывная интеграция, юнит-тестирование, key-value хранилища, два десятка фреймворков на любой вкус — мы смеемся. GitHub позволил писать приложения на десктопе, запихивая в каждый хеллоуворлд отдельный браузер — мы смеемся. Мы бездушно подпишемся под чем угодно, наши предпочтения не основаны на здравом смысле, бесцельные споры — наша стихия, мы — истинное лицо современного IT.
Знаете, я сегодня выходил покурить где то в час ночи на улицу. Спустился. Темно, но людей довольно много - быдло бухает где то дальше, в темной части двора, какие то тни ходят. А воздух теплый-теплый. Такой, каким должен быть. И ощущение такое стало, что этот воздух - он близкий и родной. До этого была какая то злая фальшивка, а теперь он стал какой всегда был, пока его у тебя не отняли. Настоящий. И хоть ночь была, но вокруг всё было белоснежно яркое - не лживым солнечным светом, а настоящим. Это как настоящий полдень. И фонари с короткими лучиками света далеко тянулись. Небо неразличимое, свет похожий выхватывал только части громад домов. И я понял, что дома живые. Если приложить щёку у дому, то покажется, будто он неподвижен. Это неправда. Если содрать рукотворные картонные оковы со стены и. прижаться к камню, то можно почувствовать, как дом дышит. Стены не монолитны. В них много отверстий, зазоров и другого. Дом втягивает в себя воздух всем, чем может. Долго, часами, иногда сутками. А потом тяжело выдыхает, выбрасывая на улицу переработанный воздух. Это и есть тот воздух, который так близок нам - плесени на куске камня в космосе. Мы сами создали тех гигантов и вступили с ними в сиимбиоз. Зимой мы греем их изнутри, поддерживая в них дремлющую жизнь, как в цветке. А летом солнце нагревает камни и гигант начинает дышать. Воздух постепенно меняется, и вместе с ними расцветаем мы.
>>718179 >>718179 > Зимой мы греем их изнутри, поддерживая в них > дремлющую жизнь, как в цветке. > А летом солнце нагревает камни и гигант начинает дышать. > Воздух постепенно меняется, и вместе с ними расцветаем мы. Вы только что прочитали типичную картину мира динамикобляди.
>>718323 У вк сокеты на ноде, кстати. Насчет дигга не знаю. На го пишут очень узкие места. Вроде сервера нотификаций. Который написали и 5 лет не трогают. А сам вк или дигг писать на го - это нужно быть отбитым, потому что очень нерационально.
>>718333 Пуш уведомления на го переписали Ясен хуй что писать все на го не получится.
По поводу узких мест - soundcloud тому пример обратного. Самые узкие места можно и на сях с растом писать. На js разве что фронтенд и то, что этому фронтенду рендерит шаблоны. Вот у нас на фронтенде джанга, а высоконагруженное ядро на го.
Я вообще не понимаю, как вы пишете асинхронный код, это же пиздец неудобно по сравнению с го. Зато на го хуй напишешь gui и я себе сейчас ломаю мозг над этой проблемой, тут уже js больше подходит.
>>714644 (OP) Как в реакте добавить свойство какое-то в элемент? Ну, чтобы не делать во время лоада каждый раз document.getElementByID('id').huita = 'huita'
>>718557 По-моему, всё довольно логично. У массива toString жоинит его запятыми в строку. + вызывает toString массива. Пустой массив превращается в пустую строку. Сложение двух пустых строк - пустая строка.
Пиздец, вы тут все ВКАТЫВАЕТЕСЬ что ли, хоть кто-то реально работающий есть? Задал простейший вопрос, не ответил даже про существование или не существование такой возможности никто.
>>714863 Вообще никогда не писал на javascript, приняли на работу, всё норм. Ни одной книги не читал вообще по нему, язык для долбаёбов, после с/c++ это просто какие-то кубики. Единственное что ебёт, так необоходимость дохуя всего изучать, не важно как это устроено, главное разобраться как пользоваться.
Почему, когда делаешь запрос вроде этого [code] $.post('/method', '{}', null, 'json'); [/code] то на стороне сервера в Content-Type всё равно стоит multipart-form-data?
>>718819 Нене, ты не понял. Или я не понял. Вот есть на сайте кнопка загрузить файл. Мне как-то нужно через js сделать так, будто она кликается и выбирается файл.
>>718842 Да я на петоне и спайнере пишу приложение, нужно как-то заполнить input type="file". Эмуляция браузера есть, думал через сонсольку браузера будет довольно просто заполнить этот input. Файл в папочке, естественно.
NPM WARN OPTIONAL SKIPPING FAILED OPTIONAL DEPENDENCY /CHOKIDAR/FSEVENTS: NPM WARN NOTSUP NOT COMPATIBLE WITH YOUR OPERATING SYSTEM OR ARCHITECTURE: [email protected]
>>714644 (OP) Всем привет, объясните пожалуйста что такое ES6? Что вообще за ES такое? У кого либо есть план обучения, может кто-то составлял для себя? В принципе мне интересен node.js, но хотел бы взглянуть на любой план обучения, если кто-то поделится, Спасибо вам!
Аноны, что-то я не моуг понять. Разобрался с реакт, начал вкатываться в архитектуру FLUX, наваял по гайду мини приложение, шаг 1-2 понятны, понятно откуда берется изначальная инфа для рендеринга на страницу но есть неразрешимые вопрсоы: 1)как задействованы диспетчеры? 2)Откуда берется аргумент payload с пика 3) Стоит ли юзать redux заместо flux?) 4)доп.вопрос объясните на пальцах как рбаотает ебаный dispatcher ссылка на код https://github.com/Laconty/very-simple-rest-api-node.js/tree/master/app
>>719339 Ну вроде знаю, так в чем ж дело? >>719363 посоветуешь что практичного ? сраный learjavascript прошел, freecodecamp осилил(кроме проектов последних ), еще несколько книги прочитал/пролистал, толку как видишь.. расскажи как подтянуть знания , обосрать я и сам себя могу
>>719380 Отбой, я понял всевопрос и вправду очень тупой , сори функция передается как аргумент, регестрируется в объекте listeners c уникальным id, и затем при любой функции вызванной в actions вызывается dispatch который проходит по всем зарегестрированным через dispatch.register фугкциям
Котаны, уже давно (пол года, чуть больше) упорно учу JS, прошел и прорешал learn.javascript.ru, сделал кучу задач начиная с нубского курса codeacademy, заканчивая калькулятором и прочими велосипедами для сайтов (сам писал слайдеры, функционал, логику). Вот нынче еще получаю бакалавра по ит-специальности. И меня берет какое-то отчаянье - кругом требуются JQuery-"программисты", и люди-оркестры со знанием пхп. Может это только в моем мухосранске так? Куда мне вообще метить, на какую позицию? Тупо верстаь не хочется, хочется именно программировать на JS сложные и интересные задачи. Хотя верстать я тоже умею - пять макетов разной сложности сверстал, адаптивность, автоматизация, умею читать и понимать документацию всяких npm-пакетов. А вот пыху, JQury, Bootstrap и все прочие вообще пока еще не трогал. Стоит или нет?
есть у меня две либы pixi и metter, одна рендерит, вторая обсчитывает. да, я нуб игродел. объекты обеих либ имеют одинаковые по смыслу, но не всегда одинаковые по названию поля. желаю не заниматься в каждом фрейме копированием данных из объектов энджина в в объекты рендерера, хочу накрутить множественное наследование, то есть создать пустой прототип, примешать к нему поля прототипов объектов обеих либ и кормить обе либы получающимися объектами.
проблема например в том что в одной либе угол это angle, а в другой rotation. объект, полученный в результате смешения получит оба поля. как сделать так, чтобы при обращении к этим полям объекта (при скармливании либам) через эти имена эти либы (и не только они) обращались к одним и тем же данным?
>>719597 какой то счетчик эвентов ?? потому что я заметил как он меняется на 10 при запуспе скрипта, и кажду. секунду/пол увелчивается на 1 Так чё это?!
Пилю сайд-проект, нужен бэк с бд, особо тратить время на изучение нет, так как основной упор на react+redux на клиенте, подскажите самый быстрый и минимальный способ развернуть бэкенд, есть что нибудь проще и быстрее (в смысле разработки) чем nodejs+express+mongo? Видел несолько backend as a service, firebase, backendless - но похоже я с ними буду разбираться дольше, чем с самописным бэком.
>>714644 (OP) привет, котаны, установил MongoDB, но не получается запустить. Не видет хост и переходит в ожидание. Первая строка выдаёт hotfix kb2731. Как быть?
>>719814 В экшенах как-раз таки нужно это делать, только нужно сделать миддлварю redux-think, чтобы можно было экшены в виду функций прокидывать, вот там и делаешь что хочешь.
>>719728 А, он 10 раз выводит 10... Это потому что сначала отработает цикл, а потом, из-за задержки сработает вывод? Но почему тогда 10 раз, а не один?
Ребята, привет. Помогите обучающемуся нубу разобраться с несколькими моментами:
1) Правильно ли я понял, что объекты хранятся в массивах в виде указателей на них, допустим есть массив объектов вида: var a = [{n:0, s:"_"}, {n:42, s:"'"}, {n:9000, s:"^"}]; Допустим удаляем второй элемент, чтобы закрыть брешь, будет ли достаточно операции a[1] = a[2], или нужно в цикле for in по ключам копировать?
2) Абсолютно ли нормальна операция укорачивания массива изменением length, или это какой-то полулегальный хак?
3) Правда ли что проводится подобная оптимизация памяти в JIT компилерах: допустим объявляем массив в 20 миллионов элементов, задаем значение первому и последнему, реально памяти выделится лишь под два элемента?
4) Верно ли, что чтобы освободить память занимаемую элементом в массиве в случае примитива ему достаточно присвоить undefined, а в случае объекта null?
>>719956 Я как ньюфанчик понимаю так: при five++ из-за постфиксной формы отобржается изначальный контекст - пятерочка, а потом меняется на 6. Когда контекст поменялся то в новом контексте (шестерочки) нет свойства wtf - поэтому underfined.
>>719986 Только заметил что там есть второй раз underfined Наверное, происходит потому, что после five++ наше five стало не объектом, а числом, поэтому свойство wtf записать не удается
необходимо реализовать менеджмент длительности сессии в т.ч. и на клиенте. как вам идейка использовать такой механизм: 0. запускаем таймер (секундный), который: 0.1. вытягивает из localStorage объект, назовем его никак. в нем будет храниться оставшееся время для логаута пользователя (0.1.1. если объект undefined, инициализуем его. если нет - устанавливаем время в исходное) 0.2. декрементируем значение на один, схороняем объект 0.2.1. проверяем, вышло ли время. если да - то..ну это уже неинтересно. если нет - ну значит нет еще
насколько такой подход хуесосный? localStorage из-за того, что приложение многооконное, ясен красен, и чтобы не возникло ситуации, когда в одной вкладке все нормально, а вторая уже вылогинивается
Нашел https://github.com/mgechev/angular2-seed Может кто-нибудь сказать, как правильно сделать task для gulp, который будет собирать в продакшен без этого сида?
>>720120 Тут кококойто даун завёлся, всем охуительные советы раздает с видом знатока. Точнее он здесь уже давно, детектится по агрессивной манере общения и изобилию мата.
>>714644 (OP) Книги в FAQ расставлены по возрастанию хода обучения? Т.е в самом начале первую (совсем для новичков) потом вторую и так далее (первый раздел). Или там совсем всё рандомно?
Анон, помоги новичку. Нужны вкладки на js/query с одной особенностью, нужно чтобы кнопки и контент находились в разных блоках. Нужно сделать сайт не большой по нагрузке, но большой по кол-ву информации и я решил не делать кучу мелких страничек, а сделать все на одной используя вкладки в навигации.
В общем, я отстал от жизни года на 2-3. Застал хайп вокруг ангуляра. С ним все понятно, его пиарил гугл и у слоупоков и ньюфагов не видевших никогда нокаут, он вызывает вау эффект. Да и нокаут слишком лапшеобразный, понятно почему не взлетел. А реакт-то что за хуйня вообще и нахуй он нужен? Вот я гляжу примеры, какое-то говно не похожее даже на кофескрипт. И в рекламке пишут "simple". Нихуя не симпле. Покажите какой-нибудь пример и не туду лист, который бы делался в реакте проще чем в том же ангуляре или вообще без библиотек.
Тупой вопрос. Я в программировании полнейший нуб, но мне нужно написать юзерскрипт для одного сайта. Как мне (относительно) быстро это сделать? Что нужно для этого изучить?
Захотел на досуге заняться js, решил делать простенькую игру с мультиплеером. Вот я начал с того, что посмотрел несколько книжечек и видео о node.js, но теперь вопрос: Как организовать передачу данных в RT игре? Передавать информацию о статусах всех обжектов или только то, что изменилось с последней отправки? Сделать в клиенте функцию, которая перерисует динамические элементы? Как лучше взяться за примитивную графику типа бегающих кругов ? Как сделать так, чтобы было несколько игровых комнат?
>>736415 Это жабоскрипт по сути. Установи tampermonkey, создай в нëм новый документ, он будет с базовой разметкой, в которую нужно дописать желаемые сайты в include и желаемые библиотеки в require. Там много всего, можно поиграться с этим. После этого всего пишешь как обычный жабоскрипт, который запускался бы на тех страницах, которые ты указал.
может есть у кого годные гайды или статья, какая, для создания динамической галереи в json на подобие такого http:// avachara.xcom /avatar/ ну блоки и с этих блоков, чтобы в другие перехерачивать, я новенький, так что говном не закидывайте.
Анон, спаси ньюфажку. В программировании недавно совсем, никак не могу разобраться со статическими и фабричными методами. Что это вообще такое? Зачем нужно? Как работает? Кинь годную статью, кроме http://learn.javascript.ru/ (как раз описание отсюда и непонятно), можно на енглише.
Сап, аноны, не бросайте в беде. Пишу юзерскрипт для днищеработки. Имеется 2 вида инпутов: text и checkbox. Загвоздка в том, что input type"text" по дефолту disabled и активируется по клику на input type"checkbox". Нужно как-то сделать клик по чекбоксу, который бы активировал input type"text". Может показаться глупым, но ебусь с этим уже второй день, до этого только классы в жс создавал. Есть строчка, в которой чекбоксы проставляются как checked, но input type="text" все равно залочены: http://pastebin.com/hbA3ucRN . Ссылку на веб-страницу дать физически не могу, ибо вход на сайт только по сертификатам.
Котаны, помогите ньюфажечке. Есть ли какая-нибудь статья(набор статей, книга, не важно)-общий ликбез по веб разработкам? Что за фреймворки, как работает хостинг, как работает фронт енд и бак енд и т.д. С енглицким разберусь, был бы годный стафф.
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Часто задаваемые вопросы:
https://github.com/xxxwww/js-thread/blob/master/Wiki/faq.md
Список материалов для изучения:
https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.md
Список инструментов и направления JS-разработки:
https://github.com/xxxwww/js-thread/blob/master/Wiki/tools.md
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.