Вы видите копию треда, сохраненную 2 апреля 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Больше пары строк кода в посте или на скриншоте ведут в Ад.
Для программирования на HTML https://jsfiddle.net/
Для Node.js с консолькой https://repl.it/languages/nodejs
Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Руководство для вката:
https://developer.mozilla.org/
Vue > Svelte > говно > Angular > реакт > ссанина зумеров > джс в хтмл в пхп > реакт
Т.е надо самому тысячу раз обосраться на голом жс для осознания, почему современные фреймворки сконструировали именно так и не иначе
В целом да, правда отдельным ебланам и это не помогает и они продолжают топить за написание вебни любой сложности исключительно на жкури.
Не обязательно, достаточно немного поразмышлять об императивной и декларативной моделях работы с домом.
Алсо, Ден никаких фреймворков не придумывал, непонятно причем он тут вообще.
обилие либ, фрейморков, браузеров и средств контроля версий рассеивает внимание, из-за чего вы концентрируетесь не на результате. я перекатывался на жопаскрипт с флеша в далеком 2012 году, и в общем то сразу все понял.
да, флеш умер из-за определенных нерешённых проблем с флеш плеером, да и в общем то хуй с ним. флеш это всего лишь версия, как могло бы быть, а не наилучший сценарий. но это было охуенно, все дело в полной самодостаточности при минимализме. у мозга был ограниченный набор нормальных рабочих инструментов и решение задач всегда было очевидным, вывод например на экран всегда был одинаковый и работал он всегда, в новых версиях он только дополнялся и это никак не влияло на старый код.
когда берут на работу, смотрят на твое портфолио в первую очередь. у меня была возможность научится ебаться над результатом, да и вообще в самом начале все, что я делал, я показывал одноклассникам. по этому для меня всегда было важно, что бы было охуенно, а иначе это никому будет неинтересно и смысла как бы и нет уже.
"но у тебя же код гавно и сам ты долбоеб-кабанчик" - это совсем не так. во первых, если ты много кодишь, то хочешь - не хочешь все равно научишься различать говнокод и перестанешь его писать. если что то работает охуенно, то вероятно это написано хотя бы адекватно. вероятно, это не отлаживали годами в поисках багов, это блять никому не интересно. а под результатом я имею в виду работу в целом, а не только внешний вид. артефакты анимации, подлагивания, кривая верстка - лично для меня это будет говном ебаным, не важно какой там код.
в сообществах же программистов может создаться впечатление, что код самое важное что есть на свете и нужно дрочить исключительно кодерские практики, подходы, архитектуру и прочую хуйню. работа в команде это важно, но сделать рабочий продукт гораздо важнее.
я ходил на одно собеседование, запомнившееся мной как самое нелепое - меня человек пригласил по телефону, думая что у меня есть высшее образование и уточнил это, я ему сразу ответил нету нихуя, он все равно попросил прийти. так получилось, что я приехал за 10 минут и сразу позвонил, ну и он сразу недовольный почему рано пришел ебать, что бы вы понимали уровень. ну так вот, в ходе он спрашивает для кого пишется код - я отвечаю для пользователя - нет нихуя вот он говорит код пишется для других программистов. если интересно, еще я помню говорил ему что писал библиотеку для uitableview, сообществом ios разработчиков признано, что пакетные обновления таблиц это ебля коня, если речь идет про анимации. он этого очевидно не знал, и говорит вот для андройда тоже это ебля и чо такого. этот момент я разбирал в андройде еще задолго и там очевидно не одно и тоже
что бы писать фронт с преимущественно версткой, ума действительно много не надо, и по этому очень легко говнокодить и оно все равно будет работать. по этому в выражении "код для программистов" есть определенный смысл, но только лишь на низких уровнях квалификации. когда речь про профессиональную разработу, там подразумевается быстрый коллективный коддинг качественного продукта, код будет само собой качественным.
но большинство рассуждает так, код выглядит красивым - значит этот программист хороший. боюсь что это не так, по правилу "большинство - долбоебы", большинство "программистов" лишь косят под программистов, задрачивая сугубо внешний вид, даже не сам код, а его внешний вид, архитектуру и прочую шизофрению. обсуждение архитектуры и паттернов это вообще прокрастинация. если проект простой и сугубо про верстку, то эти многочасовые обсуждения архитектуры - это блять прокрастинация долбоебов, нет там никакой архитектуры, это клепается за два дня одним человеком, вносятся правки другим человеком без каких то потерь, потому что код там простой, лаконичный, так как проект - сугубо про вестку какой то хуйни.
многие думают, вот ваше программирование дохуя сложное и я вкатится че то не могу, и дропают это. может быть даже вкатились в какую то компанию, не выдают перфоманса и их увольняют или сами уходят расстроенные. да голый жопаскрипт кто угодно может выучить, надо только время потратить. но вся суть говнокода в том, что в нем невозможно разобраться, в нем никто не разберется, это как выгребная яма, ты в нее падаешь и тонешь нахуй. к этому нужно походить с пониманием, выносить ведро за ведром, объяснять на пальцах почему это нужно, делать блять презентации сравнения до и после. как правило это заведомо тухлые проекты, которые тянут годами одни и те же люди, годами там присутствуют какие то баги - очевидно новичок там сначала потеряется и так же протухнет в итоге. навести порядок в этом дерьме правильно - вот где программирование, добиваться результата несмотря на несколько браузеров, несколько фреймворков и тд - этому нужно учиться, а не писать "красивый код правильно" хртьфу бля
обилие либ, фрейморков, браузеров и средств контроля версий рассеивает внимание, из-за чего вы концентрируетесь не на результате. я перекатывался на жопаскрипт с флеша в далеком 2012 году, и в общем то сразу все понял.
да, флеш умер из-за определенных нерешённых проблем с флеш плеером, да и в общем то хуй с ним. флеш это всего лишь версия, как могло бы быть, а не наилучший сценарий. но это было охуенно, все дело в полной самодостаточности при минимализме. у мозга был ограниченный набор нормальных рабочих инструментов и решение задач всегда было очевидным, вывод например на экран всегда был одинаковый и работал он всегда, в новых версиях он только дополнялся и это никак не влияло на старый код.
когда берут на работу, смотрят на твое портфолио в первую очередь. у меня была возможность научится ебаться над результатом, да и вообще в самом начале все, что я делал, я показывал одноклассникам. по этому для меня всегда было важно, что бы было охуенно, а иначе это никому будет неинтересно и смысла как бы и нет уже.
"но у тебя же код гавно и сам ты долбоеб-кабанчик" - это совсем не так. во первых, если ты много кодишь, то хочешь - не хочешь все равно научишься различать говнокод и перестанешь его писать. если что то работает охуенно, то вероятно это написано хотя бы адекватно. вероятно, это не отлаживали годами в поисках багов, это блять никому не интересно. а под результатом я имею в виду работу в целом, а не только внешний вид. артефакты анимации, подлагивания, кривая верстка - лично для меня это будет говном ебаным, не важно какой там код.
в сообществах же программистов может создаться впечатление, что код самое важное что есть на свете и нужно дрочить исключительно кодерские практики, подходы, архитектуру и прочую хуйню. работа в команде это важно, но сделать рабочий продукт гораздо важнее.
я ходил на одно собеседование, запомнившееся мной как самое нелепое - меня человек пригласил по телефону, думая что у меня есть высшее образование и уточнил это, я ему сразу ответил нету нихуя, он все равно попросил прийти. так получилось, что я приехал за 10 минут и сразу позвонил, ну и он сразу недовольный почему рано пришел ебать, что бы вы понимали уровень. ну так вот, в ходе он спрашивает для кого пишется код - я отвечаю для пользователя - нет нихуя вот он говорит код пишется для других программистов. если интересно, еще я помню говорил ему что писал библиотеку для uitableview, сообществом ios разработчиков признано, что пакетные обновления таблиц это ебля коня, если речь идет про анимации. он этого очевидно не знал, и говорит вот для андройда тоже это ебля и чо такого. этот момент я разбирал в андройде еще задолго и там очевидно не одно и тоже
что бы писать фронт с преимущественно версткой, ума действительно много не надо, и по этому очень легко говнокодить и оно все равно будет работать. по этому в выражении "код для программистов" есть определенный смысл, но только лишь на низких уровнях квалификации. когда речь про профессиональную разработу, там подразумевается быстрый коллективный коддинг качественного продукта, код будет само собой качественным.
но большинство рассуждает так, код выглядит красивым - значит этот программист хороший. боюсь что это не так, по правилу "большинство - долбоебы", большинство "программистов" лишь косят под программистов, задрачивая сугубо внешний вид, даже не сам код, а его внешний вид, архитектуру и прочую шизофрению. обсуждение архитектуры и паттернов это вообще прокрастинация. если проект простой и сугубо про верстку, то эти многочасовые обсуждения архитектуры - это блять прокрастинация долбоебов, нет там никакой архитектуры, это клепается за два дня одним человеком, вносятся правки другим человеком без каких то потерь, потому что код там простой, лаконичный, так как проект - сугубо про вестку какой то хуйни.
многие думают, вот ваше программирование дохуя сложное и я вкатится че то не могу, и дропают это. может быть даже вкатились в какую то компанию, не выдают перфоманса и их увольняют или сами уходят расстроенные. да голый жопаскрипт кто угодно может выучить, надо только время потратить. но вся суть говнокода в том, что в нем невозможно разобраться, в нем никто не разберется, это как выгребная яма, ты в нее падаешь и тонешь нахуй. к этому нужно походить с пониманием, выносить ведро за ведром, объяснять на пальцах почему это нужно, делать блять презентации сравнения до и после. как правило это заведомо тухлые проекты, которые тянут годами одни и те же люди, годами там присутствуют какие то баги - очевидно новичок там сначала потеряется и так же протухнет в итоге. навести порядок в этом дерьме правильно - вот где программирование, добиваться результата несмотря на несколько браузеров, несколько фреймворков и тд - этому нужно учиться, а не писать "красивый код правильно" хртьфу бля
да мне скучно стало и я высрал че то
ДА!
Самое забавное когда на собесе тебе затирают про код для программистов, а на проекте лапша на колбеках с жквером на десятки тысяч строк.
Простую соцсеть
Чувак, залезай обратно в свою машину времени и телепорируйся в 2010 год.
Сейчас нода точно такое же древнее легаси-говно мамонта как и твоя пыха, только чуть моложе и не взлетевшая. Точнее, так и оставшаяся тулзом сборки для фронтенда.
Тоже есть такие мысли, но подозреваю, что 99% вкатившихся и тех кто уже давно шарит в реакте, нихуя подобного не писали. По факту даже в обучение, меня уже заебывает каждый раз получать нужный див, что бы повесить на него ивент, писать цикл, создавать массив похоже кодинг не мое и хочется собрать все это говно в какие то шаблоны, тупо писать в консоль -go, и что бы вся эта хуйета сразу собиралась.
На чистом JS пишут только долбоёбы.
Это как писать на чистом ассемблере.
В кругах мамкиных хакеров это считается круто.
>>37478
>на жкури
О, jQuery-хейтер, привет!
А ты, случайно, не знаешь, почему новый Сбербанк-Онлайн (2020) написан на jQuery (и старый тоже)?
Что, у Грефа нету денег на модных реакто-блядей?
Как же так?
Ой, ну нахуй.
Открой hh, и посмотри, сколько в дс вакансий реакт, вью, тайпскрипт.
У всех есть деньги, а у сбера нету.
И у других банков нету, потому, что у них тоже на jQuery написаны веб-клиенты.
Тут должен быть какой-то другой ответ, подумай.
Жадная жидо-пидарашка вышедшая из 90-х именно так и ведет себя считая каждую копейку,
А писать так же , только с указанием типов? Ебать как просто , где ж тогда подводные?
>А ты, случайно, не знаешь, почему новый Сбербанк-Онлайн (2020) написан на jQuery (и старый тоже)?
Тебе мама не говорила, что врать нехорошо?
>Ебать как просто
Это совсем не просто. В этом и проблема.
И до этого лучше дойти самому, а не делать просто потому, что это модно.
Также, для мелких проектов JS лучше.
Попробуй, начни с типов в комментариях JSDoc (это гуглится).
IDEA (WebStorm) их понимает, и даёт хинты.
Можешь ещё попробовать Flow.
Всё это позволяет постепенно войти в тему.
Особенно, если ты никогда не писал на типизированных языках типа джавы или скалы.
Ты че ебанутый, зачем все так усложнять?
Просто берешь и пишешь с типами, мне это вообще легко зашло. Туторов дохуя.
Ты внутрь зайди, школоло.
И посмотри исходники страницы.
Там jQuery + jQuery UI + сберовские библиотеки под них.
А чё щас хайпово, нук-нук?
>мне это вообще легко зашло
А насколько далеко тебе это зашло?
Много написал?
Проблемы начинаются, когда ты начинаешь делать динамические вещи, для которых статическая типизация - как камень на шее.
И некоторые проблемы вообще не решаются, красиво, по крайней мере.
Но, в TS можно использовать JS-модули.
Ну, и есть волшебное слово any.
У меня карт Сбера. Хуевый банк же. Если там внутри jQuery UI, то вряд ли от хорошей жизни. Я искал в мае работу (React/TS), так меня из Сбера позвали аж на 7 собесов из разных подразделений. Везде был Реакт.
Не, ts это бесполезный плагин для вебпака. Ебланы не могут в js, не понимают его идеи. И лезут со своими ебланскими class и плодят говнокод.
>Проблемы начинаются, когда ты начинаешь делать динамические вещи, для которых статическая типизация - как камень на шее.
Если нормально писать, то не начинаются. Но могут быть проблемы со сторонним кодом, который написан динамически, например, с Рамдой.
Еще жирнее можешь?
Спок я тебя обьебал
>>37731
Ты типа мамкин тролль или что?
Внутрь зайди и посмотри, что в script-тегах.
И, чтоб два раза не вставать, объясню:
Для бизнес-UI в больших проектах jQuery вполне себе используют.
Потому, что у людей есть дохуя старого кода, который прекрасно работает. И чтобы его переписать, потребуется много лет.
И потому, что реактообразные модели не всегда и не для всего подходят. Часто удобнее иметь компонентную архитектуру, напоминающую классические GUI-тулкиты, типа Swing или Qt.
Именно в бизнес-UI.
А ещё - jQuery - это тонкий слой удобных абстракций, который позволяет делать вещи вообще без фреймворков. А на "чистом" пишут только долбоёбы, как я уже говорил.
>Для бизнес-UI в больших проектах jQuery вполне себе используют.
>Потому, что у людей есть дохуя старого кода, который прекрасно работает. И чтобы его переписать, потребуется много лет.
Звучит как проект мечты, лол. Спасибо, но мне Реакт как-то больше нравится. Но если кому-то кажется интересным разгребать многолетнее говно в ЛК Сбербанка — пожалуйста.
> бизнес-UI
Ну бля, если это прям бизнес юай, то у него фронт может выглядеть как ламповые сайтики из ранних нулевых.
> А на "чистом" пишут только долбоёбы, как я уже говорил.
Совсем на чистом без либ вообще и правда долбоёбы, использовать нативные функции вместо jQuery норм. Нафиг тянуть зависимость когда тебе нужны 1-2 функции. Это как тянуть lodash только чтоб один раз partial заюзать.
>Проблемы начинаются, когда ты начинаешь делать динамические вещи, для которых статическая типизация - как камень на шее.
>И некоторые проблемы вообще не решаются, красиво, по крайней мере.
там все тоже самое, только лучше. ну вот ты не можешь нормально в массив нахуярить говна всякого и спокойно считывать, еще не можешь взять и создать свойство у экземпляра класса во время выполнения программы, а потом еще и читать его через точку.
на самом деле все это возможно, просто это нахуй никому не нужно, никто этого и не делает. там есть словари (map/dictionary), есть кортежи(tuple), есть [any], этого уже достаточно для всего.
есть даже вывод типов и ты в некоторых языках можешь писать почти эквивалентный жсу код аля пикрил, даже с замыканиями, ну разве что без прототипов.
другое дело что все время компиляторы кидают ошибки пока это пишешь, что лишний раз рассеивает внимание, как и в целом дроч на типы. это неудобно во время прототипирования, когда уже похуй как написать, лишь бы быстро и работало, во всем остальном современные типизированные языки лучше.
>Еблан путает "топить за написание вебни любой сложности исключительно на жкури = быть ебланом" и "писать на жкури = быть ебланом"
Сразу видно жкури-еблана, необучаемого вонючего деда.
Бля, эти кто-то в этом треде всё ещё поклоняется доллару? Вот ж сука.
Да кто же спорит, что (статическая) типизация - это хорошо.
Даже питонобляди, в итоге, к этому пришли, лол. Не прошло и 25 лет.
Я же говорил о том, что человеку, у которого опыт есть только в JS и пыхе какой-нибудь, может быть тяжело резко переходить на типизированный язык.
Поэтому и предложил начать с JSDoc комментов, чтобы просто потрогать эту тему.
И для перехода на TS лучше иметь серьёзную внутреннюю мотивацию, а не просто "это круто". Потому, что в определённый момент возникнет вопрос "бля, да сколько же можно, а не пошло бы оно всё на хуй", и на этот вопрос должен быть аргументированный ответ.
Я ебаный противник TS не потому что это статическая типизация, а потому что это ебаный говноплагин для вебпака неудобный
> Даже питонобляди, в итоге, к этому пришли, лол. Не прошло и 25 лет.
Ну и слава питоноблядям. Если жабаскрипт добавит типы нативно - буду юзать. Но плагин для вебпака этот ебучий я в рот ебал. Время которое с ним ебаться приходится не перекрывает время дебага чистого js без типчиков, потому что я практически не втыкаю с типами.
Типизация и ошибки из-за неё такая переоцененная проблема, что я ебал.
>ебаный говноплагин для вебпака неудобный
Откуда ты это взял? Причем тут, блять, вебпак, наркоман? Зачем ты вообще участвуешь в дискуссии, если не понимаешь что как работает?
Хуя ты порвался с реакта бро) И вью точно не лучше свелте, вью это же очередная виртуалдом-параша. Кстати, в реакте с редаксом модель по сути как на твоей пикче, только вместо мутации стейта возвращается новый с изменениями
Пиздёж. На ноде легаси мало, давно на коллбеках никто не пишет, богатая экосистема инструментов и библиотек, тайпскрипт, бек на ней писать удобно и приятно, да и перформанс самый сильный у скриптовых языков.
Это окружность и это грань квадрата. С какого конкретного пикселя мне надо начать измерять и до какого, если я хочу найти границу (т.е. белую окружность). Объясните алгоритм измерения по переливающимся пикселям.
Vue > Svelte > говно > Angular > реакт > ссанина зумеров > джс в хтмл в пхп > реакт > реакт + редакс
ну ты чиво долбоеб? у тебя вечная рекурсия. надо старую функцию в отдельную переменную сохранить. formblalba.blablafunct_old = formblalba.blablafunct; formblalba.blablafunct = ()=>{
log("da"); formblalba.blablafunct_old(); }
Ты перезаписал функцию, но до этого данная функция уже была добавлена к списку event listener'oв целевого элемента. Чтобы изменить логику тебе нужно сначала убрать все старые event listener'ы, а после добавлять измененные.
видимый канвас это уже растровое изображение, поверх которого рисуется fill, stroke и тд. даже если path где то сохранялся бы, его по апи никак не получится использовать.
>>37836
> Это окружность и это грань квадрата.
че вот за бред ебаный? почему бля оно кривое если это хоть как то относится к квадрату? круглый уголок что ли у квадрата? вообще можно интерполяцией найти три точки на линии и из них получить центр окружности тригонометрическими рофлами. но мы же умные, мы запустим алгоритм брезенхема для окружности в обратную сторону. почему? потому что мы сможем перебрать ошибки алгоритма и вычислить более точный центр окружности.
точно. спасибо
Пойми промисы.
Начни с изучения TS, на его основе будешь изучать ООП и принципы SOLID.
Ещё один порвался на пустом месте. Меня забавляет, что вьюшники ставят вью выше реакта, при том что вью и реакт это в сущности две одинаковых хуйни. Да ещё и выше свелта поставил, в котором нету уёбищного виртуал дома
Реакт и вью, в сущности, это две очень разных хуйни.
Общего у них совсем немного.
То, что они выглядят похожими - это хорошая, годная иллюзия.
Поэтому, противопоставлять их не совсем корректно.
React не реактивен лол. А Vue - да.
В Vue есть шаблоны и есть код. Реакт - это чистый код.
Но, если уж противопоставлять, то:
Vue лучше - (несколько) быстрее и (гораздо, блядь) практичнее.
Но, хуже инструментальная поддержка и местами тяжеловато с типизацией (TS). Это потому, что много динамики и разделение код-шаблоны.
React хорош (оправдан) для больших проектов и больших квалифицированных команд.
На Vue можно и одному хуячить сложный проект.
Как-то так.
>че вот за бред ебаный? почему бля оно кривое если это хоть как то относится к квадрату?
Братан, я думал что ты поймешь, что круги в нашей клоаке вырезают из квадратов. Я сбросил ребро квадрата (блока, если бы не было боардер радиуса, то конкретно это часть была ребром) и его переход в окружность. В этом то и есть вопрос. Я хочу понять с какого пикселя начинать отсчет, чтобы определить ширину этой окружности. И не просто, чтобы анон сказал вот с этого, а чтобы пояснил почему с этого, чтобы я не постил больше этот кринж. Я нихуя не смыслю в этом блядском дизайне и как там эти границы объектов смазываются (то есть пиксели).
Двачую неистово, вьюй удобнее, причем намного. Но почему же тогда сука его на западе так нетлюбят? Там куда ни плюнь - только ррякт!
Потмоу, что реакт появился гораздо раньше, под него куча людей, куча кода, паттерны, хуё-моё.
В эту технологию вложены большие деньги.
Плюс, Vue - это Китай.
А React - Америка, и похуй, что Абрамов - русский.
Также, у React очень сильное (квалифицированно) коммьюнити.
Потому, что фп и т.п. Тупые васяны сразу идут мимо.
А на Vue - легко писать, в том числе - долбоёбам, в том числе - хуйню. Это оборотная сторона практичности.
Сейчас всё потихоньку меняется.
Даже по сравнению с прошлым годом заметны большие изменения.
Например, год назад по запросу vue hh выдавал ровно нихуя, а сейчас - дохуя и больше.
Добра.
Добавлю ещё, что весь React - это ни что иное, как internal DSL.
Т.е. это просто хитровыебанный код на данном языке (JS|TS).
И у таких вещей есть предел юзабилити.
Т.е. с какого-то момента, в процессе усложнения концепций, вся эта ебанина начинает (концептуально) трещать по швам и разваливаться под собственной тяжестью. Паттерны использования значительно усложняются, код становится корявым и неинтуитивным, и т.п.
Vue же использует шаблоны, и этой проблемы у него нет.
Можете смотреть на шаболны как на external DSL, если угодно.
Т.е. дополнительный слой абстракции решает.
Потому что он не особо лучше реакта. И не особо хуже, просто реакт первым захватил рынок
ну так Денчик так и не может решить куда складывать бизнес логику, приходится размазывать по 5 файлов
Чем заменить бекенд, чтобы можно было деплоить, отпралять/получать данные и вот это все?
Слышал про комбинацию heroku + json-server. Когда проект будет задеплоен на heroku, данные в json с сохранением можно менять?
задачу полностью выкладывай идиот ёбанный, ты сам не видишь что ты хуйню выложил бля? ты блять не видишь что у тебя там субпиксельный рендеринг какой то блять? что там за пиксели темные?
https://ru.wikipedia.org/wiki/Билинейная_интерполяция
https://ru.wikipedia.org/wiki/AABB
https://ru.wikipedia.org/wiki/Алгоритм_Ву
https://ru.wikipedia.org/wiki/Алгоритм_Брезенхэма
в векторной графике все является частным случаем заливки. давайте разберем под микроскопом прямую линию в пикриле. все, мы прошли базовый курс computer drawing.
>>38142
>>38279
я ваще хуй пойму о чем вы.
у тебя окружность - это что? это полностью растровое изображение на синем фоне? или это уже какой-то svg элемент? если второе, то нельзя просто посмотреть размеры этого элемента? если первое, то я даже хз на кой хуй это надо и насколько этот алгоритм должен быть универсальным. если отбросить всю хуйню, то достаточно найти центр твоего квадрата, и начиная с левой стороны, искать первый пихель , отличный от цвета фона, потом найти второй (двигаясь вправо по оси х). это будет, грубо говоря, ширина дуги твоего круга. делишь ее по полам и получаешь координату точки на окружности. находишь расстояние от этой точки до точки твоего центра, получаешь радиус круга. умножаешь радиус на 2, получаешь диаметр (ширину круга/размер). хз. какая задача, такое и решение, лол.
На собесе тебя попросят решить задачу с литкода уровня хард, потом начнут спрашивать про ООП и паттерны проектирования. А ты им "ой, да на дваче код хуевый, зачем вам всё это?"? Манюнь, у всех код хуевый, но это не значит, что тебя не ждёт верчение на хую во время собеса.
а форчан-то тут при чем? блядь, чел. я просто подметил факт, что код говно на дваче. там пробелы и табуляции в куче одной смешаны, стайл кода практически нет, переменные уровня ophui (буквально). какое мне дело до форчана? какая нахуй украина?
Почитай на досуге, что значат такие слова, как "абстракция" и "DSL".
Ну и на jQuery повнимательнее посмотри.
Все функции у него есть, ну надо же.
Проблема в том что логика чуть сложнее ТУДУ или КАУНТЕРА занимает 300+ строк кода.
И зачем ты это подметил, дауненок? Это обычный код и не самый говенный, если ты себе нафантазировал, что большая часть кода это пример идеального кода, то я тебя огорчу - большая часть кода по качеству в разы хуже чем сорсы двача.
Так у тебяж код твой огромный разбит на отдельные маленькие файлы не? Эти файлы и переделывай на тс.
>посоветуете приложение написать чтоб было с норм бэком
что-нибудь корпоративное рилворлд. Допустим сервис бронирования переговорных
Не, это тоже затратно сильно, есть жирные файлы неотрефакторенные, надо бы просто в отдельных методах и отдельных классах определять интерфейсы и типы.
А ну тогда надо тратить время. Либо везде типы any выставить лол. Но сам понимаешь, не лучшее решение
Этого и хотелось бы, чтобы юзать ТС не расставляя типы, чтобы any как бы сами везде были где их нет, ставить их только в узких местах. Охота ТС использовать пока в роли документирования кода как бы, может для небольшого автозаполнения, с дальнейшей перспективой полного перевода. Но походу так нельзя.
Да, да я на реакте не писал а проблемы с бойлерплейтом не существует. Денчик тоже наверное на реакте не писал никогда?
На пике речь о редаксе, а не о реакте.
let dict1 = new Map([...dict(1).entries()]); не работает.
ты че больной нахуй, оно уже слеплено. просто для удобства просмотра консоль их разделяет, потому что бывают очень длинные массивы со всякой хуйней. ну как бля их слепить ручками нахуй join("\n" или ", ") как хочешь как удобно будет бля
почему ты map сортируешь идиот? иди почитай бля че это такое, потом приходи спрашивай
я понял что ты хочешь сделать
Че пиздишь на чела, Map и правда имеет гарантированную сортировку в порядке добавления элементов в отличие от объекта например, неудивительно что кто то пытается их сортировать
Да мне поебать что там Денчик говорит. Аппеляция к авторитетам — хуета. С боейлерплейтом проблем нет при использовании для стейт-менеджмента:
- Mobx
- Effector
- Redux + redux-toolkit
оказалось что у меня в голове жопаскрипт редакции 2014 года, а мап появился в 2015 в стандарте
получается я нуфаг? ну нихуя себе бля
>redux-toolkit
Это когда 10 раз повторяют выучить все пляски с бубном чтоб не менять стейт в редусере, а в тулките спокойно меняют стейт и грят ну тип можно похуй, мы знаем что пляски с бубном это говно бойлерплейт поэтому вот вам послабление
Ты ошибаешься, в redux-toolkit не мутируют стейт, иначе это ломало бы весь редакс. Это выглядит как мутация, но внутри там возвращается новый стейт как и следует.
[A-Z]{0,}-{1}[A-Z]{0,}
Если тебе нужно что-то вроде ABDCS-ASDCDDF
Ты лучше скажи что именно тебе нужно выбрать из текста.
Да потому что говна наворотили, то у них функции без сайд эффектов - делают сайд эффекты хуками, редакс стейт не мутировать - мутируют
Сап, аноны. Нужен макет или шаблон с услугами.
Нужно написать одностаничник для массажного центра. Там должен быть выбор массажа, примерно в виде "квадратов". То есть тупо с ходу клиенту предлагают выбрать тип массажа и забронировать и оплатить. Может, кто-нибудь знает макет по красивше с таким "выбором услуг"?
Короче вот есть вариант /SYSTE--M/ , оно не подходит (нельзя два дефиса подряд), /-SYSTE-M-/ это тоже не подходит (потому что нельзя дефис вначале и в конце), но /SY-S-T-E-M/ НОРМ
И SY-ST-EM подходит? И т.п.?
Тогда одной проверкой ты это не сделаешь.
И, возможно, лучше вообще не регуляркой это делать.
Но, тут уже недостаточно подробностей.
бля жеэсеры такие жеэсеры......
Отдельно списки, отдельно список зон, отдельно принадлежность списков зонам
А где его взять? Мне что еще и бекенд учить? Я же фронтенд учу.
Есть json-server и heroku, но как их связать? Как подключить базу данных? Там какие то postgresql и mysql, мне их еще учить?
Пробовал фаербейс, но там отсутствует пагинация и поиск, по этому решил что-то другое поискать.
Есть у кого опыт работы с json-server + heroku + postgresql? Или какие там еще бд бывают.
>Есть у кого опыт работы с json-server + heroku + postgresql?
у всех есть кроме тебя
>но там отсутствует пагинация и поиск
какие ваши доказательства?
>у всех есть кроме тебя
Где взять его?
>какие ваши доказательства?
Пагинация там это вперед/назад на лимитированное количество элементов, нельзя сразу перейти на допустим пятую страницу.
Поиск это вообще какая-то херня, нужно подключать сторонний софт, который делает снимок бд, и в этом снимке происходит поиск.
А хочется как в json-server, да еще и на хероку, с возможностью загружать, редактировать и удалять данные...
Значит учи бэкенд
Ты долбоеб даже наверное не знаешь зачем это нужно. Ну удачи тебе строить недетерминированные тяп-ляп системы
>с возможностью загружать, редактировать и удалять данны
Ну вот а вы круды ругаете, а без бородатого бекенда не можете, который вам и доке сделает, и swagger и на aws зальет с CORS проксями чтоб могли со своего локалхоста роботать
>строить недетерминированные тяп-ляп системы
Системы строились и без твоей функциональной шизы прекрасно и работают годами, просто вам дали слишком много оперативной памяти вот вы из под шконаря повылазили
>Инб4 деньгами, количеством кода
Раньше меряли количеством строк в проекте, угадай почему писали
if
{
}
А если ты медитировал над таской четыре дня, но в итоге решил задачу охуительно?
>видно начало и конец области видимости.
че ты там увидиш если на 1 одно окно не помещается, ident guides только недавно стали стандартом в редакторах а в дельфи еще в 5 версии можно было сделать бесплатным плагином cnpack, когда в visual studio code надо было покупать платный плагин
в смысле что выглядит нечитаемо, как и все регекспы
нашел способ обмена сообщениями через window.sendMessage(), но он подразумевает обмен, например, с background скриптами (которые тоже не разделяют ничего общего со скриптами страницы).
да и для приема сообщений нужно еще добавлять нужный listener, а как я уже сказал, редактировать скрипты на странице из расширения не получается. замкнутый круг. пробовал так же через window.eval() - не получилось.
каким способом можно подменить нужные скрипты страницы на свои из расширения?
Если кому интересно, то есть решение в виде faunaDB + netlify.
Всегда выбирают золотую середину. Если кто-то может выполнить эту же таску за меньшее время, но чуть хуже, то значит этот кто-то лучше программист чем ты. Еще не мало важен такой скилл как определить важность качественного выполнения, если ты аутист, то будешь даже скрипт-однодневку вылизывать неделю, в то время как хороший программист напишет решение за пару минут, использует его и забудет о нём.
>че ты там увидиш если на 1 одно окно не помещается
Тем более легче если блок длинный. Вот представь длинный блок
if
{
{
}
}
Ты можешь запомнить, что начало это один отступ, если писать
if {
То начало внешнего блока будет путаться с концом внутреннего блока
Tampermonkey расширение.
>Всегда выбирают золотую середину. Если кто-то может выполнить эту же таску за меньшее время, но чуть хуже, то значит этот кто-то лучше программист чем ты. Еще не мало важен такой скилл как определить важность качественного выполнения, если ты аутист, то будешь даже скрипт-однодневку вылизывать неделю, в то время как хороший программист напишет решение за пару минут, использует его и забудет о нём.
сук вот почему нас увольняют
Поэтому я ненавижу фронтент, если увижу что в каком-то браузере на пиксель съехало, что сразу ОКР и про остальные таски забиваю пока не поправлю
есть скрипты страницы - у них свой собственный window.
есть скрипты страницы расширения - content_scripts, туда же tabs.executeScript и так далее - у них свой общий window. а нахуй это надо да хуй его знает, но вот dom у них один и можно его дрючить. соответственно вставить <script> и он будет работать.
я это все продрючил годы назад и под хром и под фирефокс. вот собственно моя функция для вставки своего скрипта в страницу https://pastebin.com/raw/fGxsrJZW
вот это дерьмо я писал для общения скрипта со страницы и расширения https://pastebin.com/raw/1ydKagCp это дерьмо туда же https://pastebin.com/raw/8xpTP7pG
у моей applyScriptToTabHead была важная задача запостить скрипт как можно раньше в начало страницы, но head на странице может быть еще не прогружен и ну она просто вставляла несколько раз пока не вставить ебать, по этому она имеет такой перегруженный вид. вроде бы щас таких проблем нет и можно как то отследить появление head, ну в общем суть я думаю ты все равно уловил так что нехуй тут расписывать больше. что такое cancelInfluence ну это я пытался перезагружать старый скрипт, а что бы это сделать надо было откатить все изменения на странице мной(желательно в идеале), что бы блять не перезагружать и расширение и страницу сайта
на хабре бля были подробные статьи про все это, у меня код вероятно устаревший либо идиотский, я по фану писал как попало. скрипт в страницу я собирал из нескольких файлов руками в цикле, что бы вы понимали
Вот поэтому я в своих ололопроджектах редко двигаюсь дальше верстки страницы.
Ты из TC39? Да сделайте весь жс синхронным как php, нахуя макакам такие заморочки.
>по типу редактирования базы данных, поиск, логин
это же основы веба. тебе вообще не интересно как все устроено под капотом?
тогда просто работай с готовыми апишками
нахуя тебе это? типо можно вызвать случайно какой-то другой диспатч вместо редаксовского?
Т.к. я реакт-макака, и статичный веб только видел, а не создавал, у меня возникло желание попробовать сделать по классике и проникнуться олдовой атмосферой фул-стек разработки. То есть клиент -- просто странички, приходящие с сервера.
Вопрос такой: как мне правильно и безопасно работать с клиентским стейтом без реакта? Понятно, что должен быть жс-файл со всякими полями "идёт запрос", "попап открыт" и т.п. Но как быть при смене страниц? Перед переходом на другую просто сейвить важные данные предыдущего экрана запросом на сервер?
>Может лучше нареакте?
да вот бытует мнение, мол не надо из всего делать СПА... да и попробовать хочется, есть ли жизнь без реакта
>Есть же storage
Ты про local storage браузера?
>бытует мнение
Так это макетодебилы
Если сервер сильно волнуют твои драгоценные данные - постишь форму
Если не сильно волнуют - кладешь в куки
Если не волнуют -
Если фронт сильно волнуют твои данные - кладешь их в localStorage
Если не сильно - в sessionStorage
Всегда можно в урл страницы добавлять всякие данные, но зачем
В query - если нужно для сервера, в hash - если не нужно (но hash все же лучше оставить для якорей)
Нет. Нет. Это абсолютно бессмысленно.
спасибо. я вроде разобрался немного. сделал похоже, создавая дочерний элемент script в body (после скрипта двача) и передавая в него строки кода. сейчас думаю как правильно отрендерить посты на странице, иначе изменения в моих скриптах применяются только к новым постам на странице, потому что скрипт двача выполняется раньше моего (но это так и нужно, от части).
кстати, строку можно формировать в коде так:
const str = '(' + function() {console.log('sdsad');};
т.е. достаточно добавить любой символ, а дальше писать как обычный код, но только нужно обернуть в функцию (без стрелочных), если это изначально не функция. а потом просто удаляешь ненужные символы из строки каким-нибудь slice().
Из твоего кода не совсем ясно что ты хочешь. В JS нет перегрузок методов, рантайм ничего не знает про типы и если ты хочешь чтобы функция вела себя по разному в зависимости от входящих данных, то прописывай все ифы руками. Алсо, по-моему это антипаттерн и ничего кроме головной боли не принесет.
>Алсо, по-моему это антипаттерн и ничего кроме головной боли не принесет.
Хотя, если аутпут консистентный или определяется через дженерик, то норм.
Если ты заранее не знаешь какой тип данных тебе придёт, то остается только делать проверки, если знаешь, то оборачивай http.get в методы типа httpGetBytes, httpGetString и тп, а внутри этих методов уже работай с нужным типом данных.
>Если ты заранее не знаешь какой тип данных тебе придёт, то остается только делать проверки
array.push === undefined
если ты будешь удалять символы, в случае глобальных переменных или функций, которые будут использоваться/переопределяться, то const не даст, очевидно, редактировать строку.
>заранее не знаешь какой тип данных тебе придёт
В нормальном языке не надо тратить 30 гигов оперативы чтоб узнать какого типа переменная, функциональщики и динамщики всю индустрию пустили по пизде
Проиграл с дебила. Во всех языках тип данных узнается из значения заголовка ответа Content-Type.
Там же не придёт arraybuffer, http сделает json.parse и если там не json строка то все наебнется. get принимает responseType (или как то так) - и таймскрипт тогда уже тебе скажет, что да, тут ArrayBuffer, потому что у get написаны эти перегрузки
>тип данных узнается из значения заголовка ответа Content-Type
лол, ну придет тебе json, а дальше сам вспоминай какая там структура в нем, а любая опечатка как в самом json так и в обработчике наебнет продакшен
Да, я так уже сделал. Блин, очень конечно "удобно", что с типом ArrayBuffer и ошибку придется декодировать в стринг из потока битов.
json это обычная строка, дурачок. Как распарсить json-строку - задача того кто её принимает, в любом языке есть стандартные JSON-парсеры.
Ты уж определись, то у тебя компиляция приложения не происходит, то у тебя оно крашится. Runtime/Compiletime - слышал о таком?
Т.е. это просто окружение, в котором выполняется функция/код?
Failed to compile.
Если пик2 превратить в пик3, то одной ошибкой меньше, а когда все такие ошибки линтера исправить, то все компилируется как нужно. Это не критическая ошибка, я не забыл закрыть тег и не пытаюсь переопределить константу, приложение должно скомпилироваться в браузер и отобразить в консоли предупреждения о нарушении правил линтера. Вместо этого компиляция падает. Такая хуйня происходит после обновления реакта до 17.0, на предыдущей версии все работало как я сказал выше. Как фиксить?
>я не забыл закрыть тег и не пытаюсь переопределить константу
Так линтер не для этого предназначен, он предназначен для того чтобы код от разных разработчиков выглядел однообразно.
>Как фиксить?
Удалить линтер, либо задать в нём соответствующие настройки.
Вот еще пример, двойные ковычки вместо одинарных - Failed to compile.
>задать в нём соответствующие настройки.
В прошлом проекте, в package.json версия реакта 16.13, когда нарушаются правила линтера, он просто сообщает об этом в консоль, компилируя приложение.
В этом проекте новая версия реакта - 17.0, все те же настройки для начального проекта, он полностью пустой, но если есть error то приложение не компилируется.
Напиши мультиплеерный cookie-clicker.
Очевидно, что в 16.13 дефолтные настройки отличаются от тех что в 17.0, чтобы их изменить нужно их перезаписать.
Или поставь в VSCode lint-fix на сохранение
ну это очередной инструмент рассеивания внимания программиста. вместо того, что бы сначала написать основную мысль и уже потом дорабатывать ее, оформить в удобочитаемый(уебанский) вид, среда разработки будет серить ошибками и желательно в реальном времени.
даже блядская мигающая каретка, зачем она мигает? это же пиздец. еще планирую заменить лгбт раскраску кода на черно-белую или типа того
Вброшу на вентилятор - vue в отличии от реакта и ангуляра хорошо себя показал на невъебательски жирном проекте.
Похоже на то, но в интернетах не нахожу никаких статей на эту тему.
>>40485
>>40488
Лично мне линтер помогает, но в 17.0 он внезапно начал вести по другому.
>>40488
Мигает и мигает, а вот подсветка синтаксиса мастхев, иначе все выглядит слишком однообразно, и время тратится на поиск тегов/переменных а не на кодинг.
Потому что за реактом стоял Facebook а там на неего все дрочат.
За Ангуляром стоял Гугл. На него вообще все дрочат.
А за ламповым Vue - какой-то пиздоглазый.
хватит булки жевать жиробасина! покажи как ты ахуенен паскуда тварь - прочти это https://sass-lang.com/guide сук!
Доходом проекта, на котором ты ебашишь.
Двач посреди рабочего дня твое внимание конечно же не рассеивает.
>Мигает и мигает, а вот подсветка синтаксиса мастхев, иначе все выглядит слишком однообразно, и время тратится на поиск тегов/переменных а не на кодинг.
есть состояние потока блядское, это когда занимаешься простыми рутинными задачами часами и не заебываешься. меня вот посади перекладывать бумажки часами - я заебусь уже через пять минут, потому что у меня нет навыка именно перекладывать бумажки, мне скучно будет, а вот если бы я это каждый день делал, ну и разумеется ощущал в этом какую то нужду, я бы с энтузиазмом хуярил по несколько часов.
но это про простые задачи. для сложных задач есть режим гиперконцентрации - многие авторы статей путают его с состоянием потока. состояние потока это про простые рутинные задачи, то есть типичная каждодневная работа например таксиста, верстальщика. гиперконцентрация это про решение одной сложной задачи часами. если хотите, то гиперконцентрация по эволюции это про охотников на животных, а поток про собирательство.
когда придумываешь концептуально новую хуйню, тебе не нужны будут никакие переменные, ты их выучишь просто нахуй, а если не выучишь или будет че то мигать на экране, то будешь постоянно выпадать из продуктивного режима и хуйцов насосешь на галерах в итоге хех
В HTML имеется многоуровневый список (уровней сколько угодно)
Вводится строка формата x.x.x.x - номер элемента (напр. 2.3.1)
Как получить этот элемент в JS без сторонних библиотек?
Пытался сделать через children/childNode но ничего хорошего не получилось(
А у нас вот получилось. Но код естественно никто тебе не покажет, потому что ты и сам такой
Мало того, заебывает еще и то, что если начинать прописывать js внутри jsx, vscode вообще не понимает что я хочу сделать и просто становится блокнотом, пока я сам не закрою финальную фигурную скобку. То же самое со всеми импортами и css файлами, VS-у вообще похуй, на все, что находится не в самом файле. Мне какие-то плагины накатить нужно, или забить на vscode и съебать в вебшторм?
Чем пользуетесь сами?
Получи все потомки первого уровня, чекай их innerHTML, как только нашёл нужный запрашивай его потомки.
Потому что Array.from не мутирует исходный массив, а возвращает новый. Пиши: const temp = Array.from(new Set(array));
А как ты узнал, что не удаляет? Ты ведь никакой переменной не присваиваешь результат вызова Array.from
Предпочитаю сосать хуй в webstorm
>var obj = {one: 1, two: 2};
>var {one: first, two: second} = obj;
Я не могу понять, почему присваивание во второй строчке нужно читать задом наперед.
В первой строчке конструкция А:B значит, что свойству слева присваивается значение справа.
Но во второй строчке конструкция А:В значит, что переменной справа присваивается значение свойства слева.
Что за хуйня? Это должно быть очевидно? Кто решил, что это удобно?
это синтаксический сахар.
>Но во второй строчке конструкция А:В значит, что переменной справа присваивается значение свойства слева.
нет там берутся значения из obj и присваиваются one и two. справа у тебя obj, ему нихуя не присваивается, ты же утверждаешь, что ему че то там присваевается и это видите ли не очевидно. ну так если у тебя бардак в башке бля нахуй ты вылез вообще?
а ну да я понял тебя сори. это бля все делается специально, что бы во время напряженной работы внимание и концентрация у тебя были постоянно рассеянные.
почему? почему бля? для угнетения твоей мускульной токсичности, ты же мужчина ебаная, вот тебе и не логично. что бы ты не мог использовать весь свой мужитский потанцевал и был на уровне бабы
>>40700
Ты какой-то ебанутый.
>нет там берутся значения из obj и присваиваются one и two. справа у тебя obj, ему нихуя не присваивается, ты же утверждаешь, что ему че то там присваевается и это видите ли не очевидно. ну так если у тебя бардак в башке бля нахуй ты вылез вообще?
Я говорю про конструкцию А:B.
На первой строчке она работает так: А - это название свойства (one), В - это значение, которое присваивается (1).
На второй строчке все внезапно наоборот. В - это название переменной (first), а А - это значение, которое присваивается из obj.
Я спрашиваю: нахуя было делать такой синтаксис, который меняет правила на ходу просто потому что?
>А - это значение, которое присваивается из obj.
Поправлю себя: значение, которое присваивается из obj через название свойства.
То есть да, формально и там, и там А - это название свойства. Но у него разное предназначение: в первой строчке ему просто присваивается значение B, а во второй строчке к нему идет обращение, чтобы получить значение и присвоить его уже B.
Короче, если кратко, мой вопрос в том, почему нельзя было при разработке стандарта запилить такой синтаксис:
>var {first: one, second: two} = obj;
Тогда бы сразу было очевидно, что переменной first присваивается значение свойства one, а переменной second присваивается значение свойства two.
Нихуя ничего никому не присваивается сука, в первой строке у тебя one это контейнер для значения 1, во второй строке ты через деструктуризацию говоришь, разьеби обьект obj вытащи оттуда значение хранящееся в one и положи его в first, но нахуй так жить если можно тупо ебнуть let {one,two}=obj,
> Ты какой-то ебанутый.
я не могу вспомнить я дрочил седня или нет
>>40714
там суть претензии в том, что присваивание обычно слева направо, то есть переменная = значение. там всего лишь оператор и два операнда, бывают всякие извращенные синтаксисы типа операнд2 операнд1 оператор, но обычно действительно есть закономерности и они обычно соблюдаются в рамках одного условного языка.
а здесь явное нарушение. допустим приходит жысон {asd_das: 123}, я его ебошу let {asd_das: asdDas} = jison. понятное дело, что у жысона у парсера можно настроить, что бы он сам это делал, но это же действительно какая то необъяснимая хуета, нет причин не делать этот сахар с правильным общепринятым порядком операндов
Считай что в этом контексте это оператор as
Какого хуя настолько много компаний, которые не хотят нанимать нормальную фронтенд-макаку, а хотят нанять больную макаку с родовой травмой, которая откастомизирует темку для CMS и все это будет называться САЙТ.
>В чем секрет популярности ебаного битрикса?
Потому что это продукт 1С, 1С это распиаренная параша на территории всей страны, их говном пользуется большая часть предпринимателей и гос. предприятий, т. е. почти весь бизнес в этой стране. Отсюда и спрос на битрикс.
>которая откастомизирует темку для CMS и все это будет называться САЙТ.
Потому что это дешево и быстро. У людей нет денег для того чтобы платить как минимум 80к реакт макаке и еще пригоршне нахлебников для того чтобы получить чуть более лучший результат, чем если нанять одного человека за условные 50к и получить готовое решение на основе шаблона.
Когда бизнес кабанчика находится на заре становления, то кабанчик не брезгует и на такси добраться до нужного места, когда бизнес кабанчика находится на пике, то ему как минимум нужна машина премиум класса с личным водителем.
Так и с этим. Бедным кабанчикам похуй, им хоть на голом html сайт создавай, лишь бы работало.
То есть там какая-то глубокая интеграция с 1С продуктами? Просто я вижу, что даже там, где реакт на реакте и реактом погоняет, есть этот битрикс. Я пока не шарю особо в ЦМС, поэтому думал, что битрикс используют потому что все по-русски и можно нанять контент-менеджером чела который не знает английский и платить ему вполовину меньше. Стоит вообще в этом битриксе копаться? Я раньше не обращал внимания, но сейчас смотрю эта залупа прям дохуя где.
И еще вопрос. Если я нахожусь на +- Intermediate уровне работы с реактом. Узнал недавно про react native, сама идея показалась мне интересной. Насколько сильно нейтив отличается от дефолтного реакта? Обязательно ли уметь программировать под андройд\айос, чтобы освоить реакт нейтив? И самое главное, насколько он сложен по сравнению с обычным реактом?
>То есть там какая-то глубокая интеграция с 1С продуктами?
Да.
>Стоит вообще в этом битриксе копаться?
Если хочешь легких денег и тебе похуй на будущее, то стоит, если хочешь расти как программист, то не стоит.
>>41139
Возьми да посмотри, что за вопросы? Реакт нейтив как раз и создавался для того чтобы человек не знакомый с джавой, свифтом, айос и андроидом мог писать приложения для мобилок. Освоить его не сложно, но вот возможности у него ограничены.
В ангуляре надо чтобы по нажатию на button данные в заполненной таблице (table) передались на бэк. Как это сделать?..
Я не знаю ангуляра от слова совсем, но вангую надо сделать кнопке onSubmit ивент, который будет axios'ом отправлять данные на бэк.
>Если хочешь легких денег и тебе похуй на будущее, то стоит, если хочешь расти как программист, то не стоит.
Дело не в деньгах, а в том, что все чаще и чаще в вакансиях в разделе "будет плюсом" идет "знание битрикс". Ну то есть чисто поковырять чуть чуть, чтобы на собеседовании выебнуться.
Естественно, надо быть сумасшедшим, чтобы ограничиваться себя клепанием шаблонов на цмс.
>Возьми да посмотри, что за вопросы?
Пока времени нет особо, я уже занят одной хуйней.
>Освоить его не сложно, но вот возможности у него ограничены.
Ну это надо полагать, вангую там все сводится к показу красивой картинки и отправки\получению данных с\на сервер.
Сейчас бы мыслить категориями «бизнес в вебе это интернет-магазины». Ты бы хоть hh открыл, посмотрел бы на какие проекты Реакт-разработчиков ищут.
Заходил, битрикс и вордпресс
гуглишь свой блядский город "создать сайт городнейм", находишь такую залупу, все сайты на битриксе, клепают их в астрономических количествах, заходишь спрашиваешь почему они это делают, профит
Гомосек!
Сам то понял что спизданул, долбоебина?
так и таблиц нормальных нету чтоб данные отобразить красиво как было изкаробки в flex и gwt, приходится прикручивать jquery w2ui
Успешные друзья подсказали, что нужно делать одностраничный сайт в котором все старницы рендерятся через жс. Сказали что много фреймворков так умеют. А я не соображаю в этом. Подскажи что мне делать?
Прямо полностью? А можно оставить бэкэнд на старом фреймфорке? Есть возможность ajax-ом рендерить страницу которую собрали на бэке? Как переписать сайт на реакт?
И в чем конкретно его лапшевидность? Простая функция, сайд-эффекты схлопнуты в onSubmit, мутаций нет, каких-то неочевидных связей нет. Мне все прекрасно понятно, хотя я никогда не имел дела с формиком.
>Прямо полностью?
Ну да.
>А можно оставить бэкэнд на старом фреймфорке?
Если он нормальный и там только API, то вообще пофиг на чем он, если бэк страницы рендерит, то не стоит.
>Есть возможность ajax-ом рендерить страницу которую собрали на бэке?
Есть, dangerouslySetInnerHTML к твоим услугам. Но если там еще и скрипты, то хз как это франкеншейн будет работать.
>Как переписать сайт на реакт?
Наворачиваешь create-react-app, открываешь редактор, пишешь.
react-final-form
>И в чем конкретно его лапшевидность?
В том, что это все намешано поверх jsx.
Я тебе таким же образом могу сказать что и жквери код где смесь сеслекторов, разметки и логики - это не лапша, а все очевидно и понятно. Но нет - это говно.
И это весь твой аргумент? Очевидно, что это пример из демки и функции можно вынести из рендера инпуты заменить на кастомные и т.д.
декомпозиция. слышали про такое?
Ты совсем дурак. Очвеидно, что и на жквери можно писать структурированный код.
так чем реакт от жквери отличается?
А разработчикам из фейсбука которые годами использовали html and css and js in php норм.
>Очвеидно, что и на жквери можно писать структурированный код
С этим я и не спорил. На всем можно.
>так чем реакт от жквери отличается?
Предсказуемой декларативной моделью работы с DOM в первую очередь.
Алсо, покажи-ка хороший фронтовый код. Ну так, чтобы я хоть знал что ты там защищаешь.
Инб4 РЕАКТ ЭТО БИБЛИОТЕКА А НЕ ФРЕЙМВОРК
Да.
>dangerouslySetInnerHTML
Что-то страшно. Разд другого способа нет, значит буду учить реакт. Спасибо.
ангуляр бы показал еще лучше
>орет про мутабельность
>сразу же обсирает редакс и предлагает мобкс
Вголос с маньки. В редаксе самая строгая, чистая и эксплиситная иммутабельность. Есть бойлерплейт код, но он только помогает на больших проектах. Когда у тебя 200 экшнов, сотка редьюсеров и большой стейт с кучей данных, только тогда начинаешь понимать почему редакс сделан так как он сделан и в чем его преимущества у остального мусора.
Для даунов даже тулкит сделали, чтобы меньше кода писать, только умные дяди понимают, что с тулкитом теряется одна из основных фишек редакса - хэндлить один и тот же экшн в разных редьюсерах и хэндлить множество экшнов в одном редьюсере.
>>41671
```
useModel: () =>
useStore(
combine({
pageSize: $pageSize,
currentPage: $currentPage,
currentTag: $currentTag,
totalPages: $totalPages,
isEmptyFeed: $isEmptyFeed,
}),
),
```
```
const $feed = createStore<types.Feed>({
articles: [],
articlesCount: 0,
}).on(
[setFavoriteArticleFx.done, setUnfavoriteArticleFx.done],
(state, { params, result }) => ({
```
Удачи работать с подобной хуйней в хотя бы среднего уровня проекте.
>>41673
Да все уже выбрали давно, просто зумеры не понимают принципы фп и хотят "шоб быстрее нахуярить можно и шоб меньше кода", отсюда и все новые библиотечки для стейта. Они клевенько смотрятся в туду листах, в реальных проектах все как обычно сводится к ситуации, когда хуй поймешь где что происходит и как у тебя стейт меняется.
Вся суть редакса в том, что заставляя писать код под бойлерплейт и накладывая ограничения на стейт, ты пишешь предсказуемую и скалируемую систему.
Вьюкс в этом плане очень близен к редаксу.
>орет про мутабельность
>сразу же обсирает редакс и предлагает мобкс
Вголос с маньки. В редаксе самая строгая, чистая и эксплиситная иммутабельность. Есть бойлерплейт код, но он только помогает на больших проектах. Когда у тебя 200 экшнов, сотка редьюсеров и большой стейт с кучей данных, только тогда начинаешь понимать почему редакс сделан так как он сделан и в чем его преимущества у остального мусора.
Для даунов даже тулкит сделали, чтобы меньше кода писать, только умные дяди понимают, что с тулкитом теряется одна из основных фишек редакса - хэндлить один и тот же экшн в разных редьюсерах и хэндлить множество экшнов в одном редьюсере.
>>41671
```
useModel: () =>
useStore(
combine({
pageSize: $pageSize,
currentPage: $currentPage,
currentTag: $currentTag,
totalPages: $totalPages,
isEmptyFeed: $isEmptyFeed,
}),
),
```
```
const $feed = createStore<types.Feed>({
articles: [],
articlesCount: 0,
}).on(
[setFavoriteArticleFx.done, setUnfavoriteArticleFx.done],
(state, { params, result }) => ({
```
Удачи работать с подобной хуйней в хотя бы среднего уровня проекте.
>>41673
Да все уже выбрали давно, просто зумеры не понимают принципы фп и хотят "шоб быстрее нахуярить можно и шоб меньше кода", отсюда и все новые библиотечки для стейта. Они клевенько смотрятся в туду листах, в реальных проектах все как обычно сводится к ситуации, когда хуй поймешь где что происходит и как у тебя стейт меняется.
Вся суть редакса в том, что заставляя писать код под бойлерплейт и накладывая ограничения на стейт, ты пишешь предсказуемую и скалируемую систему.
Вьюкс в этом плане очень близен к редаксу.
>Нахуй вы юзаете js без ts
А нахуй нуден твой ts? тел ми плз. Если ты криворукий долбоеб, который без линтера, стат анализа, и слюнявчика код писать не умеет, то кто в этом виноват?
Валидируешь в компайл-тайме. Ой, малаца!
А что с ними? Типизируются так же как и любые другие аргументы.
Ты пишешь без TS и линтера и еще гордишься этим? Чел...
Делаю жалкое подобие фронта на Vue (-tify) для одной домашней махарайки, для себя.
Так вот, после нескольких секунд работы страница становится крайне не отзывчивой: данные вроде обновляются но на нажатие кнопок \ чекбоксов не реагирует или реагирует с задержкой; кроме того данные на графике выглядят как-то рвано.
Может кто-нибудь из опытных глянуть - что не так?
Ошибки, скорее всего. не серьёзные, точно не как в крупных проектах.
Скажите как скинуть проект или как с вами связаться.
Ух как я люблю курсы. Меня хлебом не корми, дай курс посмотреть.
Подскажите хороший курс по Тайпскрипту. Доку читал, но люблю когда мне расжевывают.
А что даст видеозапись и как она поможет с кодом? о_о
react-hook-form
> без линтера, стат анализа, и слюнявчика код писать не умеет
Yandex не умеет похоже, раз даже flow их говнокон не осиливает типизировать и они все переписывают на тайпскрип
То же самое, что настоящая функциональщина, настоящее ооп, настоящий яп, и настоящий программист.
вот сам сайт девэкстрема, где я это увидел https://js.devexpress.com/Demos/WidgetsGallery/Demo/DropDownBox/SingleSelection/NetCore/Light/ спиздить просто так не получится, но мне нужно максимально похоже, как это сделать блин, у меня получилось чтоб список был выпадающим, но не могу додуматься, как реализовать сокрытие/раскрытие через стрелочку
с кодом это как? просто у всех childNodes убрать display:block или че, я туплю чет, не понимаю вроде очевидной хуйни
Потому что фронтенд - это не верстка однотипных сайтов, а программирование различных приложений которые предназначены для взаимодействия с конечным пользователем какая будет платформа - веб, десктоп, мобилка или вообще консольная дрисня - похуй, но это фронтенд. Соответственно у него задачи другие по сравнению с сайтостроением. Это раз.
Два. Цмс-ки как раз нацелены на то, чтобы можно было наклацать типовой сайт мышкой (и чуть чуть поправить тему). И зачем для такого нанимать ораву фронтендеров, если с этим справится и один контент-менеджер, верстун или эникейщик?
>>41186
>Дело не в деньгах, а в том, что все чаще и чаще в вакансиях в разделе "будет плюсом" идет "знание битрикс". Ну то есть чисто поковырять чуть чуть, чтобы на собеседовании выебнуться.
Мало веб-галер штоле?
Потому что веб нужен не только для однотипных интернет-магазинов и блогов. Так было и в 00е (вспомни игры, приложения на Флэше или Жабе), и тем более сейчас.
Попробовал бы ты сделать какой-нибудь Пеинт, личный кабинет банка, таск-трекер и пр. на Вордпрессе...
Тем что Реакт инкапсулирует всё обновление DOM на основе изменения данных в ядро. Жиквери - просто либа для кроссбраузерного DOM management, анимаций и пр.
Аналогия такая. Браузер - это процессор. Жаваскрипт - это машинный язык заточенный под конкретный процессор. Жиквери - это кроссплатформенный ассемблер (который компилится в нативный машинный код). Реакт - это Жаба + JVM, которая инкапсулирует в себе функции для работы с дисками, памятью, устройствами и пр.
Я просто не понимаю, если "в вью в отличие от реакта есть настоящая реактивность", то что это значит? Что на вью можно сделать что-то, что нельзя на реакте?
Просто рептилия хочет нанять сеньора по цене джуна. Если вкатун/джун - надо наглее быть. Если мидлосеньор то вообще избегать галер.
Ну тип поменял переменную - все computed поля обновились, дом обновился.
В реакте надо делать setState. И все, "реакт это запомнит". Потом, когда нибудь, он обновит дом
beginPath
export interface Employee {
name: string,
age: number
}
Надо определить что-то типа интерфейса Employees, где не один такой сотрудник, а несколько. Пока импортирую Employee и обозначаю переменные вроде let people: Employee[]
Если для тебя бизнес - это перепродавать и наебывать вещи со склада а то и других магазинов, то ты и о самом бизнесе мало что знаешь
Ну так и работай дальше с руснявыми кабанчиками-заказчиками
А я буду и дальше кодить из ламповой Чехии на модном проекте
Если у тебя высокая толерантность к риску, дохуя коммуникабельный, альфовый, не тревожник и пр. то лучше. В противном случае лучше на кабанчика как можно лучше и повышать свой статус а потом жить на стонксы.
Ору ещё больше. Ща бы думать что тс и линтеры нужны чтобы править код и тд ) аххахахахахахахах бля .
>>41668
Ору ещё больше. Где я писал что мутабельный редакс пыгло?))я написал что главный минус говновьюкса это мутабельность. А редакс просто исчерпал себя и если тебе нужен скалируемый бойлерплейт то пиздуй в ангуляр , нахуй вообще в реакт/редакс полез.
>>41671
Ща бы даже не чекнув суть, модель эффектора (а именно теорию графов и тд) и защищать мертвый флюкс подход к стейтменеджменту блять. Я как бы на реакте с 2014 , и его юзал и Эмбер и ангуляр и редакс и мобх и вьюкс и рх. Флюкс арзитектрура пахнет как мертвая собака уже давно. (Вы ещё наверно БЭМ адепты, которые не понимают что только часть бэма ещё пригодна для жизни, сори но это самое точное сравнение консервативных кодеров которым сложно в развитие )
Ничего. Бери то что нравится или нужно для конкретного проекта. Среди ангуляра эмбера реакта вью нет сейчас лучшего фрейма или говно фрейма.все подходят и могут решить любую задачу в целом. Я обычно собираю тимы например под вью/реакт.
Рофл с разморозкой
Композишн апи не заменяет см. Ты и на опшинс апи мог юзать аналоги композишена и хранить данные вне см. Смысл Стейт менеджера не в этом. И смысл композишена во вью это замена ебаных миксинов, уход от эмитов и логическое объединение кода в композиции
СТИЛЬ БЕЗ CSS
@
РАЗМЕТКА БЕЗ HTML
Через JS у тебя есть доступ к style свойству у DOM элемента, если ты про это.
Можно навесить на кнопку обработчик onmouseover и менять сорц кнопки-картинки. Так делалиЭто был один из рабочих способов другой - навесить флэш-дрисню во время популярности Ослика и отсутствия нормального стандарта цсс. Только вот нахуя это щас делать, если с цсс этот эффект работает быстрее (т.к. цсс-эффекты оптимизированы под работу на видеокарте)?
да, действительно, никак не задать. предположим даже если скрафтим css средствами жопайскриптом и вставим в интересующий нас элемент, эти стили будут работать на всей странице. НО подождите, постойте, мы ведь можем сделать стили для конкретного селектора, почему нет?
из этого вытекает много проблем, но тем не менее это работает. какие еще проблемы, все же работает? - ну это банально бардак на странице будет, такие практики совсем не развиты, потому что обычно люди все таки могут дописать в ксс файл че то нормальным образом.
якобы есть нормальный способ - https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave + element.style - вот его и используйте. лично я считаю, что ты в любом случае намешаешь кучу говна, так что я разницы принципиальной не вижу как ты будешь ховер блядский делать обезьяна
78.8 килобайт жс, чтобы сделать список с пагинацей. Нет, спасибо.
У ангуляра свой хттпКлиент присутствует. Это ж не реакт дрисня, где надо брать хуй пойми чьи либы на любой элементарный пук
Если тебе для реакта и редукса недостаточно офф документации, то проблема не в подходе, проблема в наборе генов.
ты че пес людей обижаешь, он про кривую забывания спрашивает, а не про освоение документации
Червь прошедший курсы хтмл академи ты?
Чел пчелибас, я и урок могу тот же самый пересмотреть, вопрос не в том же как понять, чел пчел
2. И ещё такое дело, почему при достижении 0 цикл прерывается, если в условии просто указано само наличие переменной i? В чём проблема зайти в минус? Приложил пикчу.
Кхм 1. i++* фикс
>если по идее результат должен возвращаться к исходному
>если в условии просто указано само наличие переменной i
ну бля с такой ебливой логикой while должно возвращать какое то значение, а оно бля не возвращает. 1 + (while(true){}) почему не работает бля даже не запускается, я ведь так хочу и идите все нахуй стандарты и справочники я захотел
да бля идите нахуй стандарты
разве важно, что он делает? важно то, что нужно тебе. тебе разве важны какие то темки для сайтов? нет, двач капчуется и без всяких там тем. я скажу, что важно для тебя, что развеет твою скуку и тоску - напиши свой язык на ассемблере, вот решение всех твоих проблем
глубокая мысль, я бы даже сказал проникающая.
Нет, двач не капчуется без тем. Я как раз на двач и ищю ту самую, что у меня стояла. Хули то так лагает?
я вижу, что твои чакры засраты и плохо циркулируют. ничего страшного, так бывает, но это можно исправить. "зачем мне что то исправлять я тыщу лет капчую уже мне нормально" - во сне человек не понимает, что он спит. ты сейчас спишь. и как же проснуться? как обычно, делай кратковременное усилие, и расслабься, сделай еще усилие, и еще расслабься, подобно фазам биологического сна - чередуй их, и тогда ты сможешь наконец таки проснуться. ты поймешь, что ты был голоден - и ты сможешь утолить свой голод, ты создан для этого, у тебя все есть для этого. когда закончишь делать свой язын на ассемблере, не забудь разбудить остальных, ведь они так этого ждут
>Настоящая реактивность
Проиграл с подливой. Нету там настоящей реактивности, ну нет. Она есть в Солиде, Синоусе, но ее нет ни в реакте, ни уж тем более говновью.
Так, я понял тупость своего первого вопроса, но блять, так и не понял как постинкремент работает. Но с этим постараюсь как-нибудь разобраться сам.
Но хотелось бы чтобы мне всё же объяснили, почему при достижении 0 с условием, где не указано ничего кроме "i", цикл обрывается. Почему не может например указываться 0, а за ним -1, -2, -3 и тд?
>>43043
Ну ладно первое, но как мне ещё трактовать блять тупа букву i в скобках? Я только вкатываюсь, что думаю очевидно, и про подобную вещь объяснений никаких не видел.
>так и не понял как постинкремент работает
я сделал пикрил как он работает, почти полное соответствие. в жопаскрипте нет указателей или чего то такого, по этому я не могу добиться полного соответствия.
>Но хотелось бы чтобы мне всё же объяснили, почему при достижении 0 с условием
для тебя я сделал еще один пикрил, так сказать древние знания, иероглифы на стенах
все программирование держится на ссылках, значениях и операторах. значение может быть ссылкой, ссылка может быть значением, оператор может быть ссылкой, значением и так далее комбинируй как хочешь. это единственная концепция.
в жопаскрипте переменная(ссылка) не может быть значением, по этому оператор while не может знать пустая переменная или нет, ему передается только значение переменной, а это значение ноль, значение преобразуется в "да/нет", в данном случае это "нет", оператор в следствии заканчивает свою работу.
оператор инкремента делает два действия, он перезаписывает значение, на которое ссылается переменная, увеличив его на единицу, если это возможно. и возвращает результат своей деятельности. в случае постфиксного инкремента, "возвращается" копия значения до изменения, но само изменение происходит.
И я естественно не могу нихуя понять, гайды с ютуба делаю все понятно, читаю код тоже все понятно. А вот написать просто нихуя не получается. Я даже не могу понять где точка ставиться и где пробел, а главное почему. Уже сказал учебник JS для детей, вроде все понятно, но даже задание из учебника сам сделать не могу. Будто бы есть какой-то принцип, который всем понятен, но его нигде не пишут короче, как понять JS?
С джсом все нормально, учись программировать
Сколько тебе лет? Если больше 18, то значит программирование это просто не твоё. Не бывает волшебной книги, волшебного видео, волшебного поста на дваче, который сделает из умственно отсталого нормальным.
Тебе нужен живой ментор, который на пальцах раскидает тебе суть и принципы - от самого синтаксиса до конкретных абстракций. Хоть на кубиках, хоть кружочками маркером на доске. Ты просто пропускаешь мимо ушей все, потому что не вникаешь. Это как в школе на чтение - все помнят, что нас заставляли читать вслух, и никто почти не вникал в то, что читает. Да, потому что не слишком умный, но даже тебе можно все объяснить при индивидуальном подходе. Так что ищи живого человека.
Ну когда ты управляешь своим стейтом
Это лучшее, что случалось со стилизацией за последние годы. И автокомплит есть.
This.
>>43436
>потому что не вникаешь
Двачую все так, человек может и хочет научиться, но неосознанно делает это неэффективно.
По факту можно поставить задачу - нарисовать кубик, раскрасить кубик, по клику передвинуть кубик. Идем гуглим, как рисовать, двигать, кликать кубик. Получаем все инструменты, тут и события, и DOM, и css немного.
Примеры из учебника, лучше делать по своему, на своих аналогиях, упрощать до минимума, что бы было понятно.
Продолжай пытаться. В какой-то момент все «кликнет» и встанет на свои места. И ты сразу поймешь что можешь закодить вообще все что угодно.
Только так и делают, а чего ты ожидал? Jquery и XmlHttpRequest с аяксом?
Чтобы было легко понимать где у тебя функция, а где класс.
При помощи строк, например, можно любой тип данных выразить - "word" - обычная строка, "w,o,r,d" - а это например строка-массив. Вот только если начнёшь создавать что-то более-менее объемное в плане кодовой базы, то ты быстро начнёшь путаться где у тебя обычная строка, а где строка-массив.
Вот так и с этим. Чтобы лишний раз не гадать где у тебя функция-конструктор, а где функция-утилита создали классы.
Но ведь классы тянут за собой разные доп зависимости которые могут не понадобится или нет? Просто только начал учить могу нихуя не понимать
Никаких зависимостей, они уже внесены в стандарт.
Учить нужно всё подряд, отсеивать нужно опытом.
Что уже реализовано: сайт запилен, sql база данных c dummy данными запилена (и успешно отображается на моём сайте), сам скрипт ещё в процесссе разработки и возник вопрос - не знаю каким методом мне пересылать данные о предметах/локации к себе в базу данных. С JS познакомился совсем недавно и с общением с серверами ещё не знаком. Я же не могу напрямую слать данные в свою базу данных, так как для коннекта нужно слать пароли от базы (а скриптом будут пользоваться совсем левые игроки). Мне не нужен конкретный код, а помощь советом в каком направлении копать, делается ли это через xmlhttprequest (не особо пока в этом шарю) или какой другой метод? Просто не догоняю, что должно выступить посредником между базой данных и кнопкой скрипта, которая отправляет инфу о предметах.
Через скрипт отправляешь запрос на свой сервер (для этого нужно будет особенные права от пользователя, иначе тебе CORS не даст ничего отсылать), а сервер уже записывает все данные в базу данных.
Реквестирую самый быстрый алгоритм факторизации длинного числа XXXXXXXXXXXXXXXXXXXXXXn
Что ты под факторизацией подразумеваешь - 10 -> 2 5 или 123 -> 1 2 3 или 155 -> 100+ 50 + 5?
>xmlhttprequest
Да.
В своем скрипте собираешь нужные данные, отправляешь их себе на сервер, на своем сервере принимаешь запрос и делаешь запись в БД из него.
>есть одна браузерная игра
я бы на твоем месте начал с того, что попытался бы выдрать данные о предметах со страницы игры. В зависимости от того, как и на чем написана игра, задача может колебаться от простой до невыполнимой. Флеш до сих пор жив.
Если ты пытаешься реанимировать грибач, то не парься, он всё равно умрет в ближайшем времени. Как же жалко, сука....
>Если ты пытаешься реанимировать грибач
Ебать, Ванга в треде. Ну во-первых ещё 2 месяца есть в запасе поиграть, а без астропада играть хреново, решил своё подобие астропада запилить, после того как в очередной раз спиздили огнетушитель и не сказали где положили. Во-вторых просто для себя полезно выучить что-то новенькое.
Спасибо, будут вопросы, спрошу прямо у тебя тогда.
Моё почтение, уважаемый.
Представление числа в каноничном виде: https://ru.wikipedia.org/wiki/Основная_теорема_арифметики
n = p1^a x p2^b x p3^c ... pn^n;
где p1, p2, p3, ... pn - простые числа (простые факторы числа n);
a, b, c, ..., n - их степени.
Я вижу здесь: https://ru.wikipedia.org/wiki/Факторизация_целых_чисел#Алгоритмы_факторизации
множество алгоритмов факторизации, но многие из них не работают для всех чисел и выдаю какую-то хуйню.
Тот же алгоритм полларда rho, который описан там, иногда зацикливатся и выдаёт хуйню.
Поэтому, и реквестирую самый быстрый алго, работающий для всех чисел.
response = await service.sendGetReq(url)
jsonData = await response.parse()
Нафига второй await? Что мы await-им? Запрос ведь уже пришел из сети
ххммм действительно почему же не работает
"XXXXXXXXXXXXXXXXXXXXXX".length > "18,446,744,073,709,551,615".replaceAll(",", "").length
true
Зависит от того что у тебя там в service.sendGetReq, если ты под ним fetch подразумеваешь, то его принцип работы такой, что сам fetch после await возвращает ответ сразу перед тем как начать считывание из потока ответа, если подождать немного и потом вызвать response.json() то ты получишь в ответ rejected промис с ошибкой "body stream already read"
Че-то не могу въехать в RxJs, нахрена он нужон-то? Вижу часто с его помощью (метод pipe у Observable) обрабатывают данные которые поступили с бэка, но кам он - map и filter можно и так применять с массивами, на кой ради этого грузить отдельную либу?
Вот зачем
Да алгоритм Ро-Полларда, его там столько вариаций и модификаций понаписано, что трудно выбрать годный,
и к тому же, он даже на малых числах чё-то начинает выёбываться,
и ещё и так выёбываться (зацикливается просто),
что проще нечётные по порядку перебирать,
проверять их на простоту и пытаться делить.
Но для чисел побольше - это уже медленно...
> нахрена он нужон-то?
Гугли про FRP вообще и push и pull модели распространения данных в частности. Рыкса позволяет реализовать ленивость и абстрагировать event-drivent вычисления.
> на кой ради этого грузить отдельную либу
Грузи, но не эту. Альтернатив много, например Monadic Streams. А можешь вообще не грузить, поскольку не ясно, какую проблему ты собираешься решить с помощью обзерваблов.
>В настоящее время самыми эффективными алгоритмами факторизации являются вариации решета числового поля[29]:
Что тебе еще нужно?
Скорее всего какой-то студент делает лабу2, в вузах ведь долбоебы сидят, которые ничего умнее чем дрочь математики придумать не могут.
Давай, гляну. Главное чтоб все числа факторизовало, любой длины. И чтобы не циклилось на первых надцати лямах.
Ох хуясе как многабукафф там...
Пока-что, сделал в одну страничку,
вот такую модификацию алгоритма Полларда-rho: https://jsfiddle.net/z0bf8k6v/1/
Вроде работает с bigInt 123456789123456n
и
>console.log(FactorizePollardRhoBrent(123456789123456n).toString())
>console.log(FactorizePollardRhoBrent(1024n).toString())
Довольно быстро выдаёт массив простых факторов.
Ясное дело, что для длинных с большими простыми делителями, алго может работать за число итераций аж до корня от самого числа.
Как на EcmaScript 5 делали большие строчки?
var bigString = `
large
string
`
не работает, так как движок не понимает ` символ
Ну, чтобы дважды вызвав её - посчитать количество всевозможных первообразных корней по псевдослучайному простому модулю - ебической длины, проходящему тест МиллераРабина.
* Для двух разных монадок
Например у меня есть List Option a и я хочу инкремент, получается map map (+1).
Похоже мне надо композировать хотя бы функторы
mapM?
Fantasy land / static land. Гуглится тонна релевантного материала.
>>44992
Всё накрывается кроме айти, вот и понабежало инфоциган на соответсвующий спрос.
А че есть ли шанс что все устаканится и этот хайп пройдет? Или уже отрасль зашкварена?
И возник вопрос. Почему со стилями стало так всё запутанно?
Стили вшиты в компоненты, но их можно переопределить:
1) хуком, нахуй
2) компонентом обёрткой, блять
3) инлайново через style, ёбаный в рот
Это же пиздец как запутано. Как в этом разбираться вообще, если кода будет больше? За инлайн стили меня вообще лид в своё время ногами пиздил.
Глянул ещё разметку на странице доки Mui. Что блять за css-классы "jss1", "jss2", "jss228", "jss9000".
Это я такой тупой или это действительно сложно и непонятно?
>с чего вас прёт что нравится в js
С того что не нужно контролировать доступ к данным и изменять их из разных мест приложения не боясь того что эти данные будут неверными из-за подобного доступа.
>решил глянуть гайды на ютубе, best practies так сказать.
> гайды на ютубе
>best practies
Проиграл. Best practies либо в книгах, либо в доке у создателя. На ютубе дерьмо от инфоцыган, которым они кормят для привлечения трафика.
С написания бекенда на ноде и с того, как у некоторых рвётся срака от одного факта, что кто-то пишет бекенд на ноде и зарабатывает этим хорошие деньги.
есть канвас на нем нужно сделать 2d качели. (качели на которых сидят двое человек, типо если один меньше по весу, то они в одну сторону, ну вы поняли) так вот на этих качелях два куба (одинакового веса) по нажатию кнопки пробел, один куб взлетает вверх (и качели соответственно наклоняются в сторону оставшегося куба) этот взлетевший куб где то фиксируется вверху, далее по нажатию он падает и тот второй кубик взлетает (и все потворяется)
Умоляю помогите как такое сдлеать!1
хкто может набросать примерную логику, дальше я постараюсь потворить. кубы и сами качели наверно простые прямоугольники
с колижен детектшеном поебаться тебе придётся, остальное вроде не сложно
>Best practies либо в книгах,
И много ты книг годных по веб фреймворкам или библиотекам знаешь актуальных? Назови штук 5 хотя бы.
примитивная задача я даже жопу свою отрывать от аниме не буду, но дам подсказку, что если качели будут подобного вида, то есть площадки для кубов будут параллельны осям координат, то это сильно упрощает "физику" столкновений и задача становится решаемой даже для школьника
Да, планирую потом кубы заменить на картинки, в целом пофиг как они лежат
>>45129
аноны я не понимаю как, в голове не сгладывается картинка абсолютно, вот я отрисовал 2 rect.draw
вот я написал if (key.press)
дальше тупо тьма, не понимаю как и что делать
сам алгоритм не складыавается в голове
качели палка стоящая по центру на бревне.
От динамической среды, динамического языка, динамической слабой типизации с неявным привелением типов, метапрогоаммирования, возможностью писать код с помощью repl driven подхода. Истинно язык сверх высокого уровня. В мейнстриме он такой один.
>штук 5 хотя бы
Еще раз проиграл с дебила, который продолжает сравнивать книги с говном на ютубе, которое тысячами выходит каждый день. Твои штук 5 "актуальных" на ютубе, являются хуевым пересказом либо документации, либо какой-нибудь статьи от индуса.
Вот, загугли за дауна:
Adam Boduch - React Material-UI Cookbook: Build captivating user experiences using React and Material-UI 2019
И как ты определил что эта книга актуальна (2019 год, кек) и не является хуевым пересказом документации?
Ты совсем тупенький? Array<number | string> массив с двумя типами данных - строковые и числовые. Array<Employer> - строготипизированный массив с типом Employer. Так вот, если у тебя тип 1, то записывай Employer[] так как данная запись является общепринятой для массива с одним типом данных не только в Typescript, и сама запись короче.
Я так понял, в доке у создателя material ui стили описаны похуй как, лишь бы впихнуть в один tsx файлик, что не всегда правильно или удобно.
Справедливости ради стоит сказать, что есть отдельный раздел про то, как менять стили.
>>45078
Недавно спрашивал про это, анонасы говорят юзать styled component.
мимо-со-стартапа-на-материал-юи
Создание объектов в одну строчку
Прохожу FreeCodeCamp, нравится их программа обучения, она обширная и последовательная, но почему-то в ней ничего нет про DOM, события, вот это вот всё. Чё за нах, почему так, или я не туда смотрел?
https://www.freecodecamp.org/learn
Я бы тебе посоветовал начать с решения алгоритмических задачек на codewars или leetcode. Как раз привыкнешь к синтаксису и базовым вещам, заодно начнёшь развивать алгоритмическое мышление.
>динамической среды, динамического языка, динамической слабой типизации с неявным привелением типов, метапрогоаммирования, возможностью писать код с помощью repl driven подхода
>В мейнстриме он такой один.
АКХЕМ.
>JavaScript Algorithms and Data Structures Certification
Ну и? Там внутри много подтем, но я не вижу ничего про браузер.
Практики у тебя мало. Практикуйся каждый день, тогда синтаксис быстро запомниться, не пытайся его заучивать, просто пиши и руки сами запомнят, а пока открывай подсказки.
Пройди это https://ru.code-basics.com/languages/javascript там подробно все объясняют и практика прямо внутри, и бесплатно.
Вот именно, я спрашивал про DOM API. Ты че не видишь, что я процитировал то что мне написали?
>вот я написал if (key.press)
>дальше тупо тьма, не понимаю как и что делать
в адобе флеш да святится имя его это делалость тупа на анимациях без всякой физики и прочего
> Material-UI
Нормальные таблицы зевезли уже уровня adobe flex без свистоперделок, или приходится в реакт захуячивать w2ui и жквери
Норм знаю Python, в редактор, дебаггер умею. Подскажите краткую книжку или видео по написанию расширений.
зачем?
Воу, ну хотя бы его бро Пожарский тебя устраивает?
Есть задумка сделать на сайте такую вещь, чтобы когда человек решил уйти и жмякает на крестик вкладки в хроме - вслывает окно и он не может закрыть вкладку, пока не нажмет кнопку во всплывающем окне на моем сайте.
Мне нужен ответ МОЖНО или НЕЛЬЗЯ так сделать, чтобы я развивал эту мысль. А как - это не важно пока.
Это художественная задумка, я не пидор с говно-сайтом )
>пользователь
>не может закрыть
Ты не забыл кто у кого в гостях?
https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event
нельзя
Адрес свой скажи, я приеду покажу как это сделать.
Эту хуйню уже придумали лет десять назад, и тогда же починили.
Если сайт начинает срать алертами, то появляется возможность их запретить.
1280x720, 0:02
>милый аниме анон может оторвешь свою попку все таки
я честно сказать вчера садился за это дело, позалипал два часа перед сном и ничего путного не высрал. сегодня только вечером домой пришел, по этому выкладываю сразу черновой рабочий вариант и сажусь смотреть соника в кино, он оказывается уже вышел
https://pastebin.com/raw/aFjy7nUm
Он же помер уже пару лет как, не?
Душный шизоид, ты?
Ну и плюс к этому знаю разумеется css/bootstrap/git/linux на уровне пользователя. Но не хочу начинать пердолиться с тестовыми еще до того, как не освою какую-то базу, чтобы попусту не тратить время. Плюс есть же еще переферические области, типа алгоритмов и всего такого, по которым тоже могут спрашивать.
А учить ВСЁ это конечно хорошо, но как-то не определенно по времени.
Нашел такую хуйню https://marketplace.visualstudio.com/items?itemName=akamud.vscode-javascript-snippet-pack
Но выглядит как говно.
>Но выглядит как говно.
А как оно должно выглядеть? Напиши свои сниппеты, либо оберни в функцию, которую хоть одной буквой назвать можешь. А лучше не в функцию а сеттер объекта, чтобы можно было писать: qsa = "selector"
ПЕРЕКАТ >>1845843 (OP)
ПЕРЕКАТ >>1845843 (OP)
ПЕРЕКАТ >>1845843 (OP)
ПЕРЕКАТ >>1845843 (OP)
ПЕРЕКАТ >>1845843 (OP)
ПЕРЕКАТ >>1845843 (OP)
ПЕРЕКАТ >>1845843 (OP)
ПЕРЕКАТ >>1845843 (OP)
ПЕРЕКАТ >>1845843 (OP)
Завтра же составляй резюме и отправляй всем подряд. Пройдешь пару собесов, там и поймешь что тебе не хватает, может возьмут прямо так.
на джуна твоих знаний хватит, а выше сможешь выучиться только с реальной практикой и наставниками
>Итоговая цель то какая? Посмотреть на циферки?
Если и так, то лучше уж на циферки смотреть, чем на всю ту хуйню, что я уже успел повидать. Ололо.
Цель была не сгенерить и посмотреть на них, а заюзать их, конечно же, блядь.
Итак, итоговая цель, заебатый алго - Bijective Random Access PRNG (BRAPRNG),
легко-воссоздающийся из говна и палок,
алго, где всё это юзается быстро, на принципах длинной арифметики, через BigInteger,
при использовании всего одной простой формулы из протокола Диффи-Хелмана:
>r = g^X mod p,
>where p - is SafePrime, (p-1)/2 is prime too (Sophie-Germen prime),
>g - a primitive root from phi(phi(p)) primitive roots,
>X index of pseudorandom-value - from [1, ... , phi(p)], phi(p) - EulerPhi(p),
>r - pseudo-random value - in range [1, ..., phi(p)].
Такой алго, также как и Алгоритм Блюм-Блюм-Шуба, даёт возможность, извлекать псевдослучайное значение r,
прямо по его индексу X, без вычисления X-1 предыдущих значений, с последующим их пропуском.
Но, он выглядит намного проще, и в качестве seed можно задать рандомное значение p,
найдя ближайшее простое к нему, используя алгоритм Миллера-Рабина.
Значение p, может быть статичным и захардкоженным, для возврата чисел определённой битности,
но тогда X может быть ( X = (index+seed) mod phi(p) ), где seed - некий сид,
для проворота пиздатого кольца с p-1 уникальными элементами.
Из-за первообразности корня по простому модулю p,
преобразование X в R является биективным,
то есть каждому уникальному значению X, соответствует ровно одно уникальное значение r,
которое пробегает весь диапазон всеозможных значений x, без каких-либо повторов.
Из за необратимости его, поскольку обратная операция, дискретное логарифмирование - сложная задача,
это преобразование как хэш, но это не хэш, потому что это преобразование не уменьшает длину входных данных,
а значит - не имеет коллизий.
Ну и, конечно же, меняя само значение X, какой-либо функцией, скажем X = r_previous;
можно генерировать пиздатую последовательность псевдослучайных значений, от 1 до phi(p),
длина которых определяется лишь простым модулем p, который может быть рандомным простым числом.
Например дохуя значений, может быть быстро насыпано, в процессе генерации длиннющего ключа - для шифра Вернама,
обладающего доказанной абсолютной криптостойкостью,
с последующим юзанием генерируемого ключа для потокового шифрования и дешифрования,
JSON'а с нанопостами наноборды, синхронизируемого между серверами - в децентрализованной сети,
после обмена ключами, по алгоритму Диффи-Хеллмана,
с применением вот этой вот неуязвимой для MITM-атак,
системы полуанонимной аутентификации: https://2ch.hk/pr/res/1658420.html#1839162 (М)
Ну так вот, там надо значение функции Эйлера вычислить.
Для простого числа, это просто (p-1), и даже для p^a и 2p^a (для которых тоже существуют первообразные корни),
значение функции Эйлера тоже вычисляется просто.
Но я решил углубиться в написание этой самой функции Эйлера, для всех пиздатющих значений бигинтегеров
и таки-вычислить быстро, значение функции Эйлера - для любого числа.
Для этого, нужно факторизовать пёздатое простое число. Но GNFS я неасилил, и в итоге въебал Pollard Rho,
только в функции g(x), прописал modPow, а не возведение в квадрат, и модуль потом. ModPow - быстрее как-бэ.
>Итоговая цель то какая? Посмотреть на циферки?
Если и так, то лучше уж на циферки смотреть, чем на всю ту хуйню, что я уже успел повидать. Ололо.
Цель была не сгенерить и посмотреть на них, а заюзать их, конечно же, блядь.
Итак, итоговая цель, заебатый алго - Bijective Random Access PRNG (BRAPRNG),
легко-воссоздающийся из говна и палок,
алго, где всё это юзается быстро, на принципах длинной арифметики, через BigInteger,
при использовании всего одной простой формулы из протокола Диффи-Хелмана:
>r = g^X mod p,
>where p - is SafePrime, (p-1)/2 is prime too (Sophie-Germen prime),
>g - a primitive root from phi(phi(p)) primitive roots,
>X index of pseudorandom-value - from [1, ... , phi(p)], phi(p) - EulerPhi(p),
>r - pseudo-random value - in range [1, ..., phi(p)].
Такой алго, также как и Алгоритм Блюм-Блюм-Шуба, даёт возможность, извлекать псевдослучайное значение r,
прямо по его индексу X, без вычисления X-1 предыдущих значений, с последующим их пропуском.
Но, он выглядит намного проще, и в качестве seed можно задать рандомное значение p,
найдя ближайшее простое к нему, используя алгоритм Миллера-Рабина.
Значение p, может быть статичным и захардкоженным, для возврата чисел определённой битности,
но тогда X может быть ( X = (index+seed) mod phi(p) ), где seed - некий сид,
для проворота пиздатого кольца с p-1 уникальными элементами.
Из-за первообразности корня по простому модулю p,
преобразование X в R является биективным,
то есть каждому уникальному значению X, соответствует ровно одно уникальное значение r,
которое пробегает весь диапазон всеозможных значений x, без каких-либо повторов.
Из за необратимости его, поскольку обратная операция, дискретное логарифмирование - сложная задача,
это преобразование как хэш, но это не хэш, потому что это преобразование не уменьшает длину входных данных,
а значит - не имеет коллизий.
Ну и, конечно же, меняя само значение X, какой-либо функцией, скажем X = r_previous;
можно генерировать пиздатую последовательность псевдослучайных значений, от 1 до phi(p),
длина которых определяется лишь простым модулем p, который может быть рандомным простым числом.
Например дохуя значений, может быть быстро насыпано, в процессе генерации длиннющего ключа - для шифра Вернама,
обладающего доказанной абсолютной криптостойкостью,
с последующим юзанием генерируемого ключа для потокового шифрования и дешифрования,
JSON'а с нанопостами наноборды, синхронизируемого между серверами - в децентрализованной сети,
после обмена ключами, по алгоритму Диффи-Хеллмана,
с применением вот этой вот неуязвимой для MITM-атак,
системы полуанонимной аутентификации: https://2ch.hk/pr/res/1658420.html#1839162 (М)
Ну так вот, там надо значение функции Эйлера вычислить.
Для простого числа, это просто (p-1), и даже для p^a и 2p^a (для которых тоже существуют первообразные корни),
значение функции Эйлера тоже вычисляется просто.
Но я решил углубиться в написание этой самой функции Эйлера, для всех пиздатющих значений бигинтегеров
и таки-вычислить быстро, значение функции Эйлера - для любого числа.
Для этого, нужно факторизовать пёздатое простое число. Но GNFS я неасилил, и в итоге въебал Pollard Rho,
только в функции g(x), прописал modPow, а не возведение в квадрат, и модуль потом. ModPow - быстрее как-бэ.
Вы видите копию треда, сохраненную 2 апреля 2021 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.