Ссылка на прошлый тред: >>734766 (OP)Этот тред посвящён главному языку будущего - 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/ для серверного кода.
Поясните дауну ( мне ) Чем отличается Ангуляр от Node ? Что лучше освоить? или лучше освоить весь MEAN-stack ?
Продолжаю заебывать всех своим калькуляторомТеперь он с историейhttp://embed.plnkr.co/F43HoAkCaQ8re2Jgqqig/
>>737865Иди гуглить. Если ты не можешь сам найти ответы на эти вопросы, то погромировать ты точно не сможешь
>>737867Гришаня, думаешь я забыл о тебе? А вот нихуя!
>>737878я все равно как неуловимый Джо
>>737867такое делает студент программист на 1ом курсе в 1ом семестре 1ой недели
>>737882ну и к чему ты это сказал?
>>737882хуй там
Ну, раз тут тред ньюфажеских поделий, то зацените мое, тем более, что я по поводу этого задания отписывался несколько тредов назад.Там есть один баг, мне его впадлу пофиксить, уже неактуально. Может, потом.http://artemperchyk.github.io/Solitaire/ диванон лигивон
>>737886не смог пройти с двух раз
>>737888Ну это нормально, там не проверяется раскладка на "проходимость". Как и в реальном пасьянсе.Знаю, что в некоторых реализациях это запилено, но хуй знает, как.
>>737886калькулятор не понравился, оче много баговправда я охуел от того сколько там файлов, я даже не знаю что большинство из них делает
>>737886еще сапер какой-то странный, тоже не смог пройти
>>737892Калькулятор был запилен за два дня на коленке, я там нихуя не дебажил толком.Файлы - ну там я по неопытности захуярил в одну папку и чай с моккой для тестов, и бутстрап, который вообще там не использовался, ну ты понял. Там только три файла плюс тесты собственно моего кода.
>>737896Сапер тоже недопиленный, я, конечно, понимаю, что я показываю себя ленивым пидором, но мне это задание страшно не понравилось и я его сделал тупо для галочки.
>>737890Сложенные карты должно быть можно возвращать обратно.
>>737900ты где такие ебанутые задания находишь?>>737897а зря, проще всего логику написать, а самое интересное начинается потом
>>737902Ты имеешь в виду undo на стопке?
>>737903Это курсы при бодишопе.
>>737897скрипт польской нотации сам писал?
>>737905гугл говорит так косметикой торгуют
>>737907Да.>>737908Да блять, в воркаче уже сегодня пояснял, имеется в виду крупная аутсорс компания.
>>737886ня
>>737913ah ty peedor
>>737913все как у людей
>>737904Из стопки можно снимать карты обратно и перекладывать на борду. Стопка - считай, стэк.
>>737927Возможно, я просто очень сильно туплю, но ведь реализация стопки у меня точно такая же, как и во всех виденных мной реализациях (про вариацию с тремя картами не говорим, речь не о том).Т.е. клацнул, открыл карту, есть куда перенести - перенес, нет - клацнул на другую карту и так пока всю стопку не прокрутишь.
>>737913слава украине!
>>737934Лол, ну ты даешь. Еще и страницу тян нашел.Таки да, слава, фото с захидфеста.
>>737939Хотя вообще там всем рады, справа можешь заметить флаг бульбобратьев.
>>737931Я про другие 4.
http://learn.javascript.ru/ Я какой-то тупой, объясните где здесь найти задания по JavaScript на этом сайте (мне сказали что искать там)?Раздел "Тесты знаний" - не то.
>2016 год>Убогий неформатируемый Math.random>Убогий неформатируемый DateОправдывайтесь, петуханы.
>>737970Ааа, теперь понял.Если честно, мне это в голову вообще ни разу не приходило. Причем там еще сделал для простоты так, что карта при перетаскивании на один из четырех верхних дивов просто исчезает, а див получает ее бэкграунд.Возможно, когда руки дойдут, переделаю а сейчас ангуляр учу
>>737973После глав задания идут.
>>737979Спасибо.Кстати, анончики подскажите, лучше начинать изучать JS по книге "Выразительный JavaScript" или на learn.javascript.ru? Кому где было легче?
>>737983Лучше второе. Там подробнее и проще написано для новичка.
>>737989Просто в любом случае скорее всего и то и другое буду читать, просто нужно именно то что легче понять поначалу. ^-^
Многие играли в prison architect или хотя бы слышали. Так вот скажите, как вообще можно сделать подобную игру? Js может с этим справиться или кроме него надо будет ещё какие-то языки зубрить? Просто хочется когда-то попробовать сделать, что-то подобное.
>>737998>сделать, что-то подобноелолэту игру делала студия из нескольких человек больше двух леттам программирование вообще дело десятое
Джавскриптаны, мне вот интересно стало сколько приходится писать в среднем в день кода. Я прошелся по прошлым проектам и по текущему, и получается примерно 600-800 LOC в день, не считая стилей. Если дедлайны более демократичные, то моя продуктивность падает до ~400 в день.А на пет проектах вовсе по 100-200, если каждый день писать, но там трудно посчитать из-за длительных перерывов между сессиями.Кто имеет дело с коммерческим продакшеном, какой, в среднем, аутпут в день?
>>738019Разве это всё напрямую не зависит от сложности кода? Ты же блять вроде как не на конвейере помидоры проверяешь, зачем продуктивность сравнивать?
>>738021Лол, какая нахуй сложность кода в вебе. Мы тут не софт к автопилотам пишем, 90% задач логически однообразны и решения варьируются от стака к стаку.
>>738001Какая разница сколько лет они ее делали. Меня интересует как сделать подобное?
>>738035Ты мудак что ли?
>>738036А что тебя смутило в вопросе? Почему ты агрессивный?
>>738035Найти команду, подождать чуть больше двух лет.
Заранее прошу прощения за тупые вопросы.Захотел на досуге заняться js, решил делать простенькую игру с мультиплеером.Вот я начал с того, что посмотрел несколько книжечек и видео о node.js, но теперь вопрос:1. Как организовать передачу данных в RT игре?Передавать клиентам информацию о статусах всех объектов или только то, что изменилось с последней отправки и сделать в клиенте функцию, которая перерисует динамические элементы?2. Как лучше взяться за примитивную графику типа бегающих кругов? Изучать create.js и подобные или можно обойтись?3. Как сделать так, чтобы было несколько игровых комнат и как лучше отличать игроков друг от друга?
>>738071Всё, что касается реал тайм, комнат и игроков - socket.io. По поводу примитивной графики это зависит от того, насколько она, собственно, примитивна. Есть много геймдев движков, где реализована базовая физика и прочие няшности.
>>737998Ну в юнити и в других движках js есть как язык для behavior-скриптов, запросто можно делать. Только с 2d на юнити немного туго как по мне ну я немного тупой.
>>738074Я сокет уже изучаю, но ещë не додумался до логики передачи данных в онлайн-играх, в смысле каждый раз передавать абсолютные координаты или движения? Не могу на глаз оценить, какие нагрузки могут не создавать лагов и какая будет задержка между обновлениями.
>>738082Ну я сам так-то писал только статичные игры, тобишь морской бой там, такое. Но я думаю, что>каждый раз передавать абсолютные координаты или движенияпо другому никак, если у тебя реал тайм обновления. По поводу нагрузок я бы не переживал особо, джс довольно быстрый язык и реальным ботлнеком в простой игре будет только коннект, который ты контроллировать не можешь всё равно. Я читал как-то статейку, кстати, где чувак описывал как на сокетах хендлить возможный делей. Но это оптимизация.
>>738082риал тайм -> udp. udp -> потери. Потери -> только абсолютные величины. Полагаю, самих играх обычно делаются всякие интерполяции, чтобы игрока не "телепортировать", а именно подвинуть, со всеми вытекающими коллижнами и т.д.Но я диванный, тоже только статичное делал, а риалтайм в качестве эксперимента лишь поигрался маленько.>>738086Коннект коннектом, но какие-то умные и магические алгоритмы для оптимизации всего этого есть.
>>738074>>738086>>738089Спасибо, буду пробовать
>>737913Вот та тян обосрется от испуга если обернётся.
>>738115Или наоборот.
>>738115>>738128там просто фотограф рукожопый
>>738161А что изменилось?
>>738161Фотограф рукожопый - это мы вместе фоткали себя на зеркалку, лол, поэтому так.А вообще тут не оцени тян тред, заебали.
>>738177Иди нахуй, очкарилло, встречу на улице, ебало вскрою, петух
>>738180Лол. Люблю двач.
Как можно передать браузеру имя файла без дополнительных запросов со стороны клиента, если я стримлю видео банально через readStream.pipe(response) (либо с диска, либо перенаправляю с того же ютуба)? Пока что фф мне выдаёт в качестве названия страницы последний путь в path'e (aaa.com/aaa/bbb/ccc -> ccc), и при попытки сохранить файл, соответственно, то же самое (ccc.mp4). Content-Disposition не влияет, да и со стримингом он, вроде бы, и не должен работать.В самом запросе названия нет, оно по айдишнику берётся, т.е. мне со стороны нужно его впихнуть как-то.
>>738186Хахол ебаный, на курсы он ходит, безмозглое животное, самому не дано видимо чему-либо научиться, уёба
>>738188Так я на них отбор прошел, как раз потому что не безмозглый. Ну да похуй.
>>738197Вот это тщеславие
Часто приходится делать this.object.doSomething.bind(this.object). Может есть сахарок?
>>738209Лямбды в es6 делают, по сути, то же самое, что bind, сохраняя this.
>>738212Мне нужно передавать одному агрегированному объекту метод другого с собственным контекстом как коллбек. Тут лямбды не помогут.
>>738209https://github.com/andreypopp/autobind-decorator
>>738224Я думал, может нейтив есть что-то.
>>738209https://lodash.com/docs/#bindAll
Я ебал этот реакт. Почему одни пишут так:var MessageComponent = React.createClass({ render: function() { return ( <div>{this.props.message}</div> ); }});А другие так:var MessageComponent = function(){ return ( <div>{this.props.message}</div> );}И то, и то называют созданием нового компонента, но в чем разница-то блять? Это одно и то же?
>>738357Именно в твоем случае - да. Второй вариант это просто функциональный вариант простой компоненты, которая только отрисовывает что-то беря из пропсов.
Запустил у себя на шинде сервер, по локалхост:3000 захожу, по 192.168.1.x:3000 не захожу, по внешнему тоже. Открыл порт, выключил файрвол винды - та же ситуация.Что я делаю не так?
>>738379Настрой сервер чтобы он слушал на 0.0.0.0:3000
>>738362А почему бабель выдает результат jsx то в кавычках, то без в зависимости от того, с большой ли буквы написан "тег"?Например ReactDOM.render( <messageComponent message="Hello!" />, document.body);Бабель выдал в кавычках:ReactDOM.render(React.createElement("messageComponent", { message: "Hello!" }), document.body);А если написатьReactDOM.render( <MessageComponent message="Hello!" />, document.body);Бабель выдал без кавычек:ReactDOM.render(React.createElement(MessageComponent, { message: "Hello!" }), document.body);Если с маленькой, это типа хтмл-тег должен быть что ли? А с большой какой-то компонент?
>>738401А, все, нарыл про это.
>>738407Мне теперь расскажи.
>>738411В JSX все что с маленькой буквой то считается html тэгом. Реакт компонента должна начинаться с заглавной.https://gist.github.com/sebmarkbage/f1f4ba40816e7d7848ad
>>738411Надо кароч в спеки заглядывать иногда, а потом бочку катить.https://facebook.github.io/react/docs/jsx-in-depth.html
https://cognitive.io/post/rewriting-the-gophers-invite-form-in-go/Оправдывайтесь.
>>738485Go работает быстрее, чем нода. Зачем оправдываться? Сколько ты кода написал на go? На нем писать сложнее, чем на js.
>>738488>На нем писать сложнее, чем на js.Go примитивный до безумия, хуже Паскаля.
>>738488>>738489Почему еще не запилили транслятора из js в go?
>>738491Не нужно, очевидно.
>>738489Это не значит на нем писать как-то легче.
>>738489Ассемблер еще примитивнее. Это делает его более легким?
>>738541Какого хуя в es6 классах нет ебучих полей.Почему я должен выебываться с инициализацией поля каждому объекту и тратить память, если он мне нужен в прототипе. Или писать в прототип в обход сахарной конструкции. Зачем она вообще нужна тогда? Я не понимаю, что помешало позволить писать class { ololo: 'some string' static kokok: 100}В чем смысл ограничения то?
>>738561Поставь typescript. Можно писать и без типов, зато будет так, как ты хочешь. Транспайлится все так же.
>>738564Я знаю, что можно поставить, чтобы было.Меня интересует, что сподвигло отказаться от этого в спеке. Это же вроде ничему не помешало бы.
>>738569http://stackoverflow.com/a/22986568/4957036
>>738489Паттерны go не примитивные.
Кто что юзает на атоме?
http://geekforbrains.com/post/after-a-year-of-nodejs-in-productionNode классная!
>>738488> Сколько ты кода написал на go? Каждый день пишу на работе на go.> На нем писать сложнее, чем на js.Лично мне - нет.
>>738025где-то тут есть ветка ниасиляторов лол, нода ахуенная.
>>738622Этот переписыватель сломался, несите нового. Обоссали уже в соседнем треде, иди нахуй
>>738625А ты ссылку дай на "обоссывание".
Я поднимаю вопрос, на который так и не получил ответа.Как по-вашему, какой путь для типизации более приближен к концепции js?Имеющиеся кандидаты:1. TypeScript style >function (arg: Type)2. Decorators (пример для примера, там можно что угодно придумать, суть в самих декораторах)>@typeCheck {arg: Type}>function (arg)
>>738647Тайпскрипт конечно, декораторы какой-то костыль
>>738660Но декораторы часть стандарта в будущем, а тайпскприт как раз костыль.
>>738666Проверять типы через декораторы это костыль, а не сами декораторы.Тайпскрипт это не костыль вообще, это компилируемый в жс язык, каких сотни тысяч уже.
>>738581юзаю VIM вместо этого поделия
>>738668олдфаги юзают эмакс
Как поделить онлайн чат на несколько комнат, которые создаются по требованию?
Если бы вы создавали JS сейчас, то чего-бы вы в него не включили?Если проще говоря, очень часто говорят про различное легаси в архитектуре языка. Что именно? Что бы вы выкинули?Что добавили? Что сделали иначе?
чем он не доволен?
>>738841Он считает что ты объявляешь функцию внутри цикла. У тебя свитч не в цикле случаем?
>>738841А нахуя ты объявляешь массу одинаковых функций в качестве листнеров. Ты больной?
>>738841Вынеси функцию-обработчик за пределы цикла.А далее присваивай ссылку на нее.
>>738841>div.querySelector('.memoryElem').querySelector('.memoryAnswer')Умоляю, скажи честно, ты болен чем-либо или ты не умеешь в селекторы?У тебя же ебанистический оверхед всюду.>div.querySelector('.memoryElem .memoryAnswer')
>>738847в цикле фор>>738852ну это понятно, только зачем, если эти функции только там нужны>>738853да, не умею, попробую твой способ
>>738853работает, спс
>>738855>ну это понятно, только зачем, если эти функции только там нужныТы не понимаешь, что ты в цикле создаешь МНОГО ОДИНАКОВЫХ ФУНКЦИЙ. Каждая занимает память, при этом каждая функция идентична. Ты действительно не понимаешь?
>>738855>в цикле форНе надо так.Если ты в цикле объявляешь функции - то ты что-то делаешь не так.
>>738855>только зачем, если эти функции только там нужныВ твоей квартире есть дверной звонок и дворецкий должен открывать дверь каждому гостю, позвонившему в этот звонок.Вместо того, чтобы использовать одного и того же дворецкого, ты нанимаешь по дворецкому на каждого гостя. Вот что ты делаешь.
Сап, паrни! Может мне кто объяснить в чем прикол __proto__ и prototype. Типо __proto__ - содержит все свойства, того чего он наследует, а prototype - конструктор и соответственно __proto__? Честно все эти learn'ы и хабры - читаю - нифига понять не могу
>>738861>в чем приколДа так, по накурке лдаст вор лулз запилили, не обращай внимания вообще.
>>738863но я хочу понять
>>738858окспс за объяснениепереписал
>>738860>>738859ок, спс
>>738864__proto__ свойство объекта, указывает на его прототип. 2ch.__proto__ то же самое что Object.getPrototypeOf(2ch)нежелательно использовать __proto__ это моветон. Его впилили в стандарт только потому что это было недокументированное свойсвто поддерживаемое всеми браузерами, а появилось в них, раньше рефлекии. Для доступа к прототипу используй специальные функции. Тем более что __proto__ обычное поле и может быть переопределено.prototype свойство конструктора, описывающее прототип для будущего объекта, который конструрирует твой конструктор.
>>738869О, так понятнее, сяп!
>>738869т.е. в двух словах:__proto__ - то, что наследуем,prototype - описание конструктора
>>738581Vim.
>>738622Какая-то истеричка не может понять, что все языки - говно и надо просто пользовать что есть.
>>738872prototype - для конструктора.в нем хранится то же самое, что ты получаешь потом через __proto__Только прото ты используешь из готового объекта,а прототайп с другой стороны, еще до инициализации объекта.
>>738872конструктор это тоже объект, и унего есть свой прототип.constructor.__proto__ и constructor.prototype это разные объекты, это надо понимать.
>>738187бамп?
>>738187>Как можно передать браузеру имя файла без дополнительных запросов со стороны клиентаНикак, представь, что будет, если браузер начнет рыскать по файлам пользователя.
Жсоны, есть задача. Надо сязать пользователей с городами, как показано на пикче. Использовать надо jquery. Рядом с каждым пользователем есть кнопка "добавить город" по нажатию которой появляются два дропдауна с выбором страны и города. Данные эти дропдауны получают по аяксу. Так как я с жикьюери мало работал, то вот мои вопросы:1. где хранить шаблон(хтмл) для этих дропдаунов, так как их надо будет добавлять много.2. какими методами надо будет сделать связь этих дропдаунов с пользователями, чтобы передать правильную инфу3. как вставить их в нужное место на странице? Надо будет делать какие то специальные имена классов в которых будет пристутствовать userId?
>>738958Лол, каким файлам пользователя. Я просто хочу, чтобы вместе со стримом видео с сервера как-то пришло и его название, чтобы при "save as" или открытии этого видео в отдельно вкладке (т.е. без html страницы, где оно вставлено), это название было видно.Или так нельзя, и единственный выход это дополнительная кнопка "скачать", которая там будет выставлять нужное имя файла?
>>738981> или открытии этого видео в отдельно вкладке В этом случае имя файла это часть url, что ебешь мозги. Формируй url на сервере.
>>738967Никто не будет тебе это объяснять.Ты не с теми вопросами пришел.Или иди изучай js или плати деньги, чтобы за тебя решили твою задачу.
>>738581sublime or idea
>>738967Пользователи у тебя на сервере или это чисто фронтэнд?
>>738997Я же написал конкретные вопросы, которые мне не понятны. Подскажи какой нибудь гайд чтобы я почитал и решил эту проблему.>>738999Пользователи с бекэнда приходят. Ну и вообще в конце таблицы еще есть кнопочка применить и уже на стороне сервера пользователи будут привязываться к городам. А мне надо туда отправить список айди городов связанных с пользователями, но это я знаю как сделать.
Поясните за загрузку файлов на сервер аяксом. Мне нужно его сконвертить в строку а потом отправить как значение в жсон объекте? Или отдельно отправлять? Просто у меня еще данные из формы передаются.
>>739042multipart/form-data
Анон, поясни, допустим я захочу свою срань на хостинг залить, чтобы показать кому - нибудь, мне для этого нужно домен регистрировать или можно будет как - то по ip зайти?
>>739090Heroku.comЗаливаешь на халяву и показываешь кому надо.
>>739098Спасибо
>>739090Если тебе не нужен постоянный онлайн, то и без хостинга обойтись можно. Например вот так https://localtunnel.me/
>>739042var fData = new FormData();fData.append('key', 'value');$.ajax({ url: '/url/', data: fData, cache: false, contentType: false, processData: false, type: 'POST', success: function(data) {console.log('response:', data);}, error: function(xhr, status, err) { console.error(xhr, status, err.toString()); }});Я это делаю так.
>>739102О, вот этого годнота
Если в реакте делать ajax запрос в рендере, это совсем пиздец?
>>739226Конечно, для этого есть ComponentDid(Will)Mount.
>>739227Так это понятно, но мне надо в рендер
>>739229Что значит "надо", тебя что палкой пиздят и заставляют говнокод писать? Помимо прочего, если ты собираешься использовать резалты аякс запроса внутри этого компонента, то ты получишь охуенный рекурсионный фейл.
>>738865
>>739231А если я буду вызывать this.ComponentDidMount это тоже пиздец?
>>739248Ты объясни зачем тебе эта вакханалия, мне просто интересно что у тебя за юзкейс такой.
>>739249Юзкейс называется ньюфаня пишит говнокод чтобы закрепить знания о реакте.Алсо, спасибо что поясняешь
>>739254Если у тебя нету стейтменеджера какого-то, т.е. флакс реализации какой-то (редакс, альт, рефлакс, етц) то ты используешь локальный стейт компонента, т.е. this.state = { key: value }, ну или getInitialState() если ты не как порядочный человек классы объявляешь. Твой компонент загружается, ты в componentDidMount() вызываешь свой аджах, success = (response) => this.setState({value: response}). И других вариантов особо нет, рендер занимается исключительно отображением данных.
Зацените сортировку.[5,1,2,6,12,1,64,13,7,15].forEach(function (num) { setTimeout(() => {console.log(num)}, num*5)});
>>739259Я так и делаю, спасибо Но могу ли я вызвать componentDidMount() для отправки нового запроса чтобы стейт обновился и компонент получил новые данные?
>>739260>[5,1,2,6,12,1,64,13,7,15].forEach(num => setTimeout(() => {console.log(num)}, num*5));Взялся писать нормальный джс, пиши до последнего.
>>739266Буду на собеседованиях ее хуярить.
>>739265Для этих целей есть специалные хуки в лайфсайкле компонента. Как-то componentWillUpdate, componentWillRecieveProps и иже с ними. Вот почитай, даже если с английским плохо, тут не много.https://facebook.github.io/react/docs/component-specs.html#lifecycle-methodsЛюбое обновление стейта через setState вызывает ре-рендер компоненета. Если тебе новые данные нужны по таймауту, скажем апдейты раз в минуту, то ты просто можешь в CDM (didMount) установить setInterval() и получать апдейты регулярно. А если по юзер реквесту, то ты делаешь отдельный метод, например getUpdates(), не забываешь его биндить в конструкторе this.getUpdates = ::this.getUpdates, и по клику на нужные тебе элемент, onClick={this.getUpdates} ты выполняешь нужный тебе реквест на апдейты.
>>739260Зачем num x 5Делай num+1
>>739272>А если по юзер реквесту, то ты делаешь отдельный метод, например getUpdates(), не забываешь его биндить в конструкторе this.getUpdates = ::this.getUpdates, и по клику на нужные тебе элемент, onClick={this.getUpdates} ты выполняешь нужный тебе реквест на апдейты.Вот про это я и спрашивал, большое спасибо
>>739260>[5984565421, 25466544, 788888851]
>>739273num+1 - это считай num, точность будет низкая. 1 ms разницы может не хватить, чтобы вывести предыдущее число.
>>739278Тесты проведи.Или используй вместо таймаут реквестаниматионфрейм. Там учитывается все.
>>739276[1, 1<<30]
>[5,1,2,6,12,64,13,7,15].sort((a, b) => a - b)problems weren't.
>>739285[5,1,2,6,12,64,13,7,15].sort()
https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript
>>739102>>739105Еще есть ngrok.
>>739266> [5,1,2,6,12,1,64,13,7,15].forEach(num => setTimeout(() => {console.log(num)}, num*5));Зачем фигурные скобки вокруг console.log? Мы вам перезвоним, в общем.
>>739387Я лениво фиксил его трилайнер.
Все знают, что в шестом ноде добавлены аргументы по-умолчанию?function sum(x = 0, y = 0) { return x + y;}
>>739397Все транспайлят es6\7 уже давно.
У меня бугурт, что в JS так и нет полноценного кортежа. Нельзя написатьmyFunc(x instanceof Array ? ...x : x);так как ...x не может существовать "самостоятельно"
>>739411Я имею ввиду кортеж в луавском смысле, не в питоновском.
Какой нынче самый толковый и актуальный туториал по реакту? Ну, кроме фейсбуковских доков.
>>739247что значит "f &&..."?
>>739453f - переменная.&& - "and" оператор.
>>739453>что значит "f &&..."?почитай, как работает &&
>>739453там записано то же самое, что иif (f) btn.onclick = f;только более понтово.
Как можно писать на js и не знать паттерна> data && data.pos && data.pos.xхотя бы в теле условия?Кстати, от него же вроде как-то хотели избавиться в ES7?
>>739468спасибо, хорошо объяснил
>>739247"var btn of buttons" тоже интересно сделано, первый раз вижу
>>739418Фейсбуковские до...>Ну, кроме фейсбуковских доков.Тогда хз.
>>739387>[5,1,2,6,12,1,64,13,7,15].forEach(n => setTimeout(console.log.bind(console), n*5, n));
>>739397В chromium уже давно
>>739498for-of довольно новый стандарт. Если нужна совместимость со старыми браузерами, юзай i = 0; i < ...
>>739537В твоей вселенной не завезли транспайлеров?
>>739550>транспайлеровможешь сразу на тайпскрипте писать, мне похер.
>>739552Я на нем и пишу, лел.
>>739537ясно, спс
Хочу js рантайм как в smalltalkСкомпилированными образами.
Как считаете, wasm убьёт JS? Эйх говорит, что нет. Но он мне сейчас напоминает Януковича, который сам вступил в заговор против себя и вот-вот всех переиграет.
>убьёт JS
>>739644Он скорее его дополнит, у них разное применение.Хотя было классно, если бы любой язык мог компилироваться в него и все бы освободились от JS-папаши.
>>739644Он ничем не отличается же.Выполнение не ускорится. Ускорится лишь парсинг, потому что wasm - суть astИсполняться будет в той же vm, как и обычный jsПри этом wasm слишком низкоуровневый, ив него еще даже не завезли работу с объектами.А это значит что к окружению не подцепиться, пока еще. С тем же успехом можно и сейчас транспайлить из других языков в js, максимально оптимизируя код по asm.jsЭто одно и тоже.wasm не приносит ничего нового, чего нет или не будет в обычном js
>>739677>Выполнение не ускорится.Если не считать что жс - тормозное говнище, которое даже v8 не вытаскивает, то да. На практике - нет, такой хуиткой можно будет достигнуть перформанса явы.Чтобы не истекали говном, оставлю стандартно http://benchmarksgame.alioth.debian.org/u64q/javascript.html
>>739644Вам дебилам куча прайм пипл, с учетом самих создателей wasm твердит что у них разные задачи, но видимо бестолку.
>>739680>тормозное говнищеСамое быстрое из интерпретируемых.>vs JavaС плюсами сравни ещё, ебан.
>>739680Дурачек.wasm ничего не ускорит.пиши оптимизированный код сейчас, и будет тоже самое.По факту все ждут не wasm а оптимизирующих компиляторов. Потому что сами писать не умеют.А wasm для этих самых компиляторов.wasm это блядь просто AST
>>739684А почему ты считаешь что такие сравнения == говно? мимоньюфаг
>>739685>пиши оптимизированный код сейчас, и будет тоже самое.Дай мне возможность не вычислять типы в рантайме и ебаться с указателями как в плюсах вместо копирований на каждый пук - напишу.>wasm это блядь просто ASTЭто в первую очередь возможность эскейпнуться от сборщиков мусора, юзать многопоточность и писать то, что жс не позволяет.
>>739695Потому что ему пичот. Раньше можно было сказать - да, интерпритируемый, не корректное сравнение. Теперь он так же компилируется в байткод, но ему не помогает.
>>739698>Это в первую очередь возможность эскейпнуться от сборщиков мусора, юзать многопоточность и писать то, что жс не позволяет.Ты поехавший?Этого не будет.Эскейпиться от GC ты и сейчас можешь, используй типизированные массивы. >Дай мне возможность не вычислять типы в рантайме wasm их так же будет вычислять в рантайме.Ты плохо понимаешь что такое wasm похоже.
>>739698>не вычислять типы в рантайме >эскейпнуться от сборщиков мусора>юзать многопоточность>писать то, что жс не позволяет.Представил твою фрустрацию, когда ты выйдет wasm.Спасибо. Ты сделал мой вечер.
>>739683Двачую этого. Этим дебилам уже в шапку вынесли ответ на вопрос, но они продолжают сравнивать васм и жс. Давайте ещё питон и свифт сравнивать.
>>739698>не вычислять типы в рантаймеВсегда будет.Для статической компайл-тайм есть препроцессоры.>сборщиков мусораПили поверх типизированных массивов свои типы данных. Там тебе голая память, на здоровье. >юзать многопоточность Она предоставляется окружением. В браузерах есть webworkersУ ноды нет и не планируется многопоточности, откуда wasm ее возьмет по-твоему?У ноды есть модули реализующие кластер из процессо.>писать то, что жс не позволяет.WebAssembly не даст писать ничего, чего не позволяет писать js. Он даст лишь иной синтаксис, для представления скриптов, удобный машине,а не человеку. Всё.
Т.е. после появление wasm можно будет наконец писать клиентские html5-игры, которые каждый школьник не сможет хакнуть из консоли или спиздить для показа на другом домене?
>>739701Падажжи, ты сравниваешь жс-движок с виртуальной жава-машиной? Ты вменяемый?
>>739737Пиздец, какой же ты мудак блять. Почему, сука, вы не учите основы веба, как он работает, а сразу лезете в жс? А? А? Пидоры
>>739744у меня опыт js > 5 лет. просто я про wasm не очень понял.
>>739745p.s. Я к тому, что будет ли возможность представлять исполняемую в браузере огику каким-то байт-кодом, а не человекочитаемым скриптом и не уродливым обфускатом.
>>739746логику
>>739745И что ты пять лет делал, формсы на жквери отправлял? С тру-5-летним стажем ты б такую хуйню не спрашивал
>>739746wasm это ASTон читается человеком.И потом, wasm манипулирует все теми же сущностями vm. А vm управляется из рантайма. Так что, что можно будет хакнуть, как и прежде, не беспокойся.Пикрелейтед, то как wasm будет выглядеть для человека, например в дебаггере.
>>739755лиспом завоняло чет
>>739756Нет. Это ближе к LLVM IR.От лиспа там нет ничего.Это именно ассемблер.Только не для твоего нативного процессора, а для js-engine
>>739758А компилятор из JS в эти скобки будет?
>>739761Нет. Из asm.js разве что. Но если бы ты мог писать asm.js руками, то и wasm сможешь писать руками.
>>739761Компилятор это ты.Если ты пишешь ебанистический код, где в циклах создаешь замыкания, и ебашишь метапрограммированием повсюду. То в какой бы wasm ты чего не переводил - ничего не измениться.
>>739767я сейчас думаю не о скорости, а о банальной защите исходников.
>>739768Так они ничем не защищены же.Это тот же asm.js ином представлении.Из wasm легко переводится в jsА уж деобсфукация jsэто сам понимаешь, зависит от объема и логики.
>>739771Нет, разница всё-таки есть. Ты сложную программу и на С++ (asm), и на Java (байткод) заебешься восстанавливать из каши, которая получается после компиляции. Почему такого же не сделать для JS.
>>739768Чтобы перевести из JS в WASM, тебе надо преобразовать свой js код в asm.js совместимый. А для этого придется отказаться от многих вещей, и использовать лишь надможество js.А вот из WASM в JS (asm.js) переводится легко.
>>739755Нечитаемая параша, а зачем это нужно, анон, объяснишь?
>>739773Так с тем же успехом, ты можешь защищать сейчас свой код, если будешь писать на asm.jsЭто тоже самое.
>>739775В эту парашу должно быть легко скомпилировать многие языки, например. Сейчас всякие дарты компилятся в JS, а будут сразу в это.
>>739775Для упрощения написания компиляторов из других языков. Но, не принося никаких фич из этих других языков, которые нельзя бы было реализовать на js
>>739777То есть писать на нем не надо будет?
>>739777Сейчас все компилится в asm.jswasm это тоже самое. Только ужато до байткода.Ускорение только на уровне парсинга исходного файла. Все.
>>739779Надо будет.Разработчикам компиляторов.
>>739779Только при желании.WASM даёт возможность писать браузерные клиентские программы не только на JS. Отсюда и опасения, что JS-у хана.
>>739783А что работает быстрее?
>>739783Но возможностей никаких не будет, сверх тех, что и так доступны из js
>>739788Будет гонка компиляторов в wasm из разных языков, очевидно. Как бы только JS тут не отстал.
>>739788Ничто. Одинаково.Про asm.js знаешь?
>>739794>Одинаково.Ага, если на js писать как на asm.js
>>739794Сейчас читаю спецификацию.>>739790Мне очень нравится js, все, за что его не любят программисты других языков, для меня наоборот манна небесная.
>>739790>Как бы только JS тут не отстал.Пока все будут придумывать как им изъебнуться чтобы представить свои стипы и стркутуры из других языков, в типы и структуры на js, в то время когда в js они уже представлены?Конечно, как бы не отстал, да..
>>739796У них разные задачи.В wasm нет объектов.
Весь этот хайп он именно хайп.Все думают что вот будет, кококок.Суть в том, что wasm не приносит никаких новых возможностей, для того, чтобы компилировать из других языков в js.Это уже сейчас можно делать.Например есть emscripten. Он и останется, только на выходе будет байткод.Если бы кому-то надо было компилировать в js Хаскель\руби\го\питон\етк, то и компилировали бы уже давно.Но никому не надо.А если и есть какие-то поделки, то они все тянут с собою ебанистические рантаймы, и ими никто не пользуется в серьез.Все так и останется.Wasm нужен именно для компияторов. ЧТобы использвовать их оптимизации при алгоритмах с числодроблениями например.
>>739810Алсо, вместе с wasm придут расширения спеки, типа совместимых дататайпов с низкоуровневыми языками, или SIMDНо пользоваться ими можно будет и из jsТе кому и сейчас нужны оптимизации и так пишут оптмизированный код, и задействую всякие ништяки типа TypedArray которые есть уже давно.
>>739797Поддвачну пожалуй.
>>739797>Мне очень нравится js, все, за что его не любят программисты других языков, для меня наоборот манна небесная.На твой взгляд, есть вещи которые ты бы исправил? Может что-то выкинул бы как лишнюю сущность? Может что-то добавил, а что-то реализовал бы иначе?
>>739879В новом JS появился новый пиздец: паттерны наподобие Array.prototype[Symbol.iterator]. Раньше нубов пугали с помощью [].slice.call(arguments), теперь будут вот этим.
>>739891Ну Array.prototype[Symbol.iterator] это метауровень, это полезно и нужно, а [].slice.call(arguments) простое делегирование.
>>739899>а [].slice.call(arguments) простое делегированиепо-моему, главная уловка в том, что новички не знают о ебанутой природе объекта arguments, который не массив, но с параметром length.
>>739900Это описывается в каждом учебнике.Так что если какой-то новичок этого не знает, то он какой-то странный новичок.Уловкой тут было бы правильно назвать, что конструкция >[].slice.call(arguments)на каждый вызов будет создавать экземпляр объектаИ вернее использовать Array.prototype,slice.callЭто разумеется мелочь, и в отдельных случаях экономия на спичках. Но выходит так, что опуская подобные мелочи в самом начале, люди во-первых не до конца понимают архитектуру языка, а во-вторых приучаются писать плохой код, потому что во-первых.То же самое с замыканиями и прочими вещами. На хеллоу-вордах, много замыканий не страшно разумеется. Но им кто-то видимо говорит это так. что это нес страшно вовсе, потому как потом они запиливают эти замыкания в циклах, на каждый чих и все такое прочее. Переучиваться потом сложнее, чем понимать сразу. К слову слайсить arguments тоже нет необходимости всегда, а только лишь тогда, когда тебе нужен этот аргументс полностью как массив. Но я часто видел, как люди слайсят его и просто, чтобы например получить последний аргумент (зачем-то). Печально то, что многие не вникают в суть той или иной конструкции, да.
>>739900Не знаю, зачем его слайсят всегда, создавая новый объект, когда можно просто заменить прототип>Object.setPrototypeOf(arguments, Array.protytype)
>>739917Ты че мутируешь?
>>739924Что?
>>739879Не он, но отвечу.Добавил бы статическую типизацию и расширенный ООП уровня шарпа. Тайпскрипт идеален, жалко его нужно компилировать и пока нет движков, выполняющих его напрямую.
>>739928А быстро ли будет он напрямую выполняться со всеми этими проверками?
>>739928В чем проблема компиляции? Тот же шап, нужно компилировать в IL, который выполняет CLR, тот же механизм ts->js->browser/node. SystemJS, кстати, может загружать .ts файлы, и компилировать их уже в браузере.
>>739926Аргументы.
Ангуларобоги, подскажите. По нажатию на Enter отправляю сообщения в чат и делаю содержимое инпута равным "", курсор после нажатия перескакивает на следующую строку. Как изменить поведение курсора, чтобы он оставался на месте после нажатия на энтер?
>>739940Найти и закомментировать код, который заставляет курсор перескакивать, лол.
Сап. Насколько встроенные методы завязаны на встроенные объекты?Если я перепиливаю весь рантайм, меняю прототипы у встроенных объектов и все такое прочее. Есть ли вероятность того, что где-то какой-то метод завязан на метод встроенного объекта, а не использует его через какую-то внутреннею ссылку?Проще говоря, если я например переопределю Array.prototype.sortЕсть ли вероятность что сломается какой нибудь Element.prototype.someMethod ?(речь только о встроенных объектах)
>>739940Гугли preventDefault
вангую в итоге скрипт на тыщу строк
>>739954Используй === вместо ==, когда тебе не нужно приведение типов. У тебя много таких вещей, как например if (memoryList.style.display) {memoryList.style.display = ..}else{memoryList.style.display = ..}Каждый раз, у тебя запрашивается сначала объект memoryList потом memoryList.style а уже потом поле memoryList.style.displayВместо этого вынеси один раз memoryList.style в переменную и уже дальше используй style.display
>>739961спс, учту
>>739961>Вместо этого вынеси один раз memoryList.style в переменную и уже дальше используй style.displayЭто копейки рядом с временем операции по применению любого стиля.>>739954А что, jQuery уже не в моде?
>>739954Алсо, в цикле у тебя там memoryButtons.children.length Проверяется каждый раз, хотя количество кнопок статично.Зачем?опять же выноси в переменную. Не дергай объекты каждый раз, тем более children возвращает живую коллекцию Приучайся писать оптимизированный код сразу. Пытайся понимать, что ты делаешь, каждый раз, чтобы понять, где ты что-то делаешь не хорошо.
>>739968>Это копейкиЯ уже писал, чем чреваты такие копейки в будущем. >>739908
>>739968> jQuery уже не в модеА это модно, учить язык с фреймворков?
>>739949Спасибо, решил проблему. Следующий вопрос, необходимо по комбинации shift+enter не слать сообщение в чате, а переходить на следующую строку в чате. Как сделать?
>>739977Отлавливаешь нажатие на клавишу (enter)и в обработчике смотришь не зажата ли при этом shiftПосмотри в консоли на event который передается в обработчик, там вроде даже есть специальный флаг зажата ли shift
>>739977Лови keydown и смотри
>>739968я за полгода еще даже ваниль толком не усвоил, какой жиквери
>>739980>>739982Да, нашёл флажок. Спасибо.
>>739987jquery потому и советуют, ибо он проще ванили.Но это не тру, начинать не с ванили. Все правильно делаешь.
>>739992да наверное, если заюзать жиквери и всякие библиотеки, то код станет в 10 раз короче
>>740000Сейчас ваниль на том уровне, когда и на ней можно писать не длинее жиквери.
>>739908тут поддвачну, с начала месяца читаю Кантора там же все это есть. Какие-то тупые новички раз в элементарное не въезжают
>>739928А я бы ничего бы не менял. Js вполне логичен, если сесть и разобраться в нем самом, а не сравнивать с другими яп и тем как привык, как не привык.Но мое мнение никому не интересно, поэтому и выходит что могу на двачике только его писать
>>740005А меня например коробит, от нововведеной конструкции class которая не нужна, а еще от испокон веков поведшейся концепции хранить конструктор отдельно от прототипа.Должно быть что-то типа Object.new () {return Object.create(this)}Как раз это бы было максимально логично.И так, чтобы инстансить можно было любой объект. А если в нем не прописан конструктор, то возвращается именно Object.create(this)
>>740007>меня например коробит, от нововведеной конструкции class которая не нужнаНедавно переделал все фабрики в своём nodejs-проекте под class'ы - код стал намного чище. Стало можно без изворотов делать многоуровневое наследование.
>>740007class Creature {}class Feline extends Creature {}class Lynx extends Feline {}Запиши это без классов.
>>740011Я тебе тоже самое могу сказать.Запиши мне с помощью classВ прототип поле field со значением trueИли в статик поле запиши? А наследование реализуется как и прежде. Только раньше можно было запилить удобную обертку, и она бы не выбивалась из общей концепции. А этот сахар новомодный, как раз выбивается, потому что он не повторяет поведения.
Обезьяны, у кого сегодня null null?http://elm-lang.org/blog/farewell-to-frp
>>737862 (OP)Жаваскриптаны, оцените хуйню которую я написал на жкверях.https://jsfiddle.net/Lk7w309j/Код вначале скрипта - плагин на колесо мыши (не нашел как иначе добавить), дальше мой. Сносно или пиздец?
>>739680>>739644Господи, все эти дилетанты, которые абсолютно не понимают как работают браузеры, которые абсолютно не понимают зачем и почему есть жс. Кичиться какими-то бэнчмарками, но не знать про то, что бОльшую часть времени выполняются рендер, обращения к дому и к прочим браузерным апи.Прежде чем открывать рот, хоть вот это посмотрите.https://www.youtube.com/playlist?list=PL7664379246A246CB
>>740156>в тестах тестируют node js>но не знать про то, что бОльшую часть времени выполняются рендер, обращения к дому и к прочим браузерным апи.>все дилетантыПодмойся.
>>740167Я про отсутствие фундаментальных знаний. Вот и ты не понимаешь как нода работает, поэтому бэнчмарки как показатель ПРОИЗВОДИТЕЛЬНОСТИ можешь засунуть куда подальше вместе с:> transliterated from Mike Pall's Lua program> transliterated from Rick Branson's Ruby program
>>740177Я все прекрасно понимаю. Но спорить с персонажем с завышенным ЧСВ, который не предоставил опровержения бенчам (хотя ведь если он такой всезнающий, для него бы не составило труда переписать тест под ноду, и доказать свою правоту по в-рослому, а не кукареканиями - вы врееетии) и поклоняется каким-то аффторитетам, типа Крокфорда. О чем с тобою говорить.
>>740181Че, Крокфорд не авторитет?
>>740183Авторитетов не может быть вообще.
Поясните по JWT.Данные, которые находятся в теле, довольно предугадываемые. Что мешает злоумышленнику, зная вход, выход и алгоритм, подобрать наш секрет и подписывать себе админские токены?
>>739680А почему не все тесты в ноде мультипроцессорные? Не чесна так!
>>740204>подобрать наш секретКаким же образом?
>>740214Самое простое - отксорить. Конечно, с hmac не пройдет, но первая интуитивная мысль - почему бы и нет?Сейчас читнул SO, говорят, можно только брутфорсом.
>>740225>Сейчас читнул SO, говорят, можно только брутфорсом.В том то и дело, ты представляешь себе возможным брутфорсить JWT токен со сроком годности? С учетом того, как легко присечь подобного рода брутфорс, заморачиваться на эту тему не стоит.
>>740227Да это понятно, я думал, вдруг есть что-то, кроме брутфорса.>легко присечь подобного рода брутфорсА вот это не правда. Перебор на клиенте же.
>>740233>Перебор на клиенте же.Ну будешь ты с клиента машины спамить, как это помешает серверу контроллировать токен спам?
>>740237Мы на сервер ничего не передаем. Подбираем секрет, пока не сможем верифировать наш же токен.
>>740239Интересно, я наверное просто не в теме, я помню читал статью про client side bruteforce и она по сути сводилась к тому, что это стандартный брутфорс, просто ты не отсылаешь токены через кукисы атакующей машины, а используешь клиента для выполнения атаки. Я не совсем понимаю, как ты без сервера узнаешь что токен прошел верификацию, когда сам факт верификации объявляется сервером?
>>740245Так верификация это просто декодирование, используя входное сообщение, алгоритм и секрет.Делаем hmac_decode, пока не получим выходной json.Конечно, есть вероятность коллизии, что hmac_decode(secret1) = hmac_decode(secret2). Но мы даже до нее вряд ли сможем забрутить.
Посони, кажите где косячу в скрипте? Надо получить среднее арифметическое, значения переменных приходят корректно, но полученное значение не выводит в <p> http://pastebin.com/k160tNZnмимопитонист
>>740267Ну ты б свой $('p.hui') бы хоть проверил сначала, питонист.
Есть html таблица, из неё нужно вытащить данные, которые находятся в ячейках и сформировать ассоциативный массив, после чего сформировать xml страницу с этими данными. Как это осуществить, аноны?
>>740277думаешь, тебе тут готовый скрипт напишут?я блять не представляю даже где у тебя сложность возникла
>>740287та не готовый скрипт, а что делать вообщекак из html таблицы массив сформировать, как потом xml из него создать
>>740271Поясни что не так? Или просто мамкин петросян упражняется?
>>740288Ну не будь мудаком.http://stackoverflow.com/questions/11383236/how-to-output-html-form-data-to-a-xml-file-using-javascript>>740290У тебя там проблема в том, что ты пытаешься взять p по классу, а у него по факту id: p.hui => p#hui.
>>740293блё, я так и знал, что в какой-то мелочи лоханулся. Спасиб
>>740293Спасибо!
>>740245Почитай про jwt. Сервер даже не хранит токены.
Тут чувак в презентации говорит, мол если юзать реакт с жуквери, то виртуал дом похерится, потому что реакт не будет понимать, где свои изменения, а где жукверевские:https://youtu.be/YJNUK0EA_Jo?t=938Это что значит, если что-то пилишь на реакте, нельзя на эту вещь одновременно как-то другими штуками влиять?
>>740468Да никто тебе не запрещает, влияй.
>>740070Бамп же
>>740485Но реакт тогда пробется и не сможет отслеживать изменения дома извне? Или сможет?
>>740496Зачем тебе жеквере в реакте?
>>740496Жеквери можно использовать не только для манипуляций с домом :^)
>>740498>- сколько стоит доллар?>- зачем тебе доллары?Ты еврей?
>>740498Ну например для жеквери уи
>>740503Окей,я поставлю вопрос иначе.Если менять дом в обход реактовского вдома, например используя ванильные методы - то вдом теряет смысл, верно?
>>740498Пока мне это все вообще нахуй не надо, но предупрежден значит вооружен и все такое.
>>740506Да. Плюс это еще ебет в рот смысл реакта как инструмент для однообразного отображения куска дома из определенного стейта.
>>740515Это значит, что реакт монополизирует ДОМ.Если кто-то написал что-то на реакте. А потом кто-то захотел, что-то допилить, не затрагивая всю архитектуру (добавить ебаных снежинок, лол, не суть что). То это все пойдет по пизде?Во времена библиотек, такого не было.
>>740531это значит что снежинки тоже на реакте надо пилить, и мы тихонько подходим к мысли что тот, кто не знает реакт, будет беспомощный лох.
>>740531Ну конкретно для снежинок добавим ветку в дом, которая будет на том же уровне что и корень реакта.
>>740542>>740534Это означает именно монополизацию.То с чем так долго боролись, по типу модификаци нативных обхектов, расширения\изменения нативных прототипов и все такое прочее, что мешало бы в проекте использовать сторонние модули, или дополнять проект не зная third_party библиотек.Все это вылезло в ином месте.
>>740547Я бы не рассматривал это как что-то ужасное.Времена, когда надо было добавлять свистоперделки на свой сайт на народе уже давно прошли. И для задач простого представления информации давно уже придумали кучу элегантных решений.Но сейчас то задачи сводятся к другому, люди хотят видеть полное приложение, к чему хтмл и дом приспособлены очень плохо, они не создавались для этого. Для этого и придумывают такие вещи как виртульный дом, и реакты, чтобы создать некую систему взаимодействия и это не предусматривает кучу костылей.В любом случае стек и инструменты это твой (или твоего начальства) выбор.
>>740534>будет беспомощный лох.Если я заказываю проект, с учетом того, что правок в его архитектуре не будет, но я может в будущем захочу допилить там лишнюю формочку, или добавить выпадающую менюшку, а так как я не вау-программист, и мои знания ограничиваются ванилой и джеквери. Я плачу за эту работу, и мне запиливают так, что я потом нихуя не смогу сделать не нанимая кого-то снова - это не круто. Чтобы починить\заменить вилку от провода, мне не нужно знать физику\электрику.Чтобы заменить масло или ремень, не нужно быть автослесарем.
>>740559> Чтобы заменить масло или ремень, не нужно быть автослесарем.Если это шестерка твоего бати (веб 2.0), но не если это болид формулы 1.
>>740558Парадокс в том, что когда всякого рода монополизацию делали с помощью неразрекламированных продуктов, хотя точно так же отлично документированных. Сообщество взрывалось - да как так можно.Как только монополизацию произвели корпорации - сообщество проглотило и попросило еще.
>>740571>когда всякого рода монополизацию делали с помощью неразрекламированных продуктовнапример?
>>740573Например sugar.js
Ну вот что за хуйню он тут лепит? Монополия, блядь. Вообще охуеть. Запилят тебе на бекбоне с кофескриптом в *.eco темплейтах приложение и захочется тебе добавить завтра новый кусок к нему, знаешь что ты будешь делать? Правильно, будешь ебашить бекбон на кофе в ико темплейтах или с нуля всё переписывать под то, что тебе надо. А знаешь что будет если тебе на ангуларе запилят такое приложение? Всё верно, будешь хуярить на ангуларе, может ещё и тайпскриптец подтянуть надо будет. Или, если ты не "вау-программист" будешь искать того, кто знает стак который у тебя в продакшене. Всегда так было и всегда так будет.
>>740558>к чему хтмл и дом приспособлены очень плохоЧем это?Все тормоза не из-за них, а из-за возможностей которые они предоставляют. А эти возможности очень широкие.Если ебашить динамические интерфейсы на какой-нибудь нативной либе, то там тебе придется все примитивы реализовывать самому, и рендерить самому, когда тебе виджетов будет не хватать. Собственно никто тебе не мешает точно так же делать и в вебе. Например различные онлайн-офисы, не используют для рендеринга дом, потому что это не рационально. Но то же самое было бы и в нативных гуишных либах, точно так же отрисовывали бы на контекстах в ручную.
>>740579>Всегда так былоВ том то дело, что не было.
>>740534>>740547Блять, поехавшие. Шедоу-ДОМ это неофициальный стандарт, который скоро будут поддерживать все браузеры. Второй ангулар тоже в него может.
>>740579двачую. совсем уж ебнулись эти джиквери еба погромисты
>>740575Это инструменты статичного веба, который еще сам Тим Бернес-Ли придумал. И тормоза от того как костылями с этим борются.Канвас это тоже костыль.
>>740585При чем тут shadow дом и vdom?Шадоу дом такой же дом, как и обычный. Только со своим контекстом.А вдом, это легковесная копия, это вообще не дом.
>>740582Конечно было. Инструментов меньше в целом было меньше, поэтому менее разношёрстные стаки были, а по сути если у тебя было extjs приложение, то extjs бы ты и писал. Короче ни о чем вискас, я пошел пить кофе.
>>740589>Канвас это тоже костыль.Канвас есть не только в вебе. Тебе браузер все рендерит на собственном канвасе.
>>740593Я конкретно про браузерный канвас. И хтимл и всякие его друзья типа хмл тоже есть не только в вебе.
>>740590shadowDOM > vDOM потому чтоvDOM временный костыль
>>740598shadow dom - это дом. со всеми вытекаюшими.вдом - это объект, который только биндится и обновляет куски настоящего дома.С тем же успехом, ты мог бы сам управлять обычным домом. Но совсеременный программист слишком глуп для этого, ему нужно чтобы кто-то делал это за него, чтобы он не косячил.Когда shadow dom придет всюду, те кто сейчас не пользуются обычным домом, так же не будут пользоваться теневым. Будут так же использовать такие же прослойки как реакт, потому что с домом они обращаться не умеют.
>>740604>Будут так же использовать такие же прослойки как реакт, потому что с домом они обращаться не умеютА я и не против. Только я предпочитаю думать, что это дополнительный уровень абстракции для удобства, а не я тупой.мимопроходил
Как же я заебался. Нужна регулярка для валидации формы на количество символов. От n до m. Ненавижу регулярки. Спасай, анон.
>>740736>регулярка на количество символовЭто шутка?
>>740606Давай поебемся) я буду нежно и страстно целовать тебя, делать массаж, гладить твою нежную попку и теребить языком соски. Потом войду в тебя, мы сольемся в единый организм, состоящий из оргазма, наслаждения, похоти, чувств, тишины, тоски по детству, низости первородного греха, голубого неба, ветра в поле, ночного костра..затем я поцелую тебя в лоб, прижму к себе и ты укутаешься в мои объятия, предавшись миру Морфия. Я же включу недосмотренный тайтл и добью оставшиеся 5 серий. Выключив ноутбук, я, ощутив тепло твоего тела и услышав размеренное спокойной дыхание, постараюсь уснуть.
>>740736>валидации формы на количество символовЧто это значит?
>>739891[].slice.call(arguments) - это вызов метода slice у array.prototype для преобразования массивоподобного объекта в массив, да? Я недавно js начал изучать
>>737862 (OP)Нужно побыстрее вьехать в D3.js, дайте совет, что ли.
>>740795Да.Поясните мне, стоит ли писать Array.prototype.slice или [].slice достаточно?
>>740811эскобар.жпг
>>740811>>739908
>>740801Насколько быстро?Если есть пара дней, то http://chimera.labs.oreilly.com/books/1230000000345/index.html
>>740736
>>740862
>>740736>/^(.{n,m})$/Не благодари, короче.
Объясните феномен.
>>740879Оберни в скобки. Заработает.
>>740884Можно ещё плюсик впереди поставить, тоже заработает. Но почему ошибка-то.
>>740885Потому что имени нет.Может легаси поведение.
>>740885Ты пытаешся использовать на ходу анонимную функцию, не присваивая ее никуда, и не используя в качестве колбека. Скобочный блок возвращает последний результат, поэтому оно будет работать.А плюсик это вообще приведение к числу так что я хз что там у тебя работает
>>740885Советую почитать, как работает консоль и что такое function expression
>>740891Ну плюсик приведёт функцию к NaN и вернёт его.
>>740891>Ты пытаешся использовать на ходу анонимную функцию, не присваивая ее никуда, и не используя в качестве колбека. И что?Ты когда считаешь 1+2 никуда не присваивая, или используешь любой литерал в репле, это же работает.>Скобочный блок возвращает последний результат, поэтому оно будет работать.Подтяни свои знанияВо=первых стрелочные функции, а что такое скобочный блок я не знаю.А во-вторых ()=>{10} не вернет тебе 10Авто-ретурн работает только для однострочных функций.
>>740892Консоль работает через eval
>>740900>Скобочный блок >()=>{10}Я не про это. Я этот пример вообще не увидел, лол. Я про это (function(){}).В глаза ебусь.
>>740891>>740892То есть по-вашему нормально, что> var x = eval('100'); // x = 100работает, а >var x = eval('function(){}'); // SyntaxErrorне работает?
>>740909Если знать как работает рантайм, такое смущать не будет
>>740909Ты получаешь ошибку потому что это поведение бессмысленно. Ты создаешь анонимную функцию, не присваиваия ее в переменную и не в качестве коллбека. То есть ее невозможно вызвать вринципе, к ней нет доступа.
>>740914Ты в глаза долбишься что ли?Я присваиваю ее в переменную xЕсли следовать твоей логике то eval('100') еще более бессымсленно, но почему-то ошубику не выбрасывает. Алсо ты проебал момент что eval('()=>{}') работает отлично. а вот с function(){} нет.так что твое объяснение высосано из пальца.
>>740914>бессмысленноЭто твое существование бессмысленно.Только посмотрите на него.Изобрели компиляторы, которые оценивают смысл написанного программистом кода.
>>740917>Твоя программа не разделяет моей картины мира, я не буду ее выполнять.
>>740913Да это понятно.Просто забавное поведение.Хочется докопаться до причины.Arrow же пропускает.Мне кажется либо это arrow забыли не пропускать, либо наоборот, осталось легаси какое-то.
>>740920Хотя arrow наверное правильно пропускает, он же на лету оборачивается в bind
>>740835Спасибо, годно.
>>740811> [].slice лучше не писать, так как создаётся лишний [] только чтобы взять свойство его прототипа.
>>740928без >
>>740928Забавно, что в npm пакетах которые все используют не глядя хуй клали на подобные оптимизацииhttps://github.com/juliangruber/isarray/blob/master/index.js
>>740933Не нравится - контрибуть!
>>740933Потому что так и есть.От подобных петушков всегда проигрываю >>740928. Ноль понимания того, как работает компилятор
Анонсы, нужно было программу написать которая просит ввести число больше 100, а иначе (кроме выхода) будет опять выводить окно и спрашивать.Я только начинаю изучать язык и не пойму почему интерпретатор ругается на Break?while (true);{var Number = prompt(+"Введите число больше 100",''); if (Number > 100 || Number == null) break; else (Number < 100) continue;}
>>740938>var Number
>>740939и?
>>740938>Анонсы, нужно было программу написать которая просит ввести число больше 100, а иначе (кроме выхода) будет опять выводить окно и спрашивать.while (+prompt('Введите число больше 100') <= 100) {}
>>740947Мне другой код не нужен, объясните почему этот не работает.
>>740948а хули ты ; после while() поставил?
>>740949p.s. Да там полный пиздец вообще.while (true) { var number = +prompt('Введите число больше 100'); if (number > 100) break;}
>>740950бля, ну табы вырежешь
>>740928>>740935>>740937
>>740952что за чертовщина
>>740949Спасибо, ошибка пропала. Потом выдавало новую на счет continue, но мой мозг додумался что это бесполезная хуйня в ЗАМКНУТОМ цикле.
>>740954Никакой чертовщины.Создать пустой объект дешевле, чем запрашивать цепочку из Array > prototype > sliceили по-твоему как поля ищутся в объекте. Цепочка вызова никак не компилируется в одну ссылку, потому что никогда не известно куда будет ссылаться эта цепочка в следующий момент. Язык динамический же.
while (true){var Number = +prompt("Введите число больше 100",''); if (Number > 100 || Number == null) break;} Почему-то при нажатии "Отмена" цикл не завершается, хотя в условии прописано, опять туплю.
>>740954А у меня наоборот.
>>740961У тебя в условиипрописано либо болше 100 либо nullА при отмене у тебя возвращается 0, ты же его плсиком к число приводишь.
>>740963Даже если бы не приводил, undefined не > 100
>>740961замени null на undefined
>>740958>Создать пустой объект дешевле, чем запрашивать цепочку из Array > prototype > sliceПо твоему в случае вызова метода из объекта, он не обращается к prototype?
>>740967вернее на NaN тогда уж. бля
>>740963Спасибо, понял.>>740965что простите? при чем здесь undefined?
>>740970Когда ты жмёшь отмену в окне промпта, оно возвращает undefined.
>>740971он возвращает null
ладно, запизделся. всё равно нормальные пацаны prompt не юзают. а null тем более.
>>740962Если только ты сделал так.
>>740965Зато undefined == null
>>740967>>740978Не пизди
>>740974А еще нормальные пацаны не умеют в приведение типов.
>>740977Array всегда window.Array в браузере, это глобальный контекст.
>>740978нахер такие приведения.
>>740981При чем тут это.Там константа.
>>740982Знать надо.
>>740983Я не создавал константу, ты где-то накосячил просто. Либо переопределил Array через супер-множественное наследование, а теперь зеленишь.
>>740983попробуйте const prot_slice = Array.prototype.slice;
>>740985Нет. Я тебе гарантирую это.
>>740984
>>740986Зачем. Это не имеет смысла.
>>740985Это ты что-то переопределил.Вот тебе чисто открытая вкладка.
>>740994Отклеилось.
>>740995>>740987Еще раз, логика в том, что при вызове метода объекта, если не указана прямая ссылка, то обращение идет к prototype. Только в случае прямого присвоения (в фабрике) не будет цепочки прототипов. Но будет оверхед на ссылку (4 байта, вроде бы).
>>740994>>740995Забираю свои слова обратно. В ноде тоже наоборот.Тогда я не знаю в чем дело. Может в хромиуме.
>>740996Так оверхед по памяти же, а тут замеряется время.
Не так сильно, но все же да.
>>740999В теперь ноде проверь. там тест честнее чисто логически.
Почему let так странно работает в заголовке цикла? В других языках эта переменная тоже новая каждый проход? Как теперь ловить новичков на собеседованиях.for (let i = 0; i < 5; i++) { setTimeout(()=> console.log(i), i*10); // 0, 1, 2, 3, 4}
>>740998В случае фабрики - да, поэтому фабрика лучше, если объектов меньше 50 тысяч и быстродействие важнее памяти.В случае же чистого быстродействия без создания объекта прямая ссылка, естественно, выиграет.
>>740997>>741002>>740999Алсо, если запускать не из консоли, а из подключенного скрипта, то Прототип снова быстрее.
>>741004Ты мне рассказываешь какие-то очевидные вещи. Я это все и так знаю.Но вот скажи почемуТут так >>740995А тут >>740997И тут >>741006иначе?Все эти тесты мои. Все одинаковые.
>>741007Оптимизация на уровне VM, очевидно.
Анон, а что в реакте в качестве key использовать, когда массив перебираешь? Читал, что индекс это плохо
>>741003Она не новая каждый проход. ее область видимости ограничена блоком.Это тебя ловить надо.
>>741010>Она не новая каждый проходпроверь сам, еба
>>741011
>>741015ты вообще не понял о чем я говорю.каждый проход цикла i получается новая.нельзя ошибочно сослаться на её устаревшее значение в асинхронной функции как в случае с var.
>>741018Потому что в случае с var в момент вызова твоей отложенной по таймауту функции твоя переменная уже изменена. Там нет никакой ошибки. Ошибка в твоем не понимани как замыкаются области видимости.
Начал изучать JS по сайту learn.javascript.ru , остановился на одном задании и никак не мог его решить, посмотрел в ответ на схему решения, а до этого попытался понять логику и составить какой-то алгоритм решения "на бумаге", получилось что-то такое:1) Создать интервал (Number) от 2 до 10, с помощью цикла for:for (Number = 2; Number <= 10; Number++)2) Создать второй интервал чисел от 2 до Number-1 c помощью цикла for:for (i = 2; i<= Number-1; i++)3) Как-то с помощью этих циклов начать делить Number на i и проверять условие:if (Number % i !== 0) т.е "условие выполняется если Number не делится на i без остатка"и выводятся alert(Number) т.е так называемые простые числа.В схеме из решения написано "проверить, делится ли число i на какое-либо из чисел до него". И я это просто осмыслить не могу немного, как это работает вообще и как это понять. Всегда была проблема (в школе на информатике) с циклами и я не могу представить одновременную работу двух циклов сразу да и вообще в представлении каких-то логических штук у меня вечно проблемы, нихуя не понимаю, зато другие это решают без проблем а я выдумываю что-то непонятное.
>>741041дополнение:т.е мне решение здесь не важно, хочу понять именно логику и ОСОЗНАТЬ решение.
>>741042Если есть сложности с пониманием алгоритма, прогони его вручную на бумаге.Типа вот у нас есть Number=2 из первого цикла, второй цикл будет проходит от 2 до 1, то есть ни одного раза; Number=3, i от 2 до 2, делится на 2? нет, значит простое и так далее.
>>741044Ну вот я вроде примерно так и прогонял. Сейчас через Отладчик пытался прогонять, криво получается у меня это =D Код такой, но почему-то условие не выполняется и alert не выводит, выводит просто все числа.var Number = 2;var i = 1;for (; Number <= 10; Number++) { for (; i < Number; i++) { if (Number % i !== 0) { alert(Number); } }}
>>741047дополнение:кстати при таких фигурных скобках второй цикл возвращается к первому, а не переходит на if (только потом уже начинает переходить) и этого я тоже не пойму, почему так?
>>741047>((Number % i) !== 0)?
>>741053типо если Number делится на i с остатком, то условие выполняется, я так понял.
Посоны напомните сайт где на js даются задачки, сначала суперпростые а потом сложнее, 10 уровней вроде.
>>740938>while (true);>почему интерпретатор ругается на Break?А ты не пробовал читать, что имено он тебе говорит?
>>741089http://www.codewars.com/ ?
>>741113Оно самое!Спасибо, анон, да пребудет код твой идеально структурирован и документирован.
>>741047Гугли решето эратосфена.Когда-то задали подобное на практичной и пока у всех были пиздецкие нагрузки на обработку тысяч чисел, мне один зракомый сказал о решете
>>741113Клёвая штука с утра под кофе проснуться. Там задачки постоянно новые генерятся или фиксированный стак?
>>741047Бля, да не называй ты переменные с большой буквы.
>>741009Бамп
>>741009>массив перебираешь? Читал, что индекс это плохоМассив перебирать по индексу это вполне ок, map и forEach в любом случае перебирают по индексу.
>>741163У меня обычно всегда есть id, т.к. это обычно объекты с каким-то данными. Айдишник надежней всего, очевидно.
>>741165Имел ввиду использовать индекс как react id
>>741175>>741167
>>741175Хм, могу попробовать с сервера еще и id присылать, спасибо
>>741178>>741167
Как правильней, объявлять 10+ переменных или засунуть все в объект?
>>741181Если переменные относятся к одной сущности, то проще выделить им один неймспейс в виде объекта.
>>741175Да конечно можно индекс, какая разница. Тебе нужен уникальный идентификатор, просто обычно данные редактируются и потом сабмитятся обратно на сервер, поэтому всегда есть айди. Если у тебя просто шоу каких-то фиксированных данных, то можешь по индексу.
Использовал индекс и закономерно соснул, поэтому и спрашивал
двачик почему когда я вывожу ключи объекта в переменную то вычисление не работает. А если не вывожу пише ну прямую obj[key] то работает http://jsbin.com/bakamitozu/edit?js,console
>>741155Он просто не знает, что Number - встроенный объект, который не следует перезаписывать.
Народ, а на какую кату/дан с codewars джун тянет? Или нет такого соответствия? Просто интересно, увидел у вас выше ссылку на сайт, зарегался только что, начал решать задачки.
>>741239Даже если бы не было встроенного объекта. По соглашениям с большой буквы называют функции-конструкторы, а не обычные переменные.
>>741234ну надо полагать потому что в неправльном случае ты меняешь переменную, а результатом выводишь изначальный объект. Работает-то он правильно. наверно стоит после умножения добавить obj[key] = objKey ?
>>741244Видно же, что он не с нуля в js пришёл, а из другого языка. Думаю, это C#, ученный по урокам Unity.
>>741245Да работает, на нахуя опять присваивать тем более наоборот. obj[key] = objKey;Когда я в самом начали контекст свойства объекта присвоил в переменную мне же логичней и удобней все операции совершать над переменной?
>>741248переменная твоя должна быть хотя бы глобальной, или вообще нахуй ее убирай.
>>741041
>>741248>удобней все операции совершать над переменной?Это если они мутабельная и все операции твои соответствующие.Ты же там сначала делаешь objKey = obj[key], а потом objKey = ... Очевидно, что ты изменяешь значение переменной objKey, а не элемета массива.Это тебе не си, где можно было быint z = 0;int i = &z;i = 5;
>>741282э, ну выпонели, там тест * звёздочки.
>>741241Бамп
>>741343Никакого соответствия нет. Там даны разве появились? Хотет.
>>741367
>>741383ну наверно так
>>741407Лол, там 5-6 кью за час под чаек набивается. Сегодня зарегался уже набил. А вот задачки 4 и выше уже потяжелее кажутся. Так что скорее с него джун начинается
>>741407Ох если бы. Решаю 4-5 кью задачки, через полгода планирую начать искать место даже не джуна, а стажера хотя бы.
>>741420нихуя у тебя свободного времени полгода
>>741411>>741420>>74124190% там задачек на матан, и логику которая вообще никакого отношения к продакшену и джунам не имеет.Лучше борду(еще одну) запилите и то больше пользы будет чем от этих дрочилен на цифры.
>>741447Ну я на кодварс подзабил пока сам. С ванили хочу соскочить, сейчас жквери изучаю, затем фреймворки начать курить с реакта.>>741431Да ты охуел, свободного. Я пашу на заводе по 12 часов.
>>741447в "мы вам перезвоним" скинули кстатиhttps://medium.com/@evnowandforever/f-you-i-quit-hiring-is-broken-bb8f3a48d324#.q2khdvreeа так спасибо за совет, но думаю все-равно понемногу решать, а то вот на интервью какая-нибудь лажа как тому телу попадется и пиздец
Как отменить предыдущий ajax-запрос (или хотя бы не обрабатывать ответ сервера) если отправлен новый? ==> if(ajax){ ajax.abort(); }не помогает, всё равно отправляется несколько
>>741494Суть такая: что отправка поиска кнопкой срабатывает дважды
>>741251да я не код просил...
>>741494Как можно отменить запрос, который уже отправлен? Можно только отменить колбек, ждущий ответа от сервера на этот запрос.
>>737862 (OP)Работаю простым HTML/CSS верстальщиком. Параллельно учу JS. Читаю уже второй учебник. Синтаксис более менее освоил. Но не совсем понятно, что конкретно из себя представляет работа фронт-енд разработчика (да и вообще разработка сайта в целом). Допустим, есть у меня адаптивный макет, вот что с ним дальше делать?
>>741565>адаптивный макетНастоящий JS-кодер поворачивается и уходит, едва заслышав хотя бы одно слово из этих двух. Вёрстка - работа девочек-студенток, а не фронтенд-разработчика.
>>741568Понял-понял. Девочка-студентка сверстала макет, дальше отдает его настоящему фронтенд-разработчику. В чем заключается работа фронтендера? Опиши дальнейшие этапы разработки или подскажи, где самому почитать об этом в деталях (гугл не помогает)?
>>741572Фронтенд разработчик должен с полуслова понимать бэкенд-разработчика и обеспечивать работу логики клиентской стороны.
>>741572Из картинки делает такие штуки:https://poloniex.com/exchange
>>741497Дисабли кнопку, енабли в при исполнении запроса.
>>741568Tell me more. Чем же тогда фронтендер занимается, если не работает с домом?
>>741582Работает с виртуальным домом.
>>741582Он может работать с DOM'ом, но только из JS. Верстальщик делает окно чата на html и пишет стили для div-мессагов, а фронтент-разработчик пишет логику добавления новых сообщений, подцепляя описанные css-стили из кода.
>>741586Ты конечно прав, в идеальном мире. На деле же верстальщик городит какую-то хуйню, так как он не шарит как в дальнейшем логика будет представлена, поэтому большую часть стилей и разметки фронт все равно потом переделывает/дописывает под себя.
>>741586Если фронтендер не может работать с домом, а девочка-студентка не умеет работать с домом из ЖС, то кто верстает страницы на реакте?
>>741591
Я как раз вовремя. Пацаны, до какого уровня нужно ДжС недоджуну подтянуть верстку? флексы, гриды, адаптивность, хуйня-муйня
Ананасы, есть 2 дня на подготовку к собеседованию мидл-фулстек макаки, посоветуйте исходя их этого какую-нибудь книгу, где максимально сжато но в то же время глубоко и содержательно изложены главные аспекты и тонкости языка, желательно на английском. С js знаком довольно неплохо, но работаю в основном однотипно в контексте angular/jquery, поэтому интересуют именно тонкости, что могут спрашивать на mid/senior fullstack.
>>741602монгу и ноду читай, фул-стак-оверфлоу ты мамкин
>>741602У кореша на должность сеньёра спрашивают результат следующих сложений:[]+[]{}+[][]+{}{}+{}
>>741606>>741609 Няши, ну не тральте. Что почитать-то лучше?
>>741609лол, тут недоджуны это знают
>>741615>лол, тут недоджуны это знаютЯ не знаю и знать не хочу. Это легаси-поведение, а сами эти операции - плохой паттерн.
>>741609запиздуй это в сонсоль, кек++[[]][+[]]+[+[]]
>>741601Чем ниже, тем лучше. ЖС погромист вообще не должен знать верстку, этим девочки-студенки занимаются. Если ты даже не догадываешься что такое <div> или text-transform, значит ты об это говно не шкварился и тебя можно брать на работу. Ну а если что-то верстал в своей жизни, то ты просто ВЕРСТАЛЬЩИК, таких червей-пидоров погромистоми не берут.
>>741625кек
>>741627а ещё никогда не говори, что писал на php и через силу смейся над $ в начале переменных.
>>741625Упитанно.
>>741622>++[[]][+[]]+[+[]]давай еще че-нибудь ибо это было просто
>>741629кстати в начале переменных еще погромисты на jq ставят знак доллара. Венгерская нотация или хз как оно называется, мол это переменные для jq. Хотя по венгерской там вроде типы указывают в начале
>>741633Ну я тоже так делаю, сам додумался, кстати. Чтобы знать, где простой дом-элемент, а где обёрнутый в jquery.
Нихуя не понял суть getInitialState в реакте. Фидл с примером:https://jsfiddle.net/tylermcginnis/du72b5L2/Здесь же по сути устанавливается стейт, почему тогда метод называется get, а не set?
>>741638Создай отдельный тред же. Здесь всем посрать на реакт и прочее хипстерское говно.
>>741633> начале переменнв ангуляре этой хуеты полно
П Е Р Е К О ТЕ https://2ch.hk/pr/res/741666.htmlР https://2ch.hk/pr/res/741666.htmlЕ https://2ch.hk/pr/res/741666.htmlК https://2ch.hk/pr/res/741666.htmlО https://2ch.hk/pr/res/741666.htmlТ https://2ch.hk/pr/res/741666.html
/e/
>>741568Если твой скилл верстки ограничивается созданием простенького макетика, то не значит что другие не могут делать что-то годное. В верстке потолок умений намного выше, чем все думают.