М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 23 мая 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

37 Кб, 1052x1052

JavaScript #45 08 Май, 22:26 #737862 В конец треда | Веб

Ссылка на прошлый тред: >>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/ для серверного кода.

Ответы>>740070>>740801>>741565

08 Май, 22:29 #2 #737865

Поясните дауну ( мне ) Чем отличается Ангуляр от Node ?
Что лучше освоить? или лучше освоить весь MEAN-stack ?

Ответы>>737868

08 Май, 22:34 #3 #737867

Продолжаю заебывать всех своим калькулятором
Теперь он с историей
http://embed.plnkr.co/F43HoAkCaQ8re2Jgqqig/

Ответы>>737878>>737882

08 Май, 22:35 #4 #737868

>>737865
Иди гуглить. Если ты не можешь сам найти ответы на эти вопросы, то погромировать ты точно не сможешь

08 Май, 22:43 #5 #737878

>>737867
Гришаня, думаешь я забыл о тебе? А вот нихуя!

Ответы>>737880

7 Кб, 200x193

08 Май, 22:46 #6 #737880

>>737878
я все равно как неуловимый Джо

08 Май, 22:47 #7 #737882

>>737867
такое делает студент программист на 1ом курсе в 1ом семестре 1ой недели

Ответы>>737883>>737884

08 Май, 22:50 #8 #737883

>>737882
ну и к чему ты это сказал?

08 Май, 22:52 #9 #737884

>>737882

хуй там

08 Май, 22:57 #10 #737886

Ну, раз тут тред ньюфажеских поделий, то зацените мое, тем более, что я по поводу этого задания отписывался несколько тредов назад.
Там есть один баг, мне его впадлу пофиксить, уже неактуально. Может, потом.
http://artemperchyk.github.io/Solitaire/ диванон лигивон

Ответы>>737888>>737892>>737896>>737913

08 Май, 23:05 #11 #737888

>>737886
не смог пройти с двух раз

Ответы>>737890

08 Май, 23:07 #12 #737890

>>737888
Ну это нормально, там не проверяется раскладка на "проходимость". Как и в реальном пасьянсе.
Знаю, что в некоторых реализациях это запилено, но хуй знает, как.

Ответы>>737902

08 Май, 23:10 #13 #737892

>>737886
калькулятор не понравился, оче много багов
правда я охуел от того сколько там файлов, я даже не знаю что большинство из них делает

Ответы>>737897

08 Май, 23:12 #14 #737896

>>737886
еще сапер какой-то странный, тоже не смог пройти

Ответы>>737900

08 Май, 23:13 #15 #737897

>>737892
Калькулятор был запилен за два дня на коленке, я там нихуя не дебажил толком.
Файлы - ну там я по неопытности захуярил в одну папку и чай с моккой для тестов, и бутстрап, который вообще там не использовался, ну ты понял. Там только три файла плюс тесты собственно моего кода.

Ответы>>737903>>737907

08 Май, 23:14 #16 #737900

>>737896
Сапер тоже недопиленный, я, конечно, понимаю, что я показываю себя ленивым пидором, но мне это задание страшно не понравилось и я его сделал тупо для галочки.

Ответы>>737903

08 Май, 23:17 #17 #737902

>>737890
Сложенные карты должно быть можно возвращать обратно.

Ответы>>737904

08 Май, 23:19 #18 #737903

>>737900
ты где такие ебанутые задания находишь?
>>737897
а зря, проще всего логику написать, а самое интересное начинается потом

Ответы>>737905

08 Май, 23:19 #19 #737904

>>737902
Ты имеешь в виду undo на стопке?

Ответы>>737927

08 Май, 23:20 #20 #737905

>>737903
Это курсы при бодишопе.

Ответы>>737908

08 Май, 23:24 #21 #737907

>>737897
скрипт польской нотации сам писал?

Ответы>>737910

08 Май, 23:25 #22 #737908

>>737905
гугл говорит так косметикой торгуют

Ответы>>737910

08 Май, 23:27 #23 #737910

>>737907
Да.
>>737908
Да блять, в воркаче уже сегодня пояснял, имеется в виду крупная аутсорс компания.

139 Кб, 1280x853

08 Май, 23:35 #24 #737913

>>737886
ня

Ответы>>737914>>737919>>737934>>738115

08 Май, 23:35 #25 #737914

>>737913
ah ty peedor

08 Май, 23:40 #26 #737919

>>737913
все как у людей

08 Май, 23:52 #27 #737927

>>737904
Из стопки можно снимать карты обратно и перекладывать на борду. Стопка - считай, стэк.

Ответы>>737931

08 Май, 23:56 #28 #737931

>>737927
Возможно, я просто очень сильно туплю, но ведь реализация стопки у меня точно такая же, как и во всех виденных мной реализациях (про вариацию с тремя картами не говорим, речь не о том).
Т.е. клацнул, открыл карту, есть куда перенести - перенес, нет - клацнул на другую карту и так пока всю стопку не прокрутишь.

Ответы>>737970

114 Кб, 807x538

09 Май, 00:03 #29 #737934

>>737913
слава украине!

Ответы>>737939

09 Май, 00:07 #30 #737939

>>737934
Лол, ну ты даешь. Еще и страницу тян нашел.
Таки да, слава, фото с захидфеста.

Ответы>>737941

09 Май, 00:08 #31 #737941

>>737939
Хотя вообще там всем рады, справа можешь заметить флаг бульбобратьев.

09 Май, 00:42 #32 #737970

>>737931
Я про другие 4.

Ответы>>737978

09 Май, 00:45 #33 #737973

http://learn.javascript.ru/
Я какой-то тупой, объясните где здесь найти задания по JavaScript на этом сайте (мне сказали что искать там)?
Раздел "Тесты знаний" - не то.

Ответы>>737979

09 Май, 00:46 #34 #737975

>2016 год
>Убогий неформатируемый Math.random
>Убогий неформатируемый Date
Оправдывайтесь, петуханы.

09 Май, 00:47 #35 #737978

>>737970
Ааа, теперь понял.
Если честно, мне это в голову вообще ни разу не приходило. Причем там еще сделал для простоты так, что карта при перетаскивании на один из четырех верхних дивов просто исчезает, а див получает ее бэкграунд.
Возможно, когда руки дойдут, переделаю а сейчас ангуляр учу

09 Май, 00:48 #36 #737979

>>737973
После глав задания идут.

Ответы>>737983

09 Май, 00:59 #37 #737983

>>737979
Спасибо
.

Кстати, анончики подскажите, лучше начинать изучать JS по книге "Выразительный JavaScript" или на learn.javascript.ru? Кому где было легче?

Ответы>>737989

09 Май, 01:05 #38 #737989

>>737983
Лучше второе. Там подробнее и проще написано для новичка.

Ответы>>737991

09 Май, 01:07 #39 #737991

>>737989
Просто в любом случае скорее всего и то и другое буду читать, просто нужно именно то что легче понять поначалу. ^-^

09 Май, 01:33 #40 #737998

Многие играли в prison architect или хотя бы слышали. Так вот скажите, как вообще можно сделать подобную игру? Js может с этим справиться или кроме него надо будет ещё какие-то языки зубрить? Просто хочется когда-то попробовать сделать, что-то подобное.

Ответы>>738001>>738075

09 Май, 01:42 #41 #738001

>>737998
>сделать, что-то подобное
лол
эту игру делала студия из нескольких человек больше двух лет
там программирование вообще дело десятое

Ответы>>738035

21 Кб, 735x232

49 Кб, 400x323

09 Май, 05:33 #42 #738019

Джавскриптаны, мне вот интересно стало сколько приходится писать в среднем в день кода. Я прошелся по прошлым проектам и по текущему, и получается примерно 600-800 LOC в день, не считая стилей. Если дедлайны более демократичные, то моя продуктивность падает до ~400 в день.
А на пет проектах вовсе по 100-200, если каждый день писать, но там трудно посчитать из-за длительных перерывов между сессиями.
Кто имеет дело с коммерческим продакшеном, какой, в среднем, аутпут в день?

Ответы>>738021

09 Май, 05:55 #43 #738021

>>738019
Разве это всё напрямую не зависит от сложности кода? Ты же блять вроде как не на конвейере помидоры проверяешь, зачем продуктивность сравнивать?

Ответы>>738025

09 Май, 06:12 #44 #738025

>>738021
Лол, какая нахуй сложность кода в вебе. Мы тут не софт к автопилотам пишем, 90% задач логически однообразны и решения варьируются от стака к стаку.

Ответы>>738624>>738626

09 Май, 08:06 #45 #738035

>>738001
Какая разница сколько лет они ее делали. Меня интересует как сделать подобное?

Ответы>>738036>>738060

09 Май, 08:07 #46 #738036

>>738035
Ты мудак что ли?

Ответы>>738037

09 Май, 08:15 #47 #738037

>>738036
А что тебя смутило в вопросе? Почему ты агрессивный?

09 Май, 10:19 #48 #738060

>>738035
Найти команду, подождать чуть больше двух лет.

09 Май, 10:40 #49 #738071

Заранее прошу прощения за тупые вопросы.

Захотел на досуге заняться js, решил делать простенькую игру с мультиплеером.
Вот я начал с того, что посмотрел несколько книжечек и видео о node.js, но теперь вопрос:
1. Как организовать передачу данных в RT игре?
Передавать клиентам информацию о статусах всех объектов или только то, что изменилось с последней отправки и сделать в клиенте функцию, которая перерисует динамические элементы?
2. Как лучше взяться за примитивную графику типа бегающих кругов? Изучать create.js и подобные или можно обойтись?
3. Как сделать так, чтобы было несколько игровых комнат и как лучше отличать игроков друг от друга?

Ответы>>738074

09 Май, 10:44 #50 #738074

>>738071
Всё, что касается реал тайм, комнат и игроков - socket.io. По поводу примитивной графики это зависит от того, насколько она, собственно, примитивна. Есть много геймдев движков, где реализована базовая физика и прочие няшности.

Ответы>>738082>>738095

09 Май, 10:44 #51 #738075

>>737998
Ну в юнити и в других движках js есть как язык для behavior-скриптов, запросто можно делать. Только с 2d на юнити немного туго как по мне ну я немного тупой.

09 Май, 10:48 #52 #738082

>>738074
Я сокет уже изучаю, но ещë не додумался до логики передачи данных в онлайн-играх, в смысле каждый раз передавать абсолютные координаты или движения? Не могу на глаз оценить, какие нагрузки могут не создавать лагов и какая будет задержка между обновлениями.

Ответы>>738086>>738089

09 Май, 10:57 #53 #738086

>>738082
Ну я сам так-то писал только статичные игры, тобишь морской бой там, такое. Но я думаю, что
>каждый раз передавать абсолютные координаты или движения
по другому никак, если у тебя реал тайм обновления. По поводу нагрузок я бы не переживал особо, джс довольно быстрый язык и реальным ботлнеком в простой игре будет только коннект, который ты контроллировать не можешь всё равно. Я читал как-то статейку, кстати, где чувак описывал как на сокетах хендлить возможный делей. Но это оптимизация.

Ответы>>738089>>738095

09 Май, 11:03 #54 #738089

>>738082
риал тайм -> udp. udp -> потери. Потери -> только абсолютные величины.
Полагаю, самих играх обычно делаются всякие интерполяции, чтобы игрока не "телепортировать", а именно подвинуть, со всеми вытекающими коллижнами и т.д.
Но я диванный, тоже только статичное делал, а риалтайм в качестве эксперимента лишь поигрался маленько.

>>738086
Коннект коннектом, но какие-то умные и магические алгоритмы для оптимизации всего этого есть.

Ответы>>738095

09 Май, 11:07 #55 #738095

>>738074
>>738086
>>738089
Спасибо, буду пробовать

09 Май, 11:30 #56 #738115

>>737913
Вот та тян обосрется от испуга если обернётся.

Ответы>>738128>>738161

09 Май, 11:53 #57 #738128

>>738115
Или наоборот.

Ответы>>738161

33 Кб, 319x311

09 Май, 12:35 #58 #738161

>>738115
>>738128
там просто фотограф рукожопый

Ответы>>738163>>738177

09 Май, 12:37 #59 #738163

>>738161
А что изменилось?

09 Май, 12:54 #60 #738177

>>738161
Фотограф рукожопый - это мы вместе фоткали себя на зеркалку, лол, поэтому так.
А вообще тут не оцени тян тред, заебали.

Ответы>>738180

09 Май, 12:58 #61 #738180

>>738177
Иди нахуй, очкарилло, встречу на улице, ебало вскрою, петух

Ответы>>738186

09 Май, 13:03 #62 #738186

>>738180
Лол. Люблю двач.

Ответы>>738188

09 Май, 13:05 #63 #738187

Как можно передать браузеру имя файла без дополнительных запросов со стороны клиента, если я стримлю видео банально через readStream.pipe(response) (либо с диска, либо перенаправляю с того же ютуба)? Пока что фф мне выдаёт в качестве названия страницы последний путь в path'e (aaa.com/aaa/bbb/ccc -> ccc), и при попытки сохранить файл, соответственно, то же самое (ccc.mp4). Content-Disposition не влияет, да и со стримингом он, вроде бы, и не должен работать.
В самом запросе названия нет, оно по айдишнику берётся, т.е. мне со стороны нужно его впихнуть как-то.

Ответы>>738914>>738958

09 Май, 13:06 #64 #738188

>>738186
Хахол ебаный, на курсы он ходит, безмозглое животное, самому не дано видимо чему-либо научиться, уёба

Ответы>>738197

09 Май, 13:21 #65 #738197

>>738188
Так я на них отбор прошел, как раз потому что не безмозглый. Ну да похуй.

Ответы>>738201

09 Май, 13:28 #66 #738201

>>738197
Вот это тщеславие

09 Май, 13:42 #67 #738209

Часто приходится делать this.object.doSomething.bind(this.object). Может есть сахарок?

Ответы>>738212>>738224>>738230

09 Май, 13:46 #68 #738212

>>738209
Лямбды в es6 делают, по сути, то же самое, что bind, сохраняя this.

Ответы>>738222

09 Май, 13:57 #69 #738222

>>738212
Мне нужно передавать одному агрегированному объекту метод другого с собственным контекстом как коллбек. Тут лямбды не помогут.

09 Май, 14:02 #70 #738224

>>738209
https://github.com/andreypopp/autobind-decorator

Ответы>>738226

09 Май, 14:04 #71 #738226

>>738224
Я думал, может нейтив есть что-то.

09 Май, 14:08 #72 #738230

>>738209
https://lodash.com/docs/#bindAll

09 Май, 16:00 #73 #738357

Я ебал этот реакт. Почему одни пишут так:

var MessageComponent = React.createClass({
render: function() {
return (
<div>{this.props.message}</div>
);
}
});

А другие так:

var MessageComponent = function(){
return (
<div>{this.props.message}</div>
);
}

И то, и то называют созданием нового компонента, но в чем разница-то блять? Это одно и то же?

Ответы>>738362

09 Май, 16:04 #74 #738362

>>738357
Именно в твоем случае - да. Второй вариант это просто функциональный вариант простой компоненты, которая только отрисовывает что-то беря из пропсов.

Ответы>>738401

09 Май, 16:11 #75 #738379

Запустил у себя на шинде сервер, по локалхост:3000 захожу, по 192.168.1.x:3000 не захожу, по внешнему тоже. Открыл порт, выключил файрвол винды - та же ситуация.
Что я делаю не так?

Ответы>>738395

09 Май, 16:22 #76 #738395

>>738379
Настрой сервер чтобы он слушал на 0.0.0.0:3000

09 Май, 16:27 #77 #738401

>>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);

Если с маленькой, это типа хтмл-тег должен быть что ли? А с большой какой-то компонент?

Ответы>>738407

09 Май, 16:32 #78 #738407

>>738401
А, все, нарыл про это.

Ответы>>738411

09 Май, 16:35 #79 #738411

>>738407
Мне теперь расскажи.

Ответы>>738416>>738421

09 Май, 16:37 #80 #738416

>>738411
В JSX все что с маленькой буквой то считается html тэгом. Реакт компонента должна начинаться с заглавной.
https://gist.github.com/sebmarkbage/f1f4ba40816e7d7848ad

09 Май, 16:47 #81 #738421

>>738411
Надо кароч в спеки заглядывать иногда, а потом бочку катить.

https://facebook.github.io/react/docs/jsx-in-depth.html

09 Май, 18:12 #82 #738485

https://cognitive.io/post/rewriting-the-gophers-invite-form-in-go/
Оправдывайтесь.

Ответы>>738488

09 Май, 18:19 #83 #738488

>>738485
Go работает быстрее, чем нода. Зачем оправдываться? Сколько ты кода написал на go? На нем писать сложнее, чем на js.

Ответы>>738489>>738491>>738623

09 Май, 18:20 #84 #738489

>>738488
>На нем писать сложнее, чем на js.
Go примитивный до безумия, хуже Паскаля.

Ответы>>738491>>738517>>738541>>738573

09 Май, 18:25 #85 #738491

>>738488
>>738489
Почему еще не запилили транслятора из js в go?

Ответы>>738492

09 Май, 18:27 #86 #738492

>>738491
Не нужно, очевидно.

sage 09 Май, 18:47 #87 #738517

>>738489
Это не значит на нем писать как-то легче.

09 Май, 19:14 #88 #738541

>>738489
Ассемблер еще примитивнее.
Это делает его более легким?

Ответы>>738561

09 Май, 19:43 #89 #738561

>>738541
Какого хуя в es6 классах нет ебучих полей.
Почему я должен выебываться с инициализацией поля каждому объекту и тратить память, если он мне нужен в прототипе. Или писать в прототип в обход сахарной конструкции. Зачем она вообще нужна тогда?

Я не понимаю, что помешало позволить писать
class {
ololo: 'some string'
static kokok: 100
}

В чем смысл ограничения то?

Ответы>>738564

09 Май, 19:48 #90 #738564

>>738561
Поставь typescript. Можно писать и без типов, зато будет так, как ты хочешь. Транспайлится все так же.

Ответы>>738569

09 Май, 19:51 #91 #738569

>>738564
Я знаю, что можно поставить, чтобы было.
Меня интересует, что сподвигло отказаться от этого в спеке. Это же вроде ничему не помешало бы.

Ответы>>738570

09 Май, 19:55 #92 #738570

>>738569
http://stackoverflow.com/a/22986568/4957036

09 Май, 20:05 #93 #738573

>>738489
Паттерны go не примитивные.

65 Кб, 256x256

09 Май, 20:30 #94 #738581

Кто что юзает на атоме?

Ответы>>738668>>738875>>738998

09 Май, 21:25 #95 #738622

http://geekforbrains.com/post/after-a-year-of-nodejs-in-production
Node классная!

Ответы>>738625>>738877

09 Май, 21:27 #96 #738623

>>738488
> Сколько ты кода написал на go?
Каждый день пишу на работе на go.
> На нем писать сложнее, чем на js.
Лично мне - нет.

09 Май, 21:28 #97 #738624

>>738025
где-то тут есть ветка ниасиляторов лол, нода ахуенная.

sage 09 Май, 21:28 #98 #738625

>>738622
Этот переписыватель сломался, несите нового. Обоссали уже в соседнем треде, иди нахуй

Ответы>>738629

09 Май, 21:29 #99 #738626

>>738025
где-то тут есть ветка ниасиляторов лол, нода ахуенная.

09 Май, 21:31 #100 #738629

>>738625
А ты ссылку дай на "обоссывание".

09 Май, 21:51 #101 #738647

Я поднимаю вопрос, на который так и не получил ответа.
Как по-вашему, какой путь для типизации более приближен к концепции js?

Имеющиеся кандидаты:
1. TypeScript style
>function (arg: Type)

2. Decorators (пример для примера, там можно что угодно придумать, суть в самих декораторах)
>@typeCheck {arg: Type}
>function (arg)

Ответы>>738660

09 Май, 22:08 #102 #738660

>>738647
Тайпскрипт конечно, декораторы какой-то костыль

Ответы>>738666

09 Май, 22:15 #103 #738666

>>738660
Но декораторы часть стандарта в будущем, а тайпскприт как раз костыль.

Ответы>>738667

09 Май, 22:18 #104 #738667

>>738666
Проверять типы через декораторы это костыль, а не сами декораторы.
Тайпскрипт это не костыль вообще, это компилируемый в жс язык, каких сотни тысяч уже.

09 Май, 22:20 #105 #738668

>>738581
юзаю VIM вместо этого поделия

Ответы>>738670

09 Май, 22:22 #106 #738670

>>738668
олдфаги юзают эмакс

10 Май, 00:39 #107 #738799

Как поделить онлайн чат на несколько комнат, которые создаются по требованию?

10 Май, 01:03 #108 #738822

Если бы вы создавали JS сейчас, то чего-бы вы в него не включили?

Если проще говоря, очень часто говорят про различное легаси в архитектуре языка. Что именно? Что бы вы выкинули?
Что добавили? Что сделали иначе?

40 Кб, 799x484

10 Май, 01:34 #109 #738841

чем он не доволен?

Ответы>>738847>>738850>>738852>>738853

10 Май, 01:42 #110 #738847

>>738841
Он считает что ты объявляешь функцию внутри цикла. У тебя свитч не в цикле случаем?

Ответы>>738855

10 Май, 01:43 #111 #738850

>>738841
А нахуя ты объявляешь массу одинаковых функций в качестве листнеров. Ты больной?

10 Май, 01:44 #112 #738852

>>738841
Вынеси функцию-обработчик за пределы цикла.
А далее присваивай ссылку на нее.

Ответы>>738855

10 Май, 01:52 #113 #738853

>>738841
>div.querySelector('.memoryElem').querySelector('.memoryAnswer')
Умоляю, скажи честно, ты болен чем-либо или ты не умеешь в селекторы?
У тебя же ебанистический оверхед всюду.

>div.querySelector('.memoryElem .memoryAnswer')

Ответы>>738855>>738856

10 Май, 02:04 #114 #738855

>>738847
в цикле фор
>>738852
ну это понятно, только зачем, если эти функции только там нужны
>>738853
да, не умею, попробую твой способ

Ответы>>738858>>738859>>738860

10 Май, 02:06 #115 #738856

>>738853
работает, спс

10 Май, 02:12 #116 #738858

>>738855
>ну это понятно, только зачем, если эти функции только там нужны
Ты не понимаешь, что ты в цикле создаешь МНОГО ОДИНАКОВЫХ ФУНКЦИЙ. Каждая занимает память, при этом каждая функция идентична.

Ты действительно не понимаешь?

Ответы>>738865

10 Май, 02:14 #117 #738859

>>738855
>в цикле фор
Не надо так.
Если ты в цикле объявляешь функции - то ты что-то делаешь не так.

Ответы>>738866

10 Май, 02:18 #118 #738860

>>738855
>только зачем, если эти функции только там нужны
В твоей квартире есть дверной звонок и дворецкий должен открывать дверь каждому гостю, позвонившему в этот звонок.
Вместо того, чтобы использовать одного и того же дворецкого, ты нанимаешь по дворецкому на каждого гостя.

Вот что ты делаешь.

Ответы>>738866

10 Май, 02:20 #119 #738861

Сап, паrни! Может мне кто объяснить в чем прикол __proto__ и prototype. Типо __proto__ - содержит все свойства, того чего он наследует, а prototype - конструктор и соответственно __proto__? Честно все эти learn'ы и хабры - читаю - нифига понять не могу

Ответы>>738863

10 Май, 02:22 #120 #738863

>>738861
>в чем прикол
Да так, по накурке лдаст вор лулз запилили, не обращай внимания вообще.

Ответы>>738864

10 Май, 02:24 #121 #738864

>>738863
но я хочу понять

Ответы>>738869

42 Кб, 660x697

10 Май, 02:26 #122 #738865

>>738858
ок
спс за объяснение
переписал

Ответы>>739247

10 Май, 02:26 #123 #738866

>>738860
>>738859
ок, спс

10 Май, 02:32 #124 #738869

>>738864
__proto__ свойство объекта, указывает на его прототип.

2ch.__proto__ то же самое что Object.getPrototypeOf(2ch)

нежелательно использовать __proto__ это моветон. Его впилили в стандарт только потому что это было недокументированное свойсвто поддерживаемое всеми браузерами, а появилось в них, раньше рефлекии. Для доступа к прототипу используй специальные функции. Тем более что __proto__ обычное поле и может быть переопределено.

prototype свойство конструктора, описывающее прототип для будущего объекта, который конструрирует твой конструктор.

Ответы>>738870>>738872

10 Май, 02:34 #125 #738870

>>738869
О, так понятнее, сяп!

10 Май, 02:39 #126 #738872

>>738869
т.е. в двух словах:
__proto__ - то, что наследуем,
prototype - описание конструктора

Ответы>>738878>>738880

10 Май, 02:40 #127 #738875

>>738581
Vim.

10 Май, 02:42 #128 #738877

>>738622
Какая-то истеричка не может понять, что все языки - говно и надо просто пользовать что есть.

10 Май, 02:43 #129 #738878

>>738872
prototype - для конструктора.
в нем хранится то же самое, что ты получаешь потом через __proto__
Только прото ты используешь из готового объекта,
а прототайп с другой стороны, еще до инициализации объекта.

10 Май, 02:44 #130 #738880

>>738872
конструктор это тоже объект, и унего есть свой прототип.
constructor.__proto__ и constructor.prototype это разные объекты, это надо понимать.

10 Май, 06:42 #131 #738914

>>738187
бамп?

10 Май, 09:09 #132 #738958

>>738187
>Как можно передать браузеру имя файла без дополнительных запросов со стороны клиента
Никак, представь, что будет, если браузер начнет рыскать по файлам пользователя.

Ответы>>738981

17 Кб, 553x247

10 Май, 09:26 #133 #738967

Жсоны, есть задача. Надо сязать пользователей с городами, как показано на пикче. Использовать надо jquery. Рядом с каждым пользователем есть кнопка "добавить город" по нажатию которой появляются два дропдауна с выбором страны и города. Данные эти дропдауны получают по аяксу. Так как я с жикьюери мало работал, то вот мои вопросы:
1. где хранить шаблон(хтмл) для этих дропдаунов, так как их надо будет добавлять много.
2. какими методами надо будет сделать связь этих дропдаунов с пользователями, чтобы передать правильную инфу
3. как вставить их в нужное место на странице? Надо будет делать какие то специальные имена классов в которых будет пристутствовать userId?

Ответы>>738997>>738999

10 Май, 09:43 #134 #738981

>>738958
Лол, каким файлам пользователя. Я просто хочу, чтобы вместе со стримом видео с сервера как-то пришло и его название, чтобы при "save as" или открытии этого видео в отдельно вкладке (т.е. без html страницы, где оно вставлено), это название было видно.

Или так нельзя, и единственный выход это дополнительная кнопка "скачать", которая там будет выставлять нужное имя файла?

Ответы>>738994

10 Май, 09:46 #135 #738982

Как поделить онлайн чат на несколько комнат, которые создаются по требованию?

10 Май, 10:11 #136 #738994

>>738981
> или открытии этого видео в отдельно вкладке
В этом случае имя файла это часть url, что ебешь мозги. Формируй url на сервере.

10 Май, 10:13 #137 #738997

>>738967
Никто не будет тебе это объяснять.
Ты не с теми вопросами пришел.
Или иди изучай js или плати деньги, чтобы за тебя решили твою задачу.

Ответы>>739031

10 Май, 10:15 #138 #738998

>>738581

sublime or idea

10 Май, 10:16 #139 #738999

>>738967
Пользователи у тебя на сервере или это чисто фронтэнд?

Ответы>>739031

10 Май, 10:51 #140 #739031

>>738997
Я же написал конкретные вопросы, которые мне не понятны. Подскажи какой нибудь гайд чтобы я почитал и решил эту проблему.

>>738999
Пользователи с бекэнда приходят. Ну и вообще в конце таблицы еще есть кнопочка применить и уже на стороне сервера пользователи будут привязываться к городам. А мне надо туда отправить список айди городов связанных с пользователями, но это я знаю как сделать.

10 Май, 11:11 #141 #739042

Поясните за загрузку файлов на сервер аяксом. Мне нужно его сконвертить в строку а потом отправить как значение в жсон объекте? Или отдельно отправлять? Просто у меня еще данные из формы передаются.

Ответы>>739059>>739103

10 Май, 11:42 #142 #739059

>>739042
multipart/form-data

10 Май, 12:10 #143 #739090

Анон, поясни, допустим я захочу свою срань на хостинг залить, чтобы показать кому - нибудь, мне для этого нужно домен регистрировать или можно будет как - то по ip зайти?

Ответы>>739098>>739102

10 Май, 12:13 #144 #739098

>>739090
Heroku.com
Заливаешь на халяву и показываешь кому надо.

Ответы>>739101

10 Май, 12:15 #145 #739101

>>739098
Спасибо

10 Май, 12:15 #146 #739102

>>739090
Если тебе не нужен постоянный онлайн, то и без хостинга обойтись можно. Например вот так https://localtunnel.me/

Ответы>>739105>>739344

10 Май, 12:15 #147 #739103

>>739042
var 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());
}
});

Я это делаю так.

10 Май, 12:16 #148 #739105

>>739102
О, вот этого годнота

Ответы>>739344

10 Май, 14:44 #149 #739226

Если в реакте делать ajax запрос в рендере, это совсем пиздец?

Ответы>>739227

10 Май, 14:45 #150 #739227

>>739226
Конечно, для этого есть ComponentDid(Will)Mount.

Ответы>>739229

183 Кб, 604x453

10 Май, 14:47 #151 #739229

>>739227
Так это понятно, но мне надо в рендер

Ответы>>739231

10 Май, 14:50 #152 #739231

>>739229
Что значит "надо", тебя что палкой пиздят и заставляют говнокод писать? Помимо прочего, если ты собираешься использовать резалты аякс запроса внутри этого компонента, то ты получишь охуенный рекурсионный фейл.

Ответы>>739248

6 Кб, 487x211

10 Май, 15:04 #153 #739247

>>738865

Ответы>>739453>>739498

10 Май, 15:04 #154 #739248

>>739231
А если я буду вызывать this.ComponentDidMount это тоже пиздец?

Ответы>>739249

10 Май, 15:07 #155 #739249

>>739248
Ты объясни зачем тебе эта вакханалия, мне просто интересно что у тебя за юзкейс такой.

Ответы>>739254

10 Май, 15:09 #156 #739254

>>739249
Юзкейс называется ньюфаня пишит говнокод чтобы закрепить знания о реакте.

Алсо, спасибо что поясняешь

Ответы>>739259

10 Май, 15:15 #157 #739259

>>739254
Если у тебя нету стейтменеджера какого-то, т.е. флакс реализации какой-то (редакс, альт, рефлакс, етц) то ты используешь локальный стейт компонента, т.е. this.state = { key: value }, ну или getInitialState() если ты не как порядочный человек классы объявляешь. Твой компонент загружается, ты в componentDidMount() вызываешь свой аджах, success = (response) => this.setState({value: response}). И других вариантов особо нет, рендер занимается исключительно отображением данных.

Ответы>>739265

10 Май, 15:16 #158 #739260

Зацените сортировку.

[5,1,2,6,12,1,64,13,7,15].forEach(function (num) {
setTimeout(() => {console.log(num)}, num*5)
});

Ответы>>739266>>739273>>739276

10 Май, 15:19 #159 #739265

>>739259
Я так и делаю, спасибо

Но могу ли я вызвать componentDidMount() для отправки нового запроса чтобы стейт обновился и компонент получил новые данные?

Ответы>>739272

6 Кб, 251x241

10 Май, 15:19 #160 #739266

>>739260
>[5,1,2,6,12,1,64,13,7,15].forEach(num => setTimeout(() => {console.log(num)}, num*5));
Взялся писать нормальный джс, пиши до последнего.

Ответы>>739269>>739387

10 Май, 15:20 #161 #739269

>>739266
Буду на собеседованиях ее хуярить.

10 Май, 15:24 #162 #739272

>>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} ты выполняешь нужный тебе реквест на апдейты.

Ответы>>739275

10 Май, 15:25 #163 #739273

>>739260
Зачем num x 5
Делай num+1

Ответы>>739278

10 Май, 15:27 #164 #739275

>>739272
>А если по юзер реквесту, то ты делаешь отдельный метод, например getUpdates(), не забываешь его биндить в конструкторе this.getUpdates = ::this.getUpdates, и по клику на нужные тебе элемент, onClick={this.getUpdates} ты выполняешь нужный тебе реквест на апдейты.

Вот про это я и спрашивал, большое спасибо

554 Кб, 1024x723

10 Май, 15:28 #165 #739276

>>739260
>[5984565421, 25466544, 788888851]

Ответы>>739282

10 Май, 15:28 #166 #739278

>>739273
num+1 - это считай num, точность будет низкая. 1 ms разницы может не хватить, чтобы вывести предыдущее число.

Ответы>>739280

10 Май, 15:29 #167 #739280

>>739278
Тесты проведи.
Или используй вместо таймаут реквестаниматионфрейм. Там учитывается все.

10 Май, 15:30 #168 #739282

>>739276
[1, 1<<30]

10 Май, 15:33 #169 #739285

>[5,1,2,6,12,64,13,7,15].sort((a, b) => a - b)
problems weren't.

Ответы>>739295

25 Кб, 470x413

10 Май, 15:42 #170 #739295

>>739285
[5,1,2,6,12,64,13,7,15].sort()

10 Май, 16:08 #171 #739343

https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript

10 Май, 16:08 #172 #739344

>>739102
>>739105
Еще есть ngrok.

10 Май, 16:29 #173 #739387

>>739266
> [5,1,2,6,12,1,64,13,7,15].forEach(num => setTimeout(() => {console.log(num)}, num*5));
Зачем фигурные скобки вокруг console.log? Мы вам перезвоним, в общем.

Ответы>>739392>>739510

49 Кб, 462x634

10 Май, 16:31 #174 #739392

>>739387
Я лениво фиксил его трилайнер.

10 Май, 16:33 #175 #739397

Все знают, что в шестом ноде добавлены аргументы по-умолчанию?

function sum(x = 0, y = 0) {
return x + y;
}

Ответы>>739399>>739511

10 Май, 16:35 #176 #739399

>>739397
Все транспайлят es6\7 уже давно.

10 Май, 16:40 #177 #739411

У меня бугурт, что в JS так и нет полноценного кортежа. Нельзя написать
myFunc(x instanceof Array ? ...x : x);
так как ...x не может существовать "самостоятельно"

Ответы>>739413

10 Май, 16:41 #178 #739413

>>739411
Я имею ввиду кортеж в луавском смысле, не в питоновском.

10 Май, 16:43 #179 #739418

Какой нынче самый толковый и актуальный туториал по реакту?
Ну, кроме фейсбуковских доков.

Ответы>>739499

10 Май, 17:05 #180 #739453

>>739247
что значит "f &&..."?

Ответы>>739458>>739460>>739468

10 Май, 17:11 #181 #739458

>>739453
f - переменная.
&& - "and" оператор.

10 Май, 17:12 #182 #739460

>>739453
>что значит "f &&..."?
почитай, как работает &&

10 Май, 17:17 #183 #739468

>>739453
там записано то же самое, что и
if (f) btn.onclick = f;
только более понтово.

Ответы>>739493

10 Май, 17:21 #184 #739472

Как можно писать на js и не знать паттерна
> data && data.pos && data.pos.x
хотя бы в теле условия?
Кстати, от него же вроде как-то хотели избавиться в ES7?

10 Май, 17:36 #185 #739493

>>739468
спасибо, хорошо объяснил

10 Май, 17:41 #186 #739498

>>739247
"var btn of buttons" тоже интересно сделано, первый раз вижу

Ответы>>739537

10 Май, 17:42 #187 #739499

>>739418
Фейсбуковские до...
>Ну, кроме фейсбуковских доков.
Тогда хз.

10 Май, 17:54 #188 #739510

>>739387
>[5,1,2,6,12,1,64,13,7,15].forEach(n => setTimeout(console.log.bind(console), n*5, n));

10 Май, 17:56 #189 #739511

>>739397
В chromium уже давно

10 Май, 18:18 #190 #739537

>>739498
for-of довольно новый стандарт. Если нужна совместимость со старыми браузерами, юзай i = 0; i < ...

Ответы>>739550>>739566

10 Май, 18:25 #191 #739550

>>739537
В твоей вселенной не завезли транспайлеров?

Ответы>>739552

10 Май, 18:27 #192 #739552

>>739550
>транспайлеров
можешь сразу на тайпскрипте писать, мне похер.

Ответы>>739558

10 Май, 18:29 #193 #739558

>>739552
Я на нем и пишу, лел.

10 Май, 18:34 #194 #739566

>>739537
ясно, спс

10 Май, 19:26 #195 #739626

Хочу js рантайм как в smalltalk
Скомпилированными образами.

10 Май, 20:07 #196 #739644

Как считаете, wasm убьёт JS? Эйх говорит, что нет. Но он мне сейчас напоминает Януковича, который сам вступил в заговор против себя и вот-вот всех переиграет.

Ответы>>739667>>739677>>739683>>740156

86 Кб, 604x468

10 Май, 20:20 #197 #739659

>убьёт JS

10 Май, 20:23 #198 #739667

>>739644
Он скорее его дополнит, у них разное применение.

Хотя было классно, если бы любой язык мог компилироваться в него и все бы освободились от JS-папаши.

10 Май, 20:27 #199 #739677

>>739644
Он ничем не отличается же.
Выполнение не ускорится. Ускорится лишь парсинг, потому что wasm - суть ast
Исполняться будет в той же vm, как и обычный js
При этом wasm слишком низкоуровневый, ив него еще даже не завезли работу с объектами.
А это значит что к окружению не подцепиться, пока еще.

С тем же успехом можно и сейчас транспайлить из других языков в js, максимально оптимизируя код по asm.js
Это одно и тоже.
wasm не приносит ничего нового, чего нет или не будет в обычном js

Ответы>>739680

10 Май, 20:32 #200 #739680

>>739677
>Выполнение не ускорится.
Если не считать что жс - тормозное говнище, которое даже v8 не вытаскивает, то да. На практике - нет, такой хуиткой можно будет достигнуть перформанса явы.

Чтобы не истекали говном, оставлю стандартно http://benchmarksgame.alioth.debian.org/u64q/javascript.html

Ответы>>739684>>739685>>740156>>740208

10 Май, 20:33 #201 #739683

>>739644
Вам дебилам куча прайм пипл, с учетом самих создателей wasm твердит что у них разные задачи, но видимо бестолку.

Ответы>>739712

10 Май, 20:34 #202 #739684

>>739680
>тормозное говнище
Самое быстрое из интерпретируемых.
>vs Java
С плюсами сравни ещё, ебан.

Ответы>>739695

10 Май, 20:34 #203 #739685

>>739680
Дурачек.
wasm ничего не ускорит.
пиши оптимизированный код сейчас, и будет тоже самое.

По факту все ждут не wasm а оптимизирующих компиляторов. Потому что сами писать не умеют.

А wasm для этих самых компиляторов.
wasm это блядь просто AST

Ответы>>739698

10 Май, 20:38 #204 #739695

>>739684
А почему ты считаешь что такие сравнения == говно?
мимоньюфаг

Ответы>>739701

10 Май, 20:40 #205 #739698

>>739685
>пиши оптимизированный код сейчас, и будет тоже самое.
Дай мне возможность не вычислять типы в рантайме и ебаться с указателями как в плюсах вместо копирований на каждый пук - напишу.
>wasm это блядь просто AST
Это в первую очередь возможность эскейпнуться от сборщиков мусора, юзать многопоточность и писать то, что жс не позволяет.

Ответы>>739707>>739711>>739721

10 Май, 20:42 #206 #739701

>>739695
Потому что ему пичот. Раньше можно было сказать - да, интерпритируемый, не корректное сравнение. Теперь он так же компилируется в байткод, но ему не помогает.

Ответы>>739738

10 Май, 20:47 #207 #739707

>>739698
>Это в первую очередь возможность эскейпнуться от сборщиков мусора, юзать многопоточность и писать то, что жс не позволяет.
Ты поехавший?
Этого не будет.

Эскейпиться от GC ты и сейчас можешь, используй типизированные массивы.

>Дай мне возможность не вычислять типы в рантайме
wasm их так же будет вычислять в рантайме.

Ты плохо понимаешь что такое wasm похоже.

10 Май, 20:50 #208 #739711

>>739698
>не вычислять типы в рантайме
>эскейпнуться от сборщиков мусора
>юзать многопоточность
>писать то, что жс не позволяет.
Представил твою фрустрацию, когда ты выйдет wasm.
Спасибо. Ты сделал мой вечер.

10 Май, 20:50 #209 #739712

>>739683
Двачую этого. Этим дебилам уже в шапку вынесли ответ на вопрос, но они продолжают сравнивать васм и жс. Давайте ещё питон и свифт сравнивать.

10 Май, 20:55 #210 #739721

>>739698
>не вычислять типы в рантайме
Всегда будет.
Для статической компайл-тайм есть препроцессоры.

>сборщиков мусора
Пили поверх типизированных массивов свои типы данных. Там тебе голая память, на здоровье.

>юзать многопоточность
Она предоставляется окружением. В браузерах есть webworkers
У ноды нет и не планируется многопоточности, откуда wasm ее возьмет по-твоему?
У ноды есть модули реализующие кластер из процессо.

>писать то, что жс не позволяет.
WebAssembly не даст писать ничего, чего не позволяет писать js. Он даст лишь иной синтаксис, для представления скриптов, удобный машине,а не человеку. Всё.

10 Май, 21:08 #211 #739737

Т.е. после появление wasm можно будет наконец писать клиентские html5-игры, которые каждый школьник не сможет хакнуть из консоли или спиздить для показа на другом домене?

Ответы>>739744

10 Май, 21:08 #212 #739738

>>739701
Падажжи, ты сравниваешь жс-движок с виртуальной жава-машиной? Ты вменяемый?

10 Май, 21:11 #213 #739744

>>739737
Пиздец, какой же ты мудак блять. Почему, сука, вы не учите основы веба, как он работает, а сразу лезете в жс? А? А? Пидоры

Ответы>>739745

10 Май, 21:11 #214 #739745

>>739744
у меня опыт js > 5 лет. просто я про wasm не очень понял.

Ответы>>739746>>739749

10 Май, 21:13 #215 #739746

>>739745
p.s. Я к тому, что будет ли возможность представлять исполняемую в браузере огику каким-то байт-кодом, а не человекочитаемым скриптом и не уродливым обфускатом.

Ответы>>739747>>739755

10 Май, 21:14 #216 #739747

>>739746
логику

10 Май, 21:15 #217 #739749

>>739745
И что ты пять лет делал, формсы на жквери отправлял? С тру-5-летним стажем ты б такую хуйню не спрашивал

27 Кб, 576x378

10 Май, 21:20 #218 #739755

>>739746
wasm это AST
он читается человеком.

И потом, wasm манипулирует все теми же сущностями vm. А vm управляется из рантайма. Так что, что можно будет хакнуть, как и прежде, не беспокойся.

Пикрелейтед, то как wasm будет выглядеть для человека, например в дебаггере.

Ответы>>739756>>739775

10 Май, 21:22 #219 #739756

>>739755
лиспом завоняло чет

Ответы>>739758

10 Май, 21:23 #220 #739758

>>739756
Нет. Это ближе к LLVM IR.
От лиспа там нет ничего.
Это именно ассемблер.
Только не для твоего нативного процессора, а для js-engine

Ответы>>739761

10 Май, 21:24 #221 #739761

>>739758
А компилятор из JS в эти скобки будет?

Ответы>>739764>>739767

10 Май, 21:25 #222 #739764

>>739761
Нет.
Из asm.js разве что.
Но если бы ты мог писать asm.js руками, то и wasm сможешь писать руками.

10 Май, 21:27 #223 #739767

>>739761
Компилятор это ты.
Если ты пишешь ебанистический код, где в циклах создаешь замыкания, и ебашишь метапрограммированием повсюду. То в какой бы wasm ты чего не переводил - ничего не измениться.

Ответы>>739768

10 Май, 21:28 #224 #739768

>>739767
я сейчас думаю не о скорости, а о банальной защите исходников.

Ответы>>739771>>739774

10 Май, 21:30 #225 #739771

>>739768
Так они ничем не защищены же.
Это тот же asm.js ином представлении.
Из wasm легко переводится в js
А уж деобсфукация js
это сам понимаешь, зависит от объема и логики.

Ответы>>739773

10 Май, 21:32 #226 #739773

>>739771
Нет, разница всё-таки есть. Ты сложную программу и на С++ (asm), и на Java (байткод) заебешься восстанавливать из каши, которая получается после компиляции. Почему такого же не сделать для JS.

Ответы>>739776

10 Май, 21:32 #227 #739774

>>739768
Чтобы перевести из JS в WASM, тебе надо преобразовать свой js код в asm.js совместимый. А для этого придется отказаться от многих вещей, и использовать лишь надможество js.

А вот из WASM в JS (asm.js) переводится легко.

10 Май, 21:33 #228 #739775

>>739755
Нечитаемая параша, а зачем это нужно, анон, объяснишь?

Ответы>>739777>>739778

10 Май, 21:33 #229 #739776

>>739773
Так с тем же успехом, ты можешь защищать сейчас свой код, если будешь писать на asm.js
Это тоже самое.

10 Май, 21:34 #230 #739777

>>739775
В эту парашу должно быть легко скомпилировать многие языки, например. Сейчас всякие дарты компилятся в JS, а будут сразу в это.

Ответы>>739779>>739780

10 Май, 21:34 #231 #739778

>>739775
Для упрощения написания компиляторов из других языков.

Но, не принося никаких фич из этих других языков, которые нельзя бы было реализовать на js

10 Май, 21:34 #232 #739779

>>739777
То есть писать на нем не надо будет?

Ответы>>739782>>739783

10 Май, 21:35 #233 #739780

>>739777
Сейчас все компилится в asm.js
wasm это тоже самое.
Только ужато до байткода.
Ускорение только на уровне парсинга исходного файла. Все.

10 Май, 21:35 #234 #739782

>>739779
Надо будет.
Разработчикам компиляторов.

10 Май, 21:36 #235 #739783

>>739779
Только при желании.

WASM даёт возможность писать браузерные клиентские программы не только на JS. Отсюда и опасения, что JS-у хана.

Ответы>>739788>>739789

10 Май, 21:37 #236 #739788

>>739783
А что работает быстрее?

Ответы>>739790>>739794

10 Май, 21:37 #237 #739789

>>739783
Но возможностей никаких не будет, сверх тех, что и так доступны из js

10 Май, 21:38 #238 #739790

>>739788
Будет гонка компиляторов в wasm из разных языков, очевидно. Как бы только JS тут не отстал.

Ответы>>739797>>739799

10 Май, 21:38 #239 #739794

>>739788
Ничто. Одинаково.
Про asm.js знаешь?

Ответы>>739796>>739797

10 Май, 21:39 #240 #739796

>>739794
>Одинаково.
Ага, если на js писать как на asm.js

Ответы>>739806

10 Май, 21:39 #241 #739797

>>739794
Сейчас читаю спецификацию.

>>739790
Мне очень нравится js, все, за что его не любят программисты других языков, для меня наоборот манна небесная.

Ответы>>739862>>739879

10 Май, 21:40 #242 #739799

>>739790
>Как бы только JS тут не отстал.
Пока все будут придумывать как им изъебнуться чтобы представить свои стипы и стркутуры из других языков, в типы и структуры на js, в то время когда в js они уже представлены?
Конечно, как бы не отстал, да..

10 Май, 21:42 #243 #739806

>>739796
У них разные задачи.
В wasm нет объектов.

10 Май, 21:46 #244 #739810

Весь этот хайп он именно хайп.
Все думают что вот будет, кококок.

Суть в том, что wasm не приносит никаких новых возможностей, для того, чтобы компилировать из других языков в js.
Это уже сейчас можно делать.
Например есть emscripten. Он и останется, только на выходе будет байткод.

Если бы кому-то надо было компилировать в js Хаскель\руби\го\питон\етк, то и компилировали бы уже давно.

Но никому не надо.
А если и есть какие-то поделки, то они все тянут с собою ебанистические рантаймы, и ими никто не пользуется в серьез.

Все так и останется.

Wasm нужен именно для компияторов. ЧТобы использвовать их оптимизации при алгоритмах с числодроблениями например.

Ответы>>739813

10 Май, 21:50 #245 #739813

>>739810
Алсо, вместе с wasm придут расширения спеки, типа совместимых дататайпов с низкоуровневыми языками, или SIMD
Но пользоваться ими можно будет и из js

Те кому и сейчас нужны оптимизации и так пишут оптмизированный код, и задействую всякие ништяки типа TypedArray которые есть уже давно.

10 Май, 22:37 #246 #739862

>>739797
Поддвачну пожалуй.

10 Май, 22:58 #247 #739879

>>739797
>Мне очень нравится js, все, за что его не любят программисты других языков, для меня наоборот манна небесная.

На твой взгляд, есть вещи которые ты бы исправил? Может что-то выкинул бы как лишнюю сущность? Может что-то добавил, а что-то реализовал бы иначе?

Ответы>>739891>>739928

10 Май, 23:05 #248 #739891

>>739879
В новом JS появился новый пиздец: паттерны наподобие Array.prototype[Symbol.iterator]. Раньше нубов пугали с помощью [].slice.call(arguments), теперь будут вот этим.

Ответы>>739899>>740795

10 Май, 23:10 #249 #739899

>>739891
Ну Array.prototype[Symbol.iterator] это метауровень, это полезно и нужно, а [].slice.call(arguments) простое делегирование.

Ответы>>739900

10 Май, 23:12 #250 #739900

>>739899
>а [].slice.call(arguments) простое делегирование
по-моему, главная уловка в том, что новички не знают о ебанутой природе объекта arguments, который не массив, но с параметром length.

Ответы>>739908>>739917

10 Май, 23:21 #251 #739908

>>739900
Это описывается в каждом учебнике.
Так что если какой-то новичок этого не знает, то он какой-то странный новичок.

Уловкой тут было бы правильно назвать, что конструкция
>[].slice.call(arguments)
на каждый вызов будет создавать экземпляр объекта
И вернее использовать Array.prototype,slice.call

Это разумеется мелочь, и в отдельных случаях экономия на спичках. Но выходит так, что опуская подобные мелочи в самом начале, люди во-первых не до конца понимают архитектуру языка, а во-вторых приучаются писать плохой код, потому что во-первых.

То же самое с замыканиями и прочими вещами.
На хеллоу-вордах, много замыканий не страшно разумеется. Но им кто-то видимо говорит это так. что это нес страшно вовсе, потому как потом они запиливают эти замыкания в циклах, на каждый чих и все такое прочее.

Переучиваться потом сложнее, чем понимать сразу.

К слову слайсить arguments тоже нет необходимости всегда, а только лишь тогда, когда тебе нужен этот аргументс полностью как массив. Но я часто видел, как люди слайсят его и просто, чтобы например получить последний аргумент (зачем-то).

Печально то, что многие не вникают в суть той или иной конструкции, да.

Ответы>>739972>>740003>>740833

10 Май, 23:26 #252 #739917

>>739900
Не знаю, зачем его слайсят всегда, создавая новый объект, когда можно просто заменить прототип

>Object.setPrototypeOf(arguments, Array.protytype
)

Ответы>>739924

10 Май, 23:34 #253 #739924

>>739917
Ты че мутируешь?

Ответы>>739926

10 Май, 23:35 #254 #739926

>>739924
Что?

Ответы>>739935

10 Май, 23:38 #255 #739928

>>739879
Не он, но отвечу.

Добавил бы статическую типизацию и расширенный ООП уровня шарпа. Тайпскрипт идеален, жалко его нужно компилировать и пока нет движков, выполняющих его напрямую.

Ответы>>739930>>739932>>740005

10 Май, 23:40 #256 #739930

>>739928
А быстро ли будет он напрямую выполняться со всеми этими проверками?

10 Май, 23:41 #257 #739932

>>739928
В чем проблема компиляции? Тот же шап, нужно компилировать в IL, который выполняет CLR, тот же механизм ts->js->browser/node.
SystemJS, кстати, может загружать .ts файлы, и компилировать их уже в браузере.

10 Май, 23:43 #258 #739935

>>739926
Аргументы.

10 Май, 23:52 #259 #739940

Ангуларобоги, подскажите. По нажатию на Enter отправляю сообщения в чат и делаю содержимое инпута равным "", курсор после нажатия перескакивает на следующую строку. Как изменить поведение курсора, чтобы он оставался на месте после нажатия на энтер?

Ответы>>739943>>739949

10 Май, 23:57 #260 #739943

>>739940
Найти и закомментировать код, который заставляет курсор перескакивать, лол.

11 Май, 00:00 #261 #739948

Сап. Насколько встроенные методы завязаны на встроенные объекты?

Если я перепиливаю весь рантайм, меняю прототипы у встроенных объектов и все такое прочее. Есть ли вероятность того, что где-то какой-то метод завязан на метод встроенного объекта, а не использует его через какую-то внутреннею ссылку?

Проще говоря, если я например переопределю Array.prototype.sort
Есть ли вероятность что сломается какой нибудь Element.prototype.someMethod ?

(речь только о встроенных объектах)

11 Май, 00:01 #262 #739949

>>739940
Гугли preventDefault

Ответы>>739977

187 Кб, 1920x1080

11 Май, 00:07 #263 #739954

вангую в итоге скрипт на тыщу строк

Ответы>>739961>>739968>>739969

11 Май, 00:15 #264 #739961

>>739954
Используй === вместо ==, когда тебе не нужно приведение типов.

У тебя много таких вещей, как например

if (memoryList.style.display) {
memoryList.style.display = ..
}else{
memoryList.style.display = ..
}

Каждый раз, у тебя запрашивается сначала объект memoryList потом memoryList.style а уже потом поле memoryList.style.display

Вместо этого вынеси один раз memoryList.style в переменную и уже дальше используй style.display

Ответы>>739967>>739968

11 Май, 00:18 #265 #739967

>>739961
спс, учту

11 Май, 00:19 #266 #739968

>>739961
>Вместо этого вынеси один раз memoryList.style в переменную и уже дальше используй style.display
Это копейки рядом с временем операции по применению любого стиля.

>>739954
А что, jQuery уже не в моде?

Ответы>>739972>>739974>>739987

11 Май, 00:19 #267 #739969

>>739954
Алсо, в цикле у тебя там memoryButtons.children.length
Проверяется каждый раз, хотя количество кнопок статично.
Зачем?

опять же выноси в переменную. Не дергай объекты каждый раз, тем более children возвращает живую коллекцию

Приучайся писать оптимизированный код сразу.
Пытайся понимать, что ты делаешь, каждый раз, чтобы понять, где ты что-то делаешь не хорошо.

11 Май, 00:20 #268 #739972

>>739968
>Это копейки
Я уже писал, чем чреваты такие копейки в будущем. >>739908

11 Май, 00:21 #269 #739974

>>739968
> jQuery уже не в моде
А это модно, учить язык с фреймворков?

11 Май, 00:23 #270 #739977

>>739949
Спасибо, решил проблему. Следующий вопрос, необходимо по комбинации shift+enter не слать сообщение в чате, а переходить на следующую строку в чате. Как сделать?

Ответы>>739980>>739982

11 Май, 00:25 #271 #739980

>>739977
Отлавливаешь нажатие на клавишу (enter)
и в обработчике смотришь не зажата ли при этом shift

Посмотри в консоли на event который передается в обработчик, там вроде даже есть специальный флаг зажата ли shift

Ответы>>739988

11 Май, 00:28 #272 #739982

>>739977
Лови keydown и смотри

Ответы>>739988

11 Май, 00:33 #273 #739987

>>739968
я за полгода еще даже ваниль толком не усвоил, какой жиквери

Ответы>>739992

11 Май, 00:33 #274 #739988

>>739980
>>739982
Да, нашёл флажок. Спасибо.

11 Май, 00:39 #275 #739992

>>739987
jquery потому и советуют, ибо он проще ванили.
Но это не тру, начинать не с ванили.
Все правильно делаешь.

Ответы>>740000

11 Май, 00:45 #276 #740000

>>739992
да наверное, если заюзать жиквери и всякие библиотеки, то код станет в 10 раз короче

Ответы>>740001

11 Май, 00:46 #277 #740001

>>740000
Сейчас ваниль на том уровне, когда и на ней можно писать не длинее жиквери.

11 Май, 00:46 #278 #740003

>>739908
тут поддвачну, с начала месяца читаю Кантора там же все это есть. Какие-то тупые новички раз в элементарное не въезжают

11 Май, 00:50 #279 #740005

>>739928
А я бы ничего бы не менял. Js вполне логичен, если сесть и разобраться в нем самом, а не сравнивать с другими яп и тем как привык, как не привык.
Но мое мнение никому не интересно, поэтому и выходит что могу на двачике только его писать

Ответы>>740007

11 Май, 00:55 #280 #740007

>>740005
А меня например коробит, от нововведеной конструкции class которая не нужна, а еще от испокон веков поведшейся концепции хранить конструктор отдельно от прототипа.

Должно быть что-то типа
Object.new () {
return Object.create(this)
}

Как раз это бы было максимально логично.
И так, чтобы инстансить можно было любой объект. А если в нем не прописан конструктор, то возвращается именно Object.create(this)

Ответы>>740010>>740011

11 Май, 01:00 #281 #740010

>>740007
>меня например коробит, от нововведеной конструкции class которая не нужна
Недавно переделал все фабрики в своём nodejs-проекте под class'ы - код стал намного чище. Стало можно без изворотов делать многоуровневое наследование.

11 Май, 01:02 #282 #740011

>>740007
class Creature {}
class Feline extends Creature {}
class Lynx extends Feline {}

Запиши это без классов.

Ответы>>740014

11 Май, 01:08 #283 #740014

>>740011
Я тебе тоже самое могу сказать.
Запиши мне с помощью class
В прототип поле field со значением true

Или в статик поле запиши?

А наследование реализуется как и прежде. Только раньше можно было запилить удобную обертку, и она бы не выбивалась из общей концепции. А этот сахар новомодный, как раз выбивается, потому что он не повторяет поведения.

11 Май, 04:32 #284 #740068

Обезьяны, у кого сегодня null null?
http://elm-lang.org/blog/farewell-to-frp

11 Май, 04:42 #285 #740070

>>737862 (OP)
Жаваскриптаны, оцените хуйню которую я написал на жкверях.
https://jsfiddle.net/Lk7w309j/
Код вначале скрипта - плагин на колесо мыши (не нашел как иначе добавить), дальше мой. Сносно или пиздец?

Ответы>>740494

11 Май, 09:55 #286 #740156

>>739680
>>739644
Господи, все эти дилетанты, которые абсолютно не понимают как работают браузеры, которые абсолютно не понимают зачем и почему есть жс. Кичиться какими-то бэнчмарками, но не знать про то, что бОльшую часть времени выполняются рендер, обращения к дому и к прочим браузерным апи.

Прежде чем открывать рот, хоть вот это посмотрите.
https://www.youtube.com/playlist?list=PL7664379246A246CB

Ответы>>740167

11 Май, 10:10 #287 #740167

>>740156
>в тестах тестируют node js
>но не знать про то, что бОльшую часть времени выполняются рендер, обращения к дому и к прочим браузерным апи.
>все дилетанты
Подмойся.

Ответы>>740177

11 Май, 10:32 #288 #740177

>>740167
Я про отсутствие фундаментальных знаний. Вот и ты не понимаешь как нода работает, поэтому бэнчмарки как показатель ПРОИЗВОДИТЕЛЬНОСТИ можешь засунуть куда подальше вместе с:
> transliterated from Mike Pall's Lua program
> transliterated from Rick Branson's Ruby program

Ответы>>740181

11 Май, 10:35 #289 #740181

>>740177
Я все прекрасно понимаю. Но спорить с персонажем с завышенным ЧСВ, который не предоставил опровержения бенчам (хотя ведь если он такой всезнающий, для него бы не составило труда переписать тест под ноду, и доказать свою правоту по в-рослому, а не кукареканиями - вы врееетии) и поклоняется каким-то аффторитетам, типа Крокфорда. О чем с тобою говорить.

Ответы>>740183

11 Май, 10:41 #290 #740183

>>740181
Че, Крокфорд не авторитет?

Ответы>>740184

11 Май, 10:43 #291 #740184

>>740183
Авторитетов не может быть вообще.

11 Май, 11:27 #292 #740204

Поясните по JWT.
Данные, которые находятся в теле, довольно предугадываемые. Что мешает злоумышленнику, зная вход, выход и алгоритм, подобрать наш секрет и подписывать себе админские токены?

Ответы>>740214

11 Май, 11:39 #293 #740208

>>739680
А почему не все тесты в ноде мультипроцессорные? Не чесна так!

3 Кб, 314x264

11 Май, 11:56 #294 #740214

>>740204
>подобрать наш секрет
Каким же образом?

Ответы>>740225

11 Май, 12:12 #295 #740225

>>740214
Самое простое - отксорить. Конечно, с hmac не пройдет, но первая интуитивная мысль - почему бы и нет?
Сейчас читнул SO, говорят, можно только брутфорсом.

Ответы>>740227

11 Май, 12:15 #296 #740227

>>740225
>Сейчас читнул SO, говорят, можно только брутфорсом.
В том то и дело, ты представляешь себе возможным брутфорсить JWT токен со сроком годности? С учетом того, как легко присечь подобного рода брутфорс, заморачиваться на эту тему не стоит.

Ответы>>740233

11 Май, 12:21 #297 #740233

>>740227
Да это понятно, я думал, вдруг есть что-то, кроме брутфорса.

>легко присечь подобного рода брутфорс
А вот это не правда. Перебор на клиенте же.

Ответы>>740237

11 Май, 12:26 #298 #740237

>>740233
>Перебор на клиенте же.
Ну будешь ты с клиента машины спамить, как это помешает серверу контроллировать токен спам?

Ответы>>740239

11 Май, 12:29 #299 #740239

>>740237
Мы на сервер ничего не передаем.
Подбираем секрет, пока не сможем верифировать наш же токен.

Ответы>>740245

11 Май, 12:35 #300 #740245

>>740239
Интересно, я наверное просто не в теме, я помню читал статью про client side bruteforce и она по сути сводилась к тому, что это стандартный брутфорс, просто ты не отсылаешь токены через кукисы атакующей машины, а используешь клиента для выполнения атаки. Я не совсем понимаю, как ты без сервера узнаешь что токен прошел верификацию, когда сам факт верификации объявляется сервером?

Ответы>>740249>>740338

11 Май, 12:42 #301 #740249

>>740245
Так верификация это просто декодирование, используя входное сообщение, алгоритм и секрет.
Делаем hmac_decode, пока не получим выходной json.
Конечно, есть вероятность коллизии, что hmac_decode(secret1) = hmac_decode(secret2). Но мы даже до нее вряд ли сможем забрутить.

11 Май, 13:12 #302 #740267

Посони, кажите где косячу в скрипте? Надо получить среднее арифметическое, значения переменных приходят корректно, но полученное значение не выводит в <p> http://pastebin.com/k160tNZn
мимопитонист

Ответы>>740271

11 Май, 13:16 #303 #740271

>>740267
Ну ты б свой $('p.hui') бы хоть проверил сначала, питонист.

Ответы>>740290

11 Май, 13:21 #304 #740277

Есть html таблица, из неё нужно вытащить данные, которые находятся в ячейках и сформировать ассоциативный массив, после чего сформировать xml страницу с этими данными. Как это осуществить, аноны?

Ответы>>740287

11 Май, 13:30 #305 #740287

>>740277
думаешь, тебе тут готовый скрипт напишут?
я блять не представляю даже где у тебя сложность возникла

Ответы>>740288

11 Май, 13:33 #306 #740288

>>740287
та не готовый скрипт, а что делать вообще
как из html таблицы массив сформировать, как потом xml из него создать

Ответы>>740293

11 Май, 13:36 #307 #740290

>>740271
Поясни что не так? Или просто мамкин петросян упражняется?

Ответы>>740293

11 Май, 13:38 #308 #740293

>>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.

Ответы>>740298>>740314

11 Май, 13:42 #309 #740298

>>740293
блё, я так и знал, что в какой-то мелочи лоханулся. Спасиб

11 Май, 14:16 #310 #740314

>>740293
Спасибо!

11 Май, 14:56 #311 #740338

>>740245
Почитай про jwt. Сервер даже не хранит токены.

11 Май, 17:11 #312 #740468

Тут чувак в презентации говорит, мол если юзать реакт с жуквери, то виртуал дом похерится, потому что реакт не будет понимать, где свои изменения, а где жукверевские:

https://youtu.be/YJNUK0EA_Jo?t=938

Это что значит, если что-то пилишь на реакте, нельзя на эту вещь одновременно как-то другими штуками влиять?

Ответы>>740485

11 Май, 17:49 #313 #740485

>>740468
Да никто тебе не запрещает, влияй.

Ответы>>740496

11 Май, 18:03 #314 #740494

>>740070
Бамп же

11 Май, 18:04 #315 #740496

>>740485
Но реакт тогда пробется и не сможет отслеживать изменения дома извне? Или сможет?

Ответы>>740498>>740503

11 Май, 18:05 #316 #740498

>>740496
Зачем тебе жеквере в реакте?

Ответы>>740504>>740505>>740512

11 Май, 18:07 #317 #740503

>>740496
Жеквери можно использовать не только для манипуляций с домом :^)

Ответы>>740506

11 Май, 18:07 #318 #740504

>>740498
>- сколько стоит доллар?
>- зачем тебе доллары?

Ты еврей?

11 Май, 18:07 #319 #740505

>>740498
Ну например для жеквери уи

11 Май, 18:08 #320 #740506

>>740503
Окей,я поставлю вопрос иначе.
Если менять дом в обход реактовского вдома, например используя ванильные методы - то вдом теряет смысл, верно?

Ответы>>740515

11 Май, 18:15 #321 #740512

>>740498
Пока мне это все вообще нахуй не надо, но предупрежден значит вооружен и все такое.

11 Май, 18:18 #322 #740515

>>740506
Да. Плюс это еще ебет в рот смысл реакта как инструмент для однообразного отображения куска дома из определенного стейта.

Ответы>>740531

11 Май, 18:32 #323 #740531

>>740515
Это значит, что реакт монополизирует ДОМ.
Если кто-то написал что-то на реакте. А потом кто-то захотел, что-то допилить, не затрагивая всю архитектуру (добавить ебаных снежинок, лол, не суть что). То это все пойдет по пизде?

Во времена библиотек, такого не было.

Ответы>>740534>>740542

11 Май, 18:35 #324 #740534

>>740531
это значит что снежинки тоже на реакте надо пилить, и мы тихонько подходим к мысли что тот, кто не знает реакт, будет беспомощный лох.

Ответы>>740547>>740559>>740585

11 Май, 18:41 #325 #740542

>>740531
Ну конкретно для снежинок добавим ветку в дом, которая будет на том же уровне что и корень реакта.

Ответы>>740547

11 Май, 18:45 #326 #740547

>>740542
>>740534
Это означает именно монополизацию.
То с чем так долго боролись, по типу модификаци нативных обхектов, расширения\изменения нативных прототипов и все такое прочее, что мешало бы в проекте использовать сторонние модули, или дополнять проект не зная third_party библиотек.
Все это вылезло в ином месте.

Ответы>>740558>>740585

11 Май, 18:57 #327 #740558

>>740547
Я бы не рассматривал это как что-то ужасное.
Времена, когда надо было добавлять свистоперделки на свой сайт на народе уже давно прошли. И для задач простого представления информации давно уже придумали кучу элегантных решений.

Но сейчас то задачи сводятся к другому, люди хотят видеть полное приложение, к чему хтмл и дом приспособлены очень плохо, они не создавались для этого. Для этого и придумывают такие вещи как виртульный дом, и реакты, чтобы создать некую систему взаимодействия и это не предусматривает кучу костылей.

В любом случае стек и инструменты это твой (или твоего начальства) выбор.

Ответы>>740571>>740580

11 Май, 18:57 #328 #740559

>>740534
>будет беспомощный лох.
Если я заказываю проект, с учетом того, что правок в его архитектуре не будет, но я может в будущем захочу допилить там лишнюю формочку, или добавить выпадающую менюшку, а так как я не вау-программист, и мои знания ограничиваются ванилой и джеквери. Я плачу за эту работу, и мне запиливают так, что я потом нихуя не смогу сделать не нанимая кого-то снова - это не круто.

Чтобы починить\заменить вилку от провода, мне не нужно знать физику\электрику.

Чтобы заменить масло или ремень, не нужно быть автослесарем.

Ответы>>740568

11 Май, 19:02 #329 #740568

>>740559
> Чтобы заменить масло или ремень, не нужно быть автослесарем.
Если это шестерка твоего бати (веб 2.0), но не если это болид формулы 1.

11 Май, 19:02 #330 #740571

>>740558
Парадокс в том, что когда всякого рода монополизацию делали с помощью неразрекламированных продуктов, хотя точно так же отлично документированных. Сообщество взрывалось - да как так можно.
Как только монополизацию произвели корпорации - сообщество проглотило и попросило еще.

Ответы>>740573

11 Май, 19:04 #331 #740573

>>740571
>когда всякого рода монополизацию делали с помощью неразрекламированных продуктов

например?

Ответы>>740575

11 Май, 19:05 #332 #740575

>>740573
Например sugar.js

Ответы>>740589

11 Май, 19:13 #333 #740579

Ну вот что за хуйню он тут лепит? Монополия, блядь. Вообще охуеть. Запилят тебе на бекбоне с кофескриптом в *.eco темплейтах приложение и захочется тебе добавить завтра новый кусок к нему, знаешь что ты будешь делать? Правильно, будешь ебашить бекбон на кофе в ико темплейтах или с нуля всё переписывать под то, что тебе надо. А знаешь что будет если тебе на ангуларе запилят такое приложение? Всё верно, будешь хуярить на ангуларе, может ещё и тайпскриптец подтянуть надо будет. Или, если ты не "вау-программист" будешь искать того, кто знает стак который у тебя в продакшене. Всегда так было и всегда так будет.

Ответы>>740582>>740588

11 Май, 19:14 #334 #740580

>>740558
>к чему хтмл и дом приспособлены очень плохо
Чем это?
Все тормоза не из-за них, а из-за возможностей которые они предоставляют.
А эти возможности очень широкие.

Если ебашить динамические интерфейсы на какой-нибудь нативной либе, то там тебе придется все примитивы реализовывать самому, и рендерить самому, когда тебе виджетов будет не хватать.

Собственно никто тебе не мешает точно так же делать и в вебе. Например различные онлайн-офисы, не используют для рендеринга дом, потому что это не рационально. Но то же самое было бы и в нативных гуишных либах, точно так же отрисовывали бы на контекстах в ручную.

11 Май, 19:15 #335 #740582

>>740579
>Всегда так было
В том то дело, что не было.

Ответы>>740592

11 Май, 19:18 #336 #740585

>>740534
>>740547
Блять, поехавшие. Шедоу-ДОМ это неофициальный стандарт, который скоро будут поддерживать все браузеры. Второй ангулар тоже в него может.

Ответы>>740590

11 Май, 19:19 #337 #740588

>>740579
двачую. совсем уж ебнулись эти джиквери еба погромисты

11 Май, 19:19 #338 #740589

>>740575
Это инструменты статичного веба, который еще сам Тим Бернес-Ли придумал. И тормоза от того как костылями с этим борются.
Канвас это тоже костыль.

Ответы>>740593

11 Май, 19:19 #339 #740590

>>740585
При чем тут shadow дом и vdom?
Шадоу дом такой же дом, как и обычный. Только со своим контекстом.

А вдом, это легковесная копия, это вообще не дом.

Ответы>>740598

11 Май, 19:20 #340 #740592

>>740582
Конечно было. Инструментов меньше в целом было меньше, поэтому менее разношёрстные стаки были, а по сути если у тебя было extjs приложение, то extjs бы ты и писал. Короче ни о чем вискас, я пошел пить кофе.

11 Май, 19:20 #341 #740593

>>740589
>Канвас это тоже костыль.
Канвас есть не только в вебе. Тебе браузер все рендерит на собственном канвасе.

Ответы>>740596

11 Май, 19:23 #342 #740596

>>740593
Я конкретно про браузерный канвас. И хтимл и всякие его друзья типа хмл тоже есть не только в вебе.

11 Май, 19:25 #343 #740598

>>740590
shadowDOM > vDOM потому что
vDOM временный костыль

Ответы>>740604

11 Май, 19:29 #344 #740604

>>740598
shadow dom - это дом. со всеми вытекаюшими.
вдом - это объект, который только биндится и обновляет куски настоящего дома.

С тем же успехом, ты мог бы сам управлять обычным домом. Но совсеременный программист слишком глуп для этого, ему нужно чтобы кто-то делал это за него, чтобы он не косячил.

Когда shadow dom придет всюду, те кто сейчас не пользуются обычным домом, так же не будут пользоваться теневым. Будут так же использовать такие же прослойки как реакт, потому что с домом они обращаться не умеют.

Ответы>>740606

11 Май, 19:32 #345 #740606

>>740604
>Будут так же использовать такие же прослойки как реакт, потому что с домом они обращаться не умеют
А я и не против. Только я предпочитаю думать, что это дополнительный уровень абстракции для удобства, а не я тупой.
мимопроходил

Ответы>>740742

11 Май, 21:33 #346 #740736

Как же я заебался. Нужна регулярка для валидации формы на количество символов. От n до m. Ненавижу регулярки. Спасай, анон.

Ответы>>740738>>740763>>740862>>740869

11 Май, 21:35 #347 #740738

>>740736
>регулярка на количество символов
Это шутка?

11 Май, 21:40 #348 #740742

>>740606
Давай поебемся) я буду нежно и страстно целовать тебя, делать массаж, гладить твою нежную попку и теребить языком соски. Потом войду в тебя, мы сольемся в единый организм, состоящий из оргазма, наслаждения, похоти, чувств, тишины, тоски по детству, низости первородного греха, голубого неба, ветра в поле, ночного костра..затем я поцелую тебя в лоб, прижму к себе и ты укутаешься в мои объятия, предавшись миру Морфия. Я же включу недосмотренный тайтл и добью оставшиеся 5 серий. Выключив ноутбук, я, ощутив тепло твоего тела и услышав размеренное спокойной дыхание, постараюсь уснуть.

11 Май, 22:00 #349 #740763

>>740736
>валидации формы на количество символов
Что это значит?

11 Май, 22:15 #350 #740795

>>739891
[].slice.call(arguments) - это вызов метода slice у array.prototype для преобразования массивоподобного объекта в массив, да? Я недавно js начал изучать

Ответы>>740811

312 Кб, 1199x899

211 Кб, 405x358

11 Май, 22:17 #351 #740801

>>737862 (OP)
Нужно побыстрее вьехать в D3.js, дайте совет, что ли.

Ответы>>740835

11 Май, 22:23 #352 #740811

>>740795
Да.
Поясните мне, стоит ли писать Array.prototype.slice или [].slice достаточно?

Ответы>>740814>>740833>>740928

11 Май, 22:25 #353 #740814

>>740811
эскобар.жпг

11 Май, 22:37 #354 #740833

>>740811
>>739908

11 Май, 22:38 #355 #740835

>>740801
Насколько быстро?
Если есть пара дней, то http://chimera.labs.oreilly.com/books/1230000000345/index.html

Ответы>>740924

49 Кб, 1280x421

11 Май, 23:13 #356 #740862

>>740736

Ответы>>740867

27 Кб, 921x277

11 Май, 23:16 #357 #740867

>>740862

11 Май, 23:21 #358 #740869

>>740736
>/^(.{n,m})$/
Не благодари, короче.

14 Кб, 433x222

11 Май, 23:27 #359 #740879

Объясните феномен.

Ответы>>740884

11 Май, 23:32 #360 #740884

>>740879
Оберни в скобки. Заработает.

Ответы>>740885

11 Май, 23:33 #361 #740885

>>740884
Можно ещё плюсик впереди поставить, тоже заработает. Но почему ошибка-то.

Ответы>>740888>>740891>>740892

11 Май, 23:41 #362 #740888

>>740885
Потому что имени нет.
Может легаси поведение.

11 Май, 23:43 #363 #740891

>>740885
Ты пытаешся использовать на ходу анонимную функцию, не присваивая ее никуда, и не используя в качестве колбека.
Скобочный блок возвращает последний результат, поэтому оно будет работать.
А плюсик это вообще приведение к числу так что я хз что там у тебя работает

Ответы>>740897>>740900>>740909

11 Май, 23:43 #364 #740892

>>740885
Советую почитать, как работает консоль и что такое function expression

Ответы>>740902>>740909

11 Май, 23:49 #365 #740897

>>740891
Ну плюсик приведёт функцию к NaN и вернёт его.

11 Май, 23:50 #366 #740900

>>740891
>Ты пытаешся использовать на ходу анонимную функцию, не присваивая ее никуда, и не используя в качестве колбека.
И что?
Ты когда считаешь 1+2 никуда не присваивая, или используешь любой литерал в репле, это же работает.

>Скобочный блок возвращает последний результат, поэтому оно будет работать.
Подтяни свои знания
Во=первых стрелочные функции, а что такое скобочный блок я не знаю.
А во-вторых ()=>{10} не вернет тебе 10
Авто-ретурн работает только для однострочных функций.

Ответы>>740907

11 Май, 23:52 #367 #740902

>>740892
Консоль работает через eval

11 Май, 23:54 #368 #740907

>>740900
>Скобочный блок
>()=>{10}
Я не про это. Я этот пример вообще не увидел, лол. Я про это (function(){}).
В глаза ебусь.

11 Май, 23:55 #369 #740909

>>740891
>>740892
То есть по-вашему нормально, что
> var x = eval('100'); // x = 100
работает, а
>var x = eval('function(){}'); // SyntaxError
не работает?

Ответы>>740913>>740914

11 Май, 23:57 #370 #740913

>>740909
Если знать как работает рантайм, такое смущать не будет

Ответы>>740920

11 Май, 23:58 #371 #740914

>>740909
Ты получаешь ошибку потому что это поведение бессмысленно. Ты создаешь анонимную функцию, не присваиваия ее в переменную и не в качестве коллбека. То есть ее невозможно вызвать вринципе, к ней нет доступа.

Ответы>>740915>>740917

12 Май, 00:00 #372 #740915

>>740914
Ты в глаза долбишься что ли?
Я присваиваю ее в переменную x

Если следовать твоей логике то eval('100') еще более бессымсленно, но почему-то ошубику не выбрасывает.

Алсо ты проебал момент что eval('()=>{}') работает отлично. а вот с function(){} нет.
так что твое объяснение высосано из пальца.

12 Май, 00:02 #373 #740917

>>740914
>бессмысленно
Это твое существование бессмысленно.
Только посмотрите на него.
Изобрели компиляторы, которые оценивают смысл написанного программистом кода.

Ответы>>740918

12 Май, 00:03 #374 #740918

>>740917
>Твоя программа не разделяет моей картины мира, я не буду ее выполнять.

12 Май, 00:05 #375 #740920

>>740913
Да это понятно.
Просто забавное поведение.
Хочется докопаться до причины.
Arrow же пропускает.
Мне кажется либо это arrow забыли не пропускать, либо наоборот, осталось легаси какое-то.

Ответы>>740923

12 Май, 00:11 #376 #740923

>>740920
Хотя arrow наверное правильно пропускает, он же на лету оборачивается в bind

412 Кб, 1280x971

12 Май, 00:11 #377 #740924

>>740835
Спасибо, годно.

12 Май, 00:16 #378 #740928

>>740811
> [].slice лучше не писать, так как создаётся лишний [] только чтобы взять свойство его прототипа.

Ответы>>740929>>740933>>740937>>740952

12 Май, 00:16 #379 #740929

>>740928
без >

12 Май, 00:21 #380 #740933

>>740928
Забавно, что в npm пакетах которые все используют не глядя хуй клали на подобные оптимизации
https://github.com/juliangruber/isarray/blob/master/index.js

Ответы>>740935>>740937

12 Май, 00:22 #381 #740935

>>740933
Не нравится - контрибуть!

Ответы>>740952

12 Май, 00:25 #382 #740937

>>740933
Потому что так и есть.
От подобных петушков всегда проигрываю >>740928. Ноль понимания того, как работает компилятор

Ответы>>740952

12 Май, 00:27 #383 #740938

Анонсы, нужно было программу написать которая просит ввести число больше 100, а иначе (кроме выхода) будет опять выводить окно и спрашивать.

Я только начинаю изучать язык и не пойму почему интерпретатор ругается на Break?

while (true);{
var Number = prompt(+"Введите число больше 100",'');
if (Number > 100 || Number == null) break;
else (Number < 100) continue;
}

Ответы>>740939>>740947>>741109

12 Май, 00:28 #384 #740939

>>740938
>var Number

Ответы>>740942

12 Май, 00:30 #385 #740942

>>740939
и?

12 Май, 00:32 #386 #740947

>>740938
>Анонсы, нужно было программу написать которая просит ввести число больше 100, а иначе (кроме выхода) будет опять выводить окно и спрашивать.

while (+prompt('Введите число больше 100') <= 100) {}

Ответы>>740948

12 Май, 00:33 #387 #740948

>>740947
Мне другой код не нужен, объясните почему этот не работает.

Ответы>>740949

12 Май, 00:34 #388 #740949

>>740948
а хули ты ; после while() поставил?

Ответы>>740950>>740957

12 Май, 00:37 #389 #740950

>>740949
p.s. Да там полный пиздец вообще.

while (true) {
var number = +prompt('Введите число больше 100');
if (number > 100) break;
}

Ответы>>740951

12 Май, 00:37 #390 #740951

>>740950
бля, ну табы вырежешь

43 Кб, 1077x385

12 Май, 00:38 #391 #740952

>>740928
>>740935
>>740937

Ответы>>740954

12 Май, 00:40 #392 #740954

>>740952
что за чертовщина

Ответы>>740958>>740962

12 Май, 00:42 #393 #740957

>>740949
Спасибо, ошибка пропала. Потом выдавало новую на счет continue, но мой мозг додумался что это бесполезная хуйня в ЗАМКНУТОМ цикле.

12 Май, 00:42 #394 #740958

>>740954
Никакой чертовщины.
Создать пустой объект дешевле, чем запрашивать цепочку из Array > prototype > slice
или по-твоему как поля ищутся в объекте. Цепочка вызова никак не компилируется в одну ссылку, потому что никогда не известно куда будет ссылаться эта цепочка в следующий момент. Язык динамический же.

Ответы>>740968

12 Май, 00:46 #395 #740961

while (true){
var Number = +prompt("Введите число больше 100",'');
if (Number > 100 || Number == null) break;
}

Почему-то при нажатии "Отмена" цикл не завершается, хотя в условии прописано, опять туплю.

Ответы>>740963>>740967

18 Кб, 679x96

17 Кб, 706x99

12 Май, 00:49 #396 #740962

>>740954
А у меня наоборот.

Ответы>>740977

12 Май, 00:49 #397 #740963

>>740961
У тебя в условиипрописано либо болше 100 либо null
А при отмене у тебя возвращается 0, ты же его плсиком к число приводишь.

Ответы>>740965>>740970

12 Май, 00:50 #398 #740965

>>740963
Даже если бы не приводил, undefined не > 100

Ответы>>740970>>740978

12 Май, 00:52 #399 #740967

>>740961
замени null на undefined

Ответы>>740969>>740979

12 Май, 00:52 #400 #740968

>>740958
>Создать пустой объект дешевле, чем запрашивать цепочку из Array > prototype > slice
По твоему в случае вызова метода из объекта, он не обращается к prototype?

12 Май, 00:52 #401 #740969

>>740967
вернее на NaN тогда уж. бля

12 Май, 00:52 #402 #740970

>>740963
Спасибо, понял.

>>740965
что простите? при чем здесь undefined?

Ответы>>740971

12 Май, 00:53 #403 #740971

>>740970
Когда ты жмёшь отмену в окне промпта, оно возвращает undefined.

Ответы>>740973

12 Май, 00:54 #404 #740973

>>740971
он возвращает null

12 Май, 00:54 #405 #740974

ладно, запизделся. всё равно нормальные пацаны prompt не юзают. а null тем более.

Ответы>>740980

40 Кб, 1094x304

12 Май, 00:55 #406 #740977

>>740962
Если только ты сделал так.

Ответы>>740981

12 Май, 00:56 #407 #740978

>>740965
Зато undefined == null

Ответы>>740979>>740982

12 Май, 00:56 #408 #740979

>>740967
>>740978
Не пизди

12 Май, 00:57 #409 #740980

>>740974
А еще нормальные пацаны не умеют в приведение типов.

12 Май, 00:57 #410 #740981

>>740977
Array всегда window.Array в браузере, это глобальный контекст.

Ответы>>740983

12 Май, 00:57 #411 #740982

>>740978
нахер такие приведения.

Ответы>>740984

12 Май, 00:58 #412 #740983

>>740981
При чем тут это.
Там константа.

Ответы>>740985>>740986

12 Май, 00:58 #413 #740984

>>740982
Знать надо.

Ответы>>740988

12 Май, 00:59 #414 #740985

>>740983
Я не создавал константу, ты где-то накосячил просто. Либо переопределил Array через супер-множественное наследование, а теперь зеленишь.

Ответы>>740987>>740994

12 Май, 00:59 #415 #740986

>>740983
попробуйте const prot_slice = Array.prototype.slice;

Ответы>>740990

12 Май, 00:59 #416 #740987

>>740985
Нет. Я тебе гарантирую это.

Ответы>>740996

43 Кб, 811x608

12 Май, 00:59 #417 #740988

>>740984

12 Май, 00:59 #418 #740990

>>740986
Зачем. Это не имеет смысла.

12 Май, 01:01 #419 #740994

>>740985
Это ты что-то переопределил.
Вот тебе чисто открытая вкладка.

Ответы>>740995>>740997

57 Кб, 1280x720

12 Май, 01:01 #420 #740995

>>740994
Отклеилось.

Ответы>>740996>>740997>>741007

40 Кб, 832x304

5 Кб, 330x105

12 Май, 01:05 #421 #740996

>>740995
>>740987
Еще раз, логика в том, что при вызове метода объекта, если не указана прямая ссылка, то обращение идет к prototype. Только в случае прямого присвоения (в фабрике) не будет цепочки прототипов. Но будет оверхед на ссылку (4 байта, вроде бы).

Ответы>>740998

37 Кб, 1280x239

12 Май, 01:06 #422 #740997

>>740994
>>740995
Забираю свои слова обратно. В ноде тоже наоборот.
Тогда я не знаю в чем дело.
Может в хромиуме.

Ответы>>741006>>741007

12 Май, 01:08 #423 #740998

>>740996
Так оверхед по памяти же, а тут замеряется время.

Ответы>>741004

13 Кб, 731x128

12 Май, 01:08 #424 #740999

Не так сильно, но все же да.

Ответы>>741002>>741006

12 Май, 01:09 #425 #741002

>>740999
В теперь ноде проверь. там тест честнее чисто логически.

Ответы>>741006

12 Май, 01:10 #426 #741003

Почему let так странно работает в заголовке цикла? В других языках эта переменная тоже новая каждый проход? Как теперь ловить новичков на собеседованиях.

for (let i = 0; i < 5; i++) {
setTimeout(()=> console.log(i), i*10); // 0, 1, 2, 3, 4
}

Ответы>>741010

19 Кб, 701x138

12 Май, 01:11 #427 #741004

>>740998
В случае фабрики - да, поэтому фабрика лучше, если объектов меньше 50 тысяч и быстродействие важнее памяти.
В случае же чистого быстродействия без создания объекта прямая ссылка, естественно, выиграет.

Ответы>>741007

25 Кб, 814x547

12 Май, 01:12 #428 #741006

>>740997
>>741002
>>740999
Алсо, если запускать не из консоли, а из подключенного скрипта, то Прототип снова быстрее.

Ответы>>741007

12 Май, 01:13 #429 #741007

>>741004
Ты мне рассказываешь какие-то очевидные вещи. Я это все и так знаю.

Но вот скажи почему
Тут так >>740995
А тут >>740997
И тут >>741006
иначе?
Все эти тесты мои. Все одинаковые.

Ответы>>741008

12 Май, 01:14 #430 #741008

>>741007
Оптимизация на уровне VM, очевидно.

12 Май, 01:14 #431 #741009

Анон, а что в реакте в качестве key использовать, когда массив перебираешь? Читал, что индекс это плохо

Ответы>>741163>>741165

12 Май, 01:15 #432 #741010

>>741003
Она не новая каждый проход. ее область видимости ограничена блоком.

Это тебя ловить надо.

Ответы>>741011

12 Май, 01:15 #433 #741011

>>741010
>Она не новая каждый проход
проверь сам, еба

Ответы>>741015

58 Кб, 858x545

12 Май, 01:18 #434 #741015

>>741011

Ответы>>741018

12 Май, 01:21 #435 #741018

>>741015
ты вообще не понял о чем я говорю.
каждый проход цикла i получается новая.
нельзя ошибочно сослаться на её устаревшее значение в асинхронной функции как в случае с var.

Ответы>>741020

17 Кб, 776x425

12 Май, 01:24 #436 #741020

>>741018
Потому что в случае с var в момент вызова твоей отложенной по таймауту функции твоя переменная уже изменена. Там нет никакой ошибки. Ошибка в твоем не понимани как замыкаются области видимости.

64 Кб, 719x339

12 Май, 03:54 #437 #741041

Начал изучать 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 на какое-либо из чисел до него".
И я это просто осмыслить не могу немного, как это работает вообще и как это понять.
Всегда была проблема (в школе на информатике) с циклами и я не могу представить одновременную работу двух циклов сразу да и вообще в представлении каких-то логических штук у меня вечно проблемы, нихуя не понимаю, зато другие это решают без проблем а я выдумываю что-то непонятное.

Ответы>>741042>>741251

12 Май, 03:56 #438 #741042

>>741041
дополнение:

т.е мне решение здесь не важно, хочу понять именно логику и ОСОЗНАТЬ решение.

Ответы>>741044

12 Май, 04:02 #439 #741044

>>741042
Если есть сложности с пониманием алгоритма, прогони его вручную на бумаге.
Типа вот у нас есть Number=2 из первого цикла, второй цикл будет проходит от 2 до 1, то есть ни одного раза; Number=3, i от 2 до 2, делится на 2? нет, значит простое и так далее.

Ответы>>741047

12 Май, 04:18 #440 #741047

>>741044
Ну вот я вроде примерно так и прогонял. Сейчас через Отладчик пытался прогонять, криво получается у меня это =D

Код такой, но почему-то условие не выполняется и alert не выводит, выводит просто все числа.

var Number = 2;
var i = 1;
for (; Number <= 10; Number++) {
for (; i < Number; i++) {
if (Number % i !== 0) {
alert(Number);
}
}
}

Ответы>>741050>>741053>>741128>>741155

12 Май, 04:43 #441 #741050

>>741047
дополнение:

кстати при таких фигурных скобках второй цикл возвращается к первому, а не переходит на if (только потом уже начинает переходить) и этого я тоже не пойму, почему так?

12 Май, 05:22 #442 #741053

>>741047
>((Number % i) !== 0)
?

Ответы>>741056

12 Май, 05:26 #443 #741056

>>741053
типо если Number делится на i с остатком, то условие выполняется, я так понял.

12 Май, 07:45 #444 #741089

Посоны напомните сайт где на js даются задачки, сначала суперпростые а потом сложнее, 10 уровней вроде.

Ответы>>741113

12 Май, 08:41 #445 #741109

>>740938
>while (true);

>почему интерпретатор ругается на Break?
А ты не пробовал читать, что имено он тебе говорит?

12 Май, 09:01 #446 #741113

>>741089
http://www.codewars.com/ ?

Ответы>>741118>>741145

12 Май, 09:08 #447 #741118

>>741113
Оно самое!
Спасибо, анон, да пребудет код твой идеально структурирован и документирован.

12 Май, 09:29 #448 #741128

>>741047
Гугли решето эратосфена.
Когда-то задали подобное на практичной и пока у всех были пиздецкие нагрузки на обработку тысяч чисел, мне один зракомый сказал о решете

12 Май, 09:47 #449 #741145

>>741113
Клёвая штука с утра под кофе проснуться. Там задачки постоянно новые генерятся или фиксированный стак?

12 Май, 10:01 #450 #741155

>>741047
Бля, да не называй ты переменные с большой буквы.

Ответы>>741239

12 Май, 10:15 #451 #741163

>>741009
Бамп

Ответы>>741167

12 Май, 10:16 #452 #741165

>>741009
>массив перебираешь? Читал, что индекс это плохо
Массив перебирать по индексу это вполне ок, map и forEach в любом случае перебирают по индексу.

Ответы>>741175

12 Май, 10:17 #453 #741167

>>741163
У меня обычно всегда есть id, т.к. это обычно объекты с каким-то данными. Айдишник надежней всего, очевидно.

Ответы>>741176>>741179

9 Кб, 336x131

12 Май, 10:22 #454 #741175

>>741165
Имел ввиду использовать индекс как react id

Ответы>>741176>>741178>>741185

12 Май, 10:23 #455 #741176

>>741175
>>741167

12 Май, 10:25 #456 #741178

>>741175
Хм, могу попробовать с сервера еще и id присылать, спасибо

Ответы>>741179

12 Май, 10:25 #457 #741179

>>741178
>>741167

12 Май, 10:27 #458 #741181

Как правильней, объявлять 10+ переменных или засунуть все в объект?

Ответы>>741183

12 Май, 10:28 #459 #741183

>>741181
Если переменные относятся к одной сущности, то проще выделить им один неймспейс в виде объекта.

12 Май, 10:30 #460 #741185

>>741175
Да конечно можно индекс, какая разница. Тебе нужен уникальный идентификатор, просто обычно данные редактируются и потом сабмитятся обратно на сервер, поэтому всегда есть айди. Если у тебя просто шоу каких-то фиксированных данных, то можешь по индексу.

12 Май, 10:33 #461 #741191

Использовал индекс и закономерно соснул, поэтому и спрашивал

12 Май, 11:39 #462 #741234

двачик почему когда я вывожу ключи объекта в переменную то вычисление не работает. А если не вывожу пише ну прямую obj[key] то работает

http://jsbin.com/bakamitozu/edit?js,console

Ответы>>741245

12 Май, 11:44 #463 #741239

>>741155
Он просто не знает, что Number - встроенный объект, который не следует перезаписывать.

Ответы>>741244

12 Май, 11:47 #464 #741241

Народ, а на какую кату/дан с codewars джун тянет? Или нет такого соответствия? Просто интересно, увидел у вас выше ссылку на сайт, зарегался только что, начал решать задачки.

Ответы>>741343>>741447

12 Май, 11:52 #465 #741244

>>741239
Даже если бы не было встроенного объекта. По соглашениям с большой буквы называют функции-конструкторы, а не обычные переменные.

Ответы>>741247

12 Май, 11:53 #466 #741245

>>741234
ну надо полагать потому что в неправльном случае ты меняешь переменную, а результатом выводишь изначальный объект. Работает-то он правильно. наверно стоит после умножения добавить obj[key] = objKey ?

Ответы>>741248

12 Май, 11:55 #467 #741247

>>741244
Видно же, что он не с нуля в js пришёл, а из другого языка. Думаю, это C#, ученный по урокам Unity.

12 Май, 11:56 #468 #741248

>>741245
Да работает, на нахуя опять присваивать тем более наоборот. obj[key] = objKey;

Когда я в самом начали контекст свойства объекта присвоил в переменную мне же логичней и удобней все операции совершать над переменной?

Ответы>>741249>>741282

12 Май, 11:57 #469 #741249

>>741248
переменная твоя должна быть хотя бы глобальной, или вообще нахуй ее убирай.

4 Кб, 387x238

12 Май, 12:09 #470 #741251

>>741041

Ответы>>741506

12 Май, 12:49 #471 #741282

>>741248
>удобней все операции совершать над переменной?
Это если они мутабельная и все операции твои соответствующие.

Ты же там сначала делаешь objKey = obj[key], а потом objKey = ... Очевидно, что ты изменяешь значение переменной objKey, а не элемета массива.
Это тебе не си, где можно было бы
int z = 0;
int i = &z;
i = 5;

Ответы>>741284

12 Май, 12:50 #472 #741284

>>741282
э, ну выпонели, там тест * звёздочки.

12 Май, 13:53 #473 #741343

>>741241
Бамп

Ответы>>741367

12 Май, 14:28 #474 #741367

>>741343
Никакого соответствия нет. Там даны разве появились? Хотет.

Ответы>>741383

16 Кб, 198x642

12 Май, 14:44 #475 #741383

>>741367

Ответы>>741407

39 Кб, 328x642

12 Май, 15:43 #476 #741407

>>741383
ну наверно так

Ответы>>741411>>741420

12 Май, 15:50 #477 #741411

>>741407
Лол, там 5-6 кью за час под чаек набивается. Сегодня зарегался уже набил. А вот задачки 4 и выше уже потяжелее кажутся. Так что скорее с него джун начинается

Ответы>>741447

12 Май, 15:56 #478 #741420

>>741407
Ох если бы.
Решаю 4-5 кью задачки, через полгода планирую начать искать место даже не джуна, а стажера хотя бы.

Ответы>>741431>>741447

12 Май, 16:03 #479 #741431

>>741420
нихуя у тебя свободного времени полгода

Ответы>>741452

15 Кб, 254x466

12 Май, 16:17 #480 #741447

>>741411
>>741420
>>741241

90% там задачек на матан, и логику которая вообще никакого отношения к продакшену и джунам не имеет.

Лучше борду(еще одну) запилите и то больше пользы будет чем от этих дрочилен на цифры.

Ответы>>741452>>741455

91 Кб, 720x1280

12 Май, 16:29 #481 #741452

>>741447
Ну я на кодварс подзабил пока сам. С ванили хочу соскочить, сейчас жквери изучаю, затем фреймворки начать курить с реакта.
>>741431
Да ты охуел, свободного. Я пашу на заводе по 12 часов.

12 Май, 16:34 #482 #741455

>>741447
в "мы вам перезвоним" скинули кстати
https://medium.com/@evnowandforever/f-you-i-quit-hiring-is-broken-bb8f3a48d324#.q2khdvree

а так спасибо за совет, но думаю все-равно понемногу решать, а то вот на интервью какая-нибудь лажа как тому телу попадется и пиздец

12 Май, 17:12 #483 #741494

Как отменить предыдущий ajax-запрос (или хотя бы не обрабатывать ответ сервера) если отправлен новый? ==> if(ajax){
ajax.abort();
}

не помогает, всё равно отправляется несколько

Ответы>>741497>>741512

8 Кб, 565x320

12 Май, 17:15 #484 #741497

>>741494
Суть такая: что отправка поиска кнопкой срабатывает дважды

Ответы>>741580

12 Май, 17:21 #485 #741506

>>741251
да я не код просил...

12 Май, 17:30 #486 #741512

>>741494
Как можно отменить запрос, который уже отправлен? Можно только отменить колбек, ждущий ответа от сервера на этот запрос.

12 Май, 18:19 #487 #741565

>>737862 (OP)
Работаю простым HTML/CSS верстальщиком. Параллельно учу JS. Читаю уже второй учебник. Синтаксис более менее освоил. Но не совсем понятно, что конкретно из себя представляет работа фронт-енд разработчика (да и вообще разработка сайта в целом). Допустим, есть у меня адаптивный макет, вот что с ним дальше делать?

Ответы>>741568

12 Май, 18:23 #488 #741568

>>741565
>адаптивный макет
Настоящий JS-кодер поворачивается и уходит, едва заслышав хотя бы одно слово из этих двух. Вёрстка - работа девочек-студенток, а не фронтенд-разработчика.

Ответы>>741572>>741582>>741800

12 Май, 18:26 #489 #741572

>>741568
Понял-понял. Девочка-студентка сверстала макет, дальше отдает его настоящему фронтенд-разработчику. В чем заключается работа фронтендера? Опиши дальнейшие этапы разработки или подскажи, где самому почитать об этом в деталях (гугл не помогает)?

Ответы>>741578>>741579

12 Май, 18:31 #490 #741578

>>741572
Фронтенд разработчик должен с полуслова понимать бэкенд-разработчика и обеспечивать работу логики клиентской стороны.

12 Май, 18:32 #491 #741579

>>741572
Из картинки делает такие штуки:
https://poloniex.com/exchange

12 Май, 18:32 #492 #741580

>>741497
Дисабли кнопку, енабли в при исполнении запроса.

12 Май, 18:32 #493 #741582

>>741568
Tell me more. Чем же тогда фронтендер занимается, если не работает с домом?

Ответы>>741584>>741586

12 Май, 18:33 #494 #741584

>>741582
Работает с виртуальным домом.

12 Май, 18:35 #495 #741586

>>741582
Он может работать с DOM'ом, но только из JS. Верстальщик делает окно чата на html и пишет стили для div-мессагов, а фронтент-разработчик пишет логику добавления новых сообщений, подцепляя описанные css-стили из кода.

Ответы>>741590>>741591

12 Май, 18:41 #496 #741590

>>741586
Ты конечно прав, в идеальном мире.
На деле же верстальщик городит какую-то хуйню, так как он не шарит как в дальнейшем логика будет представлена, поэтому большую часть стилей и разметки фронт все равно потом переделывает/дописывает под себя.

12 Май, 18:42 #497 #741591

>>741586
Если фронтендер не может работать с домом, а девочка-студентка не умеет работать с домом из ЖС, то кто верстает страницы на реакте?

Ответы>>741595

38 Кб, 550x481

12 Май, 18:44 #498 #741595

>>741591

12 Май, 18:48 #499 #741601

Я как раз вовремя. Пацаны, до какого уровня нужно ДжС недоджуну подтянуть верстку? флексы, гриды, адаптивность, хуйня-муйня

Ответы>>741625

12 Май, 18:49 #500 #741602

Ананасы, есть 2 дня на подготовку к собеседованию мидл-фулстек макаки, посоветуйте исходя их этого какую-нибудь книгу, где максимально сжато но в то же время глубоко и содержательно изложены главные аспекты и тонкости языка, желательно на английском. С js знаком довольно неплохо, но работаю в основном однотипно в контексте angular/jquery, поэтому интересуют именно тонкости, что могут спрашивать на mid/senior fullstack.

Ответы>>741606>>741609

12 Май, 18:51 #501 #741606

>>741602
монгу и ноду читай, фул-стак-оверфлоу ты мамкин

Ответы>>741614

12 Май, 18:52 #502 #741609

>>741602
У кореша на должность сеньёра спрашивают результат следующих сложений:
[]+[]
{}+[]
[]+{}
{}+{}

Ответы>>741614>>741615>>741622

12 Май, 18:53 #503 #741614

>>741606
>>741609
Няши, ну не тральте. Что почитать-то лучше?

12 Май, 18:54 #504 #741615

>>741609
лол, тут недоджуны это знают

Ответы>>741618

12 Май, 18:58 #505 #741618

>>741615
>лол, тут недоджуны это знают
Я не знаю и знать не хочу. Это легаси-поведение, а сами эти операции - плохой паттерн.

12 Май, 19:01 #506 #741622

>>741609
запиздуй это в сонсоль, кек
++[[]][+[]]+[+[]]

Ответы>>741631

12 Май, 19:03 #507 #741625

>>741601
Чем ниже, тем лучше. ЖС погромист вообще не должен знать верстку, этим девочки-студенки занимаются. Если ты даже не догадываешься что такое <div> или text-transform, значит ты об это говно не шкварился и тебя можно брать на работу. Ну а если что-то верстал в своей жизни, то ты просто ВЕРСТАЛЬЩИК, таких червей-пидоров погромистоми не берут.

Ответы>>741627>>741630

12 Май, 19:05 #508 #741627

>>741625
кек

Ответы>>741629

12 Май, 19:06 #509 #741629

>>741627
а ещё никогда не говори, что писал на php и через силу смейся над $ в начале переменных.

Ответы>>741633

12 Май, 19:08 #510 #741630

>>741625
Упитанно.

12 Май, 19:08 #511 #741631

>>741622
>++[[]][+[]]+[+[]]
давай еще че-нибудь ибо это было просто

12 Май, 19:10 #512 #741633

>>741629
кстати в начале переменных еще погромисты на jq ставят знак доллара. Венгерская нотация или хз как оно называется, мол это переменные для jq. Хотя по венгерской там вроде типы указывают в начале

Ответы>>741635>>741640

12 Май, 19:12 #513 #741635

>>741633
Ну я тоже так делаю, сам додумался, кстати. Чтобы знать, где простой дом-элемент, а где обёрнутый в jquery.

12 Май, 19:14 #514 #741638

Нихуя не понял суть getInitialState в реакте. Фидл с примером:

https://jsfiddle.net/tylermcginnis/du72b5L2/

Здесь же по сути устанавливается стейт, почему тогда метод называется get, а не set?

Ответы>>741639

12 Май, 19:15 #515 #741639

>>741638
Создай отдельный тред же. Здесь всем посрать на реакт и прочее хипстерское говно.

12 Май, 19:16 #516 #741640

>>741633
> начале переменн
в ангуляре этой хуеты полно

12 Май, 19:51 #517 #741667

П Е Р Е К О Т
Е 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 (М)

12 Май, 21:55 #518 #741781

/e/

12 Май, 22:21 #519 #741800

>>741568
Если твой скилл верстки ограничивается созданием простенького макетика, то не значит что другие не могут делать что-то годное. В верстке потолок умений намного выше, чем все думают.

Тред утонул или удален.
Это копия, сохраненная 23 мая 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion