Это копия, сохраненная 26 июня 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Этот тред посвящён главному языку будущего - JavaScript. Благодаря своей гибкости используется в браузере, на серверах, в мобильных приложениях, на десктопе и практически во всех видах программирования. Удобный синтаксис позволяет легко писать на нём, а высокая производительность делает его отличным выбором для решения любых задач - от небольших магазинов до огромных highload проектов. JavaScript по праву является самым популярным в мире языком. На каждом сайте есть браузерный JavaScript, а JavaScript на сервере используется такими крупными корпорациями, как Amazon, Yahoo, HP, NASA, Walmart и многие другие.
Часто задаваемые вопросы:
https://github.com/xxxwww/js-thread/blob/master/Wiki/faq.md
Список материалов для изучения:
https://github.com/xxxwww/js-thread/blob/master/Wiki/learn.md
Список инструментов и направления JS-разработки:
https://github.com/xxxwww/js-thread/blob/master/Wiki/tools.md
НЕ КОПИРУЙ КОД ПРЯМО В ТРЕД!
Воспользуйтесь https://jsfiddle.net/ для браузерного кода и https://ideone.com/ для серверного кода.
Функции намного гибче классов. С ними можно творить вообще, все что тебе вздумается. Каррировать, декаррировать, композировать, генерить новые функции. С классами что делать? Наследовать?
>Тестирование
Нет побочек, а даже если есть баг, тебе придется разбирать всего одно выражение, а не 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
Где ты там стейт увидел, мм, уеба? Все функции чистые, перепроверяй.
Функции намного гибче классов. С ними можно творить вообще, все что тебе вздумается. Каррировать, декаррировать, композировать, генерить новые функции. С классами что делать? Наследовать?
>Тестирование
Нет побочек, а даже если есть баг, тебе придется разбирать всего одно выражение, а не 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
Где ты там стейт увидел, мм, уеба? Все функции чистые, перепроверяй.
http://fightcodegame.com
Кодишь танк на жабаскрипте и запускаешь против других танков, есть рейтинг, можно будет мериться танками всем тредом
>Где ты там стейт увидел, мм, уеба? Все функции чистые, перепроверяй.
>var filterBy = field => val => arr => arr.filter(item => item[field] == val)
При чем тут чистота блядь?
С твоим пониманием чистоты и в ооп все чистое, у них стейт инкапуслирован же.
У тебя взамыканиях хранятся переменнеы field, val, arr
И блядь в ЗАМЫКАНИИ
>Оверхед на каждое замыкание тебе вообще поебать?
А вот тут ту прав. Щито поделать, десу, хвостовую рекурсию в ЖС еще не завезли.
В крайних случаях пишу императивную функцию с циклом.
Полной чистоты в ЖС не получится, ты сам это знаешь не хуже меня. Но мои функции не мутят данные и побочек у них нет, так что в условиях ЖС это настолько много чистоты насколько можно.
С классами можно быстро понимать нахуй все эти функции нужны.
>У тебя взамыканиях хранятся переменнеы field, val, arr
Какие в жопу переменные? Где хранятся? Ты дурак?
Ты почему злой такой?
Так если тебе не нужны все эти абстракции, то какого хуя ты пользуешься функциями, структурами? Это же тоже абстракции.
Ебашь все на чистых переменных, одними ветвлениями.
Где я говорил, что мне не нужны абстракции?
Я говорю про то, что вся еботня с ООП не стоит того, чтобы писать
subject.verb(object)
вместо
verb(subject, object)
тем более в жс
а, ну если ты полагаешь что синтаксичекое ооп ограничивается такими вещами
>subject.verb(object)
то у меня для тебя плохие новости.
А какие еще перки у ООП в ЖС?
Вот только функция ебать более универсальна.
Приходит такой манагер и говорит: а выеби мне Абу конем. Ок:
ебать(абу, конь)
А в ООП тебе придется переделывать класс Коза, добавить класс Ебабельное, наследовать от него и еще добавить классы Абу и Конь
>А в ООП тебе придется переделывать класс Коза, добавить класс Ебабельное, наследовать от него и еще добавить классы Абу и Конь
ох сложна то как))
Ну ебаный в рот, юбилейный 50 тред и вот так обосраться с заголовком.
Это тривиальный пример. Например, если класс Коза уже наследует от чего-то, все становится чутка веселее. А в ИРЛ в уже спроектированой иерархии с десятком классов вообще можно проигрывать не переставая.
Пиздец ты дурак всё-таки. Вопрос стоит лишь в том, выделять абстракции или не выделять. Тебе говорят, что при разрастании системы во что-то большее чем лаба2, будешь сосать(хуй, ты), но ты всё равно продолжаешь ебать коз в трёх строчках и говорить, что сэкономил на абстракциях там, где они очевидно и так нахуй не упали. Сложная система в три строчки не помещается, чтобы привести тебе пример убогости избегания абстракций в этом случае.
Ох, эта мифическая грань, н-ное количество строчек, после которого все другие парадигмы выдают фатал еггогы, и только ООП способно работать в таких условиях.
Про ядро Линукса слыхал, не?
Взлольну над такими макаками, как ты, когда их не примут в спеку
Обрати внимание, там ссылка на вики есть.
Впрочем, вот https://github.com/timoxley/functional-javascript-workshop/wiki
Так и есть. У тебя в итоге получится либо жёстко сцепленная система, в которой всё зависит от всего и малейший вспёрд на одном краю рушит что-то на другом (зато ты покрыл всё тестами и "удобно" заимпортил зависимости), либо, блюдя чистоту, станешь прокидывать в функции по 10 аргументов, либо будешь выделять подфункции и подподфункции - то бишь ложные абстракции, которые ни о чем не говорят сами по себе, а нужны только для того, чтобы облегчить страдания.
Еще раз. Ядро Линукса и Гит, написаны даже не на ФП, а процедурно, без ООП. Где же обещаные ад, ИГИЛ, и муки вечные?
В файлах на over 9000 строк.
> Где же обещаные ад, ИГИЛ, и муки вечные
Тащемта, всё это там присутствует. Ты заглядывал вообще в сорсы или думаешь, что если оно работает, то гениально красиво написано?
Пример чего? Всё ядро - это разбросанные по файлам примерно по схожей тематике функции
https://github.com/torvalds/linux/tree/master/kernel
Поддерживать это, если не прочитать весь код от начала до конца - практически невозможно, потому что очень сильно всё связано. С ООП всё разбилось бы на компоненты, было бы всё куда проще и логичнее, легче поддержка, меньше связанности.
Всё сохранилось так по историческим причинам, как мне кажется. Других причин специально писать процедурно я не вижу. Так что не очень пример в поддержку процедурного, скорее антиреклама
Это вот и есть полиморфизм, я правильно понял?
нихуя не шарю в Js'e, но по логике в полиморфизме какой-то 1 предмет должен превращаться в другой.
Не проще ли просто там где надо в комментариях указывать тип? Не надо будет ебаться с компилятором и код не будет засрат кучей лишнего. Нахуя вот форсят этот тайпскрипт?
те же промытые жабаиндусы, которые не могут без классов и прочие дауны, не понимающие суть js
>нихуя не шарю в Js'e, но по логике в полиморфизме какой-то 1 предмет должен превращаться в другой.
Вся суть JS-тренда
Извини, в туалет хотелось, не сдержался. Прости, серьёзно.
.bind()?
А если я не няшный, ты не отсосешь.
Нельзя быть на 100% уверенным, что указание исполнится, в общем
если пишешь на тайп скрипте, или даже ес6
Кукарекнул кривожопый дурачок.
Тебе хоть в глаза ссы, да?
В чем такие вещи обычно пишутся? MVC в чистом жсе или лучше какой-нибдуь фреймворк использовать?
Хватит натива.
>Лол. Ты терпила по жизни.
Ты умеешь указывать интерпретатору не подставлять точку с запятой?
Я умею избегать парашных языков, скудоумные фанатики которых оправдывают убогие баги терпильным "должно быть".
Даун, тебе в любом языке пизды дадут за перенос выражения на следующую строку после ретурна
Может, он пишет на брейнфаке.
Зачем ты реализуешь стандартную функцию браузера?
А так, если ты возвращаешь ответ с сервера, то оборачивай ключевики в span.
> тебе в любом языке пизды дадут за перенос выражения на следующую строку после ретурна
В нормальном (в том числе и в том, чей синтаксис спиздили в JS) не дадут: http://ideone.com/hMJMgT
ASI - говнофича, одно из худших решений при дизайне языка, и теперь она остается только для совместимости. С ней приходится мириться, и к счастью, проблем легко избежать. Давайте лучше за hoisting перетрем.
Это смена контекста. В общем, ты прав, только сделал не так.
http://jsbin.com/jujogilequ/1/edit?js,console
Правильно, например, так, чтобы не дублировать функцию.
Тем, что нормальные непиздоглазые люди читают сверху вниз и слева направа. И я какбэ не прочь узнать о сущности хоть что-то, прежде чем она будет использована.
>я какбэ не прочь узнать о сущности хоть что-то, прежде чем она будет использована
>читают сверху вниз
Предлагаешь интепретатору читать снизу вверх?
ПРИБАВИТЬ ОДИН К ПЕРЕМЕННОЙ FOO
@
// ПАРА СТРАНИЦ КОДА
@
У МЕНЯ ЕСТЬ ЛОКАЛЬНАЯ ПЕРЕМЕННАЯ FOO
@
ДА НЕУЖЕЛИ, БЛЯТЬ!
Интерпретатор в два прохода читает.
Иди уже отсюда нахуй.
Видимо, ее причина строки на пике
ну хуй знает зачем ты по приколу разделители все проебал, но починив их все работает.
Ссылку на ошибку не хотите ли?
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%"}}]]
Ссылку на ошибку не хотите ли?
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%"}}]]
Алло, йоба, надиктуй ссылку.
ну кароч забей хуй, работает жи, там почитать так многие ебутся с этой хуйней.
Найс фреймворк
Алсо, если изменить строки как на втором пике, т.е сделать число не случайным, а статичным, то ошибка пропадает
там ебучее ограничение вложенности ругается, ну тип ты ахуел повторять столько операций да еще и с рандомом. Рекурсий ссытся.
там по умолчанию 10 интераций максимум стоит в digestTtl(limit), если больше будет, то остановит. Увеличение тебе не поможет, потому что тут проблема не в этом, поэтому-то оно и работает, infinite loop в рандоме где-то зарывается. Попробуй захуячить его в скоупе $scope.random
Я учил первым, мне было легко. Только на замыканиях запнулся.
любой первый язык так идет. разрабатывай анус, делай задачки по циклам, массивам, стрингам, не бойся. зато второй легче пойдет, я гарантирую.
(мой первый - руби)
Так вот, как мне сделать сервер на фазере? Чтобы передвижения игроков туда записывались, а потом отправлялись тем же игрокам мне так же нужно просчитывать столкновения со стенами на сервере. Зачем? Чтобы какир228 не начал отправлять по сокету движение в сторону стены в обход проверки на столкновение на клиенте.
Забить, и запускать на сервере игру с графоном но без отображения его где-либо?
З.Ы. Какие будут проблемы с синхронизацией?
Если от массивов уже плохо, то не двигайся к объектам пока не закрепишь в голове массивы.
лол, лучше бы тебе что-нибудь другое стукнуло. Мультиплеерная игра блядь. Ты сначала обычную напиши, уже ахуеешь.
> в js массив это не массив
в понимании computer science эта хуета из JS не тру массив, и работает намного медленнее
в JS "массив" это что-то типа:
{0:sosi, 1:hui, 2:bydlo}
ты прикалываешься или реально путаешь ассоциативный массив с парами ключ значение аля объекты, от простых массивов ['sosi', 'hui', 'bidlo']
нет, в самом деле, почитай Good Parts
В js - всë объекты. Даже массивы, функции, переменные, числа, небо, Аллах.
Массив - объект с названиями свойств 0, 1, 2…
Писал уже. По делу есть что сказать?
> 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.
блядь, дело не в этом, а в том, что массив как сущность отделена от объектов обозначением [] и методами Array. Поебать что это объект с числовыми индексами. Я к тому, что вот это {0:sosi, 1:hui, 2:bydlo} называть массивом не только говноедство, но и неправильно с точки зрения языка. Массивы это array и его методы.
"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.
Я к тому что хули сожалеть, что масссивы в js это объекты и что они медленные. Как есть так есть, речь про нейминг массивов и объектов
забудь о методах, делай сперва все своими костылями, циклами и if-ами.
Потом возьми напиши свои forEach, map, filter, some и т.д. и с тех пор начинай уже юзать методы.
30%-теория 70%-практика
Удерживать и не надо, надо просто прочитать и понять что это есть и как оно работает. А всякую конкретику будешь уже во время практики гуглить и со временем запомнишь. Я первым и единственным языком тоже жс учу, посмотрел видеокурс от специалиста, прочитал лернжс.ру и спикинг жс и сразу начал писать код который даже сейчас работает в реальных проектах.
Сейчас я конечно могу переписать все более правильно, сделать существенный рефакторинг того кода и т.д., но суть в том что даже если тебе кажется что ты не поянл теорию то после практики ты все равно поймешь что к чему.
А уже когда будет опыт написания кода можно снова прочитать базовые материалы и уже систематизировать знания. Я как перечитывал/пересматривал охуел сколько важных ньюансов рассмотрено на которые я не обратил внимание при первом знакомстве, так как просто не мог понять почему это важно.
На форумцах говорят делать для сервера свою физику либо лепить box2d.
Так и сделаю, что уж тут
я это к чему, если ты до этого ничего не писал, а ты походу ничего не писал. Выкинь из головы расчет столкновений блядь, физику...ты же обосрешься, уверяю. Для начала напиши онлайн камни-ножницы-бумага. Люди подрубаются в общую комнату друг другу кидают вызов-попадают на поле игры и играют на очки до скольки-то там, потом оба выход в комнату общую. Когда напишешь тогда приходи и про физику думай.
Получить токен не проблема. И даже подписать по умолчанию все вызовы нужным заголовком тоже.
На как сохранить аутентификацию после обновления страницы? Хранить токен в локалсторадже и при запуске приложения его получать?
Тогда сразу по токену можно запросить пользователя, но как по-людски сказать всему приложению что пользователь установлен?
Чятики и карточные игры на сокетах я делал ещë в школе, так что спасибо за совет, но у меня другие проблемы.
ну чего вот ты начинаешь опять
Это будет слишком требовательно к пингу если я правильно понял что ты хочешь.
Может имеет смысл просто считать на сервере возможно ли перемещение из одной точки в другую и если игрок переместился в подозрительное место кикать его из игры?
Может и так. Тут тоже нужно оверлеи считать, а аркадная физика фазера ничего круче и не делает. Другое дело, что фазер сам много чего делает ненужного. Где-то читал о хедлес режиме фазера, может это мой выход.
Да это классика в гд. Тип решил сделать игру типа вов крузис и так далее. набираю команду всех, плачу нихуя. Мб ты и не такой, не обращай внимания.
>в обход проверки на столкновение на клиенте.
Потому что клиент должен отправлять только действия пользователя и принимать state от сервера. Тогда такие ситуации невозможны.
только возникает проблема того, что сервер на себе всю нагрузку несет. Клиенты это тупо отображение и контролер.
ты долбаеб или прикалываешься? Я там сто раз написал что массивы это объекты, но они отделены в отдельную сущность, и не надо сущности эти путать массив-это массив и набор методов массива. И похуй что по факту это объект.
но хули, если у тебя 50к онлайна и каждый требует расчета его йоба физики тебе самый ахуенный алгоритм не поможет и твой сервер обосрется и будет горько плакать
Кстати, а нельзя ли давать клиентам просчитывать физику в каком-то зашифрованом виде? И потом чтобы не пересылать опять на сервер чтобы раздать всем, отправлять напрямую другим игрокам
u < lodash
похуй потому что такие долбаебы как ты могут называть массивы объектами и гордится тем, что они знают архитектуру js, при этом выглядеть со стороны как аутисты.
И потом другим игрокам отправлять ключи для дешифровки?
ну так разговор начался с того, что я тут решил йоба игру запилить, надо полагать, что там выделенки а датацентре не намечается
то что нагуглил ужасно неудобно просто ппц как, а обстоятельства вынуждают использовать js.
Спасибо.
Если у тебя будет 50к посещаемости, это такой успех, блядь, что стоимостью датацентра можно будет пренебречь. Пиздец, двощер, хули ты не думаешь?
У меня от тебя испанский стыд. Знание, что массив это объект, например, дает передачу по ссылке в качестве аргумента.
ну ты заебал уже. Я отвечал анону который писал что это массив {0:sosi, 1:hui, 2:bydlo}. Если ты тоже называешь это массивом а вот это [1,2,3] объектом, то просто иди нахуй. Речь шла про нейминг ты мне упорно сука доказываешь, про архитектуру, ну испанский стыд.
Против читеров можно сделать бан за слишком быстрое ускорение, но если кого-то быстро толкать (например падающим предметом), то забанит просто так. А если так не сделать, то какиры будут ложно толкать себя на клиенте.
Я понимаю, что никто не будет делать читов для проекта такого уровня, но интереснее промто сделать немного лучше чем кокашку.
это тут при чем, это не я писал. Я начал с того, что своими именами называть все надо.
Антоша, не кипятись. Я указываю на то, что начинать стоит с объектов.
Между ними 5 лет разницы, что ты хотел
>Можно обойтись без физики если принимать и отсылать только изменения скорости.
Еще раз. Физика обсчитывается на сервере. На клиенте она считается только в рамках client-side-prediction. Сервер контролирует читы и только сервер, потому что клиент отвечает за отсылку сигналов и получение команд И БОЛЬШЕ НИ ЗА ЧТО. Т.е. читы дадут игроку ложную картину, а на сервере чита не произойдет, игрок упрется в стену.
Можно толкать с остановками. Короче сейчас буду делать без толканий, а потом буду придумывать свою физику на сервер.
>>758699
Я всë это понимаю, но сейчас я уже думаю о том чтобы делать без просчëта физики на сервере, раз ускорение при ходьбе у всех будет одинаковое, то античитом в такой ситуации будет просто проверка валидности ускорения.
Если б ты не ебался в глаза, ты б увидел, что там пишет не то, что я утверждаю что асс. об. это массив, а пишет что массив в JS
> это что-то типа:
> {0:sosi, 1:hui, 2:bydlo}
просто в обвёртке Array, с методами и пропертями которые делают из него массив (например {0:'sosi', 1:'hui', 2:'bydlo', length:3 ... и т.д.}
раскукарекался на весь тред, на ровном месте, ещё и аутистами всех кроет, хуйло, мамку ебал.
Ибо нехуй. Надо называть своими именами все, пусть весь тред в курсе будет, не беда. Про мамку взаимно.
спс
Ghost. Его даже NASA юзает.
Лол, когда я последний раз смотрел стронгзалуп, они не могли решить нужны ли дефолтные модели в лупбэке или нет. Модель user не гнулась и была нахер не нужна, но выпилить ее никакой возможности не представлялось. Топовые разработчики фреймворков етить.
Сказали в технаре сделать такую функцию на локальном сайте с помощью Javascript. Поэтому тут без сервера всё.
Спасибо, няша
Открой исходники и посмотри
вот вам ооп в ядре линукс, но его там не так много
мимо
Было бы миллион файлов с миллион классов по 20 строк в каждом, а кодобаза разрослась бы в десятки раз с кучей ничего не делающего кода. Ну и последние достижения индусов в сфере набора букав латиницей: preauthenticatedauthenticationprovider, abstractsingletonproxyfactorybean и simplebeanfactoryawareaspectinstancefactory
прилогались бы. Нет уж, идите нахой, ООП провалилось и осталось в 90х.
Пиздец, зачем ты проецируешь свое неумение в ООП на всех людей? Ты даун?
>Материалы для изучения
>Выразительный JavaScript
>Вводная книга по JavaScript
>learn.javascript.ru
>Начинать строго с него.
Так с чего начинать? И нужно ли читать две эти книги? Пролистал их — обе по основам языка. Хотелось бы иметь более компактный список книг для чтения, чтобы с каждой новой книгой не приходилось читать про то, как создавать массивы.
Все вокруг жрут говно, один ты не жрешь, да. Все вокруг дауны с нихуя ооп юзают, один ты умный процедурки getUserById строчишь и других пытаешься заставить
В каждом треде, блять, как же вы заебали
Какое моё, маня, это всё общепринятые штандарты, GoF, SOLID, PoEAA, весь этот маразм от Фаулера, благодаря ним рождаются чудовищные выблевы типа спринга с фабриками фабрик и прочим говном. Ну хуй с ними с жабадаунами, такова их судьба аутировать в тырпрайзе, печально только что некоторые дебилы пытаются превратить минималистичный, простой и гибкий жс в такое же говно.
Ни одной сложной предметной области не было запилено на функциональных языках. Только микросервисы.
Где у тебя болит-то? Тебя смущает сравнение "production" с "development"? Очевидно на месте "production" был какой-то макрос, который заменяется на тип среды при сборке. В результате отладочный код в продакшене не выполняется.
мимо
Вернее, наоборот. Ну ты понял кароч.
Invariant диспатчит охуительные ошибки в консоль, детальные и точные. В таком-то месте, таком-то компоненте, вы - гражданин обосрамшись, потому что это и это, возможно вы хотели сделать то и то? И ты такой, ох ебать, точняк! Охуенно сделали ребята, ничего не скажешь.
На хтмл есть кнопочка 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 (М)
Может быть не нужно было пихать в $(document).ready - запрос через аякс, но как тогда нажимать на кнопку на хтмл форме? Ведь после того как в $(document).ready я построил таблицу, нужно же как то обновить DOM? Или нужно было делать через функции всё, а не пихать всю простыню в $(document).ready.
Ну делаешь какие-то айдишники для всех ячеек
> '<td>' + '<a id="team-info-'+ value.teamId +'">' + value.teamName + '</a>' + '</td>'
А потом слушаешь клик и подгружаешь
> $('[id^=team-info-]').on('click', (e) => { / Парсишь id и подгружаешь данные/ })
Как-то так, в общем https://jsfiddle.net/xxxwww/Lcqtfd4a/
Но зачем на жквери такое писать? Петпроджекты обычно кому-то показывать нужно, а сейчас котируются фреймворки
нет. не за что
В шапке ж всё написано
Codeacademy -> javascript или python
Я только джедай 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?
тебе повезло что я твой пост увидел, тебя сейчас все тралировать начнут, всякими пайтонами и джсами. учи хаскель и не прогадаешь.
> Но ведь пока я не нажму на кнопку - таблицы не существует, а ровно и ссылок нет
Тогда нужно вот так
https://jsfiddle.net/xxxwww/Lcqtfd4a/1/
Это выглядит скорее как реклама jquery
var list = {
value: 1,
next: {
value: 2,
next: {
value: 3,
next: {
value: 4,
next: null
}
}
}
};
console.log(list.length);
Это не прокатило
Шикарно! Благодарю!!!
Нужно только первый уровень или количество всех элементов?
Почему ты решил что ․length должен прокатить?
return list.next ? len(list.next, count + 1) : count > 0 ? ++count : 0;
Ну тогда вместое + 1 добавить провернку на value http://ideone.com/bd59VB
Хотя что делать с
list = {next: {value: 2, next: null}}
не очень ясно. Может такое быть?
спасибо
Скачай с рутрекера/ннмклаба да глянь или занятой дохуя? Обычный курс с примерами.
Боюсь теперь вообще хоть что-либо ещё не примитивное использовать в коде, а ещё о стрелочных функциях задумывался.
[].slice.call(arguments)
никто не сталкивался? сложные там задания?
ФП побеждает в конкурсе "как максимальными усилиями получить минимальный результат".
я думаю по той ссылке что мне дали можна только раз проходить. Да сейчас просто по сайтику потыкаю, посмотрю примерно что к чему
ФП побеждает в конкурсе "как минимальными усилиями отсеять максимальных дебилов".
Не-дебилы -- это которые голодают?
React + Koa, начал бы писать фуллстек парашу на жс.
Переоцененное говно
Стартерпак для голодной смерти?
И как часто ты каррируешь на рабочем месте, мм?
Вордпресс же на ноду переписывают, так что на гост забили/забьют - это вопрос времени
Учу js с февраля, читая learn.javascript и слушая дядьку с курсов GoIT. Читаю практически каждый день(~1-2 дня в месяц отдыхаю), как минимум по 3 часа, и чем дальше, тем леарн меня больше угнетает: с недавних пор стал замечать, что решение задач и необходимы для этого знания даются трудней, к тому же у меня нет точного показателя как я усвоил материал: решения задач, который предоставляет учебник, я быстро запоминаю, но решения сами по себе иногда остаются не понятыми, в следствии чего последующие главый даються трудней, из-за чего приходилось прибегать к перечитыванию(например, за все время я добрался лишь до работы с DOM); дополнительно к всему заметил, что я в последнее время как бы избегаю изучения, используя для этого любой повод, приходящий из вне.
Как думаете, может я себя перенасыщаю или причина выше описанного в чем-то другом? Было ли у тебя что-то подобное и как с этим бороться?
console.log("Арбуз" < "Яблоко") почему здесь выдает true ? Потому что в слове 'яблоко' букв больше чем в слове 'арбуз' ну так если к арбузу добавить еще буквы все равно будет тру где логика?
Потому что арбуз это ягода, а ягоды в большинстве своём меньше остальных фруктов, чем и является яблоко.
пруф: https://www.quora.com/How-does-string-comparison-work-in-JavaScript
Спасибо
Всё верно, здесь тред психологического давления и кидания говном, потому что при таком ёбаном хайпе приходится жестко конкурировать за рабочие места в перерывах между приемами борщей.
Что-то не могу представить как ты за 360 так и не смог осилить лёрн
Ты вслух по слогам читаешь, что ли?
Чому оно возмущается?
https://jsfiddle.net/hLpy4wLz/1/
Ладно сам разобрался. Определение переменных как я понял надо было сразу в начало функции запихнуть.
Только дебилы выражают через чистые функции FSM, копирующие мир на каждое изменение состояния, просто потому что авторы библиотеки сказали что ТАК НАДО, а потом даже не пользуются всякими TIME TRAVEL, потому что нахуй не нужно.
Пиздец, в лерне же статей сто, не больше. При этом всëм типы данных и логические операторы просто пробежать глазами чтобы синтаксис запомнить
>>760072
Я, до того как приступить к изучению джэ эс, никакого другого языка программирования не знал(а, например, с логическими операторами и какие в js типы данных и синтаксис используются я с толкнулся впервые, изучая js) и не пытался изучить/изучать; к тому же то, что дается моему пониманию тяжело(например, темы про замыкания и call/apply) приходилось перечитывать, что могло занять 3-4 дня.
Выше описанное оправдывает мою скорость изучения, иначе можете считать мена тупым.
Ну, учитывая, что ты и в рузке не можешь нормально, то будем считать.
Сравнение идет с самых левых знаков покуда они не равны. В данном случае обе заглавные(был бы арбуз - был бы фолс, потому как строчные оцениваются выше чем прописные), после сравниваются сами буквы Я дальше по алфавиту, потому А < Я. То есть А из прописных оценивается само мало, Я само высоко. В общем, иди читай, тут норм рассказано все http://learn.javascript.ru/comparison
>решения сами по себе иногда остаются не понятыми, в следствии чего последующие главый даються трудней
Ошибка номер один. Ты не должен идти дальше, если не разобрался досконально почему тот или иной код работает именно так. Насколько я помню там частенько подробно объяснены решения. Запоминай, естественно, не само решение конкретной задачи, а принцип ее решения. Например, единственная задача что я помню из Кантора это про Армию Функций, я в свое время не смог ее решить, но решения(принцип) кантора помню до сих пор.
>я в последнее время как бы избегаю изучения, используя для этого любой повод, приходящий из вне.
Потому что твой мозг знает, что ты занимаешься хуйней, ты это тоже знаешь, но не признаешься сам себе. Был на твоем месте, вот решение - пиши пэт-проект, хватит учить. Все что тебе нужно это знать синтаксис и основные конструкции. Все, остальное учится походу. Когда работаешь постоянно сталкиваешься с тем. что не знаешь\не помнишь\ни разу не делал и лезешь в гуголь за разъяснениями, потом реализуешь на практике, чтобы теперь уже запонмить хорошо, ну или забыть нахуй через неделю, по-разному бывает, лол. Нудотное обучение не дает ничего, поверь. Только обилие практики с ВЫНУЖДЕННЫМ(то есть тебе раельно нужно что-то прочесть и разобраться, чтобы написать самому) обучением. Счастливо.
даунов, что тут поносят все и всех не слушай, они злые потому что кодерство это единственное в чем они более-менее преуспели, хотя в уме они понимают, что научиться кодить может даже дегенерат и потому у них бомбит от каждого новиса, лол
>даунов, что тут поносят все и всех не слушай, они злые потому что кодерство это единственное в чем они более-менее преуспели, хотя в уме они понимают, что научиться кодить может даже дегенерат и потому у них бомбит от каждого новиса, лол
Я его поносю, потому что он пришел в тред ныть, как у него ничего не получается и чтобы на него обратили внимание
Ты потратил 30 секунд, чтобы написать ему, что он ЛАХ, потом он начал объяснять свой пост и что он не ЛАХ, а ты в ответ еще потратил сколько-то времени, чтобы поспорить с ним и объяснить свою позицию(что он лАх и лАлка). А ведь мог просто подбодрить нубаса, направить одним постом и пздц. Не только продуктивней, но и для кармы\души\удовольстия.
Может ты за него еще домашнюю работу будешь делать?
Если всех ньюфагов облизывать и жопку им подтирать, вместо того, чтобы посылать их в гугол/нахуй, скоро уже, этот тред превратится в одну большую помойку из ньюфагов
Обосрав новиса ты его никак не подбодрил и не наставил на путь истинный, лишь озлобил или расстроил, или оскорбил. Помойка здесь из-за таких как ты. Тех, кто не понимает, что козлом и уебаном в интернете быть не обязательно. Веди себя вежливо и приветливо и тот ,кому ты не испортишь натсроение будет вести себя также, и далее по цепоче, глядишь и тред превратится в цветущий клумбарий.
Проиграл с тебя идиота.
> пиши пэт-проект
Не выйдет ли так, что я вернусь к тому, с чего начал?
Например, в моем проекте надо вырисовывать графики по данным из вне и периодически обновлять прогресс на сайте. Для отображения графиков на сайте нужны будут canvas и jQuery. Чтобы пользоваться jQuery надо (как мне кажется) знать как работать с DOM'ом и вот тут-то я вернусь к началу, еще больше обнадеженный.
У меня нет желания срываться с нынешними неполноценными знаниями и браться за изучение чего-то нового именно из-за боязни попасть в такую ситуацию.
Лучше бы попробовал что-то написать, попутно читая доки о том, что нужно
Я так жс за полторы недели выучил и вполне мог писать даже не совсем хуйню. Ну потом, разумеется, пришлось подтянуть то, о чем не знал. Но это точно не 4 месяца заняло
> знать как работать с DOM'ом
.html(), .append(), remove()
Пиздос как сложно, месяц точно потратить нужно
Больше пизди в тредике вместо написания кода.
Больше смазывай этим отсутствие деятельности, ленивый хуйлопан. Так придешь к успеху с гарантией 85%.
Охуеть, если бы я открыл доки джыквэри первый раз я бы ахуел от количества методов, сотни их. Мне пришлось бы рассмотреть все, чтобы быть уверенным, что мне пригодятся только несколько.
getElementsByClassName возвращает коллекцию, querySelectorAll список, querySelector только первый элемент. Я просто охуел от такой несправедливости.
Да, я говнокодер, начавший с жуквери.
Нет такого. Если тебе нужно производить действия над всеми однотипными элементами, то нужно найти их querySelectorAll и перебрать в цикле
Это разные технологии. Их взаимосвязь обеспечивается окружением.
Что ты будешь делать когда js выключен или его нет в браузере вообще?
А есть ли причины, по которым разрабы зажопили такую примитивную, очевидную и нужную вещь, как "хуйнуть по всем элементам с таким классом"?
Я бы под такое не писал. Зачем человеку свистоперделки на сайте если он сидит с эхолота?
Так css это оформлеие\форматирование\позиционирование. В том то и суть, что для визуализации js может быть не нужен вообще.
Я тебя наебал, правда, надо еще обмазать богомерзким Array.prototype.forEach.call
С неадекватами связываться себе дороже.
Стоит ли потенциальная защита от xss и анальной слежки всякими рекламными сервисами таких мучений как составление вайтлиста контента для каждого домена?
Ну я лично для сайтов которые посещаю постоянно использую фаерфокс в котором настроены правила что можно, а что нельзя.
Но для рандомных сайтов западло всякий раз смотреть что надо завайтлистить чтоб они заработали и поэтому использую для них гугл хром.
Вот так и сижу сдвух браузеров, лол.
Защита от xss (за лет 5 пригодилось лишь однажды, но это был эпик вин), защита от утечки ip и отпечатка браузера через вставку картинки (как например любят делать на myanimelist), просто сайты работают быстрее так как не выполняются ненужные запросы/код всяких яндекс метрик и прочей ненужной фигни.
> Защита от xss
Это как защищаться от вирусов, выключая компьютер
> защита от утечки ip
Учетки? Ты в курсе, что ты при каждом запросе его светишь?
> отпечатка браузера через вставку картинки
А куки тебя не беспокоят, нет?
>Учетки? Ты в курсе, что ты при каждом запросе его светишь?
Я его свечу серверу ресурса, а не левому васяну запостившему картинку на своем сервере.
Чтоб ты поянл о чем я приведу пример, вот есть такая вещь как куклоскрипт, оно по дефолту делает превьюхи картинок ссылка на которую дана просто в теле поста.
Т.е. ты можешь залить на свой сервак картинку, запостить сейчас ее итт и получишь айпишники всех владельцев куклоскрипта увидевших этот пост.
Так же и на мале делается, там можно себе в профиль добавлять свои картинки, просто добавляешь ссылку на 1х1 картинку на своем серваке и палишь инфу всех кто заходит на твою страничку.
Понял, то есть здесь по факту сравнивается именно юникод выраженный кирилицей.
Ты типа думаешь какая-то манька с анонимного форума лучше топовых инженеров-разработчиков языка знает как лучше сделать? Мань, плз, не смеши.
Мамка считает меня умным друзья тоже, однокашники с пту вообще богом.
Почитай что-нибудь про css.
Порты проскрамблит, взламает роутер (admin admin) и поставит свой пароль. Нужно будет ресетнуть роутер.
А если у тебя нубук асус то ещë и цп у тебя выкачает
Было бы верно, если бы в сети не было сотен тысяч компьютеров, беспрерывно сканящих сеть на наличие таких уязвимостей
Охуительные истории.
Изредка обновляй прошивку, сделай пароль сложнее, чем admin, очень трудно, прям пиздец.
float: right.
>Каким образом отменить эту прокрутку и вернуться к прокрутке страницы?
>Пробовал оверрайдить функцию по совету с stackoverflow — не помогает
Значит, как-то не так оверрайдил. (Либо жс плагин динамически проверяет, забинден ли ивент на таргет элемент, что маловероятно.)
Я хз как это там у тебя вообще реализовано, ибо кода ты нихуя не предоставил, но как вариант можешь создать дочерний элемент у таргета, повесить на него такой же лиснер (onmousewheel/mousewheel/DOMMouseScroll, вообще посмотри в отладчике, какие хендлеры подписались на события на данном элементе, чтобы лучше понять, в каком направлении копать) и запретить всплытие через e.stopPropagation().
Ты хочешь сохранить возможность скроллить, но не хочешь скроллить колесом?
>>760574
Короче, я тебя наебал, походу, e.stopPropagation() может и не работать в твоем случае.
Один хуй, если ты юзаешь жидКвери - используй замечательный метод target.off(), чтобы отписаться нахуй от хендлеров, слушаюших событие на таргетов.
https://jsbin.com/cuvipo/5/edit?html,js,console,output
Потому реквестирую туториалов, примеров каких может быть, или хотя бы названия этих пиздоватых эффектов, что бы уже по ним гуглить, картинку с раскадровкой того что мне нужно прилагаю.
При скроле вниз страницы трёхмерный вид из-под 45 градусов спереди домика меняется, постепенно становясь просто видом спереди.
Затем появляются скружочки по нажатию на которые должны вылезать текстбоксы.
Как это лучше и правильнее сделать? d3 js? tree js? попробовать прикрутить sweethome js от одноимённого домоделательного продукта?
Это паралакс или как этот эффект называется дурацкий?
Короче реквестирую всё что вы об этом думаете и буду благодарен даже совету соснуть бочку.
Во многих асусах прям сейчас открыт 80, была серия тредов в б где лазили по таким ноутам
ну где-то так, я даже лет 7 назад что-то такое делал - несколько слоёв и каждый двигается жиквери отдельно с разным коэффициентом
но как модельку домика распилить на н слоёв что бы оно оставалось "цельным" я пока не представляю.
WebGL надо поди прикручивать, но мне кажется это жесть каким ужасом, да и я совсем в этом ничего не соображаю уже.
Ты еще скажи, что на сайте автосалонов/автопроизводителей вращаемые 3D модели сделаны при помощи WebGL.
Создай модель в 3D редакторе и нарежь слои под разным углом. Чем больше слоев - тем реалистичней эффект и меньшей глитчей, ну ты и сам понел, раз делал.
> почему я могу посмотреть кто мне прислал деньги, но не могу посмотреть кому ещё слали деньги люди, которые мне их прислали?
Т.е. ты считаешь что проще и лучше всего сделать как слайдшоу, подменяя бекграунд картинку?
А если оно весить будет дофигища? Может gzip'ом посжимать...
Мне кажется в твоем случае, если ты привел свой пикрил не в качестве банального примера, а в качестве реально выполняемой работы, это самый оптимальный вариант. Вот смотри, судя по изображению, фронтальная часть здания не меняется. Срез, на котором под углом (в контексте параллакс-эффекта это верхнее положение скролла) показана комната является нижнем слоем. Осуществляя скролл вниз по странице, комната прячется за фасад. Можно примитивно ведь обойтись, почти как с колодой карт, нижние слои подложены под фронтальный. Никакого реального тридэ, а эффект сохраняется.
Так, по-моему, на сайте, например, Xiaomi реализован explosion-эффект, когда пользователь, скролля страницу, наблюдает, как из смартфона внутряк показывается.
Можно и без промпта, и без верстки но не знать разметку при разработке клиент-сайда - грех вкатиться.
Вместо prompt - input и button с навешанным лиснером и хендлером, который получает значение из текстового поля и далее обрабатывается по твоему алгоритме.
Поскольку ты заходишь в JS через анус, то бишь без знаний верстки, лучше уж начинай ее изучать вкупе с какой-нибудь актуальной Fornt-end библиотекой.
Например с Реактом, реализующей вьюхи. Благо, для реакта есть свистоперделки с рюшечками, например React Material. Похуй, что кто-то скажет, что знания твои будут фрагментированы при таком подходе и поверхностны. Потом подтянешь, по мере необходимости.
Согласен с тобой. Убедил и примеры годные подкинул. Спасибо большое!
> на си-подобных скриптах шейдеров писать код который будет на видюхе параллельно исполняться
В принципе это возможно, но шейдера достаточно сильно ограничены. Определенные классы алгоритмов которые хорошо распаралеливаются, на шейдерах нельзя нормально реализовать. Например построчный обход матриц, если тебе нужно пройти каждую строку именно слева направо, но при этом каждая строка полностью независима - это в общем легко распаралелить (на каждую строку свой процессор), но на шейдерах такое нельзя сделать. А если у тебя каждая ячейка отдельно обрабатывается (порядок не важен) - то такое спокойно можно сделать. Для расчетов на GPU используются специальные технологии (например OpenCL), более мощные чем шейдера.
Это бутстрап и html - это 3 дня от силы. Зато потом сможешь делать хоть какие-то интерфейсы
ну а допустим какой нибуть простенький алгоритм хеширования можно реализовать? интересуюсь, потому что нужно реализовать в браузере годный proof of work.
Это для прокрастинаторов-неосиляторов. Норм ребята задания на фрилансе берут и по нему учатся
дополнение:
По википедии IDE должен включать:
текстовый редактор (ну Atom допустим это и есть текстовы редактор)
компилятор и/или интерпретатор (интерпретатор для Javascript есть)
средства автоматизации сборки (хуй знает)
отладчик (есть)
Расчеты на шейдерах чего-то не связаного напрямую с графикой это костыли. Мне кажется тебе лучше копать в сторону OpenCL, а точнее WebCL. Вот презентацию можешь глянуть https://www.khronos.org/assets/uploads/developers/library/2013-linuxcon-webcl/WebCL-LinuxCon_Sep13.pdf
Есть ли способ загрузить через OpenApi фотографию вк? При пересылке по полученному через photos.getWallUploadServer сервер меня посылает не принимает запросы извне, как я выяснил. Как правильно сделать-то?
Говорит "No 'Access-Control-Allow-Origin' header is present on the requested resource."
То есть посылает нахуй
Ты не приложение пишешь? Используй тогда нормальное апи. И почитай про CORS
При чем тут сервер, если это тебе браузер не позволяет делать кроссдоменные запросы просто так. Иди прочитай про CORS
>No 'Access-Control-Allow-Origin' header is present on the requested resource.
>ИТА БРАУЗИР!!11
Да. Это браузер.
Браузер не позволяет тебе в кроссдоменные запросы, если тебе сервер не дает специального заголовка.
Самому серверу поебать откуда запросы идут. Они для него идут с клиента, у клиента вообще нет домена.
Хотел пошутить, а обосрался.
Иди учи CORS.
Делай запрос с помощью ноды, а не с помощью ajax.
Двачну. Практически невозможно написать что-то серьезное и эффективно работающее, пользуясь только средствами ORM.
лол скоро байтослесарем будут называть за использование недостаточного жирного фреймворка, или за использование всего лишь одного фреймворка, а не трёх сразу
Ну так. Потому что пилить кривые решения, в ущерб скорости разработки, бюджета и удобства поддержки, будет только полный еблан
Ну в смысле это то, чего не умеет орм.
Так это орм часто используется для конструирования кривых решений, потому что сикьюэл для байтослисарий. Повсеместное использование только орм приведет к обсеру на "длинных дистанциях".
setInterval(function(){document.getElementById("Button-1").value = "up date"; document.getElementById("Button-1").click();}, 500000); alert("Готово!");
Можно подставить функцию рандома, чтобы выбиралось случайное число между 300000 и 1000000?
Doctrine во все это может
>>761107
SQL, конечно, нужен, без него никак. Но зачем быть долбоебом, и отказываться от орм просто так?
Мы пишем довольно крупную высоконагруженную хуйню и SQL используется всего несколько раз на проекте для слишком хитрых выборок, в остальном всё на орм
>>761109
Просто так нельзя, нужно делать обертку, вроде такой:
http://jsfiddle.net/Akkuma/9GyyA/
>Просто так нельзя
Почему? Разве не заработает если добавить в код типа random() или как там?
Тебе нужно, чтобы при каждом обновлении страницы менялся интервал или после каждой итерации интервала?
Нет, раз в интервал отправляется сообщение. я хочу чтобы интервал все время был разный
>отказываться от орм
Перечитай внимательно на что отвечал.
Неа, потому что интервал устанавливается один раз с фиксированным значением времени
Понятно, но если вставить твой кусок, то заработает ведь? Только бы разобраться что именно вставлять.
Всё вставляй, вкроме объеявления функции doSomething, это для примера. И замени doSomething(); на название твоей фукнции, которую нужно вызывать
В форме функции, думаю, понятнее будет
function getRandom(min, max){
____return Math.random() * (max - min) + min;
}
Как с помощью JS можно работать с mysql?
Это на сервере делается, если ты не знал.
Она не поддерживает mysql
Представляю только как это делается анимация с использованием css, когда мы меняем позицию/двигаем элемент.
Патамушта за React и Angular стоят нихуевые организации, как следствие - вероятность того, что поддержка их технологий продлится несколько дольше, чем у любого-другого-фрейворка. В итоге, продукты, созданные при помощи данных технологий возымеют большую популярность.
Лол. Гугли transition css
Ты, скорее всего, пишешь на 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/
Спасибо, братуха
Оказывается это невозможно в атоме из-за инженерной ошибки. Ждем новых версий этого редактора.
А если не хватит, то заюзай gsap.
>за React и Angular стоят нихуевые организации
Кек, можно сказать, что майкрософт поддерживает knockout.
Впрочем, вот и ответ: поэтому его ассоциируют с ихними технологиями и всякие хипсторы его не юзают.
Что не так?
Разрабы пишут что накосячили и не смогли реализовать механизм сохранения сессии. Простыми словами API есть, но он не работает.
То есть писатели плагинов не могут это сделать в данное время.
Виртуальный ДОМ это объеб. Если бы он был крут, то его бы прямо в браузере запилили.
А что не так? Что сейчас котируется? Разве не сабж?
Как вообще атом сейчас, уже может конкурировать с саблймом? Адекватный ви-режим запилили? Все так же втихую отсылает все действия пользователя в гугл аналитику?
Крайне медленный и монструозный аналог. Я всегда юзал саблайм. Пробовал все остальное. Все хуже, от скобок до визуальной студии кода.
Поставил атом, потому что хотел дать шанс, ну и один все-таки плюс это встроенная поддержка гита. Очень удобно следить за изменениями, которые ты совершаешь.
В саблайме это все нужно ставить, но саблайм мне больше нравится в плане быстродействия. Атом это ленивец, саблайм это гепард, которого можно превратить в черепаху, наставив кучу говна.
Если же в цифрах, то саблайм это 8 из 10. Атом это 6 из 10, что довольно высоко, учитывая, что Brackets от Adobe для меня это 4 из 10, например, а WebStorm 3 из 10.
И немаловажно это плавная прокрутка в саблайме. Во всех других редакторах ее нет.
А ведь правда, нахуя было создавать виртуал дом, когда уже готово апи не менее эффективного и быстродействующего шедоу?
Чо? А не выебщик ли ты часом?
Блядь, я нихуя не понимаю, парень, причем тогда виртуальный ДОМ? Наплодили ебаных домов и хуй знает на чем писать. Так на чем и почему? Дегенераты поехавшие блядь. Разнесу офис завтра нахуй. Пидоры задротные.
Понастроили ДОМа и ябутся в туза.
Это реализуется через css
Любое слово литературное, так как ты можешь всегда стать автором литературы и писать как угодно, хоть пихние и даже гнихные.
А чего вебшторму так мало? Мне кажется для некоторых задач он ок, просто в 90% случаев с головой достаточно более легкого инструмента.
А так я щас использую саблайм, но подумываю попробовать запердолить себе вим с плагинами.
Так то обычно я его использую когда надо быстро отредактировать файл из консоли (обычно по удаленке) и при этом он для меня идеал в плане скорости. Но останавливает то что многие плагины для него хуже своих аналогов под тот же саблайм.
Лол. Все просто же.
vdom это просто обертка над очередями операций с домом, потому что обычно-надо-быстро-фреймворки-кококо-программистам очень сложно и трудно рационально выстраивать логику для того чтобы манипулировать домом напрямую и чтобы это не тормозило. Они не умеют так.
Shadow DOM облегчает задачу манипулирования такими очередями, и позволяет инкапсулировать логику и вьюхи, но в сущности это тот же ддом. Так что все жти быстрее-надо-разрабатывать-поддерживать-нужны-фреймворки не смогут и шадоу домом без вдома, потому что это тот же дом, и рационально манипуировать им надо уметь, а им лень. Им нужно чтобы это все делали за них.
Это не литературное, а просторечие.
С таким успехом, ты можешь на экзаменах по русскому писать чё - щас - спс и етк, аргументируя, что это литературное слово.
Пиздец, ну и задрот же ты. Причем хуевый задрот, ещё больше меня запутал, сабака. Ты не из Киева. Если что могу тебя обоссать.
Охуеть просторечие, что аж в книге Уловка-22 на каждой странице. Вообще русский язык дерьмо, если на то пошло, тут я польностью с тобой согласен, содомит.
Есть тест на татарина, кстати.
assert.strictEqual(tatarinSpeakNagibaysa(), "нагинайся", "Тест на татарина успешно пройден");
Что ты путаешься, сучонок.
dom и shadow dom это натив.
vdom это как jquery - обертка поверх натива, чтобы нативом было проще управлять.
Если jquery кэширует за тебя элементы и оптимизирует там мелочи, то vdom делает почти то же самое, только на уровне компонентов. Оптмизирует твои манипуляции домом, потому что ты сам не хочешь заморачиваться.
1. Пишешь книгу с набором неправильных слов и мемасиков
2. Пишешь эти слова где хочешь, в случае претензий ссылаешься на эту книгу
3. ???
4. Профит
Двачаю.
Добавлю, что любой автор будь то прозик или поэт имеет право использовать какие угодно слова, коверкать существующие и даже выдумывать новые.
Открою глаза, мой друг, в энциклопедиях уже давно устоялись такие словечки как "лол", "кек" и даже "двач" став полноценными членами современного русского языка.
>Если jquery кэширует за тебя элементы и оптимизирует там мелочи, то vdom делает почти то же самое, только на уровне компонентов. Оптмизирует твои манипуляции домом, потому что ты сам не хочешь заморачиваться.
Велосипеды, велосипедики.
Такова особенность русского языка - он плох.
Jquery работает с компонентами react?
Ну так ты поясни чтоб я понял все это говно. Например, ты говоришь что vdom это как jquery , но так нельзя говорить. Получается что vdom это бритва Оккама ебаная.
Разве не в этом суть программирования?
Vdom кеширует что-то как jquery, но задачи они решают совсем разные. Jquery быстро меняет данные, vdom меняет только нужные данные
Еще у них разный уровень абстракции.
jquery работает с элементами, vdom обычно с компонентами.
По-моему все три слова означают одно и то же.
Добро пожаловать.
>лукавого
Воу-воу-воу, палехче, не у всех такой богатый словарный запас. Обожди, я сверюсь с Ожеговым.
А ты думаешь за что тут такие деньги платят? Это не детальки точить, тут нужно постоянно шарить
Ты хотела сказать делать вид, что шаришь?
На какие проекты (модули, сайты, етц) смотрят на гитхабе?
Спасибо за наводку, самому пока некогда искать.
Сам лижи себе анус (аутоаннилингус), пес.
Настоящий JS'ер сам напишет простейший парсер на фантоме и выкачает все, что нужно.
Настоящий jsер сделает так:
npm install <parser-for-documentation>
var parser = require('<parser-for-documentation>');
parser.parse(documentation);
import
Если в пыху не впилят асинхронность - определенно
// 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);
}
Гугли "очко"
У меня in тоже работает вроде
>Котаны, что нужно знать, чтобы вкатиться в девтиму хуесосом NodeJS?
JavaScript.
>Какие технологии требуется знать в первую очередь? Mongo, Sails?
Express, Mongo, опционально другие фреймворки типа Sails, Koa, Restify.
>На какие проекты (модули, сайты, етц) смотрят на гитхабе?
На те, которые другие люди используют на практике, а не те, которые ты пишешь в стол в гитхаб.
Пишут, конечно, вон, скоро третья версия выходит с кучей изменений, основное, наверное, — нормальная реализация промисов. Почему ты её авгиевой конюшней назвал?
По определению.
Да какой ещё дичи. Есть textarea и кнопка, надо ввести текст и нажать на кнопку, чтобы он появился в <div><p>Текст</p></div> Я ебу, какой изврат делать это на React'е.
Ну я хз, нахуярь на ванильном жс этот кусок, жквери там возьми. Лишь бы работало, да и похуй.
совет с дивана
Не, пусть задроты делают это. Меня от вида JS-ссанины всегда воротит. Другое дело Ruby.
Кошмар в том, что контролировать состояние на фронтенде на сегодняшний день практически нереально. Ещё одна беда, что кастрированный JS суют на сервера.
>Состояние в каком смысле?
В том, что если бы ты учил матчасть, то знал бы два важнейших термина "состояние" и "поведение".
Чтобы только авторизованный пользователь мог переходить и видеть контент последующих страниц.
Ничего у меня нет на серверной стороне, потому что я не знаю с чего начинать и к чему переходить дальше, вот и спрашиваю.
Начни с htaccess, для начала.
Начни с того, что выбери, на каком языке будет работать серверная часть твоей программы. Если, поскольку ты в JS-треде, это NodeJS, смотри, как на Ноде реализовать аутентификацию и авторизацию, а там уже пляши от этого. Если это твой первый опыт создания чего-то такого, то посоветую в NodeJS не лезть и взять, не знаю, PHP/Laravel, например.
>>762061
Подожди, что-то не то, я не думаю, что мне нужен шаблонизатор, потому что он не решает мою проблему. Мне нужно что-то вроде этого http://htmltojavascript.com , некий конвертер HTML в переменную JS; этот не нравится чисто стилистически, массив для этого я бы использовать не стал. Подобных хуёвин несколько еще видел, но они так или иначе не подходят, либо не держат отступы, либо ебошат двойные кавычки.
Это копия, сохраненная 26 июня 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.