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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
37 Кб, 1052x1052
Ссылка на прошлый тред: #757964 В конец треда | Веб
Ссылка на прошлый тред: >>753689 (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/ для серверного кода.
#2 #757975
и сразу поссал на макак (вас)
#3 #757976
>>757960
Функции намного гибче классов. С ними можно творить вообще, все что тебе вздумается. Каррировать, декаррировать, композировать, генерить новые функции. С классами что делать? Наследовать?

>Тестирование


Нет побочек, а даже если есть баг, тебе придется разбирать всего одно выражение, а не 100500 линий ООП иерархии.

expect(sum(1, 3)).toBe(4)
var mock = {
hui: "pizda"
}
expect(pluck('hui')(mock)).toBe("pizda")
ну и т.д.

с ООП парашей тебе придется сетапить всю пиздоебучию иерархию:

var mock = new UserList()
mock.add(new User({
name: "Vasya",
age: 20
})
mock.add(new User({
name: "Jora",
age: 30
})

expect(mock.avgAge()).toBe(25)

Внимание, вопрос: если тест наебнулся, то где ошибка? В UserList.avgAge? А может в User.getAge()? А может в UserList.getLength()?

>>757967
Так в чем проблема? Тебе религия не позволяет писать
avgAge(users)
заместо
users.avgAge()
?

И там и там понятно, что мы говорим об астракции юзверей, а на самом деле users это массив рекордов

>>757972
Где ты там стейт увидел, мм, уеба? Все функции чистые, перепроверяй.
#3 #757976
>>757960
Функции намного гибче классов. С ними можно творить вообще, все что тебе вздумается. Каррировать, декаррировать, композировать, генерить новые функции. С классами что делать? Наследовать?

>Тестирование


Нет побочек, а даже если есть баг, тебе придется разбирать всего одно выражение, а не 100500 линий ООП иерархии.

expect(sum(1, 3)).toBe(4)
var mock = {
hui: "pizda"
}
expect(pluck('hui')(mock)).toBe("pizda")
ну и т.д.

с ООП парашей тебе придется сетапить всю пиздоебучию иерархию:

var mock = new UserList()
mock.add(new User({
name: "Vasya",
age: 20
})
mock.add(new User({
name: "Jora",
age: 30
})

expect(mock.avgAge()).toBe(25)

Внимание, вопрос: если тест наебнулся, то где ошибка? В UserList.avgAge? А может в User.getAge()? А может в UserList.getLength()?

>>757967
Так в чем проблема? Тебе религия не позволяет писать
avgAge(users)
заместо
users.avgAge()
?

И там и там понятно, что мы говорим об астракции юзверей, а на самом деле users это массив рекордов

>>757972
Где ты там стейт увидел, мм, уеба? Все функции чистые, перепроверяй.
#4 #757978
Анон, новый тред начнем с годноты
http://fightcodegame.com
Кодишь танк на жабаскрипте и запускаешь против других танков, есть рейтинг, можно будет мериться танками всем тредом
>>757987
#5 #757979
>>757976

>Где ты там стейт увидел, мм, уеба? Все функции чистые, перепроверяй.


>var filterBy = field => val => arr => arr.filter(item => item[field] == val)



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

У тебя взамыканиях хранятся переменнеы field, val, arr
И блядь в ЗАМЫКАНИИ
>>757981>>757990
#6 #757980
>>757972

>Оверхед на каждое замыкание тебе вообще поебать?


А вот тут ту прав. Щито поделать, десу, хвостовую рекурсию в ЖС еще не завезли.
В крайних случаях пишу императивную функцию с циклом.
#7 #757981
>>757979
Полной чистоты в ЖС не получится, ты сам это знаешь не хуже меня. Но мои функции не мутят данные и побочек у них нет, так что в условиях ЖС это настолько много чистоты насколько можно.
#8 #757982
>>757976

>avgAge(users)


Ты так и не понял, что ооп - это абстракция да?
>>757985>>758004
#9 #757983
>>757976
С классами можно быстро понимать нахуй все эти функции нужны.
#10 #757985
>>757982
Нет, я так и не понял, что в твоем манямирке значит "абстракция"
>>757994
#11 #757987
>>757978
В это говно ещё кто-то играет? 3 года назад там овнил всех
>>757988
#12 #757988
>>757987
Зайди да посмотри
>>757989
#13 #757989
>>757988
Нахуй зайди, пидор
>>757991
#14 #757990
>>757979

>У тебя взамыканиях хранятся переменнеы field, val, arr


Какие в жопу переменные? Где хранятся? Ты дурак?
#15 #757991
>>757989
Ты почему злой такой?
#17 #757995
>>757976
Так если тебе не нужны все эти абстракции, то какого хуя ты пользуешься функциями, структурами? Это же тоже абстракции.
Ебашь все на чистых переменных, одними ветвлениями.
>>757998
#18 #757998
>>757995
Где я говорил, что мне не нужны абстракции?
Я говорю про то, что вся еботня с ООП не стоит того, чтобы писать
subject.verb(object)
вместо
verb(subject, object)

тем более в жс
>>758002
#19 #758002
>>757998
а, ну если ты полагаешь что синтаксичекое ооп ограничивается такими вещами

>subject.verb(object)


то у меня для тебя плохие новости.
>>758003
#20 #758003
>>758002
А какие еще перки у ООП в ЖС?
#21 #758004
>>757982
ты так пишешь, будто
коза.ебись()
абстрактнее чем
ебать(коза)
>>758010
#22 #758010
>>758004
Вот только функция ебать более универсальна.
Приходит такой манагер и говорит: а выеби мне Абу конем. Ок:

ебать(абу, конь)

А в ООП тебе придется переделывать класс Коза, добавить класс Ебабельное, наследовать от него и еще добавить классы Абу и Конь
>>758011>>758014
#23 #758011
>>758010

>А в ООП тебе придется переделывать класс Коза, добавить класс Ебабельное, наследовать от него и еще добавить классы Абу и Конь


ох сложна то как))
>>758013
#24 #758012
>>757964 (OP)
Ну ебаный в рот, юбилейный 50 тред и вот так обосраться с заголовком.
#25 #758013
>>758011
Это тривиальный пример. Например, если класс Коза уже наследует от чего-то, все становится чутка веселее. А в ИРЛ в уже спроектированой иерархии с десятком классов вообще можно проигрывать не переставая.
>>758017
#26 #758014
>>758010
Пиздец ты дурак всё-таки. Вопрос стоит лишь в том, выделять абстракции или не выделять. Тебе говорят, что при разрастании системы во что-то большее чем лаба2, будешь сосать(хуй, ты), но ты всё равно продолжаешь ебать коз в трёх строчках и говорить, что сэкономил на абстракциях там, где они очевидно и так нахуй не упали. Сложная система в три строчки не помещается, чтобы привести тебе пример убогости избегания абстракций в этом случае.
>>758018
#27 #758017
>>758013
Кто наследует в 2016?
>>758019
#28 #758018
>>758014
Ох, эта мифическая грань, н-ное количество строчек, после которого все другие парадигмы выдают фатал еггогы, и только ООП способно работать в таких условиях.
Про ядро Линукса слыхал, не?
>>758054
#29 #758019
>>758017
Тонко
>>758022
#30 #758022
>>758019
Не тонко, наследование не нужно, нужны интерфейсы.
>>758024
#31 #758024
>>758022
А как же фасады?
>>758026
#32 #758026
>>758024
Композицию не завезли?
>>758027
#33 #758027
>>758026
Я как-то больше по декораторам угораю. JS же, могу себе позволить.
>>758034
#34 #758034
>>758027
Взлольну над такими макаками, как ты, когда их не примут в спеку
#36 #758046
>>757776
>>757777
Что почитать про ФП? В частности в js.
>>758047>>758050
#37 #758047
>>758048
#38 #758048
>>758047
Спасибо.
>>758049
#39 #758049
>>758048
Обрати внимание, там ссылка на вики есть.
Впрочем, вот https://github.com/timoxley/functional-javascript-workshop/wiki
#40 #758050
это уже конец срача?
по этому посту >>758046 я понял что ФП победило?
>>758051
#41 #758051
>>758050
ФП всегда побеждает, юный падаван.
>>759570
#42 #758054
>>758018
Так и есть. У тебя в итоге получится либо жёстко сцепленная система, в которой всё зависит от всего и малейший вспёрд на одном краю рушит что-то на другом (зато ты покрыл всё тестами и "удобно" заимпортил зависимости), либо, блюдя чистоту, станешь прокидывать в функции по 10 аргументов, либо будешь выделять подфункции и подподфункции - то бишь ложные абстракции, которые ни о чем не говорят сами по себе, а нужны только для того, чтобы облегчить страдания.
>>758059
#43 #758059
>>758054
Еще раз. Ядро Линукса и Гит, написаны даже не на ФП, а процедурно, без ООП. Где же обещаные ад, ИГИЛ, и муки вечные?
#44 #758084
>>758059
В файлах на over 9000 строк.
#45 #758102
>>758059

> Где же обещаные ад, ИГИЛ, и муки вечные


Тащемта, всё это там присутствует. Ты заглядывал вообще в сорсы или думаешь, что если оно работает, то гениально красиво написано?
>>758104
#46 #758104
>>758102
Пример давай.
>>758108
#47 #758108
>>758104
Пример чего? Всё ядро - это разбросанные по файлам примерно по схожей тематике функции
https://github.com/torvalds/linux/tree/master/kernel
Поддерживать это, если не прочитать весь код от начала до конца - практически невозможно, потому что очень сильно всё связано. С ООП всё разбилось бы на компоненты, было бы всё куда проще и логичнее, легче поддержка, меньше связанности.
Всё сохранилось так по историческим причинам, как мне кажется. Других причин специально писать процедурно я не вижу. Так что не очень пример в поддержку процедурного, скорее антиреклама
>>758848
3 Кб, 246x50
#48 #758117
Через обычную форму (пикрелейдтед) нужно сделать подсвечивание и переход по словам на странице. Тоже самое как в стандартной функции браузера через F3, только на самой странице. Есть ли у кого-нибудь подобный скрипт?
>>758394>>758793
#49 #758128
http://jsbin.com/hifuhukiwo/edit?js,console
Это вот и есть полиморфизм, я правильно понял?
>>758136>>758400
#50 #758136
>>758128
нихуя не шарю в Js'e, но по логике в полиморфизме какой-то 1 предмет должен превращаться в другой.
>>758175
#51 #758155
Аноны, зачем нужен тайпскрипт?
Не проще ли просто там где надо в комментариях указывать тип? Не надо будет ебаться с компилятором и код не будет засрат кучей лишнего. Нахуя вот форсят этот тайпскрипт?
>>758165>>758169
#52 #758165
>>758155
Давай я тут укажу, что ты должен мне отсосать. Ты мне отсосешь?
>>758170
#53 #758169
>>758155
те же промытые жабаиндусы, которые не могут без классов и прочие дауны, не понимающие суть js
#54 #758170
>>758165
Допусттим, если ты няшный. Как это относится к типам?
>>758269
#55 #758175
>>758136

>нихуя не шарю в Js'e, но по логике в полиморфизме какой-то 1 предмет должен превращаться в другой.


Вся суть JS-тренда
#56 #758176
Жсаны, что там с работой во фронтенде? Вроде вакансий дохуя. Вы чо работать чтоль не умеете?
>>758178
#57 #758178
>>758176
Поссал на тебя.
>>758179
#58 #758179
>>758178
Зачем?
>>758180
#59 #758180
>>758179
Извини, в туалет хотелось, не сдержался. Прости, серьёзно.
#60 #758260
анон, пишу сейчас один js модуль и в инициализации навесил обработчик на submit формы. Ссылка на форму хранится внутри модуля и инфу я получаю из неё, а не через селектор. Так вот такая проблема: в обработчике submit this указывает на саму форму, а не на модуль. Есть ли какой способ добраться до содержимого модуля кроме как через window.Mymodule.Myform?
>>758268
#61 #758268
>>758260
.bind()?
#62 #758269
>>758170
А если я не няшный, ты не отсосешь.
Нельзя быть на 100% уверенным, что указание исполнится, в общем
#63 #758280
Проясните за Ангулар 2. Он работает как первый, то есть подключил файл и всё работает или нужно компилировать как Реакт?
>>758300
#64 #758300
>>758280
если пишешь на тайп скрипте, или даже ес6
12 Кб, 234x316
#65 #758344
М.
>>758347>>758363
#66 #758347
>>758344
И что?
>>758348
#67 #758348
>>758347
Тебя типа ничего не смущает?
>>758352
#68 #758352
>>758348
Нет, не смущает. Говноеды, которые пишут как в bar, должны страдать.
>>758355>>758357
#69 #758355
>>758352
Кукарекнул кривожопый дурачок.
#70 #758357
>>758352
Тебе хоть в глаза ссы, да?
#71 #758358
Аноргны, мне тут дали задание, сделать софтину на ЖС которая будет брать инфу о репощиториях и контрибуторах с гитхаба одной фирмы и отображать статистику.
В чем такие вещи обычно пишутся? MVC в чистом жсе или лучше какой-нибдуь фреймворк использовать?
>>758370
#72 #758363
>>758344
Лол, а хули так?
>>758369>>758371
#73 #758367
Кто учил первым языком JS, было сложно? А то чувствую себя тупым, дошел до массивов, и понимаю что перед глазами все расплывается.
#74 #758369
>>758363
Возвращаемое выражение должно быть на одной строке с return
>>758371
#75 #758370
>>758358
Хватит натива.
#76 #758371
>>758369

>должно быть


Лол. Ты терпила по жизни.

>>758363
Дело в автоподстановке точки с запятой.
>>758375>>758380
4 Кб, 179x172
#77 #758375
>>758371

>Лол. Ты терпила по жизни.


Ты умеешь указывать интерпретатору не подставлять точку с запятой?
>>758376
#78 #758376
>>758375
Я умею избегать парашных языков, скудоумные фанатики которых оправдывают убогие баги терпильным "должно быть".
>>758378>>758382
#79 #758378
>>758376

>Я умею избегать парашных языков


Ты даже этого треда избежать не смог, избегатор.
#80 #758380
>>758371

> >должно быть


> Лол. Ты терпила по жизни.


А в каком языке не должно так быть?
>>758381>>758398
#81 #758381
>>758380
Бери выше, в каком языке нет правил синтаксиса?
>>758398>>758402
#82 #758382
>>758376
Даун, тебе в любом языке пизды дадут за перенос выражения на следующую строку после ретурна
#83 #758387
>>758382
Может, он пишет на брейнфаке.
#84 #758391
ВЧЕРА СИНТАКСЕС ПРОХОДИЛИ
#85 #758394
>>758117
Зачем ты реализуешь стандартную функцию браузера?
А так, если ты возвращаешь ответ с сервера, то оборачивай ключевики в span.
>>758789
#86 #758397
>>758382

> тебе в любом языке пизды дадут за перенос выражения на следующую строку после ретурна


В нормальном (в том числе и в том, чей синтаксис спиздили в JS) не дадут: http://ideone.com/hMJMgT
ASI - говнофича, одно из худших решений при дизайне языка, и теперь она остается только для совместимости. С ней приходится мириться, и к счастью, проблем легко избежать. Давайте лучше за hoisting перетрем.
>>758405
20 Кб, 447x524
#87 #758398
>>758382
>>758381
>>758380
Версталы, вы обосрались.
>>758402
#88 #758400
>>758128
Это смена контекста. В общем, ты прав, только сделал не так.
http://jsbin.com/jujogilequ/1/edit?js,console
Правильно, например, так, чтобы не дублировать функцию.
#89 #758402
#90 #758405
>>758397
Чем тебе не нравится hoisting?
>>758406
#91 #758406
>>758405
Тем, что нормальные непиздоглазые люди читают сверху вниз и слева направа. И я какбэ не прочь узнать о сущности хоть что-то, прежде чем она будет использована.
>>758411>>758412
#92 #758411
>>758406

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


>читают сверху вниз


Предлагаешь интепретатору читать снизу вверх?
>>758418
#93 #758412
>>758406
setTimeout(f, 0);
>>758414
#94 #758414
>>758412
Мм, какая логичная и удобная фича!

Вы, блядь, совсем ебанулись?
>>758417
#95 #758417
>>758414
Так устроен event loop, иди нахуй отсюда с фичами других языков. Js это js.
>>758433
#96 #758418
>>758411
ПРИБАВИТЬ ОДИН К ПЕРЕМЕННОЙ FOO
@
// ПАРА СТРАНИЦ КОДА
@
У МЕНЯ ЕСТЬ ЛОКАЛЬНАЯ ПЕРЕМЕННАЯ FOO
@
ДА НЕУЖЕЛИ, БЛЯТЬ!

Интерпретатор в два прохода читает.
>>758423
9 Кб, 183x306
#97 #758423
>>758418
Иди уже отсюда нахуй.
11 Кб, 348x103
#98 #758430
Анон, вопрос по первому ангуляру, как исправить ошибку? https://jsbin.com/pojezeturu/edit?html,css,js,output
Видимо, ее причина строки на пике
>>758454
#99 #758433
>>758417
поддвачну
пришли - принимайте правила языка
#100 #758454
>>758430
ну хуй знает зачем ты по приколу разделители все проебал, но починив их все работает.
>>758455
#101 #758455
>>758454

>разделители


Ты о чем?
Работает - то оно работает, но в консоль ошибку выбрасывает
>>758458
33 Кб, 597x255
#102 #758458
>>758455
ты тралишь меня, или не знаешь что такое ;
>>758460
#103 #758460
>>758458

>;


Это семиконы, блять
НИНУЖНА
>>758462
#104 #758462
>>758460
Ссылку на ошибку не хотите ли?

http://errors.angularjs.org/1.5.5/$rootScope/infdig?p0=10&p1=[[{"msg":"randomPositon()","newVal":{"top":"50%","left":"55%"},"oldVal":{"top":"50%","left":"75%"}},{"msg":"randomPositon()","newVal":{"top":"15%","left":"15%"},"oldVal":{"top":"10%","left":"30%"}},{"msg":"randomPositon()","newVal":{"top":"5%","left":"10%"},"oldVal":{"top":"35%","left":"20%"}},{"msg":"randomPositon()","newVal":{"top":"5%","left":"70%"},"oldVal":{"top":"40%","left":"25%"}},{"msg":"randomPositon()","newVal":{"top":"40%","left":"30%"},"oldVal":{"top":"45%","left":"80%"}}],[{"msg":"randomPositon()","newVal":{"top":"65%","left":"50%"},"oldVal":{"top":"50%","left":"55%"}},{"msg":"randomPositon()","newVal":{"top":"50%","left":"55%"},"oldVal":{"top":"15%","left":"15%"}},{"msg":"randomPositon()","newVal":{"top":"10%","left":"50%"},"oldVal":{"top":"5%","left":"10%"}},{"msg":"randomPositon()","newVal":{"top":"15%","left":"70%"},"oldVal":{"top":"5%","left":"70%"}},{"msg":"randomPositon()","newVal":{"top":"10%","left":"45%"},"oldVal":{"top":"40%","left":"30%"}}],[{"msg":"randomPositon()","newVal":{"top":"10%","left":"20%"},"oldVal":{"top":"65%","left":"50%"}},{"msg":"randomPositon()","newVal":{"top":"30%","left":"45%"},"oldVal":{"top":"50%","left":"55%"}},{"msg":"randomPositon()","newVal":{"top":"45%","left":"75%"},"oldVal":{"top":"10%","left":"50%"}},{"msg":"randomPositon()","newVal":{"top":"35%","left":"35%"},"oldVal":{"top":"15%","left":"70%"}},{"msg":"randomPositon()","newVal":{"top":"15%","left":"45%"},"oldVal":{"top":"10%","left":"45%"}}],[{"msg":"randomPositon()","newVal":{"top":"55%","left":"65%"},"oldVal":{"top":"10%","left":"20%"}},{"msg":"randomPositon()","newVal":{"top":"50%","left":"50%"},"oldVal":{"top":"30%","left":"45%"}},{"msg":"randomPositon()","newVal":{"top":"70%","left":"80%"},"oldVal":{"top":"45%","left":"75%"}},{"msg":"randomPositon()","newVal":{"top":"35%","left":"40%"},"oldVal":{"top":"35%","left":"35%"}},{"msg":"randomPositon()","newVal":{"top":"5%","left":"15%"},"oldVal":{"top":"15%","left":"45%"}}],[{"msg":"randomPositon()","newVal":{"top":"35%","left":"35%"},"oldVal":{"top":"55%","left":"65%"}},{"msg":"randomPositon()","newVal":{"top":"70%","left":"60%"},"oldVal":{"top":"50%","left":"50%"}},{"msg":"randomPositon()","newVal":{"top":"35%","left":"45%"},"oldVal":{"top":"70%","left":"80%"}},{"msg":"randomPositon()","newVal":{"top":"15%","left":"15%"},"oldVal":{"top":"35%","left":"40%"}},{"msg":"randomPositon()","newVal":{"top":"25%","left":"50%"},"oldVal":{"top":"5%","left":"15%"}}]]
#104 #758462
>>758460
Ссылку на ошибку не хотите ли?

http://errors.angularjs.org/1.5.5/$rootScope/infdig?p0=10&p1=[[{"msg":"randomPositon()","newVal":{"top":"50%","left":"55%"},"oldVal":{"top":"50%","left":"75%"}},{"msg":"randomPositon()","newVal":{"top":"15%","left":"15%"},"oldVal":{"top":"10%","left":"30%"}},{"msg":"randomPositon()","newVal":{"top":"5%","left":"10%"},"oldVal":{"top":"35%","left":"20%"}},{"msg":"randomPositon()","newVal":{"top":"5%","left":"70%"},"oldVal":{"top":"40%","left":"25%"}},{"msg":"randomPositon()","newVal":{"top":"40%","left":"30%"},"oldVal":{"top":"45%","left":"80%"}}],[{"msg":"randomPositon()","newVal":{"top":"65%","left":"50%"},"oldVal":{"top":"50%","left":"55%"}},{"msg":"randomPositon()","newVal":{"top":"50%","left":"55%"},"oldVal":{"top":"15%","left":"15%"}},{"msg":"randomPositon()","newVal":{"top":"10%","left":"50%"},"oldVal":{"top":"5%","left":"10%"}},{"msg":"randomPositon()","newVal":{"top":"15%","left":"70%"},"oldVal":{"top":"5%","left":"70%"}},{"msg":"randomPositon()","newVal":{"top":"10%","left":"45%"},"oldVal":{"top":"40%","left":"30%"}}],[{"msg":"randomPositon()","newVal":{"top":"10%","left":"20%"},"oldVal":{"top":"65%","left":"50%"}},{"msg":"randomPositon()","newVal":{"top":"30%","left":"45%"},"oldVal":{"top":"50%","left":"55%"}},{"msg":"randomPositon()","newVal":{"top":"45%","left":"75%"},"oldVal":{"top":"10%","left":"50%"}},{"msg":"randomPositon()","newVal":{"top":"35%","left":"35%"},"oldVal":{"top":"15%","left":"70%"}},{"msg":"randomPositon()","newVal":{"top":"15%","left":"45%"},"oldVal":{"top":"10%","left":"45%"}}],[{"msg":"randomPositon()","newVal":{"top":"55%","left":"65%"},"oldVal":{"top":"10%","left":"20%"}},{"msg":"randomPositon()","newVal":{"top":"50%","left":"50%"},"oldVal":{"top":"30%","left":"45%"}},{"msg":"randomPositon()","newVal":{"top":"70%","left":"80%"},"oldVal":{"top":"45%","left":"75%"}},{"msg":"randomPositon()","newVal":{"top":"35%","left":"40%"},"oldVal":{"top":"35%","left":"35%"}},{"msg":"randomPositon()","newVal":{"top":"5%","left":"15%"},"oldVal":{"top":"15%","left":"45%"}}],[{"msg":"randomPositon()","newVal":{"top":"35%","left":"35%"},"oldVal":{"top":"55%","left":"65%"}},{"msg":"randomPositon()","newVal":{"top":"70%","left":"60%"},"oldVal":{"top":"50%","left":"50%"}},{"msg":"randomPositon()","newVal":{"top":"35%","left":"45%"},"oldVal":{"top":"70%","left":"80%"}},{"msg":"randomPositon()","newVal":{"top":"15%","left":"15%"},"oldVal":{"top":"35%","left":"40%"}},{"msg":"randomPositon()","newVal":{"top":"25%","left":"50%"},"oldVal":{"top":"5%","left":"15%"}}]]
>>758464>>758489
#105 #758464
>>758462
Алло, йоба, надиктуй ссылку.
#106 #758489
>>758462
ну кароч забей хуй, работает жи, там почитать так многие ебутся с этой хуйней.
>>758496
11 Кб, 348x103
11 Кб, 318x103
#107 #758496
>>758489
Найс фреймворк
Алсо, если изменить строки как на втором пике, т.е сделать число не случайным, а статичным, то ошибка пропадает
>>758498
#108 #758498
>>758496
там ебучее ограничение вложенности ругается, ну тип ты ахуел повторять столько операций да еще и с рандомом. Рекурсий ссытся.
>>758501
#109 #758501
>>758498
Он останавливает операции или только ругается?
>>758513
#110 #758513
>>758501
там по умолчанию 10 интераций максимум стоит в digestTtl(limit), если больше будет, то остановит. Увеличение тебе не поможет, потому что тут проблема не в этом, поэтому-то оно и работает, infinite loop в рандоме где-то зарывается. Попробуй захуячить его в скоупе $scope.random
>>758520
#111 #758519
>>758367
Я учил первым, мне было легко. Только на замыканиях запнулся.
#112 #758520
>>758513
Спасибо
Лучше на реакте напишу
>>758698
#113 #758521
>>758367
любой первый язык так идет. разрабатывай анус, делай задачки по циклам, массивам, стрингам, не бойся. зато второй легче пойдет, я гарантирую.
(мой первый - руби)
>>758559
#114 #758523
Поцоны, меня неделю назад стукнуло делать мультиплееерную игру. Выбрал нода + сокеты + phaser.
Так вот, как мне сделать сервер на фазере? Чтобы передвижения игроков туда записывались, а потом отправлялись тем же игрокам мне так же нужно просчитывать столкновения со стенами на сервере. Зачем? Чтобы какир228 не начал отправлять по сокету движение в сторону стены в обход проверки на столкновение на клиенте.
Забить, и запускать на сервере игру с графоном но без отображения его где-либо?
З.Ы. Какие будут проблемы с синхронизацией?
#115 #758525
>>758367
Если от массивов уже плохо, то не двигайся к объектам пока не закрепишь в голове массивы.
#116 #758526
>>758525
это правда для языков, в которых массывы это массивы
>>758529
#117 #758527
>>758523
лол, лучше бы тебе что-нибудь другое стукнуло. Мультиплеерная игра блядь. Ты сначала обычную напиши, уже ахуеешь.
>>758536
#118 #758529
>>758526
а в js массив это не массив? Может ты про объекты писал?
>>758531
#119 #758531
>>758529

> в js массив это не массив


в понимании computer science эта хуета из JS не тру массив, и работает намного медленнее

в JS "массив" это что-то типа:
{0:sosi, 1:hui, 2:bydlo}
>>758533
#120 #758533
>>758531
ты прикалываешься или реально путаешь ассоциативный массив с парами ключ значение аля объекты, от простых массивов ['sosi', 'hui', 'bidlo']
#121 #758534
>>758533
нет, в самом деле, почитай Good Parts
#122 #758535
>>758533
В js - всë объекты. Даже массивы, функции, переменные, числа, небо, Аллах.
Массив - объект с названиями свойств 0, 1, 2…
>>758540>>758542
#123 #758536
>>758527
Писал уже. По делу есть что сказать?
#124 #758537
>>758533

> An array is a linear allocation of memory in which elements are accessed by integers that are used to compute offsets. Arrays can be very fast data structures.


> Unfortunately, JavaScript does not have anything like this kind of array.


> Instead, JavaScript provides an object that has some array-like characteristics. It converts array subscripts into strings that are used to make properties.


> It is significantlyslower than a real array, but it can be more convenient to use. Retrieval and updating of properties work the same as with objects, except that there is a special trickwith integer property names.

>>758541
#125 #758540
>>758535
блядь, дело не в этом, а в том, что массив как сущность отделена от объектов обозначением [] и методами Array. Поебать что это объект с числовыми индексами. Я к тому, что вот это {0:sosi, 1:hui, 2:bydlo} называть массивом не только говноедство, но и неправильно с точки зрения языка. Массивы это array и его методы.
>>758546
#126 #758541
>>758537
Мы блядь вроде про js разговариваем, нахуй ты это принес.
>>758543
#127 #758542
>>758535
"Everything is an object"... that's one of the big misconceptions that exist all around the language.

Not everything is an object, there are what we call primitive values, which are string, number, boolean, null, and undefined.

That's true, a string is a primitive value, but you can access all the methods inherited from String.prototype as if it were an object.
#128 #758543
>>758541
Я к тому что хули сожалеть, что масссивы в js это объекты и что они медленные. Как есть так есть, речь про нейминг массивов и объектов
#129 #758546
>>758540

> сущность отделена от объектов


ага, да, ясно
>>758552
#130 #758552
>>758546
window.Array от пизды придуман наверно да? Object наше все. Иди нахуй
>>758642
#131 #758559
>>758525
Так и делаю, учу по учебнику на learn. Понял что главная проблема в перегрузке различными методами, сложно удержать все сразу.
>>758521
Да пока, с теорией, нужно переходить на практику. Спасибо.
#132 #758562
>>758559
забудь о методах, делай сперва все своими костылями, циклами и if-ами.

Потом возьми напиши свои forEach, map, filter, some и т.д. и с тех пор начинай уже юзать методы.
#133 #758564
>>758559
30%-теория 70%-практика
#134 #758570
>>758559
Удерживать и не надо, надо просто прочитать и понять что это есть и как оно работает. А всякую конкретику будешь уже во время практики гуглить и со временем запомнишь. Я первым и единственным языком тоже жс учу, посмотрел видеокурс от специалиста, прочитал лернжс.ру и спикинг жс и сразу начал писать код который даже сейчас работает в реальных проектах.
Сейчас я конечно могу переписать все более правильно, сделать существенный рефакторинг того кода и т.д., но суть в том что даже если тебе кажется что ты не поянл теорию то после практики ты все равно поймешь что к чему.
А уже когда будет опыт написания кода можно снова прочитать базовые материалы и уже систематизировать знания. Я как перечитывал/пересматривал охуел сколько важных ньюансов рассмотрено на которые я не обратил внимание при первом знакомстве, так как просто не мог понять почему это важно.
#135 #758578
>>758523
На форумцах говорят делать для сервера свою физику либо лепить box2d.
Так и сделаю, что уж тут
>>758579
#136 #758579
>>758578
Что за игра? wow2?
>>758583
#137 #758583
>>758579
я это к чему, если ты до этого ничего не писал, а ты походу ничего не писал. Выкинь из головы расчет столкновений блядь, физику...ты же обосрешься, уверяю. Для начала напиши онлайн камни-ножницы-бумага. Люди подрубаются в общую комнату друг другу кидают вызов-попадают на поле игры и играют на очки до скольки-то там, потом оба выход в комнату общую. Когда напишешь тогда приходи и про физику думай.
>>758601
#138 #758589
Анон, помоги с ангуляром и django rest framework. Проблема в аутентификации. Я выбрал аутентификацию по токену.
Получить токен не проблема. И даже подписать по умолчанию все вызовы нужным заголовком тоже.
На как сохранить аутентификацию после обновления страницы? Хранить токен в локалсторадже и при запуске приложения его получать?
Тогда сразу по токену можно запросить пользователя, но как по-людски сказать всему приложению что пользователь установлен?
#139 #758601
>>758583
Чятики и карточные игры на сокетах я делал ещë в школе, так что спасибо за совет, но у меня другие проблемы.
>>758604
5 Кб, 150x150
sage #140 #758603
typeof null
>>758605
#141 #758604
>>758601
в gd иди, тут всем похуй на твои вов2
>>758630
#142 #758605
>>758603
ну чего вот ты начинаешь опять
#143 #758608
>>758523
Это будет слишком требовательно к пингу если я правильно понял что ты хочешь.
Может имеет смысл просто считать на сервере возможно ли перемещение из одной точки в другую и если игрок переместился в подозрительное место кикать его из игры?
>>758632
#144 #758630
>>758604
Какой вов2?
>>758634
#145 #758632
>>758608
Может и так. Тут тоже нужно оверлеи считать, а аркадная физика фазера ничего круче и не делает. Другое дело, что фазер сам много чего делает ненужного. Где-то читал о хедлес режиме фазера, может это мой выход.
#146 #758633
В чём разница между Underscore и Lodash?
>>758653
#147 #758634
>>758630
Да это классика в гд. Тип решил сделать игру типа вов крузис и так далее. набираю команду всех, плачу нихуя. Мб ты и не такой, не обращай внимания.
#148 #758636
>>758523

>в обход проверки на столкновение на клиенте.


Потому что клиент должен отправлять только действия пользователя и принимать state от сервера. Тогда такие ситуации невозможны.
>>758637
#149 #758637
>>758636
как в танках сделано, серв все сам считает. Читерам хуй за щеку.
>>758640
#150 #758640
>>758637
только возникает проблема того, что сервер на себе всю нагрузку несет. Клиенты это тупо отображение и контролер.
>>758645>>758651
5 Кб, 194x110
#151 #758642
>>758552
Правда штоле?
>>758648
#152 #758645
>>758640
Эта проблема возникает, если обосрался с алгоритмами.
>>758650
#153 #758648
>>758642
ты долбаеб или прикалываешься? Я там сто раз написал что массивы это объекты, но они отделены в отдельную сущность, и не надо сущности эти путать массив-это массив и набор методов массива. И похуй что по факту это объект.
>>758649
#154 #758649
>>758648
Похуй потому, что ты так сказал?
>>758656
#155 #758650
>>758645
но хули, если у тебя 50к онлайна и каждый требует расчета его йоба физики тебе самый ахуенный алгоритм не поможет и твой сервер обосрется и будет горько плакать
>>758654
#156 #758651
>>758640
Кстати, а нельзя ли давать клиентам просчитывать физику в каком-то зашифрованом виде? И потом чтобы не пересылать опять на сервер чтобы раздать всем, отправлять напрямую другим игрокам
>>758657
#157 #758653
>>758633
u < lodash
#158 #758654
>>758650
Кластеризацию и масштабируемость придумали для лохов что ли?
>>758659
#159 #758656
>>758649
похуй потому что такие долбаебы как ты могут называть массивы объектами и гордится тем, что они знают архитектуру js, при этом выглядеть со стороны как аутисты.
>>758671
#160 #758657
>>758651
И потом другим игрокам отправлять ключи для дешифровки?
#161 #758659
>>758654
ну так разговор начался с того, что я тут решил йоба игру запилить, надо полагать, что там выделенки а датацентре не намечается
>>758667
датафреймы #162 #758662
бро, кто работал с датафреймами в js, поясните по библиотекам?
то что нагуглил ужасно неудобно просто ппц как, а обстоятельства вынуждают использовать js.
Спасибо.
#163 #758667
>>758659
Если у тебя будет 50к посещаемости, это такой успех, блядь, что стоимостью датацентра можно будет пренебречь. Пиздец, двощер, хули ты не думаешь?
#164 #758671
>>758656
У меня от тебя испанский стыд. Знание, что массив это объект, например, дает передачу по ссылке в качестве аргумента.
>>758677
#165 #758677
>>758671
ну ты заебал уже. Я отвечал анону который писал что это массив {0:sosi, 1:hui, 2:bydlo}. Если ты тоже называешь это массивом а вот это [1,2,3] объектом, то просто иди нахуй. Речь шла про нейминг ты мне упорно сука доказываешь, про архитектуру, ну испанский стыд.
>>758689>>758711
#166 #758689
>>758677
Прочти вот это:
>>758525

Сначала стоит понять объекты, а потом двигаться к массивам.
>>758693
#167 #758691
Кстати, я только что нашëл как ещë можно сделать ту игру на фазере. Можно обойтись без физики если принимать и отсылать только изменения скорости.
Против читеров можно сделать бан за слишком быстрое ускорение, но если кого-то быстро толкать (например падающим предметом), то забанит просто так. А если так не сделать, то какиры будут ложно толкать себя на клиенте.
Я понимаю, что никто не будет делать читов для проекта такого уровня, но интереснее промто сделать немного лучше чем кокашку.
>>758699>>758700
#168 #758693
>>758689
это тут при чем, это не я писал. Я начал с того, что своими именами называть все надо.
>>758697
#169 #758697
>>758693
Антоша, не кипятись. Я указываю на то, что начинать стоит с объектов.
#170 #758698
>>758520
Между ними 5 лет разницы, что ты хотел
#171 #758699
>>758691

>Можно обойтись без физики если принимать и отсылать только изменения скорости.


Еще раз. Физика обсчитывается на сервере. На клиенте она считается только в рамках client-side-prediction. Сервер контролирует читы и только сервер, потому что клиент отвечает за отсылку сигналов и получение команд И БОЛЬШЕ НИ ЗА ЧТО. Т.е. читы дадут игроку ложную картину, а на сервере чита не произойдет, игрок упрется в стену.
>>758705
#172 #758700
>>758691
Можно отслеживать продолжительность такой скорости, например
>>758705
#173 #758705
>>758700
Можно толкать с остановками. Короче сейчас буду делать без толканий, а потом буду придумывать свою физику на сервер.

>>758699

Я всë это понимаю, но сейчас я уже думаю о том чтобы делать без просчëта физики на сервере, раз ускорение при ходьбе у всех будет одинаковое, то античитом в такой ситуации будет просто проверка валидности ускорения.
#174 #758711
>>758677
Если б ты не ебался в глаза, ты б увидел, что там пишет не то, что я утверждаю что асс. об. это массив, а пишет что массив в JS

> это что-то типа:


> {0:sosi, 1:hui, 2:bydlo}


просто в обвёртке Array, с методами и пропертями которые делают из него массив (например {0:'sosi', 1:'hui', 2:'bydlo', length:3 ... и т.д.}

раскукарекался на весь тред, на ровном месте, ещё и аутистами всех кроет, хуйло, мамку ебал.
>>758715
#175 #758715
>>758711
Ибо нехуй. Надо называть своими именами все, пусть весь тред в курсе будет, не беда. Про мамку взаимно.
#176 #758733
Аноны, код какого опенсорс приложения можно посмотреть чтоб увидеть работу топовых nodejs программистов?
>>758739>>758772
#177 #758739
>>758733
Express, Strongloop
>>758748>>758776
#178 #758748
>>758739
спс
#179 #758772
>>758733
Ghost. Его даже NASA юзает.
#180 #758776
>>758739
Лол, когда я последний раз смотрел стронгзалуп, они не могли решить нужны ли дефолтные модели в лупбэке или нет. Модель user не гнулась и была нахер не нужна, но выпилить ее никакой возможности не представлялось. Топовые разработчики фреймворков етить.
#181 #758789
>>758394
Сказали в технаре сделать такую функцию на локальном сайте с помощью Javascript. Поэтому тут без сервера всё.
>>758793
#183 #758804
>>758059
Пиздабол.
Все ядро линукса на объектах построено.
>>758827
#184 #758809
>>758793
Спасибо, няша
#185 #758827
>>758804
Открой исходники и посмотри
#186 #758831
http://www.makelinux.net/books/lkd2/ch12lev1sec4
вот вам ооп в ядре линукс, но его там не так много
мимо
#187 #758848
>>758108
Было бы миллион файлов с миллион классов по 20 строк в каждом, а кодобаза разрослась бы в десятки раз с кучей ничего не делающего кода. Ну и последние достижения индусов в сфере набора букав латиницей: preauthenticatedauthenticationprovider, abstractsingletonproxyfactorybean и simplebeanfactoryawareaspectinstancefactory
прилогались бы. Нет уж, идите нахой, ООП провалилось и осталось в 90х.
>>758855
#188 #758855
>>758848
Пиздец, зачем ты проецируешь свое неумение в ООП на всех людей? Ты даун?
>>758858>>758888
#189 #758858
>>758855
Ну не умеем мы жрать говно, ну и что? Нравится - жри дальше.
>>758872
#190 #758859

>Материалы для изучения


>Выразительный JavaScript


>Вводная книга по JavaScript


>learn.javascript.ru


>Начинать строго с него.


Так с чего начинать? И нужно ли читать две эти книги? Пролистал их — обе по основам языка. Хотелось бы иметь более компактный список книг для чтения, чтобы с каждой новой книгой не приходилось читать про то, как создавать массивы.
#191 #758863
Поиясните ньюфагу принципиальную разницу. ООП вроде понимаю суть, а вот фп не оче. Объясните вкратце для вкатывающегося, мейби я нахой эти объекты дрочу.
#192 #758872
>>758858
Все вокруг жрут говно, один ты не жрешь, да. Все вокруг дауны с нихуя ооп юзают, один ты умный процедурки getUserById строчишь и других пытаешься заставить
В каждом треде, блять, как же вы заебали
#193 #758888
>>758855
Какое моё, маня, это всё общепринятые штандарты, GoF, SOLID, PoEAA, весь этот маразм от Фаулера, благодаря ним рождаются чудовищные выблевы типа спринга с фабриками фабрик и прочим говном. Ну хуй с ними с жабадаунами, такова их судьба аутировать в тырпрайзе, печально только что некоторые дебилы пытаются превратить минималистичный, простой и гибкий жс в такое же говно.
>>758936
31 Кб, 1085x269
#194 #758911
Посаны, а что это за магия в реакт.жс? В современном такого не вижу, это у меня v0.12.2.
>>758977
62 Кб, 632x456
#195 #758912
Там оно везде!
>>758977
#196 #758918
Посаны, вот изучая Javascript в примерах постоянно используется prompt для ввода данных. А как например это можно оформить через красивую форму? Есть ли такой материал на learn.javascript.ru , не смог сам найти. Или ещё лучше готовый пример, чтобы потыкать самому и посмотреть.
>>758921
#197 #758921
>>758918
Выучи верстку сначала
>>760693
#198 #758936
>>758888
Ни одной сложной предметной области не было запилено на функциональных языках. Только микросервисы.
>>758953
#199 #758953
>>758967
#200 #758955
У меня стак переполняется и я таков дебил, что не могу найти рекурсию. Как это проще сделать?
317 Кб, 345x428
#201 #758967
#202 #758977
АЛЕ ЕБАТЬ, ПРОГРАМИСТЫ ХУЕВЫ, НУ-КА ПОЯСНИТЕ ЗА ЭТО ГОВНО
>>758911
>>758912
ВЫ ТУТ СОВСЕМ ЧТО-ЛИ СО СВОИМ ДЖАВАСКРИПТОМ ПИЗДАНУЛИСЬ????
>>758979>>758986
#203 #758979
>>758977
Где у тебя болит-то? Тебя смущает сравнение "production" с "development"? Очевидно на месте "production" был какой-то макрос, который заменяется на тип среды при сборке. В результате отладочный код в продакшене не выполняется.
мимо
>>758980
#204 #758980
>>758979
Вернее, наоборот. Ну ты понял кароч.
#205 #758986
>>758977
Invariant диспатчит охуительные ошибки в консоль, детальные и точные. В таком-то месте, таком-то компоненте, вы - гражданин обосрамшись, потому что это и это, возможно вы хотели сделать то и то? И ты такой, ох ебать, точняк! Охуенно сделали ребята, ничего не скажешь.
#206 #759094
Пробую сделать пет-проект. Логика в нём такая. К хтмл подключен js.
На хтмл есть кнопочка form->submit.
Так вот. Нажимаем на кнопочку и в js есть функция
$(document).ready(function() {
$('#inputData').submit(function( event ) {
$.ajax({
...
success: function(data) {
$.each(data, function(key, value) {
$('tbody').append('<tr>' +
'<td>' + '<a href="'+ value.teamId +'">' + value.teamName + '</a>' + '</td>' +
...
}
}
})
});
});

в этой функции есть вызов ajax, который обращается к пхп и дергает бд, чтобы получить данные, и потом через $.each() строится таблица.

Надеюсь это нормально с точки зрения построения логики.

Теперь к проблеме. После того как я создал таблицу с текущими данными на сегодняшнее число, я хочу чтобы можно было нажимать на значения в таблице (например по названию в первой колонке - футбольная команда) - и делать новый запрос через ajax к пхп, чтобы получить все прошлые данные об этой команде и строить какой-нибудь красивый график. Как это правильно делать? Какую книжку может почитать. Вот здесь я пытался изобразить что хочу https://2ch.hk/pr/res/751215.html#752732 (М)
>>759095>>759099
#207 #759095
>>759094
Может быть не нужно было пихать в $(document).ready - запрос через аякс, но как тогда нажимать на кнопку на хтмл форме? Ведь после того как в $(document).ready я построил таблицу, нужно же как то обновить DOM? Или нужно было делать через функции всё, а не пихать всю простыню в $(document).ready.
#208 #759099
>>759094
Ну делаешь какие-то айдишники для всех ячеек

> '<td>' + '<a id="team-info-'+ value.teamId +'">' + value.teamName + '</a>' + '</td>'


А потом слушаешь клик и подгружаешь

> $('[id^=team-info-]').on('click', (e) => { / Парсишь id и подгружаешь данные/ })



Как-то так, в общем https://jsfiddle.net/xxxwww/Lcqtfd4a/

Но зачем на жквери такое писать? Петпроджекты обычно кому-то показывать нужно, а сейчас котируются фреймворки
>>759126
252 Кб, 1299x733
#209 #759106
анончики, можно ли изучить хоть какой то язык программирования в 30 лет, без единого опыта в данном направлении? спасибо
#210 #759108
>>759111
#211 #759109
>>759106
Тебе кто-то запрещает или что? Конечно можно
>>759111
#212 #759110
>>759106
нет. не за что
#213 #759111
>>759108
>>759109
с чего начать порекомендуете, джентльмены?
#214 #759113
>>759111
В шапке ж всё написано
#215 #759114
>>759111
Codeacademy -> javascript или python
#216 #759126
>>759099
Я только джедай 0 уровня в js, поэтому пока без фреймворков.
Я вот так примерно и думаю. Только одна история - куда правильно добавить действие on(click). Ведь когда я динамически создаю таблицу в $(document).ready - у меня же не обновляется DOM внутри $(document).ready. Или его как-то можно обновить? Поэтому как его слушать-то. Или я совсем как-то не так делаю.

у меня сейчас примерно вот так:
$(document).ready(function(){
$('#inputData').submit(function(event) {
...
});
$('[id^=team-info-]').on('click', (e) => {
...
});
});

Но ведь пока я не нажму на кнопку - таблицы не существует, а ровно и ссылок нет. И как тогда должно отработать событие он клик которые в $(document).ready?
Может есть какой-то мануал..о течении линии жизни внутри $(document).ready?
>>759131>>759134
#217 #759128
>>759111
тебе повезло что я твой пост увидел, тебя сейчас все тралировать начнут, всякими пайтонами и джсами. учи хаскель и не прогадаешь.
#218 #759131
>>759126
не жри гавно, мразь.
http://youmightnotneedjquery.com/
>>759135
#219 #759134
>>759126

> Но ведь пока я не нажму на кнопку - таблицы не существует, а ровно и ссылок нет


Тогда нужно вот так
https://jsfiddle.net/xxxwww/Lcqtfd4a/1/
>>759157
#220 #759135
>>759131
Это выглядит скорее как реклама jquery
#221 #759152
Как узнать длину односвязного списка?

var list = {
value: 1,
next: {
value: 2,
next: {
value: 3,
next: {
value: 4,
next: null
}
}
}
};
console.log(list.length);

Это не прокатило
#222 #759157
>>759134
Шикарно! Благодарю!!!
#223 #759160
>>759152
Нужно только первый уровень или количество всех элементов?
#224 #759196
>>759152
Почему ты решил что ․length должен прокатить?
#225 #759203
>>759223
#226 #759223
>>759203
АХАХАХАХА
http://ideone.com/PdIYZT
АХАХАХАХА
#227 #759227
Array.prototype.slice.call(arguments)
sage #228 #759228
>>759227
сажу забыл
>>759332
#229 #759236
>>759223
return list.next ? len(list.next, count + 1) : count > 0 ? ++count : 0;
#230 #759245
>>759223
Ну тогда вместое + 1 добавить провернку на value http://ideone.com/bd59VB

Хотя что делать с
list = {next: {value: 2, next: null}}
не очень ясно. Может такое быть?
#231 #759252
>>759223
спасибо
#232 #759277
Что скажете за курс от loftschool по JS ?
>>759304
#233 #759304
>>759277
Скачай с рутрекера/ннмклаба да глянь или занятой дохуя? Обычный курс с примерами.
#234 #759332
>>759227
>>759228
[...arguments]
#235 #759366
Где вы вообще нововведения ES6 используете? Сайты с 95%+ покрытием всеми браузерами это хорошо и оптимистично, но я вот вставил в код let и destructured assignment — всё, пизда рулю, кроме фф и хрома нормально нигде не работает. Не, можно, конечно, бабелы-хуябелы использовать, но у меня там кода-то на 300 строк, с транспайлерами ебаться ради этого смысла нет.
Боюсь теперь вообще хоть что-либо ещё не примитивное использовать в коде, а ещё о стрелочных функциях задумывался.
>>759368
#236 #759368
>>759366

> Где вы вообще нововведения ES6 используете?


В ноде
#237 #759371
>>759227
[].slice.call(arguments)
#238 #759542
Антоши, аплаялся на работу, мне прислали задание с https://www.hackerrank.com/ 90 минут с момента как нажму начать.
никто не сталкивался? сложные там задания?
>>759548>>759569
#239 #759548
>>759542

>90 минут с момента как нажму начать


Ну и пиздец
>>759550
#240 #759550
>>759548
я просто смотрю что там по JS раздела нет
>>759551
#241 #759551
>>759550
как нет js раздела?
@
ну пройдите тогда php
#242 #759569
>>759542
Не хочешь с фейка пройти сначала?
>>759573
#243 #759570
>>758051
ФП побеждает в конкурсе "как максимальными усилиями получить минимальный результат".
>>759623
#244 #759573
>>759569
я думаю по той ссылке что мне дали можна только раз проходить. Да сейчас просто по сайтику потыкаю, посмотрю примерно что к чему
#245 #759623
>>759570
ФП побеждает в конкурсе "как минимальными усилиями отсеять максимальных дебилов".
#246 #759627
>>759623
Не-дебилы -- это которые голодают?
#247 #759653
Раз ФП так охуенен, не подскажите ли книгу по функциональному JavaScript?
>>759661>>759825
#248 #759654
React/node/angular2? Что бы вы начали изучать после ванильного жабоскрипта?
#249 #759659
>>759654
React + Koa, начал бы писать фуллстек парашу на жс.
#250 #759661
>>759653
Суть ФП в иммутабельности и многопоточности, в жс их нет, книга не нужна. Всё остальное из ФП учится за день.

>>759654
Пошёл бы на завод.
#251 #759663
>>759654
ClojureScript + Om + Garden и т.д.
>>759693
#252 #759673
>>759654
сварку
>>759676
#253 #759676
>>759673
Переоцененное говно
#254 #759693
>>759663
Стартерпак для голодной смерти?
#255 #759769
Анончики, а кто следит за таким поделием как ghost? Как вообще у него дела, развивается ли проект или разрабы забили?
>>759834
#256 #759825
>>759653
ClojureScript Up and Running, потом
ClojureScrpt Unravaled
#257 #759832
>>759623
И как часто ты каррируешь на рабочем месте, мм?
#258 #759834
>>759769
Вордпресс же на ноду переписывают, так что на гост забили/забьют - это вопрос времени
#259 #759947
>>757964 (OP)
Учу js с февраля, читая learn.javascript и слушая дядьку с курсов GoIT. Читаю практически каждый день(~1-2 дня в месяц отдыхаю), как минимум по 3 часа, и чем дальше, тем леарн меня больше угнетает: с недавних пор стал замечать, что решение задач и необходимы для этого знания даются трудней, к тому же у меня нет точного показателя как я усвоил материал: решения задач, который предоставляет учебник, я быстро запоминаю, но решения сами по себе иногда остаются не понятыми, в следствии чего последующие главый даються трудней, из-за чего приходилось прибегать к перечитыванию(например, за все время я добрался лишь до работы с DOM); дополнительно к всему заметил, что я в последнее время как бы избегаю изучения, используя для этого любой повод, приходящий из вне.
Как думаете, может я себя перенасыщаю или причина выше описанного в чем-то другом? Было ли у тебя что-то подобное и как с этим бороться?
#260 #759948
>>759947
Я думаю, что иди нахуй
Здесь не тред психологической помощи
>>760003
#261 #759962
У кого есть ссылка на тред с идеями? Сам найти не могу
>>759992
#262 #759985
По какому принципу сравниваются типы данных string?
console.log("Арбуз" < "Яблоко") почему здесь выдает true ? Потому что в слове 'яблоко' букв больше чем в слове 'арбуз' ну так если к арбузу добавить еще буквы все равно будет тру где логика?
>>759997>>760096
#263 #759992
>>760002
#264 #759997
>>759985
Потому что арбуз это ягода, а ягоды в большинстве своём меньше остальных фруктов, чем и является яблоко.

пруф: https://www.quora.com/How-does-string-comparison-work-in-JavaScript
#265 #760002
>>759992
Спасибо
#266 #760003
>>759948
Всё верно, здесь тред психологического давления и кидания говном, потому что при таком ёбаном хайпе приходится жестко конкурировать за рабочие места в перерывах между приемами борщей.
#267 #760005
>>759947
Что-то не могу представить как ты за 360 так и не смог осилить лёрн
Ты вслух по слогам читаешь, что ли?
>>760006>>760087
#268 #760006
>>760005

> за 360 часов

416 Кб, 1920x1080
#269 #760017
Вроде бы скрипты у бомжака больше всего походят на js, так что спрошу здесь.
Чому оно возмущается?
>>760032
#270 #760020
Как, блять, заставить работать ReactCSSTransitionGroup
https://jsfiddle.net/hLpy4wLz/1/
>>760042>>760051
#271 #760032
>>760017
Ладно сам разобрался. Определение переменных как я понял надо было сразу в начало функции запихнуть.
#272 #760042
>>760020
Transition через js? Вы там совсем ебанулись, реактобляди?
>>760315
#273 #760051
>>760020
Наконец - то разобрался
https://jsfiddle.net/hLpy4wLz/3/
#274 #760068
>>759623
Только дебилы выражают через чистые функции FSM, копирующие мир на каждое изменение состояния, просто потому что авторы библиотеки сказали что ТАК НАДО, а потом даже не пользуются всякими TIME TRAVEL, потому что нахуй не нужно.
#275 #760072
>>759947
Пиздец, в лерне же статей сто, не больше. При этом всëм типы данных и логические операторы просто пробежать глазами чтобы синтаксис запомнить
>>760087
#276 #760087
>>760005
>>760072
Я, до того как приступить к изучению джэ эс, никакого другого языка программирования не знал(а, например, с логическими операторами и какие в js типы данных и синтаксис используются я с толкнулся впервые, изучая js) и не пытался изучить/изучать; к тому же то, что дается моему пониманию тяжело(например, темы про замыкания и call/apply) приходилось перечитывать, что могло занять 3-4 дня.
Выше описанное оправдывает мою скорость изучения, иначе можете считать мена тупым.
>>760091>>760151
#277 #760091
>>760087
Ну, учитывая, что ты и в рузке не можешь нормально, то будем считать.
#278 #760096
>>759985
Сравнение идет с самых левых знаков покуда они не равны. В данном случае обе заглавные(был бы арбуз - был бы фолс, потому как строчные оцениваются выше чем прописные), после сравниваются сами буквы Я дальше по алфавиту, потому А < Я. То есть А из прописных оценивается само мало, Я само высоко. В общем, иди читай, тут норм рассказано все http://learn.javascript.ru/comparison
>>760466
45 Кб, 600x600
#279 #760101
>>759947

>решения сами по себе иногда остаются не понятыми, в следствии чего последующие главый даються трудней


Ошибка номер один. Ты не должен идти дальше, если не разобрался досконально почему тот или иной код работает именно так. Насколько я помню там частенько подробно объяснены решения. Запоминай, естественно, не само решение конкретной задачи, а принцип ее решения. Например, единственная задача что я помню из Кантора это про Армию Функций, я в свое время не смог ее решить, но решения(принцип) кантора помню до сих пор.

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


Потому что твой мозг знает, что ты занимаешься хуйней, ты это тоже знаешь, но не признаешься сам себе. Был на твоем месте, вот решение - пиши пэт-проект, хватит учить. Все что тебе нужно это знать синтаксис и основные конструкции. Все, остальное учится походу. Когда работаешь постоянно сталкиваешься с тем. что не знаешь\не помнишь\ни разу не делал и лезешь в гуголь за разъяснениями, потом реализуешь на практике, чтобы теперь уже запонмить хорошо, ну или забыть нахуй через неделю, по-разному бывает, лол. Нудотное обучение не дает ничего, поверь. Только обилие практики с ВЫНУЖДЕННЫМ(то есть тебе раельно нужно что-то прочесть и разобраться, чтобы написать самому) обучением. Счастливо.
даунов, что тут поносят все и всех не слушай, они злые потому что кодерство это единственное в чем они более-менее преуспели, хотя в уме они понимают, что научиться кодить может даже дегенерат и потому у них бомбит от каждого новиса, лол
>>760104>>760138
#280 #760104
>>760101

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


Я его поносю, потому что он пришел в тред ныть, как у него ничего не получается и чтобы на него обратили внимание
>>760110>>760143
114 Кб, 500x750
#281 #760110
>>760104
Ты потратил 30 секунд, чтобы написать ему, что он ЛАХ, потом он начал объяснять свой пост и что он не ЛАХ, а ты в ответ еще потратил сколько-то времени, чтобы поспорить с ним и объяснить свою позицию(что он лАх и лАлка). А ведь мог просто подбодрить нубаса, направить одним постом и пздц. Не только продуктивней, но и для кармы\души\удовольстия.
>>760117
#282 #760117
>>760110
Может ты за него еще домашнюю работу будешь делать?
Если всех ньюфагов облизывать и жопку им подтирать, вместо того, чтобы посылать их в гугол/нахуй, скоро уже, этот тред превратится в одну большую помойку из ньюфагов
>>760119
247 Кб, 785x490
#283 #760119
>>760117
Обосрав новиса ты его никак не подбодрил и не наставил на путь истинный, лишь озлобил или расстроил, или оскорбил. Помойка здесь из-за таких как ты. Тех, кто не понимает, что козлом и уебаном в интернете быть не обязательно. Веди себя вежливо и приветливо и тот ,кому ты не испортишь натсроение будет вести себя также, и далее по цепоче, глядишь и тред превратится в цветущий клумбарий.
>>760122
#284 #760122
>>760119
Пошел нахуй
>>760127
97 Кб, 500x750
#285 #760127
>>760122
Проиграл с тебя идиота.
#286 #760138
>>760101

> пиши пэт-проект


Не выйдет ли так, что я вернусь к тому, с чего начал?
Например, в моем проекте надо вырисовывать графики по данным из вне и периодически обновлять прогресс на сайте. Для отображения графиков на сайте нужны будут canvas и jQuery. Чтобы пользоваться jQuery надо (как мне кажется) знать как работать с DOM'ом и вот тут-то я вернусь к началу, еще больше обнадеженный.
У меня нет желания срываться с нынешними неполноценными знаниями и браться за изучение чего-то нового именно из-за боязни попасть в такую ситуацию.
#287 #760143
>>760104
У тебя что, понос?
>>760145
#288 #760145
>>760149
#289 #760149
>>760145
Нет, серьёзно, я подозревал, что такие имбецилы люди есть, но сам вижу впервые.
#290 #760151
>>760087
Лучше бы попробовал что-то написать, попутно читая доки о том, что нужно
Я так жс за полторы недели выучил и вполне мог писать даже не совсем хуйню. Ну потом, разумеется, пришлось подтянуть то, о чем не знал. Но это точно не 4 месяца заняло
>>760156>>760278
#291 #760156
#292 #760157
>>760138

> знать как работать с DOM'ом


.html(), .append(), remove()
Пиздос как сложно, месяц точно потратить нужно
>>760273
#293 #760161
>>760138
Больше пизди в тредике вместо написания кода.
Больше смазывай этим отсутствие деятельности, ленивый хуйлопан. Так придешь к успеху с гарантией 85%.
#294 #760273
>>760157
Охуеть, если бы я открыл доки джыквэри первый раз я бы ахуел от количества методов, сотни их. Мне пришлось бы рассмотреть все, чтобы быть уверенным, что мне пригодятся только несколько.
>>760278
#295 #760278
>>760273
Я же написал тут >>760151, что попробуй исходя из задачи искать то, что тебе нужно, а не читать и учить всё подряд неизвестно зачем
#296 #760315
>>760042
А про WebAnimation API тебе лучше рассказывать?
>>760338
#297 #760338
>>760315
Это ж другое
Если стили можно задавать через js, зачем тогда css?
>>760355
#298 #760339
Какой самый нормальный ванильный аналог жукверевского $(".class")?

getElementsByClassName возвращает коллекцию, querySelectorAll список, querySelector только первый элемент. Я просто охуел от такой несправедливости.

Да, я говнокодер, начавший с жуквери.
>>760354
#299 #760354
>>760339

Нет такого. Если тебе нужно производить действия над всеми однотипными элементами, то нужно найти их querySelectorAll и перебрать в цикле
>>760360
#300 #760355
>>760338
Это разные технологии. Их взаимосвязь обеспечивается окружением.
Что ты будешь делать когда js выключен или его нет в браузере вообще?
>>760362>>760368
#301 #760360
>>760354
А есть ли причины, по которым разрабы зажопили такую примитивную, очевидную и нужную вещь, как "хуйнуть по всем элементам с таким классом"?
>>760366>>760367
#302 #760362
>>760355

>2016


>выключен js в браузере


Пошлю мамкиного хакера нахуй, нет js = не нужен мой сайт.
>>760382
#303 #760366
>>760360
Прототип к твоим услугам.
Такая функция нахуй не сдалась 95% людей.
#304 #760367
>>760360
querySelectorAll('.yoba').forEach((elem) => {doSmth()})
>>760377
#305 #760368
>>760355
Я бы под такое не писал. Зачем человеку свистоперделки на сайте если он сидит с эхолота?
>>760374>>760382
#306 #760374
>>760368
Так css это оформлеие\форматирование\позиционирование. В том то и суть, что для визуализации js может быть не нужен вообще.
#307 #760377
>>760367
Лан, сойдет.
>>760393
#308 #760382
>>760362
>>760368
Заказчик захочет, денег предложит, а ты и не умеешь.
>>760440
#309 #760393
>>760377
Я тебя наебал, правда, надо еще обмазать богомерзким Array.prototype.forEach.call
>>760401
#310 #760401
>>760393
В каком месте обмазывать-то?
>>760405
#311 #760405
>>760401
Анус себе обмаж, ебать тебя будем сейчас.
>>760437
#312 #760409
Array.prototype.forEach.call(querySelectorAll('.yoba'), function(yob) {...});
#313 #760437
>>760405

Не будете :3
#314 #760440
>>760382
С неадекватами связываться себе дороже.
#315 #760444
А вы сами то используете noscript, umatrix и прочие аддоны которые ломают половину сайтов?
Стоит ли потенциальная защита от xss и анальной слежки всякими рекламными сервисами таких мучений как составление вайтлиста контента для каждого домена?
>>760445
#316 #760445
>>760444
Защита, которая ломает сайт, крайне бесполезная защита
Хотя безопасность 100%, да
>>760446
50 Кб, 698x427
#317 #760446
>>760445
Ну я лично для сайтов которые посещаю постоянно использую фаерфокс в котором настроены правила что можно, а что нельзя.
Но для рандомных сайтов западло всякий раз смотреть что надо завайтлистить чтоб они заработали и поэтому использую для них гугл хром.
Вот так и сижу сдвух браузеров, лол.
>>760448
#318 #760448
>>760446
Один вопрос: Нахуя?
>>760449
#319 #760449
>>760448
Защита от xss (за лет 5 пригодилось лишь однажды, но это был эпик вин), защита от утечки ip и отпечатка браузера через вставку картинки (как например любят делать на myanimelist), просто сайты работают быстрее так как не выполняются ненужные запросы/код всяких яндекс метрик и прочей ненужной фигни.
>>760453
#320 #760453
>>760449

> Защита от xss


Это как защищаться от вирусов, выключая компьютер

> защита от утечки ip


Учетки? Ты в курсе, что ты при каждом запросе его светишь?

> отпечатка браузера через вставку картинки


А куки тебя не беспокоят, нет?
>>760455>>760458
#321 #760455
>>760453

> Учетки


Утечки
фастфикс тупого яблока
#322 #760458
>>760453

>Учетки? Ты в курсе, что ты при каждом запросе его светишь?


Я его свечу серверу ресурса, а не левому васяну запостившему картинку на своем сервере.
Чтоб ты поянл о чем я приведу пример, вот есть такая вещь как куклоскрипт, оно по дефолту делает превьюхи картинок ссылка на которую дана просто в теле поста.
Т.е. ты можешь залить на свой сервак картинку, запостить сейчас ее итт и получишь айпишники всех владельцев куклоскрипта увидевших этот пост.
Так же и на мале делается, там можно себе в профиль добавлять свои картинки, просто добавляешь ссылку на 1х1 картинку на своем серваке и палишь инфу всех кто заходит на твою страничку.
>>760526
#323 #760466
>>760096
Понял, то есть здесь по факту сравнивается именно юникод выраженный кирилицей.
#324 #760488
Какие же ебанутые типы данных в js и не менее ебанутые механизмы их сравнения, вот зачем так делать то а ?
>>760492
#325 #760492
>>760488
Ты типа думаешь какая-то манька с анонимного форума лучше топовых инженеров-разработчиков языка знает как лучше сделать? Мань, плз, не смеши.
>>760494
#326 #760494
>>760492
Мамка считает меня умным друзья тоже, однокашники с пту вообще богом.
218 Кб, 1257x465
#327 #760502
Знаю, что немного не в тему, но подходящего треда не нашел. Есть таблица, которая отображается снизу гугл карты. Нужно, чтобы она отображалась справа от карты. Как это сделать?
>>760503>>760559
#328 #760503
>>760502
Почитай что-нибудь про css.
#329 #760513
Аноны, дайте совет. Синтаксис JS начала изучать только позавчера. Есть jQuery плагин, который рисует диаграмму гантта. При прокручивании колесом над ней прокурчивает диаграмму по горизонтали. Каким образом отменить эту прокрутку и вернуться к прокрутке страницы? Просто переписать функцию в .js-файле плагина вариант самый крайний, прибегать к нему не хотелось бы. Пробовал оверрайдить функцию по совету с stackoverflow — не помогает, хотя крутил по-разному. Может у кого есть какие идеи, а может кто и сталкивался с этим?
#330 #760526
>>760458
И, собственно, что? Что страшного в айпишнике?
>>760548
#331 #760548
>>760526
Порты проскрамблит, взламает роутер (admin admin) и поставит свой пароль. Нужно будет ресетнуть роутер.
А если у тебя нубук асус то ещë и цп у тебя выкачает
>>760550>>760558
#332 #760550
>>760548
Было бы верно, если бы в сети не было сотен тысяч компьютеров, беспрерывно сканящих сеть на наличие таких уязвимостей
>>760632
#333 #760558
>>760548
Охуительные истории.
Изредка обновляй прошивку, сделай пароль сложнее, чем admin, очень трудно, прям пиздец.
#334 #760559
>>760502
float: right.
#335 #760574
>>760513

>Каким образом отменить эту прокрутку и вернуться к прокрутке страницы?


>Пробовал оверрайдить функцию по совету с stackoverflow — не помогает


Значит, как-то не так оверрайдил. (Либо жс плагин динамически проверяет, забинден ли ивент на таргет элемент, что маловероятно.)
Я хз как это там у тебя вообще реализовано, ибо кода ты нихуя не предоставил, но как вариант можешь создать дочерний элемент у таргета, повесить на него такой же лиснер (onmousewheel/mousewheel/DOMMouseScroll, вообще посмотри в отладчике, какие хендлеры подписались на события на данном элементе, чтобы лучше понять, в каком направлении копать) и запретить всплытие через e.stopPropagation().
>>760594
#336 #760576
>>760513
Ты хочешь сохранить возможность скроллить, но не хочешь скроллить колесом?
#337 #760594
>>760513
>>760574
Короче, я тебя наебал, походу, e.stopPropagation() может и не работать в твоем случае.
Один хуй, если ты юзаешь жидКвери - используй замечательный метод target.off(), чтобы отписаться нахуй от хендлеров, слушаюших событие на таргетов.
https://jsbin.com/cuvipo/5/edit?html,js,console,output
40 Кб, 500x1200
#338 #760625
Ребята, короче сам я в JS почти не соображаю, а нагуглить самостоятельно толком ничего не получается. Равно как и нету средств нанять кого-то ещё, что бы и голову не морочить.

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

При скроле вниз страницы трёхмерный вид из-под 45 градусов спереди домика меняется, постепенно становясь просто видом спереди.
Затем появляются скружочки по нажатию на которые должны вылезать текстбоксы.
Как это лучше и правильнее сделать? d3 js? tree js? попробовать прикрутить sweethome js от одноимённого домоделательного продукта?
Это паралакс или как этот эффект называется дурацкий?
Короче реквестирую всё что вы об этом думаете и буду благодарен даже совету соснуть бочку.
>>760638
#339 #760632
>>760550
Во многих асусах прям сейчас открыт 80, была серия тредов в б где лазили по таким ноутам
#340 #760638
>>760625
Глянь сюда, бро, что-нить типа такого?
http://codepen.io/ge1doot/pen/oXWepr/
>>760646
#341 #760646
>>760638
ну где-то так, я даже лет 7 назад что-то такое делал - несколько слоёв и каждый двигается жиквери отдельно с разным коэффициентом
но как модельку домика распилить на н слоёв что бы оно оставалось "цельным" я пока не представляю.
WebGL надо поди прикручивать, но мне кажется это жесть каким ужасом, да и я совсем в этом ничего не соображаю уже.
>>760669
#342 #760669
>>760646
Ты еще скажи, что на сайте автосалонов/автопроизводителей вращаемые 3D модели сделаны при помощи WebGL.
Создай модель в 3D редакторе и нарежь слои под разным углом. Чем больше слоев - тем реалистичней эффект и меньшей глитчей, ну ты и сам понел, раз делал.
>>760678
#343 #760672
Почему объект history защищен от просмотров истории посещений юзера, а document.referrer доступен для просмотра?
>>760677
#344 #760677
>>760672

> почему я могу посмотреть кто мне прислал деньги, но не могу посмотреть кому ещё слали деньги люди, которые мне их прислали?

#345 #760678
>>760669
Т.е. ты считаешь что проще и лучше всего сделать как слайдшоу, подменяя бекграунд картинку?
А если оно весить будет дофигища? Может gzip'ом посжимать...
>>760698
#346 #760693
>>758921
Без нее нельзя вкатиться?
>>760705>>760811
#347 #760698
>>760678
Мне кажется в твоем случае, если ты привел свой пикрил не в качестве банального примера, а в качестве реально выполняемой работы, это самый оптимальный вариант. Вот смотри, судя по изображению, фронтальная часть здания не меняется. Срез, на котором под углом (в контексте параллакс-эффекта это верхнее положение скролла) показана комната является нижнем слоем. Осуществляя скролл вниз по странице, комната прячется за фасад. Можно примитивно ведь обойтись, почти как с колодой карт, нижние слои подложены под фронтальный. Никакого реального тридэ, а эффект сохраняется.
Так, по-моему, на сайте, например, Xiaomi реализован explosion-эффект, когда пользователь, скролля страницу, наблюдает, как из смартфона внутряк показывается.
>>760905
#348 #760705
>>760693
Можно и без промпта, и без верстки но не знать разметку при разработке клиент-сайда - грех вкатиться.
Вместо prompt - input и button с навешанным лиснером и хендлером, который получает значение из текстового поля и далее обрабатывается по твоему алгоритме.
Поскольку ты заходишь в JS через анус, то бишь без знаний верстки, лучше уж начинай ее изучать вкупе с какой-нибудь актуальной Fornt-end библиотекой.
Например с Реактом, реализующей вьюхи. Благо, для реакта есть свистоперделки с рюшечками, например React Material. Похуй, что кто-то скажет, что знания твои будут фрагментированы при таком подходе и поверхностны. Потом подтянешь, по мере необходимости.
#349 #760811
>>760693
Верстка это очень просто, анон.
>>760916
89 Кб, 573x718
#350 #760898
котаны, мб кто знает где почитать, в общем реально ли на си-подобных скриптах шейдеров писать код который будет на видюхе параллельно исполняться? и можно ли из js это контролировать?
>>760921
#351 #760905
>>760698
Согласен с тобой. Убедил и примеры годные подкинул. Спасибо большое!
#352 #760916
>>760811
Я бы с радостью, но есть два месяца, и это пздец, как грустно
>>760941
#353 #760921
>>760898

> на си-подобных скриптах шейдеров писать код который будет на видюхе параллельно исполняться


В принципе это возможно, но шейдера достаточно сильно ограничены. Определенные классы алгоритмов которые хорошо распаралеливаются, на шейдерах нельзя нормально реализовать. Например построчный обход матриц, если тебе нужно пройти каждую строку именно слева направо, но при этом каждая строка полностью независима - это в общем легко распаралелить (на каждую строку свой процессор), но на шейдерах такое нельзя сделать. А если у тебя каждая ячейка отдельно обрабатывается (порядок не важен) - то такое спокойно можно сделать. Для расчетов на GPU используются специальные технологии (например OpenCL), более мощные чем шейдера.
>>760948
9 Кб, 192x192
#354 #760936
Пиздец вы тут тупые
#355 #760941
>>760916
Это бутстрап и html - это 3 дня от силы. Зато потом сможешь делать хоть какие-то интерфейсы
>>760949
#356 #760948
>>760921
ну а допустим какой нибуть простенький алгоритм хеширования можно реализовать? интересуюсь, потому что нужно реализовать в браузере годный proof of work.
>>760956
#357 #760949
>>760941
хтмлакадемия.ру база 3 дней, от силы.
>>760950
#358 #760950
>>760949
Это для прокрастинаторов-неосиляторов. Норм ребята задания на фрилансе берут и по нему учатся
#359 #760952
Вопрос пацаны. Пишу дипломную для своего технаря и нужно назвать тему обзора редакторов для написания кода. Всякие саблаймы, атомы, нотпады и тд. Можно ли эти редакторы назвать интегрированными средами разработки (IDE) или нет?
>>760953>>760955
#360 #760953
>>760952
дополнение:
По википедии IDE должен включать:
текстовый редактор (ну Atom допустим это и есть текстовы редактор)
компилятор и/или интерпретатор (интерпретатор для Javascript есть)
средства автоматизации сборки (хуй знает)
отладчик (есть)
>>760957
#361 #760955
>>760952

> Можно ли эти редакторы назвать интегрированными средами разработки (IDE) или нет?


Нет
#362 #760956
>>760948
Расчеты на шейдерах чего-то не связаного напрямую с графикой это костыли. Мне кажется тебе лучше копать в сторону OpenCL, а точнее WebCL. Вот презентацию можешь глянуть https://www.khronos.org/assets/uploads/developers/library/2013-linuxcon-webcl/WebCL-LinuxCon_Sep13.pdf
#363 #760957
>>760953

>средства автоматизации сборки


Гальп и вебпак что ли?
#364 #760960
Возможно этот вопрос уже обсасывался тут, но всё же.
Есть ли способ загрузить через OpenApi фотографию вк? При пересылке по полученному через photos.getWallUploadServer сервер меня посылает не принимает запросы извне, как я выяснил. Как правильно сделать-то?
>>760976>>761019
#365 #760976
>>760960

> сервер меня посылает


Как посылает? Куда?
>>760980
#366 #760980
>>760976
Говорит "No 'Access-Control-Allow-Origin' header is present on the requested resource."
То есть посылает нахуй
#367 #760981
>>760980
Ты не приложение пишешь? Используй тогда нормальное апи. И почитай про CORS
#368 #760990
>>760980
При чем тут сервер, если это тебе браузер не позволяет делать кроссдоменные запросы просто так. Иди прочитай про CORS
>>761014
1032 Кб, Webm
#369 #761014
>>760990

>No 'Access-Control-Allow-Origin' header is present on the requested resource.


>ИТА БРАУЗИР!!11

>>761016
#370 #761016
>>761014
Да. Это браузер.
Браузер не позволяет тебе в кроссдоменные запросы, если тебе сервер не дает специального заголовка.
Самому серверу поебать откуда запросы идут. Они для него идут с клиента, у клиента вообще нет домена.

Хотел пошутить, а обосрался.
Иди учи CORS.
>>761018
#371 #761018
>>761016
А ведь и правда.
Фиксится добавлением заголовка, но запрещает именно браузер.
>>761038
#372 #761019
>>760960
Делай запрос с помощью ноды, а не с помощью ajax.
#373 #761033
Поцоны, а вот если я более менее знаю MongoDB, но не знаю sql смогу ли я стать js-макакой без изучения sql?
>>761063
#374 #761038
>>761018
>>760980
*Access-Control-Allow-Origin плагин ставишь и все окей.
#375 #761063
>>761033
Зачем вообще знать sql? Сейчас везде ормки
>>761073
#376 #761073
>>761063
Вся суть программистов на фреймворках.
Макаки ёбаные.
>>761075>>761078
#377 #761075
>>761073
Ты и компьютер себе, наверное, сам собираешь, байтослесарь?
>>761090
#378 #761078
>>761073
Двачну. Практически невозможно написать что-то серьезное и эффективно работающее, пользуясь только средствами ORM.
>>761088
#379 #761088
>>761078
Например?
>>761100
#380 #761090
>>761075
лол скоро байтослесарем будут называть за использование недостаточного жирного фреймворка, или за использование всего лишь одного фреймворка, а не трёх сразу
>>761096
#381 #761096
>>761090
Ну так. Потому что пилить кривые решения, в ущерб скорости разработки, бюджета и удобства поддержки, будет только полный еблан
>>761107
#382 #761100
>>761088
Triggers, materialized views, upsert хотя бы.
>>761101>>761117
#383 #761101
>>761100
Ну в смысле это то, чего не умеет орм.
#384 #761107
>>761096
Так это орм часто используется для конструирования кривых решений, потому что сикьюэл для байтослисарий. Повсеместное использование только орм приведет к обсеру на "длинных дистанциях".
>>761117
#385 #761109
Анон, подскажи, в этом куске кода:

setInterval(function(){document.getElementById("Button-1").value = "up date"; document.getElementById("Button-1").click();}, 500000); alert("Готово!");

Можно подставить функцию рандома, чтобы выбиралось случайное число между 300000 и 1000000?
>>761117
#386 #761117
>>761100
Doctrine во все это может

>>761107
SQL, конечно, нужен, без него никак. Но зачем быть долбоебом, и отказываться от орм просто так?
Мы пишем довольно крупную высоконагруженную хуйню и SQL используется всего несколько раз на проекте для слишком хитрых выборок, в остальном всё на орм

>>761109
Просто так нельзя, нужно делать обертку, вроде такой:
http://jsfiddle.net/Akkuma/9GyyA/
>>761119
#387 #761119
>>761117

>Просто так нельзя


Почему? Разве не заработает если добавить в код типа random() или как там?
>>761124
#388 #761124
>>761119
Тебе нужно, чтобы при каждом обновлении страницы менялся интервал или после каждой итерации интервала?
>>761127
#389 #761127
>>761124
Нет, раз в интервал отправляется сообщение. я хочу чтобы интервал все время был разный
>>761136
#390 #761131

>отказываться от орм


Перечитай внимательно на что отвечал.
#391 #761136
>>761127
Неа, потому что интервал устанавливается один раз с фиксированным значением времени
>>761137>>761139
#392 #761137
>>761136

> Неа


В смысле так нельзя. Нужно юзать этот вариант
http://jsfiddle.net/Akkuma/9GyyA/
#393 #761139
>>761136
Понятно, но если вставить твой кусок, то заработает ведь? Только бы разобраться что именно вставлять.
>>761141
#394 #761141
>>761139
Всё вставляй, вкроме объеявления функции doSomething, это для примера. И замени doSomething(); на название твоей фукнции, которую нужно вызывать
>>761142
#395 #761142
>>761141
я кстати через адресную строку вставляю код
>>761143
#396 #761143
>>761142
Зачем? Есть же tampermonkey
>>761145
#397 #761145
>>761143

> * (3000 - 500)) + 500;


А цифры не подскажешь ? не совсем врублюсь
>>761146
#398 #761146
>>761145
В форме функции, думаю, понятнее будет

function getRandom(min, max){
____return Math.random() * (max - min) + min;
}
#399 #761152
>>757964 (OP)
Как с помощью JS можно работать с mysql?
>>761153>>761159
#400 #761153
>>761152
С помощью node.js?
>>761167
#401 #761159
>>761152
Это на сервере делается, если ты не знал.
#402 #761167
>>761153
с помощью tvoyazhirnayamamasha.js))
>>761171
#403 #761171
>>761167
Она не поддерживает mysql
20 Кб, 395x115
Поясните за Knockout? #404 #761182
http://knockoutjs.com/ - охуенная документация, понятные примеры, отлично работает с формами и т.д. Так почему же хипстеры форсят React и Angi;ar?
#405 #761186
>>761182
Это привет из 2010 или что?
>>761473
#406 #761189
Котаны, как пилить анимацию на чистом JS? Например мне нужен раскрывающийся список (клик на детей раскрывает/закрывает ветки дерева). Как сделать, чтобы он раскрывался плавно?
Представляю только как это делается анимация с использованием css, когда мы меняем позицию/двигаем элемент.
#407 #761191
>>761182
Патамушта за React и Angular стоят нихуевые организации, как следствие - вероятность того, что поддержка их технологий продлится несколько дольше, чем у любого-другого-фрейворка. В итоге, продукты, созданные при помощи данных технологий возымеют большую популярность.
>>761405
#408 #761204
>>761189
Лол. Гугли transition css
#409 #761266
Посоны, я решил изучить джаваскрипт. Пока идет нормально, но вот я чего не пойму- начал гуглить какая сейчас версия джаваскрипта, какие будут в будующем выпуски с какими фичами. И в край короче запутался- нахожу какойто ECMA script или чето там, вижу что вроде уже и есть да и вроде и нету релиза за 2016 год. Че это за хуйня все? Стандарты или вообще отдельные ответвления джаваскрипта? Поясните мне пожалуйста на какой версии джаваскрипта я программирую и какая версия будет следующяя (и когда).
>>761279
#410 #761279
>>761266
Ты, скорее всего, пишешь на ECMA-262 5 версии
В 2015 выпустили 6 версию (es6/es-2015) она пока имеет не совсем хорошую поддержку в браузерах и нужно использовать babel - https://learn.javascript.ru/es-modern-usage
В 2016 выпустят 7 версию (es7/es-2016) - http://frontender.info/ecmascript-2016/
>>761281
#411 #761281
>>761279
Спасибо, братуха
Расширение для Атома #412 #761288
Подскажите плагин, позволяющий сохранять скрытие блоков кода после закрытия и открытия Атома.
>>761305
#413 #761289
Пацаны, ваша конфа в слэк жива ещё? заинвайтайте, а?
#414 #761305
>>761288
Оказывается это невозможно в атоме из-за инженерной ошибки. Ждем новых версий этого редактора.
>>761394
#415 #761367
>>761189
А если не хватит, то заюзай gsap.
#416 #761368
>>761182
Доки не читал, у нокаута есть виртуальный дом?
>>761468
49 Кб, 550x522
#417 #761394
>>761305

> инженерной ошибки


Какой ошибки?
>>761466
sage #418 #761405
>>761191

>за React и Angular стоят нихуевые организации


Кек, можно сказать, что майкрософт поддерживает knockout.

Впрочем, вот и ответ: поэтому его ассоциируют с ихними технологиями и всякие хипсторы его не юзают.
>>761414
#419 #761414
>>761405

> ихними

>>761417>>761532
17 Кб, 165x167
#420 #761417
>>761414
Что не так?
#421 #761466
>>761394
Разрабы пишут что накосячили и не смогли реализовать механизм сохранения сессии. Простыми словами API есть, но он не работает.

То есть писатели плагинов не могут это сделать в данное время.
>>761477
#422 #761468
>>761368
Виртуальный ДОМ это объеб. Если бы он был крут, то его бы прямо в браузере запилили.
>>761472
#423 #761472
>>761468
Ебать, Shadow DOM уже давно как стандарт браузеров.
>>761492>>761529
#424 #761473
>>761186
А что не так? Что сейчас котируется? Разве не сабж?
#425 #761477
>>761466
Как вообще атом сейчас, уже может конкурировать с саблймом? Адекватный ви-режим запилили? Все так же втихую отсылает все действия пользователя в гугл аналитику?
>>761517
#426 #761492
>>761472
Но шадов ДОМ не виртуал ДОМ.
>>761519
#427 #761517
>>761477
Крайне медленный и монструозный аналог. Я всегда юзал саблайм. Пробовал все остальное. Все хуже, от скобок до визуальной студии кода.

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

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

Если же в цифрах, то саблайм это 8 из 10. Атом это 6 из 10, что довольно высоко, учитывая, что Brackets от Adobe для меня это 4 из 10, например, а WebStorm 3 из 10.
>>761518>>761540
#428 #761518
>>761517
И немаловажно это плавная прокрутка в саблайме. Во всех других редакторах ее нет.
#429 #761519
>>761492
А ведь правда, нахуя было создавать виртуал дом, когда уже готово апи не менее эффективного и быстродействующего шедоу?
>>761525
#430 #761525
>>761519
Чо? А не выебщик ли ты часом?
#431 #761529
>>761472
Блядь, я нихуя не понимаю, парень, причем тогда виртуальный ДОМ? Наплодили ебаных домов и хуй знает на чем писать. Так на чем и почему? Дегенераты поехавшие блядь. Разнесу офис завтра нахуй. Пидоры задротные.
>>761531>>761541
#432 #761530
>>761189

>клик на детей


>посодют. подумой.

#433 #761531
>>761529
Понастроили ДОМа и ябутся в туза.
#434 #761532
>>761414
Ну он не хипстер просто.
>>761536
#435 #761535
>>761189
Это реализуется через css
#436 #761536
>>761532
Хохлов бесит слово ихние, но это таки литературное слово.
#437 #761539
>>761536
Любое слово литературное, так как ты можешь всегда стать автором литературы и писать как угодно, хоть пихние и даже гнихные.
#438 #761540
>>761517
А чего вебшторму так мало? Мне кажется для некоторых задач он ок, просто в 90% случаев с головой достаточно более легкого инструмента.
А так я щас использую саблайм, но подумываю попробовать запердолить себе вим с плагинами.
Так то обычно я его использую когда надо быстро отредактировать файл из консоли (обычно по удаленке) и при этом он для меня идеал в плане скорости. Но останавливает то что многие плагины для него хуже своих аналогов под тот же саблайм.
#439 #761541
>>761529
Лол. Все просто же.
vdom это просто обертка над очередями операций с домом, потому что обычно-надо-быстро-фреймворки-кококо-программистам очень сложно и трудно рационально выстраивать логику для того чтобы манипулировать домом напрямую и чтобы это не тормозило. Они не умеют так.

Shadow DOM облегчает задачу манипулирования такими очередями, и позволяет инкапсулировать логику и вьюхи, но в сущности это тот же ддом. Так что все жти быстрее-надо-разрабатывать-поддерживать-нужны-фреймворки не смогут и шадоу домом без вдома, потому что это тот же дом, и рационально манипуировать им надо уметь, а им лень. Им нужно чтобы это все делали за них.
>>761545
#440 #761543
>>761536
Это не литературное, а просторечие.
С таким успехом, ты можешь на экзаменах по русскому писать чё - щас - спс и етк, аргументируя, что это литературное слово.
>>761547
#441 #761545
>>761541
Пиздец, ну и задрот же ты. Причем хуевый задрот, ещё больше меня запутал, сабака. Ты не из Киева. Если что могу тебя обоссать.
>>761550
#442 #761547
>>761543
Охуеть просторечие, что аж в книге Уловка-22 на каждой странице. Вообще русский язык дерьмо, если на то пошло, тут я польностью с тобой согласен, содомит.
>>761552
#443 #761548
>>761536
Есть тест на татарина, кстати.
assert.strictEqual(tatarinSpeakNagibaysa(), "нагинайся", "Тест на татарина успешно пройден");
#444 #761550
>>761545
Что ты путаешься, сучонок.
dom и shadow dom это натив.
vdom это как jquery - обертка поверх натива, чтобы нативом было проще управлять.

Если jquery кэширует за тебя элементы и оптимизирует там мелочи, то vdom делает почти то же самое, только на уровне компонентов. Оптмизирует твои манипуляции домом, потому что ты сам не хочешь заморачиваться.
#445 #761552
>>761547
1. Пишешь книгу с набором неправильных слов и мемасиков
2. Пишешь эти слова где хочешь, в случае претензий ссылаешься на эту книгу
3. ???
4. Профит
>>761556>>761558
#446 #761556
>>761552
Двачаю.
Добавлю, что любой автор будь то прозик или поэт имеет право использовать какие угодно слова, коверкать существующие и даже выдумывать новые.
>>761561
#447 #761558
>>761552
Тогда и не говори, что просторечие это что-то плохое.
>>761564
#448 #761561
>>761556
Открою глаза, мой друг, в энциклопедиях уже давно устоялись такие словечки как "лол", "кек" и даже "двач" став полноценными членами современного русского языка.
>>761564
#449 #761564
>>761561
>>761558
Два слова, одно из которых включает другое, обозначающих одно и тоже - это плохо
#450 #761565
>>761550
Блядь, надо больше домов богу домов и тогда я совсем охуею и начну убивать.
>>761573
#451 #761568
>>761550

>Если jquery кэширует за тебя элементы и оптимизирует там мелочи, то vdom делает почти то же самое, только на уровне компонентов. Оптмизирует твои манипуляции домом, потому что ты сам не хочешь заморачиваться.


Велосипеды, велосипедики.
>>761572
#452 #761569
>>761564
Такова особенность русского языка - он плох.
#453 #761572
>>761568
Jquery работает с компонентами react?
#454 #761573
>>761565
Себя убей, дебил. Зачем ты кукарекаешь о том, в чем не шаришь?
>>761575
#455 #761575
>>761573
Ну так ты поясни чтоб я понял все это говно. Например, ты говоришь что vdom это как jquery , но так нельзя говорить. Получается что vdom это бритва Оккама ебаная.
>>761579
#456 #761578
>>761550
Разве не в этом суть программирования?
#457 #761579
>>761575
Vdom кеширует что-то как jquery, но задачи они решают совсем разные. Jquery быстро меняет данные, vdom меняет только нужные данные
>>761580>>761583
#458 #761580
>>761579
Еще у них разный уровень абстракции.
jquery работает с элементами, vdom обычно с компонентами.
#459 #761581
>>761564
Гугли "синонимы"
>>761584>>761586
#460 #761582
>>761564
По-моему все три слова означают одно и то же.
#461 #761583
>>761579
Ты понимаешь, что от этой хуйни поехать можно?
>>761585>>761588
#462 #761584
>>761581
Эта хуйня от лукавого.
>>761587
#463 #761585
>>761583
Добро пожаловать.
#464 #761586
>>761581

> одно из которых включает другое


Гугли "очки"
>>761889
#465 #761587
>>761584

>лукавого


Воу-воу-воу, палехче, не у всех такой богатый словарный запас. Обожди, я сверюсь с Ожеговым.
>>761589
#466 #761588
>>761583
А ты думаешь за что тут такие деньги платят? Это не детальки точить, тут нужно постоянно шарить
>>761590
17 Кб, 745x166
#467 #761589
#468 #761590
>>761588
Ты хотела сказать делать вид, что шаришь?
#469 #761605
Котаны, что нужно знать, чтобы вкатиться в девтиму хуесосом NodeJS? Какие технологии требуется знать в первую очередь? Mongo, Sails?
На какие проекты (модули, сайты, етц) смотрят на гитхабе?
>>761898>>761933
#470 #761606
Где можно скачать документацию по jquery, css, html дабы можно было обращаться к ней оффлайн.
>>761609
#471 #761609
>>761606
Выкачать телепортом?
>>761611>>761620
#472 #761611
>>761609
Я не понимаю о чем ты, но давай.
>>761618
#474 #761620
>>761609
wget или отлижи анус.
>>761624
#475 #761622
>>761618
Спасибо за наводку, самому пока некогда искать.
#476 #761624
>>761620
Сам лижи себе анус (аутоаннилингус), пес.
Настоящий JS'ер сам напишет простейший парсер на фантоме и выкачает все, что нужно.
>>761637
#477 #761637
>>761624
Настоящий jsер сделает так:
npm install <parser-for-documentation>
var parser = require('<parser-for-documentation>');
parser.parse(documentation);
>>761647
#478 #761647
>>761704
#479 #761704
>>761647
import
#480 #761822
Как вы думаете, за 5 лет node заменит php полностью?
>>761824
#481 #761824
>>761822
Если в пыху не впилят асинхронность - определенно
#482 #761881
Анон, прохожу Codeacademy, почему мой код не работае?!?!!(с циклом вида for(var i = 0; i<array.length; i++){} все работает хорошо? Что я делаю не так??
// Our Person constructor
function Person(name,age){
this.name = name;
this.age = age;
};

// Now we can make an array of people
var family = [];
family.push(new Person("alice",40));
family.push(new Person("bob",42));
family.push(new Person("michelle",8));
family.push(new Person("timmy",6));
//loop through our new array
for (var item in family){
console.log(item.name);
}
>>761883
#483 #761883
>>761881
всё, разобрался, для переборки массива нужно использовать for(var of array)
>>761890
#484 #761889
>>761586
Гугли "очко"
#485 #761890
>>761883
У меня in тоже работает вроде
#486 #761898
>>761605

>Котаны, что нужно знать, чтобы вкатиться в девтиму хуесосом NodeJS?


JavaScript.

>Какие технологии требуется знать в первую очередь? Mongo, Sails?


Express, Mongo, опционально другие фреймворки типа Sails, Koa, Restify.

>На какие проекты (модули, сайты, етц) смотрят на гитхабе?


На те, которые другие люди используют на практике, а не те, которые ты пишешь в стол в гитхаб.
>>761968>>762055
#487 #761911
Несколько тредов назад был линк на задачки по js, которые ещё автоматически проверялись на жасмине. Напомните ссылку, прошу.
>>761961
#488 #761926
Пацантре, меня дичайше заебало вручную записывать HTML в строки переменных, есть какой-нибудь нормальный генератор, которому можно скормить HTML и получить форматированный код вида, как на пикрелейтед? Онлайновые генераторы плохие, конкретно для Sublime Text 3 ничего не нашёл. Спасибо.
>>761927>>762061
20 Кб, 891x287
#489 #761927
>>761926

Пикрелейтед забыл.
Что скажете про Vanilla JS??? #490 #761930
Почему не пишете на нём?
>>761931
#491 #761931
>>761930

Пишем, хуле нет-то?
>>761935
#493 #761935
>>761931
А на джиквери пишут или с этой авгиевой конюшней никто сталкиватся не желает?
>>761943
#494 #761943
>>761935

Пишут, конечно, вон, скоро третья версия выходит с кучей изменений, основное, наверное, — нормальная реализация промисов. Почему ты её авгиевой конюшней назвал?
>>761947
#495 #761947
>>761943
По определению.
#496 #761948
Блжад, пиздец. Я не могу во фронтенд. Такой ебейший ад творится. После бэкенда мне это всё кажется ебаным кошмаром, блядь.
#497 #761950
>>761948
Ебаный Реакт, виртуалдомы, какой-то синтаксис хуй пойми, просто пиздец.
>>761972
#498 #761954
>>761948
Вбрось какой-нибудь ебаной дичи, хочу приобщиться.
мимо-борщехлеб
>>761955
#499 #761955
>>761954
Да какой ещё дичи. Есть textarea и кнопка, надо ввести текст и нажать на кнопку, чтобы он появился в <div><p>Текст</p></div> Я ебу, какой изврат делать это на React'е.
>>761960
#500 #761960
>>761955
Ну я хз, нахуярь на ванильном жс этот кусок, жквери там возьми. Лишь бы работало, да и похуй.
совет с дивана
>>761963
#502 #761963
>>761960
Не, пусть задроты делают это. Меня от вида JS-ссанины всегда воротит. Другое дело Ruby.
#503 #761968
>>761898
>>761933
Добра вам.
#504 #761972
>>761950
>>761948

У меня такая же хуйня, я просто не понимаю, как свою клиентскую логику организовать так, чтобы потом во всём этом говне не потонуть. Наверное, надо почитать паттерны какие-нибудь, всё руки не доходят.
>>761973>>761975
#505 #761973
>>761972
Да какие во фронтенде могут быть паттерны?
>>761984
#506 #761975
>>761972
Кошмар в том, что контролировать состояние на фронтенде на сегодняшний день практически нереально. Ещё одна беда, что кастрированный JS суют на сервера.
>>761984
8 Кб, 203x507
#507 #761984
>>761973

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

>>761975

Состояние в каком смысле?
#508 #761990
>>761984

>Состояние в каком смысле?


В том, что если бы ты учил матчасть, то знал бы два важнейших термина "состояние" и "поведение".
>>762023
#509 #761992
>>761984
А всё, я прочитал твой комментарий, и понял, что ты макака до мозга костей.
>>762023
#510 #761993
>>761984

>Состояние в каком смысле?


JS могут спасти только иммутабельность и монады.
#511 #761994
>>761993
JS не спасти. Нет альтернативы.
>>761995>>762002
#512 #761995
>>761994
C#/Java
PHP/Python/Ruby
А что есть вместо JS?
#513 #761996
>>761993
Только не надо про Dart сказки петь.
>>762002
#514 #762002
>>761996
Ну давай про PureScript спою, чего ты.
>>761994
Была бы альтернатива, так спасать бы не пришлось, кек.
#515 #762020
Какие библиотеки нужны, чтобы реализовать авторизацию? Есть ли гайд по авторизации и разновидностях ее написание, если их множество?
>>762027
#516 #762023
>>761990

Я понимаю, я не понимаю, почему контролировать состояние на фронтенде на сегодняшний день практически нереально?

>>761992

Мы все макаки до мозга костей.

>>761993

Так промисами уже давно можно пользоваться.
#517 #762027
>>762020

Что ты хочешь сделать — подробнее?
>>762031
#518 #762031
>>762027
Чтобы только авторизованный пользователь мог переходить и видеть контент последующих страниц.
>>762037
#519 #762037
>>762031

А что у тебя на серверной стороне? Посмотри в сторону JSON Web Token.
>>762041
#520 #762041
>>762037
Ничего у меня нет на серверной стороне, потому что я не знаю с чего начинать и к чему переходить дальше, вот и спрашиваю.
>>762045>>762049
#521 #762045
>>762041
Начни с htaccess, для начала.
#522 #762049
>>762041

Начни с того, что выбери, на каком языке будет работать серверная часть твоей программы. Если, поскольку ты в JS-треде, это NodeJS, смотри, как на Ноде реализовать аутентификацию и авторизацию, а там уже пляши от этого. Если это твой первый опыт создания чего-то такого, то посоветую в NodeJS не лезть и взять, не знаю, PHP/Laravel, например.
#523 #762055
>>761898
специально для тебя
https://github.com/workshopper/learnyounode
#524 #762061
>>761926
Тебе нужен шаблонизатор. Mustache, например. Выбирай - https://habrahabr.ru/post/219873/
>>762069>>762073
#525 #762069
>>762061

Премного благодарен.
>>762073
#526 #762073
>>762069
>>762061

Подожди, что-то не то, я не думаю, что мне нужен шаблонизатор, потому что он не решает мою проблему. Мне нужно что-то вроде этого http://htmltojavascript.com , некий конвертер HTML в переменную JS; этот не нравится чисто стилистически, массив для этого я бы использовать не стал. Подобных хуёвин несколько еще видел, но они так или иначе не подходят, либо не держат отступы, либо ебошат двойные кавычки.
>>762076
#527 #762076
>>762073
Расскажи, плизик, зачем тебе вообще записывать html в переменную?
>>762091
#528 #762091
>>762076

Чтобы вставить его в страницу через JS.
Тред утонул или удален.
Это копия, сохраненная 26 июня 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски