Это копия, сохраненная 7 мая 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
И есть там вот такой код, как-бы демонстрирующий в динамике интерференцию волн от двух источников.
https://jsfiddle.net/1ksfc94r/1/
И его можно проиграть там.
И есть там фаза, и анимация, и длину волны можно задать.
Частоту бы прикрутить для каждой точки.
И да, частота зависит от длины волны,
но только при постоянной скорости распространения волн.
И казалось бы, можно задать эту частоту - просто задав длину волны.
Но в том то и прикол, что при разных длинах волн,
и одинаковой скорости анимации для этих волн -
изменяется скорость распространения этих волн,
искажая интерференционную картину.
Чтобы увидеть существенную разницу
в скорости распространения волн
- прокрутите в анимации волны с длинами 5 и 200.
Может кто пофиксить это?
____________________________
JS-тред тут будет.
var a2=Math.sin(2Math.PI((diag2 - t)/l2+f2/360));
eze nahoi
https://jsfiddle.net/1ksfc94r/5/
Ты треды читать умеешь или только сразу писать? Вот тут же было всё давно исправлено. https://jsfiddle.net/1ksfc94r/3/ Почему ты такой не внимательный?
>Как теперь задать эту частоту в полях ввода?
да я хуй его знает что тебе надо, вот я шо то сделал поясни что не так
https://jsfiddle.net/1ksfc94r/7/
Что кто думает насчет транспиляции? Норм или зашквар писать на транспилируемом языке (не в деве, а для себя) например вот этом http://livescript.net/
Meteor или Node.js + Socket.io + MongoDB + Vue.js?
Существует задача по созданию крупного проекта, веб-приложения с риалтаймом. Создавая новый проект в ВебШторме, уже почти нажав на "Node.js app" увидел ниже "Meteor App". Название понравилось, загуглил и тут полились кисельные реки о том, как же хорош Meteor. В нём уже всё с коробки, всё удобно, не нужно ничего настраивать, кода мало, садись и пиши. Можно ли запускать большое приложение на Meteor'е? И может ли он полностью заменить весь стек технологий, который я перечислил в начале?
Судя по тому что есть вышеописанные Vue и тд., Meteor не пошел в мейнстрим. Я бы не стал его использовать.
Ну он там вроде в отпе по лайкам на ГитХабе и отзывы о нём исключительно хорошие. И сама идея хороша, почему его не используют? Нельзя же опираться на мейнстрим. Нужно же разобраться в вопросе.
Как тригануть чтобы все прорендерелось?
Сейчас я прокручиваю все до низу, потом до селектора куда мне надо.
Уже как бы умею программировать, на жс опыта почти нет.
Мне бы разобраться с основами языка, работой с домом, на сладкое работа с svg и канвасами всякими.
Только без всяких фреймворков я не фронтендео и мне сейчас не нужно ничего кроме ваниллы + жквери.
И да, хочется чтобы до некоторой степени все же объясняли "почему" и "как оно работает", а не только "повторяй за мной такую хуйню".
javascript.ru чому тебе не нраица? там все это есть: основы, дом свг канвас xhr и прочая залупа, но текстом. почему ты пидор не хочешь текстом? почему такому пидару только видео подавай?
Не лезь, подумой!
Читай книгу "Николас Закас - JavaScript для профессиональных веб-разработчиков (3-е изд.) - 2015" эта книга получше будет так как там объяснены все мельчайшие нюансы, а на говнокурсах поверхностное объяснения.
Заниматься в любом случае буду по вечерам после работы, сил мало остается, тем более на жс -- учу потому что он всегда нужен, так-то есть много языков лучше и интереснее хочется правильно подобранную инфу в уже структурированном виде.
>>933418
Ну пидар на самом деле нет, ну легче мне видео воспринимается, что поделать.
MOOC'и с их интерактивностью, ачивкой в виде сертификата в конце вообще для меня идеальная форма обучения.
Про учебник который ты говоришь уже знаю, спасибо. А курсы их можно скачать где-то?
На русракере не нашел чот.
>>933457
Ок, заценим.
Курсы от itvdn неплохие только они платные, я на 100 гиг накачал по разным технологиям с торентов.
Вот про это что скажете?
https://habrahabr.ru/post/240219/
Гей-порнишки накачал.
>зато есть про легаси типа старых IE которое мне нахуй нигде не всралось, я легаси не буду поддерживать
Начальник скажет поддерживать значит будешь поддерживать.
Это мимокрок какой-то.
анон который спрашивал про видеокурсы
В личных проектах все будет радикально, на работе в разумных пределах, уломать забить хуй на IE ниже 10ки и на лису-хромог-сафари старше 2 последних версий я думаю что смогу (и даже там везде уже вебсокеты вроде есть).
Просто ты пидераха трусливая. Начальник грит, бббгеее. Сосеш небось у него, хех.
Во хуянсе.
в async function() {...}() this - undefined почему так? (пришлось сделать строку 14)
На странице есть объекты, их можно двигать мышкой. У каждого есть значение top="" left="".
Я хочу, чтобы в поле input внизу отображалось текущее значение этих свойств. Какой скрипт нужен, чтобы там циферки менялись, когда я двигаю объект? Подскажите!
БЛЯДЬ ПОМОГИТЕ С ВЕБПАКОМ ЖЁППУ ЖЖЕТ
Мне нужен простой проект с hot module replace и поддержкой jsx, es6, sass.
Проблема в том, что заготовки с гитхаба нихуя не работают, т.к. вебпак апнул вторую версию, плагины хуй знает что апнули и друг с другом конфликтуют. Простой как корыто заготовки нет.
Бля, я просто хочу пару часиков пообмазываться реактом, зачем вся эта боль, сука горит бля бля!
в том-то и дело, что все из коробки, ты сам ничего не можешь поменять. хуй знает, как там реализован сервер, перенастроить ты его не сможешь особо, только прописать методы и роуты.
когда он только появился, было много хайпа, новое слово прям в вебдеве, а после все поняли, что не так уж он и хорош.
короче, братан, лучше собери конструктов свой сам, чем используй черный ящик, в особенности на крупном проекте
пох на деанон, держи мой бойлерплейт, сам готовил
https://github.com/yanislav-igonin/express-react-hot-webpack-babel-template
зис. вообще крупные компании не используют фреймворки, а сами свои наработки юзают, это о чем-то да говорит. Имхо backbone.js допилить под свои нужды и будет тебе все что хочешь и не только.
Там хрень какая-то. Вариант 7. Не отображается ничего. Ни статичная интерференционная картинка, ни анимация.
На 6-м варианте — норм. https://jsfiddle.net/1ksfc94r/6/
Тест:
Длины волн 10, 100; Фаза - 0, 0. Скорость - 1;
Длины волн 100, 100; Фаза - 180, 0. Скорость - 3;
>>932958
Вот здесь — скорость распространения волны исправлена.
Но там нет частоты. Эта ссылка висит в треде там >>933024 на /sci.
Не смотрел там скорость до создания этого треда.
Если здесь, https://jsfiddle.net/1ksfc94r/1/ - скорость распространения волны, зависит от её длины,
при одинаковых частотах колебаний источников, то в 3-м варианте, и варианте >>932913-куна
скорость распространения волн - уже фиксирована, и от длины волны зависит частота колебаний этих источников.
https://jsfiddle.net/1ksfc94r/6/ здесь - изменяется скорость анимации.
У волн есть следующие параметры:
λ = vT; где λ - длина волны, v - скорость распространения волны, T - период колебаний.
T = 1/f; где T - период колебаний, f - частота колебаний.
λ = v/f; связь длины волны с частотой, через постоянную скорость распространения волны в среде.
v = λf; скорость распространения волны (не путать со скоростью анимации).
f = v/λ; частота колебаний источника через длину волны, при фиксированной скорости распространения волн в среде.
И это всё - для каждого конкретного источника колебаний. Но там два источника.
Хотелось бы иметь возможность если не прямо задать каждый из этих параметров,
то, хотя-бы, рассчитывать и отобразить их в полях ввода, если значения фиксированы.
В идеале, поле со скоростью распространения волны, если она фиксирована - disabled,
поле с частотой - значение в зависимости от длины волны, через скорость распространения волны рассчитывается.
Его можно изменить, но тогда перерасчитывается через скорость и длина волны сразу.
И так, для каждого источника. Короче, блядь, если не задать, и если не изменить, то хотя-бы вывести эти грёбанные значения.
Там хрень какая-то. Вариант 7. Не отображается ничего. Ни статичная интерференционная картинка, ни анимация.
На 6-м варианте — норм. https://jsfiddle.net/1ksfc94r/6/
Тест:
Длины волн 10, 100; Фаза - 0, 0. Скорость - 1;
Длины волн 100, 100; Фаза - 180, 0. Скорость - 3;
>>932958
Вот здесь — скорость распространения волны исправлена.
Но там нет частоты. Эта ссылка висит в треде там >>933024 на /sci.
Не смотрел там скорость до создания этого треда.
Если здесь, https://jsfiddle.net/1ksfc94r/1/ - скорость распространения волны, зависит от её длины,
при одинаковых частотах колебаний источников, то в 3-м варианте, и варианте >>932913-куна
скорость распространения волн - уже фиксирована, и от длины волны зависит частота колебаний этих источников.
https://jsfiddle.net/1ksfc94r/6/ здесь - изменяется скорость анимации.
У волн есть следующие параметры:
λ = vT; где λ - длина волны, v - скорость распространения волны, T - период колебаний.
T = 1/f; где T - период колебаний, f - частота колебаний.
λ = v/f; связь длины волны с частотой, через постоянную скорость распространения волны в среде.
v = λf; скорость распространения волны (не путать со скоростью анимации).
f = v/λ; частота колебаний источника через длину волны, при фиксированной скорости распространения волн в среде.
И это всё - для каждого конкретного источника колебаний. Но там два источника.
Хотелось бы иметь возможность если не прямо задать каждый из этих параметров,
то, хотя-бы, рассчитывать и отобразить их в полях ввода, если значения фиксированы.
В идеале, поле со скоростью распространения волны, если она фиксирована - disabled,
поле с частотой - значение в зависимости от длины волны, через скорость распространения волны рассчитывается.
Его можно изменить, но тогда перерасчитывается через скорость и длина волны сразу.
И так, для каждого источника. Короче, блядь, если не задать, и если не изменить, то хотя-бы вывести эти грёбанные значения.
Ну подскажите как файл прочесть, не может быть чтоб тут не знали это люди.
> короче, братан, лучше собери конструктов свой сам
Вся суть жс-мартых. В сириус интерпрайзах наоборот стараются использовать стандартные, проверенные временем решения.
"стандартные, проверенные временем решения." и "свои инструменты" в сириус энтерпрайзах по большей части совпадают.
Да ладно.
Мы спорим просто из-за размытых терминов.
Я имел ввиду MS с их .NET, Oracle с БД и жавой, фейсбук и с их собственным фреймворком и даже языками, ну и так далее.
Я тоже считаю что js в целом говно как и большинство остальных скриптовых языков, только все равно от него никуда не денешься, разве что съебать вообще из веба нахуй. И то не факт.
Уверен ИТТ не я один так думаю, так что твои заходы про js-макак не вполне справедливы.
по моему прекрасно справляется со своими задачами. в es2017 вон уже даже async\await завезли, не говоря уже о классах и модулях которые с es2015 есть. плюс ко всему огромное сообщество, как следствие есть куча всего, просто берешь и ставишь через охуенный npm.
а в чем он говно? можно по подробнее?
В той же джяве пердолят дедовские EE и Spring, а не изобретают по три модных фреймворка в год.
>>934056
> куча всего, просто берешь и ставишь через охуенный npm.
Действительно, как остальные живут без таких охуенных библиотек как leftpad.js, isArray.js, isFunction.js
зачем ты ставишь лефтпад, сам не можешь написать? мне вот больше понравился webpack
> зачем ты ставишь лефтпад, сам не можешь написать?
Спроси у разработчиков реакта и кучи других писек, которые с ним проебались.
язык развивается и постепенно пилится стандартная библиотека и нормально что в процессе вылазят такие костыли. что в этом катастрофичного?
Но ведь костыли как были, так и есть, а стандартная библиотека всё то же говно.
>стандартная библиотека всё то же говно
Это все компенсируется быстротою работы языка. Потому он везде и используется. А всякие пайтоны, асп, руби и прочие, никак не могут обогнать js.
ой да иди ты нахуй http://exploringjs.com/es2016-es2017/ch_string-padding.html лишь бы попиздеть да на жизнь пожаловаться, терпила блять.
пишу SPA без jquery, на reactjs. ну ладно реакт не требует джквери, но у меня написан модуль для общения по вебсокету которая не требует джквери. что я делаю не так!?
Во, с твоим конфигом заработало, спасибо!
getBoundingClientRect()
потому что readAsText асинхронный
Да, вот ещё...
Синфазные колебания усиливаются, противофазные - ослабляюстся.
Имеются в виду колебания, между источниками, по прямой их размещения.
Надо бы выделить эти усиления и ослабления яркостью или контрастностью цвета,
поскольку амплитуда колебаний не видна сверху.
Также, при различных длинах волн, и частотах,
могут появляться сложные волны и волновые пакеты, как на 2-м пике.
Возможно ли это отобразить корректно в анимации?
Я написал на джсе простенький тетрис и теперь чтобы он из себя хоть что-то представлял как часть портфолио, хочу переделать его из модульной архитектуры в MVC (я в курсе что это паттерн и надо сходу писать, но я хочу освоить с такого ракурса).
Соответственно вопрос в раскидывании функционала по файлам контроллера-модели-представления.
Правильно ли я понимаю, что вся логика должна быть в контроллере (функции которые вызываются при нажатии кнопок)? Во вьюхе будет только функция отрисовки поля, а в модели только массив(по которому и строится моё поле).
Но ведь жс тормозное говнецо и до сих пор не научилось в потоки, в отличие от джявы и си-решеточки.
>>934199
А isArray?
Ну ты тупорылый дебил блядь, во всем не могут, и в серверной части и клиентской. Потому сейчас используется реакт, ангуляр, ноде и т.д.
Модель (Model) предоставляет данные и реагирует на команды контроллера, изменяя свое состояние.
Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели.
Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений.
Почаны. Надеюсь, я зашел туда
Короче, пилю плагин для скачивания музыки с вк.
Прошлый работал, но вот с новым дизайном пришла и новая архитектура, которую не могу осилить.
В общем, трабл в том что :
1) У плагина хрома изолированный джс-скоуп, могу только до ДОМа добраться из него
2) У треков ВК есть дата-атрибуты. По идее из если из него достать урл трека то дальше дело за малым.
3) урл трека достать не получается, как он там время от времени оказывается - вообще хуй знает, да и не суть.
4) в ВК имеется свой аудио - объект, в нём есть полно методов, но из всех мною опробованных ни один не прокатил . Да и добраться до него из плагина тоже не получается
Подскажите, пазязя, в какую сторону двигаться?
Да, спасибо, базовые данные у меня уже были. Вопрос в том, где должна быть логика изменений модели, в контроллере или в ней самой?
> Правильно ли я понимаю, что вся логика должна быть в контроллере
Нет, контроллер должен быть как можно тоньше, это адаптационный слой: https://ru.wikipedia.org/wiki/Model-View-Controller#.D0.9D.D0.B0.D0.B8.D0.B1.D0.BE.D0.BB.D0.B5.D0.B5_.D1.87.D0.B0.D1.81.D1.82.D1.8B.D0.B5_.D0.BE.D1.88.D0.B8.D0.B1.D0.BA.D0.B8/
Логику нужно помещать в другое место. Например у тебя может быть клавиатурный контроллер, который принимает нажатия кнопок и просит модель обновиться соответствующим образом, и может быть контроллер мыши. Может быть ещё консольный контроллер для управления программой через консоль браузера. Если логику помещать в контроллеры, то их придётся дублировать для мыши, клавиатуры, консоли.
Та шапка гуглится легко, висит на гитхабе. Алсо в ней есть слова из спам-листа (спасибо Абу), если попытаешься создать тред с той шапкой, тебя забанят. Со мной именно это произошло.
Спасибо, а "другое место" - это какое? Отдельный файл помимо model/view/controller.js?
Выходит так, что страница загружается только при переходе на '/'. Если перейти сразу на 'localhost/link', то 404. Я так понял, нужно каким-то образом парсить url и превращать её в state приложения. Но гуглинг не дал результата, так как приложение, а соответственно и роутер, загружается только на рут-ссылке.
Есть идеи?
во-первых нужно настроить бэк, потому что он в первую очередь смотрит на роутер
во-вторых перейти на html5mode
например: https://groups.google.com/forum/#!topic/google-appengine-stackoverflow/bTtMXv57Adc
Ну, контроллер изменяет модель, а модель изменяется, реагируя на команды контроллера.
Между ними - связь.
"ученые предложили управлять роботами не с помощью команд в режиме реального времени, а с использованием мини-программ, которые аппарат с искусственным интеллектом самостоятельно реализует в автономном режиме."
http://kp.crimea.ua/2017/02/15/rossijskie-uchenye-izobreli-novuyu-texnologiyu-upravleniya-robototexnikoj-v-kosmose/
Если рассмотреть мобильного космического робота с искуственным интеллектом как модель, управление - как контроллер, а программы - как команды, то очевидно, что для установления и обеспечения корректной связи, в контроллере должна быть логика формирования команд, а в модели - логика обработки этих команд (загрузки программ в данном случае). Сам же контроллер - просто интерпретирует действия пользователя (в твоём случае).
Допустим у меня есть bundle App и bundle Components.
App юзает реактовые компоненты из Components.
Мне нужно _всегда_ загружать Components, а App только на определенной странице. Как?
А тут многим бомбит от современного состояния веб разработки в целом?
Ой да ладно, кому охоту учить ещё одно бесполезное говно, которое делает абсолютно тоже самое.
Один день на хелло ворлд, один день для полировки и ты знаешь, как 90% коммьюнити этого фреймворка. И какие-то дауны ещё умудряются гордиться этими знаниями.
Какие из модных самых модных фреймворков не кажутся вам говном?
О, вижу половина треда уже ебётся со вторым вебпаком. Ну что, полезная удобная и понятная вещь, да? А как вам открытые issue на гитхабе? Зачитаешься.
А вы бордерплейт скачайте с конфигом на весь экран. Я так и сделал
>Спасибо, а "другое место" - это какое?
>Отдельный файл помимо 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/
>Если логику помещать в контроллеры, то их придётся дублировать для мыши, клавиатуры, консоли.
Ну, чтобы так не делать.
> Какие из модных самых модных фреймворков не кажутся вам говном?
Нет таких. То что не кажется говном уже не модно.
так не юзай его, тебя заставляют что ли?
Вместо from packageName import moduleOne, two сделали import name, second from packageName
Это ведь не удобно и вообще не логично.
Пишу хэллоуворд, не могу импортировать feature модуль в основной, пздц, чувствую, что стыдоба на таком фэйлить, но победить сам не смогу)
хм, знать бы какую ошибку выкидывает
но мне кажется что в
import { TemplateModule } from './template/template.module';
неправильно подключен твой модель на экспорт
Чекни что именно по этому пути точно есть экпорт, в общем
попробуй
export default class TemplateModule {}
А вообще хз, это точно после подключения твоего кастомного модуля вылазит?
Да, я наркоман - компоненты есть в бустрапе и экспорте, но в декларации их нет Т_Т до меня 2 дня доходило
from requests import get
from json import dumps
print(loads(get("https://api.server.com/").text))
>>934459
Но концептуально-то логика всё равно в контроллере? Не важно, дублирован там код или нет, по каким файлам распихан и т.д.
Реактаны, помогите!
имеется такой код https://jsfiddle.net/55qgof3f/
через bower установил реакт и бабел, запускаю все через live-server , но рендерится только базовый html - то есть без реакт шедоу ДОМ.
Причем если в джс фале добавить что-нибудь вроде алерта, то он отображается корректно (значит и джс грузится). Но не добавляется рекатом никаких элементов новых.
ЧЯДНТ?
крестноносцы, реакт походу не грузится
что с этим делать?
лол, блять, я ебался с этим два часа, а надо было просто поменять реакт и реакт-дом местами
ну что я за уебок или лицокнигапидоры?
Что за хрень? Разве это так работает? Почему this это контекст объекта, а не функций open и send?
Если ты подразумеваешь под понятием логики - функции интерпретации действий пользователя,
направленные на изменение модели, то да.
Но если логикой в твоём понимании являются сами
команды от контроллера, которые поступают на модель,
то контроллер является передатчиком, а модель - приёмником.
А логика у них - общая. Между ними - связь.
Можешь взглянуть на систему команд процессора.
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/this
https://habrahabr.ru/post/149516/
https://learn.javascript.ru/bind
Читать до просветления.
накостылил рест сервер на ноде - предложили вкатиться за 70к. Я успешен? Через годик не пожалею, если соглашусь? Не ДС.
Это я просил с вебпаком помощь. Не то что бы он мне пиздецки необходим, просто комфортнее с хотрелоад кодить, ни и тип удобно, что я могу создавать компонент как папку, в которой лежит jsx и scss файлик, которые автоматом собираются в проектик.
Но вообще согласен, что изучение вебпаков, гульпов ну и т.п. - есть отдельный предмет специальной олимпиады.
p.s. полгода назад по гайдам вообще без проблем настраивал вп (но тогда он первой версии был и конфликтов не возникало)
я тебе завидую
Есть страница: https://www.gismeteo.ru/weather-moscow-4368/3-days/
В ней JS генерит svg#svgtemp
Можно как-нибудь отдебажить, кто именно генерит этот тег и по каким данным?
Уже не надо :-(
Да я просто то в один язык потыкаюсь, то в другой. В итоге в голове мешанина. Достаточно строчки о контексте вызова. Спасибо.
>>935013
Нахуя вы отвечаете на ветки, к которым отношения не имеете? Блядь читаешь как-будто берд сумасшедшего
мне одиноко, поэтому я всегда пишу ответы.
Внатуре, как тут отобразить конструктивную и главное - деструктивную интерференцию, когда один из источников в противофазе?
Конечно, может сервер и одну букву выводит, но мне так не кажется, я думаю, что север отдаёт полную фамилию и уже скриптом она замазывается. Как грамотно отследить этот процесс?
а мне кажется по-другому
Не думаю что разрабы ок на столько долбаебы
Right Click - Просмотреть код
1) По клику на канвас запоминается стартовая позиция
2) По срабатыванию mousemove на канвасе рисуется прямоугольник от стартовой позиции до той, что под курсором.
Прямоугольник рисуется средствами canvas: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/rect
То есть мне приходится каждый раз перерисовывать весь канвас, чтобы создать эффект динамически меняющегося прямоугольника. Вопрос: как правильно делать такую штуку? Подозреваю, что оптимальней не перерисовывать канвас, а менять top/left/right/bottom у абсолютно спозиционированного элемента поверх канваса.
В общем, я хочу запилить сайт, который будет через апи другого сервиса будет брать определённые данные и выводить их у меня.
Как такое строить?
Спасибо за рекомендацию.
Открыл первый попавшийся урок с наибольшими лайками и увидел это.
Это говнокод?
Я не секу в вебе, но на человеческий языках программирования я бы объявил класс, потом создал бы объекты класса и присвоил им нужные значения.
Ну или хотя бы создал ассоциативный массив. А хдесь вот это вот непонятное что-то.
кажется я начал понимать почему от веба бугуртят, оказывается говнокод выше - это не говнокод, а обычный массив объектов
ты чо злишься так?
хуйня вопрос, делай следующее:
ставишь на комп ноду и нпм
ставишь ярн
ставишь бабел и пишешь бабелконфиг
ставишь еслинт эхкстендишь конфиг от эирбиэнби и пишешь еслинтконфиг, вешаешь хук на прекоммит
ставишь вебпак и пишешь два конфига один под прод второй под дев, на деве не забываешь поставвить вебпакдевсервер и настроить хатрелоад, на проде не забудь бить код на чанки, углифай, критикал си эс эс
инитишь гит, добавляешь гитигнор
не забудь ярн лок в репу
потом корочи ставишь дев зависимости бабель-кор, бабель-лоадер, бабель-плагин-трансформ-обджект-рест-сприд, бабель-пресет-2015, бабель-пресет-реакт, вебпак, вебпак-дев-сервер, сиэсэс-лоадер, стайл-лоадер, стайл-экст-эйчтиэмэль-вебпак-плагин, лесс или сасс, лесс или сасс лоадер, еслинт, еслинт-конфиг-эирбиэнби, еслинт-плагин-импорт, еслинт-плагин-реакт, экстракт-текст-вебпак-плагин, эйчтиэмэль-вебпак-плагин
потом корочи зависимости материал-юай или реакт-мдл-юай или бутстрап, нормалайзр, реакт, реакт-дом, редакс, реакт-редакс, реакт-роутер, реакт-тэп-эвент-плагин, редакс-тсанк, дабльюашэйтидаблюджи-фетч
для удобства в нпм скрипты алиасы, но вызывай все через ярн потому тчо так круче
короче делаешь папочки там контейнеры компоненты экшены стор миддлверы, редбюсеры еще и утилзы и понеслась короче пиши код твори пили сайт который будет через апи другого сервиса брать определенные данные и выводить их у тебя, строй его.
простите, заебал этот веб
Ты серьёзно или стебёшься? Как по мне, если вливать столько дермища, то чистый js будет работать намного быстрее.
тем более я видел аналогичный ресурс на чистом js, который создан ещё в далёкие годы, и всё отлично работает.
На бэкенде делаешь модуль, который общается с другим сервисом и делает необходимую работу. К нему делаешь рестфулл апи. Фронтом общаешься с этим апи.
Делал, не покатит.
При большом наплыве пользователей слишком большая нагрузка на сервер, да и к тому же апи имеет ограничение на количество запросов, придётся что-то делать, чтобы это обходить, поэтому лучше пусть запросы идут со стороны пользователей.
К тому же все аналогичные сервисы так же реализуют всю работу на стороне пользователя, значит в этом есть какой-то смысл.
Вообще у меня родилась идея вкинуть задания на фриланс, упростить это всё до невозможности, разделить и пусть рабы хуярят за копеечку, а потом уже самому всё это соединить.
В чём проблема прописать CORS и делать запросы из браузера?
Я специально так написал, чтобы местные обезьянки хоть что-то поняли.
Зато зарабатывают деньги меньшим напряжением и усилием и есть время для отдыха и путешествий, вместо того чтобы до ночи искать баг в нейросети.
анимированые сайтики делаешь?
я хочу по поводу этой либы узнать
http://angular-slider.github.io/angularjs-slider/
мне бы выделить в стилях активный элемент, да вот только класс rz-selected чето не ставится. хотя директива ng-class есть
сделал на кошернейшем реакте, но имет и ангу и реакт на одном фронте как то хуевато, а 9/10 уже написано на ангуляре, так что бамп
бумп жиесть
http://jsfiddle.net/fbok9c6s/1/
как подкрасить выбранный степ ? В инете ниче не гуглится, а это значит я ебусь с тем, что не является проблемой
https://jsfiddle.net/1ksfc94r/6/
Тут, вместо setTimeout(function(name), 0);
юзается setInterval(function(name), delay);
, так что глянь...
Блять, опечатался, я про него и говорил, вот только мне кажется этот подход не совсем правильный. Вопрос остается открытым
Окно браузера использует единственный поток исполнения, который производит разпознавание HTML-кода, управление событиями и выполнение кода на JavaScript.
http://javascript.ru/tutorial/events/timing
settimeout(func, 0) - значит не использовать тай-маут.
Можешь открыть, вроде-бы другой поток.
http://html5ru.com/parallelnye-vychisleniya-na-veb-stranice.html
Вот у меня есть набор элементов. К примеру, при клике на один из этих элементов должно что-то произойти с этим же элементом. Как это по-человечески делается? Как обработать клик по одному из множества элементов?
http://jsfiddle.net/p67gh3dk/3/
Какой язык программирования? В чём твоя проблема?
Один поток, и он блочится при выполнении бесконечного цикла, так?
Открой другой поток, в котором цикл пустишь этот свой, и settimeout сделай 0 там, чтобы бесконечно было.
Вместо цикла - можешь юзать функцию проверки задачи и добавления её в очередь, запускаемую через setinterval периодически. Указываются миллисекунды.
http://javascript.ru/setinterval
Очередь на ноде...
Нода - это сервер? Redis на сервер ставят, как я вижу.
А JavaScript в браузере у клиента выполняется, традиционно.
А чтоб на сервер транслировать надо JQuery, что-ли? Не пойму чёт.
Проблема в том, что у меня в паре контроллеров и директив есть $scope.$on(), но до этих строчек код доходит уже после того как сигнал послан и он е обрабатывается. А сам сигнал вызывается после http запроса из app.run()
Анон, ты это почти я. Для себя я решил вкатываться в ангуляр2, т.к. тебе предоставляется готовый инструмент на все случаи и ты можешь стартовать с места в карьер. Но если тебя интересует такой же библиотечный подход, когда ты просто подключаешь либу и работаешь (ты же привык уже к jquery, верно?), то можешь копать в сторону реакта - ты будешь независим от конкретных сборок и можешь сам решать, что будет включено в твой проект, а что нет. С ангуляр ты привязан к его архитектуре и решениям вшитым в нем. У каждого подхода свои плюсы и минусы. Я пока изучаю только базу, поэтому не могу сказать тебе что-то более конкретное.
Как мне реплаить определенному пользователю, как только тот твитнет?
Однако прикол в том, что там говно мамонта, а не сайт. Сайт сверстан на таблицах и верстка невалидная и у меня возникли проблемы с его парсингом в чисто ноде.
Однако в nwjs получается неплохо, но как я понимаю, ей для работы нужен гуй и на серваке оно просто так не запустится.
Что вы можете предложить для этого?
Фреймворки - только для одностраничных приложений, в остальном или чистый js или джиквери. Если тебе полтора запроса на аяксе нужны, то собственно зачем тебе иммьютабл и вес страницы в несколько мегабайт? Вообще надо бы представлять, что тебе нужно от страницы. Часто заказчики сами не представляют и поэтому швейцарский нож в виде фреймворка упрощает дальнейшую переработку и колупание в функционале, в остальных случаях имхо не нужно.
либо headleess браузер.
либо nwjs\electron на сервере запускай через обертку, эумлирующую искы (я забыл как называется погугли, она позволяет гуи прилаги запускать как хеадлесс).
http://caniuse.com/#feat=es6-module
ты че 20 минут в вебдеве ? Мож тебе рано импорты/экспорты
Почти, две недели во фронтенде, после жабы долго не мог понять, почему для того, чтобы включить в стандарт такую тривиальнейшую вещь, как модули, понадобилось аж 15 лет
Посмотрел немного, react побольше понравился вроде как. У ангуляра смутило что есть уже несколько версий полностью отличных друг от друга.Vue это слишком ново наверное, да и вакансий у нас на рынке нет и информацию и какие-то готовые решения по нему будет сложнее искать.
>>936094
Так я и юзаю шаблонизатор dot.js и мне вроде как хватает. Но хочется попробовать что-то сложнее и с другим подходом. Мне просто казалось что мы используем то что используем от части потому что старшие коллеги немного застряли возможно.
а нахуй ? В смысле 15 лет назад у js было два метода alert и confirm а с появлением jQuery появились и подходы типа AMD/Require
function printIt() {
console.log(`${this.props.name} is clicked`);
}
const Button = (props) => (
<button onClick={printIt} > {props.name} </button>
);
в родительском файле компоненту передается свойство name со значением, пусть будет Click me
Как мне передать контекст this в данный компонент, чтобы в консоли выводилось Click me is clicked
Велосипеды, обратная совместимость, динамичность.
https://hackernoon.com/node-js-tc-39-and-modules-a1118aecf95e
А чому jquery мертв ?По моему это самая удобная библиотека с самым удобным интерфейсом.
this родителя не надо передавать, но ты и так не передаешь, а передаешь ты name и он в потомке = props.name.
допустим родитель такой:
...
return (
<ChildComponent name="me"/>
);
тогда в потомке, в props.name ты получишь "me"
Потому что главная цель jQuery – ускорить разработку в условиях кроссбраузорности. Сейчас под IE-8/9 почти (ну не совсем) никто не разрабатывает, соответственно jQuery не нужен.
Почему не производительные? Кинь пару сравнительных перфов.
Вообще это задача хром и сафари тим, они при в рантайме должны думать о перфомансе нативного функционала JS.
Раньше тоже боялись использовать .bind, или длинных цепочек прототипов. Сейчас все это оптимизировано в браузерах.
TypeError: e.nodeName is undefined
Что за хуйня? Не один ли хуй, каким синтаксисом для анонимных функций я пользуюсь, это же просто сахар?
Жсфиддл: https://jsfiddle.net/q3Lapjzo/
Синтаксический сахар.
Ничего замуженного.
Или по твоему лучше было как раньше каждый раз писать
>var self = this
>ololo(function(){ self.fomeThing })
Или
>ololo((function(){this.someThing}).bind(this))
Вместо
>ololo (i => {this.someThing})
если ты не видишь сути юхкейса, то у тебя просто слишком мало опыта.
никак
>дебри залез и почитал про CSS
делай в css просто классы .hover .active и тогли на элементе по необходимости
тем более :hover на сенсорах не работает, так что профит безграничен
import/export часть спецификации es
чтобы это работало в браузерах, должны допилить module loader api которые не часть спецификации es, а часть webapi
Так что все вопросы к w3c, js тут не при чем, ровно как и браузеры.
Так не делают.
Туглят просто класс, отслеживая mouseover\mouseout - это ховер, а active это mousedown.
Через CSSOM как ты хочешь, никто таким не занимается. Это неправильное решение изначально.
Ты не с той стороны подходишь к решению задачи и сам выдумываешь себе сложности поэтому.
Похоже дошло.
Нужно прописать функцию через mousedown, которая будет просто менять текущий бэкграунд-колор, а не псевдокласс. А там уже через ветвление в зависимости от моих условий выбрать какой цвет мне нужен. А псевдоклассы из css-файла вообще просто убрать. Сейчас попробую.
а если же ты пишешь какого-нибудь бота и хочешь эмулировать действия поользователя, и для этого триггерить всякие :hover, то обычный браузер тебе это не разрешит, ибо это небезопасно.
Для того надо юзать самосборные браузеры, млм какие-нибудь платформы типа электрона.
Вообще, правильная политика все визуальное формление (цвета, фон, шрифты) все это прописывать по максимум в css.
А из js работать по событиям только с логикой. А чтобы по этой логике менялось оформление, то туглить классы.
бекенд по вебсокету шлет данные ОДИН раз (проверено), либа получает и эмитит ОДИН раз (проверено):
e = new CustomEvent('update-gamelist', {'detail': response});
document.dispatchEvent(e);
в компоненте логгируется ДВА раза (строка 76) http://pastebin.com/QAdxQZtZ
Game list update: ...
Game list update: ...
где я накосячил?
похоже дело в CustomEvent... пока не могу понять в чем именно, но сделал костыль для redux что бы обрабатывал входящее сообщение и стало ОДИН раз)
Вообщем решил вопрос. С туглами пока не делал (т.к стараюсь на нативном сделать, а понятно только с jQuerry).
Приблизительно как анон выше написал. Повесил на кнопку в html коде в блоке с элементом
>>onmousedown = "mouseDown()"
А потом в JS коде создал функцию, mouseDown, которая в зависимости от состояния некоторых параметров присваивает необходимый мне цвет элементу.
тугл это нативное.
element.classList.toggle
element.classList.add
element.classList.remove
element.classList.contains
Мир не заканчивается на вашем jquery. Учитесь смотреть шире, и читайте маны.
Да я стараюсь вообще ее не использовать.
Но из-за того что весь стак оверфлоу засран реквестами по jQuerry что-то на нативном бывает и тяжело найти.
БТВ, покопался немного в коде макабы, местами проиграл.
MDN хватит всем
антоша, пиздуй в свой тред если ты еще живой
https://2ch.hk/sci/res/401664.html (М)
>>405034-кун
так ты гугли remove class javascript vanilla\native
первой же ссылкой выдает
https://codepen.io/tylerama/pen/nLFHt
видишь методы
this.classList.contains
this.classList.remove
гуглишь их, профит
Вот это и нужно было, спасибо анон, ты мой бог
Однопоточность это преимущество, даунитос, а еще завезли воркеров.
Иди нахуй с поддержкой осла, осел.
Кому ты пиздишь то, дебил.
>>937614
Еще что-нибудь скажешь? Или так пизданул, не подумав? Я в серьезном тупике и помощь была бы весьма кстати.
Вот еще вопрос из области возможного солюшена(хотя переписывать дохуя придется) - если реакт после загрузки пейджа идет по страничце и сует все в виртуал дом, а 99 из 100 компонентов идут со стейтментом, согласно которому компонент не должен отображаться, то он ведь их не засунет в дом и самое главное, это ВЕДЬ НЕ ОТНИМЕТ дохуя производительности? Я уже думаю все реализовать через стейтменты хранящиеся в сторе. Нахуй мне безрукий роутер от говноректщиков нужен, если он костыльное говно без задач в спа?
Такое ощущение, что борда окончательно сдохла, поговорить не с кем.
Соснешь хуйца с поддержкой мелкомягких ниже 10. Держи, я тебя прикрыл.
fuckYou.className = fuckYou.className.replace(/\bshitty-style\b/g, "");
Есть у меня объект с кучкой функций (типо неймспейс такой)
вроде
obj () {
a: function ( argument ) { ... }
}
потом есть такая штука типо function filter ( argument ) { ... }
и я хочу чтобы
a: function ( argument ) {
argument = filter( argument );
...
}
но чтобы при этом не писать это в каждой функции внутри obj
можно так?
Попробую другими словами
Мне нужно все вызовы функций, являющихся свойствами одного определенного объекта, пропускать при вызове через другую определенную функцию, и при этом сократить повторения к минимуму.
Возможно я не тем путем иду, и нужно делать через прототип, а не голый объект.
Ебанутый?
Ты netscape случаем поддерживать не собираешься по дефолту?
Для таких случае есть полифилы. А сама поддержка неподдерживаеммых платформ пропорционально увеличивает стоимость разработки.
Так что глотай, маня.
>нужно делать через прототип, а не голый объект
Да еще забиндить можно, если очень хочется.
https://learn.javascript.ru/bind
Proxy
что ты в доках хочешь увидеть?
табы никак иначе не реализовать кроме как перемены классов или внедрения инлайн стиля (display, z-index, position и тд и тп)
тебе просто в стейте нужно хранить имя активного таба, а в компоненте написать что-то типа: если в стейте активно моё имя, то назначить мне класс актив
мимо сеньор си/ассемблер девелопер
Уебушка, когда начнешь писать не в стол под мамкин борщик, то поймешь, что говно вроде ие8-9 приходится поддерживать, на каждый чих полифилл заебешься ставить, бабел тебе по губам с класслистами проводит. Проще регекспы знать, но ты лошара, не поймешь.
Ебать ты гений. Это очевидное решение, но у меня есть вопрос по производительности - когда я вывалю на клиент сайд свой файлик с джс и реакт начнет пихать все компоненты сразу в виртуалДом, а их около 100-150(действительно большим компонентам с кучей логики), с версткой и прочим, то не просядет ли клиентское пк, а точнее его браузер. которые тупят даже если вкладка 200 метров жрет? Если шаришь, то подскажи.
По заданию: изначально при запуске на экране существует только два инпута (сверху на картинке). Вводим в инпут слово, жмем Add и ниже в дом динамически добавляется див с заданным в инпуте стрингом. И все повторяется, если вновь задать инпут и нажать add (добавляется еще ниже в дом, сразу под прошлый элемент.
Если нажать на "+", то такой же элемент вставляется как указано на рисунке (с отступом и под вызвавшим его родителем, зеленые элементы добавляются под желтым, красный добавился после нажатия на зеленый).
Я понимаю, что сам этот новый элемент это вроде как компонент, который должен динамически добавлятся в дом, но не могу найти как такое делается в ангуляре. На JQuery был бы метод .append, а тут совсем не понимаю.
Какова технология и что лучше почитать что бы понимать как такое реализовывается?
Ты несешь хуйню, баран, чего там судить. Очевидно, что ты шкальник с борщем, который "пишет" "проекты" на модных библиотеках\фреймворках\языках. Потом кладет полученное говно в стол и идет ныть в МЫ ВАМ ПЕРЕЗВОНИМ треде. Не то, чтобя я тебя осуждал, сам таким был пару лет назад, но пошутил ты как петросян с хуем во рту.
Продолжай проецировать, даун. Это отлично демонстрирует твой уровень интеллекта.
блин, вот лента.ру написана на реакте, на слабом компе (2.7 ггц 4 озу) при загрузке она вешает хром на 20 секунд (при условии, что ещё пару вкладок открыто). Крупный информационный портал ложил хуй на бардак в компонентах, ты чего волнуешься? ))
И сколько у тебя бандл весит?
1.8 метра пока, но это на 10% реализации компонентов и без оптимизации вебпаком + сжатия со стороны серва. Вес меня мало волнует, меня волнует сможет ли браузер переварить много компонентов с логикой, которые он попытается в виртуалдом пихнуть разом.
Анус твой даун, фуфел. Услышал про проекции и давай лепить направо и налево, вот же ты ебанько.
в хероку не работает комманда в консоли, и на стэк оверфлоу решения моей проблеме нет
майкрософт эжо просит кредитную карточку для аутентификации, а она у мну заблокирована
в хerve.io (бывший ноджицу) не могу залогиниться, несмотря на то, что аккаунт верифицирован
оупэн рэдшифт отказывается деплоить что-либо, кроме репозиториев в гитхабе, а у меня нету вообще
чё делать? чем ноуд.жс бесплатно хостить можно?
или сайт на похапэ.пайтон переписывать придётся?
харашо ты делаеш по срака езыком, хех
до этого только джквери и вот решил изучить чем живет современный веб...
Нихуя ты не понял, если не расписал тут суть, что ты понял. Своими словами, простым языком, тот самый дзен, который ты там познал. Не написал? Значит просто прокукарекал и ничего не познал.
Объясни дауну, который не понимает, зачем нужен редакс. Контейнер состояние, что кроется под этим словом
Редакс - как монада - если по-настоящему понял, то уже не можешь объяснить.
тупо состояние и ничего больше. это самодостаточная штука, вкупе с "действиями" и редьюсерами это мощная самодостаточная штука.
>>938148
ну вот смотри: у тебя есть компонент "хуй" у него есть свойста "стоит" и "всунут" и есть компонент "пизда" у нее свойство "потекла". эти 2 компонента смотированы вообще в разных местах, но ты легко их можешь связать, для этого создаешь действие "пиздаПотекла", которое установит свойство "потекла" у "пизды" в true, создаешь редьюсер-обработчик для состояния "чоТамСпиздой" и допустим с 3го компонента вызываешь действие "пиздаПотекла" - теперь, как ты понял пизда потела, но она не просто потекла она еще и дала об этом знать хую! как спросишь ты!? а ты для этого создал редьюсер для хуя и сделал там обработчик для события пизды "потекла". в этом обработчике ты смотришь свойство "стоит" и если стоит ставишь свойство "всунут" в true... в пизде ты можешь перехватить это событие хуя, что он всунут, и "ахать" например, а хуй может потом "кончить"...
но самое охуенное что тебе не надо вообще париться о реализации этих состояний, там пару строк реально. ты просто деалешь dispatch, а store сам обо всем позаботится.
вот собственно как я понял редакс.
...но компонент "сон" никто не отменял, и на событие "хуя" "кончить" он установит состояни "корзиночкаПроснулся" в true и выкинет тебя на главную страницу. а потом еще и компонент "мамка" поймав событие установит свое свойство в "зашлаВкомнатуКушатьГотовоСыночка", а ты и забыл перехватить это событие и убрать состояние "хуя" "стоит"...
через пропс например происходит связывание состояния store того же редакса и этих самых пропс. а стейт вообще можно не юзать - опциональная штука.
Стоп. Я пока до редакса не дошел. Ведь реакт можно использовать в его изначальном состоянии, как библиотеку для работы с вью.
Зачем нужны props, если мы для изменения состояний вью используем, собственно, состояния?
я их использую что бы разделить один большой компонент на два, например:
/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
а еще можно передать обработчик на какое либо действие через пропс:
в контейнере:
constructor(props, context) {
super(props, context);
this.api.game_list().then((response) => {
console.log('Game list init: ', response.data);
this.store.dispatch(getGamesSuccess(response.data));
});
this.join_game_click = this.join_game_click.bind(this);
...
...
join_game_click(game) {
console.log('Joining to... :', game.name);
}
....
...
<GameList games={this.props.games} join_game_click={this.join_game_click} />
а во вью:
onClick={this.props.join_game_click}
тыкнешь во вью, а вызовется функция join_game_click контейнера. удобно?
а еще можно передать обработчик на какое либо действие через пропс:
в контейнере:
constructor(props, context) {
super(props, context);
this.api.game_list().then((response) => {
console.log('Game list init: ', response.data);
this.store.dispatch(getGamesSuccess(response.data));
});
this.join_game_click = this.join_game_click.bind(this);
...
...
join_game_click(game) {
console.log('Joining to... :', game.name);
}
....
...
<GameList games={this.props.games} join_game_click={this.join_game_click} />
а во вью:
onClick={this.props.join_game_click}
тыкнешь во вью, а вызовется функция join_game_click контейнера. удобно?
Какой проще учить? снэп? есод?
какой из них самый быстрый вообще?
да и как на счёт литературы?
То есть мартыханы устроили ад "аля акторы" на ровном месте?
хоспаде scp/ftp клиент качаешь и заливаешь свой проект, модники хуевы
В общем, дано:
Небольшой веб-проект (не на этих ваших нодах) в котором требуется манипулировать dom по событиям и посылать ajax-ы. До настоящего времени все решалось старым добрым jquery и он польностью покрывает все нужды даже сейчас. С ростом самого проекта количество однообразного кода типа "нажал это - тоггли класс на этом / отправь ажакс туда" тоже росло. Из опасений в будущем превратить клиент-сайд в нечитаемый длиннющий скрипт, думаю перейти на что-то более универсальное.
Задача:
переползти с jquery на что-то, что покроет эти нужды, не заставив при этом писать такие же тонны одноображного кода и по-максимуму сохранив верстку, которую отдает сервер.
инб4 (ну или переубедите):
Посмотрел реакт - все слишком сложна для такой мелочи. При этом ажакс, как понял, не умеет.
Ангуляр - тупескрипт, сервисы, еще какая-то хуйня, малафья. Сука!
vue, ember и прочее - два смуззи мне в номер, пожалуйста (хотя первый вроде как самый адекватный вариант из всех просмотренных).
Ну и сейчас как временная мера повторяющийся код сокращен до пяти функций, а в верстку воткнуты атрибуты, которые говорят этим функциям над чем конкретно они работают. Но это, конечно, костыль.
Чистый реакт приведет тебя в жопу, лучше вали на редакс, если планируешь поднимать норм проект. Заебешься без редакса связывать все и отслеживать события. Если у тебя больше 4 компонентов связанных, то начнется АД. А вообще пропсы нужны хотя бы чтобы следовать бестпрактису и разделять компонент на дамб составляющую и контейнеры. Хотя бы. Алсо. на офдоке лучше написано что и зачем, но я забыл ибо редакс наше все.
>Посмотрел реакт - все слишком сложна для такой мелочи. При этом ажакс, как понял, не умеет
Он вообще нихуя не умеет, это библиотека для В. Есть аксиос для аякса.
Много кода писать каждый раз, если с промисами Проще аксиос юзать, он легковесный, в одну строку запросы делаются + промисы из коробки.
Хотя мелкомягкие подосрали и тут, до 9 не пашет, на 9 не на всех системах, на нпм у них есть таблица совместимости.
Я у одного из канторовских лекторов учился на курсах при компании. Вполне заебись. Но 20к платить я бы не стал.
А мне кажется, что твой синтаксис мастер Йода писал, например.
и ничо не много, написал свой движок для вебсокета, получился довольно компактный, на промисах, да. к нему еще апи либу приписал и вообще получился RPC тоже компактно. нехуй, тащемта, юзать все подряд, можно и самому написать. в js 3ю неделю.
пусть поебется как я, потом поймет редакс и все перепишет с чувством облегчения)
Давай копай колодцы, чтобы воды попить, сука. Как же вы заебали, шныри-студентики и прочие у которых времени вагон.
Понимаю, что совсем готовое вряд ли есть, но все же.
Наиболее близкое к тому, что нужно находил
https://timseverien.com/taggd/v3/
и
http://www.neillh.com.au/phototagging2/index.php
какой колодец дебил? прототип написал за 4 дня вместе с бекендом. ты олигофрен не могущий написать банальные вещи. иди скачай либу для проверки isObject, "программист".
Да ну, подключить либу для пары чихов в ажаксе... Мне и сейчас норм, скриптом собрать данные помеченных полей, сериализовать, добавить заголовки, отправить - кода на 20 строк.
Во-первых, да. Во-вторых, только в свободное время, я тебе ебанутый писать велосипеды без оснований, я деньги зарабатываю, а не хуйней страдаю, как ты. Впрочем, удачи, ебанат.
погоди ка пидарок! куда побежал? мы только начали. нука напиши мне rpc движок для игры на вебсокетах, бекенд (на питоне) и фронтенд включительно. при условии что фронтенд не должен знать как устроено на бекенде нихуя вообще, а должен получать методы бека при инициализации. бек дожен быть модульным, каждый модуль должен описывать свою сущность. на фронте должна быть возможность получать неадресованные сообщения, то есть не rpc: обновления, нотификации... фронт не должен быть привязан ни к каким фреймворкам и спокойно запускаться на обычном джс. теперь, пидор добавь сюда условие: написан этот прототип был за 4 дня с начала знакомства с javascript вообще, вебсокетами, попутно тыкая реакт. хуесос ты говнянный.
>я деньги зарабатываю
на заработанное можешь купить себе резиновый дилдак и хуярить себя полбу, читая эти строки, ебучий профанатор.
>в js 3ю неделю.
>4 дня с начала знакомства с javascript
Уносите эту мартыху, она запизделась.
зачем мне тебе пиздеть?
1,5 дня потрачено на ознакомление с js и окружением.. es6, webpack, babel и как это все настроить в связке с pycharm, на питон потрачен 1, на js движ 1,5 дня. повторяю, это прототип, рабочий но прототип, позже сделал api для rpc, бек вынес в отдельное приложение, js api и engine тоже абстрагировал. теперь спустя 2,5 недели это, вкупе, переносимое приложение, в котором я знаю как устроен малейший винтик. и легко встрою в любой проект где понадобятся вебсокеты.
какую часть показать? я не публикую сырое, там еще много углов торчит, вот когда напишу игру, обязательно опубликую и даже больше, если не влом будет, оформлю это все дело валидными пакетами с тестами и доками. так что именно показать?
> Написал за 2.5 недели тыкалку вебсокетом в бэкенд и обратно.
>КОКОКО МОДУЛЬНЫЙ БЕКЕНД
>КОКОКО ПОЛНАЯ ОБФУСКАЦИЯ
>КОКОКО УМЕЕМ В НЕАДРЕСОВАННЫЕ СООБЩЕНИЯ
Выложи сорцы, говном умоешься, лолка.
>>938540
>>938541
ну нате, хуле:
фронт engine, почти не изменилось с прототипа http://pastebin.com/vJkqNGb4
бек engine http://pastebin.com/RKKKFaYy тоже почти не изменился с прототипа
сколько там? 229 строк - не так уж и много за 4 дня правда?
приготовил, давай
В компоненте:
this.props.onBlaBla(name);
В свою очередь нейм это реф инпута, а хендлер ставит стейт. Вопрос такой, как работает onBlaBla?
На работе, мамкин борщхлеб ты ебаный. Вечером посмотрю на твой высер, что не ясно? Уроки делай пока.
давай, жду с нетерпением
Оборачиваю такое в функцию, чтобы понять смысл выражения. isValidCommand(), например. Олсо, ты написал движок, но привязал его к конкретным данным, не дженерик. Второй пик плохо читается, тоже обернуть в функции и ? :, case true, case false это кейс для тернарного выражения. '--SERVICE--' лучше вынести в константы. А еще такой код не напишет тот, кто не кодил хотя бы полгода, у тебя есть бэкграунд программирования, это не 3 дня.
По какой-то причине при запуске phonegap run эта пизда в build.gradle прописывает
compile "com.google.firebase:firebase-core:+"
compile "com.google.firebase:firebase-messaging:+"
compile "com.google.firebase:firebase-crash:+"
compile "com.google.firebase:firebase-config:+"
вместо строк с версиями и я сосу хуи:
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
ЧЯДНТ?
Нет. Функционал нельзя сэмулировать просто так. Эмуляция вырастет в тотальную ретрансляцию кода.
Стрелочные функции - сахар, их можно эмулировать легко.
Деструктуризация, спреад - сахар.
for of - сахар.
Асинки\авайты - не сахар.
Прокси - неэмулируемый функционал движка.
бекграунд конечно есть, только на питоне, а на джс пару раз "менял стиль елемента по клику" с использованием джквери - эти двустрочники даже программой назвать сложно.
Со стрелочными не соглашусь. Всё таки нет зыс, аргументс, конструктора — уникальное поведение.
Сахар — это альтернативная запись. Классы это сахар, например, под капотом та же дрочильня с прототипами-конструкторами.
С асинк-авейтами ещё сам не разбирался. Вроде как, там промисы под капотом всё делают. Тогда это сахар конечно.
>Со стрелочными не соглашусь. Всё таки нет зыс, аргументс, конструктора — уникальное поведение
С аргументс х3, не вникал, но вот отсутствие ЗИС и конструтктора можно сэмулирвоать. Зис как два пальца вообще.
>Всё таки нет зыс, аргументс, конструктора — уникальное поведение
Ничего уникального. Все эмулируется.
Промисы не сахар. Это обертка.
Если у тебя промисы - сахар, то и любая функция у тебя сахар.
Всё, что не машинный код - сахар.
>Промисы не сахар. Это обертка.
>С асинк-авейтами ещё сам не разбирался. Вроде как, там промисы под капотом всё делают. Тогда это сахар конечно.
Ну тогда асинки - это не сахар, а обёрка.
Нет. Асинки модифицируют код кардинально.
Точнее авайты.
ты это не сэмулируешь.
Промисы же можно было эмулировать еще до того, как они появились.
>зыс
bind или внешняя переменная
>аргументс
перекрывай локальной переменной
>нет конструктора
кидай исключение по new.target
> уникальное поведение
его нет.
const square = x => x*x;
это дефолтный синтакс уже, такие функции более простые, должны меньше ресурсов жрать.
Это джаваскрипт мань, половина спецификации тугая легаси говнина.
При чем тут это?
Любой сахар - это дефолтный синтаксис.
Возможность не ставить точку с запятой в конце строки - это тоже сахар, и это дефолтный синтаксис.
К чему ты вообще что пишешь.
Это уже не сахар, функция имеет лексическое this и теперь ее нельзя переопределить, нету ненужного arguments, ну и писать проще, но это уже другое, важно что поведение изменилось.
https://jsfiddle.net/angr92p5/
хочу выдвинуть слева ошибку если не удалось свалидировать при помощи redux-form
а оно просто появляется без анимаций ЧЯДНТ ?
>двинуть слева ошибку если не удалось свалидировать при помощи redux-form
>а оно просто появляется без анимаций ЧЯДНТ ?
Говнокод однако, как ты див элемент возвращаешь бля?
Cам видешь нихера даже на экран не выводится.
>(function f(x){let arguments; if(new.target == f) throw 'fail'; return x * x}).bind(this)
this ты не переопределишь, arguments у тебя нет, и new ты не сделаешь.
где твой Бог теперь?
>this не переопределишь
А зачем это надо функции то?
>arguments у тебя нет
Есть rest operator.
>new не сделаешь
есть class для этого.
Ты дурак что ли какой.
Я тебе показываю, что arrow functions это просто сахар, а никакое не УНИКАЛЬНОЕ поведение.
Что несешь вообще. Иди нахуй.
Все правильно сказал, ведут они себя немного лучше, запрещая говнокодить.
Вот реальные примеры когда function нужно это для генераторов и async.
const myCock = new Promise ((resolve, reject) => { ... return resolve(result)}
console.log(myCock) //<pending>
myCock.then(console.log) // SWEET DATA
заебись, все работает. Но! Как мне его принудительно заресолвить, прежде чем выполнять остальной код? просто мне туда должен токен прийти, и все равно я без него ничего делать пока дальше не могу. Просто дальше через .then хуячить мне кажется как-то тупо.
или я мудак и совсем не понимаю сути промисов (это правда, конечно)
>Просто дальше через .then хуячить мне кажется как-то тупо.
А промисы больше ничего и не умеют.
Вот тут адекватные методы представлены - https://goo.gl/mtzReU
С блюбёрдом использоваться может как-то так: http://pastebin.com/8p24nRB8 (код, конечно же, не запускал, но суть ясна).
>case true, case false это кейс для тернарного выражения.
Нет, case true, case false это кейс для обычого if (){} else {}, блядь.
Господа, подскажите нюфане.
Правильно ли так делать - есть страница со списком неких постов, для сортировки этих постов по дате повесил на элемент обработчик клика, по клику забираю через window.location.search гет-параметры и через этот же search перенаправляю на нужный результат.
const myCock = new Promise ((resolve, reject) => { ... return resolve(result)}
myCock.then((result) => {console.log(result)})
>>939987
или так:
const myCock = new Promise ((resolve, reject) => { ... return resolve(result)}
(
async function() {
let res = await myCock();
console.log('res: ', res);
}()
);
аа, это про то как заресолвить промис в основном потоке? никак) промис аиснхронная штука и с ним можно обращаться только асинхронно - оба варианта я представил выше.
>(
>async function() {
>let res = await myCock();
>console.log('res: ', res);
>}()
>);
только я тут ошибку сделал, так правильно:
(async function() {
let res = await myCock();
console.log('res: ', res);
});
и кстати, из этого куска понятно становится что js в принципе асинхронный, мы просто делаем IIFE асинхронной и оно сука просто так работает!
не знаю как вас, а меня как питониста, зависть берет.
Анон, дай пожалуйста какую-нибудь русскоязычную книжку по сабжу (жс, жквери), чтоб прям быстрый старт - минимум воды и теории, максимум практики и хороших примеров. Будет сейчас где-то два часа сидения в дороге, к концу желательно понимать, как написать калькулятор или галерею. Общие принципы программирования вообще и ООП в частности понимаю, верстать немного умею, жс когда-то учил, но забросил и все забыл. Посоветуйте пожалуйста что-то именно короткое, под быстрый старт, а не томину флэнагана. Интернета не будет, так что жс.ру не подойдет.
там такое невозможно. там придется функцию из которой вызывается асинхронная функйия сделать асинхронной, а потом функцию изкоторой уже переделанная тоже сделать асинхронной и так до самой корневой...
ну или создать тред, хуйнуть в него луп и в созданном треде уже запустить... а тут просто блять пару скобок добавил и хуяк - корутина!
а свич конструкция... короче я добрался до свича и начал его хуярить всюду! как же мне его в питоне не хватает( там конечно можно его сделать самому и не сложно, но это будет лишний замороч.
Можно ли уже (2к17 на дворе) использовать
>class
Или это всё ещё не поддерживается большинством браузеров?
нужно. используй бабел через вебпак и забей на поддержку браузерами.
бамп че, трабла так и не решена я грешил на то что key атрибут не передаю, но нет с ним тоже ниуя не работает
Мне не нужен шим для проверки функция ли
мне нужно
>является ли объект функцией, которую можно вызвать
ну попробуй вызвать и поймай исключение
learn.javascript.ru, там и учебник можно за деревяные взять, можно на гугл сторе спиздить кастрированую версию
>Интернета не будет, так что жс.ру не подойдет.
А кастрированную не хочется... Есть полная пдф версия на каких-нибудь торрентах?
Исключение у тебя не потому что ты не смог вызвать функцию, а потому что там идет проверка на new.target
То же самое можно и с обычной функцией сделать.
function foo () {
if(new.target != foo) throw new TypeError("Class constructor foo cannot be invoked without 'new'")
}
Сути это не меняет, мне нужна проверка что передана валидная для вызова функция в колбеке.
Сейчас проверяю так
>cb.toString().slice(0,5) != 'class'
Но точно видел красивое решение такой проверки, вроде в каком-то фреймворке или либе.
Но, увы, сейчас не гуглится ничерта :(
Во-первых, ты пытаешься проверить не на функцию, а не передан ли конструктор класса. Это разные вещи.
Во-вторых, твоя проверка бессмысленна, потому что классы можно пилить и без конструкции class.
Можешь проверять на выброс исключения, но опять же, исключение функция может выбросить и по иному поводу, а не потому что это конструктор. Можешь чекать описание исключения разве что.
Никакого универсального способа сдетектить конструктор класса - не существует.
ну вызови эвейт вне промиса?
Спасибо огромное, то что нужно.
ЖС-Антон, помоги настроить рулетку, просто зайди в рум если есть лишние пара минут https://dev.videochat.red/room/Russian Room
Работаю за дошики в апворке.
if(arr.inn!erHT!ML.ind!exOf('src="/sht/"') > 0)
...
Сейча.с, на скол.ько я пон.имаю, он.о ище.т тек.ст в скоб.ках именн.о в парамет.рах тег.а в arr. Нуж.но сдел.ать та.к, что.бы искал.ся обычн.ый тек.ст. Ка.к?
С П А М Л И С Т
П
А
М
Л
И
С
Т
От всего сердца желаю обезьяне и её поделию сдохнуть, мудака кусок. Даже i в скобках проебалось.
Уже сам разобрался.
Он появился 20 лет назад. Как и многое тогда с подачи майкрософт (и работал в начале только у ie).
Популярностью оброс позднее, когда задумку стандартизировали.
А до самого ajax динамически контент подгружали и без него, через скрытые фреймы например, так работали чаты в то время.
Вообще, все уже написано, иди читай.
https://ru.wikipedia.org/wiki/XMLHttpRequest
https://ru.wikipedia.org/wiki/AJAX
хуй саси
Бамп! Бумп! Бабабабамп! Убит!
> Напишите программу, которая выводит числа от 1 до 100 (включительно). Если число делится на 3, выведите Fizz вместо числа. Если оно делится на 5, выведите Buzz. Если оно делится как на 3, так и 5, выведите FizzBuzz.
Просьба оценить код, замечания/улучшения приветствуются.
Ебать, не хотел бы я с такой свиньей работать в одной компании. Иди, блять, еще фреймворк для физзбаза накати, контроль версий и жахни на всякий случай туда еще проверку на типы, хуле мы тут как маленькие, да?
какой нахуй форич, какой нахуй эплай, мап и так далее? Оверинжениринг, тебя бы я не взял.
тимлид
В скорости, залупа ты, читать что ли не умеешь?
Сап, двачик. только-что задал вопрос на StackOverflow о том, как лучше реализовать авто инкремент на MongoDB (Mongoose), на что получил ответы такого характера, как будто я долбоёб. Мол для NoSQL баз автоинкремент не имеет смысла. обьясните пожалуйста, почему?
То есть ты считаешь себя лучше на том лишь основании, что ты получил информацию не из видео, а из какого-то другого источника? Ты здесь по ходу самый успешный.
Решишь задачу по теории графов? Ой, всегда проигрываю с дурачков, которые закончили ПТУ и выёбываются на форумах.
Суть в том, что мне нужно получить токен для доступа к серверу, который я потом буду опрашивать в лупе.
Но получение токена - функция асинхронная -> мне нужно либо как-то умудриться выполнить её синхронно, либо вставить луп в коллбек, но тогда появляется один нюанс - токен может истечь, а получить новый я могу только через эту же ебучую функцию
>видео
>информация
Что-то я чуть инфаркт не хватанул от этого информированного видеопросмотрщинка. Свинья ебаная, любую книгу по бд в руки и чтобы от корки до корки, хотя бы разницу между реляционными и реактивными бд узнай, говна кусок ебаного.
Что за ужас тут творится
кроме >>940688
Я пришёл в тред, где одни люди задают вопросы, а другие отвечают на них. А ты умник решил повыёбываться. По делу так ничего и не сказал.
Но ведь работает правильно? И что плохого в map и forEach? Везде пишут, что надо использовать функциональный стиль и иммутабельность. Я вообще сначала думал с помощью генератора сделать, но получается слишком сложный код.
С learn.javascript.ru pdf-ку скачай. Если нищеброд и жалко 900 рушлей, то страдай и сохраняй html вручную.
> надо использовать функциональный стиль и иммутабельность
В полку хайп-ебанатов прибыло. Услышат какое-нибудь говно и пихают его везде.
Ты хоть пытался разобраться, зачем вообще нужна иммутабельность, какие профиты с этого?
Подходит ли это для данного случая с физзбазом?
Не забудь этот свой физзбазз показывать на собеседованиях, чтобы никому не пришлось с тобой в одной команде работать
мимо
Распаралелливать можно, чтобы код быстрее работал на многоядерных процессорах.
На C# такие задачи как правило на LINQ решаются.
В JavaScript методы типа map тот же самый LINQ, что в них плохого?
Вроде где-то на сосаче скидывали свежую (не ебу, полную ли). В гугле я ничего новее 2013 не нашел
Ты тупой или просто траллишь меня тут?
В самих map, хуяп, функциональщине нет ничего плохого.
Плохо то, что ты решил запихать это (неумело причем) в простейшую задачу, в которой иммутабульность и финкциональный подход нахуй не упали. Задачу надо решать максимально простым способом, KISS гугли.
покормил
Да, еще, какое нахуй распараллеливание и многоядерность ты в JS нашел? JS однопоточный.
просветляйся
п.с. тимлид в этом треде, возьми меня на работу))
for (var n = 1; n <= 100; n++) {
var output = "";
if (n % 3 == 0)
output += "Fizz";
if (n % 5 == 0)
output += "Buzz";
console.log(output || n);
}
Однопоточный, зато асинхронный.
Хотя то конечно кукаретик, мап синхронный.
В синтаксисе асинк-эвейтов асинхронная итерация будет выглядеть так
async function f() {
for await (let x of y) {
g(x);
}
}
> Однопоточный, зато асинхронный.
Да, асинхронный, но пациент сказал
> чтобы код быстрее работал
асинхронность в JS ничего не сделает быстрее, вот.
Более того, она делает медленнее.
Две последовательные синхронные операции быстрее, чем те же две выполненные асинхронно.
Нет. Там событийная модель или как ее там.
Код выполняется асинхронно, но в одном потоке на одном ядре.
>Код выполняется асинхронно, но в одном потоке на одном ядре.
А почему тогда на нее все переходят и в статьях сравнивают с Erlang? Получается тогда Erlang быстрее, там есть аппаратная многозадачность.
перед тобой на столе стоит чашка слева и тарелка справа.
Задача:
передвинуть чашку направо, а тарелку налево. и поковырять в носу.
синхронный код:
берешь чашку, двигаешь направо. потом берешь тарелку - двигаешь налево. потом ковыряешь в носу.
асинхронный код.
ковыряешь в носу, потом берешь что угодно, хоть чашку хоть тарелку, и двигаешь в противоположную сторону от той, где она находится. по окончании берешь другой предмет и двигаешь.
параллельный код:
берешь и чашку и тарелку одновременно, и одновременно их передвигаешь, ковыряя при этом в носу.
У тебя каша в голове.
Ничего не получается.
Параллельность не всегда быстрее.
Твои два параллельных процесса могут выполниться один сегодня, а другой только завтра, потому что планировщик так решил.
https://en.wikipedia.org/wiki/Multi-core_processor
Some existing parallel programming models such as Cilk Plus, OpenMP, OpenHMPP, FastFlow, Skandium, MPI, and Erlang can be used on multi-core platforms.
Ты спрашиваешь в каком контексте?
В контексте js или вообще?
Если вообще - то асинхронность - это отложенное выполнение. Когда кончится основной поток выполнения, начнется выполнение отложенных задач. В чем преимущество? Ни в чем - это такая парадигма, ровно как нет никаких преимуществ у ООП перед функциональщиной или императивным\процедурном программированием.
Если в контексте js - то тут асинхронность не просто отложенность задча, тут асихнронный неблокирующий IO.
В твоем синхронном коде, кода ты читаешь файл\ждешь пакет по сети или ввод от пользователя - твой поток будет простаивать. В ноде же, такие ожидания асинхронный и не блокируют основной поток выполнения. Ты открываешь сокет (например) и ждешь пакет, но пока его нет - занимаешься другими задачами. Когда твои задачи закончились, если пакет уже пришел, то выполняется твой код его обработки. Для работы с вводом выводом у js-engine задействуются отдельные потоки, да. Но твой код выполняется в одном.
При чем тут аппаратная многозадачность, мань?
У тебя на уровне аппаратной многозадачности работает только ядро ОС. И то, если у тебя больше одного ядра.
Все остальное шедуллится кучей планировщиков
Начиная от планировщиков самой ОС, и заканчивая машинами - такими как ЭРЛАНГ.
У эраланг собственный планировщик его собственных ЗЕЛЕНЫХ процессов, они даже не нативные, они зеленые, такие же как рутины го.
Как я уже говорил, у тебя каша в голове.
А теперь задача усложняется - поллинг сервера тоже асинхронная задача и нельзя запускать новый опрос сервера не обработав старый.
Снова нихуя придумать не могу
С тем чтобы впарить тебе фаллесы и закачать тебе на комп вирусняк, после того как ты соизволил сделать клик на страничке, а ведь ты можешь его не сделать. Смекаешь зачем нужно откладывать выполнение функции до определенного события ?
В объектной модели js все проще некуда. Что у тебя там плавится.
Постигаю ангуляр, решил портировать на него одну свою старую наработку на js.
Суть такая: в моем вузике расписание идет с циклом в 2 недели. Я написал набор классов (curriculum.js), которые, после скармливания им "сырого" расписания, могли бы возвращать расписание на конкретную дату, чтобы потом в цикле пройтись от сегодняшней даты до (сегодня+7 дней) и вывести предметы один за другим.
Так вот, друга посоветовал мне посмотреть на ангуляр и я посмотрел ( http://all-site-2.nichost.ru/adel/angular/curriculum2/ ололо диванон ), но так как я использовал только представление ангуляра, то друг сказал мне, что я - хуй и посоветовал посмотреть в сторону ng-service. Но я не могу врубиться зачем мне для такой простого применения данных это вообще надо и самое главное, как это применить (а он мне обьяснять отказался).
Может, доброанон подскажет куда дальше двигаться и что по ангуляру почитать вообще?
Ссылку дал выше, в data.js - сырое расписание, в curriculum.js - обработка, в index.html - само приложение.
По ангуляру ничего лучше официальных мануалов ты не найдешь, так что кури https://docs.angularjs.org/guide
Ты не поверишь, но если ты не срёшь очередную библиотеку, а просто пишешь что-то конкретное, прототипы в реальной жизни тебе совершенно не пригодятся.
с таким заявлением сам не пошел бы))
Ты дебил, даже после того, как тебе указали на ошибку ее не видишь?
Ну смотри, даун.
1: ты не выводишь числа от 1 до 100.
2. ты не выводишь чсила вообще. ты выводишь только слова, а если число ни кратно ни трем ни пяти - выводишь пустую строку.
http://gosremo.ru/rasschitat-stoimost.html
хочу чтобы секции
УКАЖИТЕ ТИП РЕМОНТА
ЧТО ВЫ ХОТИТЕ ПОЛУЧИТЬ?
со всеми полями были не все вместе как тут а по очереди появлялись где то слыхал что с точки зрения UX хорошо такое так вот я смогу как нить такое сделать заюзав одну форму и показывать разные ее части ? Или придется 5 маленьких делать ?
Как сделать так, чтобы если домен являлся не name.ru - то шло перенаправление на name.ru?
Это я копирую твой сайт, лалка. Ничего у тебя не выйдет, саси.
>Как сделать так, чтобы если домен являлся не name.ru - то шло перенаправление на name.ru?
Сделать-то можно (window.location.host проверяй), вот только что помешает злоумышленнику просто удалить эту часть кода? Тебе нужно тогда сделать так, чтобы весь сайт был зависим от имени хоста, все ресурсы загружались с твоего сервера, при этом постоянно перемешивались названия и т.д. В общем, проблемой создать. Но это глупо, лучше в суд подать, миллион отсудить и поехать к пальмам.
пищи сайт на реакте (ангуляре и т.п.) и в каждом компоненте делай проверку на хост, хуй скопируют, я это гарантирую
1) Назначается i = 0
2) Проверяется условие
3) Если оно верно, то выполняется тело цикла
4) Выполняется i++
5) Проверяется условие
6) ... ну и так далее.
Короче вопрос. Если первый раз i = 0, и при i++ постфиксный инкремент сначала возвращает значение, а потом уже прибавляет к нему единицу, то получается что цикл выполняется 2 раза с значение i = 0?
Ну на деле (при запуске скрипта) он выполняется всего 3 раза. Объясните нубу в чем дело, пожалуйста.
Постфиксный\инфиксный инкремент имеет смысл только в выражениях.
при i = 0
++i // вернет 1 и установи i в 1
i++ // вернет 0 а установит i в 1
в твоем юзкейсе в цикле, у тебя так или иначе на следующей итерации i будет установлено в i+1
если бы ты дела что-то типа x+ ++i или x+ i++
это бы имело смысл.
например твой цикл можно переписать так, и все будет работаь как надо.
То есть, постфиксный инкремент - он тебе вернет текущее занчение i, но саму i уже инкрементирует.
>в твоем юзкейсе в цикле, у тебя так или иначе на следующей итерации i будет установлено в i+1
Ну я вот и не пойму почему на следующей итерации при постфиксном инкременте будет i = 1, если он должен вернуть i = 0 .
С чего он тее должен вернуть i = 0
ты же не пишешь там i = i++
ты пишешь просто i++. Ноль он тебе возвращает туда, откуда ты его вызываешь.
В твоем прредставлении код работает так, как слева, а он работает так, как справа. Третий блок в for ничего не возвращает, он просто выполняется.
У тебя есть одно яблоко.
К тебе подходит Ероха и спрашивает сколько у тебя яблок, ты отвечаешь, а потом он дает тебе еще одно яблоко.
В момент когда ты отвечаешь - у тебя только одно яблоко. Два у тебя станет только когда Ероха даст тебе второе.
По твоей логике, у тебя с какого-то хуя, даже после того как ероха тебе дает еще одно яблок, яблок не прибаляется.
i++ // вот тут ероха сначала спрашивает - потом дает
++i // а тут сначала дает, а потом спрашивает
>С чего он тебе должен вернуть i = 0
Ну потому что оператор i++ сначала возвращает значение а потом прибавляет к нему единицу? ++i сначала прибавляет а потом а потом возвращает значение а i++ наоборот, сначала возвращает.
Т.е изначально i = 0, потом выполняется тело цикла, далее выполняется i++, точнее не выполняется, т.к возвращается старое i, а единица прибавляется уже после того как i снова попало в условие проверки. А если оно прибавляется сразу, то я логики вообще не пойму.
>>942256
Я нихуя не пойму в этом коде.
>единица прибавляется уже после того как i снова попало в условие проверки
Нет. Она прибавляется сразу после того как вернулось старое значение, и только потом попадает в условие проверки.
твой код эквивалетнет этому, если тебе будет понятнее
for(var i = 0; i < arr.length; i, i = i + 1)
Когда видишь Hello world! на языке этих фреймворков, падает биба.
Когда видишь Hello world! на языке этих фреймворков, падает биба.
Тебе не нужны, укатывайся в вордпресс-тред
Для легкого создания сложных приложений.
Hello world на реакте выглядит так:
[code]ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('root')
);[/code]
Что в этом сложного?
какие подводные камни ?
что почитать на эту тему?
*сразу два метода
Суть: есть Яндекс.api
https://tech.yandex.ru/maps/doc/jsapi/1.x/mod/concepts/metro-docpage/
, через него можно получить ближайшую к данным координатам станцию метро. Но апи возвращает объект с приватными, блять, полями в которых содержится название станции и методов их получения я нихуя не вижу (да, вероятнее всего я ебусь в глаза). Анончики, помогите, как эту хуйню побороть?
cука пиздос, где ваша нормальная шапка? Я же помню тут были ссылки где что учить, какие ресурсы посещать
ебаные чедухи, куда проебали?
> Сделать-то можно (window.location.host проверяй)
Мои навыки жавы не позволяют мне сложить примитивное условие, бро
> вот только что помешает злоумышленнику просто удалить эту часть кода?
О даже рекламу и счетчики не удаляет. Программа автоматом копирует
>>942119
> пищи сайт на реакте
>>942114
> Тебе нужно тогда сделать так, чтобы весь сайт был зависим от имени хоста, все ресурсы загружались с твоего сервера, при этом постоянно перемешивались названия и т.д
>>942058
> Заходим на https://vc.ru и внизу читаем: "Юридическая поддержка, Толкачёв и партнёры".
Проблема была в том что сайт лежал в дауне 4 месяца, в результате повылетял из индексов, а тут эти боты. Не буду я юридческими вопросами заниматься с сайтом, приносящим по 100 рублей в сутки в лучшие свои дни
вот как раз то, про что я говорю http://stackoverflow.com/a/12958818
но есть одно НО. к этому кэшу одновременно обращаются два метода, один всегда что-то туда пушит, другой удаляет.
меня терзают сомнения, будут ли эти методы блокировать друг друга
https://github.com/tastejs/todomvc/tree/gh-pages/examples/react/js
https://github.com/tastejs/todomvc/tree/gh-pages/examples/vanillajs/js
а теперь сравни кол-во и читаемость кода, после того как вытрешь сладковатые желтые капли с подбородкаа попробуй представить приложение хотя бы раза в 2 больше
да, я тоже думал про это. ты не мог бы пояснить такой момент, если в одном методе мы проходим по кэшу конструкцией:
>for ( var [key, val] of __c.cache ) {...}
будет ли для другого метода, который что-то пушит в этот кэш, в это время этот самый кэш недоступен до конца итерации всего объекта?
другими словами: блокирует ли цикл for на время итераций объект для других методов, или в ЖС каждая новая итерация сначала смотрит статус объекта, и в этом момент, туда можно что-то запушить, так как из-за этого освобождается очередь?
пик рандом
В то время когда ты работаешь с кэшем одним методом - никакой другой код не выполняется. У тебя один поток.
Только если у тебя итерации твоего цикла будут асинхронны. Но зачем так делать.
> блокирует ли цикл for на время итераций объект
любой цикл блокирует - не объект, а весь поток выполнения.
ты видимо плохо понимаешь что такое однопоточность\многопоточность.
Дядя Брукс говорил - "делай, блядь, на том уровне на котором можешь, сука, а не сиди ровно". Учебника CUNT'ора за глаза хватит, чтобы пилить относительно сложные вещи, остальное в процессе придет. Так что не выебывайся и учи учебник. Алсо, может ты на курсы хочешь просто потому что это как на пары ходить - вроде ходишь, а вроде и толку нихуя, хотя Я ЖЕ УЧИЛ, КАКОГО ХУЯ?! НУ, МОМ, ЙА ПОГРОМИСТ!!!. Тогда можно дальше в блек дезерт гонять. Охуенная игрушка с виду, жаль нет времени погонять. Еще и Фо Онор, мляя. Нахуя было расти?
Здесь читал?
https://learn.javascript.ru/array-iteration
Если да, то ты действительно слегка туговат. Не бздюмонь, соберись, разберешься, чай не ядерная физика.
>>943004
вот сейчас затестил сценарий, каждый метод до обращения к кэшу выдаёт в консоль кол-во элементов:
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 смог запушить туда новых кандидатов
как тебе задумка, Антоха?
>что Антон скажешь
>как тебе задумка, Антоха?
Я Людвиг Александрович.
Мне никак твоя задумка, потому что она ни о чем не говорит совершенно.
>Мне никак твоя задумка, потому что она ни о чем не говорит совершенно
а так https://dev.videochat.red/room/Russian Room
Тебе не нужен "кэш" мань. Если список ожидающих пуст, то добавляешь туда клиента, если нет то сразу выбираешь рандомного и коннектишь.
максималист не заметен.
>rouletteCache
>spisokOjidajushihKlientov
масло масленое
>рандом
зойчем он, не проще ли брать первого, которой сейчас в итерации, и последнего из стека, который там уже сидит пару секунд?
Я к тому что тебе не нужен тот велосипед, что ты высрал, достаточно реагировать один раз на запрос.
>реагировать один раз на запрос
кэш/пул один на все комнаты, туда в секунду будет пушиться 500-700 клиентов и так-же максимум за одну секунду они должны все быть разделены на пары.
ок, я заинтригован, как ты это реализуешь по другому?
500 клиентов это ничто, это не 5млн, разделять их на пары можно сразу при запросе.
слишком маня-мирково. если не четное кол-во будет, что делать, снова долбить сервер новым запросом?
Как я понял оно у тебя всегда будет 0 или 1, второй клиент сразу будет соединён с ожидающим и буфер опять обнулится.
>Мои навыки жавы не позволяют мне сложить примитивное условие, бро
А при чём тут жава?
if (window.location.host !== "www.YOURHOSTNAME.YOURDOMAINNAME"){window.location = "http://www.goatse.ru";}
Ок, заинсталлил себе моку/карму, в терминал вывожу лог, что такой то пропс является действительно числом.
И в чем смысл? Как это поможет то?
Зачем нужны авто тесты, когда их нужно запускать во время разработки, в чем смысл?
Ок, поставил камеру, запихнул манекена, вижу по датчикам, что на такой-то скорости автомобиль не развалился идействительно едет.
И в чем смысл? Как это поможет то?
Поясните за Redux
правильно ли в редьюсере так изменять состояние case 'INCREMENT': return { ...initialState, count: state.count + action.amount };
Сейчас немного учу, но вот постоянно примеры - какие-то академические случаи, не может же в нормально приложухе в состоянии только 1 ключ сидеть, там же приличный объект со вложенностью может быть
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]));
Вот быструю сортировку написал. Вроде работает.
ок.
А ты его искать пытался?
> 'INCREMENT': return { ...initialState, count: state.count + action.amount };
поскольку числа в js иммутабельные и ты возвращаешь новый объект то
условие не мутировать стейт выполнено
глубокая вложенность разбивается на маленькие reducers при помощи combineReducers а если не варик loDash в помощь
гугл мудила! слышал про такое ?
че хоть за сайт?
а в чем проблема
ты берешь маленькие кусочки стейта https://github.com/reactjs/redux/blob/master/examples/shopping-cart/src/reducers/cart.js#L7
и объединяешь их в большое целое
https://github.com/reactjs/redux/blob/master/examples/shopping-cart/src/reducers/index.js#L2
https://github.com/keystonejs/keystone/blob/master/admin/client/Signin/Signin.js#L28
где они инпут[type=email] в this.refs положили ?
Через сервис? Есть какой-то более правильный с точки зрения архитектуры способ?
А если перейти на другую страницу, а потом назад, то компонент появляется
Друзья, подкиньте пожалуйста какую-то годную инфу по обработке форм на Node.js + Mongoose (Mongodb). Сам нихуя найти не могу...
А можно что нибудь на русском? А то я джаву то хуево знаю, а тут еще английский
> router.push.bind(null)
А ведь ты входишь в число 90% дебилов, которые ноют про "выучил реакт работынет((". С одной стороны - грустно, с другой - хорошо.
Объяснять где ты обосрался не буду, смотри в код, медитируй, если поймешь - у тебя еще есть шансы, если нет - пиздуй на завод.
Да епт с такой скоростью помощи двача конечно сам нашел решение проблемы. Да и где ты придурок увидел чтоб я сказал что ВЫУЧИЛ? Проблема была в том что у меня shouldComponentUpdate проверял стор на новые элементы массива, а там оно естественно не менялось, ну и рендера соответственно не было.
Привет, аноны.
Мы потихоньку пилим сообщество тех, кто учит вёрстку, полноценный frontend или же backend - https://vk.com/webdevheroes
Учимся вместе, чтоб было поменьше прокрастинации, поддержка, все дела.
Всех, кто желает получить новую специальность или кому просто интересно, приглашаю начинать учиться вот прямо сейчас: https://vk.com/webdevheroes
Большинство начинают учить по этому курсу с самого начала: https://htmlacademy.ru/courses
Какие-то аноны учат по книгам, кто-то по другим сайтам. Заходите, рассказывайте о том, как учите, к чему стремитесь, и, самое главное, просите помощи, если есть трудности.
Что я могу предложить от себя? На данный момент имеется два с половиной наставника, конференция вконтакте и группа там же. Бесплатно.
Если у вас возникнут вопросы - можете задать их в группе или же в конференции.
https://vk.com/webdevheroes
Есть форма регистрации : https://lk.qasl.ru/
При вводе на странице в поле регистрации подобной строки : assassaVaxssANUSasSrhsassassPUNCTUMcomrai5+ddred ., страница умирает.
Думаю что дело в проверке регулярными выражениями. Потому что чем больше символов в части после "." Тем длинее пауза в отклике.
Но куда смотреть не пойму.
Лол
> if (window.location.host !== "www.YOURHOSTNAME.YOURDOMAINNAME"){window.location = "http://www.goatse.ru";}
Не перенаправляет - wikinovo.ru
if (window.location.host !== "babenok.net"){window.location = "http://www.goatse.ru";}
Что я выяснил точно: там просто стоит скрипт, который curl-ом забирает мою страницу и отдает юзеру
Все, починил. Спасибо братья!
На чём можно сделать такой слайдер? Из условий - нельзя тянуть большие библиотеки.
На javascript
Надо перебрать все чекбоксы в блоке. На пикче все работает заебись, но эта вот смесь чистого JS и jquery раздражает.
Структура HTML вкратце такова:
>>> div(#checkbox_row) -> div3 -> label3 -> input(checkbox)
т.е #checkbox_row содержит 3 дива, которые содержат по 3 лейбла, обернутых вокруг инпутов, всего 9 чекбоксов.
пытался что-то там делать с .each() или просто $("element"), но нихрена не получается. как применить $("element") к содержимому .each()?
типа пикрил2
Это копия, сохраненная 7 мая 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.