Если рассчитываешь получить дельный ответ, сформулируй правильно вопрос: что я хочу получить, что я для этого делаю, что я вместо этого получаю. Если когда самостоятельно найдёшь решение — поделись в треде, мы за тебя переживаем.
Я правильно понмиаю, чтобы понять глубину среактов и прочей подобной параши, нужно обязательно запилить какой нибудь большой проект для себя на чистой ноде с жс, чтобы пройти тот же путь что прошли всякие Дены Абрамовы, когда придумывали свои фреймворки?
Т.е надо самому тысячу раз обосраться на голом жс для осознания, почему современные фреймворки сконструировали именно так и не иначе
ну что, нуфаги-жопаскриптеры, как у вас дила? как настроение? давайте я вам распишу, почему у вас ничего не получается.
обилие либ, фрейморков, браузеров и средств контроля версий рассеивает внимание, из-за чего вы концентрируетесь не на результате. я перекатывался на жопаскрипт с флеша в далеком 2012 году, и в общем то сразу все понял.
да, флеш умер из-за определенных нерешённых проблем с флеш плеером, да и в общем то хуй с ним. флеш это всего лишь версия, как могло бы быть, а не наилучший сценарий. но это было охуенно, все дело в полной самодостаточности при минимализме. у мозга был ограниченный набор нормальных рабочих инструментов и решение задач всегда было очевидным, вывод например на экран всегда был одинаковый и работал он всегда, в новых версиях он только дополнялся и это никак не влияло на старый код.
когда берут на работу, смотрят на твое портфолио в первую очередь. у меня была возможность научится ебаться над результатом, да и вообще в самом начале все, что я делал, я показывал одноклассникам. по этому для меня всегда было важно, что бы было охуенно, а иначе это никому будет неинтересно и смысла как бы и нет уже.
"но у тебя же код гавно и сам ты долбоеб-кабанчик" - это совсем не так. во первых, если ты много кодишь, то хочешь - не хочешь все равно научишься различать говнокод и перестанешь его писать. если что то работает охуенно, то вероятно это написано хотя бы адекватно. вероятно, это не отлаживали годами в поисках багов, это блять никому не интересно. а под результатом я имею в виду работу в целом, а не только внешний вид. артефакты анимации, подлагивания, кривая верстка - лично для меня это будет говном ебаным, не важно какой там код.
в сообществах же программистов может создаться впечатление, что код самое важное что есть на свете и нужно дрочить исключительно кодерские практики, подходы, архитектуру и прочую хуйню. работа в команде это важно, но сделать рабочий продукт гораздо важнее.
я ходил на одно собеседование, запомнившееся мной как самое нелепое - меня человек пригласил по телефону, думая что у меня есть высшее образование и уточнил это, я ему сразу ответил нету нихуя, он все равно попросил прийти. так получилось, что я приехал за 10 минут и сразу позвонил, ну и он сразу недовольный почему рано пришел ебать, что бы вы понимали уровень. ну так вот, в ходе он спрашивает для кого пишется код - я отвечаю для пользователя - нет нихуя вот он говорит код пишется для других программистов. если интересно, еще я помню говорил ему что писал библиотеку для uitableview, сообществом ios разработчиков признано, что пакетные обновления таблиц это ебля коня, если речь идет про анимации. он этого очевидно не знал, и говорит вот для андройда тоже это ебля и чо такого. этот момент я разбирал в андройде еще задолго и там очевидно не одно и тоже
что бы писать фронт с преимущественно версткой, ума действительно много не надо, и по этому очень легко говнокодить и оно все равно будет работать. по этому в выражении "код для программистов" есть определенный смысл, но только лишь на низких уровнях квалификации. когда речь про профессиональную разработу, там подразумевается быстрый коллективный коддинг качественного продукта, код будет само собой качественным.
но большинство рассуждает так, код выглядит красивым - значит этот программист хороший. боюсь что это не так, по правилу "большинство - долбоебы", большинство "программистов" лишь косят под программистов, задрачивая сугубо внешний вид, даже не сам код, а его внешний вид, архитектуру и прочую шизофрению. обсуждение архитектуры и паттернов это вообще прокрастинация. если проект простой и сугубо про верстку, то эти многочасовые обсуждения архитектуры - это блять прокрастинация долбоебов, нет там никакой архитектуры, это клепается за два дня одним человеком, вносятся правки другим человеком без каких то потерь, потому что код там простой, лаконичный, так как проект - сугубо про вестку какой то хуйни.
многие думают, вот ваше программирование дохуя сложное и я вкатится че то не могу, и дропают это. может быть даже вкатились в какую то компанию, не выдают перфоманса и их увольняют или сами уходят расстроенные. да голый жопаскрипт кто угодно может выучить, надо только время потратить. но вся суть говнокода в том, что в нем невозможно разобраться, в нем никто не разберется, это как выгребная яма, ты в нее падаешь и тонешь нахуй. к этому нужно походить с пониманием, выносить ведро за ведром, объяснять на пальцах почему это нужно, делать блять презентации сравнения до и после. как правило это заведомо тухлые проекты, которые тянут годами одни и те же люди, годами там присутствуют какие то баги - очевидно новичок там сначала потеряется и так же протухнет в итоге. навести порядок в этом дерьме правильно - вот где программирование, добиваться результата несмотря на несколько браузеров, несколько фреймворков и тд - этому нужно учиться, а не писать "красивый код правильно" хртьфу бля
Выучил html css (сверстал адаптивный макет, кривовато(по коду), но сверстал) и по js на codewars порешал задачки до 6 кью, мне можно вкатываться в реакт уже, или мне html css js дальше задрачивать?
Пацаны, мимо PHP мидло. Хочу выучить node.js, для того чтобы расширить свой АНУС, какое посоветуете приложение написать чтоб было с норм бэком. Тока плиз, не чат рулетку и не имиджборду, до этого я и сам додумался.
Чувак, залезай обратно в свою машину времени и телепорируйся в 2010 год.
Сейчас нода точно такое же древнее легаси-говно мамонта как и твоя пыха, только чуть моложе и не взлетевшая. Точнее, так и оставшаяся тулзом сборки для фронтенда.
>>1837459 Тоже есть такие мысли, но подозреваю, что 99% вкатившихся и тех кто уже давно шарит в реакте, нихуя подобного не писали. По факту даже в обучение, меня уже заебывает каждый раз получать нужный див, что бы повесить на него ивент, писать цикл, создавать массив похоже кодинг не мое и хочется собрать все это говно в какие то шаблоны, тупо писать в консоль -go, и что бы вся эта хуйета сразу собиралась.
А ты, случайно, не знаешь, почему новый Сбербанк-Онлайн (2020) написан на jQuery (и старый тоже)? Что, у Грефа нету денег на модных реакто-блядей? Как же так?
>>1837694 Ой, ну нахуй. Открой hh, и посмотри, сколько в дс вакансий реакт, вью, тайпскрипт. У всех есть деньги, а у сбера нету. И у других банков нету, потому, что у них тоже на jQuery написаны веб-клиенты. Тут должен быть какой-то другой ответ, подумай.
>>1837691 >А ты, случайно, не знаешь, почему новый Сбербанк-Онлайн (2020) написан на jQuery (и старый тоже)? Тебе мама не говорила, что врать нехорошо?
>>1837724 >мне это вообще легко зашло А насколько далеко тебе это зашло? Много написал?
Проблемы начинаются, когда ты начинаешь делать динамические вещи, для которых статическая типизация - как камень на шее. И некоторые проблемы вообще не решаются, красиво, по крайней мере.
Но, в TS можно использовать JS-модули. Ну, и есть волшебное слово any.
>>1837725 У меня карт Сбера. Хуевый банк же. Если там внутри jQuery UI, то вряд ли от хорошей жизни. Я искал в мае работу (React/TS), так меня из Сбера позвали аж на 7 собесов из разных подразделений. Везде был Реакт.
>>1837729 >Проблемы начинаются, когда ты начинаешь делать динамические вещи, для которых статическая типизация - как камень на шее. Если нормально писать, то не начинаются. Но могут быть проблемы со сторонним кодом, который написан динамически, например, с Рамдой.
>>1837719 >>1837731 Ты типа мамкин тролль или что? Внутрь зайди и посмотри, что в script-тегах.
И, чтоб два раза не вставать, объясню:
Для бизнес-UI в больших проектах jQuery вполне себе используют. Потому, что у людей есть дохуя старого кода, который прекрасно работает. И чтобы его переписать, потребуется много лет.
И потому, что реактообразные модели не всегда и не для всего подходят. Часто удобнее иметь компонентную архитектуру, напоминающую классические GUI-тулкиты, типа Swing или Qt. Именно в бизнес-UI.
А ещё - jQuery - это тонкий слой удобных абстракций, который позволяет делать вещи вообще без фреймворков. А на "чистом" пишут только долбоёбы, как я уже говорил.
>>1837744 >Для бизнес-UI в больших проектах jQuery вполне себе используют. >Потому, что у людей есть дохуя старого кода, который прекрасно работает. И чтобы его переписать, потребуется много лет. Звучит как проект мечты, лол. Спасибо, но мне Реакт как-то больше нравится. Но если кому-то кажется интересным разгребать многолетнее говно в ЛК Сбербанка — пожалуйста.
>>1837744 > А на "чистом" пишут только долбоёбы, как я уже говорил.
Совсем на чистом без либ вообще и правда долбоёбы, использовать нативные функции вместо jQuery норм. Нафиг тянуть зависимость когда тебе нужны 1-2 функции. Это как тянуть lodash только чтоб один раз partial заюзать.
>>1837729 >Проблемы начинаются, когда ты начинаешь делать динамические вещи, для которых статическая типизация - как камень на шее. >И некоторые проблемы вообще не решаются, красиво, по крайней мере. там все тоже самое, только лучше. ну вот ты не можешь нормально в массив нахуярить говна всякого и спокойно считывать, еще не можешь взять и создать свойство у экземпляра класса во время выполнения программы, а потом еще и читать его через точку.
на самом деле все это возможно, просто это нахуй никому не нужно, никто этого и не делает. там есть словари (map/dictionary), есть кортежи(tuple), есть [any], этого уже достаточно для всего.
есть даже вывод типов и ты в некоторых языках можешь писать почти эквивалентный жсу код аля пикрил, даже с замыканиями, ну разве что без прототипов.
другое дело что все время компиляторы кидают ошибки пока это пишешь, что лишний раз рассеивает внимание, как и в целом дроч на типы. это неудобно во время прототипирования, когда уже похуй как написать, лишь бы быстро и работало, во всем остальном современные типизированные языки лучше.
>>1837691 >Еблан путает "топить за написание вебни любой сложности исключительно на жкури = быть ебланом" и "писать на жкури = быть ебланом" Сразу видно жкури-еблана, необучаемого вонючего деда.
>>1837792 Да кто же спорит, что (статическая) типизация - это хорошо. Даже питонобляди, в итоге, к этому пришли, лол. Не прошло и 25 лет.
Я же говорил о том, что человеку, у которого опыт есть только в JS и пыхе какой-нибудь, может быть тяжело резко переходить на типизированный язык. Поэтому и предложил начать с JSDoc комментов, чтобы просто потрогать эту тему.
И для перехода на TS лучше иметь серьёзную внутреннюю мотивацию, а не просто "это круто". Потому, что в определённый момент возникнет вопрос "бля, да сколько же можно, а не пошло бы оно всё на хуй", и на этот вопрос должен быть аргументированный ответ.
>>1837809 Я ебаный противник TS не потому что это статическая типизация, а потому что это ебаный говноплагин для вебпака неудобный
> Даже питонобляди, в итоге, к этому пришли, лол. Не прошло и 25 лет.
Ну и слава питоноблядям. Если жабаскрипт добавит типы нативно - буду юзать. Но плагин для вебпака этот ебучий я в рот ебал. Время которое с ним ебаться приходится не перекрывает время дебага чистого js без типчиков, потому что я практически не втыкаю с типами.
Типизация и ошибки из-за неё такая переоцененная проблема, что я ебал.
>>1837817 >ебаный говноплагин для вебпака неудобный Откуда ты это взял? Причем тут, блять, вебпак, наркоман? Зачем ты вообще участвуешь в дискуссии, если не понимаешь что как работает?
>>1837439 Хуя ты порвался с реакта бро) И вью точно не лучше свелте, вью это же очередная виртуалдом-параша. Кстати, в реакте с редаксом модель по сути как на твоей пикче, только вместо мутации стейта возвращается новый с изменениями
>>1837675 Пиздёж. На ноде легаси мало, давно на коллбеках никто не пишет, богатая экосистема инструментов и библиотек, тайпскрипт, бек на ней писать удобно и приятно, да и перформанс самый сильный у скриптовых языков.
Анчоусы, есть залупа пикрелейтед. Да, это задача с яндекс капа
Это окружность и это грань квадрата. С какого конкретного пикселя мне надо начать измерять и до какого, если я хочу найти границу (т.е. белую окружность). Объясните алгоритм измерения по переливающимся пикселям.
в общем, я попробовал переопределить таким способом (через консоль браузера) функцию из скрипта двача, добавив console.log(), не получилось. хотя, ошибок на этот раз связанных с декларацией нет. что я не так делаю? как надо правильно?
Странно. Пилю небольшую браузерку, решил проверить на утечку памяти. Чекнул вкладку встроенным в хром таск менеджером - потихоньку увеличивается объём потребляемой памяти. Отрубил метод clearRect, который очищает canvas каждый фрейм и память перестала увеличиваться, хотя я ожидал что наоборот подскачет, ведь ресурсы будут перерисрвываться поверх старых.
>>1837838 Ты перезаписал функцию, но до этого данная функция уже была добавлена к списку event listener'oв целевого элемента. Чтобы изменить логику тебе нужно сначала убрать все старые event listener'ы, а после добавлять измененные.
>>1837913 видимый канвас это уже растровое изображение, поверх которого рисуется fill, stroke и тд. даже если path где то сохранялся бы, его по апи никак не получится использовать.
>>1837836 > Это окружность и это грань квадрата. че вот за бред ебаный? почему бля оно кривое если это хоть как то относится к квадрату? круглый уголок что ли у квадрата? вообще можно интерполяцией найти три точки на линии и из них получить центр окружности тригонометрическими рофлами. но мы же умные, мы запустим алгоритм брезенхема для окружности в обратную сторону. почему? потому что мы сможем перебрать ошибки алгоритма и вычислить более точный центр окружности.
Порекомендуйте материалы по основам организации структуры данных/скриптов/страниц в рамках проекта, с чего хотя бы начать. Я перфекционист и хочу чтобы каждый файл был как стихотворение, краткий как коитус и четкий как выстрел. А из-за того, что всегда проебываюсь с планированием, раз за разом получается болото и бардак что голова кругом.
>>1837882 Ещё один порвался на пустом месте. Меня забавляет, что вьюшники ставят вью выше реакта, при том что вью и реакт это в сущности две одинаковых хуйни. Да ещё и выше свелта поставил, в котором нету уёбищного виртуал дома
>>1838016 Реакт и вью, в сущности, это две очень разных хуйни. Общего у них совсем немного. То, что они выглядят похожими - это хорошая, годная иллюзия. Поэтому, противопоставлять их не совсем корректно.
React не реактивен лол. А Vue - да. В Vue есть шаблоны и есть код. Реакт - это чистый код.
Но, если уж противопоставлять, то: Vue лучше - (несколько) быстрее и (гораздо, блядь) практичнее. Но, хуже инструментальная поддержка и местами тяжеловато с типизацией (TS). Это потому, что много динамики и разделение код-шаблоны.
React хорош (оправдан) для больших проектов и больших квалифицированных команд. На Vue можно и одному хуячить сложный проект.
>>1837945 >че вот за бред ебаный? почему бля оно кривое если это хоть как то относится к квадрату?
Братан, я думал что ты поймешь, что круги в нашей клоаке вырезают из квадратов. Я сбросил ребро квадрата (блока, если бы не было боардер радиуса, то конкретно это часть была ребром) и его переход в окружность. В этом то и есть вопрос. Я хочу понять с какого пикселя начинать отсчет, чтобы определить ширину этой окружности. И не просто, чтобы анон сказал вот с этого, а чтобы пояснил почему с этого, чтобы я не постил больше этот кринж. Я нихуя не смыслю в этом блядском дизайне и как там эти границы объектов смазываются (то есть пиксели).
>>1838155 Потмоу, что реакт появился гораздо раньше, под него куча людей, куча кода, паттерны, хуё-моё. В эту технологию вложены большие деньги. Плюс, Vue - это Китай. А React - Америка, и похуй, что Абрамов - русский.
Также, у React очень сильное (квалифицированно) коммьюнити. Потому, что фп и т.п. Тупые васяны сразу идут мимо. А на Vue - легко писать, в том числе - долбоёбам, в том числе - хуйню. Это оборотная сторона практичности.
Сейчас всё потихоньку меняется. Даже по сравнению с прошлым годом заметны большие изменения. Например, год назад по запросу vue hh выдавал ровно нихуя, а сейчас - дохуя и больше.
>>1838131 Добавлю ещё, что весь React - это ни что иное, как internal DSL. Т.е. это просто хитровыебанный код на данном языке (JS|TS).
И у таких вещей есть предел юзабилити. Т.е. с какого-то момента, в процессе усложнения концепций, вся эта ебанина начинает (концептуально) трещать по швам и разваливаться под собственной тяжестью. Паттерны использования значительно усложняются, код становится корявым и неинтуитивным, и т.п.
Vue же использует шаблоны, и этой проблемы у него нет. Можете смотреть на шаболны как на external DSL, если угодно. Т.е. дополнительный слой абстракции решает.
Учу реакт, но для полноценной разработки не хватало бекенда, подключил фаербейс, но он какой то кастрированный. Отсутствует человеческая пагинация и поиск, фильтрация должна быть максимально простой. Чем заменить бекенд, чтобы можно было деплоить, отпралять/получать данные и вот это все? Слышал про комбинацию heroku + json-server. Когда проект будет задеплоен на heroku, данные в json с сохранением можно менять?
>>1838142 задачу полностью выкладывай идиот ёбанный, ты сам не видишь что ты хуйню выложил бля? ты блять не видишь что у тебя там субпиксельный рендеринг какой то блять? что там за пиксели темные?
в векторной графике все является частным случаем заливки. давайте разберем под микроскопом прямую линию в пикриле. все, мы прошли базовый курс computer drawing.
у тебя окружность - это что? это полностью растровое изображение на синем фоне? или это уже какой-то svg элемент? если второе, то нельзя просто посмотреть размеры этого элемента? если первое, то я даже хз на кой хуй это надо и насколько этот алгоритм должен быть универсальным. если отбросить всю хуйню, то достаточно найти центр твоего квадрата, и начиная с левой стороны, искать первый пихель , отличный от цвета фона, потом найти второй (двигаясь вправо по оси х). это будет, грубо говоря, ширина дуги твоего круга. делишь ее по полам и получаешь координату точки на окружности. находишь расстояние от этой точки до точки твоего центра, получаешь радиус круга. умножаешь радиус на 2, получаешь диаметр (ширину круга/размер). хз. какая задача, такое и решение, лол.
>>1838506 На собесе тебя попросят решить задачу с литкода уровня хард, потом начнут спрашивать про ООП и паттерны проектирования. А ты им "ой, да на дваче код хуевый, зачем вам всё это?"? Манюнь, у всех код хуевый, но это не значит, что тебя не ждёт верчение на хую во время собеса.
>>1838519 а форчан-то тут при чем? блядь, чел. я просто подметил факт, что код говно на дваче. там пробелы и табуляции в куче одной смешаны, стайл кода практически нет, переменные уровня ophui (буквально). какое мне дело до форчана? какая нахуй украина?
>>1838474 Почитай на досуге, что значат такие слова, как "абстракция" и "DSL". Ну и на jQuery повнимательнее посмотри. Все функции у него есть, ну надо же.
>>1838527 И зачем ты это подметил, дауненок? Это обычный код и не самый говенный, если ты себе нафантазировал, что большая часть кода это пример идеального кода, то я тебя огорчу - большая часть кода по качеству в разы хуже чем сорсы двача.
Есть большой объектно-ориентированный код на JS. Хочется вынести общие интерфейсы из некоторых классов. Руки тянутся как в C# или TS написать просто интерфейс, написать implements и добавить к классу, чтобы всё было по красоте и очевидно. Но код огромный и типизировать его полностью на TS не получится, времени на это нет. Можно ли врубить TS частично, чтобы можно было объявлять в особо важных местах интерфейсы и типизировать всякое, но в целом не использовать?
>>1838841 Не, это тоже затратно сильно, есть жирные файлы неотрефакторенные, надо бы просто в отдельных методах и отдельных классах определять интерфейсы и типы.
>>1838844 Этого и хотелось бы, чтобы юзать ТС не расставляя типы, чтобы any как бы сами везде были где их нет, ставить их только в узких местах. Охота ТС использовать пока в роли документирования кода как бы, может для небольшого автозаполнения, с дальнейшей перспективой полного перевода. Но походу так нельзя.
>>1838926 ты че больной нахуй, оно уже слеплено. просто для удобства просмотра консоль их разделяет, потому что бывают очень длинные массивы со всякой хуйней. ну как бля их слепить ручками нахуй join("\n" или ", ") как хочешь как удобно будет бля
>>1838928 >>1838929 Как тогда исправить сортировку, чтобы она не по этим блокам сортировала? outMap = new Map([...outMap.entries()].sort((a,b) => b[1] - a[1]));
>>1838933 Че пиздишь на чела, Map и правда имеет гарантированную сортировку в порядке добавления элементов в отличие от объекта например, неудивительно что кто то пытается их сортировать
>>1838896 Да мне поебать что там Денчик говорит. Аппеляция к авторитетам — хуета. С боейлерплейтом проблем нет при использовании для стейт-менеджмента: - Mobx - Effector - Redux + redux-toolkit
Это когда 10 раз повторяют выучить все пляски с бубном чтоб не менять стейт в редусере, а в тулките спокойно меняют стейт и грят ну тип можно похуй, мы знаем что пляски с бубном это говно бойлерплейт поэтому вот вам послабление
>>1838969 Ты ошибаешься, в redux-toolkit не мутируют стейт, иначе это ломало бы весь редакс. Это выглядит как мутация, но внутри там возвращается новый стейт как и следует.
>>1837334 (OP) Сап, аноны. Нужен макет или шаблон с услугами. Нужно написать одностаничник для массажного центра. Там должен быть выбор массажа, примерно в виде "квадратов". То есть тупо с ходу клиенту предлагают выбрать тип массажа и забронировать и оплатить. Может, кто-нибудь знает макет по красивше с таким "выбором услуг"?
>>1839016 Короче вот есть вариант /SYSTE--M/ , оно не подходит (нельзя два дефиса подряд), /-SYSTE-M-/ это тоже не подходит (потому что нельзя дефис вначале и в конце), но /SY-S-T-E-M/ НОРМ
>>1839052 И SY-ST-EM подходит? И т.п.? Тогда одной проверкой ты это не сделаешь. И, возможно, лучше вообще не регуляркой это делать. Но, тут уже недостаточно подробностей.
Куда деплоить реакт приложение, чтобы была функциональность по типу редактирования базы данных, поиск, логин? Задеплоил на хероку, но что то я нихуя не пойму, как там к серверу обратиться и вообще есть ли он.
Подрубаюсь по api, чтобы показать список фильмов, вот только последнее время через раз начала появляться ошибка пикрил. Что это за хуйня? Я делаю слишком много запросов? Или это проблема с моей стороны
Подскажите как организовать state в redux. У меня на странице есть несколько так называемых "зон", у каждой зоны есть id и заголовок, это как бы общее у всех зон. Но также у каждой зоны есть какой-то свой особенный список (или несколько). Например: зона1 содержит в себе тудулист, а зона 2 содержит в себе просто список. Как должен выглядеть стейт и как бы максимально унифицировать код с редьюсерами? Я не хочу одно и то же писать для каждой зоны, тем более, что их много, а у некоторых может быть еще и несколько списков сразу. Моя идея примерно такая: я создаю базовый редьюсер для зоны, с помощью имён я делаю так, что им могут пользоваться все зоны. Что дальше делать со списками? Я их должен вносить в стейт каждой зоны? Но по сути у каждого списка тоже свой стейт и как это организовать?
>>1839152 А где его взять? Мне что еще и бекенд учить? Я же фронтенд учу. Есть json-server и heroku, но как их связать? Как подключить базу данных? Там какие то postgresql и mysql, мне их еще учить?
>какие ваши доказательства? Пагинация там это вперед/назад на лимитированное количество элементов, нельзя сразу перейти на допустим пятую страницу. Поиск это вообще какая-то херня, нужно подключать сторонний софт, который делает снимок бд, и в этом снимке происходит поиск.
А хочется как в json-server, да еще и на хероку, с возможностью загружать, редактировать и удалять данные...
>>1839350 >с возможностью загружать, редактировать и удалять данны
Ну вот а вы круды ругаете, а без бородатого бекенда не можете, который вам и доке сделает, и swagger и на aws зальет с CORS проксями чтоб могли со своего локалхоста роботать
>>1839366 >строить недетерминированные тяп-ляп системы
Системы строились и без твоей функциональной шизы прекрасно и работают годами, просто вам дали слишком много оперативной памяти вот вы из под шконаря повылазили
>>1839399 >видно начало и конец области видимости.
че ты там увидиш если на 1 одно окно не помещается, ident guides только недавно стали стандартом в редакторах а в дельфи еще в 5 версии можно было сделать бесплатным плагином cnpack, когда в visual studio code надо было покупать платный плагин
я тот анон, который менял скрипты двача на свои. сейчас я пытаюсь все это заставить работать через расширение браузера (firefox), но столкнулся с проблемой: content_scripts не имеют ничего общего со скриптами страницы сайта (двача).
нашел способ обмена сообщениями через window.sendMessage(), но он подразумевает обмен, например, с background скриптами (которые тоже не разделяют ничего общего со скриптами страницы).
да и для приема сообщений нужно еще добавлять нужный listener, а как я уже сказал, редактировать скрипты на странице из расширения не получается. замкнутый круг. пробовал так же через window.eval() - не получилось.
каким способом можно подменить нужные скрипты страницы на свои из расширения?
>>1839400 Всегда выбирают золотую середину. Если кто-то может выполнить эту же таску за меньшее время, но чуть хуже, то значит этот кто-то лучше программист чем ты. Еще не мало важен такой скилл как определить важность качественного выполнения, если ты аутист, то будешь даже скрипт-однодневку вылизывать неделю, в то время как хороший программист напишет решение за пару минут, использует его и забудет о нём.
>>1839551 >Всегда выбирают золотую середину. Если кто-то может выполнить эту же таску за меньшее время, но чуть хуже, то значит этот кто-то лучше программист чем ты. Еще не мало важен такой скилл как определить важность качественного выполнения, если ты аутист, то будешь даже скрипт-однодневку вылизывать неделю, в то время как хороший программист напишет решение за пару минут, использует его и забудет о нём. сук вот почему нас увольняют
>>1839428 есть скрипты страницы - у них свой собственный window. есть скрипты страницы расширения - content_scripts, туда же tabs.executeScript и так далее - у них свой общий window. а нахуй это надо да хуй его знает, но вот dom у них один и можно его дрючить. соответственно вставить <script> и он будет работать.
я это все продрючил годы назад и под хром и под фирефокс. вот собственно моя функция для вставки своего скрипта в страницу https://pastebin.com/raw/fGxsrJZW
у моей applyScriptToTabHead была важная задача запостить скрипт как можно раньше в начало страницы, но head на странице может быть еще не прогружен и ну она просто вставляла несколько раз пока не вставить ебать, по этому она имеет такой перегруженный вид. вроде бы щас таких проблем нет и можно как то отследить появление head, ну в общем суть я думаю ты все равно уловил так что нехуй тут расписывать больше. что такое cancelInfluence ну это я пытался перезагружать старый скрипт, а что бы это сделать надо было откатить все изменения на странице мной(желательно в идеале), что бы блять не перезагружать и расширение и страницу сайта
на хабре бля были подробные статьи про все это, у меня код вероятно устаревший либо идиотский, я по фану писал как попало. скрипт в страницу я собирал из нескольких файлов руками в цикле, что бы вы понимали
>>1839127 >по типу редактирования базы данных, поиск, логин это же основы веба. тебе вообще не интересно как все устроено под капотом? тогда просто работай с готовыми апишками
Привет, тред. Стоит задача сделать сайт с 3-мя экранами: глагне, профиль юзера, страничка админа. Т.к. я реакт-макака, и статичный веб только видел, а не создавал, у меня возникло желание попробовать сделать по классике и проникнуться олдовой атмосферой фул-стек разработки. То есть клиент -- просто странички, приходящие с сервера.
Вопрос такой: как мне правильно и безопасно работать с клиентским стейтом без реакта? Понятно, что должен быть жс-файл со всякими полями "идёт запрос", "попап открыт" и т.п. Но как быть при смене страниц? Перед переходом на другую просто сейвить важные данные предыдущего экрана запросом на сервер?
>>1839875 >Может лучше нареакте? да вот бытует мнение, мол не надо из всего делать СПА... да и попробовать хочется, есть ли жизнь без реакта >Есть же storage Ты про local storage браузера?
Если сервер сильно волнуют твои драгоценные данные - постишь форму Если не сильно волнуют - кладешь в куки Если не волнуют - Если фронт сильно волнуют твои данные - кладешь их в localStorage Если не сильно - в sessionStorage
Всегда можно в урл страницы добавлять всякие данные, но зачем В query - если нужно для сервера, в hash - если не нужно (но hash все же лучше оставить для якорей)
Развернул новое приложение через create-react-app, подключил базовый конфиг линтера, и на любой пук, например не поставил :, линтер крашит мое приложение. Что за хуйня? В package.json версия реакта 17.0, может по этому? Или правила линтера изменились, я не могу ничего нагуглить, как фискить?
>>1839599 спасибо. я вроде разобрался немного. сделал похоже, создавая дочерний элемент script в body (после скрипта двача) и передавая в него строки кода. сейчас думаю как правильно отрендерить посты на странице, иначе изменения в моих скриптах применяются только к новым постам на странице, потому что скрипт двача выполняется раньше моего (но это так и нужно, от части).
кстати, строку можно формировать в коде так: const str = '(' + function() {console.log('sdsad');}; т.е. достаточно добавить любой символ, а дальше писать как обычный код, но только нужно обернуть в функцию (без стрелочных), если это изначально не функция. а потом просто удаляешь ненужные символы из строки каким-нибудь slice().
>>1839975 Из твоего кода не совсем ясно что ты хочешь. В JS нет перегрузок методов, рантайм ничего не знает про типы и если ты хочешь чтобы функция вела себя по разному в зависимости от входящих данных, то прописывай все ифы руками. Алсо, по-моему это антипаттерн и ничего кроме головной боли не принесет.
>>1840003 >Алсо, по-моему это антипаттерн и ничего кроме головной боли не принесет. Хотя, если аутпут консистентный или определяется через дженерик, то норм.
>>1839975 Если ты заранее не знаешь какой тип данных тебе придёт, то остается только делать проверки, если знаешь, то оборачивай http.get в методы типа httpGetBytes, httpGetString и тп, а внутри этих методов уже работай с нужным типом данных.
>>1840082 если ты будешь удалять символы, в случае глобальных переменных или функций, которые будут использоваться/переопределяться, то const не даст, очевидно, редактировать строку.
>>1839975 Там же не придёт arraybuffer, http сделает json.parse и если там не json строка то все наебнется. get принимает responseType (или как то так) - и таймскрипт тогда уже тебе скажет, что да, тут ArrayBuffer, потому что у get написаны эти перегрузки
Почему линтер с конфигом airbnb прерывает компиляцию приложения есть хоть одно правило нарушено? Например двойные ковычки вместо одинарных, или между строками кода две новых линии. Как сделать чтобы приложение не крашилось, а просто предупреждало? Раньше работало именно так, а теперь ничего кроме как переопределения всех вышеуказанных проблем, решить краш не удается.
Если пик2 превратить в пик3, то одной ошибкой меньше, а когда все такие ошибки линтера исправить, то все компилируется как нужно. Это не критическая ошибка, я не забыл закрыть тег и не пытаюсь переопределить константу, приложение должно скомпилироваться в браузер и отобразить в консоли предупреждения о нарушении правил линтера. Вместо этого компиляция падает. Такая хуйня происходит после обновления реакта до 17.0, на предыдущей версии все работало как я сказал выше. Как фиксить?
>>1840393 >задать в нём соответствующие настройки. В прошлом проекте, в package.json версия реакта 16.13, когда нарушаются правила линтера, он просто сообщает об этом в консоль, компилируя приложение. В этом проекте новая версия реакта - 17.0, все те же настройки для начального проекта, он полностью пустой, но если есть error то приложение не компилируется.
>>1840397 ну это очередной инструмент рассеивания внимания программиста. вместо того, что бы сначала написать основную мысль и уже потом дорабатывать ее, оформить в удобочитаемый(уебанский) вид, среда разработки будет серить ошибками и желательно в реальном времени.
даже блядская мигающая каретка, зачем она мигает? это же пиздец. еще планирую заменить лгбт раскраску кода на черно-белую или типа того
>>1840463 Похоже на то, но в интернетах не нахожу никаких статей на эту тему.
>>1840485 >>1840488 Лично мне линтер помогает, но в 17.0 он внезапно начал вести по другому.
>>1840488 Мигает и мигает, а вот подсветка синтаксиса мастхев, иначе все выглядит слишком однообразно, и время тратится на поиск тегов/переменных а не на кодинг.
>>1840494 >Мигает и мигает, а вот подсветка синтаксиса мастхев, иначе все выглядит слишком однообразно, и время тратится на поиск тегов/переменных а не на кодинг. есть состояние потока блядское, это когда занимаешься простыми рутинными задачами часами и не заебываешься. меня вот посади перекладывать бумажки часами - я заебусь уже через пять минут, потому что у меня нет навыка именно перекладывать бумажки, мне скучно будет, а вот если бы я это каждый день делал, ну и разумеется ощущал в этом какую то нужду, я бы с энтузиазмом хуярил по несколько часов.
но это про простые задачи. для сложных задач есть режим гиперконцентрации - многие авторы статей путают его с состоянием потока. состояние потока это про простые рутинные задачи, то есть типичная каждодневная работа например таксиста, верстальщика. гиперконцентрация это про решение одной сложной задачи часами. если хотите, то гиперконцентрация по эволюции это про охотников на животных, а поток про собирательство.
когда придумываешь концептуально новую хуйню, тебе не нужны будут никакие переменные, ты их выучишь просто нахуй, а если не выучишь или будет че то мигать на экране, то будешь постоянно выпадать из продуктивного режима и хуйцов насосешь на галерах в итоге хех
Я тупой, помогите пожалуйста. В HTML имеется многоуровневый список (уровней сколько угодно) Вводится строка формата x.x.x.x - номер элемента (напр. 2.3.1) Как получить этот элемент в JS без сторонних библиотек? Пытался сделать через children/childNode но ничего хорошего не получилось(
Чем форматировать JSX? Prettier постоянно разъебывает разметку, то в одну строку хочет все превратить, то наоборот разносит простой код в разные строки, хотя в большинстве случаев мне просто отступы поправить нужно, и все кавычки к одному виду привести.
Мало того, заебывает еще и то, что если начинать прописывать js внутри jsx, vscode вообще не понимает что я хочу сделать и просто становится блокнотом, пока я сам не закрою финальную фигурную скобку. То же самое со всеми импортами и css файлами, VS-у вообще похуй, на все, что находится не в самом файле. Мне какие-то плагины накатить нужно, или забить на vscode и съебать в вебшторм?
Я не могу понять, почему присваивание во второй строчке нужно читать задом наперед. В первой строчке конструкция А:B значит, что свойству слева присваивается значение справа. Но во второй строчке конструкция А:В значит, что переменной справа присваивается значение свойства слева.
Что за хуйня? Это должно быть очевидно? Кто решил, что это удобно?
>Но во второй строчке конструкция А:В значит, что переменной справа присваивается значение свойства слева. нет там берутся значения из obj и присваиваются one и two. справа у тебя obj, ему нихуя не присваивается, ты же утверждаешь, что ему че то там присваевается и это видите ли не очевидно. ну так если у тебя бардак в башке бля нахуй ты вылез вообще?
>>1840686 а ну да я понял тебя сори. это бля все делается специально, что бы во время напряженной работы внимание и концентрация у тебя были постоянно рассеянные.
почему? почему бля? для угнетения твоей мускульной токсичности, ты же мужчина ебаная, вот тебе и не логично. что бы ты не мог использовать весь свой мужитский потанцевал и был на уровне бабы
>>1840698 >>1840700 Ты какой-то ебанутый. >нет там берутся значения из obj и присваиваются one и two. справа у тебя obj, ему нихуя не присваивается, ты же утверждаешь, что ему че то там присваевается и это видите ли не очевидно. ну так если у тебя бардак в башке бля нахуй ты вылез вообще? Я говорю про конструкцию А:B. На первой строчке она работает так: А - это название свойства (one), В - это значение, которое присваивается (1). На второй строчке все внезапно наоборот. В - это название переменной (first), а А - это значение, которое присваивается из obj.
Я спрашиваю: нахуя было делать такой синтаксис, который меняет правила на ходу просто потому что?
>>1840707 >А - это значение, которое присваивается из obj. Поправлю себя: значение, которое присваивается из obj через название свойства.
То есть да, формально и там, и там А - это название свойства. Но у него разное предназначение: в первой строчке ему просто присваивается значение B, а во второй строчке к нему идет обращение, чтобы получить значение и присвоить его уже B.
Короче, если кратко, мой вопрос в том, почему нельзя было при разработке стандарта запилить такой синтаксис: >var {first: one, second: two} = obj; Тогда бы сразу было очевидно, что переменной first присваивается значение свойства one, а переменной second присваивается значение свойства two.
>>1840686 Нихуя ничего никому не присваивается сука, в первой строке у тебя one это контейнер для значения 1, во второй строке ты через деструктуризацию говоришь, разьеби обьект obj вытащи оттуда значение хранящееся в one и положи его в first, но нахуй так жить если можно тупо ебнуть let {one,two}=obj,
>>1840714 > Ты какой-то ебанутый. я не могу вспомнить я дрочил седня или нет
>>1840714 там суть претензии в том, что присваивание обычно слева направо, то есть переменная = значение. там всего лишь оператор и два операнда, бывают всякие извращенные синтаксисы типа операнд2 операнд1 оператор, но обычно действительно есть закономерности и они обычно соблюдаются в рамках одного условного языка.
а здесь явное нарушение. допустим приходит жысон {asd_das: 123}, я его ебошу let {asd_das: asdDas} = jison. понятное дело, что у жысона у парсера можно настроить, что бы он сам это делал, но это же действительно какая то необъяснимая хуета, нет причин не делать этот сахар с правильным общепринятым порядком операндов
В чем секрет популярности ебаного битрикса? Почему настолько много вакансий, где требуют знание битрикса. Это первый вопрос? Какого хуя настолько много компаний, которые не хотят нанимать нормальную фронтенд-макаку, а хотят нанять больную макаку с родовой травмой, которая откастомизирует темку для CMS и все это будет называться САЙТ.
>>1841003 >В чем секрет популярности ебаного битрикса?
Потому что это продукт 1С, 1С это распиаренная параша на территории всей страны, их говном пользуется большая часть предпринимателей и гос. предприятий, т. е. почти весь бизнес в этой стране. Отсюда и спрос на битрикс.
>которая откастомизирует темку для CMS и все это будет называться САЙТ.
Потому что это дешево и быстро. У людей нет денег для того чтобы платить как минимум 80к реакт макаке и еще пригоршне нахлебников для того чтобы получить чуть более лучший результат, чем если нанять одного человека за условные 50к и получить готовое решение на основе шаблона.
Нахуй ваши эти реакты хуякты ксс и хтмл если есть вордпресс? Кабанчику ведь нужно что бы его магазин быстро и дешего стартанул и начал приеоить прибыль
>>1841101 Когда бизнес кабанчика находится на заре становления, то кабанчик не брезгует и на такси добраться до нужного места, когда бизнес кабанчика находится на пике, то ему как минимум нужна машина премиум класса с личным водителем. Так и с этим. Бедным кабанчикам похуй, им хоть на голом html сайт создавай, лишь бы работало.
>>1841022 То есть там какая-то глубокая интеграция с 1С продуктами? Просто я вижу, что даже там, где реакт на реакте и реактом погоняет, есть этот битрикс. Я пока не шарю особо в ЦМС, поэтому думал, что битрикс используют потому что все по-русски и можно нанять контент-менеджером чела который не знает английский и платить ему вполовину меньше. Стоит вообще в этом битриксе копаться? Я раньше не обращал внимания, но сейчас смотрю эта залупа прям дохуя где.
>>1841128 И еще вопрос. Если я нахожусь на +- Intermediate уровне работы с реактом. Узнал недавно про react native, сама идея показалась мне интересной. Насколько сильно нейтив отличается от дефолтного реакта? Обязательно ли уметь программировать под андройд\айос, чтобы освоить реакт нейтив? И самое главное, насколько он сложен по сравнению с обычным реактом?
>>1841128 >То есть там какая-то глубокая интеграция с 1С продуктами?
Да.
>Стоит вообще в этом битриксе копаться?
Если хочешь легких денег и тебе похуй на будущее, то стоит, если хочешь расти как программист, то не стоит.
>>1841139 Возьми да посмотри, что за вопросы? Реакт нейтив как раз и создавался для того чтобы человек не знакомый с джавой, свифтом, айос и андроидом мог писать приложения для мобилок. Освоить его не сложно, но вот возможности у него ограничены.
>>1841172 >Если хочешь легких денег и тебе похуй на будущее, то стоит, если хочешь расти как программист, то не стоит. Дело не в деньгах, а в том, что все чаще и чаще в вакансиях в разделе "будет плюсом" идет "знание битрикс". Ну то есть чисто поковырять чуть чуть, чтобы на собеседовании выебнуться. Естественно, надо быть сумасшедшим, чтобы ограничиваться себя клепанием шаблонов на цмс. >Возьми да посмотри, что за вопросы? Пока времени нет особо, я уже занят одной хуйней. >Освоить его не сложно, но вот возможности у него ограничены. Ну это надо полагать, вангую там все сводится к показу красивой картинки и отправки\получению данных с\на сервер.
>>1841101 Сейчас бы мыслить категориями «бизнес в вебе это интернет-магазины». Ты бы хоть hh открыл, посмотрел бы на какие проекты Реакт-разработчиков ищут.
>>1841003 гуглишь свой блядский город "создать сайт городнейм", находишь такую залупу, все сайты на битриксе, клепают их в астрономических количествах, заходишь спрашиваешь почему они это делают, профит
Анон, на моей говняшке в лэйауте стоит плеер, который играет радио. Каждый раз когда я перехожу по страницам страница перезагружается и плеер соответственно отключается и заново запускается. Я не могу больше так жить. Успешные друзья подсказали, что нужно делать одностраничный сайт в котором все старницы рендерятся через жс. Сказали что много фреймворков так умеют. А я не соображаю в этом. Подскажи что мне делать?
>>1841497 Прямо полностью? А можно оставить бэкэнд на старом фреймфорке? Есть возможность ajax-ом рендерить страницу которую собрали на бэке? Как переписать сайт на реакт?
>>1841504 И в чем конкретно его лапшевидность? Простая функция, сайд-эффекты схлопнуты в onSubmit, мутаций нет, каких-то неочевидных связей нет. Мне все прекрасно понятно, хотя я никогда не имел дела с формиком.
>А можно оставить бэкэнд на старом фреймфорке? Если он нормальный и там только API, то вообще пофиг на чем он, если бэк страницы рендерит, то не стоит.
>Есть возможность ajax-ом рендерить страницу которую собрали на бэке? Есть, dangerouslySetInnerHTML к твоим услугам. Но если там еще и скрипты, то хз как это франкеншейн будет работать.
>Как переписать сайт на реакт? Наворачиваешь create-react-app, открываешь редактор, пишешь.
>>1841522 >И в чем конкретно его лапшевидность? В том, что это все намешано поверх jsx. Я тебе таким же образом могу сказать что и жквери код где смесь сеслекторов, разметки и логики - это не лапша, а все очевидно и понятно. Но нет - это говно.
Именно поэтому Вью > моча > говно > реакт. Настоящая реактивность, отсутствие каши на JSX'е, разделение логики от темплейта, официальный стейт-менеджмент, роутер и другие плюхи.
Подскажите плз как правильно сделать. Понадобилась неболшая библиотечка, в целом я ее написал, но в ней нужно использовать еще css и парочку картинок. Как их упаковать, чтобы это было норм, то есть чтобы я закинул папку с этой библиотечкой куда мне надо и она нормально юзала стили и картинки. Условно говоря чтобы я просто подключал где мне надо js файл этой библ, а он допустим грузил куда-то в dom картинку из этой библ. Просто сейчас я не догоняю как с путями быть, я не хочу хардкодить путь к картинке в зависимости от проекта. Предлагать всякие webpack и прочее не надо т.к. библиотека реально маленькая совсем.
Ору уже пару дней. Челы вы заебали быть смешными. Нахуй вы юзаете js без ts. Tell me pls ))) челы которые пишут что у вью один из плюсов это его Стейт менеджер (вьюкс мутабельное говно ебаное ) вы угараете? Редакс тоже уже давно параша. Если вы консерватор юзайте мобх(лучшая из параш), если вы норм чел - юзайте эффектор блять и не ебите мозги. В реакте эффектор полностью заменяет парашный редакс и хуки (они не парашные но с эффектором просто не нужны). Юзайте эффектор , максимум отделяйте бизнес логику и вообще логику от вьюшки и будет вам счастье
>>1841668 >орет про мутабельность >сразу же обсирает редакс и предлагает мобкс Вголос с маньки. В редаксе самая строгая, чистая и эксплиситная иммутабельность. Есть бойлерплейт код, но он только помогает на больших проектах. Когда у тебя 200 экшнов, сотка редьюсеров и большой стейт с кучей данных, только тогда начинаешь понимать почему редакс сделан так как он сделан и в чем его преимущества у остального мусора.
Для даунов даже тулкит сделали, чтобы меньше кода писать, только умные дяди понимают, что с тулкитом теряется одна из основных фишек редакса - хэндлить один и тот же экшн в разных редьюсерах и хэндлить множество экшнов в одном редьюсере.
>>1841671 >https://github.com/mg901/effector-react-realworld-example-app/blob/master/src/modules/feed/model/index.ts ``` 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 }) => ({ ``` Удачи работать с подобной хуйней в хотя бы среднего уровня проекте.
>>1841673 Да все уже выбрали давно, просто зумеры не понимают принципы фп и хотят "шоб быстрее нахуярить можно и шоб меньше кода", отсюда и все новые библиотечки для стейта. Они клевенько смотрятся в туду листах, в реальных проектах все как обычно сводится к ситуации, когда хуй поймешь где что происходит и как у тебя стейт меняется.
Вся суть редакса в том, что заставляя писать код под бойлерплейт и накладывая ограничения на стейт, ты пишешь предсказуемую и скалируемую систему.
>>1841668 >Нахуй вы юзаете js без ts А нахуй нуден твой ts? тел ми плз. Если ты криворукий долбоеб, который без линтера, стат анализа, и слюнявчика код писать не умеет, то кто в этом виноват?
Делаю жалкое подобие фронта на Vue (-tify) для одной домашней махарайки, для себя. Так вот, после нескольких секунд работы страница становится крайне не отзывчивой: данные вроде обновляются но на нажатие кнопок \ чекбоксов не реагирует или реагирует с задержкой; кроме того данные на графике выглядят как-то рвано.
Может кто-нибудь из опытных глянуть - что не так? Ошибки, скорее всего. не серьёзные, точно не как в крупных проектах.
Скажите как скинуть проект или как с вами связаться.
анонче, помогите сделать выпадающий древовидный список, как на первом пикрил вот сам сайт девэкстрема, где я это увидел https://js.devexpress.com/Demos/WidgetsGallery/Demo/DropDownBox/SingleSelection/NetCore/Light/ спиздить просто так не получится, но мне нужно максимально похоже, как это сделать блин, у меня получилось чтоб список был выпадающим, но не могу додуматься, как реализовать сокрытие/раскрытие через стрелочку
Потому что фронтенд - это не верстка однотипных сайтов, а программирование различных приложений которые предназначены для взаимодействия с конечным пользователем какая будет платформа - веб, десктоп, мобилка или вообще консольная дрисня - похуй, но это фронтенд. Соответственно у него задачи другие по сравнению с сайтостроением. Это раз.
Два. Цмс-ки как раз нацелены на то, чтобы можно было наклацать типовой сайт мышкой (и чуть чуть поправить тему). И зачем для такого нанимать ораву фронтендеров, если с этим справится и один контент-менеджер, верстун или эникейщик?
>>1841186 >Дело не в деньгах, а в том, что все чаще и чаще в вакансиях в разделе "будет плюсом" идет "знание битрикс". Ну то есть чисто поковырять чуть чуть, чтобы на собеседовании выебнуться.
Потому что веб нужен не только для однотипных интернет-магазинов и блогов. Так было и в 00е (вспомни игры, приложения на Флэше или Жабе), и тем более сейчас.
Попробовал бы ты сделать какой-нибудь Пеинт, личный кабинет банка, таск-трекер и пр. на Вордпрессе...
Тем что Реакт инкапсулирует всё обновление DOM на основе изменения данных в ядро. Жиквери - просто либа для кроссбраузерного DOM management, анимаций и пр.
Аналогия такая. Браузер - это процессор. Жаваскрипт - это машинный язык заточенный под конкретный процессор. Жиквери - это кроссплатформенный ассемблер (который компилится в нативный машинный код). Реакт - это Жаба + JVM, которая инкапсулирует в себе функции для работы с дисками, памятью, устройствами и пр.
>>1842127 Я просто не понимаю, если "в вью в отличие от реакта есть настоящая реактивность", то что это значит? Что на вью можно сделать что-то, что нельзя на реакте?
>>1842232 Ну тип поменял переменную - все computed поля обновились, дом обновился. В реакте надо делать setState. И все, "реакт это запомнит". Потом, когда нибудь, он обновит дом
Блин, как в ТС определить интерфейс который обозначает массив с конкретными данными? export interface Employee { name: string, age: number }
Надо определить что-то типа интерфейса Employees, где не один такой сотрудник, а несколько. Пока импортирую Employee и обозначаю переменные вроде let people: Employee[]
Если у тебя высокая толерантность к риску, дохуя коммуникабельный, альфовый, не тревожник и пр. то лучше. В противном случае лучше на кабанчика как можно лучше и повышать свой статус а потом жить на стонксы.
>>1841691 Ору ещё больше. Ща бы думать что тс и линтеры нужны чтобы править код и тд ) аххахахахахахахах бля . >>1841668 Ору ещё больше. Где я писал что мутабельный редакс пыгло?))я написал что главный минус говновьюкса это мутабельность. А редакс просто исчерпал себя и если тебе нужен скалируемый бойлерплейт то пиздуй в ангуляр , нахуй вообще в реакт/редакс полез. >>1841671 Ща бы даже не чекнув суть, модель эффектора (а именно теорию графов и тд) и защищать мертвый флюкс подход к стейтменеджменту блять. Я как бы на реакте с 2014 , и его юзал и Эмбер и ангуляр и редакс и мобх и вьюкс и рх. Флюкс арзитектрура пахнет как мертвая собака уже давно. (Вы ещё наверно БЭМ адепты, которые не понимают что только часть бэма ещё пригодна для жизни, сори но это самое точное сравнение консервативных кодеров которым сложно в развитие )
>>1842232 Ничего. Бери то что нравится или нужно для конкретного проекта. Среди ангуляра эмбера реакта вью нет сейчас лучшего фрейма или говно фрейма.все подходят и могут решить любую задачу в целом. Я обычно собираю тимы например под вью/реакт.
>>1841692 Рофл с разморозкой Композишн апи не заменяет см. Ты и на опшинс апи мог юзать аналоги композишена и хранить данные вне см. Смысл Стейт менеджера не в этом. И смысл композишена во вью это замена ебаных миксинов, уход от эмитов и логическое объединение кода в композиции
Можно навесить на кнопку обработчик onmouseover и менять сорц кнопки-картинки. Так делалиЭто был один из рабочих способов другой - навесить флэш-дрисню во время популярности Ослика и отсутствия нормального стандарта цсс. Только вот нахуя это щас делать, если с цсс этот эффект работает быстрее (т.к. цсс-эффекты оптимизированы под работу на видеокарте)?
>>1842639 да, действительно, никак не задать. предположим даже если скрафтим css средствами жопайскриптом и вставим в интересующий нас элемент, эти стили будут работать на всей странице. НО подождите, постойте, мы ведь можем сделать стили для конкретного селектора, почему нет?
из этого вытекает много проблем, но тем не менее это работает. какие еще проблемы, все же работает? - ну это банально бардак на странице будет, такие практики совсем не развиты, потому что обычно люди все таки могут дописать в ксс файл че то нормальным образом.
Прохожу курс Буры, если в каких-то местах что-то не понятно, лучше сразу реализовать эту фичу в своём отдельном проекте, или пройти курс до конца и делать это потом? Как делали вы? Или лучше вообще охватывать материал в целом, а потом пердолиться с отдельной фичей по мере надобности? А то инфы с каждым разом все больше и больше, очевидно, что вот так вот подряд как стишок этого не запомнишь
1. Бля, не понимаю такую вот вещь, если в цикле мы ставим инкремент после i, то почему вообще идёт возрастание, если по идее результат должен возвращаться к исходному? То есть если i = 0, то почему при ++i в цикле оно будет по единично возрастать, а не застрянет между 0 и 1? Откуда берётся цифра 2, если значение возвращается к 0?
2. И ещё такое дело, почему при достижении 0 цикл прерывается, если в условии просто указано само наличие переменной i? В чём проблема зайти в минус? Приложил пикчу.
>>1843023 ну бля с такой ебливой логикой while должно возвращать какое то значение, а оно бля не возвращает. 1 + (while(true){}) почему не работает бля даже не запускается, я ведь так хочу и идите все нахуй стандарты и справочники я захотел
>>1843168 разве важно, что он делает? важно то, что нужно тебе. тебе разве важны какие то темки для сайтов? нет, двач капчуется и без всяких там тем. я скажу, что важно для тебя, что развеет твою скуку и тоску - напиши свой язык на ассемблере, вот решение всех твоих проблем
>>1843284 я вижу, что твои чакры засраты и плохо циркулируют. ничего страшного, так бывает, но это можно исправить. "зачем мне что то исправлять я тыщу лет капчую уже мне нормально" - во сне человек не понимает, что он спит. ты сейчас спишь. и как же проснуться? как обычно, делай кратковременное усилие, и расслабься, сделай еще усилие, и еще расслабься, подобно фазам биологического сна - чередуй их, и тогда ты сможешь наконец таки проснуться. ты поймешь, что ты был голоден - и ты сможешь утолить свой голод, ты создан для этого, у тебя все есть для этого. когда закончишь делать свой язын на ассемблере, не забудь разбудить остальных, ведь они так этого ждут
>>1841596 >Настоящая реактивность Проиграл с подливой. Нету там настоящей реактивности, ну нет. Она есть в Солиде, Синоусе, но ее нет ни в реакте, ни уж тем более говновью.
>>1843023 Так, я понял тупость своего первого вопроса, но блять, так и не понял как постинкремент работает. Но с этим постараюсь как-нибудь разобраться сам.
Но хотелось бы чтобы мне всё же объяснили, почему при достижении 0 с условием, где не указано ничего кроме "i", цикл обрывается. Почему не может например указываться 0, а за ним -1, -2, -3 и тд?
>>1843043 Ну ладно первое, но как мне ещё трактовать блять тупа букву i в скобках? Я только вкатываюсь, что думаю очевидно, и про подобную вещь объяснений никаких не видел.
>>1843338 >так и не понял как постинкремент работает я сделал пикрил как он работает, почти полное соответствие. в жопаскрипте нет указателей или чего то такого, по этому я не могу добиться полного соответствия.
>Но хотелось бы чтобы мне всё же объяснили, почему при достижении 0 с условием для тебя я сделал еще один пикрил, так сказать древние знания, иероглифы на стенах
>>1843338 все программирование держится на ссылках, значениях и операторах. значение может быть ссылкой, ссылка может быть значением, оператор может быть ссылкой, значением и так далее комбинируй как хочешь. это единственная концепция.
в жопаскрипте переменная(ссылка) не может быть значением, по этому оператор while не может знать пустая переменная или нет, ему передается только значение переменной, а это значение ноль, значение преобразуется в "да/нет", в данном случае это "нет", оператор в следствии заканчивает свою работу.
оператор инкремента делает два действия, он перезаписывает значение, на которое ссылается переменная, увеличив его на единицу, если это возможно. и возвращает результат своей деятельности. в случае постфиксного инкремента, "возвращается" копия значения до изменения, но само изменение происходит.
Везде пишут что JS это язык с самым низких порогом, который освоит даже самый тупой имбецил. И я естественно не могу нихуя понять, гайды с ютуба делаю все понятно, читаю код тоже все понятно. А вот написать просто нихуя не получается. Я даже не могу понять где точка ставиться и где пробел, а главное почему. Уже сказал учебник JS для детей, вроде все понятно, но даже задание из учебника сам сделать не могу. Будто бы есть какой-то принцип, который всем понятен, но его нигде не пишут короче, как понять JS?
>>1843436 Сколько тебе лет? Если больше 18, то значит программирование это просто не твоё. Не бывает волшебной книги, волшебного видео, волшебного поста на дваче, который сделает из умственно отсталого нормальным.
>>1843436 Тебе нужен живой ментор, который на пальцах раскидает тебе суть и принципы - от самого синтаксиса до конкретных абстракций. Хоть на кубиках, хоть кружочками маркером на доске. Ты просто пропускаешь мимо ушей все, потому что не вникаешь. Это как в школе на чтение - все помнят, что нас заставляли читать вслух, и никто почти не вникал в то, что читает. Да, потому что не слишком умный, но даже тебе можно все объяснить при индивидуальном подходе. Так что ищи живого человека.
Анон, как ты переопределяешь стили для material ui? В компоненте писать withStyles без автокомплита ибал в рот, переопределение через css с указанием вложенности селектора тега когда textField задаёшь myClass и обращаешься myClass > div > div > span тоже прохлада
>потому что не вникаешь Двачую все так, человек может и хочет научиться, но неосознанно делает это неэффективно.
По факту можно поставить задачу - нарисовать кубик, раскрасить кубик, по клику передвинуть кубик. Идем гуглим, как рисовать, двигать, кликать кубик. Получаем все инструменты, тут и события, и DOM, и css немного. Примеры из учебника, лучше делать по своему, на своих аналогиях, упрощать до минимума, что бы было понятно.
Нихуя не пойму нахуй классы с конструктором и сиейтом если есть функции-конструкторы, я так понимаю функции юзать предпочтительнее, нахуй тогда тащить все эти классы?
>>1843847 Чтобы было легко понимать где у тебя функция, а где класс. При помощи строк, например, можно любой тип данных выразить - "word" - обычная строка, "w,o,r,d" - а это например строка-массив. Вот только если начнёшь создавать что-то более-менее объемное в плане кодовой базы, то ты быстро начнёшь путаться где у тебя обычная строка, а где строка-массив. Вот так и с этим. Чтобы лишний раз не гадать где у тебя функция-конструктор, а где функция-утилита создали классы.
Скажите пожалуйста, если ты умеешь применять реализацию какой-нибудь фичи, но не полностью до конца понимаешь как она работает, это нормально? Пиздец, стандарт на стандарте и стандартом погоняет, один и тот же код можно написать сотнями разных способов меняя только синтаксис, я из-за этого смотря разные уроки не могу нихуя понять, почему люди делая одно и то же, пишут совершенно разные вещи. Просто не понимаю, в какой момент нужно учиться дальше, а в какой нужно попердолиться с какой-то фичей.
>>1843468 >>1843660 >>1843766 Спасибо аноны, стараюсь Насчет ментора я и до поста об этом думал, все лекции на ютубе какие-то пространные, мне кажется пары IRL занятий с адекватным человеком хватит, что бы понять суть
Аноны, нужна ваша помощь. Короче есть одна браузерная игра (не моя, на стороннем сайте), там есть карта, по которой перемещаются персонажи. В каждой локации есть предметы, которые можно таскать из одной локации в другую. На данный момент нельзя узнать где что находится, пока сам не придёшь и не прочекаешь. Пилю скрипт на Greasemonkey, который делает общую базу данных, в какой локе что находится. Для этого любой игрок заходит в любую локу и нажимает на кнопку. Данные о предметах отправляются мне в базу, где они после отображаются в сводной таблице на моём сайте, доступной для всех игроков.
Что уже реализовано: сайт запилен, sql база данных c dummy данными запилена (и успешно отображается на моём сайте), сам скрипт ещё в процесссе разработки и возник вопрос - не знаю каким методом мне пересылать данные о предметах/локации к себе в базу данных. С JS познакомился совсем недавно и с общением с серверами ещё не знаком. Я же не могу напрямую слать данные в свою базу данных, так как для коннекта нужно слать пароли от базы (а скриптом будут пользоваться совсем левые игроки). Мне не нужен конкретный код, а помощь советом в каком направлении копать, делается ли это через xmlhttprequest (не особо пока в этом шарю) или какой другой метод? Просто не догоняю, что должно выступить посредником между базой данных и кнопкой скрипта, которая отправляет инфу о предметах.
>>1843947 Через скрипт отправляешь запрос на свой сервер (для этого нужно будет особенные права от пользователя, иначе тебе CORS не даст ничего отсылать), а сервер уже записывает все данные в базу данных.
В своем скрипте собираешь нужные данные, отправляешь их себе на сервер, на своем сервере принимаешь запрос и делаешь запись в БД из него. >есть одна браузерная игра я бы на твоем месте начал с того, что попытался бы выдрать данные о предметах со страницы игры. В зависимости от того, как и на чем написана игра, задача может колебаться от простой до невыполнимой. Флеш до сих пор жив.
Если ты пытаешься реанимировать грибач, то не парься, он всё равно умрет в ближайшем времени. Как же жалко, сука....
>>1844047 >Если ты пытаешься реанимировать грибач Ебать, Ванга в треде. Ну во-первых ещё 2 месяца есть в запасе поиграть, а без астропада играть хреново, решил своё подобие астропада запилить, после того как в очередной раз спиздили огнетушитель и не сказали где положили. Во-вторых просто для себя полезно выучить что-то новенькое. Спасибо, будут вопросы, спрошу прямо у тебя тогда.
Я вижу здесь: https://ru.wikipedia.org/wiki/Факторизация_целых_чисел#Алгоритмы_факторизации множество алгоритмов факторизации, но многие из них не работают для всех чисел и выдаю какую-то хуйню. Тот же алгоритм полларда rho, который описан там, иногда зацикливатся и выдаёт хуйню. Поэтому, и реквестирую самый быстрый алго, работающий для всех чисел.
Зачем при обработке json часто пишут await 2 раза? Типо: response = await service.sendGetReq(url) jsonData = await response.parse() Нафига второй await? Что мы await-им? Запрос ведь уже пришел из сети
>>1844112 Зависит от того что у тебя там в service.sendGetReq, если ты под ним fetch подразумеваешь, то его принцип работы такой, что сам fetch после await возвращает ответ сразу перед тем как начать считывание из потока ответа, если подождать немного и потом вызвать response.json() то ты получишь в ответ rejected промис с ошибкой "body stream already read"
>>1837334 (OP) Че-то не могу въехать в RxJs, нахрена он нужон-то? Вижу часто с его помощью (метод pipe у Observable) обрабатывают данные которые поступили с бэка, но кам он - map и filter можно и так применять с массивами, на кой ради этого грузить отдельную либу?
>>1844116 Да алгоритм Ро-Полларда, его там столько вариаций и модификаций понаписано, что трудно выбрать годный, и к тому же, он даже на малых числах чё-то начинает выёбываться, и ещё и так выёбываться (зацикливается просто), что проще нечётные по порядку перебирать, проверять их на простоту и пытаться делить. Но для чисел побольше - это уже медленно...
>>1844203 > нахрена он нужон-то? Гугли про FRP вообще и push и pull модели распространения данных в частности. Рыкса позволяет реализовать ленивость и абстрагировать event-drivent вычисления.
> на кой ради этого грузить отдельную либу Грузи, но не эту. Альтернатив много, например Monadic Streams. А можешь вообще не грузить, поскольку не ясно, какую проблему ты собираешься решить с помощью обзерваблов.
>>1844225 >>1844239 там лапша кода бля ебанись, зачем вообще это дрочить? еще и на жопаскрипте еб вашу мать, а ты бигинт напиши, а ты 100 лет научных трудов ненужной хуйни прочитай а ты ебанись бля
Вроде работает с bigInt 123456789123456n и >console.log(FactorizePollardRhoBrent(123456789123456n).toString()) >console.log(FactorizePollardRhoBrent(1024n).toString()) Довольно быстро выдаёт массив простых факторов. Ясное дело, что для длинных с большими простыми делителями, алго может работать за число итераций аж до корня от самого числа.
>>1844635 Ну, чтобы дважды вызвав её - посчитать количество всевозможных первообразных корней по псевдослучайному простому модулю - ебической длины, проходящему тест МиллераРабина.
Анчоусы, когда значение завёрнуто аж в две+ монашки приходится по два+ раза его разворачивать через мапы, чейны и т.д. Есть какая нибудь охуенная штука которая бы это сама делала, как будто у меня одна монадка?
Решил вот освоить MaterialUi... Доку полистал, в редакторе заверстал страничку, решил глянуть гайды на ютубе, best practies так сказать.
И возник вопрос. Почему со стилями стало так всё запутанно? Стили вшиты в компоненты, но их можно переопределить: 1) хуком, нахуй 2) компонентом обёрткой, блять 3) инлайново через style, ёбаный в рот
Это же пиздец как запутано. Как в этом разбираться вообще, если кода будет больше? За инлайн стили меня вообще лид в своё время ногами пиздил.
Глянул ещё разметку на странице доки Mui. Что блять за css-классы "jss1", "jss2", "jss228", "jss9000". Это я такой тупой или это действительно сложно и непонятно?
С того что не нужно контролировать доступ к данным и изменять их из разных мест приложения не боясь того что эти данные будут неверными из-за подобного доступа.
>>1845061 С написания бекенда на ноде и с того, как у некоторых рвётся срака от одного факта, что кто-то пишет бекенд на ноде и зарабатывает этим хорошие деньги.
Аноны, кто может помочь. Суть такова есть канвас на нем нужно сделать 2d качели. (качели на которых сидят двое человек, типо если один меньше по весу, то они в одну сторону, ну вы поняли) так вот на этих качелях два куба (одинакового веса) по нажатию кнопки пробел, один куб взлетает вверх (и качели соответственно наклоняются в сторону оставшегося куба) этот взлетевший куб где то фиксируется вверху, далее по нажатию он падает и тот второй кубик взлетает (и все потворяется)
Умоляю помогите как такое сдлеать!1 хкто может набросать примерную логику, дальше я постараюсь потворить. кубы и сами качели наверно простые прямоугольники
>>1845123 примитивная задача я даже жопу свою отрывать от аниме не буду, но дам подсказку, что если качели будут подобного вида, то есть площадки для кубов будут параллельны осям координат, то это сильно упрощает "физику" столкновений и задача становится решаемой даже для школьника
>>1845151 Да, планирую потом кубы заменить на картинки, в целом пофиг как они лежат >>1845129 аноны я не понимаю как, в голове не сгладывается картинка абсолютно, вот я отрисовал 2 rect.draw
вот я написал if (key.press) дальше тупо тьма, не понимаю как и что делать
сам алгоритм не складыавается в голове качели палка стоящая по центру на бревне.
>>1845061 От динамической среды, динамического языка, динамической слабой типизации с неявным привелением типов, метапрогоаммирования, возможностью писать код с помощью repl driven подхода. Истинно язык сверх высокого уровня. В мейнстриме он такой один.
Еще раз проиграл с дебила, который продолжает сравнивать книги с говном на ютубе, которое тысячами выходит каждый день. Твои штук 5 "актуальных" на ютубе, являются хуевым пересказом либо документации, либо какой-нибудь статьи от индуса. Вот, загугли за дауна: Adam Boduch - React Material-UI Cookbook: Build captivating user experiences using React and Material-UI 2019
>>1845246 Ты совсем тупенький? Array<number | string> массив с двумя типами данных - строковые и числовые. Array<Employer> - строготипизированный массив с типом Employer. Так вот, если у тебя тип 1, то записывай Employer[] так как данная запись является общепринятой для массива с одним типом данных не только в Typescript, и сама запись короче.
>>1845087 Я так понял, в доке у создателя material ui стили описаны похуй как, лишь бы впихнуть в один tsx файлик, что не всегда правильно или удобно. Справедливости ради стоит сказать, что есть отдельный раздел про то, как менять стили.
>>1845078 Недавно спрашивал про это, анонасы говорят юзать styled component.
Прохожу FreeCodeCamp, нравится их программа обучения, она обширная и последовательная, но почему-то в ней ничего нет про DOM, события, вот это вот всё. Чё за нах, почему так, или я не туда смотрел?
>>1843436 Я бы тебе посоветовал начать с решения алгоритмических задачек на codewars или leetcode. Как раз привыкнешь к синтаксису и базовым вещам, заодно начнёшь развивать алгоритмическое мышление.
>>1845161 >динамической среды, динамического языка, динамической слабой типизации с неявным привелением типов, метапрогоаммирования, возможностью писать код с помощью repl driven подхода >В мейнстриме он такой один.
>>1843436 Практики у тебя мало. Практикуйся каждый день, тогда синтаксис быстро запомниться, не пытайся его заучивать, просто пиши и руки сами запомнят, а пока открывай подсказки.
Пришла в голову идея написать расширение для хрома, которое бы убирало нахуй эти "вообщем", "извенити" и прочую антигуманную хуету со страницы и заменяло на человеческий язык. Полистал пару туториалов по расширениям, нихуя не понял. Даже как дебажить JS не понимаю. Записываю переменную в localStorage, потом ее ниоткуда не вижу, зато могу к ней обратиться.
Норм знаю Python, в редактор, дебаггер умею. Подскажите краткую книжку или видео по написанию расширений.
Здарова, погромисты Есть задумка сделать на сайте такую вещь, чтобы когда человек решил уйти и жмякает на крестик вкладки в хроме - вслывает окно и он не может закрыть вкладку, пока не нажмет кнопку во всплывающем окне на моем сайте. Мне нужен ответ МОЖНО или НЕЛЬЗЯ так сделать, чтобы я развивал эту мысль. А как - это не важно пока. Это художественная задумка, я не пидор с говно-сайтом )
>>1845477 >милый аниме анон может оторвешь свою попку все таки я честно сказать вчера садился за это дело, позалипал два часа перед сном и ничего путного не высрал. сегодня только вечером домой пришел, по этому выкладываю сразу черновой рабочий вариант и сажусь смотреть соника в кино, он оказывается уже вышел https://pastebin.com/raw/aFjy7nUm
Скриптуны, до какой степени нужно учить реакт, чтобы можно было начать искать работу или хотя бы стажировку? Могу сделать небольшой сайт который коннектится к серверу, получает данные, отрисовывает их, ну и там какую-нибудь логику делает, типа поиска или отображения новых данных по клику. До чего мне можно доучиться, чтобы уже с этим можно было бы идти на собес? А то так сидеть учиться и до сеньера можно. Ну и скажите заодно, какой проект можно собственноручно написать, чтобы работодателю было норм? fullstack соцсеть?))))))))))))))0/spoiler]
Ну и плюс к этому знаю разумеется css/bootstrap/git/linux на уровне пользователя. Но не хочу начинать пердолиться с тестовыми еще до того, как не освою какую-то базу, чтобы попусту не тратить время. Плюс есть же еще переферические области, типа алгоритмов и всего такого, по которым тоже могут спрашивать.
А учить ВСЁ это конечно хорошо, но как-то не определенно по времени.
А как оно должно выглядеть? Напиши свои сниппеты, либо оберни в функцию, которую хоть одной буквой назвать можешь. А лучше не в функцию а сеттер объекта, чтобы можно было писать: qsa = "selector"
>>1844718 >Итоговая цель то какая? Посмотреть на циферки? Если и так, то лучше уж на циферки смотреть, чем на всю ту хуйню, что я уже успел повидать. Ололо. Цель была не сгенерить и посмотреть на них, а заюзать их, конечно же, блядь.
Итак, итоговая цель, заебатый алго - 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 - быстрее как-бэ.
>>1845252 >Ты совсем тупенький? Нет. >Array<number | string> Я не знаю, откуда ты это высрал. Я спрашивал вообще про другое. >>1845247 >Запись вида [] тупо короче, посему Array<> отсасывает. Вот так выглядит ответ на мой вопрос. Спасибо, анон.