Это копия, сохраненная 7 мая 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Этот тред посвящён главному языку будущего - 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/ для серверного кода.
Что за хуйня на 4ом пике? Ангуляр вышел в 2010.
Тут про второй ангуляр
ПАцаны, проблема!
в метеоре при использовании react-komposer
проблема только в одном - когда пытаюсь вытащить из монги коллекцию, реакт выдает чо-то там в ошибке, но коллекция вытаскивается как видно(я ее в консоль.лог засунул)
Обычный массив вставляю - все ок,но из монги выдает ошибку
Что-то не рендерится. Может ты какую-то хуйню передаешь в компонент вместо данных. Или данные в неправильном виде
если я просо массив объектов передаю, то все норм как видно , но если из монги вытаскиваю, то выдает ошибку(хотя в консоле видно что передается массив, только что потом с этим массивом его в исключение кидает хуй знает
>if(subscription.ready())
если я не ошибаюсь эта строчка ждет данные
аноны, а что вообще можно использовать аля meteor-react-data ? как оно меня заебало, вчера мучался с react-meteor-data,решил пересесть, ну вот сегодня весь день ебусь с react-komposer
Вообще что то уж очень сыровато как то всё это выглядит на сервере. Какой то набор библиотек, отсутствие какого стандартного набора решений. Есть ли смысол делать перекат с ПЫХА?
> Есть ли смысол делать перекат с ПЫХА?
Если не знаешь зачем делать перекат, то точно нет смысла
1) Создаю локалочку на nodejs;
2) Туда подгружаем скрипк вэ ка JS API;
3) Запиливаем непосредственно скрипт для загрузки (мне еще предстоит узнать, как это сделать)
4) профит?
Только идиоты юзают ограниченное open api
Используй свободу standalone api с прямой авторизацией притворяясь официальным клиентом
Ладно, я уже загуглил. Примерно понятно стало. Спасибо.
И как ты интересно подразделяешь приложения взаимодействующие с удаленным сервером, на десктоп и недесктоп?
есть небольшой опыт в RoR, изучал по книге Хартла, но не совсем понял, как формировать JSON и отправлять клиенту по запросу.
Толстяк.
Вот откуда вы лезете в клиент-серверную разработку, если даже не понимаете устройства клиент-серверного взаимодействия. А понимали бы, не было бы таких идиотских формулировок
>читать и писать в БД клиентский джаваскрипт не может
Нет
По какому делу?
Я могу тебе сказать, что клиентский js прекрасно пишет в клиентскую БД, и читает из нее же, прекрасно.
А из твоего вопроса
>позволит мне работать с БД и API разных других сайтов
следует, что ты еще даже не jquery макака
Ухпди из программирования. Ты тут не нужен.
я до событий 4 месяца шел, а ДОМ объекты дрочил где-то месяц точно
сейчас ощущаю себя на пикрелейтед и это только начало
Пиздец вы.
Достаточно же просто освоить саму концепцию js. А дальше любое апи любого окружения будь то нода, BOM, DOM, CSSOM или что угодно еще, изучается простым справочником, по ходу дела.
Это приходит после энного языка программирования и после эмной технологии, скорее всего.
мимопроходил
MVC - стандарт веб разработки под ЛЮБОЙ язык, будь то нода, руби, пхп, питон, шарп или другое.
>>714703
>отсутствие какого стандартного набора решений
Что? Express, Passport и другие составляют из себя стандарт. Что тебя не устраивает?
Неплохо. Только сделай, чтобы не нужно было ставить А, а @ ставилось между каждой строчкой.
написал в утонувший тред
>У тебя там Date object, в строку его переведи, потому что так реакт его так не нарисует
2 дня мучался, спасибо тебе, анон!
Чувак, концепцию ловить можно годами. Что писать и что учить что бы на работу взяли?
Ничего, пока концепцию не постигнешь.
Зачем ты нужен такой, не мыслящий, а лишь гвозди забивающий?
а это классная идея, ща обмозгую
Наоборот - разобраться в веб технологиях (HTML, CSS, протоколы) гораздо сложнее, чем выучить +1 язык программирования.
Ну-ну. Выучи мне питон (чтоб стандартная библиотека от зубов отскакивала и код писал сцуко идиоматичный), или кресты (уровнем выше обезьяны с гранатой), или скалу/хачкелль.
Вот этому ведро чаю. Это какой то клубок яростно ебущих друг друга технологий.
Если знаешь Си - за неделю можно. В вебе сука каждую неделю новый фреймворк появляеться.
Так и js/css/фреймворк можно за день. Чтоб писать нормальный код шо ту хуйню нужно долго надрачивать, что эту.
>Кресты или скала - да, сложны
Нет, нужно просто понимать лежащие в основе КОНЦЕПЦИИ. Тогда и фреймворки легко идут (нормальные, не наркоманские).
нулевые влево:
arr.sort(function(i, j) { return !i ? -1 : !j ? 1 : 0 })
нулевые вправо:
sort(function(i, j) { return !i ? 1 : !j ? -1 : 0 })
порядок чет не сохранился все равно(
был массив 1, 0, 3, 2, 0, 3, 0, 4, 0, 8, 9, 5
стал 0, 0, 0, 0, 1, 3, 3, 4, 2, 8, 9, 5
доработал
сохранил старый функционал и добавил твою идею
http://embed.plnkr.co/FJJuBLso5vgVAUJZ5POQ/
тоже не то. вот так весь день и ебусь - ни черта не получается, хотя казалось бы идея проста как два пальца(
Ага, забыл что в жс сортировка не устойчивая :(
ну вот тебе набросал по быстрому функцию, правда возвращает новый массив вместо сортировки на месте, но дальше думай сам
function zerosLeft(arr){
var zeros = [];
var newArr = arr.filter(function(i){ return !i ? (zeros.push(0), false) : true });
return zeros.concat(newArr);
}
Нужно вебморду запилить. Бэкенд с рестом есть. Хоть джейсон хоть хмл.
Нужно рисовать графики.
Чтобы няшные. Чтобы выделением по нему можно было менять время и ставить вычисляемые срезы.
Допустим взять ангуляр и наполнять его данными, а чем графики рисовать?
Может готовое решение есть или компоненты какие
Если ты никогда раньше не работал с фронтом - даже не думай брать ангулар. Будешь пару дней ебаться с концепциями, а потом загоришься и объявишь весь фронт парашей. Неоднократно такое было. Больно уж специфичная штука. Возьми jQuery и нагугли к нему плагинов для графики, по запросу в гугле jQuery plugin charts.
Графики случайно не candlestick нужны?
Я хз что такое кандлестик.
Видимо чото из трейдинга?
Мне надо отрисовывать состояние процесса во времени.
Хотя графики как на разных трейдерских сайтах я не против взять.
Главное чтобы попроще.
Лучше чтобы на фронте было отображение моделей и после первичного наполнения дальше работа шла с моделью и лишь в случае изменения границ в сторону увеличения шла догрузка данных
splice удаляет, вставляет и прочую мишуру наводит. неужели нет простого кода для такой примитивной инструкции? я в ахуе с js...
Страничку подложку саму будет обычный jsp генерить, а дальше уже чтобы жс работал
Это простейшая задача математики лол.
Даже проще пузырьковой сортировки.
Лень пэку включать. Но и на скале и на груви и на чистой яве накидать это дело пяти минут
лол, js сортировка ебанутая совсем, ибо накидал точь-в-точь - у не меняется ничего. ну то есть сортирует, но не так, как надо все равно. это просто пиздец(
С трейдерскими свечами (candlestick) очень геморно. Найти нужный модуль, зменить вид под себя, добавить динамическое изменение - там много сложностей. А вот простой график линей или барами - проще некуда.
Иди проспись.
var start = [1,0,2,0,3,0,4,0,5];
var finish = [];
start.forEach(function(item) {
if(item == 0) {
finish.unshift(item)
}
else {
finish.push(item)
}
});
console.log(finish)
Вернёт [ 0, 0, 0, 0, 1, 2, 3, 4, 5 ]. Набросал за три минуты. Наверняка есть решения лучше.
А вот решение через сортировку, без создания дополнительного массива. Затратил пять минут.
var arr = [1,0,2,0,3,0,4,0,5];
arr.sort(function(a, b) {
if(a == 0) {
return false;
}
else {
return a > b
}
});
Вернёт также [ 0, 0, 0, 0, 1, 2, 3, 4, 5 ]. Я тебе сходу назвал два решения. Ты вообще пытался?
Есть допустим SASS, LESS, Stylus и PostCSS.
Я раньше использовал LESS, но сейчас решил перейти на Stylus и добавить туда PostCSS. Суть такова, я пишу код на Stylus и после загружаю его через Webpack, использую плагин PostStylus и туда добавляю все нужные расширения мне, которые обрабатывают мой файл стилей и компилирует его в css.
В итоге, я:
1) пишу код на Stylus, который заметно удобнее
2) получаю все фичи пост процессора с обработкой кода через его модули, автопрефиксеры, всякие cssnano
Отсюда вопрос - PostCSS преподносят как замену препроцессорам, почему? Если препроцессоры нужны для удобного написания, а он дает в основном обработку кучей модулей уебанский sugarSS для него в расчёт не берем, это ужас какой-то а не синтаксис
Ну для начала, было бы неплохо прочитать шапку. Я тебе даже подскажу - Часто задаваемые вопросы, вопрос третий сверху.
В верстка треде сидят ньюфаги, которые все никак psd шаблон не нарежут, а у меня тут серьезное дерьмо с кучей автоматизации и моднявыми фреймворками. Особенно postcss, где надо свои расширения писать. Какой смысл спрашивать о жс инструменте в верстка треде - для меня загадка.
Впрочем, думаю что и тут 99% безработных не смогут ответить на мой вопрос нормально. как обычно
CSS - это просто таблицы стилей. ТАБЛИЦЫ СТИЛЕЙ блять. Это цвет кнопочек, не более. Какое это нахуй имеет отношение к программированию? Какой смысл вешать фреймворки на это, если написание CSS занимает меньше 5% от всего времени разработки проекта?
Ловить её годами
Ты из 2005 пишешь?
>цвет кнопочек
А так же шрифты, размеры, анимация, смещения, выравнивание, классы, позиционирование, границы..
С таким же успехом весь веб это не программирование.
ЕТО ЖЕ САЙТИКИ НА ЯЗЫКЕ ДЛЯ НАПИСАНИЯ АЛЕРТОВ, НУ ЧТО ТАМ МОЖЕТ БЫТЬ СЛОЖНОГА???.
Упоротая утка блять, не тебе решать что есть тру а что не тру программирование.
Стандарт то он стандарт, только не стандарт а паттерн проектирования. И если в РНР (Yii/Yii2, Symfony, CI), руби(rails) или пайтоне(django) есть абсолютные соглашения о файловой структуре, о том где какие файли должны лежать, и что в них должно находиться то в отношение ноды я такого не обнаружил, возможно конечно плохо искал. Вот по этому немного не охота вкатываться в новою команду - нужно будет тратить время на обсуждение и утверждение очевидных вещей. Но если этого времени не потратить - будет пиздец.
> Стандарт то он стандарт, только не стандарт а паттерн проектирования. И если в РНР (Yii/Yii2, Symfony, CI), руби(rails) или пайтоне(django) есть абсолютные соглашения о файловой структуре
Всё, что ты перечислил - фреймворки,на ноде mvc-фреймворки тоже есть.
Кажется, самый популярный mvc-фреймворк – sails.js
>шрифты, размеры, анимация, смещения, выравнивание, классы, позиционирование, границы
Ебать, да вы газетчики просто, не более, инсрументы немного поменялись, добавились новые модели взаимодействия с читателями, и рано или поздно программисты напишут для веб-газетчиков свой кваркэкспресс, останется только мышкой кликать подключая нескучные стили да анимации, лол.
мимоизкрестотреда
Уже давно есть.
Пользуются им мудаки. Потому что верстка на печать, и верстка в код - это разные вещи.
В первом случае нет понятия - оптимизицая.
@
РЕШИЛ НАЧАТЬ ИЗУЧАТЬ ПРОГРАММИРВОАНИЕ
@
СНАЧАЛА ЧУТЬ-ЧУТЬ ПОЛУЧАЛОСЬ
@
ПОТОМ СТАЛО ВСЕ СЛОЖНЕЕ И СЛОЖНЕЕ
@
ТЕПЕРЬ КАЖДОЕ ЗАНЯТИЕ ЧУВСТВУЕШЬ СЕБЯ ТУПЫМ ДЕБИЛОМ И ГОВНОМ
@
ВСПОМИНАЕШЬ, ЧТО ДО ТОГО КАК НАЧАТЬ ПРОГРАММИРОВАТЬ, ЧУВСТВОВАЛ СЕБЯ ПРОГРАММИСТОМ БОЛЬШЕ, ЧЕМ СПУСТЯ ПОЛГОДА ЕЖЕДНЕВНОГО ЗАДРАЧИВАНИЯ
Loss script,даун Там в самом значении элемента ошибка была
Ох лооол
очевидный false
JS язык функциональный, заточен под работу с функциями, богомерзкий ООП просто обрезает часть из его охуенных возможностей.
> meteor create MeteorTest
> cd MeteorTest
> meteor npm install --save react react-dom material-ui
Догадываюсь, что нужно версии пакетов указать.
npm может как-то сам это делать, использовать последние возможные пакеты с учетом зависимостей?
То же что и на пике, на всякий
http://pastebin.com/xDzpDaJ7
pizda = {};
pizda.prototype.ololo = function () {alert ('zalupka')}
mypizda = new pizda;
mypizda.ololo();
Подскажите за прототупы. Что я сделал не так?
1) Создал объект.
2) Прототипнул в объект функцию.
3) Создал объект (т.е. конструктор сработать должен был и у mypizda должна была появится функция)
pizda = function(){};
pizda.prototype.ololo = function () {
alert ('zalupka')
}
mypizda = new pizda();
mypizda.ololo();
>т.е. конструктор сработать должен был и у mypizda должна была появится функция
Он возможно и должен был, да только конструктора ты не создал. Ты просто создал объект. Затем вызвал его как конструктор. Вообщем хуйни наворотил.
какого хуя у тебя такие дебильные названия pizda zalupka, ты шестой класс оканчиваешь?
>ТЕПЕРЬ КАЖДОЕ ЗАНЯТИЕ ЧУВСТВУЕШЬ СЕБЯ ТУПЫМ ДЕБИЛОМ И ГОВНОМ
>@
>ВСПОМИНАЕШЬ, ЧТО ДО ТОГО КАК НАЧАТЬ ПРОГРАММИРОВАТЬ, ЧУВСТВОВАЛ СЕБЯ ПРОГРАММИСТОМ БОЛЬШЕ, ЧЕМ СПУСТЯ ПОЛГОДА ЕЖЕДНЕВНОГО ЗАДРАЧИВАНИЯ
Двачую это.
Особенно охуеваю от всяких ВРЕМЯ РАЗВОРАЧИВАТЬ УЮТНЕНЬКИЙ БОЙЛЕРПЛЕЙТ, ВРЕМЯ СТАРТЕР КИТОВ, а там:
1) React + Redux + router
2) Node.js + Koa + Karma
3) MongoDB + Mongoose
4) Babel, Gulp, Browsersync, Webpack, PostCSS, GraphQL, Jade, SASS
5) ко всему этому просто ХУЕВА ТУЧА всяких МОДУЛЕЙ
Почему? Потому что иди нахуй, вот почему.
спасибо.
Но ПОЧЕМУ если написать
pizda = {'vkys': 'kislenka'};
работать перестанет?
Я же чере прототип добавляю функцию? Чё она не добавляется?
почему у объекта через прототит не добавляется нихера?
Всегда что ли нужно что б работать с прототипом захуяривать пустую функцию?
pizda = function(){};
>>715224
>>715219
>>715215
Шифты, сплайсы, промежуточные массивы, пиздец. Как будто это всё бесплатно. Если уж олимпиадка, то держите: https://repl.it/CFFx/0 . Задача становится проще, когда вы не нули налево переносите, а когда вы все числа, не равные нулю, направо переносите. Делается это за O(n). Потом за линейное время обнуляете левую часть.
>>715236
У тебя не сильно лучше, алгоритмическая сложность оче нелинейная и оче большая.
>>715500
схуяли позвольте спросить так происходит?
Написано вроде что у объектов есть прототипы.
Я и пишу
моймилыйобъект.prototype.свойства = ...
что же он не робит
Алсо, я не знаю JS. Просто мимо проходил вчера, но лень было вам в ротешники нассать, скажем так.
Все верно, есть.
Но ты не пытаешься получить доступ к прототипу объекта, а вызываешь несуществуещее у объекта свойство с именем prototype
Схуяли? Я не знаю нахуя ты пытаешься добавить что-то в undefined. Выпей препаратов там, иди еще что.
ну и в чём весь секрет?
как получать доступ к прототипу?
везде писать pizda = function(){};
прежде чем использовать прототип или ещё что-то?
как нужно-то?
Лол. Скажи-ка мне сначала, зачем тебе прототип?
Тебе уже объяснили, что ты дебил. Сначала присвой значение полю prototype, а потом дёргай уже свойства этого прототипа. Хотя, ты явно не понимаешь, что делаешь. Почитай ещё статьи.
блядь
1) Создали
var animal = { eats: true};
хуянямуйня
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')
}
mypizda = new pizda();
mypizda.ololo();
блядь
1) Создали
var animal = { eats: true};
хуянямуйня
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')
}
mypizda = new pizda();
mypizda.ololo();
>не тебе решать что есть тру а что не тру программирование
CSS теперь тру-программирование. Уже вижу, как появляются написанные на CSS сервера и программируются ардуинки.
>Упоротая утка блять, не тебе решать что есть тру а что не тру программирование
CSS не Тьюринг-полный -> CSS язык стилей, а не программирования ->ты идёшь нахуй.
>алгоритмическая сложность оче нелинейная и оче большая.
Ага, да косяк, виновен, ну я же ночью писал, в полусне на автомате, ну и не для себя, лол, про обнуление потом уже мысли стали приходить.
Но один хер по скорости шифтам даст пососать.
А ты видимо из С или кресто-треда, лол.
Вообще-то. В css уже завезли переменные и функции.
Всем.
если у тебя pizda это {}
а Rabbit это функция
То, у твоей пизды вообще нет свойства prototype
потому что прототип твоей пизды Object.prototype
а если ты свою пизду получил из какого-то другого конструктора, то узнать что у нее там прототип можешь запросив ее прототип Object.getPrototypeof(pizda)
У твоего Rabbit если это функция, в свойстве prototype хранится объект, который будет расширятся, в случае если ты используешь своего рэбита как конструктор. Rabbit.prototype это не прототип объекта Rabbit, это вообще другой объект, который будет прототипом для new Rabbit
А у самого Rabbit прототип Function.prototype если не перегружен опять же. Посмотреть можешь через Object.getPrototypeOf(Rabbit)
Кто-то написал и скинул простой скрипт автобамп, который можно ввести в адресной строке и он будет работать:
javascript: setInterval(function(){document.getElementById("button1").value = "бамп"; document.getElementById("button1").click();}, 100000); alert("Готово!");
Короче, мне понравилась эту тема. У меня есть множество сайтов, где мне надо совершать однотипные действия: нажатие кнопок, переход поссылкам, обновление страниц и прочие в таком духе.
Все это я так понимаю можно реализовать через адресную строку без лишнего софта. Прошу анона подсказать в каком мне направлении рыть, чтобы понять как автоматизировать повседневные действия на сайтах, как иды кнопок и прочих элементов находить. Изучать полностью джаваскрипт у меня нет желания, только для такой фигни хочу поизучать
Смотришь id и классы в браузерном инспекторе.
Полностью учить не надо - достаточно базу по DOM и BOM и js базу ты по ходу знаешь, учишь походу дела - вбивая вопросы в гугл - типа "dom перебрать элементы по классу" - если знаешь ингриш - то на стэковерфлоу есть простые вопросы на ответы для нубов. Далее самое годное для напердоливания интернетов под себя - писать расширения для хрома - очень простой API.
C реальной задачи.
В браузер, которым пользуешь поставь расширение для инжектирования скриптов - типа тамперманки для хрома или грисманки для лисы,
туда и пиши свои опытно конструкторские разработки, попутно роясь в справочниках, не стесняйся подсматривать, читать чужие скрипты - это хорошо обучает.
На этом можешь и успокоиться, а можешь
начать хром экстенжн апи изучать - там куча сэпмплов и всё разжевано - берешь с функционалом похожим на то, что тебе нужно и модифицируешь попутно куря маны - так и научишься. Хотя если тебе чисто работать с DOM а в браузере всё устраивает, больше грисманик тебе не надо будет.
Но ты имеешь ввиду код, который будет работать чисто через адрес. строку, верно?
Это будет тоже самое, что через адресную строку, только удобнее. Поставь проверь на своем примере, только javascript: убери и задай в расширении парматры для скрипта - типа на каком сайте срабатывать и тп
А про imacros что скажешь?
Мне просто понравилась идея без лишнего запускать голые скрипты.
>>715665
В гугле только про яваскрипт в html.
> А ты видимо из С или кресто-треда
Ruby/Go-хипстота, в раннем сосничестве не вылезал из ассемблера, ну и олимпиадки гонял в универе, чтобы за мои проёбы не я отмазывался от деканата, а моя кафедра. Ничего особенного, короче.
>>715603
Сортировка. Реализация алгоритма сортировки в разных интерпретаторах JS разная и, как правило, алгоритмы там гибридные, но, в целом, сложность их O(n*log(n)). У меня же O(n), где n — сумма длины массива и количества нулей в нём.
С разморозкой.
https://jsbin.com/nilogapohe/edit?js,console
Нет, я передаю через JSON, но он не может их нормально прочитать. Если я передаю данные типа
{"a": 12}
То он при автоконвертации выдаёт ошибку, так как почему то не воспринимает их как строку. Приходится передавать как
'{"a": 12}'
После чего в получившейся строке отрезать первую и последнюю кавычку и парсить заново.
Есть жи, Adobe Muse называется. На выходе получается неподдерживаемое говно с абсолютным позиционированием. Годится только для каких-то йоба-лендингов с графеном, их действительно проще мышкой делать.
Что-то у тебя с кодом не то, агнуляр сам такого не делает
Ну пиздуй в джаву или спецназ, там можно десятилетие дрочить энтерпрайз на антикварных тухнологиях если тебе СЛОЖНА
благодарю
Я бы с удовольствием, да лень учить её, и платят там больше, ололо. Взял спринг и похуячил с абстрактными фабриками говяжьих анусов.
Приведу пример. Есть элементы А, В, С. И два состояния - 1 и 2. Допустим, в 20:00 часов при запросе их состояние вернётся А-1, В-1, С-2. Если сделать запросы в 20:05, 20:22, 20:45 и так далее, что вернётся всё равно А-1, В-1, С-2. Но если сделать запрос в следующий час, например в 21:03, то вернутся другие состояния для элементов, например А-2, В-1, С-1. Они не должны храниться где то, а должны именно генерироваться. Как такое сделать?
Концепция шманцепция. Хочешь денег - иди в 1С.
И там и там кое-что надо просто запомнить.
Отличный алгоритм.
>Шифты, сплайсы, промежуточные массивы, пиздец. Как будто это всё бесплатно.
Мало есть проектов, где необходимо это учитывать. Памятью можно пренебречь.
Мне нравится создавать объекты с названием whateverManager, который умеет то, что необходимо в данный момент. Делаешь калькулятор - хранишь объект calc, типа того. Я не знаю, что там за паттерны ООП применяются в js INB4: var x = {}; //singleton, но я их не юзаю.
>JS язык функциональный
Вообще нет.
>богомерзкий ООП
Но с этим согласен.
ООП ненужное говно, которое в 99.9% бесполезно и только усложняет код, не принося ничего полезного.
Объекты это хорошие неймспейсы для функций.
Вот кстати двачую этого.
Сам пока учусь, только недавно дошел до ООП, и еще в смятении, но кажется стиле делает код тупо читабельнее чтоли.
Сразу ясно, что вызывает, какие у него методы, что где лежит, что с чем взаимодействует. Но это с одной стороны.
С другой, когда пишешь по этой схеме, такое чувство будто что-то теряешь. Все время так и хочется вернутся к жонглированию функциями, юзанью переменных на полную, прямым колбекам и прочей красоте. Это же так удобно, и по своему красиво, хотя код получается макаронинами, особенно если сравнивать с уютненькими конструкторами.
Так что лучше все таки? Может кто-то более опытный подскажет. Как принято писать ИРЛ?
>Все время так и хочется вернутся к жонглированию функциями, юзанью переменных на полную, прямым колбекам и прочей красоте. Это же так удобно, и по своему красиво, хотя код получается макаронинами, особенно если сравнивать с уютненькими конструкторами.
>
Тебе ничто не мешает это делать через свойства объекта, а лапша из колбеков это однозначный вред, если есть возможность обернуть в промисы хотя бы.
http://docs.sequelizejs.com/en/latest/
https://github.com/tj/node-migrate
Не знаю, дало это тебе что-нибудь.
Ты дебил, что ли? Пишешь простейший рандомайзер или хэш-функцию, подаёшь на вход текущий час (new Date().getHours()) — и всё.
Я с тобой согласен, но удивительно, что все как один начали предлагать отвратительные решения. В конце концов, это тот случай, где оптимальное решение ещё и самым читабельным является.
Чем плох localStorage?
Это очень плохой кейс.
Вот тебе копипаста:
Ну вот тип есть конструктор
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 из гайда этого треда, там много про варианты реализации наследования.
Хочу объять Node.js, с чего начать?
С шапки. Книги и сайты.
Как на этом вашем JS написать вот такое http://ideone.com/NuaB1f ?
'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 динамически без цикла, что-то на ум не приходит.
Почему, когда я присваиваю перменной значение, оно не присваивается?
В чём может быть причина? Я что-то слышал, про ссылку, которая сразу же удаляется.
Покажи код
Дак вот почему интернет превратился в тормозное говно, а браузерам железо нужно будет скоро как, игрулькам с 3D и физикой. Каждая макака думает что памятью можно пренебречь ведь его то небольшое творение погоды не сделает, в итоге на каком-нибудь фликре грузиться >9к таких вот поделий пренебрегающих макак, пиздос.
> Такого способа, чтобы в range динамически без цикла, что-то на ум не приходит.
Ага, вот это. "Модный" способ близок к тому, что я и хотел. В учебниках как-то это всё мутно объясняют. Благодарю.
>>9к
Сколько у тебя открыто вкладок - 200? Сколько это сожрет оперативы и процессорного времени? Не так много.
Ну вот из-за всяких макак браузер и начинает жрать 1.5+Гб. Мне столько, простите, жалко. А ещё флеш туда вхуярит ублюдок какой-нибудь и всё, процессор тоже в рабстве.
1.5 Гб при открытых 200 вкладках. Это не так много, на моем средненоуте 12 Гб оперативы, не вижу смысла ориентироваться на тех, кто не может докупить плашку оперативы на 2 Гб.
Нет, не при 200. Это при наличии в браузере ~70, однако именно загружены там максимум 5-15, и ещё много постоянно открываются/закрываются.
>средненоут
>12Гб
Ну такой себе средненоут. У меня вот на рабочем 4Гб, 5 из которых отжирает система и корпоративный софт. Представляешь, какая это боль в интернете сидеть? инб4: работать надо.
>>716418
Ну это от вкладок зависит. Открыть пару десятков башоргов - никаких проблем. Но 200Мб это уж слишком мало, что-то ты лукавишь. Хром разве не плодит отдельный процесс для каждой?
Если проблема будет именно в утечке памяти или тормозах, то это решается при следующей итерации, тратить время на доп. оптимизацию там, где это даст прирост, которым можно пренебречь, не есть хорошо.
Как рендерить компонент на основе input? Типо есть форма и есть мой компонент который к примеру вводимые символы переводит в верхний регистр.
Если есть анон готовый ответить еще на некоторые вопросы буду безмерно благодарен (с меня пиво если ДС). Можем по скайпу иди телеграмму поболтать.
Ссылку можно или типо того. Нихрена не понял. Реакт 3 часа экспириенс.
сейчас пытаюсь передать event объект в модуль и уже внутри получить выбранную опцию.
вот код.
уже сам разобрался. Использовал $(event.target).find(':selected')
Тоже на реакте пишешь?
Андрюх, ну ты че такой агрессивный?
Хочу сделать мини электрон, но наверняка уже есть что-то такое. Может кто-то находил, хотя вряд ли, здесь в основном позёры. Программистов 3 человека.
Лучше, потому что:
- Перформанс: в бенчмарках netty и jetty оставляют ноду глотать пыл.
- Библиотеки: испытанные в проектах гугла и амазона библиотеки Apache, вместо васянский поделок с npm.
- Девопс: JVM изначально более прозрачна для мониторинга и позволяет распространять приложение в виде одного большого jar-ника.
Mastering JavaScript Design Patterns
Съеби в свой петушатник
Допустим есть приложение из блоков: шапка, контент, футтер. В целом все 3 блока зависят от текущего адреса, но адрес может менять так же текущее состояние контента (например контект содержит компонент с табами и при переключении табов меняется адрес, чтобы сохранить стейт при обновлении страницы), не изменяя остальные части приложения.
Собственно вопрос знатокам: как лучше организовать подписку на изменение адреса? На сколько я понимаю идеалогия реакта в том чтобы просто каждый раз вызывать рендер глобального компонента, а дальше реакт сам разберётся что менять в DOM, но как бы редер всего дерева компонентов нихрена не бесплатный же, и полне может занять ощутимое время, и видится мне это не очень хорошо когда нужно поменять только один небольшой фрагмент контента.
Извиняюсь заранее за бан в гугле: я вот знаю немного яваскрипт, немного сиквел, хтмл+ксс, естественно. Как мне вместе это объединить? Допустим, я пишу приложения на скрипте где нужно сохранять результат в sql, как мне это реализовать? e.g. например какая-нибудь ответ к которому можно будет вернуться?
>но как бы редер всего дерева компонентов нихрена не бесплатный же
Не занимайся преждевременной оптимизацией, по-настоящему дорогая операция - это работа с DOM браузера. Но именно до настоящего DOM доходит только то, что на самом деле изменилось, никакого полного перендеринга нет на самом деле, Риакт писали умные чуваки — будет сравнение нового и старого VDOM (JS это делает шустро), и применение только diff'а. Если ты не наговнокодил в своих render-методах, все будет гуд.
> Если ты не наговнокодил в своих render-методах, все будет гуд.
Приложение может быть большое, в тысячу компонентов например, на каждый компонент создаётся объект, это всё рендерится, подменяются стили чем-то вроде react-css-modules. Короче есть подозрение что 500+ мс на всё про всё уйдёт.
Ну проверяй в shouldComponentUpdate что стейт текущего компонента поменялся, и на самом деле требуется перерендеринг, делов то.
https://facebook.github.io/react/docs/advanced-performance.html
Или используй стейтлесс функциональные компоненты.
Что ты больше любишь - когда всё готовое из коробки, но ничего не изменить, или когда конструктор и ты собираешь идеальный вариант для себя, но тратишь время?
Ни разу.
скорее второе, ибо бесит когда со старта создаётся куча непонятной хуйни, с которой я должен взаимодействовать
Тогда реакт.
так-то с одной ебучей нодой и ванилой не берут, везде нода идёт как довесок к ангуляру\реакту\етк
У нас да, а на западе ещё как берут
http://pastebin.com/BMUQjs5e
зачем после for код оборачивается в скобки, а потом еще и в анонимную функцию, и самое интересное, зачем в конце стоит в скобках переменная (i)
Чтобы внутри функции значение i осталось такое же какое было во время итерации цикла
На java будешь делать дольше.
Виртуальный дом быстрый, не ссы.
Это невозможно.
есть нормальный механизм для этого?
гуглится Object.observe но он пишут мёртв
спасибо, няша, нашёл вот это
http://frontender.info/native_javascript_data_binding/
во 2 части вроде то что нужно
правда там отслеживается DOM, а мне это не нужно, нужно чтоб на изменение поля срабатывала нужная функция
defineProperty, ни разу не юзал еще.
Blaze. Пока у реакта нормальной поддержки в метеоре нету.
спасибо, няша, буду изучать :3
Браузерный, на нём как раз 95% работы на жс.
Во что лучше сразу вкатится в JS? Я себя знаю, лучше смотреть видео уроки, повторять за автором и пытаться разобраться в коде, чем читать теорию и нихера не понимать. Так пистон выучил.
Берешь любой видеокурс на рутрекере крупный. Есть жс буткемп 10гб, где пишут фронт и бек на ноде, тренер годный, он сейчас в юдасити работает.
Есть ещё хтмлакадеми интенсив, не смотрел, но вроде хороший.
Для теории хватит на 95% Кантора и mdn, там очень годно всё описано и без воды. Качай любой из этих и смотри ресурсы, покатит под пивас.
Спасибо
>Я себя знаю, лучше смотреть видео уроки, повторять за автором и пытаться разобраться в коде
Ну тебе они точно не нужны, ты же читать не умеешь.
[CODE]
router.map((route) => {
route('/id:id').to('someId');
route('/page/:id/:id2').to('someAnotherId');
route('/posts', (route) => {
route('/').to('postsIndex');
route(':id', (route) => {
route('/').to('postView');
route('/comments').to('post comments');
});
});
});[/CODE]
В .to() правда будут передаваться не строки, а инстансы роутов которым будет передан контроль.
react-router
А есть что либо по типу задачника, только для реалных задач, а то эти переборы массивов меня и питоне заебли. У меня с каждым языком так, начинаю учить, синтаксис выучу, напишу пару хеловордов, все пизда, бросил. Я только в пару макетов сверстал, вот и все мои законченые поекты.
Или накидайте задач с которыми сталкиваються реальные разработчики.
Ну напиши реальный проект какой-то, купи домен, опубликуй, что ты как маленький.
Все как обычно, лол.
спасибо за подсказку анончик :3 дело пошло, архитектура йобаприложения моего благодаря тебе стала менее говённой :3
var app = express();
app.set(...);
app.use(...);
module.export = app
Там объявляется вот так:
var app = function(app, config) {
app.configure({
app.set(...);
app.use(...);
});
});
Почему так?
> можно нонпрофит
Контрибьють в опенсурсные проекты. У тебя очень тупой вопрос, ответа он не требует.
Нахуй мой макакокод в опенсорс проектах?
Мне бы найти команду где бы я получал опыт работая бесплатно, но если что мне б подсказали где делаю неправильно и т.д.
Нахуя мне бабы, если я могу кодить? Ты тупой штоле?
Ломись в джуны, крупные конторы могу позволить себе тянуть новичка в надежде на профит в будущем.
>jstherightway.org - Огромный англоязычный гайд. Есть книги, статьи, список фреймворков и многое другое. По сути, этот текст - краткий аналог этого гайда.
ОП ты в курсе что по ссылке из фака похаканый сайт?
Так ничему не научишься
"Я познал только то, что сделал"
Устройся на работу, наври что знаешь дохуя, покажи ужой код.
По ходу дела, когда получишь задание - гугли его решение, все уже придумано до нас, надо только скомпоновать куски
И да, тебя скорее всего уволят, но ты реально чему-то научишься
Отдохнешь и снова в бой
https://jsfiddle.net/jwzvh5x2/
вот тут по дефолту выбран 1 вариант в списке. Как сделать так, чтоб обработчик вызывался, если я ткну на список и оставлю 1 вариант выбраным?
В смысле один раз? И в смысле засирать, это блядь теги html, их для этого и придумали
Ну ему нужно другое поведение. Я ему написал другое поведение. Он не просил другую разметку. Потом тут ты добавляешь логики для бекенда, которая ему нахуй не нужна. Надо еще выводить лишний тег. Может у него уже есть компонент который распечатывает селект, его придется менять. Если ему понадобится чтобы скрипт срабатывал после того как он 2 раза подряд выберет "2".
>их для этого и придумали
Не для того их придумали, чтобы ими все засирать. У него в этой модели данных 4 опшена, ты предлагаешь добавить пятый костылем.
>>717514
Нихуя же по сути не меняется. Смысл этого события в изменении.
Криво написал.
> Если ему понадобится чтобы скрипт срабатывал после того как он 2 раза подряд выберет "2".
Это к
>В смысле один раз?
>Смысл этого события в изменении.
А ему надо отследить, событие когда ничего НЕ меняется в том числе.
твой вариант не слишком хорош, ибо работает крайне избирательно. Например, в хроме, обработчик не вызывается, если его навесить на option. Даже если в option прописать класс/id и навесить обработчик на этот класс/id то он всё равно не вызовется
2 года назад всё было уже не так ужасно, но достаточно просто. А сейчас это какой-то зоопарк пакетов с названиями одно охуительнее другого.
Ну тогда, да. Мое решение хуевое. Можно еще просто клик по селекту ловить, вроде везде работает.
а вот это уже работает. По крайней мере в хроме
Я нихуя не понял. Как связаны es6 и какие-то "сложные" библиотеки? И нахуй тебе его "учить"? Ты это говно все равно не будешь использовать. Всякие там операторы типа let, будут еще лет 5 некроссбраузерны. А методы массивов все уже очень давно есть во всяких андерскорах и лодашах и работают там быстрее нативных.
Просто хочу начать фронтовый проект на новых модных технологиях, а чет нихуя не выходит, даже не знаю с какого краю к этой куче подходить. Ощущение такое, что надо бы самому этот starter-kit собрать, чтоб разобраться че куда.
Зашел в вкладку настройки Html/js
И охуел
bower,grunt,gulp,karma
Суука ? что это за ебала? это ВСЕ нужно или одно из них?
Нахуя такая мешанина тулзов???
Ну надо же с чего то начинать?
Нетбинс достаточно легкий и быстрый.
ЛУчше скажи зачем так много разных утилит и все ли они нужны?
Single Page Application, одностраничный сайт с динамически заменяющимся контентом.
>ЛУчше скажи зачем так много разных утилит и все ли они нужны?
Если не знаешь, зачем, то тебе они не нужны.
А ну тогда конечно же Ероху бери. Его не надо изучать в отличие от этого говна для хипстеров. Вот серьезно там весь стак либ "бери и используй" нахуй вообще кому-то эти ангуляры нужны. Ах да, гугл пиарит.
Соурсмаппинг, транспайлинг, компиляция ts, склейка, минификация, юнит-тесты, е2е-тесты, вся эта шелуха. Если до сих пор про них не знал, значит нет кейса для применения, а значит не нужны.
Ну чтоб не писать, очевидно же. Мне нужно запилить всё как можно быстрее, поэтому нет времени на написание компонентов для рекапчи, сокетов и всяких пагинаций
Подбрось монетку, разницы все равно особо не заметишь.
Не в этом дело, как-то негоже в 2016 году вьюхи закрывать. Пришло время закрывать вьюхи! Вьюхи сами не закроются. Закрой их, закрой их ещё раз.
Понятно. Значит даже с бэкбоном всё хуёво.
atom
Вполне ок
мы тут все в нетбинсах лендинги пишем
Там какой-то пакет нужно поставить для нормального комплита по всем файлам. На t начинается, 4 буквы, забыл название
Ты даун? Это три буквы.
я буду крутить и перебирать массив со всеми буквами алфавита
> js
> Высокая производительность
Проиграл на весь опенспейс.
https://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=plaintext&l=cu8
Подозреваю, что низкоуровневая параша уровня го. Лучше лишний сервак поставить, чем собирать хедеры из байтов
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;
}
Добавили промисы, а мы смеемся. Присыпали сахаром прототипы и назвали классами, а мы смеемся.
Три тимлида прыгнули с крыши 16-этажного дома, взявшись за руки после попытки разгрести код с тридцатикратной вложенностью, а мы смеемся и просим еще. Промисы, колбэки, асинки/авайты — мы смеемся. Модульность, асинхронность, непрерывная интеграция, юнит-тестирование, key-value хранилища, два десятка фреймворков на любой вкус — мы смеемся. GitHub позволил писать приложения на десктопе, запихивая в каждый хеллоуворлд отдельный браузер — мы смеемся. Мы бездушно подпишемся под чем угодно, наши предпочтения не основаны на здравом смысле, бесцельные споры — наша стихия, мы — истинное лицо современного IT.
10/10
Не продолжай.
Не нужно знать язык, чтобы использовать jquery, в этом его прелесть
норм расписал
У вк сокеты на ноде, кстати. Насчет дигга не знаю.
На го пишут очень узкие места. Вроде сервера нотификаций. Который написали и 5 лет не трогают.
А сам вк или дигг писать на го - это нужно быть отбитым, потому что очень нерационально.
внезапно ipc
Ты даун, я про то, что ты даже гуглить не умеешь, пидорашка
Иди нахуй, нубяра, никогда тебе не стать разрабом
Пуш уведомления на го переписали
Ясен хуй что писать все на го не получится.
По поводу узких мест - soundcloud тому пример обратного.
Самые узкие места можно и на сях с растом писать.
На js разве что фронтенд и то, что этому фронтенду рендерит шаблоны. Вот у нас на фронтенде джанга, а высоконагруженное ядро на го.
Я вообще не понимаю, как вы пишете асинхронный код, это же пиздец неудобно по сравнению с го.
Зато на го хуй напишешь gui и я себе сейчас ломаю мозг над этой проблемой, тут уже js больше подходит.
>как вы пишете асинхронный код, это же пиздец неудобно по сравнению с го.
не писал, но осуждаю. яснопонятно.
Как в реакте добавить свойство какое-то в элемент? Ну, чтобы не делать во время лоада каждый раз document.getElementByID('id').huita = 'huita'
http://fritzmorgen.livejournal.com/874274.html
Стать трапом?
да заебали уже на каждом шагу трубить об этом
меньше гонору - больше пользы будет
(кроме тех, кто на курсах зарабатывает конечно)
Пустая строка?
тест не его, он только разместил объяву
да, чтоб смотреть только интересные вебмки
По-моему, всё довольно логично. У массива toString жоинит его запятыми в строку. + вызывает toString массива. Пустой массив превращается в пустую строку. Сложение двух пустых строк - пустая строка.
Ты даун или аутист?
Если ты тот кто задал вопрос, то зачем задавал тогда.
Вопрос был похож на какой-то наброс.
Разумеется, всё логично.
Если автор вопроса не ты, то мне бы было любопытно, что по его мнению должно быть, если не строка.
Сам уже нашёл, что там есть атрибут data, спасибо за помощь, пидорасы.
Нет, не я.
Кто реально работает, тот тут не сидит. Сам подумай, зачем?
>document.getElementByID('id').huita = 'huita'
ебан, ты что, напрямую дергаешь дом при работе с реактом?
а нахуя мне тебе отвечать, маня?
Ну и зачем ты на себя поссал?
А ещё надо?
Вообще никогда не писал на javascript, приняли на работу, всё норм.
Ни одной книги не читал вообще по нему, язык для долбаёбов, после с/c++ это просто какие-то кубики. Единственное что ебёт, так необоходимость дохуя всего изучать, не важно как это устроено, главное разобраться как пользоваться.
Добавлю, что бекенд, и слава богу. Меня воротит от самой мысли о том, как эти фронтендщики ебуться с браузерной поддержкой и ES5.
Ты же ничего про это не знаешь, а кукарекаешь
http://void.hi-res.net/
При помощи чего рисуется такое огромное кол-во объектов без тормозов + плавный звук. Есть догадки, анон?
Особенно поражает анимация на 3 слайде. Рисовать такие фракталы, и ни одного тормозка.
https://www.chromeexperiments.com/experiment/void
Целая куча технологий, часть поддерживает только хром. А так красиво, конечно.
[code]
$.post('/method', '{}', null, 'json');
[/code]
то на стороне сервера в Content-Type всё равно стоит multipart-form-data?
Нене, ты не понял. Или я не понял.
Вот есть на сайте кнопка загрузить файл. Мне как-то нужно через js сделать так, будто она кликается и выбирается файл.
Ты хочешь залезть на компьютер к пользователю и сам выбрать файл? Ты не охуел? У нас в стартапе за такие вопросы убивают нахуй.
Пожжи, пожжи. Я хочу всего лишь написать в консоле своего браузера нечто, что выберет файл за меня, чтобы я не щелкал.
>>718834
Ууу точно, через multipart/form-data передавать только. Сорян ребят, совсем я запрограммировался.
Да я на петоне и спайнере пишу приложение, нужно как-то заполнить input type="file". Эмуляция браузера есть, думал через сонсольку браузера будет довольно просто заполнить этот input. Файл в папочке, естественно.
WebGL же
Да. Беспонятия, почему так происходит.
NPM WARN NOTSUP NOT COMPATIBLE WITH YOUR OPERATING SYSTEM OR ARCHITECTURE: FSEVENTS@1.0.7
мимо
Всем привет, объясните пожалуйста что такое 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
Да не знает он нихуя, видишь же какие тупые вопросы задает.
Ещё один умник, решивший вкатится в реакт с почти нулевыми базовыми знаниями
нехуя. на гитхабе эта параша до сих пор как баг висит
>Ну вроде знаю, так в чем ж дело?
Ну если знаешь, то зачем вопросы по коллбеки задаешь? Раз задаешь, значит не знаешь.
Отбой, я понял все вопрос и вправду очень тупой , сори
функция передается как аргумент, регестрируется в объекте listeners c уникальным id, и затем при любой функции вызванной в actions вызывается dispatch который проходит по всем зарегестрированным через dispatch.register фугкциям
postCSS зацени
Для превращения страницы в e-mail письмо. В письмах не поддерживаются отдельные или блочные стили, только инлайн.
Вот нынче еще получаю бакалавра по ит-специальности. И меня берет какое-то отчаянье - кругом требуются JQuery-"программисты", и люди-оркестры со знанием пхп. Может это только в моем мухосранске так?
Куда мне вообще метить, на какую позицию? Тупо верстаь не хочется, хочется именно программировать на JS сложные и интересные задачи. Хотя верстать я тоже умею - пять макетов разной сложности сверстал, адаптивность, автоматизация, умею читать и понимать документацию всяких npm-пакетов.
А вот пыху, JQury, Bootstrap и все прочие вообще пока еще не трогал. Стоит или нет?
>А вот пыху, JQury, Bootstrap
jQuery и Bootstrap учатся за вечер. Зачем ты туда пыху приплёл - я хз.
В плане того, что в 90% вакансиях по запросу "javascript" висят веб-программисты со знанием пыхи. Ну, это в моем миллионнике.
если ты хорошо знаешь js и верстку, то поковырять бутстрап и jq у тебя проблем не вызовет
а вот это уже тебе решать как бы
>уже давно (пол года, чуть больше) упорно учу JS
Пацаны, а полгода, это считается "давно учу"?
Покажи несколько своих велосипедов
for (var i = 0; i < 10; i++) {
setTimeout(function() {console.log(i)}, 0);
}
Было еще в 2015, уже не интересно
есть у меня две либы pixi и metter, одна рендерит, вторая обсчитывает. да, я нуб игродел.
объекты обеих либ имеют одинаковые по смыслу, но не всегда одинаковые по названию поля.
желаю не заниматься в каждом фрейме копированием данных из объектов энджина в в объекты рендерера, хочу накрутить множественное наследование, то есть создать пустой прототип, примешать к нему поля прототипов объектов обеих либ и кормить обе либы получающимися объектами.
проблема например в том что в одной либе угол это angle, а в другой rotation. объект, полученный в результате смешения получит оба поля. как сделать так, чтобы при обращении к этим полям объекта (при скармливании либам) через эти имена эти либы (и не только они) обращались к одним и тем же данным?
какой то счетчик эвентов ?? потому что я заметил как он меняется на 10 при запуспе скрипта, и кажду. секунду/пол увелчивается на 1
Так чё это?!
Видел несолько backend as a service, firebase, backendless - но похоже я с ними буду разбираться дольше, чем с самописным бэком.
Какие? Там например есть книги по ангулару, реакту, жквери. Читать нужно про то, что ты хочешь изучить.
интересует сам ванильный жс
https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.md#Книги-про-javascript
просто 8 книг по нему думаю оверкилл если там будут постоянно рассказывать что такое переменные и примитивы.
На явеЕЕ пили.
привет, котаны, установил MongoDB, но не получается запустить. Не видет хост и переходит в ожидание. Первая строка выдаёт hotfix kb2731. Как быть?
В экшенах как-раз таки нужно это делать, только нужно сделать миддлварю redux-think, чтобы можно было экшены в виду функций прокидывать, вот там и делаешь что хочешь.
Понял, спасибо.
А, он 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?
спасибо, не ожидал, что ответят на вопрос).
> 1)
Что за хуйню ты вообще несешь.
> 2)
Блять, родина вам дала Array.slice(), но нет, хочу говно жрать. Нет, так делать нельзя.
> 3)
Что ты подразумеваешь под выделением памяти элементу?
> 4)
Только если нет ссылок на созданный объект. И вообще от браузера зависит.
>3)
На Хабре была статейка, как приведение к объекту такой хуитки вешало браузеры, т.к. все миллионы элементов реально создавались.
Лел, в общем, желтый блинчик тебя выиграл, а это значит что ты идешь читать про замыкания.
1)Что непонятного? Указатели? Уже нагуглил - всё кроме примтивов указатели.
2)https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/length - тут врут?
3)Что непонятного?
4)
>Только если нет ссылок на созданный объект.
Это и так понятно.
>И вообще от браузера зависит
А вот это хуево.
>>719907
Благодарю, полезная инфа.
по поводу второго:
Самый простой способ очистить массив – это arr.length=0.
https://learn.javascript.ru/array
При уменьшении length массив укорачивается.
Причем этот процесс необратимый, т.е. даже если потом вернуть length обратно – значения не восстановятся:
Я как ньюфанчик понимаю так: при five++ из-за постфиксной формы отобржается изначальный контекст - пятерочка, а потом меняется на 6. Когда контекст поменялся то в новом контексте (шестерочки) нет свойства wtf - поэтому underfined.
Но я еще с ооп в js не садился разбираться толком, поэтому можете тыкать носом в ошибки рассуждения
Только заметил что там есть второй раз underfined
Наверное, происходит потому, что после five++ наше five стало не объектом, а числом, поэтому свойство wtf записать не удается
You are under arrest for underfined undercode expression.
необходимо реализовать менеджмент длительности сессии в т.ч. и на клиенте. как вам идейка использовать такой механизм:
0. запускаем таймер (секундный), который:
0.1. вытягивает из localStorage объект, назовем его никак. в нем будет храниться оставшееся время для логаута пользователя (0.1.1. если объект undefined, инициализуем его. если нет - устанавливаем время в исходное)
0.2. декрементируем значение на один, схороняем объект
0.2.1. проверяем, вышло ли время. если да - то..ну это уже неинтересно. если нет - ну значит нет еще
насколько такой подход хуесосный? localStorage из-за того, что приложение многооконное, ясен красен, и чтобы не возникло ситуации, когда в одной вкладке все нормально, а вторая уже вылогинивается
Может кто-нибудь сказать, как правильно сделать task для gulp, который будет собирать в продакшен без этого сида?
Ты ебанулся, что ли? В локалстроре можно ставить дату истечения данных
абсолютно нихуя, краем уха слышал, что есть такая штука)
как?
про куки знаю, про сторадж знаю что есть сессионные (стираются после окончания сессии) и обычные (могут храниться неограниченное время)
>В локалстроре можно ставить дату истечения данных
а не пиздишь ли ты часом, разве что только через какую-нибудь либу-обертку
Тут кококойто даун завёлся, всем охуительные советы раздает с видом знатока. Точнее он здесь уже давно, детектится по агрессивной манере общения и изобилию мата.
Скажите как обучаться фронтенд пилить?
С голого жс или фреймворк брать?
Бакенд на пейтоне
PyJS.
Книги в FAQ расставлены по возрастанию хода обучения? Т.е в самом начале первую (совсем для новичков) потом вторую и так далее (первый раздел). Или там совсем всё рандомно?
>>721650
Подкиньте пару примеров хорошего кода на джаваскрипте. Желательно небольшие проекты. 20к строк кода просматривать не времени, не желания, не сил нет.
Какой пиздец.
Я в программировании полнейший нуб, но мне нужно написать юзерскрипт для одного сайта. Как мне (относительно) быстро это сделать? Что нужно для этого изучить?
Это копия, сохраненная 7 мая 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.