Есть, значит jsfiddle. И есть там вот такой код, как-бы демонстрирующий в динамике интерференцию волн от двух источников. https://jsfiddle.net/1ksfc94r/1/ И его можно проиграть там. И есть там фаза, и анимация, и длину волны можно задать.
Частоту бы прикрутить для каждой точки. И да, частота зависит от длины волны, но только при постоянной скорости распространения волн.
И казалось бы, можно задать эту частоту - просто задав длину волны.
Но в том то и прикол, что при разных длинах волн, и одинаковой скорости анимации для этих волн - изменяется скорость распространения этих волн, искажая интерференционную картину.
Чтобы увидеть существенную разницу в скорости распространения волн - прокрутите в анимации волны с длинами 5 и 200.
Может кто пофиксить это? ____________________________ JS-тред тут будет.
>>932835 (OP) Что кто думает насчет транспиляции? Норм или зашквар писать на транспилируемом языке (не в деве, а для себя) например вот этом http://livescript.net/
>>932835 (OP) Meteor или Node.js + Socket.io + MongoDB + Vue.js? Существует задача по созданию крупного проекта, веб-приложения с риалтаймом. Создавая новый проект в ВебШторме, уже почти нажав на "Node.js app" увидел ниже "Meteor App". Название понравилось, загуглил и тут полились кисельные реки о том, как же хорош Meteor. В нём уже всё с коробки, всё удобно, не нужно ничего настраивать, кода мало, садись и пиши. Можно ли запускать большое приложение на Meteor'е? И может ли он полностью заменить весь стек технологий, который я перечислил в начале?
>>933336 Ну он там вроде в отпе по лайкам на ГитХабе и отзывы о нём исключительно хорошие. И сама идея хороша, почему его не используют? Нельзя же опираться на мейнстрим. Нужно же разобраться в вопросе.
Посоветуйте годные видеокурсы. Уже как бы умею программировать, на жс опыта почти нет. Мне бы разобраться с основами языка, работой с домом, на сладкое работа с svg и канвасами всякими. Только без всяких фреймворков я не фронтендео и мне сейчас не нужно ничего кроме ваниллы + жквери. И да, хочется чтобы до некоторой степени все же объясняли "почему" и "как оно работает", а не только "повторяй за мной такую хуйню".
>>933390 javascript.ru чому тебе не нраица? там все это есть: основы, дом свг канвас xhr и прочая залупа, но текстом. почему ты пидор не хочешь текстом? почему такому пидару только видео подавай?
Посоны, пытаюсь вкатиться в Ангуляр2, но фронтэнд для меня тяжело дается. Задача в следующем: есть шаблон, у него есть контент и хэдэр. Как сделать так, чтобы хэдэр был всегда и функционировал независимо от контента? Или единственный вариант в каждый модуль тащить компонент хэдэра со всеми директивами и тд?
>>933390 Читай книгу "Николас Закас - JavaScript для профессиональных веб-разработчиков (3-е изд.) - 2015" эта книга получше будет так как там объяснены все мельчайшие нюансы, а на говнокурсах поверхностное объяснения.
Кстати, платные курсы Кантора стоят своих бабок в теории хотя бы? Или просто насос по выкачиванию бабла из неосиляторов, как большинство платных курсов? Заниматься в любом случае буду по вечерам после работы, сил мало остается, тем более на жс -- учу потому что он всегда нужен, так-то есть много языков лучше и интереснее хочется правильно подобранную инфу в уже структурированном виде. >>933418 Ну пидар на самом деле нет, ну легче мне видео воспринимается, что поделать. MOOC'и с их интерактивностью, ачивкой в виде сертификата в конце вообще для меня идеальная форма обучения. Про учебник который ты говоришь уже знаю, спасибо. А курсы их можно скачать где-то? На русракере не нашел чот. >>933457 Ок, заценим.
Судя по отзывам у Закаса про ES6 и HTML5 (canvas, svg) мало, зато есть про легаси типа старых IE которое мне нахуй нигде не всралось, я легаси не буду поддерживать. Ну это ладно, все книги от издательств таким страдают, все равно посмотрю. Вот про это что скажете? https://habrahabr.ru/post/240219/
>>933513 Это мимокрок какой-то. анон который спрашивал про видеокурсы В личных проектах все будет радикально, на работе в разумных пределах, уломать забить хуй на IE ниже 10ки и на лису-хромог-сафари старше 2 последних версий я думаю что смогу (и даже там везде уже вебсокеты вроде есть).
Ребята помогите позязя. Я JS не знаю, но мне нужно сделать такую штуку:
На странице есть объекты, их можно двигать мышкой. У каждого есть значение top="" left="".
Я хочу, чтобы в поле input внизу отображалось текущее значение этих свойств. Какой скрипт нужен, чтобы там циферки менялись, когда я двигаю объект? Подскажите!
>>932835 (OP) БЛЯДЬ ПОМОГИТЕ С ВЕБПАКОМ ЖЁППУ ЖЖЕТ Мне нужен простой проект с hot module replace и поддержкой jsx, es6, sass. Проблема в том, что заготовки с гитхаба нихуя не работают, т.к. вебпак апнул вторую версию, плагины хуй знает что апнули и друг с другом конфликтуют. Простой как корыто заготовки нет. Бля, я просто хочу пару часиков пообмазываться реактом, зачем вся эта боль, сука горит бля бля!
>>933343 в том-то и дело, что все из коробки, ты сам ничего не можешь поменять. хуй знает, как там реализован сервер, перенастроить ты его не сможешь особо, только прописать методы и роуты. когда он только появился, было много хайпа, новое слово прям в вебдеве, а после все поняли, что не так уж он и хорош.
короче, братан, лучше собери конструктов свой сам, чем используй черный ящик, в особенности на крупном проекте
>>933766 зис. вообще крупные компании не используют фреймворки, а сами свои наработки юзают, это о чем-то да говорит. Имхо backbone.js допилить под свои нужды и будет тебе все что хочешь и не только.
>>933155 Там хрень какая-то. Вариант 7. Не отображается ничего. Ни статичная интерференционная картинка, ни анимация.
На 6-м варианте — норм. https://jsfiddle.net/1ksfc94r/6/ Тест: Длины волн 10, 100; Фаза - 0, 0. Скорость - 1; Длины волн 100, 100; Фаза - 180, 0. Скорость - 3;
>>932958 >https://jsfiddle.net/1ksfc94r/3/ Вот здесь — скорость распространения волны исправлена. Но там нет частоты. Эта ссылка висит в треде там >>933024 на /sci. Не смотрел там скорость до создания этого треда.
Если здесь, https://jsfiddle.net/1ksfc94r/1/ - скорость распространения волны, зависит от её длины, при одинаковых частотах колебаний источников, то в 3-м варианте, и варианте >>932913-куна скорость распространения волн - уже фиксирована, и от длины волны зависит частота колебаний этих источников.
У волн есть следующие параметры: λ = vT; где λ - длина волны, v - скорость распространения волны, T - период колебаний. T = 1/f; где T - период колебаний, f - частота колебаний. λ = v/f; связь длины волны с частотой, через постоянную скорость распространения волны в среде. v = λf; скорость распространения волны (не путать со скоростью анимации). f = v/λ; частота колебаний источника через длину волны, при фиксированной скорости распространения волн в среде.
И это всё - для каждого конкретного источника колебаний. Но там два источника. Хотелось бы иметь возможность если не прямо задать каждый из этих параметров, то, хотя-бы, рассчитывать и отобразить их в полях ввода, если значения фиксированы. В идеале, поле со скоростью распространения волны, если она фиксирована - disabled, поле с частотой - значение в зависимости от длины волны, через скорость распространения волны рассчитывается. Его можно изменить, но тогда перерасчитывается через скорость и длина волны сразу.
И так, для каждого источника. Короче, блядь, если не задать, и если не изменить, то хотя-бы вывести эти грёбанные значения.
>>933766 > короче, братан, лучше собери конструктов свой сам Вся суть жс-мартых. В сириус интерпрайзах наоборот стараются использовать стандартные, проверенные временем решения.
>>933991 Да ладно. Мы спорим просто из-за размытых терминов. Я имел ввиду MS с их .NET, Oracle с БД и жавой, фейсбук и с их собственным фреймворком и даже языками, ну и так далее. Я тоже считаю что js в целом говно как и большинство остальных скриптовых языков, только все равно от него никуда не денешься, разве что съебать вообще из веба нахуй. И то не факт. Уверен ИТТ не я один так думаю, так что твои заходы про js-макак не вполне справедливы.
>>934049 по моему прекрасно справляется со своими задачами. в es2017 вон уже даже async\await завезли, не говоря уже о классах и модулях которые с es2015 есть. плюс ко всему огромное сообщество, как следствие есть куча всего, просто берешь и ставишь через охуенный npm. а в чем он говно? можно по подробнее?
>>934049 В той же джяве пердолят дедовские EE и Spring, а не изобретают по три модных фреймворка в год.
>>934056 > куча всего, просто берешь и ставишь через охуенный npm. Действительно, как остальные живут без таких охуенных библиотек как leftpad.js, isArray.js, isFunction.js
>>934117 >стандартная библиотека всё то же говно Это все компенсируется быстротою работы языка. Потому он везде и используется. А всякие пайтоны, асп, руби и прочие, никак не могут обогнать js.
>>934201 пишу SPA без jquery, на reactjs. ну ладно реакт не требует джквери, но у меня написан модуль для общения по вебсокету которая не требует джквери. что я делаю не так!?
Сап. Есть задача сделать кастомный билд жиквери без неиспользуемых модулей. Есть какой-то известный способ выяснить что используется, а что нет, или опять велосипед хуярить? Не знаю даже что загуглить
>>932913, >>932958, >>933024, >>933155, >>933775 Да, вот ещё... Синфазные колебания усиливаются, противофазные - ослабляюстся. Имеются в виду колебания, между источниками, по прямой их размещения. Надо бы выделить эти усиления и ослабления яркостью или контрастностью цвета, поскольку амплитуда колебаний не видна сверху. Также, при различных длинах волн, и частотах, могут появляться сложные волны и волновые пакеты, как на 2-м пике. Возможно ли это отобразить корректно в анимации?
Я написал на джсе простенький тетрис и теперь чтобы он из себя хоть что-то представлял как часть портфолио, хочу переделать его из модульной архитектуры в MVC (я в курсе что это паттерн и надо сходу писать, но я хочу освоить с такого ракурса).
Соответственно вопрос в раскидывании функционала по файлам контроллера-модели-представления.
Правильно ли я понимаю, что вся логика должна быть в контроллере (функции которые вызываются при нажатии кнопок)? Во вьюхе будет только функция отрисовки поля, а в модели только массив(по которому и строится моё поле).
>>934402 Модель (Model) предоставляет данные и реагирует на команды контроллера, изменяя свое состояние. Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели. Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений.
>>932835 (OP) Почаны. Надеюсь, я зашел туда Короче, пилю плагин для скачивания музыки с вк. Прошлый работал, но вот с новым дизайном пришла и новая архитектура, которую не могу осилить. В общем, трабл в том что : 1) У плагина хрома изолированный джс-скоуп, могу только до ДОМа добраться из него 2) У треков ВК есть дата-атрибуты. По идее из если из него достать урл трека то дальше дело за малым. 3) урл трека достать не получается, как он там время от времени оказывается - вообще хуй знает, да и не суть. 4) в ВК имеется свой аудио - объект, в нём есть полно методов, но из всех мною опробованных ни один не прокатил . Да и добраться до него из плагина тоже не получается
>>934348 Та шапка гуглится легко, висит на гитхабе. Алсо в ней есть слова из спам-листа (спасибо Абу), если попытаешься создать тред с той шапкой, тебя забанят. Со мной именно это произошло.
Кто-нибудь работал с angular ui router? Выходит так, что страница загружается только при переходе на '/'. Если перейти сразу на 'localhost/link', то 404. Я так понял, нужно каким-то образом парсить url и превращать её в state приложения. Но гуглинг не дал результата, так как приложение, а соответственно и роутер, загружается только на рут-ссылке. Есть идеи?
Если рассмотреть мобильного космического робота с искуственным интеллектом как модель, управление - как контроллер, а программы - как команды, то очевидно, что для установления и обеспечения корректной связи, в контроллере должна быть логика формирования команд, а в модели - логика обработки этих команд (загрузки программ в данном случае). Сам же контроллер - просто интерпретирует действия пользователя (в твоём случае).
>>934540 Ой да ладно, кому охоту учить ещё одно бесполезное говно, которое делает абсолютно тоже самое.
Один день на хелло ворлд, один день для полировки и ты знаешь, как 90% коммьюнити этого фреймворка. И какие-то дауны ещё умудряются гордиться этими знаниями.
Какие из модных самых модных фреймворков не кажутся вам говном?
>>934562 О, вижу половина треда уже ебётся со вторым вебпаком. Ну что, полезная удобная и понятная вещь, да? А как вам открытые issue на гитхабе? Зачитаешься.
А вы бордерплейт скачайте с конфигом на весь экран. Я так и сделал
>>934470 >Спасибо, а "другое место" - это какое? >Отдельный файл помимо model/view/controller.js? Нет, он походу, имел в виду какой-нибудь model/view/logic.js который вгружают некие: model/view/keyboard_controller.js model/view/mouse_controller.js model/view/console_controller.js при помощи include js в js-скриптах этих различных контроллеров: http://kulibaba.net/programming/javascript/include-scripts http://chapter31.com/2006/12/07/including-js-files-from-within-js-files/ >Если логику помещать в контроллеры, то их придётся дублировать для мыши, клавиатуры, консоли. Ну, чтобы так не делать.
Аноны, поясните, почему в javascript импорты через жопу сделаны? Вместо from packageName import moduleOne, two сделали import name, second from packageName Это ведь не удобно и вообще не логично.
>>934600 хм, знать бы какую ошибку выкидывает но мне кажется что в import { TemplateModule } from './template/template.module'; неправильно подключен твой модель на экспорт Чекни что именно по этому пути точно есть экпорт, в общем
>>932835 (OP) Реактаны, помогите! имеется такой код https://jsfiddle.net/55qgof3f/ через bower установил реакт и бабел, запускаю все через live-server , но рендерится только базовый html - то есть без реакт шедоу ДОМ. Причем если в джс фале добавить что-нибудь вроде алерта, то он отображается корректно (значит и джс грузится). Но не добавляется рекатом никаких элементов новых. ЧЯДНТ?
>>934975 Если ты подразумеваешь под понятием логики - функции интерпретации действий пользователя, направленные на изменение модели, то да.
Но если логикой в твоём понимании являются сами команды от контроллера, которые поступают на модель, то контроллер является передатчиком, а модель - приёмником. А логика у них - общая. Между ними - связь.
>>934564 Это я просил с вебпаком помощь. Не то что бы он мне пиздецки необходим, просто комфортнее с хотрелоад кодить, ни и тип удобно, что я могу создавать компонент как папку, в которой лежит jsx и scss файлик, которые автоматом собираются в проектик. Но вообще согласен, что изучение вебпаков, гульпов ну и т.п. - есть отдельный предмет специальной олимпиады. p.s. полгода назад по гайдам вообще без проблем настраивал вп (но тогда он первой версии был и конфликтов не возникало)
Гуру жаваскрипта, как мне выдернуть полную фамилию? Конечно, может сервер и одну букву выводит, но мне так не кажется, я думаю, что север отдаёт полную фамилию и уже скриптом она замазывается. Как грамотно отследить этот процесс?
Image Cropper для изображения на канвасеАноним17/02/17 Птн 19:38:04#129№935222
Анончики, нужно сделать кастомный cropper для изображения на Canvas'е. Гифка на пикриле - моя кривая реализация с таким алгоритом: 1) По клику на канвас запоминается стартовая позиция 2) По срабатыванию mousemove на канвасе рисуется прямоугольник от стартовой позиции до той, что под курсором. Прямоугольник рисуется средствами canvas: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/rect То есть мне приходится каждый раз перерисовывать весь канвас, чтобы создать эффект динамически меняющегося прямоугольника. Вопрос: как правильно делать такую штуку? Подозреваю, что оптимальней не перерисовывать канвас, а менять top/left/right/bottom у абсолютно спозиционированного элемента поверх канваса.
Антунасы, у меня вопрос по АРХИТЕКТУРЕ И ОРГАНЗАЦИИ. В общем, я хочу запилить сайт, который будет через апи другого сервиса будет брать определённые данные и выводить их у меня. Как такое строить?
>>935259 Спасибо за рекомендацию. Открыл первый попавшийся урок с наибольшими лайками и увидел это. Это говнокод? Я не секу в вебе, но на человеческий языках программирования я бы объявил класс, потом создал бы объекты класса и присвоил им нужные значения. Ну или хотя бы создал ассоциативный массив. А хдесь вот это вот непонятное что-то.
>>935257 хуйня вопрос, делай следующее: ставишь на комп ноду и нпм ставишь ярн ставишь бабел и пишешь бабелконфиг ставишь еслинт эхкстендишь конфиг от эирбиэнби и пишешь еслинтконфиг, вешаешь хук на прекоммит ставишь вебпак и пишешь два конфига один под прод второй под дев, на деве не забываешь поставвить вебпакдевсервер и настроить хатрелоад, на проде не забудь бить код на чанки, углифай, критикал си эс эс инитишь гит, добавляешь гитигнор не забудь ярн лок в репу потом корочи ставишь дев зависимости бабель-кор, бабель-лоадер, бабель-плагин-трансформ-обджект-рест-сприд, бабель-пресет-2015, бабель-пресет-реакт, вебпак, вебпак-дев-сервер, сиэсэс-лоадер, стайл-лоадер, стайл-экст-эйчтиэмэль-вебпак-плагин, лесс или сасс, лесс или сасс лоадер, еслинт, еслинт-конфиг-эирбиэнби, еслинт-плагин-импорт, еслинт-плагин-реакт, экстракт-текст-вебпак-плагин, эйчтиэмэль-вебпак-плагин потом корочи зависимости материал-юай или реакт-мдл-юай или бутстрап, нормалайзр, реакт, реакт-дом, редакс, реакт-редакс, реакт-роутер, реакт-тэп-эвент-плагин, редакс-тсанк, дабльюашэйтидаблюджи-фетч для удобства в нпм скрипты алиасы, но вызывай все через ярн потому тчо так круче
короче делаешь папочки там контейнеры компоненты экшены стор миддлверы, редбюсеры еще и утилзы и понеслась короче пиши код твори пили сайт который будет через апи другого сервиса брать определенные данные и выводить их у тебя, строй его.
>>935345 Ты серьёзно или стебёшься? Как по мне, если вливать столько дермища, то чистый js будет работать намного быстрее. тем более я видел аналогичный ресурс на чистом js, который создан ещё в далёкие годы, и всё отлично работает.
>>935350 На бэкенде делаешь модуль, который общается с другим сервисом и делает необходимую работу. К нему делаешь рестфулл апи. Фронтом общаешься с этим апи.
>>935375 Делал, не покатит. При большом наплыве пользователей слишком большая нагрузка на сервер, да и к тому же апи имеет ограничение на количество запросов, придётся что-то делать, чтобы это обходить, поэтому лучше пусть запросы идут со стороны пользователей.
К тому же все аналогичные сервисы так же реализуют всю работу на стороне пользователя, значит в этом есть какой-то смысл.
Вообще у меня родилась идея вкинуть задания на фриланс, упростить это всё до невозможности, разделить и пусть рабы хуярят за копеечку, а потом уже самому всё это соединить.
>>935434 Зато зарабатывают деньги меньшим напряжением и усилием и есть время для отдыха и путешествий, вместо того чтобы до ночи искать баг в нейросети.
двачик помогай, я с угловым знаком на уровне прочтения доков на протяжении 40 минут 1.5 года назад.
я хочу по поводу этой либы узнать http://angular-slider.github.io/angularjs-slider/ мне бы выделить в стилях активный элемент, да вот только класс rz-selected чето не ставится. хотя директива ng-class есть
>>935626 бумп жиесть http://jsfiddle.net/fbok9c6s/1/ как подкрасить выбранный степ ? В инете ниче не гуглится, а это значит я ебусь с тем, что не является проблемой
Джейсоны, нужно написать очередь задач с использованием redis, соответсвенно требуется организовать бесконечный цикл для опроса очереди на новые задачи. Так вот, как собственно организовать сам этот цикл что бы он не лочил весь трэд. На ум приходит только settimeout. Какие у вас идеи?
>>935833 Окно браузера использует единственный поток исполнения, который производит разпознавание HTML-кода, управление событиями и выполнение кода на JavaScript.
Объясните элементарную, вроде вещь. Вот у меня есть набор элементов. К примеру, при клике на один из этих элементов должно что-то произойти с этим же элементом. Как это по-человечески делается? Как обработать клик по одному из множества элементов? http://jsfiddle.net/p67gh3dk/3/
>>935870 Какой язык программирования? В чём твоя проблема? Один поток, и он блочится при выполнении бесконечного цикла, так? Открой другой поток, в котором цикл пустишь этот свой, и settimeout сделай 0 там, чтобы бесконечно было. Вместо цикла - можешь юзать функцию проверки задачи и добавления её в очередь, запускаемую через setinterval периодически. Указываются миллисекунды. http://javascript.ru/setinterval
Очередь на ноде... Нода - это сервер? Redis на сервер ставят, как я вижу. А JavaScript в браузере у клиента выполняется, традиционно. А чтоб на сервер транслировать надо JQuery, что-ли? Не пойму чёт.
Подскажите, как в ангуляре запустить что-то, когда все другие приложения, все сервисы, все контроллеры и директивы работают. Или подскажите другое решение. Проблема в том, что у меня в паре контроллеров и директив есть $scope.$on(), но до этих строчек код доходит уже после того как сигнал послан и он е обрабатывается. А сам сигнал вызывается после http запроса из app.run()
Здрасте. Я пишу бекенд на Go, фронтенд тоже часто на мне. Сейчас юзаю только jQuery и dot.js, везде хипстерские статьи по типу "jQuery мертв, его никто не юзает уже лет 100". Сейчас хочу поглубже вкатится в js, смотрю на angular2, react и vue. Не разобрался пока толком та ли это вообще замена которой я ищу или у них совсем другие задачи, хотел спросить что вы по этому поводу думаете.
>>935997 Анон, ты это почти я. Для себя я решил вкатываться в ангуляр2, т.к. тебе предоставляется готовый инструмент на все случаи и ты можешь стартовать с места в карьер. Но если тебя интересует такой же библиотечный подход, когда ты просто подключаешь либу и работаешь (ты же привык уже к jquery, верно?), то можешь копать в сторону реакта - ты будешь независим от конкретных сборок и можешь сам решать, что будет включено в твой проект, а что нет. С ангуляр ты привязан к его архитектуре и решениям вшитым в нем. У каждого подхода свои плюсы и минусы. Я пока изучаю только базу, поэтому не могу сказать тебе что-то более конкретное.
Привет аноним. Хочу делать парсер для одного сайта. Выцеплять с него данные и заносить в базу. Не кража интернет-магазина, ничего такого.
Однако прикол в том, что там говно мамонта, а не сайт. Сайт сверстан на таблицах и верстка невалидная и у меня возникли проблемы с его парсингом в чисто ноде.
Однако в nwjs получается неплохо, но как я понимаю, ей для работы нужен гуй и на серваке оно просто так не запустится.
>>935997 Фреймворки - только для одностраничных приложений, в остальном или чистый js или джиквери. Если тебе полтора запроса на аяксе нужны, то собственно зачем тебе иммьютабл и вес страницы в несколько мегабайт? Вообще надо бы представлять, что тебе нужно от страницы. Часто заказчики сами не представляют и поэтому швейцарский нож в виде фреймворка упрощает дальнейшую переработку и колупание в функционале, в остальных случаях имхо не нужно.
либо nwjs\electron на сервере запускай через обертку, эумлирующую искы (я забыл как называется погугли, она позволяет гуи прилаги запускать как хеадлесс).
>>936534 Почти, две недели во фронтенде, после жабы долго не мог понять, почему для того, чтобы включить в стандарт такую тривиальнейшую вещь, как модули, понадобилось аж 15 лет
>>936006 Посмотрел немного, react побольше понравился вроде как. У ангуляра смутило что есть уже несколько версий полностью отличных друг от друга.Vue это слишком ново наверное, да и вакансий у нас на рынке нет и информацию и какие-то готовые решения по нему будет сложнее искать. >>936094 Так я и юзаю шаблонизатор dot.js и мне вроде как хватает. Но хочется попробовать что-то сложнее и с другим подходом. Мне просто казалось что мы используем то что используем от части потому что старшие коллеги немного застряли возможно.
const Button = (props) => ( <button onClick={printIt} > {props.name} </button> ); в родительском файле компоненту передается свойство name со значением, пусть будет Click me Как мне передать контекст this в данный компонент, чтобы в консоли выводилось Click me is clicked
Вот всякие методы массивов типа forEach, filter, map они же нихуя не производительные и их не рекомендуют использовать, но при этом многие опытные разработчики их показывают и брызгая слюной рассказывают какие они охуенные. Да код становится красивым и понятным, но стоит ли оно того? Я в замешательстве.
>>936621 this родителя не надо передавать, но ты и так не передаешь, а передаешь ты name и он в потомке = props.name. допустим родитель такой: ... return ( <ChildComponent name="me"/> );
>>936980 Потому что главная цель jQuery – ускорить разработку в условиях кроссбраузорности. Сейчас под IE-8/9 почти (ну не совсем) никто не разрабатывает, соответственно jQuery не нужен.
>>936989 Почему не производительные? Кинь пару сравнительных перфов. Вообще это задача хром и сафари тим, они при в рантайме должны думать о перфомансе нативного функционала JS.
Раньше тоже боялись использовать .bind, или длинных цепочек прототипов. Сейчас все это оптимизировано в браузерах.
Котаны, я с какой-то хуйней столкнулся. Юзаю jQuery для обработки события. Если передаю колбэк в виде function() {...}, то внутри могу спокойно использовать $(this), все нормально. Если же передаю в виде () => {}, то ВНЕЗАПНО $(this) нихуя не работает и jQuery высирает в лог вот это: TypeError: e.nodeName is undefined
Что за хуйня? Не один ли хуй, каким синтаксисом для анонимных функций я пользуюсь, это же просто сахар? Жсфиддл: https://jsfiddle.net/q3Lapjzo/
Ребята я уже устал. Как изменить псевдокласс элемента через JavaScript. Допустим у меня есть элемент с id = "Dick"; я хочу чтобы он был золотой, при наведении темно золотой. А после нажатия допустим кнопки вызывалось onclick событие которое выполнила бы функцию, которая поменяла ему цвет на зеленый и при наведении на черный. Здравый смысл подсказывает, что это document.getElementById("Dick").style.backgroundColor = "gold"; и в принципе с этйо хуйней нет проблем, все работает. Но как быть с псевдоклассами :active, :hover напрямую их хуй пропишешь, я тут в дебри залез и почитал про CSSRules, типа задаешь свое правило для стайлщитов и потом его меняешь. Все гладко? Авотхуй. В фаерфоксе все работает а в хроме нет! У меня уже стул горит выручайте срочна!
>>937177 Похоже дошло. Нужно прописать функцию через mousedown, которая будет просто менять текущий бэкграунд-колор, а не псевдокласс. А там уже через ветвление в зависимости от моих условий выбрать какой цвет мне нужен. А псевдоклассы из css-файла вообще просто убрать. Сейчас попробую.
>>937173 а если же ты пишешь какого-нибудь бота и хочешь эмулировать действия поользователя, и для этого триггерить всякие :hover, то обычный браузер тебе это не разрешит, ибо это небезопасно.
Для того надо юзать самосборные браузеры, млм какие-нибудь платформы типа электрона.
>>937180 Вообще, правильная политика все визуальное формление (цвета, фон, шрифты) все это прописывать по максимум в css. А из js работать по событиям только с логикой. А чтобы по этой логике менялось оформление, то туглить классы.
все работает, НО!: бекенд по вебсокету шлет данные ОДИН раз (проверено), либа получает и эмитит ОДИН раз (проверено): e = new CustomEvent('update-gamelist', {'detail': response}); document.dispatchEvent(e); в компоненте логгируется ДВА раза (строка 76) http://pastebin.com/QAdxQZtZ Game list update: ... Game list update: ... где я накосячил?
>>937234 похоже дело в CustomEvent... пока не могу понять в чем именно, но сделал костыль для redux что бы обрабатывал входящее сообщение и стало ОДИН раз)
>>937185 Вообщем решил вопрос. С туглами пока не делал (т.к стараюсь на нативном сделать, а понятно только с jQuerry). Приблизительно как анон выше написал. Повесил на кнопку в html коде в блоке с элементом >>onmousedown = "mouseDown()" А потом в JS коде создал функцию, mouseDown, которая в зависимости от состояния некоторых параметров присваивает необходимый мне цвет элементу.
>>937298 Да я стараюсь вообще ее не использовать. Но из-за того что весь стак оверфлоу засран реквестами по jQuerry что-то на нативном бывает и тяжело найти. БТВ, покопался немного в коде макабы, местами проиграл.
Посоны, кто пилил на реакте + редакс что-то сильнее тодошки злоебучей? Ай нид халп. В общем, стоит вопрос реализации табов, чтобы все красиво, то есть мы включаем новый таб, а старый висит неизменный в доме, но стыдливо прячется дисплеем нан. Да похуй, лишь бы он вообще в доме остался. А то я юзаю реакт роутер, а этот пидор ЧИЛДРЕНА полностью меняет новым компонентом по матчингу роута. То есть старый выпиливается нахуй. Заебался курить доки, гугл уже весь фиолетовый от посещенных ссылок, а ответа все нет. Будто я первый кто с таким столкнулся. Может кто знает как без реакт-роутера обойтись и сделать иначе динамические вызовы компонентов? А то неохота все сразу отрисовывать, их у меня сотни, там куча данных. С меня нихуя.
>>937613 >>937614 Еще что-нибудь скажешь? Или так пизданул, не подумав? Я в серьезном тупике и помощь была бы весьма кстати. Вот еще вопрос из области возможного солюшена(хотя переписывать дохуя придется) - если реакт после загрузки пейджа идет по страничце и сует все в виртуал дом, а 99 из 100 компонентов идут со стейтментом, согласно которому компонент не должен отображаться, то он ведь их не засунет в дом и самое главное, это ВЕДЬ НЕ ОТНИМЕТ дохуя производительности? Я уже думаю все реализовать через стейтменты хранящиеся в сторе. Нахуй мне безрукий роутер от говноректщиков нужен, если он костыльное говно без задач в спа? Такое ощущение, что борда окончательно сдохла, поговорить не с кем.
>>937298 Соснешь хуйца с поддержкой мелкомягких ниже 10. Держи, я тебя прикрыл. fuckYou.className = fuckYou.className.replace(/\bshitty-style\b/g, "");
Мне нужно все вызовы функций, являющихся свойствами одного определенного объекта, пропускать при вызове через другую определенную функцию, и при этом сократить повторения к минимуму.
Возможно я не тем путем иду, и нужно делать через прототип, а не голый объект.
>>937609 что ты в доках хочешь увидеть? табы никак иначе не реализовать кроме как перемены классов или внедрения инлайн стиля (display, z-index, position и тд и тп) тебе просто в стейте нужно хранить имя активного таба, а в компоненте написать что-то типа: если в стейте активно моё имя, то назначить мне класс актив мимо сеньор си/ассемблер девелопер
>>937738 Уебушка, когда начнешь писать не в стол под мамкин борщик, то поймешь, что говно вроде ие8-9 приходится поддерживать, на каждый чих полифилл заебешься ставить, бабел тебе по губам с класслистами проводит. Проще регекспы знать, но ты лошара, не поймешь.
>>937748 Ебать ты гений. Это очевидное решение, но у меня есть вопрос по производительности - когда я вывалю на клиент сайд свой файлик с джс и реакт начнет пихать все компоненты сразу в виртуалДом, а их около 100-150(действительно большим компонентам с кучей логики), с версткой и прочим, то не просядет ли клиентское пк, а точнее его браузер. которые тупят даже если вкладка 200 метров жрет? Если шаришь, то подскажи.
Ангуларщики, срочно помощь нужна. Сам пока только-только вкатываюсь и много не знаю. Есть задание на пике, надо реализовать.
По заданию: изначально при запуске на экране существует только два инпута (сверху на картинке). Вводим в инпут слово, жмем Add и ниже в дом динамически добавляется див с заданным в инпуте стрингом. И все повторяется, если вновь задать инпут и нажать add (добавляется еще ниже в дом, сразу под прошлый элемент.
Если нажать на "+", то такой же элемент вставляется как указано на рисунке (с отступом и под вызвавшим его родителем, зеленые элементы добавляются под желтым, красный добавился после нажатия на зеленый).
Я понимаю, что сам этот новый элемент это вроде как компонент, который должен динамически добавлятся в дом, но не могу найти как такое делается в ангуляре. На JQuery был бы метод .append, а тут совсем не понимаю.
Какова технология и что лучше почитать что бы понимать как такое реализовывается?
>>937764 Ты несешь хуйню, баран, чего там судить. Очевидно, что ты шкальник с борщем, который "пишет" "проекты" на модных библиотеках\фреймворках\языках. Потом кладет полученное говно в стол и идет ныть в МЫ ВАМ ПЕРЕЗВОНИМ треде. Не то, чтобя я тебя осуждал, сам таким был пару лет назад, но пошутил ты как петросян с хуем во рту.
>>937757 блин, вот лента.ру написана на реакте, на слабом компе (2.7 ггц 4 озу) при загрузке она вешает хром на 20 секунд (при условии, что ещё пару вкладок открыто). Крупный информационный портал ложил хуй на бардак в компонентах, ты чего волнуешься? )) И сколько у тебя бандл весит?
>>937837 1.8 метра пока, но это на 10% реализации компонентов и без оптимизации вебпаком + сжатия со стороны серва. Вес меня мало волнует, меня волнует сможет ли браузер переварить много компонентов с логикой, которые он попытается в виртуалдом пихнуть разом.
cоздал сайт (ноудджэйэс/экспресс/эмбэддэд.жс), а задеплоить не могу в хероку не работает комманда в консоли, и на стэк оверфлоу решения моей проблеме нет майкрософт эжо просит кредитную карточку для аутентификации, а она у мну заблокирована в хerve.io (бывший ноджицу) не могу залогиниться, несмотря на то, что аккаунт верифицирован оупэн рэдшифт отказывается деплоить что-либо, кроме репозиториев в гитхабе, а у меня нету вообще чё делать? чем ноуд.жс бесплатно хостить можно? или сайт на похапэ.пайтон переписывать придётся?
ПОСОНЫ!! РЕБЯТА! Я ПОНЯЛ ЧТО ТАКОЕ РЕДАКС! СПУСТЯ 2 ДНЯ КОВЫРЯНИЯ!! ЭТО ОХУЕННО!!! ЭТО МОЩНО И ТАК ПРОСТО! ВОСТОРГ!! до этого только джквери и вот решил изучить чем живет современный веб...
>>938111 Нихуя ты не понял, если не расписал тут суть, что ты понял. Своими словами, простым языком, тот самый дзен, который ты там познал. Не написал? Значит просто прокукарекал и ничего не познал.
>>938138 тупо состояние и ничего больше. это самодостаточная штука, вкупе с "действиями" и редьюсерами это мощная самодостаточная штука. >>938148 ну вот смотри: у тебя есть компонент "хуй" у него есть свойста "стоит" и "всунут" и есть компонент "пизда" у нее свойство "потекла". эти 2 компонента смотированы вообще в разных местах, но ты легко их можешь связать, для этого создаешь действие "пиздаПотекла", которое установит свойство "потекла" у "пизды" в true, создаешь редьюсер-обработчик для состояния "чоТамСпиздой" и допустим с 3го компонента вызываешь действие "пиздаПотекла" - теперь, как ты понял пизда потела, но она не просто потекла она еще и дала об этом знать хую! как спросишь ты!? а ты для этого создал редьюсер для хуя и сделал там обработчик для события пизды "потекла". в этом обработчике ты смотришь свойство "стоит" и если стоит ставишь свойство "всунут" в true... в пизде ты можешь перехватить это событие хуя, что он всунут, и "ахать" например, а хуй может потом "кончить"...
>>938168 но самое охуенное что тебе не надо вообще париться о реализации этих состояний, там пару строк реально. ты просто деалешь dispatch, а store сам обо всем позаботится.
Зачем писать props компоненту, если можно сразу стейт, ведь данные в любом случае изменяются, если же они статичны, то что нам мешает их прописать в верстке?
>>938168 ...но компонент "сон" никто не отменял, и на событие "хуя" "кончить" он установит состояни "корзиночкаПроснулся" в true и выкинет тебя на главную страницу. а потом еще и компонент "мамка" поймав событие установит свое свойство в "зашлаВкомнатуКушатьГотовоСыночка", а ты и забыл перехватить это событие и убрать состояние "хуя" "стоит"...
>>938177 через пропс например происходит связывание состояния store того же редакса и этих самых пропс. а стейт вообще можно не юзать - опциональная штука.
>>938180 Стоп. Я пока до редакса не дошел. Ведь реакт можно использовать в его изначальном состоянии, как библиотеку для работы с вью. Зачем нужны props, если мы для изменения состояний вью используем, собственно, состояния?
>>938182 я их использую что бы разделить один большой компонент на два, например: /game_list --container.js тут лежит GameListContainer --view.js а тут GameList
в GameListContainer вся логика а во вью только отображение, например в контейнере: constructor(props, context) { super(props, context); this.api.game_list().then((response) => { console.log('Game list init: ', response.data); this.props.games = response.data; }); ... ... render() { return ( <div> <GameList games={this.props.games} /> </div> ); }
ну и вот, при каких то действиях в контейнере во вью будут актуальные games
В общем, дано: Небольшой веб-проект (не на этих ваших нодах) в котором требуется манипулировать dom по событиям и посылать ajax-ы. До настоящего времени все решалось старым добрым jquery и он польностью покрывает все нужды даже сейчас. С ростом самого проекта количество однообразного кода типа "нажал это - тоггли класс на этом / отправь ажакс туда" тоже росло. Из опасений в будущем превратить клиент-сайд в нечитаемый длиннющий скрипт, думаю перейти на что-то более универсальное. Задача: переползти с jquery на что-то, что покроет эти нужды, не заставив при этом писать такие же тонны одноображного кода и по-максимуму сохранив верстку, которую отдает сервер.
инб4 (ну или переубедите): Посмотрел реакт - все слишком сложна для такой мелочи. При этом ажакс, как понял, не умеет. Ангуляр - тупескрипт, сервисы, еще какая-то хуйня, малафья. Сука! vue, ember и прочее - два смуззи мне в номер, пожалуйста (хотя первый вроде как самый адекватный вариант из всех просмотренных).
Ну и сейчас как временная мера повторяющийся код сокращен до пяти функций, а в верстку воткнуты атрибуты, которые говорят этим функциям над чем конкретно они работают. Но это, конечно, костыль.
>>938182 Чистый реакт приведет тебя в жопу, лучше вали на редакс, если планируешь поднимать норм проект. Заебешься без редакса связывать все и отслеживать события. Если у тебя больше 4 компонентов связанных, то начнется АД. А вообще пропсы нужны хотя бы чтобы следовать бестпрактису и разделять компонент на дамб составляющую и контейнеры. Хотя бы. Алсо. на офдоке лучше написано что и зачем, но я забыл ибо редакс наше все.
>>938291 >Посмотрел реакт - все слишком сложна для такой мелочи. При этом ажакс, как понял, не умеет Он вообще нихуя не умеет, это библиотека для В. Есть аксиос для аякса.
>>938326 Много кода писать каждый раз, если с промисами Проще аксиос юзать, он легковесный, в одну строку запросы делаются + промисы из коробки. Хотя мелкомягкие подосрали и тут, до 9 не пашет, на 9 не на всех системах, на нпм у них есть таблица совместимости.
>>938341 и ничо не много, написал свой движок для вебсокета, получился довольно компактный, на промисах, да. к нему еще апи либу приписал и вообще получился RPC тоже компактно. нехуй, тащемта, юзать все подряд, можно и самому написать. в js 3ю неделю.
Ананасы, подскажите готовую библиотеку. Нужно выделить на пикче область (областей может быть сколько угодно) и оставить к ней комментарий. Потом эти области нужно уметь редактировать (и область, и коммент). Понимаю, что совсем готовое вряд ли есть, но все же. Наиболее близкое к тому, что нужно находил https://timseverien.com/taggd/v3/ и http://www.neillh.com.au/phototagging2/index.php
>>938390 какой колодец дебил? прототип написал за 4 дня вместе с бекендом. ты олигофрен не могущий написать банальные вещи. иди скачай либу для проверки isObject, "программист".
>>938341 Да ну, подключить либу для пары чихов в ажаксе... Мне и сейчас норм, скриптом собрать данные помеченных полей, сериализовать, добавить заголовки, отправить - кода на 20 строк.
>>938452 Во-первых, да. Во-вторых, только в свободное время, я тебе ебанутый писать велосипеды без оснований, я деньги зарабатываю, а не хуйней страдаю, как ты. Впрочем, удачи, ебанат.
>>938497 погоди ка пидарок! куда побежал? мы только начали. нука напиши мне rpc движок для игры на вебсокетах, бекенд (на питоне) и фронтенд включительно. при условии что фронтенд не должен знать как устроено на бекенде нихуя вообще, а должен получать методы бека при инициализации. бек дожен быть модульным, каждый модуль должен описывать свою сущность. на фронте должна быть возможность получать неадресованные сообщения, то есть не rpc: обновления, нотификации... фронт не должен быть привязан ни к каким фреймворкам и спокойно запускаться на обычном джс. теперь, пидор добавь сюда условие: написан этот прототип был за 4 дня с начала знакомства с javascript вообще, вебсокетами, попутно тыкая реакт. хуесос ты говнянный. >я деньги зарабатываю на заработанное можешь купить себе резиновый дилдак и хуярить себя полбу, читая эти строки, ебучий профанатор.
>>938524 зачем мне тебе пиздеть? 1,5 дня потрачено на ознакомление с js и окружением.. es6, webpack, babel и как это все настроить в связке с pycharm, на питон потрачен 1, на js движ 1,5 дня. повторяю, это прототип, рабочий но прототип, позже сделал api для rpc, бек вынес в отдельное приложение, js api и engine тоже абстрагировал. теперь спустя 2,5 недели это, вкупе, переносимое приложение, в котором я знаю как устроен малейший винтик. и легко встрою в любой проект где понадобятся вебсокеты.
>>938532 какую часть показать? я не публикую сырое, там еще много углов торчит, вот когда напишу игру, обязательно опубликую и даже больше, если не влом будет, оформлю это все дело валидными пакетами с тестами и доками. так что именно показать?
>>938530 > Написал за 2.5 недели тыкалку вебсокетом в бэкенд и обратно. >КОКОКО МОДУЛЬНЫЙ БЕКЕНД >КОКОКО ПОЛНАЯ ОБФУСКАЦИЯ >КОКОКО УМЕЕМ В НЕАДРЕСОВАННЫЕ СООБЩЕНИЯ
ну нате, хуле: фронт engine, почти не изменилось с прототипа http://pastebin.com/vJkqNGb4 бек engine http://pastebin.com/RKKKFaYy тоже почти не изменился с прототипа сколько там? 229 строк - не так уж и много за 4 дня правда?
<Form onBlaBla={this.handleNewName}/> В компоненте: this.props.onBlaBla(name); В свою очередь нейм это реф инпута, а хендлер ставит стейт. Вопрос такой, как работает onBlaBla?
>>938544 Оборачиваю такое в функцию, чтобы понять смысл выражения. isValidCommand(), например. Олсо, ты написал движок, но привязал его к конкретным данным, не дженерик. Второй пик плохо читается, тоже обернуть в функции и ? :, case true, case false это кейс для тернарного выражения. '--SERVICE--' лучше вынести в константы. А еще такой код не напишет тот, кто не кодил хотя бы полгода, у тебя есть бэкграунд программирования, это не 3 дня.
Короче парни, я не настоящий жсер, я фонегап на помойке нашел. Нужно очень быстро накидать супер примитивную кроссплатформенную хуйню, и я застрял на этапе вставления firebase в фонегап-проект. По какой-то причине при запуске phonegap run эта пизда в build.gradle прописывает
A problem occurred configuring root project 'android'. > Could not resolve all dependencies for configuration ':_debugApkCopy'. > Could not find any matches for com.google.firebase:firebase-core:+ as no versions of com.google.firebase:firebase-core are available. Required by: :android:unspecified
>>938732 бекграунд конечно есть, только на питоне, а на джс пару раз "менял стиль елемента по клику" с использованием джквери - эти двустрочники даже программой назвать сложно.
>>938915 Со стрелочными не соглашусь. Всё таки нет зыс, аргументс, конструктора — уникальное поведение. Сахар — это альтернативная запись. Классы это сахар, например, под капотом та же дрочильня с прототипами-конструкторами. С асинк-авейтами ещё сам не разбирался. Вроде как, там промисы под капотом всё делают. Тогда это сахар конечно.
>>939041 >Со стрелочными не соглашусь. Всё таки нет зыс, аргументс, конструктора — уникальное поведение С аргументс х3, не вникал, но вот отсутствие ЗИС и конструтктора можно сэмулирвоать. Зис как два пальца вообще.
>>939041 >Промисы не сахар. Это обертка. >С асинк-авейтами ещё сам не разбирался. Вроде как, там промисы под капотом всё делают. Тогда это сахар конечно. Ну тогда асинки - это не сахар, а обёрка.
>>939041 >зыс bind или внешняя переменная >аргументс перекрывай локальной переменной >нет конструктора кидай исключение по new.target > уникальное поведение его нет.
>>939475 При чем тут это? Любой сахар - это дефолтный синтаксис. Возможность не ставить точку с запятой в конце строки - это тоже сахар, и это дефолтный синтаксис. К чему ты вообще что пишешь.
>>939483 Это уже не сахар, функция имеет лексическое this и теперь ее нельзя переопределить, нету ненужного arguments, ну и писать проще, но это уже другое, важно что поведение изменилось.
https://jsfiddle.net/angr92p5/ хочу выдвинуть слева ошибку если не удалось свалидировать при помощи redux-form а оно просто появляется без анимаций ЧЯДНТ ?
>>939491 >двинуть слева ошибку если не удалось свалидировать при помощи redux-form >а оно просто появляется без анимаций ЧЯДНТ ? Говнокод однако, как ты див элемент возвращаешь бля?
>(function f(x){let arguments; if(new.target == f) throw 'fail'; return x * x}).bind(this) this ты не переопределишь, arguments у тебя нет, и new ты не сделаешь.
>>939525 Все правильно сказал, ведут они себя немного лучше, запрещая говнокодить. Вот реальные примеры когда function нужно это для генераторов и async.
const myCock = new Promise ((resolve, reject) => { ... return resolve(result)} console.log(myCock) //<pending> myCock.then(console.log) // SWEET DATA
заебись, все работает. Но! Как мне его принудительно заресолвить, прежде чем выполнять остальной код? просто мне туда должен токен прийти, и все равно я без него ничего делать пока дальше не могу. Просто дальше через .then хуячить мне кажется как-то тупо. или я мудак и совсем не понимаю сути промисов (это правда, конечно)
>>932835 (OP) Господа, подскажите нюфане. Правильно ли так делать - есть страница со списком неких постов, для сортировки этих постов по дате повесил на элемент обработчик клика, по клику забираю через window.location.search гет-параметры и через этот же search перенаправляю на нужный результат.
>>940001 аа, это про то как заресолвить промис в основном потоке? никак) промис аиснхронная штука и с ним можно обращаться только асинхронно - оба варианта я представил выше.
>>939993 >( >async function() { >let res = await myCock(); >console.log('res: ', res); >}() >); только я тут ошибку сделал, так правильно: (async function() { let res = await myCock(); console.log('res: ', res); });
>>940027 и кстати, из этого куска понятно становится что js в принципе асинхронный, мы просто делаем IIFE асинхронной и оно сука просто так работает! не знаю как вас, а меня как питониста, зависть берет.
>>932835 (OP) Анон, дай пожалуйста какую-нибудь русскоязычную книжку по сабжу (жс, жквери), чтоб прям быстрый старт - минимум воды и теории, максимум практики и хороших примеров. Будет сейчас где-то два часа сидения в дороге, к концу желательно понимать, как написать калькулятор или галерею. Общие принципы программирования вообще и ООП в частности понимаю, верстать немного умею, жс когда-то учил, но забросил и все забыл. Посоветуйте пожалуйста что-то именно короткое, под быстрый старт, а не томину флэнагана. Интернета не будет, так что жс.ру не подойдет.
>>940030 там такое невозможно. там придется функцию из которой вызывается асинхронная функйия сделать асинхронной, а потом функцию изкоторой уже переделанная тоже сделать асинхронной и так до самой корневой...
>>938732 а свич конструкция... короче я добрался до свича и начал его хуярить всюду! как же мне его в питоне не хватает( там конечно можно его сделать самому и не сложно, но это будет лишний замороч.
>>940191 Сути это не меняет, мне нужна проверка что передана валидная для вызова функция в колбеке. Сейчас проверяю так >cb.toString().slice(0,5) != 'class' Но точно видел красивое решение такой проверки, вроде в каком-то фреймворке или либе. Но, увы, сейчас не гуглится ничерта :(
>>940200 Во-первых, ты пытаешься проверить не на функцию, а не передан ли конструктор класса. Это разные вещи. Во-вторых, твоя проверка бессмысленна, потому что классы можно пилить и без конструкции class.
Можешь проверять на выброс исключения, но опять же, исключение функция может выбросить и по иному поводу, а не потому что это конструктор. Можешь чекать описание исключения разве что.
Никакого универсального способа сдетектить конструктор класса - не существует.
Сейча.с, на скол.ько я пон.имаю, он.о ище.т тек.ст в скоб.ках именн.о в парамет.рах тег.а в arr. Нуж.но сдел.ать та.к, что.бы искал.ся обычн.ый тек.ст. Ка.к?
Поясните за аякс, я понимаю что это такое и зачем но не понял, как он так внезапно появился? Типа вот был баузер которые без динамики грузил HTML и тут вдруг он научился делать это динамически через JS. Где произошел скачек? Или просто кто-то придумал что оказывается так можно делать?
Учу JavaScript, вот написал решение задачи FizzBuzz.
> Напишите программу, которая выводит числа от 1 до 100 (включительно). Если число делится на 3, выведите Fizz вместо числа. Если оно делится на 5, выведите Buzz. Если оно делится как на 3, так и 5, выведите FizzBuzz.
>>940552 Ебать, не хотел бы я с такой свиньей работать в одной компании. Иди, блять, еще фреймворк для физзбаза накати, контроль версий и жахни на всякий случай туда еще проверку на типы, хуле мы тут как маленькие, да?
>>932835 (OP) Сап, двачик. только-что задал вопрос на StackOverflow о том, как лучше реализовать авто инкремент на MongoDB (Mongoose), на что получил ответы такого характера, как будто я долбоёб. Мол для NoSQL баз автоинкремент не имеет смысла. обьясните пожалуйста, почему?
>>940690 То есть ты считаешь себя лучше на том лишь основании, что ты получил информацию не из видео, а из какого-то другого источника? Ты здесь по ходу самый успешный.
Я запутался. Суть в том, что мне нужно получить токен для доступа к серверу, который я потом буду опрашивать в лупе. Но получение токена - функция асинхронная -> мне нужно либо как-то умудриться выполнить её синхронно, либо вставить луп в коллбек, но тогда появляется один нюанс - токен может истечь, а получить новый я могу только через эту же ебучую функцию
>>940724 >видео >информация Что-то я чуть инфаркт не хватанул от этого информированного видеопросмотрщинка. Свинья ебаная, любую книгу по бд в руки и чтобы от корки до корки, хотя бы разницу между реляционными и реактивными бд узнай, говна кусок ебаного.
>>940664 Но ведь работает правильно? И что плохого в map и forEach? Везде пишут, что надо использовать функциональный стиль и иммутабельность. Я вообще сначала думал с помощью генератора сделать, но получается слишком сложный код.
Анон, дай пожалуйста какую-нибудь русскоязычную книжку по сабжу (жс, жквери), чтоб прям быстрый старт - минимум воды и теории, максимум практики и хороших примеров. Будет сейчас где-то два часа сидения в дороге, к концу желательно понимать, как написать калькулятор или галерею. Общие принципы программирования вообще и ООП в частности понимаю, верстать немного умею, жс когда-то учил, но забросил и все забыл. Посоветуйте пожалуйста что-то именно короткое, под быстрый старт, а не томину флэнагана. Интернета не будет, так что жс.ру не подойдет.
>>940868 > надо использовать функциональный стиль и иммутабельность В полку хайп-ебанатов прибыло. Услышат какое-нибудь говно и пихают его везде. Ты хоть пытался разобраться, зачем вообще нужна иммутабельность, какие профиты с этого? Подходит ли это для данного случая с физзбазом? Не забудь этот свой физзбазз показывать на собеседованиях, чтобы никому не пришлось с тобой в одной команде работать мимо
>>940893 Распаралелливать можно, чтобы код быстрее работал на многоядерных процессорах. На C# такие задачи как правило на LINQ решаются. В JavaScript методы типа map тот же самый LINQ, что в них плохого?
>>940899 Ты тупой или просто траллишь меня тут? В самих map, хуяп, функциональщине нет ничего плохого. Плохо то, что ты решил запихать это (неумело причем) в простейшую задачу, в которой иммутабульность и финкциональный подход нахуй не упали. Задачу надо решать максимально простым способом, KISS гугли. покормил
>>940917 Однопоточный, зато асинхронный. Хотя то конечно кукаретик, мап синхронный. В синтаксисе асинк-эвейтов асинхронная итерация будет выглядеть так async function f() { for await (let x of y) { g(x); } }
>>940923 > Однопоточный, зато асинхронный. Да, асинхронный, но пациент сказал > чтобы код быстрее работал асинхронность в JS ничего не сделает быстрее, вот.
>>940948 >Код выполняется асинхронно, но в одном потоке на одном ядре. А почему тогда на нее все переходят и в статьях сравнивают с Erlang? Получается тогда Erlang быстрее, там есть аппаратная многозадачность.
>>940945 перед тобой на столе стоит чашка слева и тарелка справа.
Задача: передвинуть чашку направо, а тарелку налево. и поковырять в носу.
синхронный код: берешь чашку, двигаешь направо. потом берешь тарелку - двигаешь налево. потом ковыряешь в носу.
асинхронный код. ковыряешь в носу, потом берешь что угодно, хоть чашку хоть тарелку, и двигаешь в противоположную сторону от той, где она находится. по окончании берешь другой предмет и двигаешь.
параллельный код: берешь и чашку и тарелку одновременно, и одновременно их передвигаешь, ковыряя при этом в носу.
>>940954 У тебя каша в голове. Ничего не получается. Параллельность не всегда быстрее. Твои два параллельных процесса могут выполниться один сегодня, а другой только завтра, потому что планировщик так решил.
>>940910 Нашел на ннм "Сборка от 14 мая 2015" Честно говоря, тоже не совсем то, что искал, овер 1000 страниц в сумме, ну охуеть, тогда уж проще Флэнагана читать сразу. >>940874 Лютейше решительно бамп вопросу.
Some existing parallel programming models such as Cilk Plus, OpenMP, OpenHMPP, FastFlow, Skandium, MPI, and Erlang can be used on multi-core platforms.
>>940967 Ты спрашиваешь в каком контексте? В контексте js или вообще? Если вообще - то асинхронность - это отложенное выполнение. Когда кончится основной поток выполнения, начнется выполнение отложенных задач. В чем преимущество? Ни в чем - это такая парадигма, ровно как нет никаких преимуществ у ООП перед функциональщиной или императивным\процедурном программированием.
Если в контексте js - то тут асинхронность не просто отложенность задча, тут асихнронный неблокирующий IO. В твоем синхронном коде, кода ты читаешь файл\ждешь пакет по сети или ввод от пользователя - твой поток будет простаивать. В ноде же, такие ожидания асинхронный и не блокируют основной поток выполнения. Ты открываешь сокет (например) и ждешь пакет, но пока его нет - занимаешься другими задачами. Когда твои задачи закончились, если пакет уже пришел, то выполняется твой код его обработки. Для работы с вводом выводом у js-engine задействуются отдельные потоки, да. Но твой код выполняется в одном.
>>940975 При чем тут аппаратная многозадачность, мань? У тебя на уровне аппаратной многозадачности работает только ядро ОС. И то, если у тебя больше одного ядра. Все остальное шедуллится кучей планировщиков Начиная от планировщиков самой ОС, и заканчивая машинами - такими как ЭРЛАНГ. У эраланг собственный планировщик его собственных ЗЕЛЕНЫХ процессов, они даже не нативные, они зеленые, такие же как рутины го.
>>940792 А теперь задача усложняется - поллинг сервера тоже асинхронная задача и нельзя запускать новый опрос сервера не обработав старый. Снова нихуя придумать не могу
>>940967 С тем чтобы впарить тебе фаллесы и закачать тебе на комп вирусняк, после того как ты соизволил сделать клик на страничке, а ведь ты можешь его не сделать. Смекаешь зачем нужно откладывать выполнение функции до определенного события ?
Суп, js-ач. Спросить больше не у кого, спрошу тут.
Постигаю ангуляр, решил портировать на него одну свою старую наработку на js.
Суть такая: в моем вузике расписание идет с циклом в 2 недели. Я написал набор классов (curriculum.js), которые, после скармливания им "сырого" расписания, могли бы возвращать расписание на конкретную дату, чтобы потом в цикле пройтись от сегодняшней даты до (сегодня+7 дней) и вывести предметы один за другим.
Так вот, друга посоветовал мне посмотреть на ангуляр и я посмотрел ( http://all-site-2.nichost.ru/adel/angular/curriculum2/ ололо диванон ), но так как я использовал только представление ангуляра, то друг сказал мне, что я - хуй и посоветовал посмотреть в сторону ng-service. Но я не могу врубиться зачем мне для такой простого применения данных это вообще надо и самое главное, как это применить (а он мне обьяснять отказался).
Может, доброанон подскажет куда дальше двигаться и что по ангуляру почитать вообще?
Ссылку дал выше, в data.js - сырое расписание, в curriculum.js - обработка, в index.html - само приложение.
>>941239 Ты не поверишь, но если ты не срёшь очередную библиотеку, а просто пишешь что-то конкретное, прототипы в реальной жизни тебе совершенно не пригодятся.
>>941864 Ты дебил, даже после того, как тебе указали на ошибку ее не видишь?
Ну смотри, даун. 1: ты не выводишь числа от 1 до 100. 2. ты не выводишь чсила вообще. ты выводишь только слова, а если число ни кратно ни трем ни пяти - выводишь пустую строку.
Посоны. Смотрите, я знаю синтаксис ЖС, стандартную библиотеку, ну а дальше то что. С этими знаниями вкатывать на хедхантер? Или какието совместные проекты пилить для портфолио. А где их взять, если нет идея для проекта, например?
пацаны, кто юзал redux-form пилю калькулятор типа такого http://gosremo.ru/rasschitat-stoimost.html хочу чтобы секции УКАЖИТЕ ТИП РЕМОНТА ЧТО ВЫ ХОТИТЕ ПОЛУЧИТЬ? со всеми полями были не все вместе как тут а по очереди появлялись где то слыхал что с точки зрения UX хорошо такое так вот я смогу как нить такое сделать заюзав одну форму и показывать разные ее части ? Или придется 5 маленьких делать ?
какой то мудила регулярно делает копию всего моего сайта, в итоге он доступен по другому адресу. И на этот новый сайт заходит столько же пользователей, сколько и на мой.
Как сделать так, чтобы если домен являлся не name.ru - то шло перенаправление на name.ru?
>>942052 >Как сделать так, чтобы если домен являлся не name.ru - то шло перенаправление на name.ru? Сделать-то можно (window.location.host проверяй), вот только что помешает злоумышленнику просто удалить эту часть кода? Тебе нужно тогда сделать так, чтобы весь сайт был зависим от имени хоста, все ресурсы загружались с твоего сервера, при этом постоянно перемешивались названия и т.д. В общем, проблемой создать. Но это глупо, лучше в суд подать, миллион отсудить и поехать к пальмам.
Надеюсь в этом треде можно задавать какие-то нубские вопросы. Короче как я понимаю цикл проходит так: 1) Назначается i = 0 2) Проверяется условие 3) Если оно верно, то выполняется тело цикла 4) Выполняется i++ 5) Проверяется условие 6) ... ну и так далее.
Короче вопрос. Если первый раз i = 0, и при i++ постфиксный инкремент сначала возвращает значение, а потом уже прибавляет к нему единицу, то получается что цикл выполняется 2 раза с значение i = 0? Ну на деле (при запуске скрипта) он выполняется всего 3 раза. Объясните нубу в чем дело, пожалуйста.
>>942250 В твоем прредставлении код работает так, как слева, а он работает так, как справа. Третий блок в for ничего не возвращает, он просто выполняется.
>>942252 >С чего он тебе должен вернуть i = 0 Ну потому что оператор i++ сначала возвращает значение а потом прибавляет к нему единицу? ++i сначала прибавляет а потом а потом возвращает значение а i++ наоборот, сначала возвращает. Т.е изначально i = 0, потом выполняется тело цикла, далее выполняется i++, точнее не выполняется, т.к возвращается старое i, а единица прибавляется уже после того как i снова попало в условие проверки. А если оно прибавляется сразу, то я логики вообще не пойму.
>>942262 >единица прибавляется уже после того как i снова попало в условие проверки Нет. Она прибавляется сразу после того как вернулось старое значение, и только потом попадает в условие проверки.
твой код эквивалетнет этому, если тебе будет понятнее for(var i = 0; i < arr.length; i, i = i + 1)
>>942307 Для легкого создания сложных приложений. Hello world на реакте выглядит так: [code]ReactDOM.render( <h1>Hello, world!</h1>, document.getElementById('root') );[/code] Что в этом сложного?
саб. как себя поведёт нода, если в одном классе будет одно свойство типа map, которое будет являться кэшем, и с ним будут работать два сразу метода, при этом один метод будет туда беспрерывно пушить данные, другой рекурсивно (и тоже беспрерывно) проходить этот кэш делая что-то с данными.
Аноны, как получить значение private-поля объекта в js?
Суть: есть Яндекс.api https://tech.yandex.ru/maps/doc/jsapi/1.x/mod/concepts/metro-docpage/ , через него можно получить ближайшую к данным координатам станцию метро. Но апи возвращает объект с приватными, блять, полями в которых содержится название станции и методов их получения я нихуя не вижу (да, вероятнее всего я ебусь в глаза). Анончики, помогите, как эту хуйню побороть?
>>942114 > Сделать-то можно (window.location.host проверяй) Мои навыки жавы не позволяют мне сложить примитивное условие, бро
> вот только что помешает злоумышленнику просто удалить эту часть кода? О даже рекламу и счетчики не удаляет. Программа автоматом копирует
>>942119 > пищи сайт на реакте >>942114 > Тебе нужно тогда сделать так, чтобы весь сайт был зависим от имени хоста, все ресурсы загружались с твоего сервера, при этом постоянно перемешивались названия и т.д >>942058 > Заходим на https://vc.ru и внизу читаем: "Юридическая поддержка, Толкачёв и партнёры".
Проблема была в том что сайт лежал в дауне 4 месяца, в результате повылетял из индексов, а тут эти боты. Не буду я юридческими вопросами заниматься с сайтом, приносящим по 100 рублей в сутки в лучшие свои дни
а теперь сравни кол-во и читаемость кода, после того как вытрешь сладковатые желтые капли с подбородкаа попробуй представить приложение хотя бы раза в 2 больше
анон, а кто-нибудь может сказать о курсах на https://learn.javascript.ru ? я понимат что они платные, но мне их может контора оплатить. Стоят ли они того? вроде хвалят, но хз
да, я тоже думал про это. ты не мог бы пояснить такой момент, если в одном методе мы проходим по кэшу конструкцией:
>for ( var [key, val] of __c.cache ) {...}
будет ли для другого метода, который что-то пушит в этот кэш, в это время этот самый кэш недоступен до конца итерации всего объекта?
другими словами: блокирует ли цикл for на время итераций объект для других методов, или в ЖС каждая новая итерация сначала смотрит статус объекта, и в этом момент, туда можно что-то запушить, так как из-за этого освобождается очередь?
>>942849 Дядя Брукс говорил - "делай, блядь, на том уровне на котором можешь, сука, а не сиди ровно". Учебника CUNT'ора за глаза хватит, чтобы пилить относительно сложные вещи, остальное в процессе придет. Так что не выебывайся и учи учебник. Алсо, может ты на курсы хочешь просто потому что это как на пары ходить - вроде ходишь, а вроде и толку нихуя, хотя Я ЖЕ УЧИЛ, КАКОГО ХУЯ?! НУ, МОМ, ЙА ПОГРОМИСТ!!!. Тогда можно дальше в блек дезерт гонять. Охуенная игрушка с виду, жаль нет времени погонять. Еще и Фо Онор, мляя. Нахуя было расти?
вот сейчас затестил сценарий, каждый метод до обращения к кэшу выдаёт в консоль кол-во элементов:
00.000.lab.view.js >>> push >>> __c.rouletteCache 0 // начало для push, кэш пустой 00.000.lab.view.js >>> get >>> __c.rouletteCache 1 // начало для get, в кэше 1 элемент, выход из метода через setTimeout(__c.get, 100); 00.000.lab.view.js >>> push >>> __c.rouletteCache 1 // начало для push 2, в кэше 1 элемент 00.000.lab.view.js >>> get >>> __c.rouletteCache 2 // get нашел 2х кандидатов, рекурсия через return __c.get(); 00.000.lab.view.js >>> get >>> __c.rouletteCache 0 // get из-за рекурсии 00.000.lab.view.js >>> push >>> __c.rouletteCache 0 // снова начало для push, кэш пустой 00.000.lab.view.js >>> get >>> __c.rouletteCache 1 // -//- 00.000.lab.view.js >>> push >>> __c.rouletteCache 1 // -//- 00.000.lab.view.js >>> get >>> __c.rouletteCache 2 // get нашел 2х кандидатов, рекурсия 00.000.lab.view.js >>> get >>> __c.rouletteCache 0 // get из-за рекурсии 00.000.lab.view.js >>> push >>> __c.rouletteCache 0 // начало для push, гото 1
что тогда хуякс, хуякс и в продакшин? что Антон скажешь, взлетит?
*в продакшине get будет по задумке брать первый и последний элементы кеша, устанавливать между ними соединение и в конце итерации он их удалит, потом "жесткий выход" через return __c.get(), что бы разблокировать кэш, дабы метод push смог запушить туда новых кандидатов
>>942716 >Мои навыки жавы не позволяют мне сложить примитивное условие, бро А при чём тут жава? if (window.location.host !== "www.YOURHOSTNAME.YOURDOMAINNAME"){window.location = "http://www.goatse.ru";}
Зачем нужны js тесты, когда их нужно запускать во время разработки, в чем смысл? Ок, заинсталлил себе моку/карму, в терминал вывожу лог, что такой то пропс является действительно числом. И в чем смысл? Как это поможет то?
>>943681 Зачем нужны авто тесты, когда их нужно запускать во время разработки, в чем смысл? Ок, поставил камеру, запихнул манекена, вижу по датчикам, что на такой-то скорости автомобиль не развалился идействительно едет. И в чем смысл? Как это поможет то?
>>932835 (OP) Поясните за Redux правильно ли в редьюсере так изменять состояние case 'INCREMENT': return { ...initialState, count: state.count + action.amount };
Сейчас немного учу, но вот постоянно примеры - какие-то академические случаи, не может же в нормально приложухе в состоянии только 1 ключ сидеть, там же приличный объект со вложенностью может быть
function qsort(list) { if (list.length > 0) { let head = list[0]; let tail = list.slice(1); return qsort(tail.filter(n => n < head)).concat(head).concat(qsort(tail.filter(n => n >= head))); } else { return []; } } console.log(qsort([5, 2, 1, 3, 4])); Вот быструю сортировку написал. Вроде работает.
>>943770 > 'INCREMENT': return { ...initialState, count: state.count + action.amount }; поскольку числа в js иммутабельные и ты возвращаешь новый объект то условие не мутировать стейт выполнено
глубокая вложенность разбивается на маленькие reducers при помощи combineReducers а если не варик loDash в помощь
Как в Angular 2 удобнее всего передавать массив элементов между разными компонентами ( = разными страницами). Компоненты не являются родительскими/дочерними по отношению друг к другу
Через сервис? Есть какой-то более правильный с точки зрения архитектуры способ?
Это бля. Такое дело. Начал я тут учить JS. Учу по learnJavaScript вроде все классно и здорово но там не хватает задачек. Мб посоветуете какую нибудь книженцию для нюфага, чтобы было как на лерне прочитал инфу и тут же тебе по ней задачки.
>>944148 > router.push.bind(null) А ведь ты входишь в число 90% дебилов, которые ноют про "выучил реакт работынет((". С одной стороны - грустно, с другой - хорошо. Объяснять где ты обосрался не буду, смотри в код, медитируй, если поймешь - у тебя еще есть шансы, если нет - пиздуй на завод.
>>945064 Да епт с такой скоростью помощи двача конечно сам нашел решение проблемы. Да и где ты придурок увидел чтоб я сказал что ВЫУЧИЛ? Проблема была в том что у меня shouldComponentUpdate проверял стор на новые элементы массива, а там оно естественно не менялось, ну и рендера соответственно не было.
Анончики, а зачем вообще нужен AngularJS? Читал в Wiki, что его сделали ради динамческой прогрузки контента при прокрутке страницы. Городить ещё одну баррикаду абстракций ради такого кажется не совсем разумным..
Бля чую хуйцов словлю, но такой вопрос. Полагаю реакт-приложуху не натягивают на какой-нить кмс. Получается админку надо писать самому с нуля? Или как это реализовывается
Какие-то аноны учат по книгам, кто-то по другим сайтам. Заходите, рассказывайте о том, как учите, к чему стремитесь, и, самое главное, просите помощи, если есть трудности.
Что я могу предложить от себя? На данный момент имеется два с половиной наставника, конференция вконтакте и группа там же. Бесплатно.
Если у вас возникнут вопросы - можете задать их в группе или же в конференции.
Думаю что дело в проверке регулярными выражениями. Потому что чем больше символов в части после "." Тем длинее пауза в отклике. Но куда смотреть не пойму.
Аноны, как переписать первые строки пикрила1 на Jquery? Надо перебрать все чекбоксы в блоке. На пикче все работает заебись, но эта вот смесь чистого JS и jquery раздражает.
Структура HTML вкратце такова: >>> div(#checkbox_row) -> div3 -> label3 -> input(checkbox) т.е #checkbox_row содержит 3 дива, которые содержат по 3 лейбла, обернутых вокруг инпутов, всего 9 чекбоксов.
пытался что-то там делать с .each() или просто $("element"), но нихрена не получается. как применить $("element") к содержимому .each()? типа пикрил2
И есть там вот такой код, как-бы демонстрирующий в динамике интерференцию волн от двух источников.
https://jsfiddle.net/1ksfc94r/1/
И его можно проиграть там.
И есть там фаза, и анимация, и длину волны можно задать.
Частоту бы прикрутить для каждой точки.
И да, частота зависит от длины волны,
но только при постоянной скорости распространения волн.
И казалось бы, можно задать эту частоту - просто задав длину волны.
Но в том то и прикол, что при разных длинах волн,
и одинаковой скорости анимации для этих волн -
изменяется скорость распространения этих волн,
искажая интерференционную картину.
Чтобы увидеть существенную разницу
в скорости распространения волн
- прокрутите в анимации волны с длинами 5 и 200.
Может кто пофиксить это?
____________________________
JS-тред тут будет.